From d7009c69136a3809282804f460902ab42e9972f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristj=C3=A1n=20Valur=20J=C3=B3nsson?= Date: Tue, 19 Mar 2013 18:02:10 -0700 Subject: Issue #16475: Support object instancing, recursion and interned strings in marshal --- Doc/library/marshal.rst | 9 +- Include/marshal.h | 2 +- Lib/test/test_marshal.py | 122 ++++++++++++++++++++- Misc/NEWS | 3 + Python/marshal.c | 272 ++++++++++++++++++++++++++++++++++++++++++----- 5 files changed, 376 insertions(+), 32 deletions(-) diff --git a/Doc/library/marshal.rst b/Doc/library/marshal.rst index 3b9e3d2..124eb61 100644 --- a/Doc/library/marshal.rst +++ b/Doc/library/marshal.rst @@ -40,10 +40,11 @@ this module. The following types are supported: booleans, integers, floating point numbers, complex numbers, strings, bytes, bytearrays, tuples, lists, sets, frozensets, dictionaries, and code objects, where it should be understood that tuples, lists, sets, frozensets and dictionaries are only supported as long as -the values contained therein are themselves supported; and recursive lists, sets -and dictionaries should not be written (they will cause infinite loops). The +the values contained therein are themselves supported. singletons :const:`None`, :const:`Ellipsis` and :exc:`StopIteration` can also be marshalled and unmarshalled. +For format *version* lower than 3, recursive lists, sets and dictionaries cannot +be written (see below). There are functions that read/write files as well as functions operating on strings. @@ -103,7 +104,9 @@ In addition, the following constants are defined: Indicates the format that the module uses. Version 0 is the historical format, version 1 shares interned strings and version 2 uses a binary format - for floating point numbers. The current version is 2. + for floating point numbers. + Version 3 adds support for object instancing and recursion. + The current version is 3. .. rubric:: Footnotes diff --git a/Include/marshal.h b/Include/marshal.h index e96d062..0c69655 100644 --- a/Include/marshal.h +++ b/Include/marshal.h @@ -7,7 +7,7 @@ extern "C" { #endif -#define Py_MARSHAL_VERSION 2 +#define Py_MARSHAL_VERSION 3 PyAPI_FUNC(void) PyMarshal_WriteLongToFile(long, FILE *, int); PyAPI_FUNC(void) PyMarshal_WriteObjectToFile(PyObject *, FILE *, int); diff --git a/Lib/test/test_marshal.py b/Lib/test/test_marshal.py index 025b53c..16e6d81 100644 --- a/Lib/test/test_marshal.py +++ b/Lib/test/test_marshal.py @@ -200,10 +200,14 @@ class BugsTestCase(unittest.TestCase): except Exception: pass - def test_loads_recursion(self): + def test_loads_2x_code(self): s = b'c' + (b'X' * 4*4) + b'{' * 2**20 self.assertRaises(ValueError, marshal.loads, s) + def test_loads_recursion(self): + s = b'c' + (b'X' * 4*5) + b'{' * 2**20 + self.assertRaises(ValueError, marshal.loads, s) + def test_recursion_limit(self): # Create a deeply nested structure. head = last = [] @@ -323,6 +327,122 @@ class LargeValuesTestCase(unittest.TestCase): def test_bytearray(self, size): self.check_unmarshallable(bytearray(size)) +def CollectObjectIDs(ids, obj): + """Collect object ids seen in a structure""" + if id(obj) in ids: + return + ids.add(id(obj)) + if isinstance(obj, (list, tuple, set, frozenset)): + for e in obj: + CollectObjectIDs(ids, e) + elif isinstance(obj, dict): + for k, v in obj.items(): + CollectObjectIDs(ids, k) + CollectObjectIDs(ids, v) + return len(ids) + +class InstancingTestCase(unittest.TestCase, HelperMixin): + intobj = 123321 + floatobj = 1.2345 + strobj = "abcde"*3 + dictobj = {"hello":floatobj, "goodbye":floatobj, floatobj:"hello"} + + def helper3(self, rsample, recursive=False, simple=False): + #we have two instances + sample = (rsample, rsample) + + n0 = CollectObjectIDs(set(), sample) + + s3 = marshal.dumps(sample, 3) + n3 = CollectObjectIDs(set(), marshal.loads(s3)) + + #same number of instances generated + self.assertEqual(n3, n0) + + if not recursive: + #can compare with version 2 + s2 = marshal.dumps(sample, 2) + n2 = CollectObjectIDs(set(), marshal.loads(s2)) + #old format generated more instances + self.assertGreater(n2, n0) + + #if complex objects are in there, old format is larger + if not simple: + self.assertGreater(len(s2), len(s3)) + else: + self.assertGreaterEqual(len(s2), len(s3)) + + def testInt(self): + self.helper(self.intobj) + self.helper3(self.intobj, simple=True) + + def testFloat(self): + self.helper(self.floatobj) + self.helper3(self.floatobj) + + def testStr(self): + self.helper(self.strobj) + self.helper3(self.strobj) + + def testDict(self): + self.helper(self.dictobj) + self.helper3(self.dictobj) + + def testModule(self): + with open(__file__, "rb") as f: + code = f.read() + if __file__.endswith(".py"): + code = compile(code, __file__, "exec") + self.helper(code) + self.helper3(code) + + def testRecursion(self): + d = dict(self.dictobj) + d["self"] = d + self.helper3(d, recursive=True) + l = [self.dictobj] + l.append(l) + self.helper3(l, recursive=True) + +class CompatibilityTestCase(unittest.TestCase): + def _test(self, version): + with open(__file__, "rb") as f: + code = f.read() + if __file__.endswith(".py"): + code = compile(code, __file__, "exec") + data = marshal.dumps(code, version) + marshal.loads(data) + + def test0To3(self): + self._test(0) + + def test1To3(self): + self._test(1) + + def test2To3(self): + self._test(2) + + def test3To3(self): + self._test(3) + +class InterningTestCase(unittest.TestCase, HelperMixin): + strobj = "this is an interned string" + strobj = sys.intern(strobj) + + def testIntern(self): + s = marshal.loads(marshal.dumps(self.strobj)) + self.assertEqual(s, self.strobj) + self.assertEqual(id(s), id(self.strobj)) + s2 = sys.intern(s) + self.assertEqual(id(s2), id(s)) + + def testNoIntern(self): + s = marshal.loads(marshal.dumps(self.strobj, 2)) + self.assertEqual(s, self.strobj) + self.assertNotEqual(id(s), id(self.strobj)) + s2 = sys.intern(s) + self.assertNotEqual(id(s2), id(s)) + def test_main(): support.run_unittest(IntTestCase, diff --git a/Misc/NEWS b/Misc/NEWS index 792b62f..e7c59b1 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -10,6 +10,9 @@ What's New in Python 3.4.0 Alpha 1? Core and Builtins ----------------- +- Issue #16475: Support object instancing, recursion and interned strings + in marshal + - Use the HTTPS PyPI url for upload, overriding any plain HTTP URL in pypirc. - Issue #16795: On the ast.arguments object, unify vararg with varargannotation diff --git a/Python/marshal.c b/Python/marshal.c index 959f3f7..c3e75b1 100644 --- a/Python/marshal.c +++ b/Python/marshal.c @@ -1,8 +1,10 @@ /* Write Python objects to files and read them back. - This is intended for writing and reading compiled Python code only; - a true persistent storage facility would be much harder, since - it would have to take circular links and sharing into account. */ + This is primarily intended for writing and reading compiled Python code, + even though dicts, lists, sets and frozensets, not commonly seen in + code objects, are supported. + Version 3 of this protocol properly supports circular links + and sharing. */ #define PY_SSIZE_T_CLEAN @@ -41,6 +43,8 @@ #define TYPE_BINARY_COMPLEX 'y' #define TYPE_LONG 'l' #define TYPE_STRING 's' +#define TYPE_INTERNED 't' +#define TYPE_REF 'r' #define TYPE_TUPLE '(' #define TYPE_LIST '[' #define TYPE_DICT '{' @@ -49,6 +53,7 @@ #define TYPE_UNKNOWN '?' #define TYPE_SET '<' #define TYPE_FROZENSET '>' +#define FLAG_REF '\x80' /* with a type, add obj to index */ #define WFERR_OK 0 #define WFERR_UNMARSHALLABLE 1 @@ -65,6 +70,7 @@ typedef struct { PyObject *current_filename; char *ptr; char *end; + PyObject *refs; /* dict on marshal, list on unmarshal */ int version; } WFILE; @@ -151,13 +157,17 @@ w_long(long x, WFILE *p) #endif #define PyLong_MARSHAL_RATIO (PyLong_SHIFT / PyLong_MARSHAL_SHIFT) +#define W_TYPE(t, p) do { \ + w_byte((t) | flag, (p)); \ +} while(0) + static void -w_PyLong(const PyLongObject *ob, WFILE *p) +w_PyLong(const PyLongObject *ob, char flag, WFILE *p) { Py_ssize_t i, j, n, l; digit d; - w_byte(TYPE_LONG, p); + W_TYPE(TYPE_LONG, p); if (Py_SIZE(ob) == 0) { w_long((long)0, p); return; @@ -194,10 +204,64 @@ w_PyLong(const PyLongObject *ob, WFILE *p) } while (d != 0); } +static int +w_ref(PyObject *v, char *flag, WFILE *p) +{ + PyObject *id; + PyObject *idx; + + if (p->version < 3 || p->refs == NULL) + return 0; /* not writing object references */ + + /* if it has only one reference, it definitely isn't shared */ + if (Py_REFCNT(v) == 1) + return 0; + + id = PyLong_FromVoidPtr((void*)v); + if (id == NULL) + goto err; + idx = PyDict_GetItem(p->refs, id); + if (idx != NULL) { + /* write the reference index to the stream */ + long w = PyLong_AsLong(idx); + Py_DECREF(id); + if (w == -1 && PyErr_Occurred()) { + goto err; + } + /* we don't store "long" indices in the dict */ + assert(0 <= w && w <= 0x7fffffff); + w_byte(TYPE_REF, p); + w_long(w, p); + return 1; + } else { + int ok; + Py_ssize_t s = PyDict_Size(p->refs); + /* we don't support long indices */ + if (s >= 0x7fffffff) { + PyErr_SetString(PyExc_ValueError, "too many objects"); + goto err; + } + idx = PyLong_FromSsize_t(s); + ok = idx && PyDict_SetItem(p->refs, id, idx) == 0; + Py_DECREF(id); + Py_XDECREF(idx); + if (!ok) + goto err; + *flag |= FLAG_REF; + return 0; + } +err: + p->error = WFERR_UNMARSHALLABLE; + return 1; +} + +static void +w_complex_object(PyObject *v, char flag, WFILE *p); + static void w_object(PyObject *v, WFILE *p) { - Py_ssize_t i, n; + char flag = '\0'; p->depth++; @@ -222,24 +286,35 @@ w_object(PyObject *v, WFILE *p) else if (v == Py_True) { w_byte(TYPE_TRUE, p); } - else if (PyLong_CheckExact(v)) { + else if (!w_ref(v, &flag, p)) + w_complex_object(v, flag, p); + + p->depth--; +} + +static void +w_complex_object(PyObject *v, char flag, WFILE *p) +{ + Py_ssize_t i, n; + + if (PyLong_CheckExact(v)) { long x = PyLong_AsLong(v); if ((x == -1) && PyErr_Occurred()) { PyLongObject *ob = (PyLongObject *)v; PyErr_Clear(); - w_PyLong(ob, p); + w_PyLong(ob, flag, p); } else { #if SIZEOF_LONG > 4 long y = Py_ARITHMETIC_RIGHT_SHIFT(long, x, 31); if (y && y != -1) { /* Too large for TYPE_INT */ - w_PyLong((PyLongObject*)v, p); + w_PyLong((PyLongObject*)v, flag, p); } else #endif { - w_byte(TYPE_INT, p); + W_TYPE(TYPE_INT, p); w_long(x, p); } } @@ -252,7 +327,7 @@ w_object(PyObject *v, WFILE *p) p->error = WFERR_UNMARSHALLABLE; return; } - w_byte(TYPE_BINARY_FLOAT, p); + W_TYPE(TYPE_BINARY_FLOAT, p); w_string((char*)buf, 8, p); } else { @@ -263,7 +338,7 @@ w_object(PyObject *v, WFILE *p) return; } n = strlen(buf); - w_byte(TYPE_FLOAT, p); + W_TYPE(TYPE_FLOAT, p); w_byte((int)n, p); w_string(buf, n, p); PyMem_Free(buf); @@ -277,7 +352,7 @@ w_object(PyObject *v, WFILE *p) p->error = WFERR_UNMARSHALLABLE; return; } - w_byte(TYPE_BINARY_COMPLEX, p); + W_TYPE(TYPE_BINARY_COMPLEX, p); w_string((char*)buf, 8, p); if (_PyFloat_Pack8(PyComplex_ImagAsDouble(v), buf, 1) < 0) { @@ -288,7 +363,7 @@ w_object(PyObject *v, WFILE *p) } else { char *buf; - w_byte(TYPE_COMPLEX, p); + W_TYPE(TYPE_COMPLEX, p); buf = PyOS_double_to_string(PyComplex_RealAsDouble(v), 'g', 17, 0, NULL); if (!buf) { @@ -312,7 +387,7 @@ w_object(PyObject *v, WFILE *p) } } else if (PyBytes_CheckExact(v)) { - w_byte(TYPE_STRING, p); + W_TYPE(TYPE_STRING, p); n = PyBytes_GET_SIZE(v); W_SIZE(n, p); w_string(PyBytes_AS_STRING(v), n, p); @@ -325,14 +400,17 @@ w_object(PyObject *v, WFILE *p) p->error = WFERR_UNMARSHALLABLE; return; } - w_byte(TYPE_UNICODE, p); + if (p->version >= 3 && PyUnicode_CHECK_INTERNED(v)) + W_TYPE(TYPE_INTERNED, p); + else + W_TYPE(TYPE_UNICODE, p); n = PyBytes_GET_SIZE(utf8); W_SIZE(n, p); w_string(PyBytes_AS_STRING(utf8), n, p); Py_DECREF(utf8); } else if (PyTuple_CheckExact(v)) { - w_byte(TYPE_TUPLE, p); + W_TYPE(TYPE_TUPLE, p); n = PyTuple_Size(v); W_SIZE(n, p); for (i = 0; i < n; i++) { @@ -340,7 +418,7 @@ w_object(PyObject *v, WFILE *p) } } else if (PyList_CheckExact(v)) { - w_byte(TYPE_LIST, p); + W_TYPE(TYPE_LIST, p); n = PyList_GET_SIZE(v); W_SIZE(n, p); for (i = 0; i < n; i++) { @@ -350,7 +428,7 @@ w_object(PyObject *v, WFILE *p) else if (PyDict_CheckExact(v)) { Py_ssize_t pos; PyObject *key, *value; - w_byte(TYPE_DICT, p); + W_TYPE(TYPE_DICT, p); /* This one is NULL object terminated! */ pos = 0; while (PyDict_Next(v, &pos, &key, &value)) { @@ -363,9 +441,9 @@ w_object(PyObject *v, WFILE *p) PyObject *value, *it; if (PyObject_TypeCheck(v, &PySet_Type)) - w_byte(TYPE_SET, p); + W_TYPE(TYPE_SET, p); else - w_byte(TYPE_FROZENSET, p); + W_TYPE(TYPE_FROZENSET, p); n = PyObject_Size(v); if (n == -1) { p->depth--; @@ -392,7 +470,7 @@ w_object(PyObject *v, WFILE *p) } else if (PyCode_Check(v)) { PyCodeObject *co = (PyCodeObject *)v; - w_byte(TYPE_CODE, p); + W_TYPE(TYPE_CODE, p); w_long(co->co_argcount, p); w_long(co->co_kwonlyargcount, p); w_long(co->co_nlocals, p); @@ -419,7 +497,7 @@ w_object(PyObject *v, WFILE *p) p->error = WFERR_UNMARSHALLABLE; return; } - w_byte(TYPE_STRING, p); + W_TYPE(TYPE_STRING, p); n = view.len; s = view.buf; W_SIZE(n, p); @@ -427,10 +505,9 @@ w_object(PyObject *v, WFILE *p) PyBuffer_Release(&view); } else { - w_byte(TYPE_UNKNOWN, p); + W_TYPE(TYPE_UNKNOWN, p); p->error = WFERR_UNMARSHALLABLE; } - p->depth--; } /* version currently has no effect for writing longs. */ @@ -441,6 +518,7 @@ PyMarshal_WriteLongToFile(long x, FILE *fp, int version) wf.fp = fp; wf.error = WFERR_OK; wf.depth = 0; + wf.refs = NULL; wf.version = version; w_long(x, &wf); } @@ -452,8 +530,14 @@ PyMarshal_WriteObjectToFile(PyObject *x, FILE *fp, int version) wf.fp = fp; wf.error = WFERR_OK; wf.depth = 0; + if (version >= 3) { + if ((wf.refs = PyDict_New()) == NULL) + return; /* caller mush check PyErr_Occurred() */ + } else + wf.refs = NULL; wf.version = version; w_object(x, &wf); + Py_XDECREF(wf.refs); } typedef WFILE RFILE; /* Same struct with different invariants */ @@ -489,7 +573,7 @@ r_string(char *s, Py_ssize_t n, RFILE *p) data->ob_type->tp_name); } else { - read = PyBytes_GET_SIZE(data); + read = (int)PyBytes_GET_SIZE(data); if (read > 0) { ptr = PyBytes_AS_STRING(data); memcpy(s, ptr, read); @@ -659,6 +743,59 @@ r_PyLong(RFILE *p) return NULL; } +/* allocate the reflist index */ +static PyObject * +r_ref_reserve(PyObject *o, Py_ssize_t *idx, int flag, RFILE *p) +{ + if (flag) { /* currently only FLAG_REF is defined */ + *idx = PyList_Size(p->refs); + if (*idx < 0) + goto err; + if (*idx >= 0x7ffffffe) { + PyErr_SetString(PyExc_ValueError, "bad marshal data (index list too large)"); + goto err; + } + if (PyList_Append(p->refs, Py_None) < 0) + goto err; + } else + *idx = 0; + return o; +err: + Py_XDECREF(o); /* release the new object */ + *idx = -1; + return NULL; +} + +/* insert actual object to the reflist */ +static PyObject * +r_ref_insert(PyObject *o, Py_ssize_t idx, int flag, RFILE *p) +{ + if (o && (flag & FLAG_REF)) { + if (PyList_SetItem(p->refs, idx, o) < 0) { + Py_DECREF(o); /* release the new object */ + return NULL; + } else { + Py_INCREF(o); /* a reference for the list */ + } + } + return o; +} + +/* combination of both above, used when an object can be + * created whenever it is seen in the file, as opposed to + * after having loaded its sub-objects. + */ +static PyObject * +r_ref(PyObject *o, int flag, RFILE *p) +{ + if (o && (flag & FLAG_REF)) { + if (PyList_Append(p->refs, o) < 0) { + Py_DECREF(o); /* release the new object */ + return NULL; + } + } + return o; +} static PyObject * r_object(RFILE *p) @@ -666,8 +803,10 @@ r_object(RFILE *p) /* NULL is a valid return value, it does not necessarily means that an exception is set. */ PyObject *v, *v2; + Py_ssize_t idx; long i, n; int type = r_byte(p); + int flag; PyObject *retval; p->depth++; @@ -678,6 +817,13 @@ r_object(RFILE *p) return NULL; } + flag = type & FLAG_REF; + type = type & ~FLAG_REF; + +#define R_REF(O) do{\ + O = r_ref(O, flag, p);\ +} while (0) + switch (type) { case EOF: @@ -718,14 +864,17 @@ r_object(RFILE *p) case TYPE_INT: n = r_long(p); retval = PyErr_Occurred() ? NULL : PyLong_FromLong(n); + R_REF(retval); break; case TYPE_INT64: retval = r_long64(p); + R_REF(retval); break; case TYPE_LONG: retval = r_PyLong(p); + R_REF(retval); break; case TYPE_FLOAT: @@ -744,6 +893,7 @@ r_object(RFILE *p) if (dx == -1.0 && PyErr_Occurred()) break; retval = PyFloat_FromDouble(dx); + R_REF(retval); break; } @@ -763,6 +913,7 @@ r_object(RFILE *p) break; } retval = PyFloat_FromDouble(x); + R_REF(retval); break; } @@ -792,6 +943,7 @@ r_object(RFILE *p) if (c.imag == -1.0 && PyErr_Occurred()) break; retval = PyComplex_FromCComplex(c); + R_REF(retval); break; } @@ -822,6 +974,7 @@ r_object(RFILE *p) break; } retval = PyComplex_FromCComplex(c); + R_REF(retval); break; } @@ -849,9 +1002,11 @@ r_object(RFILE *p) break; } retval = v; + R_REF(retval); break; case TYPE_UNICODE: + case TYPE_INTERNED: { char *buffer; @@ -879,7 +1034,10 @@ r_object(RFILE *p) } v = PyUnicode_DecodeUTF8(buffer, n, "surrogatepass"); PyMem_DEL(buffer); + if (type == TYPE_INTERNED) + PyUnicode_InternInPlace(&v); retval = v; + R_REF(retval); break; } @@ -895,6 +1053,7 @@ r_object(RFILE *p) break; } v = PyTuple_New(n); + R_REF(v); if (v == NULL) { retval = NULL; break; @@ -926,6 +1085,7 @@ r_object(RFILE *p) break; } v = PyList_New(n); + R_REF(v); if (v == NULL) { retval = NULL; break; @@ -947,6 +1107,7 @@ r_object(RFILE *p) case TYPE_DICT: v = PyDict_New(); + R_REF(v); if (v == NULL) { retval = NULL; break; @@ -982,6 +1143,13 @@ r_object(RFILE *p) break; } v = (type == TYPE_SET) ? PySet_New(NULL) : PyFrozenSet_New(NULL); + /* must use delayed registration of frozensets because they must + * be init with a refcount of 1 + */ + if (type == TYPE_SET) + R_REF(v); + else + v = r_ref_reserve(v, &idx, flag, p); if (v == NULL) { retval = NULL; break; @@ -1004,6 +1172,8 @@ r_object(RFILE *p) } Py_DECREF(v2); } + if (type != TYPE_SET) + v = r_ref_insert(v, idx, flag, p); retval = v; break; @@ -1024,6 +1194,12 @@ r_object(RFILE *p) PyObject *name = NULL; int firstlineno; PyObject *lnotab = NULL; + + r_ref_reserve(NULL, &idx, flag, p); + if (idx < 0) { + retval = NULL; + break; + } v = NULL; @@ -1090,6 +1266,7 @@ r_object(RFILE *p) code, consts, names, varnames, freevars, cellvars, filename, name, firstlineno, lnotab); + v = r_ref_insert(v, idx, flag, p); code_error: Py_XDECREF(code); @@ -1105,6 +1282,23 @@ r_object(RFILE *p) retval = v; break; + case TYPE_REF: + n = r_long(p); + if (n < 0 || n >= PyList_GET_SIZE(p->refs)) { + PyErr_SetString(PyExc_ValueError, "bad marshal data (invalid reference)"); + retval = NULL; + break; + } + v = PyList_GET_ITEM(p->refs, n); + if (v == Py_None) { + PyErr_SetString(PyExc_ValueError, "bad marshal data (invalid reference)"); + retval = NULL; + break; + } + Py_INCREF(v); + retval = v; + break; + default: /* Bogus data got written, which isn't ideal. This will let you keep working and recover. */ @@ -1210,7 +1404,11 @@ PyMarshal_ReadObjectFromFile(FILE *fp) rf.current_filename = NULL; rf.depth = 0; rf.ptr = rf.end = NULL; + rf.refs = PyList_New(0); + if (rf.refs == NULL) + return NULL; result = r_object(&rf); + Py_DECREF(rf.refs); return result; } @@ -1225,7 +1423,11 @@ PyMarshal_ReadObjectFromString(char *str, Py_ssize_t len) rf.ptr = str; rf.end = str + len; rf.depth = 0; + rf.refs = PyList_New(0); + if (rf.refs == NULL) + return NULL; result = r_object(&rf); + Py_DECREF(rf.refs); return result; } @@ -1244,7 +1446,13 @@ PyMarshal_WriteObjectToString(PyObject *x, int version) wf.error = WFERR_OK; wf.depth = 0; wf.version = version; + if (version >= 3) { + if ((wf.refs = PyDict_New()) == NULL) + return NULL; + } else + wf.refs = NULL; w_object(x, &wf); + Py_XDECREF(wf.refs); if (wf.str != NULL) { char *base = PyBytes_AS_STRING((PyBytesObject *)wf.str); if (wf.ptr - base > PY_SSIZE_T_MAX) { @@ -1316,6 +1524,8 @@ marshal_load(PyObject *self, PyObject *f) * Make a call to the read method, but read zero bytes. * This is to ensure that the object passed in at least * has a read method which returns bytes. + * This can be removed if we guarantee good error handling + * for r_string() */ data = _PyObject_CallMethodId(f, &PyId_read, "i", 0); if (data == NULL) @@ -1331,7 +1541,11 @@ marshal_load(PyObject *self, PyObject *f) rf.fp = NULL; rf.readable = f; rf.current_filename = NULL; - result = read_object(&rf); + if ((rf.refs = PyList_New(0)) != NULL) { + result = read_object(&rf); + Py_DECREF(rf.refs); + } else + result = NULL; } Py_DECREF(data); return result; @@ -1388,8 +1602,11 @@ marshal_loads(PyObject *self, PyObject *args) rf.ptr = s; rf.end = s + n; rf.depth = 0; + if ((rf.refs = PyList_New(0)) == NULL) + return NULL; result = read_object(&rf); PyBuffer_Release(&p); + Py_DECREF(rf.refs); return result; } @@ -1429,6 +1646,7 @@ Variables:\n\ version -- indicates the format that the module uses. Version 0 is the\n\ historical format, version 1 shares interned strings and version 2\n\ uses a binary format for floating point numbers.\n\ + Version 3 shares common object references (New in version 3.4).\n\ \n\ Functions:\n\ \n\ -- cgit v0.12 J+` b`v3s^< ԡz26xߪ{{! wG [0:"ZT49|Y3VPDl옻D_m5C.XGF ]Mlnmgj*Ra/|go(>dfq,a*%vrMj2 v64-9Gӡs7VoE-ZCy)=_5a矃 D߼Cv|Gs^k:ƧkQ(.! Utk!́FsPAFv:?#ACsNmN##T8>T&P(YKnIM~SWJCsawMVC}\FG[?[?+fML>1hlaP'p`-Sr|G gbfg#x6dulG[K#G t3EA6Vqs>]]h7X; 4179_$Gn{C7NDvEŝ cvN7z7T[ֻg&i^RvyłOW* -Y97#8i>᏷ER |V,y53[3 }[nTJ[aa^sT<'20 Pg]; ǂZ#9 ŠZ&ܒ2{ˁm5c{{Fn `sC;}(zx6NT\!ݤnS Kbj6XϦAASZ޷>/raVdONo&f"o%%fjÿ!; ؄%}ϰ;(X!*$`|3{F uAm[jV0:\UUUUUUUZu!8/@RPɌ هӜwrUUTTUUTwJl OI ҅Pvpa.En}l#GHqL 1g9d@(wY\_7=ϭ®P4 H߀bD!s\^O%[ C||[N}= M͙ޟd?۰юvb 0yz')48ٛs8G l7PJ:OugvۮkXj2q7۠1$7A \m:M)Ek5{M3 Ƈ+yjO29ݜL͘rT3`]Jߓz e 4x.?u c=\K'cs #xT 7K>7^(~`L| ޙ.xɉ!  `DŎux:wiM:MT7Ot0LBjg-`ƙhvx#rtr$)) Sr ,>`%t %CwO/"oH,(cu?ӵnV{?2kFMףZű2NfP2$<oAJ`E sRk>s5f67ɱ0_/%Z&-U-q#sfW0'/6C:5 Gmg$]5|=Pm tT(ڐLV,e\KC9ٻ$}>jhi3c 0*Γ˲><:¸rz#]v|\qAW9;3aͺ6TgP|va uz}(eI1(,U^UkU |;׌Z3t6Iz<6Ic5p<9y5\R*(&& j`?_5~P?ʬ : P?Ij 5𬲶=gٝ#)hZچ%}KuRB65΢ہ^ sC|#>ݍO`ueMl&I$% F_kiS:(G6Z6Lmסfi|o+36B8JoVgǻz=P+έ:<VN[QI|ZofADZ_aѩ S |>$KR{|x EGv>HJ_t:Ik.(9]GiX-p@fKUZ# YC4?Hi~cAa@c~9/=e=EũFxUr m{#"qEɻ9hw5ag"z4]hEuYqP5@uo!vt#tu:H&~qLG`1q"L"DeHP兤 KΣysô50HDəY5h @DLؑF HY'>$ bCIG<9fN" !͎!D YM0Yܑ(I(aIiC<`Hs9!D8",wn"g1#)* KN&1Hr5h `{E 길7Bk__;M'$F5ƛf4 ~81U ,0vzL`<19>h8QhHxFIjpuL9vc5 .V]DI0@ rC]'g㮒PQL|:G=E;CR!: %A |+{xy|s/C:3Ӣsq(#cBI*1&n*:bZcgj[1o|#;1oq6G6~H iNuH\.tHIJ}Ʊ! 2y$B]:dqOG\yӷf~5~E.lc |ШXEqΓ | 奉Jk_hb'l7>BmF9 4iwmlUGh3 f(|)<% !gqgq5E H֏30acy1~nј~hڙj(gTߗ%Aǡy )AgH霖mr|~fytvT\ ]ul6od\J?ۣ9о?"[sB%Guwݶq D/1%n6:⵼Z6Q#zܷE4*:5.Ξ-ƶo=*㇃=xr]RqH"1\vpFj9w⢹%d`:d^<67L2S4x9psIUOuP>&.QY @@))+M!MrO/1ƏCۼ{VC4 ǻ? uwf.!z$N$)vx1'BҤ7 \1yeK92;=|377ٺ56G3Q8˿[MPlU (䧲e) Q 4aOl*C !Iue@] lfڳ.j,R)Q Wҙ1+JGY(F3pẞ/M6/>œ~/O<)w%CKIC4tttTnMb;Zv[QV2| 7QNٞ 6斳hQٙT?%KI]'/ iNOokn? n=} ?33/>yM-Mx,2nmL|,>䚥b&M4Cd$`ӗ_́"c"SV? lH>=̺- md2#@"d}9:m8=#>P bBCRbhA!a>Vzl=G~GWP{ C'o^5l@Gބ.I@$ cNB"//GJAC?Bsa>uW"q2Ii1D ,G;$[# m;h$rMxAz,aM6q<;B7HwE8KǗ?}`qAX&IyI.EQR_qj¯Jvq؄, Vsᚿ/Xa-/ BYL  m:=-K&b׏>O B}ӡLgl?1!Ͷ&hm"\V g%ٲE/:6}='_!|Ʃ~Cn:[S8ȇ| GF Z s=ӍOyHzc 'Y&{h $סImm]z&}DTi03oiOGD'XXD  ~/,HӅK"] ەi'% X!xS]FM"Lm1`WzWs=no%w3N>7\id<+;tH0l>ȾۓzI VhWp,,#G76'=2ISof>S"GEz,~^A%vv׏_ÛwZvaǷe<5@6r;1+.sp=HuFVcPu(jfa\<_*=<l>_g- &v9CQuQ ^7W>XZ~!~jy#+_8e'=+󛻠ӓ"L%$Hr *?&'^Y%|P+1WL*tK91kZxCvqWOgkaNl%tKG.fm-Ex9Bf;h.1EVY@{ LC,A4L7ۿ1S\T&fw4,vEK/ 8sɝ3(JjRu|-Uh餉Xq2 *U6TaZ &p0arpU,­7 2N={z~[[lc݂-5 %/s_D & y*ǞNLY "4uWc.vHl9l㟺KF JfO2W+wjïl` lc. wTe_Xq!0p\$0<( \PKUq,(fi -z$t'fNI%&X"~E|A*!VXHB6pQa \Z"ã_GJ3?* z~: Κ6dv~⒏T@_(( Jk13;Ąm]01糭w˵5=xY3z/ЪEqM5LܞCs_,Stz`=ă7w {a~zIe44v];Y+&uߏIVQ\|t~+#7w}>. T?:qܠi$Cx;WC$*mΒ3B(B2C3[L 5Rc_fy$@(N";d|kqL`A4\y^YdRep)-Z1i%s!|KF>z8F7r(4Kct럪؁){:l ,[jk~Ȕcu |J92̡\ fys9ِx֛\bu-6z$ޥg.)T?NEr/IujUGU̟g8D.:tּgNE9o 郏/V'e*}N!MR'wa}RI9()W:5Λڴ̓A0>ՖO$g1!O*b>\ s?|~bXq'.{*'CN9q CSѺ%Y{<TWk5q-|?g[0퓻+&V~cU$`|2ŭBzSJ'#X,8G!9995ފsۯA< >Nl텦zaU{V&ұ=\V`̓xqߣf34XcE10e(N3o*i;~Xq,fSDDF9sS^Llu.I.'WHCw0߼$Zh3O͆2*r&6ueG~am7>L!|Ĩw6خxL~orˌu1Jj-/-#1zjٱ鋴2M&i3^twurjh9&?) 7[c$LP]?U..*(y"VLԛaGFde]*`xQJ\PU 2Y 0qɸh=#NgP@);6&} +4zy4YC݌Jm?_Oce!C5Ȼ&$B)a]*oj+<\_-;˿-NPaw=s>#q"(1O&[7cn;~[Q ~Xh<-磚i%A~|"lIB7u;):䫏Յ0[㢻p9nF*DW\Ⱥ{ |eG~{I{Rf= q!_\?'k[˚,z ZY*xnn_L6P?~7gv0çN9N];w8rQb~UmQ|.ψ 1e ,AG:ċ)t i}=+##/T$asx9zVi 60ȁ< $ەt Oxk D`|FO7O1_}Qcp9BQoYX_f{r&Tx8WգHv߷Z%b f_;R>/CGX19xOksuF},scNWږdN,f_j*}Qܾ|=NjJd=n])xF>gT sg|3iNR%Ï3&FWc7_F2wp˥"')CӞvqDzK[ЅYc^_%Xu+鄂=QMRv 4 >P 9'1{ס>"UV'v29n<Q;]w_")5ҸQQEŜn|Ǻ~3z~$?B&2Vj6r~7uy++**Qvkah"92sOKbWkѸݠ E{ R 䥐{Iljn0d,qlqF}3}{WJJFWqͦo$cnA1VէFw8צI ,FTM3TgXK CaSQm<3O"љa`|&WBszKaݪ!LyEsl,='҈)"~WpGDa?O޹f|\Zo9[a:aV5!ׁQvoA8OPF|#W;7Y~R]Itxa{н)rhU`i{zN+wVq ?C?Aoo*$q-ry8kJ:bvW)>4hJz.}ܽvvўDbD34C iqKp}?F&K*y*EJosM}}p3@=1r ?CGc'D2C[7>RsAhUUq ax6Hyo&\!(E֣;TL9(о>W_wPI>C1]&5)C<P5iZYi^6o&8M\RӥV %؋Kj'Ӎza ʷg61 wKqXyQa^J)PƗh"WnǺ7s٧GgM%=G^%j`Mi7 *¡YC.9M(w86tr`Xp <1ÓYH 3iLaJJ6UFgL ;f7BpTh)vSQ&hڏ/uN;u n}T,N^DH?j;yWD4THQVɣ{EG@3?n٨[CYd`]*4B.].kpp3Ğku(Dg3,[PWD$OF Ue2hjFyGsEcNwՓiCSnǞgG/Pr)0TυUuYBtYxM`ʨ#v植VͽDSqys[-9z֨IbEq e(hƒe'suО`UZr0ve^{]DKs3? Bdexe )SBqA^t:Z;I2nuS4Jsӷ?!䈦݄WzUDCE eFۋc˜3h-j6U@](cźZnrΒz^^VSտт%NsǸ] zu9tcM2mS3Qyg˫J1f[5/EU=%ߨFwxf*8$C fn:Å5p`lBel+, 6Ou @Z(zkFߝdt8r;vA;4Ƌ#r2NT#sϣV Y5%8q.N zuMq2wk$p(FHcPVAQ1 |1z[Y5qsMKrTCfrȚ~'mhluxi|^vopQ0߱jRFLmv8{ސZ\季YqJb0LLP5==m럖x7h;1;A1m;yx)avLԵT׮w[bn}K~]%>¢49 w\8X=*{vR#n?˥LA6y&9|r-x6n@ܢ&QBP7&8$EXcBgӷSH sCCWDdKw5hwݙ x螳+:H^'gFgysM3@gU {)" % L\pչ,j rʹr3|QDTK V^#^NaF+f <4iS;?s]Y?%MAJf i Sbl]=1/^?ep~Ŀ M'ӼρFsN^HE8L/|ڣg^^9v^W/ˏ"{\El?V/}+- +SwD+h^bNPs;q[pq7_ GC_&kg7X iԂ;/a"nu,q֥GVxWNk^2oVAkD|Y6>AyTsΠQ2KVf7,otUtsY3+29a,rOvAE^bS|98Nt9s5޹13?=cD OmJ(d "ML"xI%W譫Vlo/}v82Ϝyp1@s͐3O_bPV亂{H$['.Bܢ,ʗ3 AdPމu,o)s?nJ9[ېY{T^(iǪ32ڧۈnfO"e%:I!C?;>߳䆻ՀkdDՆS)|K`;k|{2D"A}Us_ɼCPș2beeF=ֱ_qU ,OOĸ)/O}}NoӃhQʒ1Q^j ]lL|Ej`9o1xk%Es2X(H &Q0[%/ Lkn(rOKoo<F6m$o/wO܍cݸL`i{VFhj#ksgkPa$I֧Z9;𓑲g{mѾb9MIc3 ^"JF(iPn)a7) IQCra} *%S aL/!JmA ן4xA/=#8GyyJt s鋭hўb jv\~6WF$B5hT\Hi0DGH"JPuh:;\AǯÎGŷZ{jjQpmLniE=~saN0hKvmrϢ y|^Sw ڝwl0W-P"TWDY)r/LL1M.k=aEź Qͼ i+J(`'%QE4ywyͪ_!PhTJ]3"gDleEBso),X7ە'(B-~h{0jXyu{([W>~$31&04 /Y9jJqy=vwC"[0l⦊$RRͲ—C^Sa-'_B,Qe<6Ǖs>挩<'lgrZ}d嶊v'_m͋*_m|]}S|DYB(`K90,8xh0 Lj)0k/bQb[O?\) )eV.tA% wD?|ylgf2.|=5tE pZ*1sW[2VZL>2@5/kUg϶. rO]0ad̆rd#n8ӕ~˦Gb <k2מ&aKզpغE$w:/sb'}P-B¼X)cSEd1#*GA(8guaN|Gؼv"N:z1N/1V# Z4ڏ4 / QM*861XxԚ/|6?Wˏ!ڿNW y3N%!gwˡ!Umba럳Oy/hb哿L; M6*jږN\*gғ@pVۧ1:끶RCӧVX*bYqSt!U.`l6dRFOϬW*iO{ 1ΖQ$Ӗ|\&>{n?4;Pm򇠭i<'_DKPDžapXv5[-p)a|U8Y];klwJ%r!9<+cOSVu&aob.}6(|鐝)К|O-^JQq\RĉZL&<$c>]6r|qa?g}fn.L^_< ]u>1"3rP|ˎA:5߷f}W7-XQޛ!4/tc$du{dMH!"^xhoSmaV`x `}i=t"{h08ձW\G΀;鳄q~Ԛ/y,tDCΜ"59TZ4PtcG# ]XgL| J%)+T|9J_ J.9 T5必?fwS4o#tDv:Diw̱CDc8S+y"#dx /g ?Ͳ=%Kz{jwU88X>G#G۞Yo~9SlYR6cGD+\RO\c`тqDţG_55.>XssF7P[ߺj]sB7JCWx|MfE$lx{e4KchO4D61g m9 Q5oo>H=6~1 T B=A0wSwo:,}6OJ-<3hD(Ridk89bYb 0%w̟}}N׿]vp$ؗ1I5GUS9j#wȉ'p o*H&PAڣ{59:%<=Sfn#neP0Ku/gIb@ED IG_M4ge\f9Fq*T$HLgJ? ӈDh:?0/0G.ߟBv8 Oy&|="vø6Z>W:7.8f;(/(l(kDnϗ7sYHokf l cYKuꢧf< e4ygz*>57G4m*K+26N㢕VE= E3ή]QF|Zu 6+@,zgl|_@xޙ~Oua|Y{&=!f%{p&٩+AEUK]t(|+5tr |[F8ɒ9Spzif"Za&bz%|o2k5x!2՛}n#ܯK d)5 i~e .՘i4"#W΍?ZytNΌ991~L $UJD%Lx@X]*3צ3ןN-XR0OÒȭQ1dQr]$n[?=𧻱=XKpU r")Fd R}MbMU`O{]$JjAQ*qrV}%HsvS 7 e͙%L\{l_r8Š9Z'#s'OWdh>pͭ3oXPc̺;˺f~RuG^s ;=߇H}in/(#x\^3UA!g̽4ё#Ȋ{ bѰRQDJV)̆;ͭjfRlRT2a;!h)^3luK||hjVw8VᕇQ3L;7ٟ*V'偱~)f#i5q!Ujf,!TӖ ^nKH0?*Xv%ɞEH𙽑R-xgtCGB3`~~:k}ed@c9^9HmQ,K"dv,_oA𦤪: j?D0fS)ylpՔ/棺]tهSSU|.M4x:ov/藶0>ʳ?clyE{\y! j3\VbwT }uCMX3` دeWg,P$S>:/]'^?Ǫ7t03xsʠV\j9XV^ޓscte mv6>mEҥ% XC[dnZVia}B n~+V)U0ȪiLiܚ81++ qФЛ6iWJ̈́5o_W]vj";K'`zSjܺ@$ZKpo;Q0"YzKE1|2 xwRRVW;gt!uƕPW9ןKǻfQVIUZ1@rzed68nG~}rIT}s=tLKp&\ww<|%A9f/4J :5]]cNaA8!nH$2j)X)jA&ϳdv UllG8NYdݘin_)▂ sLi~>+%62oѮ|+8@ (HizkSPK3ߜ,e-'p.h3Ucܘ+H .XV%;#Bձx4.Md,T7<}8ĸma~Azy?Wx_ @(9zU9i*#hBi_/Ww*Nu\qznaΜt.d jZF|{sTgTHji.3]$kdho2-̫҆YZD6^Y8j%埕 .8a8ZJCXge#=o^hr_?kamB)*ҧ_*svk;9G{1޽3<撺s&kIM SFuX3 Ux[Kv,tʌ%o"e!m;C=%s&`EsxqRg>9gNJp4,dC>IwwˊBfiU\ b5T#8js$ӿf>J=71.#!]4:H *BE3Kg!])!m&r<E@}|m!/u,3!7[y\eU37ڰU]yhoG[vd)x{xxI7M.:8'}rfSa>Ww+;tw'B*wkd; D!]0>SKg/  fgJ+\x*sԡ~,<.wI1Ksߏ^=*ĘSƱJcDduLo T#ߞk#s>xg{aPh98 fIS%|]`Й6_wzPT^70?]Y֌Q|̵bA϶.8}VFUy%Y0+'/!ˇ;76PV&1kºriI$!fUUe0<Pm3U.v9Yţ嘵,04-6G&_fXܴj[xL5NyZ9TD#P(ӻ! w^U8a7¹>]|W]dI8C]danz.9=tfi6=ռ  X+dz8>>G&Y #;U#dџ5໅>77PCs7Sokoz:/&abA'x2^ ue<I@ 0@IPp# ae̟3s5ht8 rF}+yPÎUHZ rhyT(_pQ۔)O333F w.6x0cB7Snu$Sr󊐢#_8N~cl`κn38gУ%%veͶ_~br/3t@|cUB| -MV??{e5cvV<פݾ$ul<)S~yvE?J4@l4q@e9/"$GǘUW뒪we~b(csӍgpI+:Bsƺ;ʲ\ǧWcq5G0UKS3L؜W7TϚ=w%~s"%,W{l|* n_Pn̳(jW"$|G ,w5bw8oIUly#pbQK]&.ț#SLT-iWn~9ٝBTQ5f\j2wzk}[TYRh$l>Nzjefz#sR-xGa7Op‎5_ vb:t_Lf!(bUu_k´¥ξXkm7{D[Lsޝ7f8BPb><óQ5.fc#VY5Y%16 {ZAP:i%ET@'wg59Ȣל;/4V49Bݣ#˨""sɣgFEiҠsteRB4;pKwj0t)K$kyX`$IQ*nmc`݈ 3*!:[%LCuQFFhٜk}k4 tgt=hWl~_骪-W\r40v*j0uU6mHqG~2Ftd9`kК +4=uh4fXqVX|bv{ڞ&#v~/#g 5C2Ewy=eLG3|ogoΪ9< 1ݚEce\Wi)7:95 mbE2iDb ҃#]oi]g5vz\|uLi8F3?t V3< W$#u1UR&C~4]>`o]mwz]D{ndDwk7of ^P8DElP՞*j>{ֺ̣#ywNZc//GgԜX'}ar 6wzߪ*5騬q8a3Ψߞ3G]8!BzOXYkI'L*/5C{*TKdcDt߷m;qη㗟ǧwv?swxU%w(ssX5ĮsI5nN./Пgn> ݘm-=G )!q5* 6qa$3{bi\9.ۮp' ],n4Z9G:lNY8δ33]pmu}C]y4W8ɕeE"]:KF 眻Z<G^:5_}n xZl5VZd{Z::QkCÙொ{Ӛlz72{uYgNqN zl6"h@;;^0wGDQK3(n=opC[Ҧ[uB~o֋289$1 LZ0/_1ks|p*ПKZ:eoBtN9Y0\rBU]F 6_ϩ?כ*b]2d58Ԣ.NbZTñ;AzDd>R FHrA&EC#S"fegW'wެyo_륭﹬$/3gxԃ̞qGpiD?ftcAcqZ<{%Q:E1"|[&R(dx17";yƊG!UDG5 :Rc+pDBixZXoN^9LȝBPjSܢӏK0C߼q0#Ub-:t{dd͵98DfV8 8j̟v.N玢ozwֱ/I_)Z0|G߮|rsG58{;8R`D1gVz"l&VO9YOK^TkBYtoތ ٫2LLyKdwY o_-آZa S 7}HJJ6O a]DG9!w v%3z'SW(ԇuMw췎n&llrPBd$oqC?{?C&oͼ1Q.9iMl|*5R \sk0$=cWt~D/,oND|eي 0{ʘc'wcp4ߣÌ,;- `6aU֫$@yT+V_=q ;L2R0QAu^j_9lW,Nج_VPDIq`pSL)2Chvq85uE6:)ȄfGiq[=nD Aࠡ'Z54+Bg&Q+ Wl),s7R)f:yTwZ;KVVL[YSRUbr -jcGAa&}>H}2 (b(f3μTksmm s(ldr2 i5^VpINt^Ed  I/q4cBvouzWدns4/L9?3믎s2sszv/z1FO&E{.4h֯E<2LoCM%=q ř3c^̊7+_*T M1cQ-R껟!IvRFWq9g8hď̟zΘ>ɵ8"f$~OVj~ywO2aR!y.(yJBo ^p˝բxzKa/"CͬОbgrqjx\$vg"|:x;Á%ahGx"U5GSեx 4󲹾sqw|sN;ɳ 7<=}~_=`צ eGG* $Qw 鯚 цE*$JbvPt*#kUq:i.H 9A }y>P祌vS*U5EBJIݲqӊGZ3?Ug%wwLzQ/NٷoQo,]IyfbZN&?ԟExuU&\A pĝmII獾_fb|&j+:RuU0Jh'd(9OfK;י1*/EQɤIY?-?ϡYH_${Q`s,(,bm;b+rBhaXЇcCov$]q!D} kf3lO\k!cêˑ=laQ7qY=PS|V";RSCdC E(^c-NZ3Dt2C$Ha, Y}3Yw WK(3S5{a;$YΏn`.՜O> 7*)hl`x)Z|}y؟d͝302> bG"B" E1M\˙E?o/|lco~׳gMmBh}Lpv4pJ9{-I`~M-Ve^[!Ŝa߽ArFS _GH0xOTzYх1}JO>M ؎lrUѩͰv5ڙ9cf5_XngDU*HޛZQA%ܴ=ϤH'[Ӿ?L䖀qrSR!{LERdI<<0Z]+DXú灪|f!3 w)@px\yiَ2K%Zf(ڝ<45TBs5]A{`0' F~ uOEh6qڨܬ.\uƤs?`"ǟkLȓ5j-,Y|_nt~YnΚumsds;ssIƂbHt̕%ᮄ,X̂f RHlC8qA4oC`:du8Fa4Ƹ$d7gU۹gc&BG;|pذjBG9zr2|>FSmڠ<vzL3 ݘKu7wXԽ?,'-Շf`pe?nƏ_FI/0aD>V`N̍JLU>1 ID:_nߋĸv֣i:~`Qx9c]¢T* X}OCUU<o-u ٬U̍Nf>cK"~'`𞉞:k50_(iߎkz5u-BBT(پ`XA,]9robJuf*5_PzT &(?eW7%]f};vQʬw"-(A1\C BoT&H׺o{?ѾټSΛBI^'9LE }zLDIܕXFtjOOvz9bD8OF֜WnYUR$<2г20`ݎh $Hdpz[&(UNȭfʢj]sG,If5>^XN' I]dFsW-y\%+hʞ,UQ*N]qy|{`teoG}џXiX{\NEN>1WJ/QYW͑Y׺w/eZY~]'yv9,E:5=6ۓK"zۻˆЎ'<3bzyN=Wk%24yiDj3D1jH[Gq{,,2 bh])..K&U}&F|™j7"~_33L>qQ[?7ST^FvLN ^>W0`3ᙘ1{t>4 Fc ٦\qau<ə2{n6ˢWxy(V|9 |KM$D:x }7q2}~>k2ѣΡ T44CV/isit_Rj>I Q=^ĈAɠ@SĴt2Y;Ԍ~8pv(_ 4.`~=e´]?x{?.=P;d/g ߔuW~6 wHE@b_M#i/6.wK^THV5 AyJ|Pm}9NJ"6$CyEh[&=|_j:eE|B00|i=WO՗l~FHtd`♇gy*/I*{_^D|CQ1鿨A2 sDk+&ײ6󷴢 ӸcJ}C;);~ŷ\I#^<'t4ϧ`m]:]*%v_S^XƽAsTޜt,{NyP(3x;WQfAծ)ߔ[ݏJ9[ۄ ڧ5Lf5^MAڝ#P^uۻ%aelM? v״!`u{Z~%i=Y>:g۟W^osߍ{L%u"C~md/-Ymy;lpd*qS淛{4>[R~7Ɵ/ُ\DmȧWxߊܺKдylę}u~5oNc`ug=1IE!\ykUD4za묿ym;ճY8*ہҿ'=0sfݚ?|S3d1PWLEL^ISE$ѝhҎ{vի.'O6HEfhJ:fj'ҦI*\ڢ\fz!왪'p ͝R>}?{F"UT ; ?}a F 03,,g+r>%pȡ;IRD5؎c$uLD%4~y > 8)08 B1#=w؀h҇YDxDKWI)|I!Qc3PMKR,-DPϺxa*ygǝ~NNgYy!CqK8ܣa`O<#)mpmrH `n0"5p@ A@e@HD/K ?D M/%O|I>0GATdD⏑!B;H$LcR&28(4#j(%ST):l!)EH(j7:f (X pjzZQ)QԽtxJ 5EWT|MU\5}yE8I[h?pǪaiÞr;1Ԃtzv)[-؇Gh$Y*1jNKyg]|hm9=u HfcFR Ą-^\IG vofo{M]u=+fl_\_ڈ`iXzr7tSJKPFUwQ/+7? tcך4+=ٓ &]Ğ6'5||?e?q}]7cGe{],(|ٓq#eܓPnsN]wS8vۻnr߻ ;lB:i<ˎ񽽛;g,qǟn2~Xk˛2X2P`4>|>l__/W4kGoM7#tI&Yޓ(xV`s~cY );[P~|Ѱ@ ;2D>7wrKwgaQc&i =\]SLlj^g^;]vcbXNک#%iS^c~~s?fMzuccNz{ D}Vz'F,yzIISc??ÊdmR4olFUA$Ó/vݱ;sk]%*Je" <2Lc6 } l]A) 17']Z/Q\3f% ڋ<W1a8RP5N$#¿mdFIWyTĖ[f_m'`Sp?1@UYr/V'Fph"-o4a D~b<ԉ%G yJԣ:*0 5怊o^}W.(q2 @ JHe?^NyRbB1[sGtu ֵ" AI1[pHwC.WW}?AtiSi ^B{TUUĄC:l~tG+ˬf!@#01Q 9!a.AH8#d%aK@R&Iy$6EnR$5&v:~x\6tMY,\A$ k srA$@CA$o0! Ľ#2'mAEJ \+J<eуm*9ֲ m&cpm2K+Mo8\jIm,!mEA Jrۧ+(PG:o<8 DueӸ^:l±k!Lcĸ!%.{zQXTZ$0 1bm]&> s#1`Q샾CI$9*CZ(w gJMJpaT25 CJ4JR4ƧgX}j;1c/9gXE֐l\4tm`6AzKth$ᓤuBj3E%<Ԧ0M-M-Yiy\bPub Ƃ ފV;j):Dhzy`=COPXnjSv#hјc.̺1,ʹpwLf-I:e7k c+ܐ:ZafU-:(=jaXeVŦkV3߆T-6WFŘH˄QıL3]3DJuYRz-"{6.EI!YnpfcK{¶ I!њnwm8wS:=|s5\*2Ʋ1=i8##†RL:oyگZ#lD4 rr`-Z*Qab h R!'w ' hz+,ThlJw]uCFUFҲ3نA0Tuˮ) ]$ s OH#K269 +0@aRMϵ3@0Hc)ARSCupkӚ'$5vNFjE9Q->5 =#C~4;aLЮgELd0хn #K輓ay919%DF1):P24D1$G=96Al-٫`D DRA\f4C_^7'NbĠONmuPtmx8)/{֩EJqh[:~; (; ]:AwC\$َ> qX"%Okd;LIҘ2~u^͐h 4'WI"uaQp!"R?#GDhG!"*/:x'DORqgb(?XzVj9hE!xBwc(žiDlM,zgCUT>Z Z/|C3rmjgT]y=w1SM N1߁fc流A Dv Ϩv7t`ߗu0/g z】_*IHgEv(G7>xSY }O,GLǗ]M9 ׂ 8[DƋMd4}8;cpZ"$o2J>!VKhMȃObvd;^IEYA6jH]i J-}FfS`CYK\ᗠ,[UݞM9lºNb!ytLPٓA![1tLVy#\DNX8ґ~NUֈºf %k6J6b㶓I*k  ufʪ?'OCCduAHY&^S*Ƈ"yX!0 J.֍Hw(P3^^F6dL"MϞBH1MS4(1XDg<\!/J=O I.#43ǹш>y1~=_mc™T<)Q`i} )C)?5LM',ƪh>z`ёףrq (jiÿ綺9dXaf|(jδĿ0'3n0qXDO9TDp^#\2:I Hq~v&,CXߣlf Fub+ڱL=2cq,0bc,1(6%NQkpmbLh1;Pw037nE͖ NtED@M Q Aa$CQ DyO4wrg ,9.-r/ýA^D-/HsM;W60<.LYhaci1m lE&vjHDE3tw߯㩓Awu7 A뤲䢳eH!, ]9V3(C5IPqR?0M A.-'D)jmޅlqƐ958]gV\eQZAE ].LAEt:~N74Gw-H'֭ R8O{>hK͖YLHgg̏jvp}Gp4q=X=[uߘqv ,<Ǟwxg!4܈ νÑwZ{ Aâ:=^WLTSMy9DHv'Rf(.ލ#z֠M3h20B%D}]iŀn([>3tx/b n'F,#ʩ}\rIRZ si"biv{UR~Q V08G53`7'Hf3pɬ8r~4Ϊ, ȝ_ ,4VىUOS>'e$-L`9Ca<`U4Pk1(L]r03fp`LL"&"H. đirt5O}R|Ƣ~It)a&d‡?jщxc kpLT0`roE  uui΅JӦ9ZeyA%X_%th`w͉a>NG L؆HEHA$ @ ō߃_g ~La H;y2R2~):AqP,9~;Mrɛsk=T|n/Kg CWF(͓J(9cT;Jg:A*W_x E0#9%Z[m{' %S+gˀ;inLZ!GϮDz|]<9FbteZBlUw 0ƉA\=ڴ/Cz#Ƴq4@aR fH1=&a醁\f Dм^X>NIyX4G G G G G @AZ XYKeni'Epё53`( 좊0#֪FƖQ4ᓣ R GFPJMKXJP:\^m<~zddfxAEڡ3oK`űG?m>8 y ,#i>a]DTRw> q^LPr\=;[kB fZb~Ȑ7zVmhcfΞͱ hJ 4/| ~'"G@#LKoZ!IU46[&QclgRL$i4ThX$ԙf{*=wp3Σfv-D?=iߨjG)ђ=>$syvo1({1GidRw!~("^lF1K&(,6 '"u?03H#hA8B?7ÿ*AHTP dB @%C=(d' F RR ~Es9ރL=+e|sy2i_QozY/L"hsexoWǿNGgIRd)=7E$}*gw ~7vۆCtm>+eo5p=;_m7G7? ; yj?7QG馍jMaUg諛 vxRWs}7_G6 2(C7>^%=}TƃVwC0qD}=<K6Q`؝\qϷHLcA~!gA׺y"UrSqўW=v>2ff{HqOZەnʟoGpw^?hTٿL^N1=3(^^E^=£si6;*??FFhD Lq QL9LG!߭ DN ߆S@tMD~ 1:jp3?m'Tx&1@E Gӟd\|=voh>yY(Q}uko?枘DmX}s|O$" r3zcI(%8r<7^GIx+gS􆃗s}h~1Md Z۔BL p|!I3#RI9~,FgڈǚyOa4Gۉ7ae(Q%ӥ$o9 \$DY ?| "H)ČM0L}#A xW3zMoR+)*C=/w牊u1gƩ^[DʜhWU:W<%1zLMy@ I($=H#OlGa"p0zM\$=_+`s÷2-!Bo!{%Gy=:~[#]E^I‹WGh_d A(;&)VaGU^@ߟX?#v?~Y4ƴ0i0_b+ʋc.'q`Go(pduE]Rh`*aEM0Q>I~>¸θ -ivZ$A DߖsmYM(  ǿfB$+}Jd2Z`%c=mL(R#v*D t` HF $Ʊe[f~k e$roRt4%XߣGDwmn s7qMd1#9W#Ũ= .M/!(w?`/?kYI<Z5`0LD%LՓ7x'@qY71ͪŤwzOa=Ud\ m&ę9%"+BOR>د(uB"O9/n~?:ޤpi@aCO g4(hٳQ/>NZ3䲝++; ' C_Gs)&O|i}Uȧl,HE @ćga0ޅ` z9y*xHY=iP1ˑӺGYM ̋ˉNDSL]˃q~kKgsQS}N5G־?/W⇝vuu៪tOI՟TtbVKħ.:qRWjQxC%d7GtfksڏL|>$3FÂahPO 5|=~f(UwGIP ;ǡ5QRUkMi+Ivc6*\5&U8OC\>ߕg'sBd_*S$}bͲUP緃~44.]$Bt 75;# TaӮXMфg+PSQR"qFbȕDk)q!T'#x]ns*5'W&$6 u̇: yBq1rixV E kg2APf濏ٛ dΥy]N&kT5D%K3/&zb@p~aCe<\́#Wwc!TޕZn,ٹ;9}9Ur3*TJ||kH}h};²σ(ߏxAGFI%rc,5u(Qnft}6;)"{k#3Ua 1،:ϝ'rKjtM$ j'(M\ϯ9c|YfzqoisMZJ7ùSSZ2<^ +NHBf|9ނ},A??]d(%/,߿ATm4!ln4KћČ䢏+@{"nY[ zNd-s(f,[27f[uK}Y 7ޟ "frzfoL3h۔Z~-Id;ΥFp_9쏞p}M_1}Wgs*H9S`#OY_sN=|JsLׇI1.t;&[G)KNC)V$Eܘꩭ;3nSRA~1ǕZ]1(ߺC3o)-߆'ӎbAhW17>0[f; ӋD[TRBK,%!N<(O|F.iS :T fTqu]52=9i(_)XɡV9{-;%'1zK:|`UX,*BI̞Jpe'Vg? R֢:reksgo_yA ::OU lLzSN V2A,ٽCʘ;Pcjt3b`CQŶ7H8UWP y>ih!)hJߗ߰?&g1Kq=;""aYux`*0lƀca>(uI5ս\R|%"f o'h_'>0%M69z;ڷdGy gGN1j>]P  WMz?N zxُ%WT~R2 [_$B.5E@Jg-#,y?L":uCAośLM YD"3뚎el}n\ߝ?.lݏ1o*W18*2%j?+T$;5VIǷ0Yz!3ꗳ I8PV=Zl?oXXm# _\]B3qTDvFm[ھOvͫ& ožYؽ=+t&QuĊ7Fja U]#ͧmb>d ׊7ی"AЀ7\']mccnil v'TTO [ +1*H1{Um]wEYRD+n_5Y}lE]DJ~ >{kƄUpLYwJmt ckڙTYd5rBEm3NeSD"_sGma;s+BL6V!9h_S#WXXaNwsq5R #Ѻ8Vr/AĠ 9; 4_@gI_~(((Td9NL!l橓V#>] hv-?D@ǿvhz,dto x``5+7/j~->[!LQF.!&bAaN3i't\y**!e8fk[wqn~X瓁VXBTSP@3LJbcBPCp? ~" m\$TzQ >SЗQ:{L9=41z&' t F0?S4,½Z(#g+O= aM~>_u4b^fP3eTt0? ,N@]t8Քc,piir>t*+rPNF)Xeg;]E[ ![RiW8K6-CʜqIz&xImL2H2OٶKM$IɳzFΜ8jAi~x@k_݈/hq@IE{C a3!!+{ŽyrHΆ͙ٵo:jam~ALؼG,7&8.[/|s꿏A<|^R;նS߽D#_#bmb枊fh x #tp/&v'bWG;5@ T=CS &T0SͤJE,iP L _!3m9\vpp#)_Gι4BY9jFoo?,weTrӏ%8ЧVWϞgC=B*7Ja B i5>?nx>l*nsȫ(FTgBeJ*sԠ(; aH(M/~xI>c(B. ((;8skQxn:jjc=ةg`PǤ>G'Jb|@n^mD%ϧŪqu`gG?N `5K#|g%x 50K2"48+\Hᅪ'RmϹKqWr. yr8bly0jcL56Di?+; YqrfTߍۓ?>zj;fF&$J?|I~b!Z)\mM⁈cVa3m"j;J.g/ ʟ][bcǏ$54't?\'cy?A( x;PבO }ww?w^.m:k|+\ @3 dfY$Ap>^7p@$ E6v.ÿ>¡1ˣTY0>ߤ35l Iz"Q'6=?qz k;$gvp'>">Y~ U5%dq]QI(HFȱ:HJ&ΛhY@ry9xOGUٵ;< ƚmC|3NjPeTnL$$`};|&S갅K/=k4D ߃${ʜH5m xρ By&re!(D;'aԶtȂkou.t.^heΰ 䏔?QuF)ivNdK7@y.߶h_V=XkR/>C(1gy'2f;Z/Lb?嫋n*x ~%UooƘUSx},HfBS̘ha>8.97UQ%d짩lzuNMΞ31~/ZVJT_8i;G-0{q,F|ф #˧(eƽEeVv Mfk]yN>B3k<dBF^ᅈWfe<8xפl\ [u9N4+jlb JLv4F[ڝtHM1ߚ tʽS}S.#4oJ/* jcmNXXKfAE"k=4APp㄁~78-˓O>_8WS)-i^s&[>4Fj7mŪ\p'>G|Mrggk͚Oe i4{rkyw k#(aWD;XUEp]3}E#n!{y[Kq~Ȱ'T)eiZݯ$!(69x>V+1ҥ ֻ*>2QÐ`jUoPZMTI$boO#t]4bY'<^ǵJzS.[&D)]fRU c&,q''Q#]3.!ʵiIf95Mc"O6jzfsJ3v%skGi&I#$:9~OyϠ!En vA}0Ot⧫GGccc'DP1Q|@ߚO룋1cVקJjMW9H0=\=+Ŀ_Ө1̕WE^TToTM 9‚y0tE)'O .HQ^9>I Vߡ|DJI(M3t΁y: v 4\~e&I=y^i7'EDa~G-rpyDYכ۟~?tj|}┖Qu3^F>|2_Ok \;{Bk|=Trqh?1䳝{!٘c߫9"L H65!##_ '#y!6HR(/HneP@7 (˹Ok4d=6~zshn8mm&LȪAs1 qМ#blmF>t c+ϸg0lC}<fϲ9uTP7Amch^hBkkqЄA=.}dzCzQzD郎d2WO|Z*ޔ!^r83~?'6ސnݎKd)tp|5Zh~K0FvHOgU>|Đq0 æfd&@n_/G/zaE'JfK<4;hn52o:fOᡪ) _vd{GSVbө%͸v梅“C~->ha aLc6rܷKX1+<1[.Lɦs-n!DΎ]!R;sv.\Jf@ٴ%t2hf?>b u}v}PA(bӈZ#ѝ|CtPq~?y!w;g09{G_69s/ex ` M;a3SZ{|ݐQ؍,ه6l ngI 6VD` 86]pղf}?Y?#.Ao87\>|JIUl}k=@7'@L[PSkwr$,ܵkqkHI`5 kAɆAg6ҁ ֕!&GlaS 7qH]־Bgeg.Wu_(^rq̷^gmxNj kѐq 4Q%v1<^3WC1{ knB% KlIu>ʮ=e*-wg_GYuةا{KqN1G:xo=p,fha?d?o]S yi~~Z <əD˗wB!4%?,&^L=oג+"0ddu1zg&:ly["gNY1Krf=! $2NY] ~KTik|/Y'qǮ >i() ΧHss ąCnBB8GnᢖLۇ{M4.:Bjo&^u f SWfhn{XùSNf3Sk5|V=Y2f婘iEKUq{8Ƃk0zˑ#ij_]Ad |\wۙKPwbn73I"-4 IӜp\7@;(jWpռU}Mէ‡L$zݍs{6ow:SbN'{>:hF{ Ws QaE1^zرBh{3=3}w4chˢOC/,aYoC UAtƒֻ$a㺻4Wxa!-:2b~))}zg2ɏ8Őr*_1>}5ux'3ۅ 4 (l"Lh 릂:-9kɷ֕OlH?y_ͶW@.8nTD=|-Hugt.}5|gv^ >͞&"0oLF0:u7TF;Fk Nӽw|2})(}7_8wsϭPZ.)lgU RfxaFC,&]D IF,Rhlk4*.f+}Ti]cqd"seTvC msτkxƫenNyѢh:3r@lg;ꮺ^0t`lsokɰ󂭬;i1iҼ"|$IU _&降+݁2BdnNOaxR~0nZQȈI"%OYBmYnz WvэQK ;a<:DUH:cT-ᢹc?dV!.a@il646F;軫U"~6uI+ͯ5>#']x) #W|)E.9=K9+rZ.o.s=iF9bۈ70iji_z(8;vْH>l"[ l[ecU\7a-c{6,ƯH!UvN%Y{hv3 ?5Qed|JIC4rko/-,0h (ݶ{GbPeWU^.ʆ0ܼޢjr';Z}onQ IJgoRcoz7gkkfaox8KD~2Yt!G}2M<[^ʜފ_au9JuS uzfgoǸں!Ltʝ֮aeU( /.xB;?zʅdفN8{_9Ю) b!sDyD D$۬wxJF @]%(zJHE3urx3:b졺 ;9a9\K3 /\ȃU]ѿ@{g9kyo#t=MFϱj;|^*OV} w\fv3~ {B]5X b%$% Xٓhj+35'۱@k_:E&P0SCg7'(wBR>A(aPjc}X;a.>8o{^I$Y!M"fh\Q(*l)jbo7+Guj sNQ` fQ,07|Onx[0Pі@ꓟƞ)9B_9LxF!F' _ӱ.t~̃V#Ns%!FqV֤(z#UWP#8"tbMP H'uDt`2Fl Tyz ~o?/ϷNf?tdQ;27l^ K,ٻOq??y|<"1{<8<zc5ق?!7"_ G,wHac8$24oh@v)5ei ]δj0_ߍdt+t Dc-pH]0$Th{JJ3?dL#:l;fJKFa~Hܘѕ0w&C-,X =;a. Ek,aNA2w0K\o;eIK'M~&b>@N <~Cs˫ t4X,XXPZ;zj9eq'mPg㯂ĉ]TQ]5Y_ʴBgY9ɵe\)B&:"hͯ%(h%H:uA1׮t [*(Mq{7Uh6#K< ěJ}p-C[( ?6!CWAϿg{w7dj#v/oW]**\ܲۢCՏUٷ}j72 Xg(* OC5 w%k!j3&}nR.מZX߇I?>Woaş-]om{14wWHk r0`!$fYj5O֏?P7M9Ó ̀>БhPn wsV|1>|x1It) 5lOxzs:C}VJ8S6$qI -S$*X|Is=94 3dmeÙxJAd1 V7QWY^iG14Ri`3 ks!$_;a;tI8RMx=+St( ,D͜wǁTpN~HIr3iY>)%uܘΔ!tӫX\#,<\8lI!FFvBa>*_Ѿ,iN}>!8,c#%د珐=tc,Qw74crpgq o0!儊yXѡٵU\Y XK4A-)$ZVUw=+GqWQW߅aLm?/@!D8A0*Goï8 =FAd.x7\?cC- ]P@BHucT·@~heƒ!ѻzlDX@c Q٠ҧtb;uÍuU.Ho7#]Wess*rX|?S?o *#LX3X~ފu~g\b~]rjط.5o3&;rCHܓ/!6 ü9}$ @usxζfƞAi! V:[tNj[x>ϲ?%o|lr=txOn |\9Rm8B]7}_T$M!?skY;z]F)~;S[yXZ)@z{2yQSkJZ҈ŭ3~9=WdGa3AS'l4IDL!2;Zv|eϛ?瓁&IAHkci'""2&:g_.#RT57$_󞮫#FW@\Yrc^kj0uVœc\NYa|1EPڀGz J_Rwj'a+oVIX4٦5)\Д%{({]K6r$-iF2? Z#68(C;FI@Z66MWݚ,>!WYf] IScfpp'3Wn}GB>6|" i|uQ%T>4А 2sۍG;+ax~h|~@c dJ踤-\c-}]\Tw;}ٷ#=wcC\Jp]iT(hB&(Fp ĵEw ?%xэ*ST@ҳpZZJ }rcTR'l6摔ƺצ!뱌F!ڊ D {4Hdv˗ا/\Yxcᘶ|*~Ik}ߩ rX#1DFB6l7%`dsaZPi N.p9hcBG[LE 5f\p5;SLꭀit6ai6jfÓ`Ϣ&7tE#IHV|0!c$Pu_ &Ӛ!h>pvWylzׯ}&_?7WI!y~/_ *~gZ(Whg>ˬTfl|yYmCr S(<p1QB4|+Wu  194Ӱ0Iن&9#Of'pp%v:J`8 mlq AL$O]V Dɝe5դG]o/B9 K mhnD@B - It4rWs,!gYy~oRi@kz5DQ/gId_Ea6GȐ|];9Rj3w=b&u8֭[}'j lv$"@CYX>ܾ&Cxr%?>!5OF:l<255TPmfs &Кa ӟEU3(mw83d=&7Ӑ xx*>8m47P:#J0`HjiEY5.X8iғȐa+0ȗ jb&i5铁1uȍ| m~zd:" uJxa:AٛN*j=9|nχ~Q18~I$Q0ςc"yJ`ۿ9ĤDk?lZˢ@$(aiyԣ NwI$OT?{_'MLJѶUߺ~ّ^6b܅,/}V`]|#Lb>^/}K~!@ݻ@4;=tZ9HʙQy@| ;Cah.GA!LxClr,PQP! za|yG S!sF|\$uMCkAɆSxYhrPrX0n"a'"PjlRw>nbH õIKՃnaJlhLE~fɴ&S&2eD6T=jnDϠho1!mE(v(0-Ln-,I#T$Rm[,M?{$CοmE맃d &~M6ͻ/uKn) ,1Yru3l4 z'&7+&A*(!/d@)04$S<;9tgb"i?j@!R ]~S|z ZQPJDŽB>~+0dج) K!KHPϸ%Prh0s-9e6cFd8|_1<Wo ϻ: t@¢}9eo ៖:JM3w6K=IЏ1 {l0u;3 {5|f][sպNjBXآTQ8yWI}ϜW-f'&ދUBo,$jEN:#e{ߤza7ٵE䤒Qť&IL]FN]C9 Cכ.O2:y9`|u=v!l:zN36W͉dXKe^PF鿎h(Q|pPw*JqľOώ{9|>:g=l8&8 ʹrUwƮ8GwI[j P~A4b qW{80fr!TxP2l@5 :5gSOA~HC&zz<8RPFP xgGyc~:¿^=>BwX dbk5iWc 4S7Xrj U'j> OE篶aDa'>ؘ,D>BW!&A̽=6CYkW.FPPM%G>gG>ӯ_fu[5f <ƿv>xM7ojW{/2'tku /骉3iNh8sr% ȕRǝk+E_.^Z?hj-im9?sr |gޓ3IUºIĞWIPzzon[r6챪I07$̑ kPMǷW}B)^ *fIx@a,p/e[MEQdI}CA0r @#R&3>e5s|~^|+/8#*3!K; ZV,ycؐjO3E<3vawݫ\:/ct?RBdO#4<[uxb7?0΄ڄ )amW`lCT0'ݻm)2`N)>:EzERm8"#.RԔ j5]|j\mca3^xݎZ6cE8>3'Wȥ9;a2lS~oCiAc d%\7wt;zǛ**ŀ;Z'N /1==.R@ (n;@{Sc4F*/|@Q]>i v4=q7'}*HOdOdMcXQ2cu{@{>e]{Af7ĒVi`qcٚoc 7ϯpQf2 ّ.ɣ?S e=;0|Ҝ_.h,)#0.4KCAo%P'&_W_$}# wgTU}?/_i{Xiκ5S)UvHT1Q0:B4 G? Kh{V[_eT]#(5 fhp<'wݞ0}ظ| CQXXR BPL" *`;N/'qȵ;.lR HP`" d PHHH`)P% X@ (`H($A$bbb  "ZRa"GP:0M V(DlA(C߇ PҠa!0ӦZE1%rf9:s-Ykd0?I}\\Vz@\:~}eWq Agajm6m`\.!T'1^E!W;˰۩Z b@ Z ܙQp35'60z QE"mD!_  dȞJ5 D9n]VE3VZg)\nkGS--yRl- ZCfc=#~2(ʇ[LZz+wC]Ԗ.ƣ4X{ 5sEt5ӻKqX15Ma$beKƴ3&w2HPi2(g9M81'/ YB.ӌHV:q< I*_[T^}PaR4*vyd‚ԉ:'V q(Ӝk"Hc kDXBg0VlSޖ(lؗ`sÞ*13zO8jw|Zj\\^O%iBT>}]'0)5O7;s4W;_vޗF=pƤ;5i1gMh@OTpOB('ꀩx0@3T} WuUBlOb#4s졼 7ʏLi'W}?/*XbnNfֱN F7_GMy)((sZf?ʏ:2IƅNT]'aѰPoϏM1J >{9eܙ?YBB`\ͣ}>)xz陏^v9twHğ$!|g]G:>Z8.B@!h"8JYim{{ }{0YҌrIE'rDpxL`?gb5jѪ/E ړCͽJWR~z/Y@!${@jSRlsf]|;{vco)mեRރ9Ʉ0Lf噒֤!:(jAz{TD]fUԽI7?%ڽk44*SnУzr ÔG?Q:%f}훠X:B (6/Q$ve}g!s['xClaoKskJXZ4@EllզwzI&Sʵ\>W?ZB $0Men>-z(EԽRq 5mRܟPh3l:)UzQ4*K|;{뵭 fH7 =1u7̶s1`npI=u+GրO~/$;Jy T22a.:1ֵa 8gfm.dc.u1ZcK2\1yn5w g8$TW* |8FGwN\Z@\o"klCPCRtÛ&Mr`ēLjg۩ngepncXm˻&'3|\߿1V@xqž'"ѷH"PHvgEBj!P29i4XՅ7Q,ţ.I*&-(ƪ11u#aɣ( ǩGwiINKf0 cj8EN b=gTXM&E;lsfA_goxn fU< 0h+j!4+6tGby8~J2K8Rw,FSyvNjWypp|pقX!ԶktKFX;r.hy޹7,HX5i']ߕ VOy8EGNGZ&X\,!2bF}j+?JTo a'mugg"7Z; <L*?eRD ~4 1]c ~GL\ی9^eYL>M=joGU0I͎_ ]}YrƮvVCZ͉WG-;ܑ"3 1M&8xhOIjw.q>;(l˫n!}zf1u5.A)0҇h^l |gpr"G- )Tl-b`ϿE1 o#KM'w3Mphƨk Xwcnv-*:Aw@~>(;wװiDx>j,o?޼bw IRЎQ*aO_~܈g[νo&nNssƶI|>Y~ᔠ}.quIPL' pWurww&_[}X>ٿeW&jWЩMlcq%KTVџWoy糿 T4QL3MQ$T5@4-IBSTJK U!P/wz(Ip0 Ƃ*(q_.Ivp0n7Oߣ34#j_lљeUA4"lsD?;blH GL++jBzD jMJ`w!7KI$ @P?g;C?v&4\޷'ȏP?3?w4'5nGlO$xMT|:0]em;CE4נB&l1z΃܈6}kz 5q o?wTenRR;s"\)(M̳1 ?Wg3z?x/l?7DŽߓ:t8PX<5_٭f#^dn!{ge?nI5$ * 9sN-Z$3QMQSgc=^Lq,ipE|_N!| q܃^3~YWnJlэL3ng冿"%^ $-JHG)*ydhMaC8l}Lnd^B(eCW6<0EYm?qmhؾӾq2wOZG TGհ7zuTPQE:-RwbQ=9?X{"UŹr-l̙= pNj{꿠1X3@{(9e9aϪIurSMl$,ߘz1Ե^F:l sC|*|DiW:kJQI+a[d)\UIb)$#UuШНѣOQ^jG}U{yn\ĤO,E/oVzlG-7㝍?W}骥7j&&cEX NkF'A$AE4)M;w/S W2{|Ԣ4zKig~f%EefB5د^:†"d(wΊ\LQ(>[<̛*1/-֛0zR]O˴ QOG׾}%1Uu=BSSbv;?RL91%B0\ل0uqefBf薱#7Je_ ;P/[ev1 dR@|0*?/ r^&B= xʖ٧)V2 ƺ+l;QV+4XB~E`r0}ݺF-ifuĆ7^RQ ѱ--.>Ǯ?E !T >\JRp'&2M$xcY!=:({|ǪشJmy܈~Gw*b AO~(d@_/c!ь(I bXG0k  nXB)'ͬ C g-8vӮ:j+NAl+PrNdJ2q۟+Xuvx+K:O yE،*G"Ilߧ }u@>~3cb20EIXHAU+I?a|O3Q섞α@~fi&"f)S._?oG?'O.ajr/z։10DbrwpO:}Y_,(omc9@)zu|m\OL1>Z&'ںE'FjԦy*꩷R/I  LJ)\~3_O%c08hrנ WS{[9}b94 sFYUޱz!Ơ~a bb9QDrs(  &}H?@&#qI9³i*iy#~r6F /d1Q x`2,/ TDr Ȍ//5䗳ְ 8 5k26xECGЈH8 ^1 )$I8AL]Ba_t @;) r8/c\B>jP 1L'zD8:9k*mo@ !PC/4 ?Oç_H1?.Lpޭ޹}G?B˃P&p$s T+x >)#;?)Y7\_}yI4j;m/oEdϯ0̐gi)]T/)–Xh Wԇ@@ BlWBJ4RDJ *a yAB&|҂Uٷq폃˘Y$.K0)/ޠgu|io<<1J!A CCB6(!Nh:á3( J܁L Tن.E7zE@`?POQhı aҦ=GQ o Ţ36l[cH))zDmMXS(Ѵ<#F -ԇQa}vG&*#]Ӊ/P 5'Xy3a""DCλ N(cH, S7H}S=1>'XQ@FQGؠB h1 k`xar^$.Y48RwԐxa:T={%(6HP ӑ]~o'ӽ P 2aZSB _Ƶ]-MHCKD>3U(wpDűK"M(Q,Þ;z0%jE&a]`6vEˀY=jR 7t@μggŮ.v+(/ c+8g=("u=!"/vjl5pCv: uP0{ _y? ԟH?Yz> J?DG ?Dyż1+|^kxA^$:`Կ +_gFJQ$SPcyxDC.~?_O>!)H u&>J~X[ZK͜S'iN89DJɔ"#⨩4o h}p PZ۰mq(l~F؟>k|#rډR30E?dgȏ훢#)@}7E4!]=bo7AUAk/p~)v9/ۂBDn"c%2#Pc!/gaHxh^?9<(Dn ]<-|fgQEX< nMj}f 2P<Bz LYK>4-XJ \ AKZ3 0񰤴;it?u ^$/% ŪH"!h(D=s0"@HtA8 ZjX#LcwUz }>܃^J !dRa  ihwYc9ؤ\ ?P׆'Nm~E0$-< _N,+;<-@Oq!7UzaS$BY !~vPc iC (N &Zis#=`RI"M}giFEԚI+јga"B[m;ϭj& @DDK0T{C?Y>ut6%F~8w&F]D-gf8J"`)68<#9Óm @lOP=C눁 p j5.Rfyh`/!(7+Hp"7z8{Q&9q"D 'I8!3 Y#|~ G?SvmJt${ͻ0@ٍaltv Ώ< jHCb۴(0Z,LRAr'H pCFk~$p5Utp25ټU@ 9mM@J}>BxtO,#'I:J}]?p%mH/v҈T|O 6B4}k~ș{dH:BC_Nog rD$l+$Oa?{C_ƖLH_ fm&~__G>k_W97淆ꅞ_j œ pssw8ĹqtáCтft8ٲJnp y)b-DGB#z0h˄͏L-"5.XK&5ۥ:z__C-ߜ]٩tDӕ9w ]ڨIyP{2$M?^P_3ol7@(ӧ}9@g$HȈ#5{Z$_por[708 M72`n*j"b^nXYѝ~s0xjA.ؼis2(ffcmLUi&xD/o9ry7`s ȲRo @p8cpeaC0Dx`ҋꂨ!!$AxYE`Yvb[4J??}I dC Z 7 jP2:c~h)X]lt,bCf @OH26ꎍJ7JNL#".vxo$q, @]6m6-I2xlD TP+L_#JV^M .,Lk79 [- ̆PMЃƑA FZ<9d豝deG7DDuk0P_X ,/uqHĞl/t]NhD_=hcjÝ— E"Fǟ0g !"+ñ׭a< ?{ -jˆFT퐢 |@\ݓ 1"Y KB$+HK^ {Hsѿs?-=6K Wio߫4ÍnL2rMYE9Aţ |kt^`)``(:5H]6 |i AƘd08a:lX2ÀM$›k$6]0WRИ%qy'MAmeACc<ĸ`PةtJ)Xom ifnAp;w6 ΥoT)|iZ*y +Z R(RFI=UU$A?N僨O4zbv(_*!EVٔ$DHбY no< $qU/~t2˫^|i2=5& i0@f = #>Ր''UQ~13 p\0fa! 4e@1mSC߮74 D2Â>(jw(.X|'Xzy~_pJ })2sމ+Ǡ9KY V_3!X@p0Q`)_%(oOΧ;\4x`awf8X 0tJ ͥ8Y@o|:h[gamԪ.+F`& 8\q)*?v ‚0o4~?YOPo ц€` 3WЁ> E߭$8AE3`Sfw;S”{?k+MQX6DN 6l0)f(i5Ao ;jp(Cv) }s6r3  w;:laR͚)JP63D*vIHQ#(%MӘ!!esTBc˜/b(PfA6#L@xBDw"^0"T$ꮯ & &.Fݮ5I!o⫨znauӞrM8PdȖd€jGf&G͍kYSz?YXK@p; CDTLw0f| `;"+>ConlѬ?2y>q-X=P+Hf4" 2.p 56v{a03hHpIL<]25ہcI&ّB0eea:!ʍ%>2M 5J  b^@.2ԉ([Y4)AٸF# E]ќ%# 诿phn #c< @ЄGCuS ) mnw.T)Vݨi%4}z" pGC. w&ۇppu ॴ&$!"x aS!K}̯ň}%HX8hU2D1L LCZSD w s>W@ ?@&A2jC. Xй@e48k0Ѣx%RP}Kך"ad[|a1J>hoוlٳ6]) RJ24Sce4Sae4SeQx.iNHF6gj۷ŮNMm66F3!m)R( SlmU^9P`8 \"Q()!pdPQBQE*E?TAN Უ!>^Mh%n0C% v%~di6#OoF3(dd hF< U5TߴZT7Oˤ9pUlL^M,C\, u \ # uM`yѦ dɡtGgFts`x6a[FX覎x1c[R88CZ&M-V&/NƱ446DDQ4qbTg٠]2DKF:e7a%K;#"߱t]4$L(7}F(edot,L1u/3'v^Z4L5 l`?32W54t! ̄^mK.PQ "}8]F*QW(-"墄C(8j.kO0k8HC3Qu3x/ aCĕ& V]ˬ|(ywAh$5N ,: 0DƁ[i?a<~UrmvH9ڳ,p֍"(v'Q=^2H@tNYEB֝N[WD kb{i5(G o-Sd1& /L""'=c@yC! Ou[8%=}Wd4~t1Ajeq頎#0䀝>4#r'#)t[vSx*+X]!p@vGgh(3bЁd_ ]@Ax Bx^lq3$F{N,@cLVQ8-zT<@ qĚ ImrJk_\e!rwL{9INx$8SBAa šኮ-@bh34¨]+0گCnGacAi !ʈ{iG f"bԐ4&g0Q!%C4$@Q;d{t3 ,Bv))9LO 00n'<,F]jId/P@S-)PDPT41D)#RWtQ,P#3@>o ff}y>DE9@9Ot"փM~[ '` [2%tܬrt,tڄSvng`&@F8vd5~`Ⱥ@:vQ d>X\:@7E``;N)@ L~)ā;< eBF(Hu]bBlxfHj0hI eJYa+dXC ٚmW)I$K(ۘlAt n 㷼EZ) >% BaX.@2Nd!ǢhȌa"Eab}Y̿̓KT_㕭I$,,CFV %6" $sb @Kt8(RbTYuO6Àq7G j&c54R0@BcE+nѠxNQD@}|*6f0tXD6lff CYa X>D C=i5$,B03ϸCe!RHɠ9AQxoFip4 H w`+lBWzs#)B zA|:'.bY5df`P}CNT5ٽKVp ;1w:!$@$|t#puJ0CrΊT8KM <iw+@' DԂD*XCCnN7x5Oo3g ^(RQTUlr: .sX# 6;XZVJm0{# 9BMJyt\"DsKY=+xݼݦRuL]U8`vD4hIu[_V;!.s@SmF"#:d%H`#zJjhd p!u8VB N,l֡tpv,ijDډV\0 L<~fjAnBX3bl"%$)JI3ʀ4XEUQʚA9)q0phΦ8!T `FJ`@tk^g}yLf>~Gus܀3ZO.Z cU}MzTxi*)߹'KxG(5 Fj(Op ˺##w(Ak&ʁZY"j1X:SfptϩD-A\~69qF9`.d&`)FH ;c~j)P GCP=@LF/S=;)QC۴׷n(Dҗ#SXQh-AsC l9H.K[C1?]WCQљ=!A 'rm}"&H>`l CdkP#ICd d"c,{+Č|C_lǛF!˹ c#n7xK2B(T,ZQiH38`u(#GxT1m끣)ӎv%reEHv96AksMgea_CCq(rh~@-U b˜[-2"P14{kg 9wog|w7_?gʏ8 =/GCUT.N' R^4D$HvIxU?^^:hGM^@Dc{,!JQe$ tu7 8g㤠 ob,&`TAAdI3Fu?MlۏQl@v'@~]`@B̀GCv&LE|ٕi{J5Da'KQ^wӦD{1D!)2?,I#dݩw}s+8pܯ: "n* z`28LL\P_wQXtɍd.d0br&HL B!*Klvq6;Bv8 u`eᷲ1 4zXr@ߝ h>8=0V ]" 81 (J' ۆ! C4 0rv`,jݣ7H AH9|G^!_>&N߽1:HD5f'xHC|Xn]5r}bNP5UT4#44><_e,ˇq}ΰNN#&v[fY3qw & 'b`diz h Rh͉ drkCt.SC…4M512őGOf& .BV?\Pc v`351T5A 0 RX08I )-P2)Ń|?GBGٲ#MG?h2m#&T%\''ECN`OΛYV6,d[g5ʄD!!' egLqI%3jYn@QD?aFl9D#ƻlP h7Gf8a,D!2I00族XIB=AҶ‡MzCK$U$@JA 5$U*C0e8| |I /WR{L燼|ipDDBD!.!xUvB)u)Rh`#/g0qzۊb&TFa"C;*9z#]TNHe9}'0wԇd S҆ y,< ,"N6!n=9]#xe¾XX|V4`[Sx?TUXC-& K `1d#0$f1sQ:tL.q@uh.&$ s4KR$Q%nCvvV,Gi)F^#负5BҮʹBTCh#r9 )˘x0;MkYx]Hƃꬺ!ME>bx0@Ctêm^i! М9JyCTs|v *1 /:nt_7AdpO󻷷wq6f&g aiz:_p? u}Rc8_9QqM L=)~Iä OWd`94k*ô't0 IALQeL+x`ppDDDDDDDDDDDD{aDA14aE.KA9PV ,vDzs^G#J\ XD2B,${PrL\$efB ALՉ"ACId.(ogs?h(t ęޖ&eS 6.(CES&mH`Olz-sKa HZ)Ct)_:4 JI$w{0GF ݁'*r\:ӣb/? fhν}KdHR@4EAu; ؘ3 # h$P -kYVLNe\TUBJ%0}t{>T" f9mۗF0fIL7,yF08w'`8 Z I C)p C4TcXgv@^؄"Bj:?>c.o<<p@AT(4 D4L;pA63J1mar5Rԯ<|O³֑}sqzۇ-.|iQG_$bH;!CsCӃbZPcg '\%扱(ӟ<冧n5؆f$;l:ٜjD4z.7Ʋ>mUibDnV"5b,FzU[q؄FPQA\p,]jﭞ7o&xԕ1%'5l f6! a_ E8J SO_ /S:RR= K= WH&@ 4q'LcLĖ:G1Sk#YL ŌJf+`n|\4DŽ FPq$0(fbGf ƃZЃl-=zf %ѰC2 ܇BZQgZfE.d ɤԣ讫 = C0GPQE AL 6:@0tGtQ Mm)z7px^Bho $4 iɢZ.AخV@.D-άpک LBҀ\₯0sj7-5?l溡? 8tH`@IEUӋDCR%Rk2Z!XP>Oğ_?mX@ճp<\cKt*;ˤU2׌{m}}ds&5jW-X fÆGTQiSAQu:BYC\0Ph2Aト 28d;t6L -.UzM"̛5@f@` 2cCQ~L8n>AX5TWjvc+ӽg=vA0ͳt:oQ[ H,xE/Y!^G'~MmoYy=*$P#[o"`킈fhtG0梇o?W*{)-3ivnr:kk{Ud,D8 ÍiC!MQRP |ƌCk rX13yuָۨ͒AQY5ZEFÝbnB->x>S'/,sh0#|vh( xk' ZwQU.۠҅y8zr1rF2xZlIM?|MaW!#R5gI"BS$oGۣ۬;2<1""w(R 0 ִ$GU 72+8g1IqĚŘE<-|Tnhr=7&D}\ ʡ$){ T!;VVPv$偤bSam&1Xa$@EH@AB@N%_`Pk%S֚$rkQ6 bې* NtUCE (ϋZ4ݱVEJ}a9 ڐOH'B)yȰbaP@rAgf~8# ĭ]4̩*E(aMiO"HBh h!ޓ~ ºʼNq\\I ';|UpΣNg뵥Z 'Q!B{|9B5 辯FX4[bm!v 0.I߂?I$RUaϷQ:Mtq$'ǡѤ2(iJlw&b%}ރ!mIc}UplMN"h(k{JCA7'& M ``eP8 (6!iB&=@tĞ>Gټ2DRd%/7h[C=Ū힓wx?3" nD,@~ςgcq E{Kt'=}rC3S эwlY|蘎Ä́X qUGg]a?E4i{>ާh+!Xs $ҢN]oX] ‡^w8ŵ@`lE0I[BH3 ljD;tlj 2A;[ӵ30,ܣ [Uim4 AUB|z&lᚫApӑz4G4wy`y5gGi4io{t65 g%G(˶w0p{l̹.h;=-@ۺ^֪r{e 3 Xwdٗkh :"` (-"ZG""יZj5G㠯$0lڏ.hm rDڑ=(Y>͆!hr_9"TCcTۀɘ`#X1v(@, $@pr 0~᧶(Պ#Jţ#"$ywUQEPӗ!==Ҕ/jr@  R6^uQ m dN6&`R:h:P(@SpMGVV,j8YaZH70\֠|6)6d8w!b_[`vT~= 4w18EeC0e(ȓi4B H=зq'@|pMQ Eo,1n'P#A !i+Qs,Ҹ'D"# i5҅96G:e;1|#BhgDaë@vKshC׼zJ! ;M!'Ɓå90NW]MoSǪwh6 4 {CZ/39(V~eTE}NSZ (z"5XWbC}}=f}6ڼthH. SE'Tݬ@Gğ4Tk V BeBA)s9K6RugoBOYC,ReȔ,Al>|f%3 >Dgw(A'%Cc+GT}:ԇ3E"Hu|}Ƿo>:|yr]C]-I,0~T?"_G+ -xH_1",Ȁv? ,m;h{kbg!c}.3iр|ʬLbI!`\OFh@v6 e2@`6^cn0 ÉJNȸVcvdw)ȳ8tgHwR#CJ”!`@JB Tpgo$HCހz !U@lBH$a·pK43 3r̬6*AÎF.ATɉ/LìQG`ɘluŬ6: >2;jŪ͎VTifImf;݀v: Db܉L$.1ffQ"Jvm/9 ,ERuG%:жpP@ =G牂(vDL))Ѡ؆)Ϛ%{LNwv`8}ͭ~L~rdK -ϕGcO0x>24 lH#lH'ҩ@do3J8ƭEl&][X3.iA2WD @hߙbpOmn$_x?Oq_q[QEQ@~ 8|o09?NV&g-`_ Q!Ⱦ֎ιF?j2zIKJ]iq7fIRWIz! >vۇ ]mGPC̿?ƘD2t=ZjAY8MǪ8&Z4xll]krqonٓeCZAH}uX),,嗑Q(`$I+>]նRq?ȿ7iiR"_$$c!YcHQ%E"Şw?w㑂0ВV#M8"rCZ}]2ZQ`s~Hm;q({$0&Pjv-<;>-OKOF܃.\yvgG8&ճYǤzP&?Ctc~S7}f݂tq~=\WGV_gg̣(?ã*"UFZ|J01ʃ™yr4 4gI&NQ?t!C?s!8@FyA r'A;>#Ⱥ@{x]pV2ySٟoU;5q!b7ʁg:P:ȻCpJ\ BH8b(xM>1ώ+#Ԋ |Km80<" ѽ˽]$~'Yl~ ?6kAggw~vLgRN":a Ƣب~๩?FKns- b#fxh^=9TM**lGr/NS3_?C^I)#xt,sXѿܜ7El+ө\ivԚG ,fc߆Sh߄I%?qx:3ijQ)̼dY ٵ,g%?ߺ̃omr4]6LWx> ,VD#O0E\l]%.+L$s3YOMcw ɾZR!(iG'Y`P$ V]@M5ҝ.@ބ5a!. $R!sD(A";*J"? a O].'TWfTd&̈́>g_?OR;kWMaOT`yS(((((((((0` 0`ٳmZIf4W?N cztGGMB g_^vfLzƨV~2 x mL.ӗ8o6) }ce33ch1dUk 3Bi+jPkwoK 45<7?8H?OWCe|:>; >>>I s4m/C]LmsB=2|tpaD@y jó?|>eqΥmɱP?@[=v-9 x#g(l݁E86}^>X4{gM!Zg K(PNQqZ#E%" 4TK ŧ^ωQ&7B@iY\,}iZ^0}}Z1t~) \ݜ;50_ N=_ۍ *>(*(_ -"  5T]-;YU=;;cQ(7f&)jS~zI"3Ď}Ti"Gݦ«%o0|mCA/#v&7]48}{Dhj֊k jmJḦ֐;}.?Lg1't=if0 i36q(<؞o;Ǘr2|pjR8|qZ?U#Z[f\q]:eaeWMw@|f1΁KV .<={^Us϶QeW2|3n;|/?wϑxw'pٙU FyGcm1iW `\͝ÑMS}_Sѩj+V! F|Gq O_͹MK6 8>p|<BbFa4<7}]_iy Pwbud=O~UzGA!AF79QN~|RQfz8&b!0&)1?mgBhs=FXv'C ,\J  =an<Z2, }@ 8:NDtqyF1 H  jH8DSzW^ - T.Y&2.cF:v\:ՁҫV(NְcZ530ə~4$Oع=bh:CTUETowͽy4hx z'oUTUUQUUUT9Nz]a!ZP@=#W{'!k<øNr%H[rV۟QFN{N6dF>PA*%3 ;v#w[Ndfxo5 $ ܲ; X|fF0LRmxoݙX,n\`eS8\feY6y磐L¦ӧ[ܜWy5,綶A5Ah"4d;& ; itkxcCsJ,i2lɓl]ku^);::1% 8=1 O$p v7sT!] FPN\PETT\6!ߘ{ì0 4R]">.^>5%}45 !@T.t 3$b09Nbqd9F x9P f[;+%=gW;T*q5wӷUXeUUU$B3$K1Q!ȨqG1 . :3_ 8su L?|DqPE@G:&P.eZ`BUl`CjeD#me+48ȫR8؂bNwd:MZ2 xW@ 3!PS=Xlȡ IZ \ڀQUmNUHi퟿a#8#UX1ֵ; Hƚ¬6$qTɅrF-8G:Q%.`.)zDA 5 4ee`Sph _qiTgqx$!mNCFDx'='vaDD|SnM<F J$DލpR%ԑHIvpJ/ϟ K3͢.u,Ыf:`t<H@Іs3f12bAU=jvL- o`8q)jm^qS8ġa01qzg1{> <#-7ʕu' #-/@:8|Iٵ6  A>7g`2+ ! x8҂u;y 4~ 5!J(,&:^?B%q`&`&$;qQ5UMFF0I'!]U;f_ꯡy*'2$?/Cp'$8u[PJ`]sxy!uqPU  ́&hX p?-P{ Ͷaأ[Ѓ0v>㗋HL)}!(U%\ozo;'hn WJ0=%S<c;k^;?u|EQn^hIHU<ቅ*Յ.3A(ׅ8I9\Z_Xȱ*3D@Gwwljkr:F,8wHMQ1#T$e@.7}|r#_ Qpa쨥N{D" gu0Դz 94i|O3TTPQ=ܼ)Yn7aEܦCccA}2-%kZ<><|߿^y<]m_p &$ǿDFe L`\j}59xPP0rI `ܣ }Qg_Y~ӯHET)xnsr7ALu߉B7Q {, ^Jl:AIIBAwghϨٽ 4KQrl{A썜GAЁ'@ yatnҜһfbһ,_ba#lv39GKI}W!FcuI!$$fa^y)S-:͋a?"g:3y<|_92?\Pg4O|8>z&C2a2B2"q=-?NޤR7nzVd2gOٮNyeϸaj}0vE071Me-xb/Ld:SB@"Vˣ~NY(BTil ;D 6ů ]:vݮ`tu3QUhkPuhBShB;BA<0twf PJX;9I'y;LPBڮutYt/aɠPPϛN03fHB Ddc!pi39mFVx 4t1  Cx=<8 y=ҪJ5)D:&.\"hψw&{"3k %z: 摧plj5D =XL-U MU==0P@JH1P[4O=8 gPi EUZHp|Xi)jn4M~bNkBt1 a,њ\f#bUl!58tbDl*8cyUVz7 EWT$#H?!˰:y9 B8@"80{C7VaE;A޾ 1޹1)J% Ry>^|avB!!8vN8HNruzkTn7 cݭ5'@8\8>un4~.:m0e%2Ǝ331Q^=;AֺtaƵCD&!xG$<._PuUWY'ǛwDnv-dLnca"Tn A΃_ͳ\cFA{qė`@ ='Gl^>.hX=no)uX-ȬH_|kt5_eXUI(- lc )>T!N գӸ H16.8Ŕ3ɎHA#CM!ť`+4lpAKq$G.4B'ƝVB[hrs};D(CG@kC=]Ɔn8s:z5_5]W@$qr B A*`jmW)P؎K\&oLS0HpÝMEVe: ܙ8Tqg<`Bx2>p>~UKBQSOQm:Eխ5!m 9GI;Md jك ĒI%< kpUXyz렙VhNR'UdFE{S̅:o7~9~/d{$rXhp vp4I7{KvA87- |-,:㷲 W@Po P8rpɏlmG2oxhiu)`eCEfX-uX1"ZYƌv4!Dhb `+JnQLt yHa@Z1HL܃Xr6l$D k1HZYUUFkEfQEPS? cy؆0tj83G1 j3(H/qi!$e)pOBq%m hDfi6OX1REB QE%l:ǧ0*(zuyŒT'!%ɁMF0=ZD`hTX(ǻ3m\MYB4qL!5  ?wB5,|@QUT|k?1ꪜ 8d3l 6: ?(t\5'Ix?d74k(䠐ntpp~VoY|M4~/Ӛ/dJD؛Npz̬hDRhVd"\G'u|i5rN|yVa?'vsX*$o 7̊z.=z`|4ݸFe3˪-_Znl;C]V^ߏk m~3%} w}'R@T; $UUdבnQhi@4{%Yx:t[Xc^q,"g~9 L}7nKY& ZB%5m /!1od#DY55cVȡ1W ژHj\UUY:eZ:$d*^bW &%P#Ҟ?-.Ւ( Ì_vCy5 ^*g@JSP:K ^'QM=rԻl@jsw_H>$* $(13w!BU 4jƑ}L@}kÑ-|砶_ KgNa;-ktPDm0G5UHk5&aC5g^ &'na?2P2; WȢ勢T"@@8H";is$Sy#w'9z:UYĕ= ( S DR@GswZraJƱêudǘŘ ow{b=7B10C`AȚ.VGQU'LO݌a뿴<b!haK0@0VHKFD} g\7S@zz¢ ;"+ l z߈too-7mSznҁX&9iV!̊`e؞` omIM!RBU BSt+Rv i(`hsųZխg8:qW3MpbUaZ -X0&puqNS\} !K@> ؟'LV,Sڂ3F:DQ(JhHM }IfF)8WNiͮ^sSx8f}`H~$:QIlV;/ yPw}Q1o |A4i0]qHh4l)X55RZ8DD|#OZ|vWE>CqɐHT5Da5L-% Rk5bI$!Eg6@P4DЍ'u A Y2* Y /`чɅT& /Q a92:kU(HF)vSPS0- Kћ H'LJM*r;XZd%E085q!  ijE B]ѩ3 V\]\}n&k`tz! #Ob?B2(mM`D,Sk }bQDͬ5S02#ի-h:KOPDM̓՚Ǵh;֔̌Z'A$MCt3qXI93Cݬ5Z `_U:1UTĠ<hB9PijfgCf.8\' 0D.$ 1c $gz)u_ 8︎riww)N98IJPU F'mf aOɾ[>) J~ŊZ"H"%?Jk_<4CB@HrB $$ y V(~i}4ސG] Oni\ d$3`dL!8p4`.aZGM ["pRQJ0K]Y`pGnM@Dȫy&DCQyѢ&4* F @Xg*mqƌ gMnNOa I ^+]>i42o<@Aڗ[aQzE@DKj5١*r.B4 H'e )N`+3  tvE(:Z D ۦ ّ%w.K9h)yv `B @\5T> Hk.ߞwHBB|oB#$0`hhu!-l$u /!b{z4 o޿Qm"΃IV,R1|a#C2fT.ʔkP%,IM @(PѰЏ) W@Ly^A*?ٵc| Q0N#8=0t:8Va)A&aQKPWo'ψZ@fT v7l(B'*(S #55 T(dCҜG9ojJ"l) %^ߏ'"ya)ra9a9f08&ҔX>00AvTSB KJKKtSBL,N-7]<[ia$ s@G=,N*ʝM2&#XyHPR@<{R'KT6Co8Os `" } Ok {Jo >bmMn@>}~iT}@QB!BU_+ Q.}Six>}]'a>m;LVD(o)l!B)|ܴ'_h7jR* @}`98B0O@m:mM"* 5P22PjMA$;K˸D:"s12lĈ̋1*8ciCRK26bCz24f,7jG21V`hB!4|jOq8dtv<(#Q)0J1Iqpr0y-`$X.4C`c"GE:PLߤ bvYTAeF;QB({"" >V|B3pl18gA!J!^8$G!D"F*9j0J$2I MNf:0Vyc=caM{G%z|1#[ծHɭٽfYU„ !TaeXQ\FXЊ*YĽ&eE ą\[RE>"(f9OsVWI4 ,`ǩˆǓF niݽq*0(sS'ׄcYm]^w1gyF$0Cd1q7GѸHڂt'mwwOL 5JCt #p`{p@4!HKΧ5ӣ=43۔?9M\?/?8;V 33M#D $&`H3+OGc A$CBȸ'1 J= 䡁Hee r'PP48ZKʩCkb~N7^B`}"jT,;o :~t$?eLZkBH #Pt1 @ME)97ON1+dA `=!pad'M'>>&R6V\@^R?S؏whTDwGHkڛ)mS;?j'킚P vV1$D[#8Wk8\ꁨSF*/ "@^Z4kT? (4ʀ ̰/l A@x* Bf$W 4$9qze& "nUh?<̊pN1‘l~$26A6obd1sy!0Ōh"2@g v$>j]8oϪFj3PX=FnӮ 83՚$ga[TP-ۂAv?Gx *fU(J U$J"Wwxy[oUUUUUUUUUUUXjx 2J AJe71$%eݍc= ͋a]E\[l* ?}vU s*ˀ?MqxoAGwRWFEJ 59H`KkA !1٠!Ngٽg:uD,٭E4Y oԜL48Lf"t=#K&ōZ^*݊?׷ubOT1CW?$ "x H'W;~H I)@" JXԮNDHcfb6 @ZԘ@P`RDZ+$15kbq 4n U>$\Nd T褒"id -};-"FAE5\Xd*S<= #Bb{KvQRxkᙡ$ai"O3p ]ԎBMq1[CdZ#Qq33"G8Đ²aRQFN1 }Ps+p +xtE{-pzh=aIoSG0;Avb0.3M `L`rBy9)k3ZEՉptL zN.q.GNydž9NP<CJIXGNn_;ͅчح|ls#v-D/06._'fh1n<'Q!C?_ִIl"L1/]ς8iR`\iD4SP\ukcG u2aqavXґcfHF؞d:b:#RCsASOkI1n9keC.!uKhcc(T0`>w 1`qwO+.pMICls8v.\Cm]QE#Ae9Jb4KĽ鑦gi ?k jB_clq;rR!mFhv_TbQ(\xlځ.L;qpibjH@"&((SScfW@+48J)HXm (!tmHW0H *$B5eJne!Sqe=X g(kZALsP7s#F=LL)&.5 &Bż/n/=NfE$L2OL=a.*J;c0R?Xf+z 'O AteU0jQ!֨X[5i)$Ap5RGuX[3 xV&k4]PZ TwVYTb֭  KF֯ȉ!p ^"S#  h_2O٭ ['{_B] )aәgg(384keDi?kף<ěB$S8\2436ǝ"N@Ρ0F=|H[bLՁ/HAԐ6{/Dl=G~6g23c(*3:OtZYPͳBw i:o!_2'fF@n/GP%%bP$D08J4+Nܖ{z |ـb9"u\5HvsłĈFۜ1szoICuO:§0i hGbPuNV B(% ]9aFBCX8#I P$@b ($Фk%`~ DIE3b-VhY-6%bjdDbbX^!;=Mm2BtlDd K j)HטY Z޹EI W/SNPjC'Rwa4YiN$ >LAჼa CY=1}~i 1 }Hm,Ih0TݸaO`D>e0]AC= Oe4@R8IzuOzVvlt O(}|У#ѢY߆\EfGpVuGuoՓMaN #уqII?<4?BcZ^Rgi1%h[ ggL?/ff+ffnһAmD#xX7zs|Yb1 eɌ@[&0hJ[ g&b$:@-@n{SHx0(>b5*@- HJOg0ITTK״5>X5~hީrsS|?iJv"у@SdQCEj\N&0Tfm̪)按ujH 57 P)B=r`v@D  v]׌Zr2p%)"4lqR2:B& HjZ3^Kp2ҫĹ +:ԙ j4Ibi|ut5 *.*:'ӞF 2YjS1N.DPAϏZ@M@x@P#%K9n c:^`2+PEÙߪ?"'dmt0;rwe^(;vQR)Lk1i  ~O>`?cs=s_'q,cqh 1 y8pg C{)31&)8#cb脐 pB}:Y4)c.d!j1 $&FxlIa^d>5 $`ws낂`!5ÐPgo1l0 +gI3xkBORHb" Ol`a4$Ėzjӡ%69+F0C'5X{a; 1Ż0-%9f8KKB &$J N2c ЈqSu[RjI`ΒmIcqdwXVPDX5>]ޮMW U=& VB FHcLFXw:A\N/xʽ!FGPpd-6Hńp ^[(ސV)`qCт%l#66]›z\(=s "xi4TUP Fs9̀hvpq؅Cmo##GnwZ*)!1Ib(*>GHу̊nE+v!ĂdA$٧ظDl;^]>! 9IfΖ@E1:9a' NCI 0#dpHza6QֲU&[l)5h$tm'FIMEpFPetƋ,#֎4zSK4)<0ښ u@e)m07j` m؎JM43oocu2,V" 8b+H$umdsI #SFhplfGop̆QadC`NX +44cdWZ"( JZ82B!ie) nTKKgNRc`mkYFh4b$e TF 0$p$^=ٶz8M=]Ylx@k#RL̅>n5,9#K\8آ5cg^yE' ͳ0Mb$ Qu^,6/>Z>0ܠ5XPUh>N>$ XQvhln#mq1i 2U3U zQp;S@ydR,TmĎ!!Ac !B&Urdl֏-a6DAsFt_NsqJT}ͼ@!fg2 Ave lMHu"v0AdXeQݱ>$j,a1LÜ$ XaVK$xMZAD!eB3К;#%l2Y-bvbXdLghVM)}!a#/h ڪuήT8ʬ3PV\,p 0c'h 0V^Ja$@B錸#16@[ċ1Mͬw \ Az '-]P<cQhvqN'#I4pt뵠>*ц~.!^V܏i4$>V6 E06p-0f$$4,ܪ;ANIz"?)IW~v 0x ]N=C 4D'DAWlLFJABh(v ZW sCL$=X{:4'%MW蹺=HjP f @`3_aӣ&/1 vLzKf qӘ>d? [Dtk*=V;J$&a&$JM_E_;F4*d&2F&$Q*A1AaG30+L'StUKjRL*(!"jkxQh,J˓aR73nޞ$AB3l)kC8BH /~1r1 }Ím2(F/SdmQ%jEFj(GI=#Q $*'"1 :=9FX22&oK S=`4^0:N7$/vݔBFSjYplxDR<oI{n@9FUCL"DC 楡 ꮪ˹%SAc8|DΟurF4pu1e'E΢5+ƃ_rĔ}%!98 q٠ѐ_d4GR`,\B%壋@rdr&QYYGIol5) Uz Ol֛#/ڹ0(SOŝ_%.O;^%ҥΎPM?]/*kzRVDh7DA8fm]ߘqw\#x~jw!s$#Hi/p((lymD#8$T(E4& Ƞ! 8B$rbU3 z_HAa6L< !!H -h`j1އ!JšoaNth]y:?Hv=ۢe_Y}mG⒫"Wd>u#"ZQMWh9uMr7]:Rjq\|+ww|t絓`\-i;óe.+_uڭ%'N6UDy]g>R1T#r"D\N|!;o:!CNJSXgd$am:. HOpjPT%B %C?$Iw|&%ħ|^[ 4z2@IF>$s !>”/ }P)8ˑ?-N:ʽCjC h"',7s*_kIo6{E"iP n<3Sb,bS:^:[fS2bf1h~"aϣW܇c]Bsv76Ǽm꜈kEjA}8p ŅlG?d7;ݫ͹SDlQr3˂}isRMǫ~竛%ۋr*%wPU!'í4*G! JaI%PZX,Y'e>XV@s{ w-碑o ER]t0w,iG*Ar"qC2!ϕX/+Te]z Fd8; ɖ / &~fm1%v[:<S)| Oy͊F%1{g0~xe; F[S'%]M%thUE}SseSP&ց,1g)vFZ>5*݆t>x!y19{0rP,iLNa'^ E`mr xgȐ+0/YhD~+P:a5j0E09wQYzmsX`^.|E/x󝝉xO@DI2cЧxn@4)z e* pb-?Sv%CLALQ1Gxr* 2L3٧BD9ϟgn*W)8;A/ڨ4Iǃ Po2unzV|5dNbc/Ԩ|S}khc#phdGb9fT'ds{R41&\j!LaQy9I]-'RPfbvUAr#ᩍzV>sgم,9:9~ Ɵv^Ltw81ֈ!~Z 12F7?K{$Hyl 8y7NabvMݛhbz#66˛HfIPA;`V' Bd1 <`]/a! R4wX$c%]P,&{?YYRixюFDJbQ0Vx$?^Α%UHI $gNFt"cЬq {~~`~g:w!KX SNQ}Ω{H2oQ@ę[ ^`G@R '"V\g-r\!ڜerVƷ_~p7oO-X<9o CFU̽.2=iR fb9t#г&y1sbNs~?w^'8sKϖ!'vp^Ûv6ɀ=3x\9Q 7$3µ 7ƫΚ1űx/b9g\q@̅xR-8ڨ3lAVkP-hUnY3 4q6b"\S` 9^hbzwa荫CB4& ,!pC6GDNVWmї~߱ڜ$h K\=$MQd@ LTqr)S %d;g1F?7Tۜes=^'>1*c3q{x7q6q:2zs[,d&4#yu ΢*mlWFvz^ے.SLaO/Z1cpaf<c82oD=_#hC]ꘊ g 'SC/:̳@l?67ڀͲ'7| "k^) ֑X6.=ӳ7q m٠6Ͳɋ|s âDnˮVf\ F \08g.Ҡ̯v&@d] *Eg%GUAX1N.ɜ\I$P֧xCb3(g[pƦ귘EnX#v,1f( aiب2xadrtMsӻ:|(ʚ]A<-dEg3?SEl0~|߾mDj-F0Pc[|<-o9>tOUYk ]5>cj-Nہmػ8!LBA2G14;IsmALTU$jb'<uGIFa d UwK-UVcAzZywUUC `bf0C4l> DpAPq.GBeJU]CJǢ1Нc6 ]k9`aMq"BH=S|$(b*"ckv.Ύ;Pnf`nAun[ĄxNA6h#@]l{!<v`!fQX_RWku(Bg>S1yB`Nm h]PIŀJf?vTbj72>iJ =G20Iz,H-P;x}oͱ 2`!,ol^j zϺ2(9FG7rK].(cZ[΢#BCF' [+uӆI|\?H06w[No$1;H&rR|؟l yǯ_0jf4)E,.*aۭ>PH8NzNq5}<84 }$[L$vʯZ-G7[qCڼGeO<uaMAu@auѿPl-f]{Vuf+G1 n AhdDLˉ)C+ -2}0L4s rK C( b y0P/(L))WBEpF͗. ^$j 85:,ֈ_cLu^ Q$āB"+44BczCARp^<!VD"-hF!*@H| 4@ 2rpqyIHA6ao i&] !|(-@NƽH}Xjxd}Z(tE= i_낆,1kZ?ܓf?^H7O{F0&Ld!&Ls~}'~a+n+5 UȂ0MO򨞒W7μ;J.ތ\B! COo*C֡ (&aeFJ>>w&xkc$*d 46;ηFC!_oRkQ|~44џ^w13[Q RAT$q.F0ݑ'"Q7;n#xdqi Xl?z30WVƍ #V# X%Rz3s1nHFm)W&B\6AOJMւԅIqB>Lur(Z&Τd5 RK gY}94 Q8a`(nA.)|Ȟ2[Z_r?ij) NО;Ρ8f^1HA3r}Ny$`lb 4@7gAM6E/J{-GQC";Oe>sX?T;+,T";f57Ot" }mtJ$ш AQN@𕦓a]Ba$cCvi`X)QC[z81P^W4\C?!"UD4#$0 EJ)@TrgPi'tk;\Qǜ/ֺ87AoraКD ?砸Ʋ"h#5"bz[}W _M0 K1ƷN9{1u a"72TMK2L8gMBuҩk<9:+\.Nn%|.a(b*::ca9) $ƨhX|\`hmԆЭ0{нM6A8Gx'#!uT>I\ !밌rq ,!1H)@mt>a:6v0/y :A>x3pY&L@)`V"**ȥp&,*(88 &ƈCR~P@CiU!$ 0Ii(D2TN/n! b&hS'd QM;X"$w_@Dz$(fV "BDD66wU]tnvid JߙqK|aifDТ|b4^sYc{~BOsz8vJGqM]̾QeqX,Vh%ģS/H-4" '6Ǭ,n1b XTM9`BJZJa5Y99x 9˶esŝw 7拱NF NQsͪh|:l=0H#R: 0 (TPhbfICGcqqkx-0lt%]1;6ILEwkӭLt<.N3H4(*'DO!Q](6lUB2);Fv J^wQ)ֺ+ݾ뭷M,”Q<7a7c\9Փn;XcWeXz8{[%ޞh{Fqf(> j=VZG[l+;JA5~cu ý!`x;jidAKGvS8 e36V]6!Pvgxp"gߚO: icp*@he9[r( 'q5E#d !$‚"J wؚ# O+{ BflaY/Ss-8pvˀh~5C)28 Dy - ;=Qy 78*H auxKJ*,?2]}X5e zo;Foelhi<|3|EژIa8wƚOTcCIiI35-ʝꙨIk04Jw1w`#ş[(BE!6J vLg5ud`aPz23T,4A3«Te+o7A JWC828ۉ7<5;1Ү (QȶQB Q Lz!`uA %82(4FYF&B1]@V0q䮴i)'\ 6?\tLaE$dsˀ^̾xěA2|9o*k)*b ^ & }Gj#D\N_jrD] jPRz d'xCkAē ӓ2!B%) KdMt1̝(TR}0> wFFC }(kftv= 3]_,Ub3yJak?fsv!25ۍar2`3q& a@A-`[NY'7UtEC3*ig|oEkGN 3 dg~'I'!0GyǜC6 f؈0lmɬVgU:C1; UVU^)ʱa r" O0BeiMiI!$wy \odnj 9LގdyY;u2v }cN/jzϣ}_}46D:S! HBy\,WbB{ k>^\qyAS%?|m!zs&HwХ[ gFyD@wHdXhv^#Rjhjr BCq8 I~q31#0N0I ofX|VK8@e.D}ލ|21C#~@ɹB%e0H0˨8Q@q' N5֐Ccu(X:Bf6f."*U1F8nX7l"7 ?⋢GEuϵU=\J'@%{t n Qiv+٣ќscC:)3PSJp.:rgb(%b'ܳ-GE6>J2bFdT4H0`\׽ RgH/yD< 9FC#9րq5:űFxgP5c0UFbRF>@z!sv6nxƻ/ wdQ咑؝:H;PUn,̇BfB=Bq܉F(+8^/`=P^b0#Ph bXّĕ6uk2PHTz4W՘ t3@A1D֫_5Iw 0o֩pqWZ5-Yh+ `d0 v'2M㯍w|Y7}EBq0Ac;V`c %-~%TJj);Af\\OHSK !w֧#oŽU?6HԛTn^,|evZcM5!r=0#Cfk];#JT`{F01,u? 8`´-pc2#M΄Y+`K@+Փ۠~IĿjqWVgT }=KٯI-!f杞zOVJ,S: Xe#2*KkNC2=J 74F`2m!mGӄMM[ IzLm.Y!Y"͸!Dtcs,`Hsh 2ZwOجp%aFKCVwa F&aE%UW$MqPgJO ;#]xl8nփgdfRL,(ǭU2d2 L \E]Le 'X8|n)F543%8W-]Y"+Jû h:NqG\[%2mGÏ mבqqkmU,YycFHE)(pk.7%' YƮэND'aESfCmdd'g8iuc$1pI#zŰ"~S:!5N.^HW y˘Sdڈ QuM8=)mZ]>5$q'RhRG,xZ;"Īû>(s+">"\qu:0f}}H2 kۗ͟-f4 *8W8Xf|m`ֈq 8AB _ed801iiC"B}h1- -1Fn{Z1iѦCPͳf%#,CC%KR(@!p)Q X)B9=c2a2'18\Ű x  -b5+yGRIC'd8@MU8@pD B NuLrrJDOps`Հf4u9Fh8k`Ea@_ mDACl!m[vۢK-TpB!H<m p/߉SbhSӎ4ԑl~٦4pˮ Ft,Ko Hqu&Zp]'ωMDEUDU1u(D)05e8nCT@NۨWc?$- FQzc) =~nH~6A+T齝g`4i$NzAĘa1!EhHU. GQ IE srnގ~v9r$F  .RPRzAt'av76@(}FFdP/U}`P=V*ZP Go8Ēt镰Sz %) X\D%J )*aJХԴ+P7 I,( YH%m,y}w)`| D۫`8 "_Q>1?}Q5p7_[U)&6[˜]NpD]#KWlYS#'$L,fJ8AYdX> A40) XAX= Lt Kpg04fDEB05/~p*'%AACyn{SU|YP nA&a6 D a( PmAp/FIJke%b2e:7XL'Ȋi/ $g0* -=FuƎ@rhf"l5PiBi"J V54:jcYf,'>"w7XbZo檖a0:6dZ0O`Hpܮ`7?g×7/G}Nxo?Q?O,?ޣB>{_&Qȯi~qQ(YN?6Ws%&$hD )! "b JiBJ@Eh"FB@iPb((T !(B""ZA))hiihZDJ(J@ Jii()$( h)@b i ) #1\HJ!LL$^#K_',]6>e=OMdd|~-u/?}t!1%TDIHQBD,4OpDU/zzl_*!KGN` C -Q&oHωàO? %?VXcDcfeL!QdeeՁN$DDцNZrZ?1*Y{s;(9ɳCPj'3Q VoY.ɢ7NN?=Az`* ")NMKCCA1!=:!4Rs_tyP ѝ| aQ;xл{Ch ˰S;h3 i_S#ovLDDDC-54-TE# ETSBDEMD%,Q#1!LQ)0A$LRIP1L!TD A-%DA ,MQ8`p#fcM-ϭeIP!$$j$63,'E BUl3H+Qdz` /l4LhG]Ve: NОcERA/0$:<$a{XH.9F&QDpDG Kn\ 8 FQP'<0ɬC,fh#yB8<|dMwwaP&a#$dbcffs=̠T@LҏRDWЛC'^ZA 4eBOy 0Tpq-mi#Cj-ЙQhަMW\(,97 hZ^\#lrBճ9Fζcˀy.y5/f(|WxW ivѨ;!SϳQg)FW2")ldnRkPD98Ip(),x(8jAFe#0/\)7h 4j)ܬ/5>(nIP\Es1U.@`|emi (@%TP6 "lm̵7d1UJA5#m ,?|Vca\0`d6''F9Z`In5!)71=1DU<Ѻ,{fku/L݅yCnC&,M5ɣҕ)3/3yeԦ{21-2jX\Wtc:55YPͣtGF H[f3! i/S8m29 9[",۩r^sX<5YOHE6m̽NkZ^޳EeNΒcΕ]?W^IK1aFYc%2 dhnC*`H$Dze2vFT M#Bh!d8 Ė1JMFb7I2]2Eip (I` $bLQhFJDMB)XbeD]H+B(ri '  P!T:&C@?F) c BB`D)D#W81"2"3 ohb0$ @)9!*tHdLl< o?0A2E!@uJZR (ܯلv" Q܇gX= A~ A>}2-!>;ӏ 0B$t z 5=COTOU ftmQ 1N$I PWQZ7j7&ZƇ y#%r^H(#Gr?8rʹbFǥ RPhSd%(%x#мZ-`q4[Ha4[pbd7Zb!xHW6H ȖqY=HUL#@V(k!p$C27fr%%͈0J@ݕWPd,|T;qܻїg#00LL)M@4`Bx4&eu8#dμ 3x&Fp0[R FoOm =Qirz͋*G~~P 4EAA>*>rx51QBޢO6頠:lhQS/0+598W* CR`4pGž72LRԄQ<WJV2Qmr<_$T4)L5Gkl6D"S$d!+ u0a*x tZZ )0y'M(bmZ<[ L@0(O)@=rwAvt2'tCb|'z$ɃWz[\+#*/ ibNc=#o8%8 /-LlW *F) jϗr1 }"348pj ̞ۉwY\0:\<4Q 0A/킒jgeͼ%) }2i/hlz!f0gs6 IHR"B 5B (fCaH:3d|Zfcؑ7lb@P2{簀FJ nA`B o%SdD$J]$' Èt.[$qfBOgЎ[ ) kԤ+ H}#:jD`Wd]o'7{z}zDʌ杏d A7嗺IIk%f2 p3 r {HPy@ARR)%}ddw^d[<>o.܏92=?AGn DLU EI,LA+UAa$HTIQCBRU DCA-4PRE-43SERB-0$$2D !3QSTSC2 H QЕ@PNbMUEU4IQ2PRE߈䐚0$/ H"j d&HdLKK%TQ-I,2$P#@-DH4#Q!H4DDR$II@Rx ᘊR(ufYM tHP NX/eFLaU΢6I!߆ h@ Ѩ+/O!zE4!pooH %9o:`^uWbTJDHR*}bBAD}T6nd$W DEZD\5, T1fEob0#BeßwM.D F!_@Y⁒B%4iCAW}x&r m16H,` 5:CxQM Y ʃr- ! D:Y5 )P2L-<̱#!a BjC0SGLV vCh<ڌ Tt㊟oTH2Fa&+#! f6, Ѡ-`NwDi6JjsR`H4Jv dq2OFF2&A4I!բ{x:A@  =xӲC xQӲZI00XדG7y9V)(5V/,1hB s4݈QX1Q>:jqwHQi 0&! y:jS$-QF-`+.WMu UyWƣF̌0J0!%WLtxۛ6g{=ꂍf\5cL7Ep3! ?NUB~_9n]H`W* d(DP~tp22$h(*$0"`bODB4R?1'_KL=fzH8+l}0 _ๅ놐n ttƟU^c :5+:,K[Bn c &1rZ ѕ3f{!3nka MGfKq50Džh u846K AA|2݄vLF4d F[:Uk=N&3;t!$Et1R]y6aA4x ^~A!FBגE[Cȏ\N1Te:@cf~y\&Hn9 l\gc=tZN= 5lel*&4%jiN&,5Y~Yj#~սXDo"VO-  8~ v%B]ʀ0N7$ 9b16&lNƆјL;052cVHR!H(1 fF1 TDy2#HzU6VeTA.SdUp,̞$tDI-q0{k ,di#`T kD F(,hkn0P9kұi`CT)|gխqYFN=*GX 4(c2K.H@] FQ&YHnb4WەV>jŽ N}8q`C/ߙ%J7l!4ܲ4rJKlc A6BH}t3$e#P֜qQt\mNYC2ȣ\8$7{t:ю^Of45Np/b(Dٓ 8EZ[+9+*`U#= rxzCٍT !K)"7ugom䄑JӘﺮ Ydw.E:yt TJvA4@^brX$] ,H&vpp#vt=/'KrgPY'#,sA @-=ݒH/"$~  A香`6&}68z^C{@@pD0V;hZ xA5"~]?w&23 qS!r0M'/%m#ϑ҃hM)V%nud ,ED,x% J<?N@m&.[Z)5~j0r#X9hsfnrx:J0o1EzX-9bco" XRP`JVAf;758D.TB0܉l`z 0 !$`PRQ#x` H>JB 0 xlKBRȜKy|_;Mk|ZCp沨B"X($?ªh2r lh";6!JG32[ GUUUUUUUUUUUY0^Ha>1w̮d f֟ w$`SLs荶üC a1hJ & c HB^Y44{py2`(Ne ʇ (fģn;>Z좛K& E!> 8BsrQSDJGZ݉/c^C"ŭI j}v#H* f2 Ȱ!",]:cdnB,CFfci:Ցd" Dh Vi0XUD\aC̺c$ 3,0p2J4F5,If8Ye*0E!B$",$ ʠa #8k0# P#Lc9cʔ2@y2rZ#<;q͞G25HQkk) T]ԼyBSgHRq-*@֥2Mnx^gwNDj!ܧ[b$:lY#kMK$A{rdClA 8:.JI9`5)~Q ^ҩC݇.7ٴbGr\0S<ns mӈ&ϳgMhС/]AgN9ffEŃ}rpwݒUZJ[l.6 ԩzץ$Mg[W^AbAC~:wobN`ntCH3/iQliފ#'"B0xz%N"'$8 fDO_k[Ҟg,=H뿶=z>8+S|!)He&eX0p>llYJxv$hcˉ6 )/Qk@S5TG =a;2"Bh&( Ii$ ëqhVj(ɾma`xjcZ"YM^ÆcKRD#!n2j:[aD C!$07 &jxB/ʥu)FpI|M-DM},B@Ԩ]0Jl>O!$DU4IX`|4vcmC0CL8>\oB150 @q& 2iC'yrbQ1~O}.ȭacIm "ywQ* ?N$ 6hՖZ( ] [s2(f~C(@yQ5n=C5089`GyC:5]Fb$M:8 ;dk~Eu5s_c?+`Je8B;1I#gv`̝Pc;ЈsqiBӣq J>iv(qˁw! )!RvOppҍmPLC=qSc`\$(Oׁ8GQQC3*DI ؈mPd@I@VB2FKJ@9wd$ 2*ȠZ*FYQHdXXF84LDczg5BX& q᢫ #H~+nKT&]pbJcaCBaE[hbq0ة}&N5 u$ad*2aLQ+xAD 0I3 n CAV$S5`7+bPƥ s T?{y#i"Ѡ"3##00$ RfT0QCC̃ mv|g:`v"A(B$!|>ч]6y3QEQK\e4&!H_N!7Ru⛏ӷm2{tE !Māgfޟ {{(P;1j\!i:6&(u*Q)ZOAz>ضtB A\IS FP'r 햧"qi&0ID#kzޘf6so's{{q|&6P(ZǰډID=|/v44S`4@[YB#6v|u >}&Z n٤,Wt8 +qgsd;P#YRhjFdPB1Bc+UȬf Tt y8?v =pòT((H)(hX`fDJB VRh"(hB(*x|f\8&DN $H0`~BDy@DRDBTJ4DMtDbD 7cEsq'^!_ G89Ͼo1G{e&X gBȹ8AYS6vDc%X XO:NkBh :;U#ޣBr_@r22 ͑ۿ()j Od1*y7œX櫾$e"!⟑=zW!Ka|I;(F3/rκHd]ٮm+1pu{)88)j$}&pQ*Vl*32i£K1tԣ%(( 5QWZ.m#fLiRp-. R1n"'?rppvetl1դ0z7a pC0Rÿ&ft 0GFwf 훭z e'mh_h\v+$g)68wNUԃ$Ld"P\"Y!h偶as`3j LۂX6}Ћc(Mh0eYHkuf#NQ[cXI/!1S,6b1aNf2taTĈqrؑq>Qyaj(ekUHcD@,b3 @ Ǜy`ǍRk)P+sp?uzBcstӦ;8*A'BUkfDMA/\},hOjƓhBrKŜ S)uzSLY$`G9_K:ꊪ*$$PBHI I !$$!!BHL3M~6 >;] {423¸ DtD862 5:* =ʝ[l4jB ^Tg*W!H܀An@,DcR2%"$0:$ W;9 !*r,W63v TY(A=8D׸i| ,Swzp3jNn6V3u=kn.T :`2ϮCBb;ơ CBjzuCCM:)IH >D^74("Q6'ؠ LEMpqbx؍.Geȉ)MdI,sMɌCH4?g <"Z#EôQ@YOh7@0,ae9 C} rsxx 㢊7ymG>c >M8yAwO|PP1'nuu StdWn)T HA$$IOz{]E-S`yAG**"$ "! à4A{\udEe"yM:0㨚&D"Jm @*"X CXFbd0!daa-T6I Ya*XN !̀~=(R2L4B#̤z=j HMsCF{Kx88X·`'cq|9 Z2L|ڪG%!׃ `&e7*Hr:C,kZiJ;f Jx˜:aHDC64JIChAy0 LZu5P$i{C1#l71A1,LN"@k!(M O /x}"Gv(?7OWOsT [Qҟ@mli(ff 09Gi{.Zn| oZyURn^X!4-]Z]'@"~aEHWc] "{ G@0ECt4U V=!߷`z*:E9WB&J?'oM|[\(.j!)b~e߂7$"b|_\XU^ 38!=E֎y!l3O2"1$6NDLDְ㥜a%hoŲ :ް&`V8`/k#o$ \Ր}ϦI7jj.~X>82'S;4 oq8vB7c,5^6- E% 4H FSD>¼5op^B$[H%ea\hl`oLckFШv`B PC``_i. !n*wڇՁHңJC QuBҽv̨}$H@ɘP+-8L]NGx{a_5: EI1DLP\شP0T>!bb eXQCB,UKȤ@AL#K ؘ14KQ.HYС[$x\ f%:E0wKXc,#́JKE5@8۫BnXd1RV!*hh`rLs޲2') )vAfTjXY60țF(ڕ[LpQGk-\vB]&mHp%F0MC5(PM Bj\>$dm%FnCh ǐU01֘@&E$,HR4WL 6VDm62<3z!!!S)]|3JDʴj['?O;¶ d%g uِvc V(H R uu*FR{4ň݃ej숣&iNcg1{+rC4rZ7hcuxkw[$I*YjC5ʆu6FBLTlxBXCQ*1Kar3}vJ`}vq$!`¬v̭=63Uj腳 P8sGѶ,FP ^ -Ytc2IDaiGg!5Hzi@ bt*# 5BsRi|E 퍶L6X`(1puzzblj$"ะJ$Z'kJ&d%st7f#G cC1 lM-mȒ0u\,h6 0y"d-| k[+gvN4p1.INFДՖ&`jκ7!KU*Dg1äXT(F ,tL-t 4Ec `d:,dz4xe( B63CфZb{q#.w 5EincxVّ+SOV$<`V k), 2ADD ?P 8xʜ##.(m.ZcEb#$̭%c"hRomm0eN ,iN`"mn[.,ƐniKIc`6Gox㛕v! 6KLNGRH:Iǡ#6 s0|y9m 7͖^ `tn뱬f&0 ?͚eUnȍa0*3Z H0&hH޻NO?Dq2t8I\qu! #ZfnipXuV*.Ph4zKB0d(s7\\YV!&)ceZl*Ͱq,Iaij3Z 6dzO1EH,6: F0i4Fq@2)cFF$iR> `0( A4+vDc~AkDU l71Ʊ!L$)H )b2/yhgovxE=]ȩ!01iHcȈLƈ, 2A@Q1#5%&cM%D2Dvs 7Id4">05$o&fI$FwX vez3%3:1xZq ; 2,2@]"/?FE;ȃsa2oB\b 5ŽCA)$Z0zT_f(OoP|ܮLJtP0&Ha.,7Qu3`uuki;SdH\n@ ;A/~;|6H &!hkACVqbѥ3N\QcdN~Mwa,ʃxbɇgi"@xATHnB ]󽝾P!ϘKb B  H-K)T})+@×ne;JdP" H2J`ZLT" @(!rS%Q0%LX~42#ܻ r%)2pPL+F84C@ oA ?=*Z~6 3ؼqFҙNY1u5!2}) x61m@4p"$^0<2"1pU:PRL7q`M$АDU$` tr0<$:OV= ´J ZJQFJ$7PwzX*SX4%G!u;H=Q=EvJ'G@}R*b(JQ"$0!㟜<Rd ; bd+D@BDh!?DNL!O@ y2N6C喘R?5ƿYZ>{0>#q.sqhpsKˣB hA iF_Yiӛ͑M5~c7Sas;ҽRI@x} \""EiˢPt@A^"f Y DJ1 4!CK@>^  1| qϵ򼸬zc1I7ĥSd@:C3Ŗ'vAd@@}f~9@>LnTm$jVV$ekvi2܆BRLК48nL1-EalS"#)A L˯ iBLDM"jU0tbDX@x$q2"; դ^h"v[fH.byӦG>Ύ`*eP&Dx !)!*P)FV%VZZe  1e;- s=k-zj96#'Š**Vl;ui2Cr!db((hrc i jPD6F!C0k2CST4eT$IYņd`E-BI# (+PV1q5? rW$2 276 #SC0L&YSec Z6*D%SNԁ 8qd͓AoZяI5D")4!5S%:d 9x_l<\ d[hB+7f nyI J;r)ɥ`V X@4Z{EFC4ZB7;ҡҬ@_^RVz⇅x`hjSykʝ5̗˧eQ1 a|S" 2"CddpU!B3"6HAvm2R +R PuLdI:䆅_GUs0 1m6=E֢w "B%\`6_f:;At.`nSq`сLK$) X@|i ,^7#B'T#a`Đ'Q_!9hEhK\0q@FfX9P~LjMM< S/' FA&(0r,DaZ&3ϥU60fKY,Cb@л".Qv/`sj:L:qv='58rO$h$#@!( WkujB`su70黥y I94q- z˫pBR&^L`K#ж{R8=%>0t W"CYo9H\ 1m":j+U 3#yIyη=͜q=~T, $r ;4dCzaٍ$.rP1 ;jxH(J&!Ab i,s fԄ9CLd;Ns"DB FlLז݂q'G_ >0px}N]%! KՂ(y׍0$xJZCK;ǹכ9_)[$kyvW=ORc<3Fvfݶ&q"]awnۏDvPv5S#눑mARGfĶj78ǥ|&4ÞXq,v\ɔpn]JvoٞBgо>B<ţ A+gRx4{h;56UsQhx #rƝ^WT'E*8b=*HA@R\f`H  6/G&>pY0"*&T=:m٘AFyzN! +DiNNS ot ާUp8T' lhA|.25)GfI6\1z6KZ9+4{ |'XL{ȡ"A.(f$"HZ hfNc4Q1PQ+HD2ē0PMA QШ1#1i3@ m7#Biɥ si&dj:GpЊlhuTbQ@(hRJ"Ji PjRXp"f R" $F7 QHRM}׷w#KBd!J6cY!rȤ LAJ/7jII"Fa8Iĝ8K+bs@%EBJĉ2æd-!VJT0+j,B#f JO a2% QAO ?32Ȍ J3Ȋ͇q }'PיY\ ,nC))B[9ԋ@tHI0Q!( MYbmy͇c<ZVHC֪u(w<9 eS;31] h@rP2#0)<`Ba# 0 r_)K-.$?a ,"ȌYK A) zNbp{0:|<F Th Ji B& JPh(^WȦD8w/Bs߈dnG'"Q)#C!zg:PRW<b)2"DFun@b*pAKB(c"ADĨDĕ4 P @3LoQ'U%d u/!J0(JEzʢPP(U((*62wU?D"QC6XteJAmcH!,9ٕ,\3u<(S =00|y4[AG7.1yiYK XVb -Tal!B |eqK҇<՜BBa*#0E#٫+I62(g1/?!'<3t0o7%-wK.Uv޿lbFeE &tAA0l/ aI I 2 (.yf+Fa]9kKB`*T")h~yq03~prG:7Y0+Mvi "54%û1Xo=1;֊NF1X)jʆe*^Phll h5_\|AF mH*Q M$Jt0&)h&)N`|dl͵SG1E:pЍ*qӦAeD1u .}:82I#EBs͉CDfr"N=scu9wg;FA=({qHBj87{pa; neh!}sݴdq)1vAj@tBKz J]_%^:]ŭ HRi` qten7 DQUCQԤSL1(T&AT<y2x0$-< ߋ!jsJ5acإ*cV'$^ f!&@=>`uHHøzMĶ4w^Ws<]sUZU)S; >x0V3Ot:t3ߗ{`' \[sCZOI}j0k4fhM"( ("X Z*a122L-4$9wR&@">|)Fi#(L0  C1_4RkY}gЈkzw^&My[$JH@J +͂i84;v쮖SN5J;h RR~(0RWpʺM$ J఩u 5ZpQMH0Rթyq+ sJ ӽhת3f;RFD8*w:9h( `Lj"vX!)|$t eRDvGpwq'NDsPk~a))i  97*őeØq>>ʃ3(q0I*2bNVa3122J74Z '1mB WCD 65X>\I7t=bNuϽ:Ժ$ l%g`X̓lF:qD瀑^&P"YMSs` gL8$w.w:];m:~{IPa(m#f&g *ȑ!6=c `f=~eԸօFtsUaѹc=B̀`\R 1> [x2w2m>$@MR MW]5cvb~)ͯMK)_ ÄvW;{r$`ݶoL쀲d#NkQ{#Nw,Hw:#&~a͔ sDAΣDYٝעvݳi@ϔ,\3OQ'@ ͮ<0^(A0PUlu"…JIy'抋"z IGok@0/Ӥs +Ұ 1Lh?@#bgzӄ ;|RB' 3T<(>%Ds)Cl Q9I0ZƮ.ػ_`Ad}4D߫:G^EDt,f#rI)Ķ$$ @r,RuKz)a`ctkaa@&ʔG|C颦 TnL5IA kpL@ލ lNH1& IPYfpђ<tži|۳"d 8IS1;h14kEϿ_5POј{?E 2а"nM$$QC&@g$z/_Pw4ydy-Taqau#4 R 0E(jN ~8)< %hI6 c$ rJ\'~ D8HP+Efa!fd>3Z)&zf2af R}4j\зVp;0'LK o  d noiO{!@*-/w>ZH4Vt٢|!uS8 B  Y(@ ڒ R j^H&Ca:)fNbZ0<0$R>@|;I—E3bG8ۊ>+X,Ȝrc ql*WYak A"&`F,`l '+{Jir5),AZ>DI LB̆2$+EC 疰P$+Qby&P6/~Ʃ]tD}lMN@ԙ_~-nz‰T9T;4 @Ɗ3$r/e ~#mNM}3ZۊXi^Gv2@x̝}~"*`|^`ƅ.:"}'Fo0=꛷Dr1?L 솲+]DB_l5yYD/ܢ#c0w,4` w# 9:>|J'$9``Z"!G?,t0z]_a2t I V2q8 7e#iv1(컱&i)_I kTZ#"aXzݟLτ#n>2%Hn V0%uF\͏LYt"S Yru}Mb9x0!"-ZZ!/]kvw`,.DdV`h AY\OEn7EkHQX0Al0 h2kxW$Dv,+ ID0Ze`%LnK"H,0X5w^ u J b auɒ< u0J pc4mqCj6<!YeXEVf[# f!i̵ jNXB4WJ!`B1"0#Bi6BʓBȐ2Czf 2s'(,1q1 j6r6m5 A]*Qķ8$'" aPSDL%fFaTDSAYe2ML25 s IXSoHZ # b chF+c.㓈UTr\Zb2-X00hU\ZaƓDH6Y1h4@K n0""Z**mDŘrih`# amb@* Fa5jن-$E1FaZ•1 ]Of/u u"O"dm%diV @b 8X j V݃pe6 Dae[ 7zBX01sjBsm E0ZMNCm4B@dE׏Ru:ekTgc+XUX[!(4gi_"z23 poqˮ32,0bi7AI(t(1(ZC:bCH.wb[ҚMbC"YI q{UgkAMbRBZ"Ilfq7QA[!'.6|STddEdh& JM䔦N#vPzHGF$DL jZM`@hi 9a!"4Da/ wyOA*LQ;u[i7ICDg%;p5#*N;%bqp4ҁADLrFRqDؠsDiˬ@h7! šL+ـ_WPo0iF!C=uQ'$3*cw9O c.RHƊ,0I'iEW+Y#o-cfe`1DQabFM6kDelrԕ0 $Q3֬"bс[SPd";"R)!dD$dhQJ֊R7AdDDLW^2 mi2DF9.ZeU22 7&8`V5\I1I)cR5!# )ZC`e#` DeI@n\MFŦ5RjZ:G1vDTRGR5ƈJ#Ͻ;ZU'( 2kI3 ]#"-@ !A7DhA"Q %l A~| !n:Sx0$! ?B_{(Mq}v:N~8}~ZH h *I( hBJz7]ᕏ}p?O-D2#8!C=KM, E3Q0C!h ?=>u qř0kƌ"H m5RaH/0Kk&Dhmj(6Pލr%8N߬K ؀-+ mAYpvSZj3$ݮ[c$ ]Khy^(㯖hPP%B~C`yi`y!@CW8ZEba4ϩ߳Ò 10~Ϝ~p}koǰ! h-X"ʴk8( >.Tt2)aLAB\ԡЦD἖m7*@`ȟ( ߎf.$E.8A 0.BW,HR K^da'[N:;Th^'" G/ Q AdbH+__4AW7[qK<U(c B'PiӋ? S!!R燀~Z< rb0Ir>Gݹ@H"!H Hb|`Nc7%՚IjX%~8(u0;iF ^@=b8v(U>zuMM0 tb$P*v"$1""qb!M* P qC)"ByzbI$Z hg$$ 7a% ,2(ʒ &%XE12IDS$Դ&!kC*G"B/>9W 8kpRakz~q|LX,jI3`k'0U >bZi J;ȭ9Ml'i B~TN(Ђ gcGmytC!v_!#l)40jNM? N}]s򯔄1?^c-2,g_QkGwP96XTbC|88G|H ",Cqdrql P)N肇_F$^{Rlb>H"&=#R/Oar[;w6?Nl{;y >6nrO榚!%o010IJX4kY%4Ae0ɱubHVU` Ӓ Yjፑ J $ŏLinJM!r"\ Ida2 CnuE9KEPPRpjN5t‚a/Arxyg'5Q ŒW;_v&Rvh|L'ʧaP'MG )gzMKeSOН$Y8\8ȑclw@-=LE;|=D;:g<#bNP[,G{w{C&AG;(Q ̍9K:{E_A ^kG|-AXY󘓜w9r2yv8Lܥpܲ.!S@ᥡޤ0I\=ƁjV?5momp[Sqp{ש8FKC$7IHڽt'8Y^g3TTx}Sp;x;͆/ { Cu%Y z.uלlbg#>8ٽ< Ya3t/.d:X||uՙ&ZG =f 7S;m2)4kovЊ`;334F~zCi;(!1͹YIJ3R%PG؟.)x²`t[S [dRH8evD 5x)asc~gˠ6pnZ&40# zԄ Bm$'NۿST u]u-/VoɝDe{& L˲fbcmf b?CarbxF2wWGfe=_5IvچЂ*MbxC|z3r  B`T$pJ[;od!|RjW ib,=ty'/'l]FY5t.k/43zvJG9q'M}7y'IeN$-츚-E:PMGYM,kMDgDžYeu s}^e.9Xى0/Llm1]+ۉHOKMySx9&&NըT0x)dgg]zzK.x n7J]̾pVZ3'^s%Rm' ޒ-˱!'|>vSs#~;OJx;C9cCa$ry.D AWKq3JL,9GRO jbMsڜ0ojɁSbVqτZ5Eĩvn,`tsR [J뼕C!7ǷJ9H0AS^ٛÌüÿDk G(z^:Eý$#%ݺ) 8r;F( $8^kvrYa녓*q6d 6bOܚ,sNQ>ۖ-8kS`9 +B^(Z8+NǤۇӞ>]kb ^:23lTN&E,&)nڬ:ZCLoQ.8]$<@_ӈG>t q2]90ϩ*=t[z>i"ǩ\1 bQx#(%vɫ s}>1Q>%k({h~1ÆX ؕ xNŴ~ *w3 ΃N .XigÇĝ yפc"cvRܶy<<3"(!Rgn!A?v`PlJ:0Վr^$Aq<#/-j0l c"%oKH0~.zVm!?u˖Q!1+N&b?agww}"RiP Cr 0R 2 \n9181ʸMogYQ4(*FD.A*x !X×`B _X,1Ǫt-BUsCg ţE|N6E4#3L g֖^OײkC-lxTAA]eKbDWӏS8@uJm1_*gpj@vaYޗ}Mм"D&N9f8S6 >x+|q.A#-ӸhI)_?o't6Dـ⥺E&oA~ LaK.{V7H[n+ p1Ha$CFXFNh-a2s 2+uk5ZlbSu ؂wh:<ɏE 3u@$u[k ~A  ZDc>ű{9@IQg`'ێ@W[0Gt[/q5"R˃;xCoM-@o)lmYT^wo3 ĩ8*mPj.l 4Ĵ4 EJbz 0~;mm2@(ٍ  ZPKx RBK΅CB޵PD*1aŭ.9 4mqLm (6,6ﵭ{b҈"3>q3 d1F+do!J+cl- MeXkꪣݠ4t  u!Dc4@i Li2 1zt8C)#$DiT s;csD0ZcW7d#ȎDo?%U MSdΘ!컀B\ĥW@Pn,$ D$ eF A+v B%Y3_4;k V@aT؇^`]L.zƨJ 6i!vP iUD^vua6?]Q+&AJ:,~)U@AbL;=T_K$3qڋ kqakSG.&i|&Di/ѕu2O}G%DahsQ!k.; %7:` &'_!9G[`vփS EwQcG.Tz ]a[QN+[IhAt~n٘dF?|"i,=_zC8oۛ,JFۃJD\9/),vF 2(+=礋ab|\bd!pn4Ŧ b-L5lbQ2LC7WZ|ĴS2!9J0?Rz} ;;~U i}Z<~| 3f? cQ>ق%J=r@'t?G>; LtVEjksrDdWx*~>~뎣Dk;]f~?s΃EMFDcmܱCq4reu)I@TbS'8CJ0)$X>pڝdO$i  %)NU tbN!&~*J7@5aeHQ0E+4b:B4 aŗ_{nB)nr& Yi4HFk@Ke'u*({XE qEBQ9-IQ pQe"p;t $RB" PSfX14̴pZ`h)r6ăZ,*{ސv r3x&"u LJs8H]f&q;kd1 60,Cs ͤ&s/,ֹkLB cu8)N h tL( zǨl5%Z1j"۴GL}&s1Ӂ V$ai(4T`"QL}+ᢾAKSTIN]PuVC$H-Uhl F6ZJH`q9I5%4$H!<BhP.0,33~YIK"&8XA,Bg`*aIe|&IEj jل\Ą(|BA}BGT~HAZ+&$;0[P~(H2V`ИB:V6A)"{FBnn3~naJ9󘁟;;" p%s  ARuMpŅp ݁|TGH{bc;C7ܦ&$.3N#Qa|(Tgđ߰Axu(z[Is(o4RNه<::%;K~(c2lg],`]ʒJX?PN =@@vΞd5)"AxNPSX{0^jv-X]VjĠ% %:ʺ DžcL!4L<#e r\*B @~Oõ}K˿91RQRU-)K.A {Hkga|c@~H>>_T)C7@DA(֥zhxxFz3_4:܆Vk*=PUDGO(n˻a&JJ jԬk'JBa.w;лO%j s](:q3.\aF૜Q4}vY*"0,kh30"pUѠ$5 "H8 ͣ>C喾2"IaBI:0mr  I%waDA`9#mB\q߄Zb 238$ J}ӯFbT.gv=(tE8$.u:}Ӎ]t_i-vJ ۡ_ QXst'z^V7j8-;X‚ M9[8lS6!Ra!guFE[4;%Q F7)$T2#hr9>7-֗^7#J &fI95kTl+B} 7U ĖEY Zue3CtNviȱĭ30ANj\9hPݪ.Gӽ#:&- 2s*y*4]N·a;o9ݛs$``2!f&U6HΘ1Lf00g=aDk" }*^ ^Ҧh^ v:9POXKAUI~ y䶇{a/F+\:T2\M+Q_3,ѽDq#Q49hz!ˁxCxg+95T`tE0RiD Ra' 4VZ֚65IUAݻ>%Pe`u/:=Ю'9J hD:!LCfM%< %49~~qդ H684fl(yC 3"YQ: ӠT : Eiu8 3,/%@i3m>`)Lps|xjx5xQVì#ye46'7qe'&y3Pm) -PҝK`E8PUetL[M=]MsJ*k^\g*Iyx.v/4'Ak]zMgZF:viO~/ >Z^xb}?7?b<aZ|7/.0޵EaHylF'^n脖_2_yurfYa&s,\0V2x6P59)v]+yx&١ڒwd8qKCj[+k5[PmBcIp9nPf ON;*)MP>q c>M6j pm% m3VKmCRKL \ݖ34vVP7&W3 *)5=yu!„_Jl&s3HKw̆] ^!K\U7ާb,IgodƚJg Ļ<|q#`9 `v,db`'y a!1wfQFnH>\ ~]#qO4ycF zN=XcJ8zAMd6)Y1\rr0jrd%-x7"wF\b@`h;A ,-Uv4BqDD`0av֙&a6)u7gc+2l9턻qX5'}6!K1p~7A06*c$* ITX$́X51Y& .U1Dbœ5ȢDv _"k6SN9L?[ss.rx \-Ô"6ƑEPN"Asę##-9;Gb'෎.HoCз0338wiW8[M9vȎB-4i橩zm]s&dYsyCBER'3<#c)d/n<m G#"f S|6&0&3'5KQӵf AGNBlfLG]$I&EûQ(xpDLl6%جgyRag]‹̜Wv"J]4fvgE&g ;:0Zg]P{|Gs s@H6qk/W882=o}fR6GŜ= Lhɐ*غ^jC'4rAɉKgaHO)Z-CS7xuNFa;mQYFPe"!m7K"aÐatLO[zt˴3Q#[Pަ&DrcRn:n & Ԙy؈eܣR4W_شpcpP4w:?GG:Fp\:s.qNlG0'=TDEa Pgda eЖwV8fd7b̢ %a+#Lǿ@gEmZahn #ɤ\ % 8@) Z!GjU#$ȳM6n̾z4o5/Y=u:6p&hM{qQ;Yꙶosq(d68)SI0aBHȹld,peA#@ѩpl\; {0t!m)gKJ6] @t GvIIbr$$"n,dlo 8) bh RSIpFYFĪnj6ƒ5963 0 1Jn85hV='[) ty{Sѿ*+xa ~%hѩ1"q'!Sn9YQHZ gU9**P`%h$VDH% 6= }=6QcRxhL?@dGڭQTY󝺪|WNEDǬѭ$@w68l'16,Nv<."A"υX}'Q!?. 8QAM:T;;`v@C)#H(ЊP<Hü54:GC@UxЯq7d Z骨HJe޺%us%Fz{{b%@XRji0ړz`}`,0+B ~0h"1 >.#5UMUi&CF`j2MQȇ,#)xe,XlłنAAFNI#bX8c&4C, Q4"JC5\c(N6DLp`լkոjRF6boLvNE Cm6HB `QfҨat8N;C@SϓL$D:&>eXkqM4T'I*V3&;m3N$uzyh:-mةi79Mu;B5PCHxGɥ<\+9s(a{4CR"g"30XXb8ei亜iȤB[*y!/O,"9o $T X$d  :-KDu>Bv2O'?Y? D1.'mҒGd=ɀ|LD q2 9PԿBwGZruipmk;f$D V!^ę=1:qPx jqR>quØZ1b8U\A .z'3`]G~Ūd/p)׺@P1E<"``.gg At-[U-Bl! 0F1wooC/tFd`{Pql|| _0`!$ !~}QA#(3ܲ!\gy!a}@DB7Fls9yX #Yzd{ңTBMLAT #u )1* 2h1rBR+&#,F3 "&-hD5d1 "BRCWvMpL)HAw@1"m (RhVHUPȁzU>D~0/ե PZ@(J"Я H"BxRQߴLT:! T#@F_du MB빽x Mh?µB 5m-Xhr# 1` Q1DRIEQ e|:%7C9O<`f[&ӥN^|a^'D}qlQ "pT-N{y;DW)G<ig@ T[K޺4}|_91 S h^- W余t:{4Up=o6IA@HrMƌOL'tOQA<ѳ+ThR6q]:oA#-5'd׾-~nɆUUJB) !GjqlZJrD<ޓLF>'SbW:!2!'&0{*=qwE(eZ54h1(0B !2Z0Ҍƨ7d GIb& y h!W7AW JS"Y!m3zI`&PDBؓmHM aKYGݕ#TviɉQ,4XdY&atCv$FLeFB,@+@']:p,2(2téta['Mˉ2 #i! ,Mm@Geu8cF!van'k ^WFq`q46\ iEYQMZaYC˕{GN^feiyN(QK2Pw؛Yh5x7\,})UR=a#Q`M #6|xODx7}RZhBiW. HĕPT(rPH$RiԠdA2%pZ CDMQHP %%CHQ7! v)@H)";:8$5y.o04:B%XyL+4=K!h<XO+(D-TG3s1yk:uEP IH Pս=2b@D΄qI嫽7F{0 9.B {4k&7On8dWm%A!$=Kܞ JٍDB4bzUFULPf华A&d$U[6CKM#mA6)c5xè ;P%9B!ӠV:BQ"q>ɀujRQR=kNmHXLeSIILk! s`gD۠up$\B$k]qIRTcPΤIJ{!O>tA6`B']),8&5CN<"j4$jV4Fl(Ѵ~[gIt<-J5EK1TAF6`ݷ5sҸf&(Y F͹B݊(O :\u05$ 444y(2 kY0~7ƅ5 P0 !iP8HhُGI(@:`Vpr$Tq$F9:H`yA}{ae)2 ߡS"*"%(@/MHnJu* 9U 2ݔ$0phy<5<h)IB)@)Z ezI-OHMAhD _K$\oFv's,BDհB4H&-KRwTL6wx4%D+L R0DE#MA1!CH$L$0=as#w͆rcIcGtt4 /#6 xE >߶ط8&2/H}dCTk 5\H5Wf.`F<#K#h>PO$Mn1X $RDL.zIWh~(Y6!>MJy+fl+4MtAp0qc쒽`D|&ӝ{& H?ӝЀ9\j p'#qMLW5HJ1R`6mk1݁EPk3 bEZ0@Ē2.Atw2 '8  ꇑ 'SɆsŠ1D\FIT@Γh5ǖxD &y0_^IZ_t'MdjjgE![!)"FO')%&BX,OLʘfLf($W2HeiV9 V` bdYdeXomXSafak %QI*+HNIQ!44QLZˆI  WG1v4de؍J7['E#LfƛcX+5C}BC9plIÇlX^QyX༙5Y! rN9/:0L @D@%bfFbj&"~9PyV" | )vT>⫳赱/D^˂&IBmfnA0rbQU!~,%M\]1n@`ZTxMSU*ML`m_x˾V3LEqxU]ܩo#:tWeG)ߠZ=$>x@t+\lZ콬.7yUE`oB0D9 ^i>}DyWy%n_ي5JHe6vyDZ" &Jt `T'b@!ז% 8@QPL_g˯ ZqØY`h6J}4"XPޜ? w4wJ-B*"P: ͵7Bo<H".x/1OƓbH9`/.K*0l'!j)#7FLdS 5AXef\uiٙ*iGb6/89a5HpithdS,iS@Ҫ@4@ţ˽l-P(ͧZ!P(KbLQ1%b"d >s441!%%!LJQ߼P!1PqDMfHi95T3AG"*"V|vCV%a^Kupn"{,OyMע*; b0']=ߌ7H ; BD5_G0Hd4#Hz r"+tkgv"6iAD@Sz#&/3~5y>nkcK ~j-h}މe1[!~(\:N{"q?]'1-o~GR:^(C%PKbĴXW< >X2Ayr-TK5U:Cb_#ގ$@;lJ2Q%EНuI,LJ ^ٴ^OUQEʯР;w6dȠf#-ďڗ"dKK g lyI?v! UEBzKPy2H_RQ䮋{$ wo""G% 27 ꁠVBr[S$6$dH5c# ^r^ ["uY{`%(]ܙon@zb*p-Dz2ʏd :5B|-J"agR-2B1,u 95tRA\ ?9rT7b(r~BHJbFCpc% @/fCî!Az%"$z>;^Cy]ɘ}BIi _iXHlֆ9xp,|e)xICWz$6Nma"Ls#KP@>XSף&{lHӫE=9jC|H0*J?I'M#&#}oh̿uUDn4P6-$$>_e _f1IR :B"g{u jBU5pq= kbGbF`sz` >>8N ӌ'u m񧽾5_k{{ʞd\ҝޓ'c؟Fmʣ6w[dM f`InW۷: EMKf_R ỹg:́-}F}O r0ZlQ%,mpj9#@T@hWS9˸qfK QBZjon^-Ge%eCN蔄-t_fQ}&d2QB@Jd%Xm|B<  TuD Utb Cad6ITƕ~UD˻L}OD : Cr0D8:a`'9N/btEeAo\Vua̷Ľ/tӊVA0H"YBkL<5]>AR&AOݿpG\aǔv"fG-FJSB4pHb+u٘wZsIpI8Xz5rNU[9X$$2!3xs'xuվڻz#P]Iq`6I35d!# ω0y?c̩3%,=% !Me3.5PZ!uUkI77oj{5V;ŸrU9y:m馇+[¶N1`I&1F+LT({X/]Chl3Pz1xP!׮Gjl^ٍ' =L 7hu >sx#bpbW"ll4آPi֘<:dgZ飋 ؆HVm8,aa͍RMR(E3S <4p 7ct85KQ 2 "[C;{Vޤ9sg}h$e$] iB*I tr]A eK@[/%# ր9JN8\HZ<-M-L:pjRR kp9S<ǰ7.ς5`PoWP?$LQ)xUϮs*cz.dCYAGW?TH+4&@ԝO >pP2XF9Zvj$E09zt=@GƟM꒫!QWDP" $NJAiq)쳓Wõve4ZRwݏDe6 ۭRAȃ=-Ӊi>(}fl#Q8J &xam [l1w7Ärn*!%wV1)J!YZ&oJ$ G?jdq( 9nX'd 5AT446eL5=8Fmx?\GVo?H4wS (IH˛*^nƻ`POʇH_ ?QQ"J٧G` T:rm]*|p@"lM-d11>z2u{+h.Db|YEbD_T.X)dh ўTDY;✊ +IXaN`t@b2H"B䒑/mV \_o>s̹6x٣H6Uf_(su[h 7(]’2`"&k8.c)29zw^-=Al*\B~toiXnjѸ*>Ѳ,^'9L99}l$݁f_g 袘x?x. Uz٨y}yـ3$dr[ ]K9gl]2N9ɽ̑-9Ǩ "FhuI=1 vSQS.$, ,"TW-n Upjԯvo~.s/y1Fx9A i$}Bm$ʮ ݯCDEf{":H5/4ľKLNFBmPCx҃W*]@Lraj#(& {KS>gǿo>lL\[Rf¾P1qڌ-Q;O  {mW{Mis lۻo}=s>N\:֝6󋱛>V}yvWw >u0Mk:m={_}M=n۾}s}D2}^x7Ƿk뻜+wz e9w˳7}y0w^slg{$ܜw{o}չ縺}4[1]}]r׽[A^wA=}5l>pv^񝮖bFCxgL6wگњVz}p sޝݍmwn6Yq*$:{]]۫k`4龻6{qozW`*6wSӪݶ.7wW={ń 44LJy=&zffSA 11 #AS=4d&S?MSCzz'44=OP=OSM "h0'2~S#CQ=O<5SCji=F!I4&M I4 jzj*xi)zOS =A@$S41)щDjfCMO=Q'&z衠@&&SOB&IzOI#Ԛy '4#L @0qJKEoPW@2!?>Y_)_,kV`33H+*^4V$:LFKH*$#iT IhP@wU @ ".0c!J]fQ&$U Fݫ[>?z< FCJ)_u-s S,Tbt]3v9؋tطM_8M&XXw nxaS"ߎϿ#mX;mqwل2al]wq:{%Wcq?"ȑW,Ģ.x3$ڭ4 4TN+KvG}p՘#鿞5#>u[7OMF8MfnNƳ?ZGU}q⣃e6m6˶|lxTwG #*Ot_a38  "sa8m)*{aGDF,uL*Et#ͽEAC5w>UP^1C =%m=qyoԶU&536A3iz̫nY-<Go:_~>z7~wo쑙+i[NvcOcn=-]Ao';"04D my0c,FPtLOిd D=%:+BA4vc,RB`/?鼐/~I C҈} *Yƕ2ŏq 78.w=شQ  3.f:UMJbK:?5ݩk:^;4.q R嵷Zτ3:,qLN] bxmju=P7B}r4L)NTW21g\RlȦM.{n":vRW|<05t`ѓ8(1,(B@"-%fFcHcv@y"D/ة$Dlfgwx=|6Nc顀Ʀ\^q:ƢgmlO/IsL7rt u=ήz`W-S# gVyC'G/ ̓c&A'LD>a8ge^GCEx;kY,` Ra[ډxy˦4pC逺yvoĥ 0=wv;m vtoQ(VqtUYPT͙1V|Ni? g];ȗE2Ur9i=vM'<͓xrlw*vꆗX KWDp&\kԉ2Y.IpO;>u/Y_V \^|zNZۮ3y:sp4zݿ`ה_< nvn;`o8|́}MŪ1l=tEI36$<鏃 l_p0miU[zڲ NEBNW}ݹmpUCw8" tD}*: E1ufIdd<{y\o3 (AQ5eD;iGW!8aD( DP@vBRD#$QDŪ+aU- l¢Y4UXI A$9XbIc $) SDJ@IF@R J88Q_Kl|~AuCH, ȯF83$[ c'~r6"Y(C85AI@%P *2C7'@k#r8DH #A̱.!(A j,$&p~}M)X6s\}lkd'.؂Y%Y,EJ`vи)qT?N Hp( ,ņDiˊH_Gw b3/tF:hNU|F@>{=uZ* }``cECѶuu)poώ!T_AmNh!I;ە(%Ġ2CO{ 9`g Q PHJ}n@Gavq}^=|:s;>1bW΃}(~fY Ge^}wk³ʥUQ4QGLT}^£Tc.?ȃWzUG,jc˘(QoлsҶ7%<,ݖ ,4CsKroYyVnpƖRKkUh ex,5>Y Am%RZvveU C!(@//(۪Pt1~d6lkRo5!sq'1aXl}x4S,ELa!LO۶8$l@V(m(ܵ,A;{}}"Z COϠ.#|V̽A"Gcfs, }p 濫)%Bd37U#59C깋da zKkV TO3\%Kiqip4-qqKͺ=ffu`ac̥]4!!|Lx|ܟOdtj۫ !thZ×L<`p󝧜a !vZ3.`= f=w1=2R(akB*!`AēD yRr,uyHA>{iBpXaslYK]`PJy9h;C;CZh7.vtf{W&8^o`Ml(Ѽvc4=٘XӿxZ6/$1{kN{.N-}m6p3+UuVOGRN\4hp$Vܽ7Zwt9w9GT,S^f437) x4QA濦J'+vIF;(z;,Osn$2ф``ym C 8zwzYex6L)2>Dwԡ;@5q?s3 a+q1Ǵ,5c 5'Q=0?q n'x]# Zbd:es!r%Q"JAa wAύ[ K ERᅦqךyN&TxyYa[dF;*n`ie@BA<0"=i򐟌,|}A=ϋs@kuT# .O/.m*Sǽo/`0a|aݒ"'w3r)qMmwvǷT~>&7i:nF-+w Y&{! J>|s7-5.2]fo-91)Ld#KϠɒ^{㺈&G:B)m5@^^]<V? Ȁ1Bs"Av}O"l⇠|@lY:.^=mï2M@AE'Kq/ Ӟ?n/d!Sv\w΢gNU ;;-eD,΂ӅQk컎[9,Z.xSJ1,vkޣC8w1|-/6?G$?ro D0aa5k6Cw5_G3#T.9焟|sE(GyGy' A83n%~}9 /"iYDsr}ՊJ)VU6USޘvNĪ]L(h@L@jd9 Ӝ >at5/NtP.e1q*8 U"x|<r(p ;KL) *}"ъJӕ2;1lNܝX]R)y)1|$"335c37lH( 3C.OO>7cYWj^헿3M^ؙ-Ω:P6gM(mB塀»nue͝>H(U1 ]¿HbJtzs˱)$Lbz"S,> 1|rzyÞüAjׅ$I$ rNή^8<' T:h걤E-.iGa$5{.ґ=VAferɧHp/ҁ/J4qJ>z#FFur {HLaj]ΉCIam 0؜Z |׎3}w-O4m6Bi?{f$룯8J]b-8aL)fLDWIMiC(YSnvc Za;176SW~~`-TӅ̹ƺ0`#h`;dЬltRNQ'Q"ƈ8 8/>GH"3s.J9[j|I^=mxfPheW q2x xWH_2f-O[+Tjۘ$̌[j"aic]S{ƴ06p{cp*F7^BsSM|pݎd{ Ji+h6  !v=Uo*𹇒p̃V`a3erN%]N[BG_~V/Ycz!a_S?"Bؒ`.Beӻ3tDQ!i[umgM+QvÜ-h^Ǫ7ADEyM7d?VgK >^arY~=vS"q75Hm_9o. $ͺ< 7X`Lx[wӮVC';32dh.%xY^>OH!' S^gGóA:ˢ.. xiAB e>VWM-oeFyA$լrU t}.#C '2д>,dk%yA%OKJ0j5zfM}}c'aο^\D яӁ5bTǚɰ&kn FP^5lJ\gY65}鵮QkWH:xEY51ׂήZ=C:HsO~$Gиy:3Zz6jRs3##b1Pe!BmcgMmKa9TpoO=T-7]Ωkb,\'Vj,uPB#{5r,kcҜe8{1kB))ӺHnىo+"Bͺ۵H" i%U}=LЙtN8hZboiEFqN63P93/c,FZL˨V@tÞLe%#w XfL8[N1j^]QU8ܴ i@ɷmؼmt.vt? Vju:-3?`@A˯t ]'ic114x:G%߿CÙaO%겗,mIQ7n,~AO~ ƹ]'{.QٴI)}{YG2PV Os AzV &ԓFwڷX.DzuvOQzk$CI~YÖ؅0Gc<џ%Ϋei0L5Ir|MYEs;/Y7TKq \e9uIvksJd̚HXH`*Kjfk|'ENl3? [O/ha0ƫi# * Ȳ*xCAK !";(Z/vd?ʼ0j߾O:o6NۇX3ij RPYKuR72\!?&~d' ΃aaј("Go,@(aB6HfN$a1856P"^wL9'Z$Wn(0YOjVREե rV)~ys^3\g,dEMgxs: e[ :da -|Kw<6TqUQM_-P/tEfcZrlZCa뽏h_:};v'V"yPvܡzؚ7c[O&CpfS8վ1Gv0a"v8.kX :7lcDvhp_lg>zk癚IK5c}+7w W*/f\H˙ٳٟML:Ŏ2uA^mjƩ5^m9@?[&[ڙ$eZ-uMbƞќ]cfgmL[nuou+[+@4UiJf8GamnGDI:i7_ff)1M|utyOC&׹F Ҧ^ӋW+cğbTo N¯ﵭ^28cD2SĹsz$CX)C əhf~6XLw,j0-}b4-š™P8|Po[2]ˏUٛu+u/g&mc%^36)FG2d<6}շS$tZ{{9^`Iȟ1YhklnZUIYt.d ; 1.Nɞmc;r#}TYL+Q*&qL[CAY ~<YWo}v=;k.$|Xr79Q6͏i?ϪC"fte:#GCv[ fgtGԊ=*$=Vnhh^5:-~k*X۳6}X٣V5n^*aD?(WYo1`z>n,eeOO/qWi}J#Z;6^Fe+l<;`si,B2LxTtPQ@-@CUIM\4ʃ&X fX$x]S*\qTꁧ`֎%``\U' ЏV"e(&tMXyx :!(#㨼gD<U jF-[W2Nf_g-?Evl/Us诫Ofh6Ӥ6PdȀBnFbR- h8[e?OSa6[5rT(w!#$pB dD=ht&fEL [~>f2- {%D"؈ųl>Ҡgwi cM;%2IrLS%6R͒&UrXP+/ݯO FLI kΕq]ݘiG QX}oY̒uL,s^u+þTQiԟY6Cob$$v1e3hCLH v&.>`$vHi@aY!WvVЂc >>ժ]YwуcU~9k;X5uiMx/{|e+tmg\~V}٫,q6N'usl0x՛w8Oo~Yߦ/~[.:3Po }_3WIF([d\q8"iKt,zb2`4g268+RD)a!M,ѹ0OC|\hGKD139#BBŜwN CBBĀίȺ$>R_M O"dx NCU#'O!] 3qMB#=FnPD( H@fd?3pu9mHD!1O-%^Bv?poq 6%+"Xi!p26tL{PCqY0=c".ZI\J4B2x e9e lp2lxuoOYNX,H99oAli`lxTVȜCSF@z+m##soO%ͣ9r&ŊiBEFmc g4 +"yfX0C`{VD1ziLϺg%HP4:\:{Կ46*H zD&6DN:Km;.THԩ E>eFojʀ ! :EO"kzDChJRo pհmH>X'q Nc ):0$ _O0 p[v5猚Ƈ܃ETÇZR5E<]θI Dq4d=RBn_M:wQ䡒dG^^֦hӔ~R4"Ġq|k>#=.Cd 5 \N(5My R@]3brh.Pi,]˲"ʛ6236g6b7#dP+cAn4}ZwrV[n 8Cm|HLeLhآG`Ff\L^^)<-7`Y[R.A!PhJ,Ӆ(p%χ&!҃(n҇sH*|6&v6RɎD{ @#@_R-rI$tx!r`JϾ*5Br #6Ԕ좡 hPr(]")>\ %q>@ xs:>Lj!("Z0t%P>S-I6f1!>ǁ1){鳺.O)9 tY=jttχ-7Lb6Xc6k!_!ﳌ~u[|T4rx)(l cٟh#ތ #If, p8j{o}>) w.g*n54VZ6cĨOPTqB ՖPEC=K}Y}h #" H:O>O:dy|ܡXkQp!#a2+ ` 8_K6SOC FPan2 }ږ5x͡haְ*YcaX4u _vf z `nzB";b CRZ?Y0nPk @[pa"doVoDMks.r_]t< ~?~%%nt 0^6 LA~n0leKr)ɨt6c_lVпMX3S歛h=^ !*uSCl-K1 ,̛FyA=J5TpEkr<ML +'ELm]Z_D| w_K L:Y#҂To7XBڄyM>\D–eXZK#)`B2{U{4卹{ M- BQC=NV0fbh;ǟJy s[Ng=CvGIc8di&58&t("@\&L-k28!lPYiƹ~E>\׋}ӫer|gT74P- lmn`N6 ``.0sOEsiV(."mAN^Ye55x{ʼ~u+ka:N;Qr\mLC0! 68u6Ҟ}=-^o0NVRCX A9?um L̐B`o[@^' JNO d{+=up. E;^k7PVj69RNsp18`;6ENI/[obn(Rt͚.\hN.T:j䅿 gX^;0j q;h-IN1x뢉RO[.X_=8JZ`F% cҔ EYd^EydZuߪ}'zt!3npEx_Y; IHƿ{0¾B\W#Z[A0;SnT ,e|ĐIGo f/}ms\?AJDJ-njEU>p5LzVA6喒gNfߢ7+1 y3`dξ ]U%F1#o1[J[KC۲5R>5di$|q@G= #^oOsa) dRY®vvL{urۊXzβOT_/۱MDmT@]͹&gC1 !'7nY1bs*(λt69s-;a5 ʻzWg<TE2b-#xPNƝfQLB Cq^dĊl>/ _Mܗ/1%0< B#ttI'(|4i%Cv;U~K~fK PܤB!Ea<b-.v߾.ǟ몢c?Hds&fq;:`lLekNVPj]~b/]8UhZ4RS]`Km6Q K3 Lͺː  V-I˙s 9X]~.*5+1%|3^]|uEQ5z|dY#v՝cdRU6d(OHG\٨aBd/ ?I3 #>Gm6s\D#zȮ[K;tDdeU$g  .]Le_]\|VUn5qdx|ꇞ/uz0K{ ONxؑD#>P:޷"2ܤ(\l'B3&e5;IלץTUFçoÛ,_}RI~vm]4<OWtЮ"dDt^ dW.|*19+pȾW~1N9xDh8.D6+|&C5,E9Xa~?0H i/_A` l 썀?v2@DH~\H<>x}ضK_E|JHdϣ w`>6V$jZ!j =aKlFY Qm9A?aSCH Cb4h;>, & 8oίnDdh~Jh)ZoD`m;PK=딬֐,8zh& A9C y϶_5&Bز=ihogõe69MCf.[1[K*r!0&uDbgEպdZ(Cko.wA♹Q!LGir9`"m BW/F!дAP4ٲU 5ѿww|e)9wLlj'K6QIߓ5|C{09"lQ04mI 3h&U-ӲE KOgklH?FKSϰA2!=PryG&h0<+HBO[aGK< 1r?! U՞ $Q9Py@ Vh+sU~fH܆If B Pٲ_Lw*teF!f\wԔJ$6uid( h,q1p_G6jj~}}jSGyGQ T0y~̿?NӢ>m(~s:( b3+rZ(d/>h5>ߔG?[cF݁7C&v:l%5(z ᵰR6G8&3=Z?|x`nżx(}\@FPB>2\sI:ʲ DC"e&>gkGpqK!SO//PPT#>|S]ŬmzlPkobz-!CBdtzXQ|혟ZhE |f,3 4[7飐*E,tojYxbzp \amY1C2*b"9@Y#e,,ٺ t8V"xeI9iU Lkhރ.)zvW1v"t@}nCc|#לt43Bs Y0v֒uB@Yg".c=mwܢXtcUοKƸ65O3B t0V5dQ!:4: P *3"HYl3g;D0A;y80k.4]TG٘$$C;!x3$𰐃fB sL4Á~. `Ms Qޏ$2E,~Nё`o i(͡8E"$2g<R)`ОINXDU`fbfJ?,tLɍ]bh/? g-ޏ5<$Xi>o3f>߲ϗ{2WEt/rD/䋑 }̮1UlIc 8VWql h1 gwGzZ@~A@Z1P KA:^a/z?1r?*WbDEcx}9k_i]iƿ7"Mb\ʚ)7֧W궶=V~s u3Y㎝_$͏/8^D#cpqnEz;^GTYI0(}Ey;Vw{ߎ$Äߑ|DedXIJ/FMA2?;{rOF@ zF?eK} t`30KQ7(A?L#y*ed`q|!הs A=BL*v XF`xSf)A\CmoCRn[͗V4K+ p=P=M(ic;\YtV~H_ ( EV@{ª H^PݷG@?K:AWaQ\gnw>! 2`"|m֝ݪDC4<\؎NShN!U$ 68)q6;_S;P⚂<f HDž-"T;eos`z"A? GP2B%r9#\8:ݳxDE3m9b}S?ACxR1V)?IW٨{-V͚T'΢=vɣVqAKp"*G`3<Y!{Ǽ6'PPx:Q Ժ+:H`Ua&0#RnAS1܂0YG.B0žL۫\RA,_rBV-nDY)eBovVO@*F$D~ $x= Ē^/u \cN:2WՓ"'+顝acrW-Hg1' @@$I#0 C.+H=;B4\LuAi-:dOl#i 1C@]4Z @ϺCqw#ĦB6VV^q֏Q]SCmͦ,=A۟xwI_\F 3NҼŎZpǿTd$ q3] W {ˤdad}ŗ(Hpfp5"qW2U31A4qep(]8t{9;Ǡ]!Bxi+=8I%$Kn!u frƵg"\aϬ?@=}rgI ClK{IT~8<8z/?=M497qFf}m zeA<ǧ \#U,'QA6"hD8$G 'GH_Us.!&Uejo 5:gjdv!^'O_wm.t{a|$2w(6.od:Ks/NA=yaJ|Ms36'o`vq#b{:x9,c B \C%S.gQ3$, 󟛸0S(ЭW5C]7Xj5p1J,#珴=@O zGߚƊ%IOG9aM-Tp:.Ku!S~hہ&H2d G7>P{ձyl$(Dg$=9g9&Vx?4w<ߑz/TXu U`5F {Cb`}-M G<j>?%֏kEƲ)\x6^6rFi1W<8H+fogo+Ȧ9EO-%h̿pRy7U+Sb77?T P@'Rw2>Mn>$.k(]o(/tb4N`F0a%2Q"cՋXzZ1فx͹X鿬B+r+ʗy;DD"~_LO 60 |uׂϧɟFjnQ$;vZ=Ø3z1B83Ko14-Y/9" Ja-Իɔd_D/q[ |;5.><քCj-=ٿ>&c=_Oq$:hraN~ HND.c¼-`XʒKrܜw!Cxbd[;7!=}ZgV7|h#v8a0Тma #}x*BßKX5\y 2z*b(02E1;D EIӿ-&Fo$w Iʪ02,vpL4A9"CyRлTTa]'I)D@2[p$ncsI;xUhfWg5\8D$2ԩB*ṳ6&[;&DqI/-8^%|}lxH6] rBbxy@0..2 )6 86Qz^I;z:Sao1E & EOJfMd}FK2l!L-oɆ"xCFa 6~33qAiGѓI$ H8#y_l`eTo p.`d:O;uhWm2잤W;]Dn ZHBi8͇D8@MkP.H^6_m$֌><>~Zuko ff֡Md1"Cl?usB*2>X)23>"< p%>H#pk)B%m~6 fe h ` v)3`6|gJ[A,4Qa4kZ͔#TX !!AKre!Q:{hl P v"ET,RG`-jb]K5ӠR+RM=GA?4Bfv@L"7鰉_֍Ċ-R,h?KB_ Ahe1\i6!p9Y&hGl?˄u6 }&4@a):]KF4>AP)RGJϻ Ѫ9Dv킶"@y JuXt17&zd/7#h$0%8!P&x! < # zR!=uxЌҴ-0FX *v~q\\fS h ((`dO^=ńػHnAB; a8O']J9M+[ lۛ{0P+##>;A]$`/ dB@>.zd;.DİBG[>N}>X  T QJ Q;ă-62ec9 l)@"T@օ" $=46a Gzj>(_id=uϤ>&uT;dū3 c-w VIoV"佂R)D ?= x s4dDek1aW3]lT#(tѱ 5sƲ΄]eI4t*1QS選ٍaewCI2t`rA 0KJkT:|4ԌkHo0ݙPT1 t%$̠ {E,z"D8M9PhW"#R! AUɨ2,,/upG6: Ewd\0l 'hXP "SAA4rerɀq6e0ͺȉ@yVD!#jTs!T20&d?4%AA(z@tr]2kKU6nl^/ϾxJi,aJ ӑf4&#ӲܜWrÉJ7aG0,x:&AC0><*j"C.'2X_~S S ;+à9z<@%]ϳ7. oȰZK?) ~ӎ/{l45E",Vo!r@}zd x.ffx4PAfc-ޜO&`vlD!,L2ap U3$"z5=ڿ-}0~;'\>AH!O Ciyq$qF!Kx@~>{2!MY#0YZwR$<qNzZ$Jtr!nOW<ιL.2MhoZ!񙛬褨g`t05QqL] 0峨 #yYO2A5,v2A]sxw]yI{Ө+;[)Y7w0C,4nF|s A:ppc "U22& M&;լea2!Mb;&T' #bC˻Յfc |&\# 0HgV2 =\'55Z +-faX0NЃWJ+\V{e+ j%7iYA p¢i r*/pf̝ va5ؾ4SLѶәj;7kBvL*hC&D!cy6Y[jhgh,6R0ĒI B/E8)nuW[) /uC?N pax]5Wh΂X%!0dTO@/ȇtgm<#!R~S7h. F舳 f$H97ƍ4ާgxu-9j,=AG͈^lyc c+aPBqBNȂi k=&Vb_,zvCCXl5HQ/ڞ\ͮ&/V x8a<~~i|^ X_>>X dikED0"!b/xTi9]uXsb pQZӡhM~Y)*GhyOX"yf(XAgEe0]̹$xtP8 2 wTJP!#hia ?ؓȬe#< l@iUC@tؐ@ODO#'{TlXso:CJ=o"2MގӀ 燃\9P(H#ҞMu;/I,f>_!(+z 6(j*h`O֞:zC\1G:7<Ah$!G%TS #>DEkon;bKs(x3iwįPCߍM7jSE3lf7%z\V ARYwgČFHz;]#<8F,LpB HL2#~Y&rF1^lj)A t40B@{hz$>W}V !bmp _ѫ gR&%Р\˒!ؽ1sVGS~| ҕr( ZB/#xC @L*J)6pܢPF%*IjŐIȁBH9ReKebYQVU=|Ayםx ^eO{ 0oK% #tq: (}/΃ X}6-`HE 0߱I.(WYor(j*F F0,̓XQ)&iC@HBD hh FlE$S%!tC58Xݘ?Ղ?`X$.Yo=Ƥ+Ḯ` !H\}`4֓0h4+ ;X.bMh[!<|k]Hq筥|?tE:>|y3w IHe]S2fAb:Zzn0,HR!?=DGA)d$)d[ D aB2vfl4@3LLcTE%CX&48an7n8ii */dPq<[˛B'sP #L# tSŹiFTVpR.Sc?oagH;75܈ X!`2@)XU(VBFW$H H "^N,}!O D5AՀ͏c)m.6mqqVD6EL.#$!"I"%(9qC d00esTj  [k50Q$`OZT\ԓBu:2=d'xN>ھ5^c8O2/LĬ |_i$Aѥ"F- EzTĭ uJ``Ol*Q CQݸ;bf4^^-ĥ 6\@œ2B'1rg Ej6M0%rX~7/QTrc{ f'( >kLl ?k]Ó$d6iIlZ3EӝY elBonnӱ(J=HۖzD5N}cPpz i%fFd-wʀ݌!)$Mr?vpt )}dKL1T(D  $OܐF`4 # D0C&@ j3g$u:9IJF8钵`sN '4D% ~i@Ȉ hƧq *=??J!1/G5k[v/{s=Α ,RxL qdF_wULЁC5!EJ!cߔJ|: ?AEŇ,HFh$".!nFV~}z|lp[f%-}^\qm!}L%VhyʨflHK1Mt/q3\acƔÌAN)ЩUdj\"#p|]BC{dֹ/WR˫X/R#Kn)a> z<5=VQR;و[NB~@jw#IDAM50MJBA$I%40CE,EE4ԉ%U08! ( =gXɂN&`'5T!s - A6@<ҮKsV0њ!1Y8D),U${:ZxhN،dq G8AFaw]cIQ]:-K9QhcAFN pǥpx=Ʉ"QhM@NYȴU =\Jc! !z{>X.CKxy<'E\4=U]t5^ba']}$9PQּDNTN<N5ZS&Jj9w_?_?tA|:h>=cE%#Hi6~t~"8/J/\'\~F,ϙrR5 C*bDIsB-UgXGո=[ǐA01o,|O&)!1@:hug+$/A a%Tf( k< xzlQ.ZX+Q1 4H` Mh‹,΀F-k['➬"wOF=saO3u/4Ύ 5wܪu'|'9rsDo XúJ*ˆ+X>? 8EpSeef"+ڋ +ANgHpH;נ ?!1?وXE6]J)&#,=7HQWJ(nZ2xROED!4-(y DC`$G#EnO:1L (oMJ3`5\`t.iR6[rn"؝b)2&b!!dbD@D0HLD0dZ"0.bIv$A6CAGf&N#.kd4B?ӎ^c!j7GdU`4DP҂An&h%' ?$3aPHt( JCS TՌ#!/)Z`"9$P%)AWyh 4`B0`w{${2p n3Js)ݶ%Z'|\t!_QA0p"~C Fw(8b痋lbTM 0d"F(\`Вm`$ҚTH 4"Lj5 $rpq 1AdpJ  '@wC|``Q 4DTq.ţ͎そa}V R({xf49~R<( a&ŕ.79Q< 9)S8$fq- 2/dQf\tCjKF1c6p9Fi9yN=~Ҽ{0a&۝Tr*XjT+e+Yi 1%RCQtϞ2# 3Xḋcsq#'Q?|"|XTL9|f' a#%F*NPI &T&bt =dNnϸ <:!RʥWnA QTM+!༕aWj*1&]Np{V\ĶD]Ӧ]9šR" 0q Ji"))VhF !!xvikZ*.i} 3 BбFJ d%J3T !tN0`I))zR4pޚh!@(*HLsd; #%YHXU4Cctff1$V1o3Wq>,uMg2w"MDƨ`/1C5OF*@;<\ҦC\xr"7ǡܾKlzõ#H&t+o7N8l$ ^ἳphS\JVA(t `mۆQNN}HBG]y(?rn2$y4(mQ;x7YkV~KGI0%JN@oR klOm%[w'0IJYlr!{jT#E!?x< Q0Ik30_{REZu4CK-:q5HHA.z=lp=`ɬiݚs^PME Rɣh]M}{h(@q"";/t((/AjŸ;(Й!!BD66PF‡0l+@0QF䌗yJvf t`՘YFMlM=n[rj'rИNPuO9rVwB1Cl=!\g`;plW#^Z,eX?;Їjv0 =$iP0/a( A~vݏjT%uq"U:4q+ ˒͎DފI 򤑠 a1i(L̪4I 3@mUU` ryFm0~85S ( V%!!3im^*M]W K:ڸLnAu iu#8Jh@iB䁌 |$GNGm2PU/N!n鿐NZ$DM9)"&CUl!UhT-B4ut-Xk҂P$h38ThܭD0fb5D YImf1mITdLJ@lt+`D6u [N)ihXX04QH nn;.5hwtp Q8`4# 1Bua^Dp_x6`DcwZ*y(RH2BlLkCv \^` LCT5RЍ8& 1-E#ޅ[Tf#Rcl-m6c,%Qk:3F7Rw$I!tp;O,sKMK3E PC,}ًxL(հIk}< `@͊լt11+Qwqv#>mͻm]]D##!O#3vY;j{إnzDz҈2_Dt7=n#E\9lt^|’0vJ$>SItc+lܱ02gC+}q;3/4"LBđ(H0D5 ڊ4[Kcz@)FUuDxbLo{fgLR(ۨSBRN 6b6g4APv1XEl|QCPH+$2+X? ެhiY@&߳|^+-"bc,rtyBH d2U@RM-L L* %ڥ4bC@Hp )AL%! 1‚0Lp7G#jbgE%X@\66k$籠4 UQ{L21faZAi$j@÷ M3/|xBKҝ7F09zIIg"Ʊɛ_eNu/?c]\=7%(OuةtIaٝBCZLjSed2%C2No1P~cMtCN[ZKr1E$Mk!yϱ>u;;kIWDS>ouvqz/1}.}\a6O~0zcAJs 4h{TS7]Bb2]2op ɷE×ڭ! 4^ oD:.?]=25|&;,KXQO ֧1 9À\f'f3Ҷ(^cv]øPh9mך0:+`;ٛP oj< nx.*&+ 6 F>^l;6t|RW8[PțInM Qf,y((=a`=OEbML"*P=7v[,F`2bpѐ x-ۭD?/vԄ:U-艛E&goyOIt*}䚮[ jy:RҼ8iOb=gB CU_~n:mEǗޱ( lFzS*dHʅw&4vs"s||y<`3`vhA|$tx XBz6ʑ 9BM٣ ,RjyY&! "CKH5MIVPC؁w$򄍲P=_ ^;ᄮfrSR-h`9xf~ Xbrh 0bDdy~`"euGr{{_-If_o13 1 = I/c2 CrvQ>hFq.+ i3Pr׌藅0(qA!@+og]y] I! %88{1,14x_ l^# m6e]Jt{ P9'PB) U&DPXd7"_MGt:+0bH]i2X"KVL ٭k5AjlI`)UX_|C8V3 3`lHU:r !`WK_` 6%ŀjpߣ3"hs~ަ$^ia-w!!!ffaYr(A"&n9=};~ZB΂yrE0wxsO'2'[On)N/3v$u{nl`0zzHGadc %*ϸ C}茞dr㷮"X.q-R!cow Q 6PS ,yp {3w9J Y; @ P:Kbv:5Chap6| ^ G {sDq9L35415LٮV98cfgRvvz1/ - P!5C)ݬ_nE$\ާ^>qi^$YM/nvhy66 ߠ #RLG ئ{`38+`ܮ,3UowCLAwj1fDdqa_L2"4<[`bJ bz7MvkmfD( @1e#HH)'|p=0 [AR Eaul34/s~nĿ117եm6ls(2Æ ^4$r֔t=E&ƨ͜ůSo#0@ 0Y5cSHl5R&wUR"m02! 6 acJ a0Mq0iSU&EԨ;B48-CX)%CMy.%QIMl XbziUaCՙbl`I C@HdfŜbjHaS47. .3AP4` ,sWۭ"@ߞYeY ^ 9Ml`-^i?.߬XӺ.qEW] WbeH8y ^L#ΈY.^d;SJ hDC %g~ҙ\ږ^2U)9A<%Aڮ"q=K?߫ | ly/9,'Ź5s,2&(( &%!PJo!@@Z@u)MHQLA5nt#)QFQQ-25k3 e=(gCa*P!C0SX7xYQMAAGϼ#{")I'hJUm,wx&6KyoH(E1wGLpWF;5U`6^',4y95(#Y&3*eZˋHeJnDxŝ@Da  jJ濵Hs2mWd< LE36! SB銖0jE6Ǘ:os}>46V<vAE1?y?(d'=+X9>Jn-D\ bzOJD$^N)kPa{)2K+Hh#O_/u8ÒPqr(`yq=6|cc(BDl1JOW)P@ `u}| 1bT91NIaYbQ߈Hb[4虉|v߉"j wTSW.~.׶!q~o֯?.jLsъd0j? !Hl|drH UYbMM@t:Ȇm!>6v9Hq EP&]+|LyS-X| AA0 cCF\<^yS}8ȩ{C~ˎȏ X0>s<že iiW1Kƨ&*&=wB?ʲ`χLd BFlK[ލ¸%q\"4OiCD{rz r/pEkغa>_u! ;}!a߽Ha%uẗ́jjjyߔ#>0Ilht=OC8HDCgGF0V*<1<4ӑdDžM (@[0Pw:pG0 fE8Mb d_=$k+P@6AJ0@=w2:tcE+0Hg!ưRU #S}Mq7w5Z4ѬAsl`svľ` eaUiSBSp Go4\k i7xIDe!%0vj>vTqS{Dtb+"9-l\D" _[F? ]17Jc޹mq|~AN!1WYIE8 ѡ7zPӥ}AQ0JBo xXxs9'16ŜrJT&9kW "F`u[΃x`aD6D oA">|_6d"##@|A>H(>1ґ2 '2B;4h+S'ݽ<]^:*=oh*Dz?OA)fCH44dBV@N3~GA371W1XLhJu1& B y>Iut"`GK;#l,~";'p&p~"s@/ tMz/|H ]