pax_global_header00006660000000000000000000000064125723663450014527gustar00rootroot0000000000000052 comment=336584442471d35213342869ba923d121ab32d6a pacparser-1.3.6/000077500000000000000000000000001257236634500135165ustar00rootroot00000000000000pacparser-1.3.6/.gitignore000066400000000000000000000004241257236634500155060ustar00rootroot00000000000000# Object files *.o # Libraries *.lib *.a # Shared objects (inc. Windows DLLs) *.dll *.so *.so.* *.dylib # Executables *.exe *.out *.app # Packages tools/packages *.dmg *.pkg # Other build files *buildstamp src/spidermonkey/js src/pactester # OS specific files .DS_Store pacparser-1.3.6/COPYING000066400000000000000000000167271257236634500145660ustar00rootroot00000000000000 GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. 0. Additional Definitions. As used herein, "this License" refers to version 3 of the GNU Lesser General Public License, and the "GNU GPL" refers to version 3 of the GNU General Public License. "The Library" refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. An "Application" is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the "Linked Version". The "Minimal Corresponding Source" for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. The "Corresponding Application Code" for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. 1. Exception to Section 3 of the GNU GPL. You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. 2. Conveying Modified Versions. If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. 3. Object Code Incorporating Material from Library Header Files. The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the object code with a copy of the GNU GPL and this license document. 4. Combined Works. You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the Combined Work with a copy of the GNU GPL and this license document. c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. d) Do one of the following: 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) 5. Combined Libraries. You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 6. Revised Versions of the GNU Lesser General Public License. The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. pacparser-1.3.6/INSTALL000066400000000000000000000042701257236634500145520ustar00rootroot00000000000000On Unix-like Systems: #################### You can download latest pacparser source code tarball from: https://github.com/pacparser/pacparser/releases You can also get the latest source code from github (git) repository by following instructions at: https://github.com/pacparser/pacparser * pacparser C library and pactester: ---------------------------------- Compiling and installing pacparser is as easy as running the following commands: => make -C src => sudo make -C src install * pacparser python module: ------------------------------------------------ To compile and install pacparser python module: => make -C src pymod => sudo make -C src install-pymod On Win-32 Systems: ################# Binary Distribution: =================== Compiled packages for win32 systems can be downloaded from: https://github.com/pacparser/pacparser/releases * C Library and pactester: ----------------------- To install pacparser C library and pactester, download package "pacparser-v.v.v-win32.zip" and extract it somewhere on your machine. It will create a directory - "pacparser-v.v.v". Copy pacparser.dll and pactester.exe binaries to somewhere on the system where system can find them (e.g. to the directories that are already in system path like C:\Windows) or simply add pacparser directory to the system path. You'll need pacparser.lib to link in pacparser on Visual Studio/C++. On mingw, you can directly link with pacparser.dll. Here are the detailed instructions to link in pacparser on Visual Studio: http://code.google.com/p/pacparser/wiki/LinkingOnVisualStudio. * Python Module ------------- To install pacparser python module (available only for Python 2.7 right now), download package pacparser-python27-v.v.v-win32.zip and extract it somewhere on your system. To install the module in you PYTHONPATH, simply run install.py that comes with the compiled binaries. If it fails for some reason, simply copy "pacparser" sub-directory to C:\Python27\Lib\site-packages\ and you are done. Compiling from Source Code: ========================== Compiling pacparser for Windows is a rather involved process and is documented in detail in README.win32 file included with this package. pacparser-1.3.6/README.md000066400000000000000000000066121257236634500150020ustar00rootroot00000000000000##[pacparser](http://pacparser.github.io) ***[pacparser.github.io](http://pacparser.github.io)*** pacparser is a library to parse proxy auto-config (PAC) files. Proxy auto-config files are a vastly used proxy configuration method these days. Web browsers can use a PAC file to determine which proxy server to use or whether to go direct for a given URL. PAC files are written in JavaScript and can be programmed to return different proxy methods (e.g. "PROXY proxy1:port; DIRECT") depending upon URL, source IP address, protocol, time of the day etc. PAC files introduce a lot of possibilities. Please look at the wikipedia entry for Proxy auto-config (http://en.wikipedia.org/wiki/Proxy_auto-config) for more information. Needless to say, PAC files are now a widely accepted method for proxy configuration management and companies all over are using them in corporate environment. Almost all popular web browsers support PAC files. The idea behind pacparser is to make it easy to add this PAC file parsing capability to any program (C and python supported right now). It comes as a shared C library and a python module which can be used to make any C or python program PAC scripts intelligent. Some very useful targets could be popular web software like wget, curl and python-urllib. ### Implementation pacparser makes use of Mozilla's JavaScript interpreter SpiderMonkey to parse PAC files (which are nothing but javascripts). Apart from that, proxy auto-config standard assumes availability of some functions which are not part of standard JavaScript. pacparser uses Mozilla's PAC implementation to define all these functions except couple of dns functions which are defined by pacparser itself. As a result, pacparser is as close to standard as it gets :) ### Install Please see 'INSTALL' in the root directory of the package. ### How to use it? Pacparser comes as a shared library (libpacparser.so on Unix-like systems and pacparser.dll on windows) as well as a python module. Using it is as easy compiling your C programs against it or importing pacparser module in your python programs. ### Usage Examples #### Python: ```python >>> import pacparser >>> pacparser.init() >>> pacparser.parse_pac('examples/wpad.dat') >>> pacparser.find_proxy('http://www.google.com', 'www.google.com') 'DIRECT' >>> pacparser.setmyip("192.168.1.134") >>> pacparser.find_proxy('http://www.google.com', 'www.google.com') 'PROXY proxy1.manugarg.com:3128; PROXY proxy2.manugarg.com:3128; DIRECT' >>> pacparser.find_proxy('http://www2.manugarg.com', 'www2.manugarg.com') 'DIRECT' >>> pacparser.cleanup() >>> ``` #### C ```C #include int pacparser_init(); int pacparser_parse_pac(char* pacfile); char *pacparser_find_proxy(char *url, char *host); void pacparser_cleanup(); int main(int argc, char* argv[]) { char *proxy; pacparser_init(); pacparser_parse_pac(argv[1]); proxy = pacparser_find_proxy(argv[2], argv[3]); printf("%s\n", proxy); pacparser_cleanup(); } ``` ``` manugarg@hobbiton:~$ gcc -o pactest pactest.c -lpacparser manugarg@hobbiton:~$ ./pactest wpad.dat http://www.google.com www.google.com PROXY proxy1.manugarg.com:3128; PROXY proxy2.manugarg.com:3128; DIRECT ``` #### Platforms pacparser has been tested to work on Linux (all architectures supported by Debian), Mac OS X and Win32 systems. ####Homepage [http://pacparser.github.io](http://pacparser.github.io) Author: Manu Garg Copyright (C) 2007 Manu Garg. pacparser-1.3.6/README.win32000066400000000000000000000051601257236634500153410ustar00rootroot00000000000000This file is about the instructions to build (and use) pacparser on Windows. For general information on pacparser, please have a look at README in the same directory. Building pacparser on Windows: ----------------------------- For compiling pacparser on Windows, you'll need MinGW (www.mingw.org) tools. Detailed Instructions: ---------------------- Set up tools: 1. Install MinGW. Download the automated installer from here: http://sourceforge.net/projects/mingw/files/ Running this installer lets you select what component you want to install. Default options (C-compiler and MinGW Development Toolkit) should work fine. 2. Rename mingw32-make.exe to make.exe. rename C:\MinGW\bin\mingw32-make.exe C:\MinGW\bin\make.exe 3. Add your MinGW directory's bin (C:\MinGW\bin) to your system path variable. 4. Install 7-zip to extract .tar.gz files, if you don't have an equivalent program already. http://www.7-zip.org/download.html 5. Install latest python. You'll need it to build python module. http://www.python.org/getit/ ======== Done setting up tools ========== 6. Now download pacparser source code tarball from https://github.com/pacparser/pacparser/releases and extract it somewhere, say C:\workspace. 7. Now extract the spidermonekey source tarball, js-*.tar.gz, located at src\spidermonkey\js-*.tar.gz inside the pacparser source directory. 8. Compile pacparser and create ditribution. cd C:\workspace\pacparser-* make -C src -f Makefile.win32 dist 9. Compile pacparser python module and copy required files to a directory (dist). make -C src -f Makefile.win32 pymod Using pacparser on Windows: -------------------------- * In C programs: Make sure that you have pacparser.dll in the sytem path somewhere (current directory would do just fine for testing purpose). Change to your program's directory: => cd c:\workspace\pacparser-1.2.1\examples Copy pacparser.dll here and compile your program: => gcc -o pactest pactest.c -lpacparser -L. Run your program: => pactest wpad.dat http://www.google.com www.google.com 'PROXY proxy1.manugarg.com:3128; PROXY proxy2.manugarg.com:3128; DIRECT' * In python programs: Install pacparser python module by running install.py in the distribution folder. You'll then be able to use pacparser python module in the following manner: => C:\python25\python >>> import pacparser >>> pacparser.init() >>> pacparser.parse_pac('examples/wpad.dat') >>> pacparser.find_proxy('http://www.google.com', 'www.google.com') 'PROXY proxy1.manugarg.com:3128; PROXY proxy2.manugarg.com:3128; DIRECT' >>> pacparser.cleanup() pacparser-1.3.6/docs/000077500000000000000000000000001257236634500144465ustar00rootroot00000000000000pacparser-1.3.6/docs/doxygen.config000066400000000000000000002364321257236634500173240ustar00rootroot00000000000000# Doxyfile 1.8.3.1 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the config file # that follow. The default is UTF-8 which is also the encoding used for all # text before the first occurrence of this tag. Doxygen uses libiconv (or the # iconv built into libc) for the transcoding. See # http://www.gnu.org/software/libiconv for the list of possible encodings. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or sequence of words) that should # identify the project. Note that if you do not use Doxywizard you need # to put quotes around the project name if it contains spaces. PROJECT_NAME = Pacparser # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer # a quick idea about the purpose of the project. Keep the description short. PROJECT_BRIEF = "A library to make your web software pac (proxy auto-config) files intelligent." # With the PROJECT_LOGO tag one can specify an logo or icon that is # included in the documentation. The maximum height of the logo should not # exceed 55 pixels and the maximum width should not exceed 200 pixels. # Doxygen will copy the logo to the output directory. PROJECT_LOGO = # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, # Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, # Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English # messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, # Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, # Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. OUTPUT_LANGUAGE = English # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = "The $name class" \ "The $name widget" \ "The $name file" \ is \ provides \ specifies \ contains \ represents \ a \ an \ the # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. Note that you specify absolute paths here, but also # relative paths, which will be relative from the directory where doxygen is # started. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful if your file system # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like regular Qt-style comments # (thus requiring an explicit @brief command for a brief description.) JAVADOC_AUTOBRIEF = NO # If the QT_AUTOBRIEF tag is set to YES then Doxygen will # interpret the first line (until the first dot) of a Qt-style # comment as the brief description. If set to NO, the comments # will behave just like regular Qt-style comments (thus requiring # an explicit \brief command for a brief description.) QT_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 4 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # This tag can be used to specify a number of word-keyword mappings (TCL only). # A mapping has the form "name=value". For example adding # "class=itcl::class" will allow you to use the command class in the # itcl::class meaning. TCL_SUBST = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = YES # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for # Java. For instance, namespaces will be presented as packages, qualified # scopes will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources only. Doxygen will then generate output that is more tailored for # Fortran. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for # VHDL. OPTIMIZE_OUTPUT_VHDL = NO # Doxygen selects the parser to use depending on the extension of the files it # parses. With this tag you can assign which parser to use for a given # extension. Doxygen has a built-in mapping, but you can override or extend it # using this tag. The format is ext=language, where ext is a file extension, # and language is one of the parsers supported by doxygen: IDL, Java, # Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, # C++. For instance to make doxygen treat .inc files as Fortran files (default # is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note # that for custom extensions you also need to set FILE_PATTERNS otherwise the # files are not read by doxygen. EXTENSION_MAPPING = # If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all # comments according to the Markdown format, which allows for more readable # documentation. See http://daringfireball.net/projects/markdown/ for details. # The output of markdown processing is further processed by doxygen, so you # can mix doxygen, HTML, and XML commands with Markdown formatting. # Disable only in case of backward compatibilities issues. MARKDOWN_SUPPORT = YES # When enabled doxygen tries to link words that correspond to documented classes, # or namespaces to their corresponding documentation. Such a link can be # prevented in individual cases by by putting a % sign in front of the word or # globally by setting AUTOLINK_SUPPORT to NO. AUTOLINK_SUPPORT = YES # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also makes the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. # Doxygen will parse them like normal C++ but will assume all classes use public # instead of private inheritance when no explicit protection keyword is present. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate # getter and setter methods for a property. Setting this option to YES (the # default) will make doxygen replace the get and set methods by a property in # the documentation. This will only work if the methods are indeed getting or # setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES # When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and # unions are shown inside the group in which they are included (e.g. using # @ingroup) instead of on a separate page (for HTML and Man pages) or # section (for LaTeX and RTF). INLINE_GROUPED_CLASSES = NO # When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and # unions with only public data fields will be shown inline in the documentation # of the scope in which they are defined (i.e. file, namespace, or group # documentation), provided this scope is documented. If set to NO (the default), # structs, classes, and unions are shown on a separate page (for HTML and Man # pages) or section (for LaTeX and RTF). INLINE_SIMPLE_STRUCTS = NO # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, # namespace, or class. And the struct will be named TypeS. This can typically # be useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. TYPEDEF_HIDES_STRUCT = NO # The SYMBOL_CACHE_SIZE determines the size of the internal cache use to # determine which symbols to keep in memory and which to flush to disk. # When the cache is full, less often used symbols will be written to disk. # For small to medium size projects (<1000 input files) the default value is # probably good enough. For larger projects a too small cache size can cause # doxygen to be busy swapping symbols to and from disk most of the time # causing a significant performance penalty. # If the system has enough physical memory increasing the cache will improve the # performance by keeping more symbols in memory. Note that the value works on # a logarithmic scale so increasing the size by one will roughly double the # memory usage. The cache size is given by this formula: # 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, # corresponding to a cache size of 2^16 = 65536 symbols. SYMBOL_CACHE_SIZE = 0 # Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be # set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given # their name and scope. Since this can be an expensive process and often the # same symbol appear multiple times in the code, doxygen keeps a cache of # pre-resolved symbols. If the cache is too small doxygen will become slower. # If the cache is too large, memory is wasted. The cache size is given by this # formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, # corresponding to a cache size of 2^16 = 65536 symbols. LOOKUP_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = NO # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = NO # If the EXTRACT_PACKAGE tag is set to YES all members with package or internal # scope will be included in the documentation. EXTRACT_PACKAGE = NO # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = NO # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = NO # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base # name of the file that contains the anonymous namespace. By default # anonymous namespaces are hidden. EXTRACT_ANON_NSPACES = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = YES # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = YES # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = NO # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = YES # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen # will list include files with double quotes in the documentation # rather than with sharp brackets. FORCE_LOCAL_INCLUDES = NO # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = NO # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen # will sort the (brief and detailed) documentation of class members so that # constructors and destructors are listed first. If set to NO (the default) # the constructors will appear in the respective orders defined by # SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. # This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO # and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. SORT_MEMBERS_CTORS_1ST = NO # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the # hierarchy of group names into alphabetical order. If set to NO (the default) # the group names will appear in their defined order. SORT_GROUP_NAMES = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to # do proper type resolution of all parameters of a function it will reject a # match between the prototype and the implementation of a member function even # if there is only one candidate or it is obvious which candidate to choose # by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen # will still accept a match between prototype and implementation in such cases. STRICT_PROTO_MATCHING = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if section-label ... \endif # and \cond section-label ... \endcond blocks. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or macro consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and macros in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # Set the SHOW_FILES tag to NO to disable the generation of the Files page. # This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the # Namespaces page. This will remove the Namespaces entry from the Quick Index # and from the Folder Tree View (if specified). The default is YES. SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed # by doxygen. The layout file controls the global structure of the generated # output files in an output format independent way. To create the layout file # that represents doxygen's defaults, run doxygen with the -l option. # You can optionally specify a file name after the option, if omitted # DoxygenLayout.xml will be used as the name of the layout file. LAYOUT_FILE = # The CITE_BIB_FILES tag can be used to specify one or more bib files # containing the references data. This must be a list of .bib files. The # .bib extension is automatically appended if omitted. Using this command # requires the bibtex tool to be installed. See also # http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style # of the bibliography can be controlled using LATEX_BIB_STYLE. To use this # feature you need bibtex and perl available in the search path. Do not use # file names with spaces, bibtex cannot handle them. CITE_BIB_FILES = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # The WARN_NO_PARAMDOC option can be enabled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is # also the default input encoding. Doxygen uses libiconv (or the iconv built # into libc) for the transcoding. See http://www.gnu.org/software/libiconv for # the list of possible encodings. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh # *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py # *.f90 *.f *.for *.vhd *.vhdl FILE_PATTERNS = *.h # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = NO # The EXCLUDE tag can be used to specify files and/or directories that should be # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. # Note that relative paths are relative to the directory from which doxygen is # run. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = * # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty or if # non of the patterns match the file name, INPUT_FILTER is applied. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO # The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file # pattern. A pattern will override the setting for FILTER_PATTERN (if any) # and it is also possible to disable source filtering for a specific pattern # using *.ext= (so without naming a filter). This option only has effect when # FILTER_SOURCE_FILES is enabled. FILTER_SOURCE_PATTERNS = # If the USE_MD_FILE_AS_MAINPAGE tag refers to the name of a markdown file that # is part of the input, its contents will be placed on the main page (index.html). # This can be useful if you have a project on for instance GitHub and want reuse # the introduction page also for the doxygen output. USE_MDFILE_AS_MAINPAGE = #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C, C++ and Fortran comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = NO # If the REFERENCES_RELATION tag is set to YES # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = NO # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will # link to the source code. Otherwise they will link to the documentation. REFERENCES_LINK_SOURCE = YES # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = YES # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. Note that when using a custom header you are responsible # for the proper inclusion of any scripts and style sheets that doxygen # needs, which is dependent on the configuration options used. # It is advised to generate a default header using "doxygen -w html # header.html footer.html stylesheet.css YourConfigFile" and then modify # that header. Note that the header is subject to change so you typically # have to redo this when upgrading to a newer version of doxygen or when # changing the value of configuration settings such as GENERATE_TREEVIEW! HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If left blank doxygen will # generate a default style sheet. Note that it is recommended to use # HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this # tag will in the future become obsolete. HTML_STYLESHEET = # The HTML_EXTRA_STYLESHEET tag can be used to specify an additional # user-defined cascading style sheet that is included after the standard # style sheets created by doxygen. Using this option one can overrule # certain style aspects. This is preferred over using HTML_STYLESHEET # since it does not replace the standard style sheet and is therefor more # robust against future updates. Doxygen will copy the style sheet file to # the output directory. HTML_EXTRA_STYLESHEET = # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the HTML output directory. Note # that these files will be copied to the base HTML output directory. Use the # $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these # files. In the HTML_STYLESHEET file, use the file name only. Also note that # the files will be copied as-is; there are no commands or markers available. HTML_EXTRA_FILES = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. # Doxygen will adjust the colors in the style sheet and background images # according to this color. Hue is specified as an angle on a colorwheel, # see http://en.wikipedia.org/wiki/Hue for more information. # For instance the value 0 represents red, 60 is yellow, 120 is green, # 180 is cyan, 240 is blue, 300 purple, and 360 is red again. # The allowed range is 0 to 359. HTML_COLORSTYLE_HUE = 220 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of # the colors in the HTML output. For a value of 0 the output will use # grayscales only. A value of 255 will produce the most vivid colors. HTML_COLORSTYLE_SAT = 100 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to # the luminance component of the colors in the HTML output. Values below # 100 gradually make the output lighter, whereas values above 100 make # the output darker. The value divided by 100 is the actual gamma applied, # so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, # and 100 does not change the gamma. HTML_COLORSTYLE_GAMMA = 80 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML # page will contain the date and time when the page was generated. Setting # this to NO can help when comparing the output of multiple runs. HTML_TIMESTAMP = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. HTML_DYNAMIC_SECTIONS = YES # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of # entries shown in the various tree structured indices initially; the user # can expand and collapse entries dynamically later on. Doxygen will expand # the tree to such a level that at most the specified number of entries are # visible (unless a fully collapsed tree already exceeds this amount). # So setting the number of entries 1 will produce a full collapsed tree by # default. 0 is a special value representing an infinite number of entries # and will result in a full expanded tree by default. HTML_INDEX_NUM_ENTRIES = 100 # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 # integrated development environment, introduced with OSX 10.5 (Leopard). # To create a documentation set, doxygen will generate a Makefile in the # HTML output directory. Running make will produce the docset in that # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. # See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html # for more information. GENERATE_DOCSET = NO # When GENERATE_DOCSET tag is set to YES, this tag determines the name of the # feed. A documentation feed provides an umbrella under which multiple # documentation sets from a single provider (such as a company or product suite) # can be grouped. DOCSET_FEEDNAME = "Doxygen generated docs" # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that # should uniquely identify the documentation set bundle. This should be a # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen # will append .docset to the name. DOCSET_BUNDLE_ID = org.doxygen.Project # When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely # identify the documentation publisher. This should be a reverse domain-name # style string, e.g. com.mycompany.MyDocSet.documentation. DOCSET_PUBLISHER_ID = org.doxygen.Publisher # The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING # is used to encode HtmlHelp index (hhk), content (hhc) and project file # content. CHM_INDEX_ENCODING = # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated # that can be used as input for Qt's qhelpgenerator to generate a # Qt Compressed Help (.qch) of the generated HTML documentation. GENERATE_QHP = NO # If the QHG_LOCATION tag is specified, the QCH_FILE tag can # be used to specify the file name of the resulting .qch file. # The path specified is relative to the HTML output folder. QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#namespace QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#virtual-folders QHP_VIRTUAL_FOLDER = doc # If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to # add. For more information please see # http://doc.trolltech.com/qthelpproject.html#custom-filters QHP_CUST_FILTER_NAME = # The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see # # Qt Help Project / Custom Filters. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project's # filter section matches. # # Qt Help Project / Filter Attributes. QHP_SECT_FILTER_ATTRS = # If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can # be used to specify the location of Qt's qhelpgenerator. # If non-empty doxygen will try to run qhelpgenerator on the generated # .qhp file. QHG_LOCATION = # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files # will be generated, which together with the HTML files, form an Eclipse help # plugin. To install this plugin and make it available under the help contents # menu in Eclipse, the contents of the directory containing the HTML and XML # files needs to be copied into the plugins directory of eclipse. The name of # the directory within the plugins directory should be the same as # the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before # the help appears. GENERATE_ECLIPSEHELP = NO # A unique identifier for the eclipse help plugin. When installing the plugin # the directory name containing the HTML and XML files should also have # this name. ECLIPSE_DOC_ID = org.doxygen.Project # The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) # at top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. Since the tabs have the same information as the # navigation tree you can set this option to NO if you already set # GENERATE_TREEVIEW to YES. DISABLE_INDEX = YES # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. # If the tag value is set to YES, a side panel will be generated # containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). # Windows users are probably better off using the HTML help feature. # Since the tree basically has the same information as the tab index you # could consider to set DISABLE_INDEX to NO when enabling this option. GENERATE_TREEVIEW = NO # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values # (range [0,1..20]) that doxygen will group on one line in the generated HTML # documentation. Note that a value of 0 will completely suppress the enum # values from appearing in the overview section. ENUM_VALUES_PER_LINE = 4 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 # When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open # links to external symbols imported via tag files in a separate window. EXT_LINKS_IN_WINDOW = NO # Use this tag to change the font size of Latex formulas included # as images in the HTML documentation. The default is 10. Note that # when you change the font size after a successful doxygen run you need # to manually remove any form_*.png images from the HTML output directory # to force them to be regenerated. FORMULA_FONTSIZE = 10 # Use the FORMULA_TRANPARENT tag to determine whether or not the images # generated for formulas are transparent PNGs. Transparent PNGs are # not supported properly for IE 6.0, but are supported on all modern browsers. # Note that when changing this option you need to delete any form_*.png files # in the HTML output before the changes have effect. FORMULA_TRANSPARENT = YES # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax # (see http://www.mathjax.org) which uses client side Javascript for the # rendering instead of using prerendered bitmaps. Use this if you do not # have LaTeX installed or if you want to formulas look prettier in the HTML # output. When enabled you may also need to install MathJax separately and # configure the path to it using the MATHJAX_RELPATH option. USE_MATHJAX = NO # When MathJax is enabled you can set the default output format to be used for # thA MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and # SVG. The default value is HTML-CSS, which is slower, but has the best # compatibility. MATHJAX_FORMAT = HTML-CSS # When MathJax is enabled you need to specify the location relative to the # HTML output directory using the MATHJAX_RELPATH option. The destination # directory should contain the MathJax.js script. For instance, if the mathjax # directory is located at the same level as the HTML output directory, then # MATHJAX_RELPATH should be ../mathjax. The default value points to # the MathJax Content Delivery Network so you can quickly see the result without # installing MathJax. However, it is strongly recommended to install a local # copy of MathJax from http://www.mathjax.org before deployment. MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest # The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension # names that should be enabled during MathJax rendering. MATHJAX_EXTENSIONS = # When the SEARCHENGINE tag is enabled doxygen will generate a search box # for the HTML output. The underlying search engine uses javascript # and DHTML and should work on any modern browser. Note that when using # HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets # (GENERATE_DOCSET) there is already a search function so this one should # typically be disabled. For large projects the javascript based search engine # can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. SEARCHENGINE = NO # When the SERVER_BASED_SEARCH tag is enabled the search engine will be # implemented using a web server instead of a web client using Javascript. # There are two flavours of web server based search depending on the # EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for # searching and an index file used by the script. When EXTERNAL_SEARCH is # enabled the indexing and searching needs to be provided by external tools. # See the manual for details. SERVER_BASED_SEARCH = NO # When EXTERNAL_SEARCH is enabled doxygen will no longer generate the PHP # script for searching. Instead the search results are written to an XML file # which needs to be processed by an external indexer. Doxygen will invoke an # external search engine pointed to by the SEARCHENGINE_URL option to obtain # the search results. Doxygen ships with an example indexer (doxyindexer) and # search engine (doxysearch.cgi) which are based on the open source search engine # library Xapian. See the manual for configuration details. EXTERNAL_SEARCH = NO # The SEARCHENGINE_URL should point to a search engine hosted by a web server # which will returned the search results when EXTERNAL_SEARCH is enabled. # Doxygen ships with an example search engine (doxysearch) which is based on # the open source search engine library Xapian. See the manual for configuration # details. SEARCHENGINE_URL = # When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed # search data is written to a file for indexing by an external tool. With the # SEARCHDATA_FILE tag the name of this file can be specified. SEARCHDATA_FILE = searchdata.xml # When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the # EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is # useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple # projects and redirect the results back to the right project. EXTERNAL_SEARCH_ID = # The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen # projects other than the one defined by this configuration file, but that are # all added to the same external search index. Each project needs to have a # unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id # of to a relative location where the documentation can be found. # The format is: EXTRA_SEARCH_MAPPINGS = id1=loc1 id2=loc2 ... EXTRA_SEARCH_MAPPINGS = #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. # Note that when enabling USE_PDFLATEX this option is only used for # generating bitmaps for formulas in the HTML output, but not in the # Makefile that is written to the output directory. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4 # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for # the generated latex document. The footer should contain everything after # the last chapter. If it is left blank doxygen will generate a # standard footer. Notice: only use this tag if you know what you are doing! LATEX_FOOTER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO # If LATEX_SOURCE_CODE is set to YES then doxygen will include # source code with syntax highlighting in the LaTeX output. # Note that which sources are shown also depends on other settings # such as SOURCE_BROWSER. LATEX_SOURCE_CODE = NO # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See # http://en.wikipedia.org/wiki/BibTeX for more info. LATEX_BIB_STYLE = plain #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load style sheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = YES # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = YES #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. This is useful # if you want to understand what is going on. On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # pointed to by INCLUDE_PATH will be searched when a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition that # overrules the definition found in the source code. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all references to function-like macros # that are alone on a line, have an all uppercase name, and do not end with a # semicolon, because these will confuse the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. For each # tag file the location of the external documentation should be added. The # format of a tag file without this location is as follows: # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths # or URLs. Note that each tag file must have a unique name (where the name does # NOT include the path). If a tag file is not located in the directory in which # doxygen is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option also works with HAVE_DOT disabled, but it is recommended to # install and use dot, since it yields more powerful graphs. CLASS_DIAGRAMS = NO # You can define message sequence charts within doxygen comments using the \msc # command. Doxygen will then run the mscgen tool (see # http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the # documentation. The MSCGEN_PATH tag allows you to specify the directory where # the mscgen tool resides. If left empty the tool is assumed to be found in the # default search path. MSCGEN_PATH = # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = NO # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is # allowed to run in parallel. When set to 0 (the default) doxygen will # base this on the number of processors available in the system. You can set it # explicitly to a value larger than 0 to get control over the balance # between CPU load and processing speed. DOT_NUM_THREADS = 0 # By default doxygen will use the Helvetica font for all dot files that # doxygen generates. When you want a differently looking font you can specify # the font name using DOT_FONTNAME. You need to make sure dot is able to find # the font, which can be done by putting it in a standard location or by setting # the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the # directory containing the font. DOT_FONTNAME = Helvetica # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. # The default size is 10pt. DOT_FONTSIZE = 10 # By default doxygen will tell dot to use the Helvetica font. # If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to # set the path where dot can find it. DOT_FONTPATH = # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = NO # If the UML_LOOK tag is enabled, the fields and methods are shown inside # the class node. If there are many fields or methods and many nodes the # graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS # threshold limits the number of items for each type to make the size more # managable. Set this to 0 for no limit. Note that the threshold may be # exceeded by 50% before the limit is enforced. UML_LIMIT_NUM_FIELDS = 10 # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT options are set to YES then # doxygen will generate a call dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable call graphs # for selected functions only using the \callgraph command. CALL_GRAPH = NO # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then # doxygen will generate a caller dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable caller # graphs for selected functions only using the \callergraph command. CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will generate a graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are svg, png, jpg, or gif. # If left blank png will be used. If you choose svg you need to set # HTML_FILE_EXTENSION to xhtml in order to make the SVG files # visible in IE 9+ (other browsers do not have this requirement). DOT_IMAGE_FORMAT = png # If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to # enable generation of interactive SVG images that allow zooming and panning. # Note that this requires a modern browser other than Internet Explorer. # Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you # need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files # visible. Older versions of IE do not have SVG support. INTERACTIVE_SVG = NO # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The MSCFILE_DIRS tag can be used to specify one or more directories that # contain msc files that are included in the documentation (see the # \mscfile command). MSCFILE_DIRS = # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is # visualized by representing a node as a red box. Note that doxygen if the # number of direct children of the root node in a graph is already larger than # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. DOT_GRAPH_MAX_NODES = 50 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that the size of a graph can be further restricted by # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, because dot on Windows does not # seem to support this out of the box. Warning: Depending on the platform used, # enabling this option may lead to badly anti-aliased labels on the edges of # a graph (i.e. they become hard to read). DOT_TRANSPARENT = NO # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES pacparser-1.3.6/docs/html/000077500000000000000000000000001257236634500154125ustar00rootroot00000000000000pacparser-1.3.6/docs/html/doxygen.css000066400000000000000000000614231257236634500176070ustar00rootroot00000000000000/* The standard CSS for doxygen 1.8.8 */ body, table, div, p, dl { font: 400 14px/22px Roboto,sans-serif; } /* @group Heading Levels */ h1.groupheader { font-size: 150%; } .title { font: 400 14px/28px Roboto,sans-serif; font-size: 150%; font-weight: bold; margin: 10px 2px; } h2.groupheader { border-bottom: 1px solid #879ECB; color: #354C7B; font-size: 150%; font-weight: normal; margin-top: 1.75em; padding-top: 8px; padding-bottom: 4px; width: 100%; } h3.groupheader { font-size: 100%; } h1, h2, h3, h4, h5, h6 { -webkit-transition: text-shadow 0.5s linear; -moz-transition: text-shadow 0.5s linear; -ms-transition: text-shadow 0.5s linear; -o-transition: text-shadow 0.5s linear; transition: text-shadow 0.5s linear; margin-right: 15px; } h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { text-shadow: 0 0 15px cyan; } dt { font-weight: bold; } div.multicol { -moz-column-gap: 1em; -webkit-column-gap: 1em; -moz-column-count: 3; -webkit-column-count: 3; } p.startli, p.startdd { margin-top: 2px; } p.starttd { margin-top: 0px; } p.endli { margin-bottom: 0px; } p.enddd { margin-bottom: 4px; } p.endtd { margin-bottom: 2px; } /* @end */ caption { font-weight: bold; } span.legend { font-size: 70%; text-align: center; } h3.version { font-size: 90%; text-align: center; } div.qindex, div.navtab{ background-color: #EBEFF6; border: 1px solid #A3B4D7; text-align: center; } div.qindex, div.navpath { width: 100%; line-height: 140%; } div.navtab { margin-right: 15px; } /* @group Link Styling */ a { color: #3D578C; font-weight: normal; text-decoration: none; } .contents a:visited { color: #4665A2; } a:hover { text-decoration: underline; } a.qindex { font-weight: bold; } a.qindexHL { font-weight: bold; background-color: #9CAFD4; color: #ffffff; border: 1px double #869DCA; } .contents a.qindexHL:visited { color: #ffffff; } a.el { font-weight: bold; } a.elRef { } a.code, a.code:visited, a.line, a.line:visited { color: #4665A2; } a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { color: #4665A2; } /* @end */ dl.el { margin-left: -1cm; } pre.fragment { border: 1px solid #C4CFE5; background-color: #FBFCFD; padding: 4px 6px; margin: 4px 8px 4px 2px; overflow: auto; word-wrap: break-word; font-size: 9pt; line-height: 125%; font-family: monospace, fixed; font-size: 105%; } div.fragment { padding: 4px 6px; margin: 4px 8px 4px 2px; background-color: #FBFCFD; border: 1px solid #C4CFE5; } div.line { font-family: monospace, fixed; font-size: 13px; min-height: 13px; line-height: 1.0; text-wrap: unrestricted; white-space: -moz-pre-wrap; /* Moz */ white-space: -pre-wrap; /* Opera 4-6 */ white-space: -o-pre-wrap; /* Opera 7 */ white-space: pre-wrap; /* CSS3 */ word-wrap: break-word; /* IE 5.5+ */ text-indent: -53px; padding-left: 53px; padding-bottom: 0px; margin: 0px; -webkit-transition-property: background-color, box-shadow; -webkit-transition-duration: 0.5s; -moz-transition-property: background-color, box-shadow; -moz-transition-duration: 0.5s; -ms-transition-property: background-color, box-shadow; -ms-transition-duration: 0.5s; -o-transition-property: background-color, box-shadow; -o-transition-duration: 0.5s; transition-property: background-color, box-shadow; transition-duration: 0.5s; } div.line.glow { background-color: cyan; box-shadow: 0 0 10px cyan; } span.lineno { padding-right: 4px; text-align: right; border-right: 2px solid #0F0; background-color: #E8E8E8; white-space: pre; } span.lineno a { background-color: #D8D8D8; } span.lineno a:hover { background-color: #C8C8C8; } div.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px; padding: 0.2em; border: solid thin #333; border-radius: 0.5em; -webkit-border-radius: .5em; -moz-border-radius: .5em; box-shadow: 2px 2px 3px #999; -webkit-box-shadow: 2px 2px 3px #999; -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); } div.groupHeader { margin-left: 16px; margin-top: 12px; font-weight: bold; } div.groupText { margin-left: 16px; font-style: italic; } body { background-color: white; color: black; margin: 0; } div.contents { margin-top: 10px; margin-left: 12px; margin-right: 8px; } td.indexkey { background-color: #EBEFF6; font-weight: bold; border: 1px solid #C4CFE5; margin: 2px 0px 2px 0; padding: 2px 10px; white-space: nowrap; vertical-align: top; } td.indexvalue { background-color: #EBEFF6; border: 1px solid #C4CFE5; padding: 2px 10px; margin: 2px 0px; } tr.memlist { background-color: #EEF1F7; } p.formulaDsp { text-align: center; } img.formulaDsp { } img.formulaInl { vertical-align: middle; } div.center { text-align: center; margin-top: 0px; margin-bottom: 0px; padding: 0px; } div.center img { border: 0px; } address.footer { text-align: right; padding-right: 12px; } img.footer { border: 0px; vertical-align: middle; } /* @group Code Colorization */ span.keyword { color: #008000 } span.keywordtype { color: #604020 } span.keywordflow { color: #e08000 } span.comment { color: #800000 } span.preprocessor { color: #806020 } span.stringliteral { color: #002080 } span.charliteral { color: #008080 } span.vhdldigit { color: #ff00ff } span.vhdlchar { color: #000000 } span.vhdlkeyword { color: #700070 } span.vhdllogic { color: #ff0000 } blockquote { background-color: #F7F8FB; border-left: 2px solid #9CAFD4; margin: 0 24px 0 4px; padding: 0 12px 0 16px; } /* @end */ /* .search { color: #003399; font-weight: bold; } form.search { margin-bottom: 0px; margin-top: 0px; } input.search { font-size: 75%; color: #000080; font-weight: normal; background-color: #e8eef2; } */ td.tiny { font-size: 75%; } .dirtab { padding: 4px; border-collapse: collapse; border: 1px solid #A3B4D7; } th.dirtab { background: #EBEFF6; font-weight: bold; } hr { height: 0px; border: none; border-top: 1px solid #4A6AAA; } hr.footer { height: 1px; } /* @group Member Descriptions */ table.memberdecls { border-spacing: 0px; padding: 0px; } .memberdecls td, .fieldtable tr { -webkit-transition-property: background-color, box-shadow; -webkit-transition-duration: 0.5s; -moz-transition-property: background-color, box-shadow; -moz-transition-duration: 0.5s; -ms-transition-property: background-color, box-shadow; -ms-transition-duration: 0.5s; -o-transition-property: background-color, box-shadow; -o-transition-duration: 0.5s; transition-property: background-color, box-shadow; transition-duration: 0.5s; } .memberdecls td.glow, .fieldtable tr.glow { background-color: cyan; box-shadow: 0 0 15px cyan; } .mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams { background-color: #F9FAFC; border: none; margin: 4px; padding: 1px 0 0 8px; } .mdescLeft, .mdescRight { padding: 0px 8px 4px 8px; color: #555; } .memSeparator { border-bottom: 1px solid #DEE4F0; line-height: 1px; margin: 0px; padding: 0px; } .memItemLeft, .memTemplItemLeft { white-space: nowrap; } .memItemRight { width: 100%; } .memTemplParams { color: #4665A2; white-space: nowrap; font-size: 80%; } /* @end */ /* @group Member Details */ /* Styles for detailed member documentation */ .memtemplate { font-size: 80%; color: #4665A2; font-weight: normal; margin-left: 9px; } .memnav { background-color: #EBEFF6; border: 1px solid #A3B4D7; text-align: center; margin: 2px; margin-right: 15px; padding: 2px; } .mempage { width: 100%; } .memitem { padding: 0; margin-bottom: 10px; margin-right: 5px; -webkit-transition: box-shadow 0.5s linear; -moz-transition: box-shadow 0.5s linear; -ms-transition: box-shadow 0.5s linear; -o-transition: box-shadow 0.5s linear; transition: box-shadow 0.5s linear; display: table !important; width: 100%; } .memitem.glow { box-shadow: 0 0 15px cyan; } .memname { font-weight: bold; margin-left: 6px; } .memname td { vertical-align: bottom; } .memproto, dl.reflist dt { border-top: 1px solid #A8B8D9; border-left: 1px solid #A8B8D9; border-right: 1px solid #A8B8D9; padding: 6px 0px 6px 0px; color: #253555; font-weight: bold; text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); background-image:url('nav_f.png'); background-repeat:repeat-x; background-color: #E2E8F2; /* opera specific markup */ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); border-top-right-radius: 4px; border-top-left-radius: 4px; /* firefox specific markup */ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; -moz-border-radius-topright: 4px; -moz-border-radius-topleft: 4px; /* webkit specific markup */ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -webkit-border-top-right-radius: 4px; -webkit-border-top-left-radius: 4px; } .memdoc, dl.reflist dd { border-bottom: 1px solid #A8B8D9; border-left: 1px solid #A8B8D9; border-right: 1px solid #A8B8D9; padding: 6px 10px 2px 10px; background-color: #FBFCFD; border-top-width: 0; background-image:url('nav_g.png'); background-repeat:repeat-x; background-color: #FFFFFF; /* opera specific markup */ border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); /* firefox specific markup */ -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; /* webkit specific markup */ -webkit-border-bottom-left-radius: 4px; -webkit-border-bottom-right-radius: 4px; -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); } dl.reflist dt { padding: 5px; } dl.reflist dd { margin: 0px 0px 10px 0px; padding: 5px; } .paramkey { text-align: right; } .paramtype { white-space: nowrap; } .paramname { color: #602020; white-space: nowrap; } .paramname em { font-style: normal; } .paramname code { line-height: 14px; } .params, .retval, .exception, .tparams { margin-left: 0px; padding-left: 0px; } .params .paramname, .retval .paramname { font-weight: bold; vertical-align: top; } .params .paramtype { font-style: italic; vertical-align: top; } .params .paramdir { font-family: "courier new",courier,monospace; vertical-align: top; } table.mlabels { border-spacing: 0px; } td.mlabels-left { width: 100%; padding: 0px; } td.mlabels-right { vertical-align: bottom; padding: 0px; white-space: nowrap; } span.mlabels { margin-left: 8px; } span.mlabel { background-color: #728DC1; border-top:1px solid #5373B4; border-left:1px solid #5373B4; border-right:1px solid #C4CFE5; border-bottom:1px solid #C4CFE5; text-shadow: none; color: white; margin-right: 4px; padding: 2px 3px; border-radius: 3px; font-size: 7pt; white-space: nowrap; vertical-align: middle; } /* @end */ /* these are for tree view inside a (index) page */ div.directory { margin: 10px 0px; border-top: 1px solid #9CAFD4; border-bottom: 1px solid #9CAFD4; width: 100%; } .directory table { border-collapse:collapse; } .directory td { margin: 0px; padding: 0px; vertical-align: top; } .directory td.entry { white-space: nowrap; padding-right: 6px; padding-top: 3px; } .directory td.entry a { outline:none; } .directory td.entry a img { border: none; } .directory td.desc { width: 100%; padding-left: 6px; padding-right: 6px; padding-top: 3px; border-left: 1px solid rgba(0,0,0,0.05); } .directory tr.even { padding-left: 6px; background-color: #F7F8FB; } .directory img { vertical-align: -30%; } .directory .levels { white-space: nowrap; width: 100%; text-align: right; font-size: 9pt; } .directory .levels span { cursor: pointer; padding-left: 2px; padding-right: 2px; color: #3D578C; } .arrow { color: #9CAFD4; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; cursor: pointer; font-size: 80%; display: inline-block; width: 16px; height: 22px; } .icon { font-family: Arial, Helvetica; font-weight: bold; font-size: 12px; height: 14px; width: 16px; display: inline-block; background-color: #728DC1; color: white; text-align: center; border-radius: 4px; margin-left: 2px; margin-right: 2px; } .icona { width: 24px; height: 22px; display: inline-block; } .iconfopen { width: 24px; height: 18px; margin-bottom: 4px; background-image:url('ftv2folderopen.png'); background-position: 0px -4px; background-repeat: repeat-y; vertical-align:top; display: inline-block; } .iconfclosed { width: 24px; height: 18px; margin-bottom: 4px; background-image:url('ftv2folderclosed.png'); background-position: 0px -4px; background-repeat: repeat-y; vertical-align:top; display: inline-block; } .icondoc { width: 24px; height: 18px; margin-bottom: 4px; background-image:url('ftv2doc.png'); background-position: 0px -4px; background-repeat: repeat-y; vertical-align:top; display: inline-block; } table.directory { font: 400 14px Roboto,sans-serif; } /* @end */ div.dynheader { margin-top: 8px; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } address { font-style: normal; color: #2A3D61; } table.doxtable { border-collapse:collapse; margin-top: 4px; margin-bottom: 4px; } table.doxtable td, table.doxtable th { border: 1px solid #2D4068; padding: 3px 7px 2px; } table.doxtable th { background-color: #374F7F; color: #FFFFFF; font-size: 110%; padding-bottom: 4px; padding-top: 5px; } table.fieldtable { /*width: 100%;*/ margin-bottom: 10px; border: 1px solid #A8B8D9; border-spacing: 0px; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); } .fieldtable td, .fieldtable th { padding: 3px 7px 2px; } .fieldtable td.fieldtype, .fieldtable td.fieldname { white-space: nowrap; border-right: 1px solid #A8B8D9; border-bottom: 1px solid #A8B8D9; vertical-align: top; } .fieldtable td.fieldname { padding-top: 3px; } .fieldtable td.fielddoc { border-bottom: 1px solid #A8B8D9; /*width: 100%;*/ } .fieldtable td.fielddoc p:first-child { margin-top: 0px; } .fieldtable td.fielddoc p:last-child { margin-bottom: 2px; } .fieldtable tr:last-child td { border-bottom: none; } .fieldtable th { background-image:url('nav_f.png'); background-repeat:repeat-x; background-color: #E2E8F2; font-size: 90%; color: #253555; padding-bottom: 4px; padding-top: 5px; text-align:left; -moz-border-radius-topleft: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-left-radius: 4px; -webkit-border-top-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom: 1px solid #A8B8D9; } .tabsearch { top: 0px; left: 10px; height: 36px; background-image: url('tab_b.png'); z-index: 101; overflow: hidden; font-size: 13px; } .navpath ul { font-size: 11px; background-image:url('tab_b.png'); background-repeat:repeat-x; background-position: 0 -5px; height:30px; line-height:30px; color:#8AA0CC; border:solid 1px #C2CDE4; overflow:hidden; margin:0px; padding:0px; } .navpath li { list-style-type:none; float:left; padding-left:10px; padding-right:15px; background-image:url('bc_s.png'); background-repeat:no-repeat; background-position:right; color:#364D7C; } .navpath li.navelem a { height:32px; display:block; text-decoration: none; outline: none; color: #283A5D; font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); text-decoration: none; } .navpath li.navelem a:hover { color:#6884BD; } .navpath li.footer { list-style-type:none; float:right; padding-left:10px; padding-right:15px; background-image:none; background-repeat:no-repeat; background-position:right; color:#364D7C; font-size: 8pt; } div.summary { float: right; font-size: 8pt; padding-right: 5px; width: 50%; text-align: right; } div.summary a { white-space: nowrap; } div.ingroups { font-size: 8pt; width: 50%; text-align: left; } div.ingroups a { white-space: nowrap; } div.header { background-image:url('nav_h.png'); background-repeat:repeat-x; background-color: #F9FAFC; margin: 0px; border-bottom: 1px solid #C4CFE5; } div.headertitle { padding: 5px 5px 5px 10px; } dl { padding: 0 0 0 10px; } /* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ dl.section { margin-left: 0px; padding-left: 0px; } dl.note { margin-left:-7px; padding-left: 3px; border-left:4px solid; border-color: #D0C000; } dl.warning, dl.attention { margin-left:-7px; padding-left: 3px; border-left:4px solid; border-color: #FF0000; } dl.pre, dl.post, dl.invariant { margin-left:-7px; padding-left: 3px; border-left:4px solid; border-color: #00D000; } dl.deprecated { margin-left:-7px; padding-left: 3px; border-left:4px solid; border-color: #505050; } dl.todo { margin-left:-7px; padding-left: 3px; border-left:4px solid; border-color: #00C0E0; } dl.test { margin-left:-7px; padding-left: 3px; border-left:4px solid; border-color: #3030E0; } dl.bug { margin-left:-7px; padding-left: 3px; border-left:4px solid; border-color: #C08050; } dl.section dd { margin-bottom: 6px; } #projectlogo { text-align: center; vertical-align: bottom; border-collapse: separate; } #projectlogo img { border: 0px none; } #projectname { font: 300% Tahoma, Arial,sans-serif; margin: 0px; padding: 2px 0px; } #projectbrief { font: 120% Tahoma, Arial,sans-serif; margin: 0px; padding: 0px; } #projectnumber { font: 50% Tahoma, Arial,sans-serif; margin: 0px; padding: 0px; } #titlearea { padding: 0px; margin: 0px; width: 100%; border-bottom: 1px solid #5373B4; } .image { text-align: center; } .dotgraph { text-align: center; } .mscgraph { text-align: center; } .diagraph { text-align: center; } .caption { font-weight: bold; } div.zoom { border: 1px solid #90A5CE; } dl.citelist { margin-bottom:50px; } dl.citelist dt { color:#334975; float:left; font-weight:bold; margin-right:10px; padding:5px; } dl.citelist dd { margin:2px 0; padding:5px 0; } div.toc { padding: 14px 25px; background-color: #F4F6FA; border: 1px solid #D8DFEE; border-radius: 7px 7px 7px 7px; float: right; height: auto; margin: 0 20px 10px 10px; width: 200px; } div.toc li { background: url("bdwn.png") no-repeat scroll 0 5px transparent; font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; margin-top: 5px; padding-left: 10px; padding-top: 2px; } div.toc h3 { font: bold 12px/1.2 Arial,FreeSans,sans-serif; color: #4665A2; border-bottom: 0 none; margin: 0; } div.toc ul { list-style: none outside none; border: medium none; padding: 0px; } div.toc li.level1 { margin-left: 0px; } div.toc li.level2 { margin-left: 15px; } div.toc li.level3 { margin-left: 30px; } div.toc li.level4 { margin-left: 45px; } .inherit_header { font-weight: bold; color: gray; cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .inherit_header td { padding: 6px 0px 2px 5px; } .inherit { display: none; } tr.heading h2 { margin-top: 12px; margin-bottom: 4px; } /* tooltip related style info */ .ttc { position: absolute; display: none; } #powerTip { cursor: default; white-space: nowrap; background-color: white; border: 1px solid gray; border-radius: 4px 4px 4px 4px; box-shadow: 1px 1px 7px gray; display: none; font-size: smaller; max-width: 80%; opacity: 0.9; padding: 1ex 1em 1em; position: absolute; z-index: 2147483647; } #powerTip div.ttdoc { color: grey; font-style: italic; } #powerTip div.ttname a { font-weight: bold; } #powerTip div.ttname { font-weight: bold; } #powerTip div.ttdeci { color: #006318; } #powerTip div { margin: 0px; padding: 0px; font: 12px/16px Roboto,sans-serif; } #powerTip:before, #powerTip:after { content: ""; position: absolute; margin: 0px; } #powerTip.n:after, #powerTip.n:before, #powerTip.s:after, #powerTip.s:before, #powerTip.w:after, #powerTip.w:before, #powerTip.e:after, #powerTip.e:before, #powerTip.ne:after, #powerTip.ne:before, #powerTip.se:after, #powerTip.se:before, #powerTip.nw:after, #powerTip.nw:before, #powerTip.sw:after, #powerTip.sw:before { border: solid transparent; content: " "; height: 0; width: 0; position: absolute; } #powerTip.n:after, #powerTip.s:after, #powerTip.w:after, #powerTip.e:after, #powerTip.nw:after, #powerTip.ne:after, #powerTip.sw:after, #powerTip.se:after { border-color: rgba(255, 255, 255, 0); } #powerTip.n:before, #powerTip.s:before, #powerTip.w:before, #powerTip.e:before, #powerTip.nw:before, #powerTip.ne:before, #powerTip.sw:before, #powerTip.se:before { border-color: rgba(128, 128, 128, 0); } #powerTip.n:after, #powerTip.n:before, #powerTip.ne:after, #powerTip.ne:before, #powerTip.nw:after, #powerTip.nw:before { top: 100%; } #powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { border-top-color: #ffffff; border-width: 10px; margin: 0px -10px; } #powerTip.n:before { border-top-color: #808080; border-width: 11px; margin: 0px -11px; } #powerTip.n:after, #powerTip.n:before { left: 50%; } #powerTip.nw:after, #powerTip.nw:before { right: 14px; } #powerTip.ne:after, #powerTip.ne:before { left: 14px; } #powerTip.s:after, #powerTip.s:before, #powerTip.se:after, #powerTip.se:before, #powerTip.sw:after, #powerTip.sw:before { bottom: 100%; } #powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { border-bottom-color: #ffffff; border-width: 10px; margin: 0px -10px; } #powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { border-bottom-color: #808080; border-width: 11px; margin: 0px -11px; } #powerTip.s:after, #powerTip.s:before { left: 50%; } #powerTip.sw:after, #powerTip.sw:before { right: 14px; } #powerTip.se:after, #powerTip.se:before { left: 14px; } #powerTip.e:after, #powerTip.e:before { left: 100%; } #powerTip.e:after { border-left-color: #ffffff; border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.e:before { border-left-color: #808080; border-width: 11px; top: 50%; margin-top: -11px; } #powerTip.w:after, #powerTip.w:before { right: 100%; } #powerTip.w:after { border-right-color: #ffffff; border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.w:before { border-right-color: #808080; border-width: 11px; top: 50%; margin-top: -11px; } @media print { #top { display: none; } #side-nav { display: none; } #nav-path { display: none; } body { overflow:visible; } h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } .summary { display: none; } .memitem { page-break-inside: avoid; } #doc-content { margin-left:0 !important; height:auto !important; width:auto !important; overflow:inherit; display:inline; } } pacparser-1.3.6/docs/html/pacparser.html000066400000000000000000000475351257236634500202760ustar00rootroot00000000000000 Pacparser: pacparser
Pacparser
A library to make your web software pac (proxy auto-config) files intelligent.
pacparser

API for pacparser library, a library to use proxy auto-config (PAC) files. See project homepage: http://github.com/pacparser/pacparser for more information. More...

Typedefs

typedef int(* pacparser_error_printer )(const char *fmt, va_list argp)
 Type definition for pacparser_error_printer.
 

Functions

int pacparser_init (void)
 Initializes pac parser. More...
 
int pacparser_parse_pac_file (const char *pacfile)
 Parses the given PAC file. More...
 
int pacparser_parse_pac_string (const char *pacstring)
 Parses the given PAC script string. More...
 
int pacparser_parse_pac (const char *pacfile)
 Parses the gievn pac file. More...
 
char * pacparser_find_proxy (const char *url, const char *host)
 Finds proxy for the given URL and Host. More...
 
char * pacparser_just_find_proxy (const char *pacfile, const char *url, const char *host)
 Finds proxy for the given PAC file, URL and Host. More...
 
void pacparser_cleanup (void)
 Destroys JavaSctipt context. More...
 
void pacparser_setmyip (const char *ip)
 Sets my IP address. More...
 
void pacparser_set_error_printer (pacparser_error_printer func)
 Sets error printing function. More...
 
void pacparser_enable_microsoft_extensions (void)
 (Deprecated) Enable Microsoft IPv6 PAC extensions. More...
 
char * pacparser_version (void)
 Returns pacparser version. More...
 

Detailed Description

API for pacparser library, a library to use proxy auto-config (PAC) files. See project homepage: http://github.com/pacparser/pacparser for more information.

Author
Manu Garg manug.nosp@m.arg@.nosp@m.gmail.nosp@m..com

Function Documentation

int pacparser_init ( void  )

Initializes pac parser.

Returns
0 on failure and 1 on success.

Initializes JavaScript engine and does few basic initializations specific to pacparser.

int pacparser_parse_pac_file ( const char *  pacfile)

Parses the given PAC file.

Parameters
pacfilePAC file to parse.
Returns
0 on failure and 1 on success.

Reads the given PAC file and evaluates it in the JavaScript context created by pacparser_init.

int pacparser_parse_pac_string ( const char *  pacstring)

Parses the given PAC script string.

Parameters
pacstringPAC string to parse.
Returns
0 on failure and 1 on success.

Evaulates the given PAC script string in the JavaScript context created by pacparser_init.

int pacparser_parse_pac ( const char *  pacfile)

Parses the gievn pac file.

Deprecated:
Use pacparser_parse_pac_file instead.
Parameters
pacfilePAC file to parse.
Returns
0 on failure and 1 on success.

Same as pacparser_parse_pac_file. Included only for backward compatibility.

char* pacparser_find_proxy ( const char *  url,
const char *  host 
)

Finds proxy for the given URL and Host.

Parameters
urlURL to find proxy for.
hostHost part of the URL.
Returns
proxy string on sucess and NULL on error.

Finds proxy for the given URL and Host. This function should be called only after pacparser engine has been initialized (using pacparser_init) and pac script has been parsed (using pacparser_parse_pac_file or pacparser_parse_pac_string).

char* pacparser_just_find_proxy ( const char *  pacfile,
const char *  url,
const char *  host 
)

Finds proxy for the given PAC file, URL and Host.

Parameters
pacfilePAC file to parse.
urlURL to find proxy for.
hostHost part of the URL.
Returns
proxy string on success and NULL on error.

This function is a wrapper around functions pacparser_init, pacparser_parse_pac_file, pacparser_find_proxy and pacparser_cleanup. If you just want to find out proxy for a given set of pac file, url and host, this is the function to call. This function takes care of all the initialization and cleanup.

void pacparser_cleanup ( void  )

Destroys JavaSctipt context.

This function should be called once you're done with using pacparser engine.

void pacparser_setmyip ( const char *  ip)

Sets my IP address.

Parameters
ipCustom IP address.

Sets my IP address to a custom value. This is the IP address returned by myIpAddress() javascript function.

void pacparser_set_error_printer ( pacparser_error_printer  func)

Sets error printing function.

Parameters
funcPrinting function.

Sets error variadic-argument printing function. If not set the messages are printed to stderr. If messages begin with DEBUG: or WARNING:, they are not fatal error messages, otherwise they are. May be called before pacparser_init().

void pacparser_enable_microsoft_extensions ( void  )

(Deprecated) Enable Microsoft IPv6 PAC extensions.

Deprecated. IPv6 extension (*Ex functions) are enabled by default now.

char* pacparser_version ( void  )

Returns pacparser version.

Returns
version string if version defined, "" otherwise.

Version string is determined at the time of build. If built from a released package, version corresponds to the latest release (git) tag. If built from the repository, it corresponds to the head revision of the repo.

pacparser-1.3.6/docs/html/pactester.1.html000066400000000000000000000063211257236634500204330ustar00rootroot00000000000000 "pactester"("1") manual page Table of Contents

Name

pactester - Tool to test proxy auto-config (pac) files.

Synopsis

pactester <-p pacfile> <-u url> [-h host] [-c client_ip] [-e]

pactester <-p pacfile> <-f urlslist> [-c client_ip] [-e]

Description

pactester is a tool to test proxy auto-config (pac) files. It returns the proxy config string for the given URL and the pac file. pactester uses pacparser C library for most of its functionality.

Options

-p pacfile
PAC file to test. Specify "-" to read from the standard input.
-u url
URL to test the PAC file for.
-h host
Host part of the URL. If not specified, it’s determined from the URL.
-c client_ip
Client’s IP address (as returned by the function myIpAddress() in PAC files). If not specified, it defaults to the IP address of the machine on which this tool is running.
-e
Enable Microsoft PAC extensions (dnsResolveEx, myIpAddressEx, isResolvableEx).
-f urlslist
A file containing the list of URLs to be tested. This is good for testing a PAC file against a set of URLs.

Examples

To find out the proxy config string for the pac file "wpad.dat" and the URL "http://www.google.com ":

$ pactester -p wpad.dat -u http://www.google.com

For a client with IP address 10.0.12.123:

$ pactester -p wpad.dat -c 10.0.12.123 -u http://www.google.com

For a pac file hosted at http://wpad/wpad.dat:

$ curl -s http://wpad/wpad.dat | pactester -p - -u http://google.com

Bugs

If you have come across a bug in pactester, please submit a bug report at http://code.google.com/p/pacparser/issues/list.

Author

Written by Manu Garg (http://www.manugarg.com).

Resources

Homepage: http://code.google.com/p/pacparser.


Table of Contents

pacparser-1.3.6/docs/man/000077500000000000000000000000001257236634500152215ustar00rootroot00000000000000pacparser-1.3.6/docs/man/man1/000077500000000000000000000000001257236634500160555ustar00rootroot00000000000000pacparser-1.3.6/docs/man/man1/pactester.1000066400000000000000000000033721257236634500201360ustar00rootroot00000000000000.TH "pactester" "1" "" "" "" .SH "NAME" pactester \- Tool to test proxy auto\-config (pac) files. .SH "SYNOPSIS" .B pactester <\-p pacfile> <\-u url> [\-h host] [\-c client_ip] [\-e] .PP .B pactester <\-p pacfile> <\-f urlslist> [\-c client_ip] [\-e] .SH "DESCRIPTION" pactester is a tool to test proxy auto\-config (pac) files. It returns the proxy config string for the given URL and the pac file. pactester uses pacparser C library for most of its functionality. .SH "OPTIONS" .TP .B \-p pacfile PAC file to test. Specify "-" to read from the standard input. .TP .B \-u url URL to test the PAC file for. .TP .B \-h host Host part of the URL. If not specified, it's determined from the URL. .TP .B \-c client_ip Client's IP address (as returned by the function myIpAddress() in PAC files). If not specified, it defaults to the IP address of the machine on which this tool is running. .TP .B \-e Enable Microsoft PAC extensions (dnsResolveEx, myIpAddressEx, isResolvableEx). .TP .B \-f urlslist A file containing the list of URLs to be tested. This is good for testing a PAC file against a set of URLs. .SH "EXAMPLES" .PP To find out the proxy config string for the pac file "wpad.dat" and the URL "http://www.google.com": .PP $ pactester \-p wpad.dat \-u http://www.google.com For a client with IP address 10.0.12.123: .PP $ pactester \-p wpad.dat \-c 10.0.12.123 \-u http://www.google.com For a pac file hosted at http://wpad/wpad.dat: .PP $ curl \-s http://wpad/wpad.dat | pactester \-p \- \-u http://google.com .SH "BUGS" If you have come across a bug in pactester, please submit a bug report at http://code.google.com/p/pacparser/issues/list. .SH "AUTHOR" Written by Manu Garg (http://www.manugarg.com). .SH "RESOURCES" Homepage: http://code.google.com/p/pacparser. pacparser-1.3.6/docs/man/man3/000077500000000000000000000000001257236634500160575ustar00rootroot00000000000000pacparser-1.3.6/docs/man/man3/pacparser.3000066400000000000000000000140171257236634500201260ustar00rootroot00000000000000.TH "pacparser" 3 "Tue Sep 1 2015" "Pacparser" \" -*- nroff -*- .ad l .nh .SH NAME pacparser - Library to parse proxy auto-confg (PAC) files. .PP API for pacparser library, a library to use proxy auto-config (PAC) files\&. See project homepage: http://github.com/pacparser/pacparser for more information\&. .SS "Typedefs" .in +1c .ti -1c .RI "typedef int(* \fBpacparser_error_printer\fP )(const char *fmt, va_list argp)" .br .RI "\fIType definition for pacparser_error_printer\&. \fP" .in -1c .SS "Functions" .in +1c .ti -1c .RI "int \fBpacparser_init\fP (void)" .br .RI "\fIInitializes pac parser\&. \fP" .ti -1c .RI "int \fBpacparser_parse_pac_file\fP (const char *pacfile)" .br .RI "\fIParses the given PAC file\&. \fP" .ti -1c .RI "int \fBpacparser_parse_pac_string\fP (const char *pacstring)" .br .RI "\fIParses the given PAC script string\&. \fP" .ti -1c .RI "int \fBpacparser_parse_pac\fP (const char *pacfile)" .br .RI "\fIParses the gievn pac file\&. \fP" .ti -1c .RI "char * \fBpacparser_find_proxy\fP (const char *url, const char *host)" .br .RI "\fIFinds proxy for the given URL and Host\&. \fP" .ti -1c .RI "char * \fBpacparser_just_find_proxy\fP (const char *pacfile, const char *url, const char *host)" .br .RI "\fIFinds proxy for the given PAC file, URL and Host\&. \fP" .ti -1c .RI "void \fBpacparser_cleanup\fP (void)" .br .RI "\fIDestroys JavaSctipt context\&. \fP" .ti -1c .RI "void \fBpacparser_setmyip\fP (const char *ip)" .br .RI "\fISets my IP address\&. \fP" .ti -1c .RI "void \fBpacparser_set_error_printer\fP (\fBpacparser_error_printer\fP func)" .br .RI "\fISets error printing function\&. \fP" .ti -1c .RI "void \fBpacparser_enable_microsoft_extensions\fP (void)" .br .RI "\fI(Deprecated) Enable Microsoft IPv6 PAC extensions\&. \fP" .ti -1c .RI "char * \fBpacparser_version\fP (void)" .br .RI "\fIReturns pacparser version\&. \fP" .in -1c .SH "Detailed Description" .PP API for pacparser library, a library to use proxy auto-config (PAC) files\&. See project homepage: http://github.com/pacparser/pacparser for more information\&. .PP \fBAuthor:\fP .RS 4 Manu Garg manugarg@gmail.com .RE .PP .SH "Function Documentation" .PP .SS "int pacparser_init (void)" .PP Initializes pac parser\&. .PP \fBReturns:\fP .RS 4 0 on failure and 1 on success\&. .RE .PP Initializes JavaScript engine and does few basic initializations specific to pacparser\&. .SS "int pacparser_parse_pac_file (const char *pacfile)" .PP Parses the given PAC file\&. .PP \fBParameters:\fP .RS 4 \fIpacfile\fP PAC file to parse\&. .RE .PP \fBReturns:\fP .RS 4 0 on failure and 1 on success\&. .RE .PP Reads the given PAC file and evaluates it in the JavaScript context created by pacparser_init\&. .SS "int pacparser_parse_pac_string (const char *pacstring)" .PP Parses the given PAC script string\&. .PP \fBParameters:\fP .RS 4 \fIpacstring\fP PAC string to parse\&. .RE .PP \fBReturns:\fP .RS 4 0 on failure and 1 on success\&. .RE .PP Evaulates the given PAC script string in the JavaScript context created by pacparser_init\&. .SS "int pacparser_parse_pac (const char *pacfile)" .PP Parses the gievn pac file\&. .PP \fBDeprecated\fP .RS 4 Use pacparser_parse_pac_file instead\&. .PP \fBParameters:\fP .RS 4 \fIpacfile\fP PAC file to parse\&. .RE .PP \fBReturns:\fP .RS 4 0 on failure and 1 on success\&. .RE .PP .RE .PP .PP Same as pacparser_parse_pac_file\&. Included only for backward compatibility\&. .SS "char* pacparser_find_proxy (const char *url, const char *host)" .PP Finds proxy for the given URL and Host\&. .PP \fBParameters:\fP .RS 4 \fIurl\fP URL to find proxy for\&. .br \fIhost\fP Host part of the URL\&. .RE .PP \fBReturns:\fP .RS 4 proxy string on sucess and NULL on error\&. .RE .PP Finds proxy for the given URL and Host\&. This function should be called only after pacparser engine has been initialized (using pacparser_init) and pac script has been parsed (using pacparser_parse_pac_file or pacparser_parse_pac_string)\&. .SS "char* pacparser_just_find_proxy (const char *pacfile, const char *url, const char *host)" .PP Finds proxy for the given PAC file, URL and Host\&. .PP \fBParameters:\fP .RS 4 \fIpacfile\fP PAC file to parse\&. .br \fIurl\fP URL to find proxy for\&. .br \fIhost\fP Host part of the URL\&. .RE .PP \fBReturns:\fP .RS 4 proxy string on success and NULL on error\&. .RE .PP This function is a wrapper around functions pacparser_init, pacparser_parse_pac_file, pacparser_find_proxy and pacparser_cleanup\&. If you just want to find out proxy for a given set of pac file, url and host, this is the function to call\&. This function takes care of all the initialization and cleanup\&. .SS "void pacparser_cleanup (void)" .PP Destroys JavaSctipt context\&. This function should be called once you're done with using pacparser engine\&. .SS "void pacparser_setmyip (const char *ip)" .PP Sets my IP address\&. .PP \fBParameters:\fP .RS 4 \fIip\fP Custom IP address\&. .RE .PP Sets my IP address to a custom value\&. This is the IP address returned by myIpAddress() javascript function\&. .SS "void pacparser_set_error_printer (\fBpacparser_error_printer\fPfunc)" .PP Sets error printing function\&. .PP \fBParameters:\fP .RS 4 \fIfunc\fP Printing function\&. .RE .PP Sets error variadic-argument printing function\&. If not set the messages are printed to stderr\&. If messages begin with DEBUG: or WARNING:, they are not fatal error messages, otherwise they are\&. May be called before \fBpacparser_init()\fP\&. .SS "void pacparser_enable_microsoft_extensions (void)" .PP (Deprecated) Enable Microsoft IPv6 PAC extensions\&. Deprecated\&. IPv6 extension (*Ex functions) are enabled by default now\&. .SS "char* pacparser_version (void)" .PP Returns pacparser version\&. .PP \fBReturns:\fP .RS 4 version string if version defined, '' otherwise\&. .RE .PP Version string is determined at the time of build\&. If built from a released package, version corresponds to the latest release (git) tag\&. If built from the repository, it corresponds to the head revision of the repo\&. .SH "Author" .PP Generated automatically by Doxygen for Pacparser from the source code\&. pacparser-1.3.6/docs/man/man3/pacparser_cleanup.3000066400000000000000000000000251257236634500216270ustar00rootroot00000000000000.so man3/pacparser.3 pacparser-1.3.6/docs/man/man3/pacparser_enable_microsoft_extensions.3000066400000000000000000000000251257236634500257720ustar00rootroot00000000000000.so man3/pacparser.3 pacparser-1.3.6/docs/man/man3/pacparser_error_printer.3000066400000000000000000000000251257236634500230740ustar00rootroot00000000000000.so man3/pacparser.3 pacparser-1.3.6/docs/man/man3/pacparser_find_proxy.3000066400000000000000000000000251257236634500223610ustar00rootroot00000000000000.so man3/pacparser.3 pacparser-1.3.6/docs/man/man3/pacparser_init.3000066400000000000000000000000251257236634500211430ustar00rootroot00000000000000.so man3/pacparser.3 pacparser-1.3.6/docs/man/man3/pacparser_just_find_proxy.3000066400000000000000000000000251257236634500234260ustar00rootroot00000000000000.so man3/pacparser.3 pacparser-1.3.6/docs/man/man3/pacparser_parse_pac.3000066400000000000000000000000251257236634500221350ustar00rootroot00000000000000.so man3/pacparser.3 pacparser-1.3.6/docs/man/man3/pacparser_parse_pac_file.3000066400000000000000000000000251257236634500231340ustar00rootroot00000000000000.so man3/pacparser.3 pacparser-1.3.6/docs/man/man3/pacparser_parse_pac_string.3000066400000000000000000000000251257236634500235230ustar00rootroot00000000000000.so man3/pacparser.3 pacparser-1.3.6/docs/man/man3/pacparser_set_error_printer.3000066400000000000000000000000251257236634500237470ustar00rootroot00000000000000.so man3/pacparser.3 pacparser-1.3.6/docs/man/man3/pacparser_setmyip.3000066400000000000000000000000251257236634500216720ustar00rootroot00000000000000.so man3/pacparser.3 pacparser-1.3.6/docs/man/man3/pacparser_version.3000066400000000000000000000000251257236634500216650ustar00rootroot00000000000000.so man3/pacparser.3 pacparser-1.3.6/examples/000077500000000000000000000000001257236634500153345ustar00rootroot00000000000000pacparser-1.3.6/examples/fetchurl.py000077500000000000000000000062611257236634500175320ustar00rootroot00000000000000#!/usr/bin/python # Copyright (C) 2008 Manu Garg. # Author: Manu Garg # # pacparser is a library that provides methods to parse proxy auto-config # (PAC) files. Please read README file included with this package for more # information about this library. # # pacparser is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # pacparser 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 # Lesser General Public License for more details. # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA """ This script demonstrates how python web clients can use proxy auto-config (PAC) files for proxy configuration using pacparser. It take a PAC file and an url as arguments, fetches the URL using the proxy as determined by PAC file and URL and returns the retrieved webpage. """ __author__ = 'manugarg@gmail.com (Manu Garg)' __copyright__ = 'Copyright (C) 2008 Manu Garg' __license__ = 'LGPL' import pacparser import socket import sys import urllib def fetch_url_using_pac(pac, url): try: proxy_string = pacparser.just_find_proxy(pac, url) except: sys.stderr.write('could not determine proxy using Pacfile\n') return None proxylist = proxy_string.split(";") proxies = None # Dictionary to be passed to urlopen method of urllib while proxylist: proxy = proxylist.pop(0).strip() if 'DIRECT' in proxy: proxies = {} break if proxy[0:5].upper() == 'PROXY': proxy = proxy[6:].strip() if isproxyalive(proxy): proxies = {'http': 'http://%s' % proxy} break try: sys.stderr.write('trying to fetch the page using proxy %s\n' % proxy) response = urllib.urlopen(url, proxies=proxies) except Exception, e: sys.stderr.write('could not fetch webpage %s using proxy %s\n' % (url, proxies)) sys.stderr.write(str(e)+'\n') return None return response def isproxyalive(proxy): host_port = proxy.split(":") if len(host_port) != 2: sys.stderr.write('proxy host is not defined as host:port\n') return False s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(10) try: s.connect((host_port[0], int(host_port[1]))) except Exception, e: sys.stderr.write('proxy %s is not accessible\n' % proxy) sys.stderr.write(str(e)+'\n') return False s.close() return True def main(): if len(sys.argv) != 3: print 'Not enough arguments' print 'Usage:\n%s ' % sys.argv[0] return None pacfile = sys.argv[1] url = sys.argv[2] response = fetch_url_using_pac(pacfile, url) if response: print response.read() else: sys.stderr.write('URL %s could not be retrieved using PAC file %s.' % (url, pacfile)) if __name__ == '__main__': main() pacparser-1.3.6/examples/pactest.c000066400000000000000000000005731257236634500171500ustar00rootroot00000000000000#include int pacparser_init(); int pacparser_parse_pac(char* pacfile); char *pacparser_find_proxy(char *url, char *host); void pacparser_cleanup(); int main(int argc, char* argv[]) { char *proxy = NULL; pacparser_init(); pacparser_parse_pac(argv[1]); proxy = pacparser_find_proxy(argv[2], argv[3]); if(proxy) printf("%s\n", proxy); pacparser_cleanup(); } pacparser-1.3.6/examples/pactest.py000077500000000000000000000004071257236634500173550ustar00rootroot00000000000000#!/usr/bin/python2.5 import pacparser pacparser.init() pacparser.parse_pac("wpad.dat") proxy = pacparser.find_proxy("http://www.manugarg.com") print proxy pacparser.cleanup() # Or simply, print pacparser.just_find_proxy("wpad.dat", "http://www2.manugarg.com") pacparser-1.3.6/examples/wpad.dat000066400000000000000000000006561257236634500167700ustar00rootroot00000000000000// Go direct for plain hostnames and any host in .manugarg.com domain except // for www and www.manugarg.com. // Go via proxy for all other hosts. function FindProxyForURL(url, host) { if ((isPlainHostName(host) || dnsDomainIs(host, ".manugarg.com")) && !localHostOrDomainIs(host, "www.manugarg.com")) return "DIRECT"; else return "PROXY proxy1.manugarg.com:3128; PROXY proxy2.manugarg.com:3128; DIRECT"; } pacparser-1.3.6/src/000077500000000000000000000000001257236634500143055ustar00rootroot00000000000000pacparser-1.3.6/src/Makefile000066400000000000000000000113711257236634500157500ustar00rootroot00000000000000# Copyright (C) 2007 Manu Garg. # Author: Manu Garg # # Makefile for pacparser. Please read README file included with this package # for more information about pacparser. # # pacparser is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 3 of the License, or (at your option) any later version. # pacparser 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 # Lesser General Public License for more details. # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA # This file is not part of the source code repository. It's generated by the # packaging script. -include version.mk VERSION ?= $(shell git describe --always --tags --candidate=100) PREFIX ?= /usr OS_ARCH := $(subst /,_,$(shell uname -s | sed /\ /s//_/)) LIBRARY_NAME = libpacparser LIB_VER = 1 # This Makefile should at least work on Linux and Mac OS X. It should work on # most other types of Unix systems too, but I have not put any conscious effort # for that. # # Set variables according to Linux. SO_SUFFIX = so LIBRARY = $(LIBRARY_NAME).$(SO_SUFFIX).$(LIB_VER) MKSHLIB = $(CC) -shared LIB_OPTS = -Wl,-soname=$(LIBRARY) -Wl,-exclude-libs=libjs.a SHFLAGS = -fPIC SMCFLAGS = -DHAVE_VA_COPY -DVA_COPY=__va_copy ifeq ($(OS_ARCH),Darwin) MAC_MINOR_VERSION := $(shell sw_vers -productVersion | cut -d. -f2) MAC_GT_5 := $(shell [ $(MAC_MINOR_VERSION) -le 5 ] && echo false) SO_SUFFIX = dylib LIBRARY = $(LIBRARY_NAME).$(LIB_VER).$(SO_SUFFIX) MKSHLIB = $(CC) -dynamiclib -framework System LIB_OPTS = -install_name $(PREFIX)/lib/$(notdir $@) SHFLAGS = ifeq ($(MAC_GT_5),false) SMCFLAGS = endif endif CFLAGS = -g -DXP_UNIX -Wall -DVERSION=$(VERSION) ifndef PYTHON PYTHON = python endif # Spidermonkey library. CFLAGS += -Ispidermonkey/js/src LIBRARY_LINK = $(LIBRARY_NAME).$(SO_SUFFIX) PREFIX := $(DESTDIR)$(PREFIX) LIB_PREFIX = $(PREFIX)/lib INC_PREFIX = $(PREFIX)/include BIN_PREFIX = $(PREFIX)/bin MAN_PREFIX = $(PREFIX)/share/man .PHONY: clean pymod install-pymod all: testpactester spidermonkey/js/src: spidermonkey/js-?.?.?.tar.gz tar xzvf spidermonkey/js-?.?.?.tar.gz -C spidermonkey sed -i -e 's:\(shell uname -s | sed /\\ /s//_/\):\1 | sed s,GNU.*,Linux,:g' spidermonkey/js/src/config.mk jsapi_buildstamp: spidermonkey/js/src cd spidermonkey && SMCFLAGS="$(SHFLAGS) $(SMCFLAGS)" $(MAKE) jsapi touch jsapi_buildstamp libjs.a: spidermonkey/js/src cd spidermonkey && SMCFLAGS="$(SHFLAGS) $(SMCFLAGS)" $(MAKE) jslib pacparser.o: pacparser.c pac_utils.h pacparser.h jsapi_buildstamp $(CC) $(CFLAGS) $(SHFLAGS) -c pacparser.c -o pacparser.o touch pymod/pacparser_o_buildstamp $(LIBRARY): pacparser.o libjs.a $(MKSHLIB) $(CFLAGS) $(LDFLAGS) $(LIB_OPTS) -o $(LIBRARY) pacparser.o libjs.a -lm $(LIBRARY_LINK): $(LIBRARY) ln -sf $(LIBRARY) $(LIBRARY_LINK) pactester: pactester.c pacparser.h $(LIBRARY_LINK) $(CC) $(CFLAGS) $(LDFLAGS) pactester.c -o pactester -lpacparser -L. -I. testpactester: pactester echo "Running tests for pactester." NO_INTERNET=$(NO_INTERNET) ../tests/runtests.sh docs: ../tools/generatedocs.sh install: all install -d $(LIB_PREFIX) $(INC_PREFIX) $(BIN_PREFIX) install -m 644 $(LIBRARY) $(LIB_PREFIX)/$(LIBRARY) ln -sf $(LIBRARY) $(LIB_PREFIX)/$(LIBRARY_LINK) install -m 755 pactester $(BIN_PREFIX)/pactester install -m 644 pacparser.h $(INC_PREFIX)/pacparser.h # install pactester manpages install -d $(MAN_PREFIX)/man1/ (test -d ../docs && install -m 644 ../docs/man/man1/*.1 $(MAN_PREFIX)/man1/) || true # install pacparser manpages install -d $(MAN_PREFIX)/man3/ (test -d ../docs && install -m 644 ../docs/man/man3/*.3 $(MAN_PREFIX)/man3/) || true # install html docs install -d $(PREFIX)/share/doc/pacparser/html/ (test -d ../docs/html && install -m 644 ../docs/html/* $(PREFIX)/share/doc/pacparser/html/) || true # install examples install -d $(PREFIX)/share/doc/pacparser/examples/ (test -d ../examples && install -m 644 ../examples/* $(PREFIX)/share/doc//pacparser/examples/) || true # Targets to build python module pymod: pacparser.o pacparser.h libjs.a cd pymod && ARCHFLAGS="" $(PYTHON) setup.py build $(PYTHON) ../tests/runtests.py install-pymod: pymod cd pymod && ARCHFLAGS="" $(PYTHON) setup.py install --root="$(DESTDIR)/" $(EXTRA_ARGS) clean: rm -f $(LIBRARY_LINK) $(LIBRARY) libjs.a pacparser.o pactester pymod/pacparser_o_buildstamp jsapi_buildstamp cd pymod && python setup.py clean --all cd spidermonkey && $(MAKE) clean pacparser-1.3.6/src/Makefile.win32000066400000000000000000000052751257236634500167170ustar00rootroot00000000000000# Copyright (C) 2007 Manu Garg. # Author: Manu Garg # # Makefile for pacparser. Please read README file included with this package # for more information about pacparser. # # pacparser is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 3 of the License, or (at your option) any later version. # pacparser 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 # Lesser General Public License for more details. # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA # This file is not part of the source code repository. It's generated by the # packaging script. -include version.mk LIB_VER=1 CFLAGS=-g -DXP_WIN -DVERSION=$(VERSION) -Ispidermonkey/js/src -Wall CC=gcc .PHONY: clean pymod install-pymod all: pacparser.dll pacparser.lib pactester pacparser.o: pacparser.c pac_utils.h js.lib $(CC) $(CFLAGS) -c pacparser.c -o pacparser.o fdlibm.lib js.lib: $(MAKE) -C spidermonkey -f Makefile.win32 copy spidermonkey\fdlibm.lib . copy spidermonkey\js.lib . pacparser.dll: pacparser.o fdlibm.lib js.lib $(CC) -shared -o pacparser.dll \ -Wl,--output-def,pacparser.def \ -Wl,--out-implib,libpacparser.a \ -Wl,--export-all-symbols \ pacparser.o -ljs -L. -lws2_32 pacparser.lib: pacparser.dll pacparser.def lib /machine:i386 /def:pacparser.def pactester: pactester.c pacparser.h pacparser.dll $(CC) pactester.c -o pactester -lpacparser -L. -I. dist: pacparser.dll pactester if exist dist rmdir /s /q dist mkdir dist copy pacparser.dll dist copy pacparser.h dist copy pactester.exe dist if exist pacparser.lib copy pacparser.lib dist copy ..\README.md dist\README.txt copy ..\COPYING dist\COPYING.txt copy ..\INSTALL dist\INSTALL.txt mkdir dist\docs copy ..\README.win32 dist\docs if exist ..\docs\html xcopy ..\docs\html dist\docs # Targets to build python module pymod: pacparser.h pacparser.dll cd pymod && py setup.py dist cd .. && py tests\runtests.py pymod2: pacparser.h pacparser.dll cd pymod && py -2 setup.py dist cd .. && py -2 tests\runtests.py pymod3: pacparser.h pacparser.dll cd pymod && py -3 setup.py dist cd .. && py -3 tests\runtests.py clean: del /F pacparser.dll *.lib pacparser.def pacparser.exp pacparser.o pactester.exe libpacparser.a $(MAKE) -C spidermonkey -f Makefile.win32 clean cd pymod && setup.py clean if exist dist rmdir /s /q dist pacparser-1.3.6/src/pac_utils.h000066400000000000000000000301601257236634500164410ustar00rootroot00000000000000// Copyright (C) 2007 Manu Garg. // Author: Manu Garg // // pac_utils.h defines some of the functions used by PAC files. This file is // packaged with pacparser source code and is required for compiling pacparser. // Please read README file included with this package for more information // about pacparser. // Note: This file is derived from "nsProxyAutoConfig.js" file that comes with // mozilla source code. Please check out the following for initial developer // and contributors: //http://lxr.mozilla.org/seamonkey/source/netwerk/base/src/nsProxyAutoConfig.js // // This file is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 3 of the License, or (at your option) any later version. // pacparser 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 // Lesser General Public License for more details. // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, // USA static const char *pacUtils = "function dnsDomainIs(host, domain) {\n" " return (host.length >= domain.length &&\n" " host.substring(host.length - domain.length) == domain);\n" "}\n" "function dnsDomainLevels(host) {\n" " return host.split('.').length-1;\n" "}\n" "function convert_addr(ipchars) {\n" " var bytes = ipchars.split('.');\n" " var result = ((bytes[0] & 0xff) << 24) |\n" " ((bytes[1] & 0xff) << 16) |\n" " ((bytes[2] & 0xff) << 8) |\n" " (bytes[3] & 0xff);\n" " return result;\n" "}\n" "function isInNet(ipaddr, pattern, maskstr) {\n" " var test = /^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$/(ipaddr);\n" " if (test == null) {\n" " ipaddr = dnsResolve(ipaddr);\n" " if (ipaddr == null)\n" " return false;\n" " } else if (test[1] > 255 || test[2] > 255 || \n" " test[3] > 255 || test[4] > 255) {\n" " return false; // not an IP address\n" " }\n" " var host = convert_addr(ipaddr);\n" " var pat = convert_addr(pattern);\n" " var mask = convert_addr(maskstr);\n" " return ((host & mask) == (pat & mask));\n" " \n" "}\n" "function convert_addr6(ipchars) {\n" " ipchars = ipchars.replace(/(^:|:$)/, '');\n" " var fields = ipchars.split(':');\n" " var diff = 8 - fields.length;\n" " for (var i = 0; i < fields.length; i++) {\n" " if (fields[i] == '') {\n" " fields[i] = '0';\n" " // inject 'diff' number of '0' elements here.\n" " for (var j = 0; j < diff; j++) {\n" " fields.splice(i++, 0, '0');\n" " }\n" " break;\n" " }\n" " }\n" " var result = [];\n" " for (var i = 0; i < fields.length; i++) {\n" " result.push(parseInt(fields[i], 16));\n" " }\n" " return result;\n" "}\n" "function isInNetEx6(ipaddr, prefix, prefix_len) {\n" " if (prefix_len > 128) {\n" " return false;\n" " }\n" " prefix = convert_addr6(prefix);\n" " ip = convert_addr6(ipaddr);\n" " // Prefix match strategy:\n" " // Compare only prefix length bits between 'ipaddr' and 'prefix'\n" " // Match in the batches of 16-bit fields \n" " prefix_rem = prefix_len % 16;\n" " prefix_nfields = (prefix_len - prefix_rem) / 16;\n" "\n" " for (var i = 0; i < prefix_nfields; i++) {\n" " if (ip[i] != prefix[i]) {\n" " return false;\n" " }\n" " }\n" " if (prefix_rem > 0) {\n" " // Compare remaining bits\n" " prefix_bits = prefix[prefix_nfields] >> (16 - prefix_rem);\n" " ip_bits = ip[prefix_nfields] >> (16 - prefix_rem);\n" " if (ip_bits != prefix_bits) {\n" " return false;\n" " }\n" " }\n" " return true;\n" "}\n" "function isInNetEx4(ipaddr, prefix, prefix_len) {\n" " if (prefix_len > 32) {\n" " return false;\n" " }\n" " var netmask = [];\n" " for (var i = 1; i < 5; i++) {\n" " var shift_len = 8 * i - prefix_len;\n" " if (shift_len <= 0) {\n" " netmask.push(255)\n" " } else {\n" " netmask.push((0xff >> shift_len) << shift_len);\n" " }\n" " }\n" " return isInNet(ipaddr, prefix, netmask.join('.'));\n" "}\n" "function isInNetEx(ipaddr, prefix) {\n" " prefix_a = prefix.split('/');\n" " if (prefix_a.length != 2) {\n" " return false;\n" " }\n" " var test = /^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$/.test(ipaddr);\n" " if (!test) {\n" " return isInNetEx6(ipaddr, prefix_a[0], prefix_a[1]);\n" " } else {\n" " return isInNetEx4(ipaddr, prefix_a[0], prefix_a[1]);\n" " }\n" "}\n" "function isPlainHostName(host) {\n" " return (host.search('\\\\.') == -1);\n" "}\n" "function isResolvable(host) {\n" " var ip = dnsResolve(host);\n" " return (ip != null);\n" "}\n" "if (typeof(dnsResolveEx) == \"function\") {\n" "function isResolvableEx(host) {\n" " var ip = dnsResolveEx(host);\n" " return (ip != null);\n" "}\n" "}\n" "function localHostOrDomainIs(host, hostdom) {\n" " return (host == hostdom) ||\n" " (hostdom.lastIndexOf(host + '.', 0) == 0);\n" "}\n" "function shExpMatch(url, pattern) {\n" " pattern = pattern.replace(/\\./g, '\\\\.');\n" " pattern = pattern.replace(/\\*/g, '.*');\n" " pattern = pattern.replace(/\\?/g, '.');\n" " var newRe = new RegExp('^'+pattern+'$');\n" " return newRe.test(url);\n" "}\n" "var wdays = {SUN: 0, MON: 1, TUE: 2, WED: 3, THU: 4, FRI: 5, SAT: 6};\n" "var months = {JAN: 0, FEB: 1, MAR: 2, APR: 3, MAY: 4, JUN: 5, JUL: 6, AUG: 7, SEP: 8, OCT: 9, NOV: 10, DEC: 11};\n" "function weekdayRange() {\n" " function getDay(weekday) {\n" " if (weekday in wdays) {\n" " return wdays[weekday];\n" " }\n" " return -1;\n" " }\n" " var date = new Date();\n" " var argc = arguments.length;\n" " var wday;\n" " if (argc < 1)\n" " return false;\n" " if (arguments[argc - 1] == 'GMT') {\n" " argc--;\n" " wday = date.getUTCDay();\n" " } else {\n" " wday = date.getDay();\n" " }\n" " var wd1 = getDay(arguments[0]);\n" " var wd2 = (argc == 2) ? getDay(arguments[1]) : wd1;\n" " return (wd1 == -1 || wd2 == -1) ? false\n" " : (wd1 <= wday && wday <= wd2);\n" "}\n" "function dateRange() {\n" " function getMonth(name) {\n" " if (name in months) {\n" " return months[name];\n" " }\n" " return -1;\n" " }\n" " var date = new Date();\n" " var argc = arguments.length;\n" " if (argc < 1) {\n" " return false;\n" " }\n" " var isGMT = (arguments[argc - 1] == 'GMT');\n" "\n" " if (isGMT) {\n" " argc--;\n" " }\n" " // function will work even without explict handling of this case\n" " if (argc == 1) {\n" " var tmp = parseInt(arguments[0]);\n" " if (isNaN(tmp)) {\n" " return ((isGMT ? date.getUTCMonth() : date.getMonth()) ==\n" "getMonth(arguments[0]));\n" " } else if (tmp < 32) {\n" " return ((isGMT ? date.getUTCDate() : date.getDate()) == tmp);\n" " } else { \n" " return ((isGMT ? date.getUTCFullYear() : date.getFullYear()) ==\n" "tmp);\n" " }\n" " }\n" " var year = date.getFullYear();\n" " var date1, date2;\n" " date1 = new Date(year, 0, 1, 0, 0, 0);\n" " date2 = new Date(year, 11, 31, 23, 59, 59);\n" " var adjustMonth = false;\n" " for (var i = 0; i < (argc >> 1); i++) {\n" " var tmp = parseInt(arguments[i]);\n" " if (isNaN(tmp)) {\n" " var mon = getMonth(arguments[i]);\n" " date1.setMonth(mon);\n" " } else if (tmp < 32) {\n" " adjustMonth = (argc <= 2);\n" " date1.setDate(tmp);\n" " } else {\n" " date1.setFullYear(tmp);\n" " }\n" " }\n" " for (var i = (argc >> 1); i < argc; i++) {\n" " var tmp = parseInt(arguments[i]);\n" " if (isNaN(tmp)) {\n" " var mon = getMonth(arguments[i]);\n" " date2.setMonth(mon);\n" " } else if (tmp < 32) {\n" " date2.setDate(tmp);\n" " } else {\n" " date2.setFullYear(tmp);\n" " }\n" " }\n" " if (adjustMonth) {\n" " date1.setMonth(date.getMonth());\n" " date2.setMonth(date.getMonth());\n" " }\n" " if (isGMT) {\n" " var tmp = date;\n" " tmp.setFullYear(date.getUTCFullYear());\n" " tmp.setMonth(date.getUTCMonth());\n" " tmp.setDate(date.getUTCDate());\n" " tmp.setHours(date.getUTCHours());\n" " tmp.setMinutes(date.getUTCMinutes());\n" " tmp.setSeconds(date.getUTCSeconds());\n" " date = tmp;\n" " }\n" " return ((date1 <= date) && (date <= date2));\n" "}\n" "function timeRange() {\n" " var argc = arguments.length;\n" " var date = new Date();\n" " var isGMT= false;\n" "\n" " if (argc < 1) {\n" " return false;\n" " }\n" " if (arguments[argc - 1] == 'GMT') {\n" " isGMT = true;\n" " argc--;\n" " }\n" "\n" " var hour = isGMT ? date.getUTCHours() : date.getHours();\n" " var date1, date2;\n" " date1 = new Date();\n" " date2 = new Date();\n" "\n" " if (argc == 1) {\n" " return (hour == arguments[0]);\n" " } else if (argc == 2) {\n" " return ((arguments[0] <= hour) && (hour <= arguments[1]));\n" " } else {\n" " switch (argc) {\n" " case 6:\n" " date1.setSeconds(arguments[2]);\n" " date2.setSeconds(arguments[5]);\n" " case 4:\n" " var middle = argc >> 1;\n" " date1.setHours(arguments[0]);\n" " date1.setMinutes(arguments[1]);\n" " date2.setHours(arguments[middle]);\n" " date2.setMinutes(arguments[middle + 1]);\n" " if (middle == 2) {\n" " date2.setSeconds(59);\n" " }\n" " break;\n" " default:\n" " throw 'timeRange: bad number of arguments'\n" " }\n" " }\n" "\n" " if (isGMT) {\n" " date.setFullYear(date.getUTCFullYear());\n" " date.setMonth(date.getUTCMonth());\n" " date.setDate(date.getUTCDate());\n" " date.setHours(date.getUTCHours());\n" " date.setMinutes(date.getUTCMinutes());\n" " date.setSeconds(date.getUTCSeconds());\n" " }\n" " return ((date1 <= date) && (date <= date2));\n" "}\n" "function findProxyForURL(url, host) {\n" " if (typeof FindProxyForURLEx == 'function') {\n" " return FindProxyForURLEx(url, host);\n" " } else {\n" " return FindProxyForURL(url, host);\n" " }\n" "}\n"; // You must free the result if result is non-NULL. char *str_replace(const char *orig, char *rep, char *with) { char *tmporig = malloc(strlen(orig) + 1); // Copy of orig that we work with tmporig = strcpy(tmporig, orig); char *result; // the return string char *ins; // the next insert point char *tmp; // varies int count; // number of replacements int len_front; // distance between rep and end of last rep int len_rep = strlen(rep); int len_with = strlen(with); // Get the count of replacements ins = tmporig; for (count = 0; (tmp = strstr(ins, rep)); ++count) { ins = tmp + len_rep; } tmp = result = malloc(strlen(tmporig) + (len_with - len_rep) * count + 1); // first time through the loop, all the variable are set correctly // from here on, // tmp points to the end of the result string // ins points to the next occurrence of rep in tmporig // tmporig points to the remainder of tmporig after "end of rep" while (count--) { ins = strstr(tmporig, rep); len_front = ins - tmporig; tmp = strncpy(tmp, tmporig, len_front) + len_front; tmp = strcpy(tmp, with) + len_with; tmporig += len_front + len_rep; // move to next "end of rep" } strcpy(tmp, tmporig); return result; } pacparser-1.3.6/src/pacparser.c000066400000000000000000000403621257236634500164360ustar00rootroot00000000000000// Copyright (C) 2007 Manu Garg. // Author: Manu Garg // // pacparser is a library that provides methods to parse proxy auto-config // (PAC) files. Please read README file included with this package for more // information about this library. // // pacparser is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 3 of the License, or (at your option) any later version. // pacparser 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 // Lesser General Public License for more details. // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA #include #include #include #include #include #ifdef XP_UNIX #include #include // for AF_INET #include #endif #ifdef _WIN32 #ifdef __MINGW32__ // MinGW enables definition of getaddrinfo et al only if WINVER >= 0x0501. #define WINVER 0x0501 #endif #include #include #endif #include "pac_utils.h" #include "pacparser.h" #define MAX_IP_RESULTS 10 static char *myip = NULL; // Default error printer function. static int // Number of characters printed, negative value in case of output error. _default_error_printer(const char *fmt, va_list argp) { return vfprintf(stderr, fmt, argp); } // File level variable to hold error printer function pointer. static pacparser_error_printer error_printer_func = &_default_error_printer; // Set error printer to a user defined function. void pacparser_set_error_printer(pacparser_error_printer func) { error_printer_func = func; } static int print_error(const char *fmt, ...) { int ret; va_list args; va_start(args, fmt); ret = (*error_printer_func)(fmt, args); va_end(args); return ret; } static int _debug(void) { if(getenv("PACPARSER_DEBUG")) return 1; return 0; } // Utility function to read a file into string. static char * // File content in string or NULL if failed. read_file_into_str(const char *filename) { char *str; int file_size; FILE *fptr; int records_read; if (!(fptr = fopen(filename, "r"))) goto error1; if ((fseek(fptr, 0L, SEEK_END) != 0)) goto error2; if (!(file_size=ftell(fptr))) goto error2; if ((fseek(fptr, 0L, SEEK_SET) != 0)) goto error2; if (!(str = (char*) malloc(file_size+1))) goto error2; if (!(records_read=fread(str, 1, file_size, fptr))) { free(str); goto error2; } str[records_read] = '\0'; fclose(fptr); return str; error2: fclose(fptr); error1: return NULL; } static void print_jserror(JSContext *cx, const char *message, JSErrorReport *report) { print_error("JSERROR: %s:%d:\n %s\n", (report->filename ? report->filename : "NULL"), report->lineno, message); } // DNS Resolve function; used by other routines. // This function is used by dnsResolve, dnsResolveEx, myIpAddress, // myIpAddressEx. static int resolve_host(const char *hostname, char *ipaddr_list, int max_results, int req_ai_family) { struct addrinfo hints; struct addrinfo *result; struct addrinfo *ai; char ipaddr[INET6_ADDRSTRLEN]; int error; // Truncate ipaddr_list to an empty string. ipaddr_list[0] = '\0'; #ifdef _WIN32 // On windows, we need to initialize the winsock dll first. WSADATA WsaData; WSAStartup(MAKEWORD(2,0), &WsaData); #endif memset(&hints, 0, sizeof(struct addrinfo)); hints.ai_family = req_ai_family; hints.ai_socktype = SOCK_STREAM; error = getaddrinfo(hostname, NULL, &hints, &result); if (error) return error; int i = 0; for(ai = result; ai != NULL && i < max_results; ai = ai->ai_next, i++) { getnameinfo(ai->ai_addr, ai->ai_addrlen, ipaddr, sizeof(ipaddr), NULL, 0, NI_NUMERICHOST); if (ipaddr_list[0] == '\0') sprintf(ipaddr_list, "%s", ipaddr); else sprintf(ipaddr_list, "%s;%s", ipaddr_list, ipaddr); } freeaddrinfo(result); #ifdef _WIN32 WSACleanup(); #endif return 0; } // dnsResolve in JS context; not available in core JavaScript. // returns javascript null if not able to resolve. static JSBool // JS_TRUE or JS_FALSE dns_resolve(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { char* name = JS_GetStringBytes(JS_ValueToString(cx, argv[0])); char* out; char ipaddr[INET6_ADDRSTRLEN] = ""; // Return null on failure. if(resolve_host(name, ipaddr, 1, AF_INET)) { *rval = JSVAL_NULL; return JS_TRUE; } out = JS_malloc(cx, strlen(ipaddr) + 1); strcpy(out, ipaddr); JSString *str = JS_NewString(cx, out, strlen(out)); *rval = STRING_TO_JSVAL(str); return JS_TRUE; } // dnsResolveEx in JS context; not available in core JavaScript. // returns javascript null if not able to resolve. static JSBool // JS_TRUE or JS_FALSE dns_resolve_ex(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { char* name = JS_GetStringBytes(JS_ValueToString(cx, argv[0])); char* out; char ipaddr[INET6_ADDRSTRLEN * MAX_IP_RESULTS + MAX_IP_RESULTS] = ""; out = JS_malloc(cx, strlen(ipaddr) + 1); // Return "" on failure. if(resolve_host(name, ipaddr, MAX_IP_RESULTS, AF_UNSPEC)) { strcpy(out, ""); } strcpy(out, ipaddr); JSString *str = JS_NewString(cx, out, strlen(out)); *rval = STRING_TO_JSVAL(str); return JS_TRUE; } // myIpAddress in JS context; not available in core JavaScript. // returns 127.0.0.1 if not able to determine local ip. static JSBool // JS_TRUE or JS_FALSE my_ip(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { char ipaddr[INET6_ADDRSTRLEN]; char* out; if (myip) // If my (client's) IP address is already set. strcpy(ipaddr, myip); else { char name[256]; gethostname(name, sizeof(name)); if (resolve_host(name, ipaddr, 1, AF_INET)) { strcpy(ipaddr, "127.0.0.1"); } } out = JS_malloc(cx, strlen(ipaddr) + 1); strcpy(out, ipaddr); JSString *str = JS_NewString(cx, out, strlen(out)); *rval = STRING_TO_JSVAL(str); return JS_TRUE; } // myIpAddressEx in JS context; not available in core JavaScript. // returns 127.0.0.1 if not able to determine local ip. static JSBool // JS_TRUE or JS_FALSE my_ip_ex(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { char ipaddr[INET6_ADDRSTRLEN * MAX_IP_RESULTS + MAX_IP_RESULTS]; char* out; if (myip) // If my (client's) IP address is already set. strcpy(ipaddr, myip); else { char name[256]; gethostname(name, sizeof(name)); if (resolve_host(name, ipaddr, MAX_IP_RESULTS, AF_UNSPEC)) { strcpy(ipaddr, ""); } } out = JS_malloc(cx, strlen(ipaddr) + 1); strcpy(out, ipaddr); JSString *str = JS_NewString(cx, out, strlen(out)); *rval = STRING_TO_JSVAL(str); return JS_TRUE; } // Define some JS context related variables. static JSRuntime *rt = NULL; static JSContext *cx = NULL; static JSObject *global = NULL; static JSClass global_class = { "global",0, JS_PropertyStub,JS_PropertyStub,JS_PropertyStub,JS_PropertyStub, JS_EnumerateStub,JS_ResolveStub,JS_ConvertStub,JS_FinalizeStub }; // Set my (client's) IP address to a custom value. void pacparser_setmyip(const char *ip) { myip = malloc(strlen(ip) +1); // Allocate space just to be sure. strcpy(myip, ip); } // Decprecated: This function doesn't do anything. // // This function doesn't do anything. Microsoft exntensions are now enabled by // default. void pacparser_enable_microsoft_extensions() { return; } // Initialize PAC parser. // // - Initializes JavaScript engine, // - Exports dns_functions (defined above) to JavaScript context. // - Sets error reporting function to print_jserror, // - Evaluates JavaScript code in pacUtils variable defined in pac_utils.h. int // 0 (=Failure) or 1 (=Success) pacparser_init() { jsval rval; char *error_prefix = "pacparser.c: pacparser_init:"; // Initialize JS engine if (!(rt = JS_NewRuntime(8L * 1024L * 1024L)) || !(cx = JS_NewContext(rt, 8192)) || !(global = JS_NewObject(cx, &global_class, NULL, NULL)) || !JS_InitStandardClasses(cx, global)) { print_error("%s %s\n", error_prefix, "Could not initialize JavaScript " "runtime."); return 0; } JS_SetErrorReporter(cx, print_jserror); // Export our functions to Javascript engine if (!JS_DefineFunction(cx, global, "dnsResolve", dns_resolve, 1, 0)) { print_error("%s %s\n", error_prefix, "Could not define dnsResolve in JS context."); return 0; } if (!JS_DefineFunction(cx, global, "myIpAddress", my_ip, 0, 0)) { print_error("%s %s\n", error_prefix, "Could not define myIpAddress in JS context."); return 0; } if (!JS_DefineFunction(cx, global, "dnsResolveEx", dns_resolve_ex, 1, 0)) { print_error("%s %s\n", error_prefix, "Could not define dnsResolveEx in JS context."); return 0; } if (!JS_DefineFunction(cx, global, "myIpAddressEx", my_ip_ex, 0, 0)) { print_error("%s %s\n", error_prefix, "Could not define myIpAddressEx in JS context."); return 0; } // Evaluate pacUtils. Utility functions required to parse pac files. if (!JS_EvaluateScript(cx, // JS engine context global, // global object pacUtils, // this is defined in pac_utils.h strlen(pacUtils), NULL, // filename (NULL in this case) 1, // line number, used for reporting. &rval)) { print_error("%s %s\n", error_prefix, "Could not evaluate pacUtils defined in pac_utils.h."); return 0; } if (_debug()) print_error("DEBUG: Pacparser Initalized.\n"); return 1; } // Parses the given PAC script string. // // Evaulates the given PAC script string in the JavaScript context created // by pacparser_init. int // 0 (=Failure) or 1 (=Success) pacparser_parse_pac_string(const char *script) { jsval rval; char *error_prefix = "pacparser.c: pacparser_parse_pac_string:"; if (cx == NULL || global == NULL) { print_error("%s %s\n", error_prefix, "Pac parser is not initialized."); return 0; } if (!JS_EvaluateScript(cx, global, script, // Script read from pacfile strlen(script), "PAC script", 1, &rval)) { // If script evaluation failed print_error("%s %s\n", error_prefix, "Failed to evaluate the pac script."); if (_debug()) print_error("DEBUG: Failed to parse the PAC script:\n%s\n", script); return 0; } if (_debug()) print_error("DEBUG: Parsed the PAC script.\n"); return 1; } // Parses the given PAC file. // // reads the given PAC file and evaluates it in the JavaScript context created // by pacparser_init. int // 0 (=Failure) or 1 (=Success) pacparser_parse_pac_file(const char *pacfile) { char *script = NULL; if ((script = read_file_into_str(pacfile)) == NULL) { print_error("pacparser.c: pacparser_parse_pac: %s: %s: %s\n", "Could not read the pacfile: ", pacfile, strerror(errno)); return 0; } int result = pacparser_parse_pac_string(script); if (script != NULL) free(script); if (_debug()) { if(result) print_error("DEBUG: Parsed the PAC file: %s\n", pacfile); else print_error("DEBUG: Could not parse the PAC file: %s\n", pacfile); } return result; } // Parses PAC file (same as pacparser_parse_pac_file) // // (Deprecated) Use pacparser_parse_pac_file instead. int // 0 (=Failure) or 1 (=Success) pacparser_parse_pac(const char *pacfile) { return pacparser_parse_pac_file(pacfile); } // Finds proxy for the given URL and Host. // // If JavaScript engine is intialized and FindProxyForURL function is defined, // it evaluates code FindProxyForURL(url,host) in JavaScript context and // returns the result. char * // Proxy string or NULL if failed. pacparser_find_proxy(const char *url, const char *host) { char *error_prefix = "pacparser.c: pacparser_find_proxy:"; if (_debug()) print_error("DEBUG: Finding proxy for URL: %s and Host:" " %s\n", url, host); jsval rval; char *script; if (url == NULL || (strcmp(url, "") == 0)) { print_error("%s %s\n", error_prefix, "URL not defined"); return NULL; } if (host == NULL || (strcmp(host,"") == 0)) { print_error("%s %s\n", error_prefix, "Host not defined"); return NULL; } if (cx == NULL || global == NULL) { print_error("%s %s\n", error_prefix, "Pac parser is not initialized."); return NULL; } // Test if FindProxyForURL is defined. script = "typeof(FindProxyForURL);"; if (_debug()) print_error("DEBUG: Executing JavaScript: %s\n", script); JS_EvaluateScript(cx, global, script, strlen(script), NULL, 1, &rval); if (strcmp("function", JS_GetStringBytes(JS_ValueToString(cx, rval))) != 0) { print_error("%s %s\n", error_prefix, "Javascript function FindProxyForURL not defined."); return NULL; } // URL-encode "'" as we use single quotes to stick the URL into a temporary script. char *sanitized_url = str_replace(url, "'", "%27"); // Hostname shouldn't have single quotes in them if (strchr(host, '\'')) { print_error("%s %s\n", error_prefix, "Invalid hostname: hostname can't have single quotes."); return NULL; } script = (char*) malloc(32 + strlen(url) + strlen(host)); script[0] = '\0'; strcat(script, "FindProxyForURL('"); strcat(script, sanitized_url); strcat(script, "', '"); strcat(script, host); strcat(script, "')"); if (_debug()) print_error("DEBUG: Executing JavaScript: %s\n", script); if (!JS_EvaluateScript(cx, global, script, strlen(script), NULL, 1, &rval)) { print_error("%s %s\n", error_prefix, "Problem in executing FindProxyForURL."); free(sanitized_url); free(script); return NULL; } free(sanitized_url); free(script); return JS_GetStringBytes(JS_ValueToString(cx, rval)); } // Destroys JavaSctipt Engine. void pacparser_cleanup() { // Reinitliaze config variables. myip = NULL; if (cx) { JS_DestroyContext(cx); cx = NULL; } if (rt) { JS_DestroyRuntime(rt); rt = NULL; } if (!cx && !rt) JS_ShutDown(); global = NULL; if (_debug()) print_error("DEBUG: Pacparser destroyed.\n"); } // Finds proxy for the given PAC file, url and host. // // This function is a wrapper around functions pacparser_init, // pacparser_parse_pac, pacparser_find_proxy and pacparser_cleanup. If you just // want to find out proxy a given set of pac file, url and host, this is the // function to call. char * // Proxy string or NULL if failed. pacparser_just_find_proxy(const char *pacfile, const char *url, const char *host) { char *proxy; char *out; int initialized_here = 0; char *error_prefix = "pacparser.c: pacparser_just_find_proxy:"; if (!global) { if (!pacparser_init()) { print_error("%s %s\n", error_prefix, "Could not initialize pacparser"); return NULL; } initialized_here = 1; } if (!pacparser_parse_pac(pacfile)) { print_error("%s %s %s\n", error_prefix, "Could not parse pacfile", pacfile); if (initialized_here) pacparser_cleanup(); return NULL; } if (!(out = pacparser_find_proxy(url, host))) { print_error("%s %s %s\n", error_prefix, "Could not determine proxy for url", url); if (initialized_here) pacparser_cleanup(); return NULL; } proxy = (char*) malloc(strlen(out) + 1); strcpy(proxy, out); if (initialized_here) pacparser_cleanup(); return proxy; } #define QUOTEME_(x) #x #define QUOTEME(x) QUOTEME_(x) char* pacparser_version(void) { #ifndef VERSION print_error("WARNING: VERSION not defined."); return ""; #endif return QUOTEME(VERSION); } pacparser-1.3.6/src/pacparser.h000066400000000000000000000130421257236634500164360ustar00rootroot00000000000000// Copyright (C) 2007 Manu Garg. // Author: Manu Garg // // This file defines API for pacparser library. // // pacparser is a library that provides methods to parse proxy auto-config // (PAC) files. Please read README file included with this package for more // information about this library. // // pacparser is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 3 of the License, or (at your option) any later version. // pacparser 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 // Lesser General Public License for more details. // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA #include #ifdef __cplusplus extern "C" { #endif /// @defgroup pacparser pacparser /// @{ /// @brief API for pacparser library, a library to use proxy auto-config (PAC) /// files. See project homepage: http://github.com/pacparser/pacparser /// for more information. /// @author Manu Garg /// @brief Initializes pac parser. /// @returns 0 on failure and 1 on success. /// /// Initializes JavaScript engine and does few basic initializations specific /// to pacparser. int pacparser_init(void); /// @brief Parses the given PAC file. /// @param pacfile PAC file to parse. /// @returns 0 on failure and 1 on success. /// /// Reads the given PAC file and evaluates it in the JavaScript context created /// by pacparser_init. int pacparser_parse_pac_file(const char *pacfile // PAC file to parse ); /// @brief Parses the given PAC script string. /// @param pacstring PAC string to parse. /// @returns 0 on failure and 1 on success. /// /// Evaulates the given PAC script string in the JavaScript context created /// by pacparser_init. int pacparser_parse_pac_string(const char *pacstring // PAC string to parse ); /// @brief Parses the gievn pac file. /// \deprecated Use pacparser_parse_pac_file instead. /// @param pacfile PAC file to parse. /// @returns 0 on failure and 1 on success. /// /// Same as pacparser_parse_pac_file. Included only for backward compatibility. int pacparser_parse_pac(const char *pacfile // PAC file to parse ); /// @brief Finds proxy for the given URL and Host. /// @param url URL to find proxy for. /// @param host Host part of the URL. /// @returns proxy string on sucess and NULL on error. /// /// Finds proxy for the given URL and Host. This function should be called only /// after pacparser engine has been initialized (using pacparser_init) and pac /// script has been parsed (using pacparser_parse_pac_file or /// pacparser_parse_pac_string). char *pacparser_find_proxy(const char *url, // URL to find proxy for const char *host // Host part of the URL ); /// @brief Finds proxy for the given PAC file, URL and Host. /// @param pacfile PAC file to parse. /// @param url URL to find proxy for. /// @param host Host part of the URL. /// @returns proxy string on success and NULL on error. /// /// This function is a wrapper around functions pacparser_init, /// pacparser_parse_pac_file, pacparser_find_proxy and pacparser_cleanup. If /// you just want to find out proxy for a given set of pac file, url and host, this /// is the function to call. This function takes care of all the initialization /// and cleanup. char *pacparser_just_find_proxy(const char *pacfile, // PAC file const char *url, // URL to find proxy for const char *host // Host part of the URL ); /// @brief Destroys JavaSctipt context. /// /// This function should be called once you're done with using pacparser engine. void pacparser_cleanup(void); /// @brief Sets my IP address. /// @param ip Custom IP address. /// /// Sets my IP address to a custom value. This is the IP address returned by /// myIpAddress() javascript function. void pacparser_setmyip(const char *ip // Custom IP address. ); /// @brief Type definition for pacparser_error_printer. typedef int (*pacparser_error_printer)(const char *fmt, // printf format va_list argp // Variadic arg list ); /// @brief Sets error printing function. /// @param func Printing function. /// /// Sets error variadic-argument printing function. If not set the messages /// are printed to stderr. If messages begin with DEBUG: or WARNING:, /// they are not fatal error messages, otherwise they are. /// May be called before pacparser_init(). void pacparser_set_error_printer(pacparser_error_printer func // Printing function ); /// @brief (Deprecated) Enable Microsoft IPv6 PAC extensions. /// /// Deprecated. IPv6 extension (*Ex functions) are enabled by default now. void pacparser_enable_microsoft_extensions(void); /// @brief Returns pacparser version. /// @returns version string if version defined, "" otherwise. /// /// Version string is determined at the time of build. If built from a released /// package, version corresponds to the latest release (git) tag. If built from the /// repository, it corresponds to the head revision of the repo. char* pacparser_version(void); #ifdef __cplusplus } #endif /// @} pacparser-1.3.6/src/pactester.c000066400000000000000000000171731257236634500164540ustar00rootroot00000000000000// Copyright (C) 2008 Manu Garg. // Author: Manu Garg // // This file implements pactester (http://code.google.com/p/pactester) using // pacparser. // // pacparser is a library that provides methods to parse proxy auto-config // (PAC) files. Please read README file included with this package for more // information about this library. // // pacparser is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 3 of the License, or (at your option) any later version. // pacparser 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 // Lesser General Public License for more details. // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA #include #include #include #include #include #include void usage(const char *progname) { fprintf(stderr, "\nUsage: %s <-p pacfile> <-u url> [-h host] " "[-c client_ip] [-e]", progname); fprintf(stderr, "\n %s <-p pacfile> <-f urlslist> " "[-c client_ip] [-e]\n", progname); fprintf(stderr, "\nOptions:\n"); fprintf(stderr, " -p pacfile : PAC file to test (specify '-' to read " "from standard input)\n"); fprintf(stderr, " -u url : URL to test for\n"); fprintf(stderr, " -h host : Host part of the URL\n"); fprintf(stderr, " -c client_ip : client IP address (as returned by " "myIpAddres() function\n"); fprintf(stderr, " in PAC files), defaults to IP address " "on which it is running.\n"); fprintf(stderr, " -e : Deprecated: IPv6 extensions are enabled" "by default now.\n"); fprintf(stderr, " -f urlslist : a file containing list of URLs to be " "tested.\n"); fprintf(stderr, " -v : print version and exit\n"); } char *get_host_from_url(const char *url) { // copy url to a pointer that we'll use to seek through the string. char *p = strdup(url); // Move to : while (*p != ':' && *p != '\0') p++; if (p[0] == '\0'|| // We reached end without hitting : p[1] != '/' || p[2] != '/' // Next two characters are not // ) { fprintf(stderr, "pactester.c: Not a proper URL\n"); return NULL; } p = p + 3; // Get past '://' // Host part starts from here. char *host = p; if (*p == '\0' || *p == '/' || *p == ':') { // If host part is null. fprintf(stderr, "pactester.c: Not a proper URL\n"); return NULL; } // Seek until next /, : or end of string. while (*p != '/' && *p != ':' && *p != '\0') p++; *p = '\0'; return host; } int main(int argc, char* argv[]) { char *pacfile=NULL, *url=NULL, *host=NULL, *urlslist=NULL, *client_ip=NULL; signed char c; while ((c = getopt(argc, argv, "evp:u:h:f:c:")) != -1) switch (c) { case 'v': printf("%s\n", pacparser_version()); return 0; case 'p': pacfile = optarg; break; case 'u': url = optarg; break; case 'h': host = optarg; break; case 'f': urlslist = optarg; break; case 'c': client_ip = optarg; break; case 'e': break; case '?': if (optopt == 'p' || optopt == 'u' || optopt == 'h' || optopt == 'f' || optopt == 'c') usage(argv[0]); else if (isprint (optopt)) usage(argv[0]); else usage(argv[0]); return 1; default: abort (); } if (!pacfile) { fprintf(stderr, "pactester.c: You didn't specify the PAC file\n"); usage(argv[0]); return 1; } if (!url && !urlslist) { fprintf(stderr, "pactester.c: You didn't specify the URL\n"); usage(argv[0]); return 1; } // initialize pacparser if (!pacparser_init()) { fprintf(stderr, "pactester.c: Could not initialize pacparser\n"); return 1; } // Read pacfile from stdin if (strcmp("-", pacfile) == 0) { char *script; int buffsize = 4096; int maxsize = 1024 * 1024; // Limit the max script size to 1 MB size_t script_size = 1; // For the null terminator char buffer[buffsize]; script = (char*) malloc(sizeof(char) * buffsize); if (script == NULL) { perror("pactetser.c: Failed to allocate the memory for the script"); return(1); } script[0] = '\0'; // Null terminate to prepare for strcat while(fgets(buffer, buffsize, stdin)) { if (strlen(buffer) == 0) break; char *old = script; script_size += strlen(buffer); if (script_size > maxsize) { fprintf(stderr, "Input file is too big. Maximum allowed size is: %d", maxsize); free(script); return 1; } script = realloc(script, script_size); if (script == NULL) { perror("pactester.c: Failed to allocate the memory for the script"); free(old); return 1; } strcat(script, buffer); } if (ferror(stdin)) { free(script); perror("pactester.c: Error reading from stdin"); return 1; } if(!pacparser_parse_pac_string(script)) { fprintf(stderr, "pactester.c: Could not parse the pac script: %s\n", script); free(script); pacparser_cleanup(); return 1; } free(script); } else { if(!pacparser_parse_pac_file(pacfile)) { fprintf(stderr, "pactester.c: Could not parse the pac file: %s\n", pacfile); pacparser_cleanup(); return 1; } } if(client_ip) pacparser_setmyip(client_ip); char *proxy; if (url) { if (!host) host = get_host_from_url(url); if (host) { proxy = NULL; proxy = pacparser_find_proxy(url, host); if (proxy == NULL) { fprintf(stderr, "pactester.c: %s %s.\n", "Problem in finding proxy for", url); pacparser_cleanup(); return 1; } if (proxy) printf("%s\n", proxy); } } else if (urlslist) { char line[1000]; // this limits line length to 1000. FILE *fp; if (!(fp = fopen(urlslist, "r"))) { fprintf(stderr, "pactester.c: Could not open urlslist: %s", urlslist); pacparser_cleanup(); return 1; } while (fgets(line, sizeof(line), fp)) { char *url = line; // remove spaces from the beginning. while (*url == ' ' || *url == '\t') url++; // skip comment lines if (*url == '#') { printf("%s", url); continue; } char *urlend = url; while (*urlend != '\r' && *urlend != '\n' && *urlend != '\0' && *urlend != ' ' && *urlend != '\t') urlend++; // keeping moving till you hit space // or end of string. *urlend = '\0'; if ( !(host = get_host_from_url(url)) ) continue; proxy = NULL; proxy = pacparser_find_proxy(url, host); if (proxy == NULL) { fprintf(stderr, "pactester.c: %s %s.\n", "Problem in finding proxy for", url); pacparser_cleanup(); return 1; } if(proxy) printf("%s : %s\n", url, proxy); } fclose(fp); } pacparser_cleanup(); return 0; } pacparser-1.3.6/src/pymod/000077500000000000000000000000001257236634500154355ustar00rootroot00000000000000pacparser-1.3.6/src/pymod/Makefile.win32000066400000000000000000000052741257236634500200460ustar00rootroot00000000000000# Copyright (C) 2007 Manu Garg. # Author: Manu Garg # # Makefile for pacparser. Please read README file included with this package # for more information about pacparser. # # pacparser is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # pacparser 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 # Lesser General Public License for more details. # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA CFLAGS=-g -DXP_WIN -Wall -I.. CC=gcc ifndef PY_HOME $(error PY_HOME is not defined. It should point to your installtion \ directory e.g. C:\Python25. To avoid this error, this file should \ be called by setup.py only, which takes care of setting that \ variable.) endif ifndef PY_DLL $(error PY_DLL is not defined. It should point to python dll location e.g. \ C:\Windows\System32\Python25.dll. To avoid this error, this \ makefile should be called by setup.py only, which takes care \ of setting that variable.) endif ifndef PY_VER $(error PY_VER is not defined. It should point to the python version \ e.g. 27. To avoid this error, this file should \ be called by setup.py only, which takes care of setting that \ variable.) endif DISTDIR=pacparser-python$(PY_VER) CFLAGS+=-I"$(PY_HOME)\include" .PHONY: dist clean build: _pacparser$(PY_VER).pyd pacparser_py$(PY_VER).o: pacparser_py.c $(CC) $(CFLAGS) -c pacparser_py.c -o pacparser_py$(PY_VER).o python$(PY_VER).dll: copy $(PY_DLL) python$(PY_VER).dll _pacparser$(PY_VER).pyd: pacparser_py$(PY_VER).o python$(PY_VER).dll ..\pacparser.dll $(CC) -shared -o _pacparser$(PY_VER).pyd pacparser_py$(PY_VER).o -lpython$(PY_VER) -L. -lpacparser -L.. -lws2_32 dist: build if exist $(DISTDIR) rmdir /s /q $(DISTDIR) mkdir $(DISTDIR) mkdir $(DISTDIR)\pacparser xcopy pacparser $(DISTDIR)\pacparser copy _pacparser$(PY_VER).pyd $(DISTDIR)\pacparser\_pacparser.pyd copy ..\pacparser.dll $(DISTDIR)\pacparser copy install_win32.py $(DISTDIR)\install.py copy ..\..\COPYING $(DISTDIR)\COPYING.txt copy ..\..\README.md $(DISTDIR)\README.txt copy ..\..\README.win32 $(DISTDIR)\README.win32.txt copy ..\..\INSTALL $(DISTDIR)\INSTALL.txt clean: del /F pacparser_py*.o _pacparser*.pyd for /d %%a in (pacparser-python*) do rmdir /s /q "%%a" pacparser-1.3.6/src/pymod/install_win32.py000066400000000000000000000006541257236634500205040ustar00rootroot00000000000000import shutil import sys from distutils import sysconfig from __future__ import print_function def main(): if sys.platform == 'win32': shutil.rmtree('%s\\pacparser' % sysconfig.get_python_lib(), ignore_errors=True) shutil.copytree('pacparser', '%s\\pacparser' % sysconfig.get_python_lib()) else: print('This script should be used only on Win32 systems.') if __name__ == '__main__': main() pacparser-1.3.6/src/pymod/pacparser/000077500000000000000000000000001257236634500174155ustar00rootroot00000000000000pacparser-1.3.6/src/pymod/pacparser/__init__.py000066400000000000000000000064731257236634500215400ustar00rootroot00000000000000# Copyright (C) 2007 Manu Garg. # Author: Manu Garg # # pacparser is a library that provides methods to parse proxy auto-config # (PAC) files. Please read README file included with this package for more # information about this library. # # pacparser is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # pacparser 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 # Lesser General Public License for more details. # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA """ Python module to parse pac files. Look at project's homepage http://code.google.com/p/pacparser for more information. """ __author__ = 'manugarg@gmail.com (Manu Garg)' __copyright__ = 'Copyright (C) 2008 Manu Garg' __license__ = 'LGPL' from pacparser import _pacparser import os import re import sys _url_regex = re.compile('.*\:\/\/([^\/]+).*') class URLError(Exception): def __init__(self, url): super(URLError, self).__init__('URL: {} is not valid'.format(url)) self.url = url def init(): """ Initializes pacparser engine. """ _pacparser.init() def parse_pac(pacfile): """ (Deprecated) Same as parse_pac_file. """ parse_pac_file(pacfile) def parse_pac_file(pacfile): """ Reads the pacfile and evaluates it in the Javascript engine created by init(). """ try: with open(pacfile) as f: pac_script = f.read() _pacparser.parse_pac_string(pac_script) except IOError: raise IOError('Could not read the pacfile.') def parse_pac_string(pac_script): """ Evaluates pac_script in the Javascript engine created by init(). """ _pacparser.parse_pac_string(pac_script) def find_proxy(url, host=None): """ Finds proxy string for the given url and host. If host is not defined, it's extracted from the url. """ if host is None: m = _url_regex.match(url) if not m: raise URLError(url) if len(m.groups()) is 1: host = m.groups()[0] else: raise URLError(url) return _pacparser.find_proxy(url, host) def version(): """ Returns the compiled pacparser version. """ return _pacparser.version() def cleanup(): """ Destroys pacparser engine. """ _pacparser.cleanup() def just_find_proxy(pacfile, url, host=None): """ This function is a wrapper around init, parse_pac, find_proxy and cleanup. This is the function to call if you want to find proxy just for one url. """ if not os.path.isfile(pacfile): raise IOError('Pac file does not exist : {}'.format(pacfile)) init() parse_pac(pacfile) proxy = find_proxy(url,host) cleanup() return proxy def setmyip(ip_address): """ Set my ip address. This is the IP address returned by myIpAddress() """ _pacparser.setmyip(ip_address) def enable_microsoft_extensions(): """ Enables Microsoft PAC extensions (dnsResolveEx, isResolvableEx, myIpAddressEx). """ _pacparser.enable_microsoft_extensions() pacparser-1.3.6/src/pymod/pacparser_py.c000066400000000000000000000124431257236634500202750ustar00rootroot00000000000000// Copyright (C) 2007 Manu Garg. // Author: Manu Garg // // pacparser is a library that provides methods to parse proxy auto-config // (PAC) files. Please read README file included with this package for more // information about this library. // // pacparser is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the License, or (at your option) any later version. // pacparser 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 // Lesser General Public License for more details. // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA #include #include "pacparser.h" // PyMODINIT_FUNC macro is not defined on python < 2.3. Take care of that. #ifndef PyMODINIT_FUNC /* declarations for DLL import/export */ #define PyMODINIT_FUNC void #endif // Py_RETURN_NONE macro is not defined on python < 2.4. Take care of that. #ifndef Py_RETURN_NONE #define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None #endif #if PY_MAJOR_VERSION >= 3 #define MOD_ERROR_VAL NULL #define MOD_SUCCESS_VAL(val) val #define MOD_INIT(name) PyMODINIT_FUNC PyInit_##name(void) #define MOD_DEF(ob, name, doc, methods) \ static struct PyModuleDef moduledef = { \ PyModuleDef_HEAD_INIT, name, doc, -1, methods, }; \ ob = PyModule_Create(&moduledef); #else #define MOD_ERROR_VAL #define MOD_SUCCESS_VAL(val) #define MOD_INIT(name) void init##name(void) #define MOD_DEF(ob, name, doc, methods) \ ob = Py_InitModule3(name, methods, doc); #endif static PyObject *PacparserError; // Initialize PAC parser. // // - Initializes JavaScript engine, // - Exports dns_functions (defined above) to JavaScript context. // - Sets error reporting function to print_error, // - Evaluates JavaScript code in pacUtils variable defined in pac_utils.h. static PyObject * // 0 (=Failure) or 1 (=Success) py_pacparser_init(PyObject *self, PyObject *args) { if(pacparser_init()) Py_RETURN_NONE; else { PyErr_SetString(PacparserError, "Could not initialize pacparser"); return NULL; } } // Parses the PAC script string. // // Evaulates the PAC script string in the JavaScript context created by // pacparser_init. static PyObject * // 0 (=Failure) or 1 (=Success) py_pacparser_parse_pac_string(PyObject *self, PyObject *args) { const char *pac_script; if (!PyArg_ParseTuple(args, "s", &pac_script)) return NULL; if (pacparser_parse_pac_string(pac_script)) Py_RETURN_NONE; else { PyErr_SetString(PacparserError, "Could not parse pac script string"); return NULL; } } // Finds proxy for the given URL and Host. // // Evaluates FindProxyForURL(url,host) in the JavaScript context and returns // the result. static PyObject * // Proxy string or NULL if failed. py_pacparser_find_proxy(PyObject *self, PyObject *args) { char *proxy; const char *url; const char *host; if (!PyArg_ParseTuple(args, "ss", &url, &host)) return NULL; if(!(proxy = pacparser_find_proxy(url, host))) { PyErr_SetString(PacparserError, "Could not find proxy"); return NULL; } return Py_BuildValue("s", proxy); } // Return pacparser version. static PyObject * // Version string. py_pacparser_version(PyObject *self, PyObject *args) { return Py_BuildValue("s", pacparser_version()); } // Destroys JavaSctipt Engine. static PyObject * py_pacparser_cleanup(PyObject *self, PyObject *args) { pacparser_cleanup(); Py_RETURN_NONE; } // Sets local ip to the given argument. static PyObject * py_pacparser_setmyip(PyObject *self, PyObject *args) { const char *ip; if (!PyArg_ParseTuple(args, "s", &ip)) return NULL; pacparser_setmyip(ip); Py_RETURN_NONE; } // Enables Microsoft extensions. static PyObject * py_pacparser_enable_microsoft_extensions(PyObject *self, PyObject *args) { pacparser_enable_microsoft_extensions(); Py_RETURN_NONE; } static PyMethodDef PpMethods[] = { {"init", py_pacparser_init, METH_VARARGS, "initialize pacparser"}, {"parse_pac_string", py_pacparser_parse_pac_string, METH_VARARGS, "parses pac script string"}, {"find_proxy", py_pacparser_find_proxy, METH_VARARGS, "returns proxy string"}, {"version", py_pacparser_version, METH_VARARGS, "returns pacparser version"}, {"cleanup", py_pacparser_cleanup, METH_VARARGS, "destroy pacparser engine"}, {"setmyip", py_pacparser_setmyip, METH_VARARGS, "set my ip address"}, {"enable_microsoft_extensions", py_pacparser_enable_microsoft_extensions, METH_VARARGS, "enable Microsoft extensions"}, {NULL, NULL, 0, NULL} }; MOD_INIT(_pacparser) { PyObject *m; MOD_DEF(m, "_pacparser", NULL, PpMethods) if(m == NULL) return MOD_ERROR_VAL; PacparserError = PyErr_NewException("pacparser.error", NULL, NULL); Py_INCREF(PacparserError); PyModule_AddObject(m, "error", PacparserError); return MOD_SUCCESS_VAL(m); } pacparser-1.3.6/src/pymod/setup.py000066400000000000000000000046331257236634500171550ustar00rootroot00000000000000# Copyright (C) 2007 Manu Garg. # Author: Manu Garg # # pacparser is a library that provides methods to parse proxy auto-config # (PAC) files. Please read README file included with this package for more # information about this library. # # pacparser is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # pacparser 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 # Lesser General Public License for more details. # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA. """ Wrapper script around python module Makefiles. This script take care of identifying python setup and setting up some environment variables needed by Makefiles. """ import sys import os from distutils import sysconfig from distutils.core import setup from distutils.core import Extension def main(): # Use Makefile for windows. distutils doesn't work well with windows. if sys.platform == 'win32': pyVer = sysconfig.get_config_vars('VERSION')[0] pyDLL = 'C:\windows\system32\python%s.dll' % pyVer os.system('make -f Makefile.win32 %s PY_HOME="%s" PY_DLL="%s" PY_VER="%s"' % (' '.join(sys.argv[1:]), sys.prefix, pyDLL, pyVer)) return pacparser_module = Extension('_pacparser', include_dirs = ['../spidermonkey/js/src', '..'], sources = ['pacparser_py.c'], extra_objects = ['../pacparser.o', '../libjs.a']) setup (name = 'pacparser', version = '1', description = 'Pacparser package', author = 'Manu Garg', author_email = 'manugarg@gmail.com', url = 'http://github.com/pacparser/pacparser', long_description = 'python library to parse proxy auto-config (PAC) ' 'files.', license = 'LGPL', ext_package = 'pacparser', ext_modules = [pacparser_module], py_modules = ['pacparser.__init__']) if __name__ == '__main__': main() pacparser-1.3.6/src/spidermonkey/000077500000000000000000000000001257236634500170165ustar00rootroot00000000000000pacparser-1.3.6/src/spidermonkey/Makefile000066400000000000000000000026351257236634500204640ustar00rootroot00000000000000# Copyright (C) 2007 Manu Garg. # Author: Manu Garg # # Makefile for pacparser. Please read README file included with this package # for more information about pacparser. # # pacparser is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 3 of the License, or (at your option) any later version. # pacparser 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 # Lesser General Public License for more details. # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA # Include config.mk to get the variable $(OBJDIR). # We need to create $(OBJDIR) first to be able to build libjs.a alone. ifneq ($(MAKECMDGOALS),clean) DEPTH = js/src include js/src/config.mk endif jsapi: js-buildstamp jslib: js-buildstamp cd js/src find . -name "libjs.a" -exec cp {} .. \; js-buildstamp: mkdir -p js/src/$(OBJDIR) CFLAGS="$(SMCFLAGS)" $(MAKE) -C js/src -f Makefile.ref libjs.a find js/src -name "jsautocfg.h" -exec cp {} js/src \; touch js-buildstamp clean: rm -rf js-buildstamp rm -rf js pacparser-1.3.6/src/spidermonkey/Makefile.win32000066400000000000000000000044121257236634500214200ustar00rootroot00000000000000# Project: fdlibm CC = gcc.exe FDLIBM_SRCDIR = js/src/fdlibm FDLIBM_OBJECTS= \ $(FDLIBM_SRCDIR)/w_sqrt.o \ $(FDLIBM_SRCDIR)/e_pow.o \ $(FDLIBM_SRCDIR)/e_sqrt.o \ $(FDLIBM_SRCDIR)/k_standard.o \ $(FDLIBM_SRCDIR)/s_atan.o \ $(FDLIBM_SRCDIR)/s_finite.o \ $(FDLIBM_SRCDIR)/s_isnan.o \ $(FDLIBM_SRCDIR)/s_matherr.o \ $(FDLIBM_SRCDIR)/s_rint.o \ $(FDLIBM_SRCDIR)/s_scalbn.o \ $(FDLIBM_SRCDIR)/w_atan2.o \ $(FDLIBM_SRCDIR)/e_atan2.o \ $(FDLIBM_SRCDIR)/s_fabs.o \ $(FDLIBM_SRCDIR)/s_copysign.o \ $(FDLIBM_SRCDIR)/w_pow.o \ $(FDLIBM_SRCDIR)/s_lib_version.o JS_SRCDIR = js/src JS_OBJECTS = \ $(JS_SRCDIR)/jsapi.o \ $(JS_SRCDIR)/jsarena.o \ $(JS_SRCDIR)/jsarray.o \ $(JS_SRCDIR)/jsatom.o \ $(JS_SRCDIR)/jsbool.o \ $(JS_SRCDIR)/jscntxt.o \ $(JS_SRCDIR)/jsdate.o \ $(JS_SRCDIR)/jsdbgapi.o \ $(JS_SRCDIR)/jsdhash.o \ $(JS_SRCDIR)/jsdtoa.o \ $(JS_SRCDIR)/jsemit.o \ $(JS_SRCDIR)/jsexn.o \ $(JS_SRCDIR)/jsfun.o \ $(JS_SRCDIR)/jsgc.o \ $(JS_SRCDIR)/jshash.o \ $(JS_SRCDIR)/jsiter.o \ $(JS_SRCDIR)/jsinterp.o \ $(JS_SRCDIR)/jslock.o \ $(JS_SRCDIR)/jslog2.o \ $(JS_SRCDIR)/jslong.o \ $(JS_SRCDIR)/jsmath.o \ $(JS_SRCDIR)/jsnum.o \ $(JS_SRCDIR)/jsobj.o \ $(JS_SRCDIR)/jsopcode.o \ $(JS_SRCDIR)/jsparse.o \ $(JS_SRCDIR)/jsprf.o \ $(JS_SRCDIR)/jsregexp.o \ $(JS_SRCDIR)/jsscan.o \ $(JS_SRCDIR)/jsscope.o \ $(JS_SRCDIR)/jsscript.o \ $(JS_SRCDIR)/jsstr.o \ $(JS_SRCDIR)/jsutil.o \ $(JS_SRCDIR)/jsxml.o \ $(JS_SRCDIR)/jsxdrapi.o \ $(JS_SRCDIR)/prmjtime.o CFLAGS = -D_IEEE_LIBM -DEXPORT_JS_API -DWIN32 -D_MINGW -D_WINDOWS -DXP_WIN -s all: js.lib fdlibm.lib .c.o: $(CC) -c $(CFLAGS) -o $@ $(FDLIBM_SRCDIR)/$*.c .c.o: $(CC) -c $(CFLAGS) -o $@ $(JS_SRCDIR)/$*.c js\src\jsautokw.h: ifeq ($(wildcard js),) $(error JS source directory not found. Extract $(wildcard js-*.tar.gz) tarball using tool of your choice. Possible options are 7z, WinRAR, WinZip.) endif $(CC) -o jskwgen js\src\jskwgen.c jskwgen > js\src\jsautokw.h del jskwgen.exe fdlibm.lib: js $(FDLIBM_OBJECTS) ar r fdlibm.lib $(FDLIBM_OBJECTS) ranlib fdlibm.lib js.lib: js\src\jsautokw.h $(JS_OBJECTS) ar r js.lib $(JS_OBJECTS) ranlib js.lib clean: del js\src\*.o del js\src\jsautokw.h del js\src\fdlibm\*.o del *.lib pacparser-1.3.6/src/spidermonkey/README.md000066400000000000000000000001341257236634500202730ustar00rootroot00000000000000This directory contains a trimmed down version of Mozilla SpiderMonkey library version 1.7. pacparser-1.3.6/src/spidermonkey/js-1.7.0.tar.gz000066400000000000000000031512051257236634500212310ustar00rootroot00000000000000zUi{G0<_G5ܶAFdyB6zNl\-h-3߳TuWU/ YNL,vlupo_ӧoϾ |!0]}?}ӯ3șBWƎ?;uy\?7>r߿cޮW_ gOǏ6~㍍_Oo =sȉ0Sw:+~a07pɽ}'.p%A(l_\\{LOB>*A__ZZڂ֡p 9—K-ܓ矊p6ӈR#lm k$< GxᴿgO_óuylgH|vG\y ṃ}֓a|uGdp`ߥ6C;Fǰ?řE|[;#}Wb !#>?}6?aHDIAȖ4#JXrY-`BE̠x҄{wACՠ'#3P$5&"(?ƥ@j9:  w2@[ɝzr#e*V؛FU+TjhjWsW. NtkzsJ)P{CܑΜSWGekꝞ*9፼9zc$mA-wFK-b-gw"h#*JCg?7+bA{; &v{PFaߙZZ0~ #P$)?u+n ׯ@"J2nĜT5QDgS͉QWO/A"A1HlNwHl!? 6rN" 8@`']y}'d|Ls/EPZ![%SL0r*6<]!m /&e&5Wiv)Q"$ByP~6F&F!shxi0;bc-DU_iFNhKkPR'[3l45q"ޤqzyɛPx+F0o{#}'5ݽi4Nv x?THo!F(.qF;i<~CiWZxSRF28ͮ9U)J=7]mc1 >YQ_/jZj샾:R=l#ZV}mY?^攡*#q,nB+57mp\@5%#w:R6_O q>Y@J4w=*k@h7F΢]Iq0n976^>nv^nbo{V:X@{VWgϗBn/OH?ls9RQ   \:.cLeA&}K:VWnD9 P:X읶aE9SŒNۚźMLY~+K!xQT٤/x T}=h4K2߁nI&Ieq1~W%c[~c`VE6r2N*w3L. 2XC`2V15H`/IG %ql)s OV0g}քu$!0+N5du Mn,I,~vϵ*@Qr)0E TqoG<|Ь/CNj՟\x5Lhl8u9.yX Ktςl0Ś3lg( lhXR"R8fY\ž)44_yO͝lY)x{~Z:}Hv6{j`J v#I%*̋犢8cx /$!q5 #wO6f?ٻ"ho0-gJ,dȁsO \'d&W˸6Mƻ7^"C}t9# ZM# Y&zfPd$nH*k]ď.Hh3P9I,5K(W]=8Ѱ?s{Pe aC!۝kum#)T`X8a;jvMUojb#L"GO47uϐwb( вb~@ܓ;vPbʓ?ݍxW0M"`z>z펼a?*.{z.N\KzӐw5ٓ:ԡ}wnek #/]!P*$Ne GS KCSg,JFbLDT,B0 FyH`򀧏sKHgH*WyyL ;غM%.Πpd.#{lD~M-n>'uy)mSgiy5ԑU!1eLðD\댹̧FnE<`6e=tut4WZ=_u'QP\ 3V]`$y L0C n9` fIA`ģBPghĦp!FJFz3Oy{C؞h-Y)٥Qs f#J'5̧C  ) f@lFt"?rXqt"m gt(P,rhD7o}-.aH/`c'UqUi*G,αJAROIb[,/,% n5~7itf5Z Ǿm0Ƽ,։LV:^0 ONĚ H`+%ReK#,d7'xV7#e|N߈F\/Ճ/^V<)3݀exj7x4'^-bcU]v !+o,J}>E? )Qmuxxa2SD}KؔT4ٓ@bDQ_lw!MMl@n(xsY> ?#,kv,#1$ 7~sIeU(pkkk)[8ݥF<;O|'YN?ieռ#6?zZoK?sV_('E2Wy{YVzmExEE_]a}]Sm2+toڙƗrI >ǫ[2j>!) AC}YKJ F4ЍSg#t1 l i '*^Fg @֕Yx aL;HQ;GQ<>zJKw@M74O 3G"7 қ,4;͌ўb9k,R (~Īe\QgY8Qjջ w'aYVZB #8=`IJGh!*׺ Z,(cQѩwЯ(@]06>e,7N2{ HD"2#=cJ6:]ѨCVݰ)<D r1g\% \ Y4Oy:J)ŻɇMzidLMW,|ۮ6kznB[of}n th)Wqg=U"Ϊ%In%1nϊx-3@6LW(,sn3:Kl0@Tl\Y VEMz'k"lPu UkvK ј }9ikfΥ7%A;?![-[gN,@J'̒/bE2g)Jn*vtBKR!õ}.mE͚I: j>htzfc.L2&jMQ0/ڔm4\4?ε>Ñs avz4Y?xA)?P"K^aff7t<(d㒗^L/ *a)8nDȹTMi_f|'EەH )GViJSt3NR"mӅt?Kר`iG4S8KX% plN~ʹpݖ㕓'd=ۥz(טm,@UA n8ǿYF 1Gϙ6ytfs?\X%ʹ~F> 06PW]^MiZߤbkuNsB;B19R6^ӑB>dYI[gp˄s)N.L*J>z~ $@PGS-;dZ^:qԭbD.YtrY3GPH< 7rjE1Ag8 ~$lH=QxݰN!)u2e$KwXHܑX`!8r}k%{OM\/N]<  |P*Q@Oax}Nƪ{Exfm݀W_dVĖߠRƭ.hпq.ɲ;x] ۏSa5Jl(O *v;RGdQgC 0ŇnmFvnX/ϥ1'ES `eϓݜmbWZ W5x  <.aov;͠8=إ{%;w"7r G`Szg2jrڍn kRVTsnԝ:,W\̉\LWZc5G<+X$ di/tDV1Զ!\mhNez6f7-7EX`?qh9.cr!˼&sR &N20yq ^wp 훅KN]{(lʤoH,)ȏfSW#9)J+*RR,$aܫ͚$IA HRpd =X }sqCX ,%;><¡x!@uڵa/w%^)ә>ƲVcR@p) ƹr$|:ۨႚN/Uq;r*" Q8-|+?OY 4+qW7#uO͋H (#-4{ U!bעLpt&GLbOQt*ך74ĭ@`{&چa ݆sAE Y]ޣ5AJ5\}(T.~2e@qZlg!hXaNն%f}ErsotEF39N'S{~Qz@}њ9c7: ')*&drf(3/M-l[:?}WrUUBxW.1)Wle)(2!,IM*Yl8 %y+э;ۦX gb6M&9ވtwj7d4{uO-L}O#{ U㠞û:'XBf^vۮRIxocdrRӺ]_Mm ٩D33$>,t"-losĎ 9Y*V˾>%a?9V3Kls?q" =QqM;l>zSY5׫H1w"Q*&9V n؟hT0~vA(1zÄiQFByVfX2DZ %ϟQݼXWj׫5|3vNp魒0 ̙,B av$n3Isؚڥ,Ů䟺Jfo?s5Iյ xN5Jk:U4bW6G~}7 ੂO}߼\>;q^GxVA:%hn7nie PbȕxDߕo՞Ǟ Cw þE/ExPy΍z{65񽃑mc?gJUᔔNv[6vq\D sӷ !5U,;EjE ^ WE0zwXqf:;"f H2RP"_+jK|ŕf8G‚J :0Apwڒ"w"/(e+`ؿ7^NrWΑ l"m@fhF1GkŏCșA"?=H5*g߆/xO 'fn77^t ݐ&[sQ}<O7tBMUy6C$od / u0nz˗@N(`ռ/ZY^IE21bÇ^y𫵅f8}'RNW ⯩doqӺЫ,Mhyڄs P yC%( /I;L}?~ʋ6~$ ,d86\c,) 6tYթ{VމIy*}y3LСF;> +|l+Yy. 4ɥScnNծ]\Jwz.{+BE,GHzk0D?Nqx"3S妼66mx%N^N7fa N\drk[4Y\e.׿1\KyKnPY}4~ߺ}B9!}|<ޤxcfuSpuyW5T+IJK7 5dOEpmB$2cŶ&,V{݃z\%a4;*'*R3P5|6n7'w/#Fm8]^L›hAOOAUIeG]coi: j' K&"?+g2}gu?^3K2x7H9r|LEóکmky Z:祸t4yA̙{CIĖV_cJ |,=ԉ 2I'{<|O6DRmւD v]%96UYwDW$=Kݣ9[-wQ@L\#M=Ky܉\FUgk5hr딒 2{SJTP C3WսacotǽA['UC_9y ًx&O0BE' Ƥz;=vCԆj[dh+Naxy3]]E@{x"J =YtD-!,01dJh̒c=cWQ˛y9=q$SqG8HC_Z+BCȦ¹jd'-vަ\PӋ8h G(/NJEEuY*wPD{n΅(YlCԽao~xU{;VD ih=R,!f'jYB "%Freuov&V-ԉ"i3ݬ7Pqb0B~w~^·q>.]n{7 g@h_'Bn/ |y? 7H 8\A8jtH㘖>^ĺ./þ3qx} 9Bxgw?FzΙ{[<}tNЭe%SJ"$*_uG./kv?&?$ Q>Лˊ?>~0bҎ? y/C/ Y(xy/v\4yם `ޘm.L>uG*6bX)ޤ_xA9p.=TIwgh.o(9mƍdc%}i o>`-DD7<[ѪXaE ~6lca6Q{C_nP ֢W#oE,}g Ө8 wܜR zz:;hZY[qE=Ir*D֏^2Ĉ-͎4M8DmH^ \zB,"jr5W=7,64SR`Z W*`;pw.bd|mC5|,X?!2Wo!'(6GP5^lWQkq̏_ey9r- |bs~u:udde"C Z"rS!8Y=ǻCF:vr>5 $aM H|sy-zBAΚ,Wb%b+Bӡ̈́fiק$U\=̥*uP 2 *yˇo%X<^R,)Ma@4Z(<'T@?앴;VG^U 9Y^vqX&_5p-Ks.ZҢuo26KNKQAeɁ[a_o@1Ƴx!ߞJ$ թ{ Y#ūimv(0'Bq|E8kkk/ktԬީQt_FUikf:48q+.S6.:Ô:K]7`sЪ)xwGUVKTPsg^'6jHHԸ&h,;`LQr( y4 .8*?IDClK[ƒnGPT_Hm1vFhTQE`&FZ0ndScVk[s[clmrh=*X^bГm1V^ݟ'F^n]o[M .|r=gjYaYXY Rsn٦:>oJ8_ۯWmCLUP"]'8J {;]fZYN'~%ֺKTK9` ̶yxY ^02W\ '#/WG/ϯE](X51Ǩ`ڛxE^Azz.D%@gxLc#  '`p142=0ɶejJKl/]aH\|Vk(>QpD5eK E; q3S猕B3';V␥YYyBs?0&}!3\U]ʐmFJ]J: q$o}=^w]ng7o;I\|K8pGwOcxu#=tBҜe~iDT5Aq//-J}.lYo0%4ٖ U6SAҍf(8SS5"b MIG:6Ӑ2mSa[!-q9bz[Jy3ѷ\R˷R/f]g[LQhH9RjR?a61Ձߴ~+xYC`6M!:$]3(N?s]o'iI-JIznCq."&+/i*}/ ųob y!#ۺPJڮwZm&4KB" cۜՉL:yS灪}U+Y$!- d|]4!<)r$_߾}+a[;,G錼pa)+0`g4yh}'ԮqHbN]z+G34b̡RSTaҷʲ5J]r9(&jj%YNAc~lmplݿ^ۤ=N/.vwͲ;[gJT:e$eǩC p~-t7|ͽI+"6%5+*)\:К-<.#i\B 58ԉf')EFs$YBt!>]wqJ!x9| _ZY@8I6mSɌd)ߙid^Ç2i9%\&ݓuٽqcWЗuByb r"KL2+8).KGÞ}ƥpSnLVOtfH(8;!R.L'N 9SܶI6oCI0C Y҉G|(%=,l^d0r z oK.};[wmVd 6;hΙ0t-׌]$Av5EekA<$p3 5&W$,p<Ĩ3 |"'E?xXm\؉'as1|Y]ghʤMFK]ĝE] O#aoqJNy|]+ H6VNRpvU  P Z-,S11 Rf ^_H/7K f&壩c;u<6 jSJe?1;s j92_(.XtޯI\%>FZ1#OR(H HG&P.s FnfR.WDխom'N""|++,;BBsF%)Tz|(Ǔ!|-sGRT*/bmm HQpz:ru(1SȳJ`cP&EOe8W5h1Jea {@+a) #JIܴZ-tH@!C80u镁MFΕt,(.Y-)-*|( c֩3=p(WUE#y7W>|q?"L3>_R#6xآ\@fzg,~ М3Q-uf|vX稆ENhOBYzKZT ê|7H})^uPׇ&vI9\׃d|ł̼4Ҽ}0Vc"$nWYEFSPAٴ"B5ݕJ"t#!=wѥ8 Oh8L#:?tAixwu_6?K̂K0$;H|h8=Θ_.q0%<0v,왹sz?lS(ڃ6 5cĤΞ|48k PE}k:tzUE-sg{[-r/,|=^ʇwD ;GgN$c+zé+N\D @MfI\xm a4+o תujWz.@1j]_{ayFiP:!޾ΟDrΑ3â.AtꙜz_ə.0 G&]sƫi̙z1.[c; D/rǷ(wq݄ނ'mڧDZQx_0zXn$h){cj8CaEØN7߲և ьwsEDn|cE;Wmrt̛?.c("%q0 9M"!SM;2r{4~ڀ箦q^)r4<IqgsjgZ'G2Ts-֭q29`xg9NN'C!oDs#2wQ`v6;>q`];]{ehw< ѐ,;%svpA`0AB@Ae ð8l7rZK{5ʹGF4A}P%r*|o_q}w9eOR~bDۓ]&"YW2`rU5EZQem&c{.a Ud(=j ɐ@8nR]:UJ弣ҽoElP~uZPZgx U+_=,lVYm6hk}!!w3:MWְ~*,tmwh'; " 1atu+iFY=G4aKۨOꃱٴ`ůգrʸX_-x> T'XYv2GF'>& 5O$U@,u0JPL+DMAwHUv="QxSm#/q Z q ^_\WkHJL[C`|n3g^*T'ߌ'p8 Pg&(,}._L=W6+[8)PVO6ޅKĴLeSR4xqip8m0f̆&Ew3`-bΈ@:;jcBäY !~<5aY`̒| U읿*oC#!§p,u{x4Q'h3;B@RA}L\MN+m %xQ<?S/\Waw=oFXզGyI8)/ɉ7EX |`WKWl*&}2 'AMZ uSԂ4&dh~RJ\"CcxbcT{|$1ڔ'sTX&uJh/~FLCFsf0T쉧̡ ǫN$%мtp:I@'R˷Rg  }zHOpw ztâ 7ݶ)#y֋kS2v!xZlH÷*h8w١,T.ˊ5*;lZ/W3aYAmwt"vVp/'{%ye™׭@g.>M™:4?Y~ ##qZ$ޮ8'䙣Q26Ե,P0f&zV$Q|njղM̵BM 8\WY!It#Ea6 ^|v|Q}*|e􍔌N-ҧuuTncGEh%^o{~>g@EJ^0/w(OuyJ+#Ɋ>𓱖 wSE}7:0WuzYE:TbL0rI;$AqIx4M)JfL9c< L=rg+x36*%9-bb7G4z-bwqA*UͷW%f3AΎ-JaJ y.iR$N0< #rsgyIʲȺ*[|"1 ldQP;:YlEwKbuv"]l )(&Xkt7.o*Yp"wcU1C$gSXf~f " vc+"&U-Dcjt;8fɘ:$^Kn.:?S,S ue _8N9Q4UMI ( Ȍ`$y2ι#~ OoJygf^r-}F~b;I$vToVfWO`+;63cRf=x=Jԅw1T[zԟ U^|#Nsחˊ ,‘n

"P˔Xjm853a$hNfCI1d n6 \gJ!rrg @|!GێrWB^B2E4Lrg=bOMX&"5pս۱-'VQJ6dYo-f;E@~",{'O|w6]#tO!n^ R[FA8Nj μ(BWJI3sb!A-@&9%s {dtaO6Z. !l `shVbAIX*5/zKfȧ3wE?mP#u.@,/AW%$Gllay{%X<7e,6(B} D@$G|}L8d0p$JPpe̢rIRP1-;a r2]StĢ9^?`m|ƶշ ^vĦ}ү Ԃ7u]ڼHѸ{e=U m_~]uO=k[$is{=ne;kfp{΋"M2{`ZE?78Z^/W(^`Lۆ>g^&;z73Dἱ*2D[(:yȝy+&}R]1jw~L58x@,.h~LA0XHI5XN*XǰU!܌٨_y[qsJ=N)?\F6Hv4 i TUG9{^%}`_ch%t)el D<&[KLUdyh <.;Or_i@5 #]DD69G؋C3}Myca|u;S?X[/@'1,cF5[˛XNM"속XzI(+X+ #ƥv5(W;`/B,\A|I{%@wtyL;)$ɱ('r1~ $rG8˜.܏ % _bndkCUJX>T")ઞvdA$U䍷TX΃&р^q+&"S_,షs뙧޼'!~{g2P?Gm=YoB! #ؠEÒŚD$Zr3R:H|6 dJ_>ᴿ1\;RϞ<xgws􍍭6] l'Ml|2q HSy\?7>45(|'4a$swGt K\ yX.8GQN'k[XN3*{.&Sw[,[tó2 ૓3.q8ޕԙ^Z[:kOsbJe4*//c ~ID9(~Xt/ z3~oAL>ڀ!9Vzqo#7.xW@bX @eO .,r8y'r P[R7&V`Ѭ)N$Og>y t .4 YeyMT$Km i 2BYlGAz+PH]Cs4L\,8R?;9$:|΁Eo wpp9$E awRVrP7B x"[flu$&Ekva/t: g# wAD&UQt:]+ܨwQonbɘ2!sW[!np&6dzZEZh2z{zoe:v>XTP$YwKQ2^KՋqwY{/ cѴST=8Ƽ=㭵hDS;WK_? G.妱3||xNsU\" ƅN`TXGQa |a=IQ\ ϊKDAdc_? 玀NOs n)ѽc 88pN0ꞺsI]gN O+_q9.1?ڤO$fQb.Ara1rP-u?T:'Ѕ}H~u1` d.!0tYd,M`ŽH4FEb v#ySuo$$'=7˷b%@i4o-&{z;ް{7x^ |pfw"^KYI.Agz_^H{\SWr ($w mcZ? ɒϸ c(hBp&./oRKNCdz]Vܿk:?EWG d&جn\Ut^)ȷ0UvT Y响A\Qo휄}Rvc&Of=Ј4_(!?͟Щ9O|r;bSto09%DƃѩqRdwPoY7I_0kj>vgn7L/?XY4u~':ǻvU2 4Xҿ[sy_+mdoi˙fi# x 5'?x&T2rb-+OfyJ)KgX:+Qy (_ҒtVjedI%+ԫtTӔtfFeeI*+KNXiJg)u)DEJg&QFT9BΌU,eOFT|9ʓҔqv5CQJ`@*䞨-h){(5D2K*,Ϗ?bR\Hv%,% EľwC\֢f;63vjF;@N;;\'y6;SݝTwg3f{O YQXC$طh3!F|'["k_~?x+$EfJHvg#smlvLa6aFuLkt9T1ibZ^xs SwᝑHxg$3~%#aCr#>5k2vtZaYF= %\H~fzsVVUsQu!ǔ^Hẩ7c&y仕Xbb܇;?I'+k͈߬3$"E-T[%tqS%/>]@BHaY %׼;N='yI^wםא/t+6C%̵l`Y )A]X+v!Pi1,@UVo}BVLmw5;>9ٔ^٧i|jϼ0(_qooa/-~{"CgxKffĽE~bObc!pUo;e;Υ(S~[dʿ'mP[$\GX]\] %u,t bܗkze nωFۛῦEW?BLAQX_p BCHT {^ $Ӣ{aoE¾3:)jb\Yyk#q%_sV̺Kk%_Q{/0o,F[k-\[;*r\yWo+nV"Lu”p4 !TLFg5wL5kxWݏ:u`?m1n׵ i7ovO42aϵ.itHT"D~kn޿|޿[x_a C} ޶iwK"o푳;ܽow9|cmxWA5F݆m5-tAVswZuk\[oscuk;2}_xO{*w{~k܀Q~낗 X;˾iQ=4P VCnmMߵ 5&E'7Q{o{Z ˝ xo;Ep%o:hXn_9эyo~ߥD|.D؀Lgʗn@5-ߡ_ Ϳ9NC(wcF 60D=e\xU5:w7םonZq]/sԌ37Ǐyqܭ­·KMwiw iԾJ纂 ^5 E !w;ۥso]^kg uPorolM7o_Q6}9&qk ^D kwɒx{x{N5#l"@RKw@^c"Y"PAHq?`wo/>g7g7"QUY;-۲: !YɯKH^Վe-ܟeb<P`2 ں-_=_ϛQvjFslu%g>ݖV[xFϛq5~]k`wT|I sc.a@7noKBhByf63yX%[iCj}2~gI)Gm. qi ^73cgԭ5;ݭQhպ5Z9wk̿6Q/0ODoA[,@̔+ Λe@6ahϻ`}9si\SnMn(xHLnn,{޿7r]~K/XA0)#Y /BBce2_̝crmwp/&)q3$KL{92f-/d!&617K)^T袐M󗸽ty8ʈ)mYL,dZ&΄rmٽԕtkc"ق(dlgִ݂s,\]W::׵_K/kG5ι=Hh4ڂLfyBS_ukyN%"_Wd ԘꆒJ̔ShMSK? A 8lEm0ک+Gh}Y9mVϝ 7+Cؚ΄y:p_1k Ogك Э PЉ-L;8G`WyCԷc@?tFOAzz3r>|xp4"ْ`d\y|zO9ۯISF:I`O5C[+,2Cdw-q\)X.5ʴ|9,ه,fK_D /xs7OӲu/J'3@?߮xL[XBL~mb2wfw}z yNgeP٫/fx׵+۟0gHOȨ" H޾И2{Lv63D oNO7sE_ݢII8tS#oL,C~ kfbuNIuL'B3 +m\aIWa#;S2:+TjO!P?f Z̰2;8(`~UΚ|va"/xBW{Co@g R-s׋dˣy#r~3Lb{ ?R%87v\2OK9? lQw&4Ajyez1 ؛ :`3{Յ I\F5Zgc s''qp#6٭nDcj0r`.(IBS:3̩@s9\2IpLR$&3e1Yj\sS}RQ\if}2W=K& &w&uy`ϪKs$86 fNs$'熩f93J"o2{\aNYedg$D!^ٯfh32|u"[ 5;Sҝ5A0?ܝhk˺Goa}676*ƣGGexQڨlݱ6>>5 B{loz ܟ>uƒBWݽ?wΝqY\ׯ/_E֝;|}ߐ&g }+S|i\Ο`kc}tqO9_Y\kq-ŵZ\kq-ŵ'o~~ww6ş__?rܽOWwK#>gwoc[\kq-ŵZ\kq-ŵE};q_;_wK#>gw ҆z\'w~7Vpjw\ݞ8x_wc6%7Νjvx7<>udO@[ȟ\ 9V ɴkxoZ\]oj쇾3V_G@ @u`\Y8oݡocMcϟؙ؞|WŽpu|e3 !z9~hu`:/0d 3N™ KG=vܪ9s==+Ω3IAA[ | L" ۿvل`TO=vm'FЪ}Mrcd7v?+?*M֝;/dlq-ŵZ\kq-ŵZ~T+F`q}Kd8]V*orycscz9+ʚVk <{j=yfx&_7gVr8Sk aܵV ^v}ѲZխ[v{_yLZM^~V74ewX?37Nܡc tt`zph[۷nG%k_]JϬ+j+Ck Gm84Xxеc]B0ʺC^-<ȋ!,߲; .//G urw럄ؿx:kx `CTZ"7azSt;kU[Uq t<5bSgnuGma `NjMXط'3kj X;΅3ǀxA =vV ?lua[=O|E08ր,rD JnUChqgrcCl8d9(=wHUkdcy\e'x/"( @{Ck h)3 L\.8 & 3opEr < L|b3Ռ00cϸ@sgCAU˧A/]o x?d$z[+6@]@ DņcD덋pYDg]W]U݃zQZ7WZMJ~ A:9P??Z'^- C}=vҢ"9s= s?`(N 4=ɶ+ؖ\ Ysj }y:w^;3Ȃ4BgpFK RqeiiUK6V,}G`#|@$Lhwtzf[[: 9$6ZZ WE;jxgD>_胓!L@owGĺGz}GERf݁075LThfsT{Y$;G`lL6Pi ;K`L3-nT}( e8˂h^cY뽶$mC_ne5i%8hLjk>tHk3ِU3mF c]E46* ; F3`gjAs{تTԥ ȵ"L= 3raDi(,N{ʀh<[#*ofƆf=ű^6ÎBkaV~ljSLy+]C]n@j/mU6ЗTZ>EYȷnAW}S6oˏY!Sh)8 h}$F=i{qR~:N}nNNhתͣNcCR~OC$ h `00;u`v.*͚8L`L#k;׌Aիe Gl, 8aLXrB# T"|ՐQYV6fiKq*ϓWQSDQ=5d*fTPv>0?8Nv:J5%E2Gض_kUQp[>K~Nu'Z7rB<.-Z\iBѩ-t#:{Ip1R54< 667Y̶w:/q4RxwO`]^knf%a?4QxU`x6Nu677t{~0B;]E׺hͭ4}YMNh5N' NU|M! Iq[^W1z?J¾cFMFUo%l4~Q{}bCF FgpW2דg ]'ſ Lyծwk#ÿYpG5 }Ӊ0r-׺UITYkUΥD3[7-<)lO3UΊ&dN"o 70d@GCn6[Ѕ6I7eZ2> qMOR;;)ph6#8FBԙ7Ԥ0?9Kʔ䊭e7JrJCbD6@n4f+M 38]X+9*Y FTaz3G1. 6Z}u'f0 ʙ01(@y?)FҀGtTM@Q&=r9)9n}减s*\]1Oٚսl"u2OS&[eBR=&ndm(&L5 I̛i-\W=*{l}a#;87Rᰵa:IaXTew ݩ:AmNt.X;sz{plߵ[Hj>J 9pspo|eO^ Rfz`$ Os6ì" e㛗Wx I}i,{I**٧ੳu칊ymѹJ(j'bd!fj͞r9Ue#9G S0#P"rzPKq8-0m&2Xs,9jw{F^.Ea p pR3{f,r,3Su)n&Ь48eܗH@-6 " j]o#"4KD 'hn ,wI;˕4#+F$ }r%OxE$PӉf'V"A]]̾$r +iS jsGTZIXN9z Ս%SC JAvV(fvPV\z\%XZ+W҄JՀm`BF瞕%SH"NdCPVc\N[N$Cbm5ЇM 4 V3KrjZRnY{X*~yӘ:hYKeAziP5רbӘjm5@ UӧeئhjlɣoJ+~p(u4ۧ/#v{0F[ir5,@ыYl@_.oEZfGBŲc[iB%,eɮl 4ZOʩNb!Sfn.oeKhy |_]"W~R1s x1pv ߞsyS%ѴƖ;خbCyk+ʑeyeG{ULi9B m`e TKn-$X10qST Yw_l'.\pܓTI t8')6NRSozr,5+ ԡy?]LSs%Z2B YlK׻Bfj)o>q4uQݎq.FQ:z:[7inR1S3Or2Ubjla%5]cfMEع~/+`݊k sK,5^كϟ6jhW:|CAY`, B&''o%Cs\{pHO sH6L'4'{O$ X>l_{̠8sd0"BDEbȐH,<6u72eU_m֥pӕL )0/1R0—"ѦgnOR\yQcUj,@ ܳWH%ܒmU,,Sf^{422RKT6~ ͖ ΉXr^%FS378؊15ad+0`Ef|_١teQH3ե?`jobqr4QGl+X?i'6@`5?HaM(Tĵjc5$UMbFu9s|px8s\?:s0v׎}?wxxpz3-@15۝j,YX?E9UyhmVlݯYªt{;6#Vi uǏ֥ZpnUdb_G'o)RAOBq {km[}oX[wN{f29wRa $jWi>)xGۣp`{Zv:%뭝꿜{^ۓ,С^0Xo|HJ"A zIH5mbuvpȖǑ6tЇ>'Ֆ$BL_2݁{ .Q챻IoRz7nluY)'Vp|?',\8pq>|8*A9 ay>8{܂I{t2zAx6nZ`髀 ƫnc]i اb ,~s<9I~fE<'~3G{Ǿ?{2N{o9`>x['ĭ~r3rJ{#;Lϛ&hOKޞy.XDW<N[}x<fmG/]\W{xp&B`!J;<$'FÔ/wW/p6~B .9&tn{WlK}DK+%Q#yF2|GZa+Y{/1حKz{rCG'^Qzﭽ@]gql @/}wPڈE Ps܏Jx_.Dsv렳vc=/e^ctгV NP{W&C6[{>85W,z8mn܉ V xn۠&WUqNDLUE)^`PٹUZ8O^'b HQwN@ ?˄Bj[+#{.=_<2v3ko^xɒ|+P^4^fWٛ~s QOGz8i--n_㡦}@wQƫVsZ6Z9bv ʆx68 3-U b0fZ__" &!9Ws*;%Ā*ķ*he[0TAҘED0"FPHx&Ėf:q JMKLp"nYf<N}b(3A?>۠u>+ͻ܏oJWϭ߸R7>3m `܏ glp579ux h% /94Jj Xjm%E fpM'?+?& xcdjaLϥ.11ąRXғqdŅ(٪^qHHrd=%M>&$TjTvnPr(r}q*fL%W+$TFXȈɔ&n6&ᅛ#2.>=\Lo|6 PTIin l}w'#\ !hH{]ý7΁wSԲ:9wrM_DFprk&? \e^YW8q$ItG1grq. .G ׄ^HX1+mX/H$P]Wpm.N҂"wjOCáu~~Ɏ>˶~bft~ތYPUDȯ]G-pԈ.QY3̋YvY"*BC1gT̼TFKl50-ܒkpf -y,D#,xG7+%?}hU20*m1?0?%gq`4%鮿> i ݿ0]#AѾY)ٿ7:C܍g9 Vd=QsJR'tZfV7,g̾`?2`5RkQ! 9 ;DN/f ஠5[uNG>Kq;9҉c  R(&^;`JX, qu{"qGV)KC"8㫥AGt*V<_J@lZn"#kCkD5d0S>'8ڝ8N;n%&/Aq΄ iIʄ }X fZeZeIqBK]{6.p}YY]g_7exrϼl?`q<~hs&bāY'**;H,_Rw_Y1`ϩC%-O0.PyQd8 ~vd10â΍g|rT9iD[>`b;B@=NƎ3p 0Y,V"AeH>(gaiZ $œ`pO!\`LXŘiV"$P9)|Ǝ8D${wP?znDG =ID/9)),nC1y:Ʉ>#Yz3pw5:iOGqш3W6)AȔ)>3۷NJ#l:nE3l+P_,e_)ۑܘ"U`5IcLVI,ҀDJRW}ŵBX:?ix>/1$XӘX&x?P`t8¸![ZZ~M}>L^hhEyf!.w.{Εv-{G|˦BxQYvSrt‘VZsm2Kgu-I'虹I!㣧 ISAts$ծ>J=RJ Uމq!ڪl6w,.=4ZGTJi]YąPtƝs1J@ DN0p,GM{`ŧRIog~x(/*+!^Ȑ`+&v҈*'*[@\mAh|X`fLӽ^9w?^ThZS^-t^e'^'kD3F̐() 7=|X^(~ n@bK?,^|89]V-T2DWD׺8*ҬTLBm/!(hL)Ƈ¬8t @tpJDQ&29(TVPqTWIH;rF.OB|O'($7Zf*sylAm`)㙕7m|oukmT4 ?gl֩F\yj怿ITL'G-3!h?>|wt;{;q.W?/KH։Ȧ~ ΡwI5*Lke 'zr(s2{>LCsHG۞z)J2/:ˎA8wҫ.c3wSw.smt(|znpVFxiGcLS}-F4C]5[O>kTҼn I˚p0T-n JL#^uT^Ai,i Tr[\-2Nt&7w',.FK5GA\Vф&ERRF6D`$t4ngZΩutKc;%be̓]{=g031Xffz2 -lp(ҘD$$VU4QBZJ͑_*|̄ʩV;R8e}h=X.%MRbVD\n}ڰ k#GŒevn# ևV,NN£@F(IZ~GHZyH)a* lnzuVUB43#'^|ZiF&b$mƮH>. |e$#GT@ Ք_3oCv,|yPWWp$=Y@b+`j]C&W9‰0Y1/a'ѷk/@; qV?]OÉV X#F#MC?]`c?ڭM4`:+Xred+,NDȫXCTCt?$U*ڗaY`RnAH[sdz]y?'.x%)g<{Oa ȈHl''AT֢36c| i>+/A8e,9l7,P'I*քM80FB8_L}E$G{#D)F|mM.܈f_/7 Y5ӲSkuifnf3o_;ihn;GQcҫoDdA4xX5ťrv7141I9IΌox#eDܮCFa^1?Wmm@/B H sVY:%DK4*j?3[AEKrmqx, pBlݺ7>ފC{WX~ԮoRKWy"W7M-| uaPxh|H>d|X>lxιv큘|\\Lc6id/`4p00pg|ؕMY)Ske| ;,o"'("{Wo0U^W9R YPOhA -to{+> D/5b<`. J \sZ&dw1Rt9 H.0q K1,>OϪ[nR"x}+ {UP d_uS8HnW\jK7I}oq гy矞O{؛bRN}[x}êll<^+oml2P:omoCk8U^ΙUlSh^7FChC/Өݢ<-v#U{DےK;8љ+!#\]~ I/2.u;;Wֹs_ɕ?d'~^o%DgW1Vّ1ϕ(M~-hhǚ@[15a"*zϕO$FDj&S^X{A)F@-:ۺ)wcN8h5bzKK>ZMp&? V9ac,`\U8MqwպH7ݗXs/㔵t?^Ýe~넄jmV!uMLJ`'f8qpEZ?Z BXUnd.q qs5$CQb=b LoXbu9rU8`%<!8Yd>08qr~`n"dvWs[$}ĕ&fƪ2H41[ENԉ.t@YA' IDFLV'4!"Cw/9Xc xIosd1jVj^ NrEK["r|E`ԫ&Ey-5_[yë|l pST\۱= ݡoɑcܚ;A+˩woV;4cr}RF (:=l_WTJ<a浥ĈĬybj s'=-xۃ[8[ؽBmA⡷ ;T]%󬅽 #QW_C1S*wӻ3pxފG^ϣ2Q^a{APIf. :䒦ɩI*~2\b40fjQ}*XO~D赻N> I?W`t'~:7AKn#MpMW{ynzP#Qjӂ AVRpAf<'W` 0~j_A}}|:~x7Py+,3 (NvNKsp28Cyw,8:7nvvTЎhw_z@>LFj4}5_U]_*_z>`u=ю28WC1q|vH g &W ݫJ2Zv_:"rFS/-Jc û?rmQ(i^`[`%X`Sp/})%v GxKdBjS-ڹ+LYϩ -HW_Uci̠bkHzV%)1=K|8]/7#:D5%.F3+ B wd.LT?JQ,VS&;'J!]9! g^ 0Н&+33^3^+̔HYtE),G/𽫑?en8d$eL.~<ӛdx@ ${Qx"Z$zD. P}/%[5v-b1O>TٞB%f.?MW񔴨NBp'I9PC vR?T7 8ZVn}؍nY棬PjcSxT+%ؐCfRNN|&b9N+4 5Ɖ3(tƃ:&] 5B,\+l,RL 1X>e'LTb@wVM&k+e%13-0)4(> <'էf$+3Iםe(RIVrg9QC!h3 P_n z&k (SL_u0@ o$,U;w`c,&(*xީd/14^],nwYY 9 MzHD@7o9j=)Ň"&nFֵS& 0`4x>e"ZE}@‹X;, @ܗeSAZί%Csd ^Ydۣ 椙ZIR7UdTDc+4nJG\$Z';Gڟ?+Vd+Hԣ3KY _l;MFZBjPBōPʏcxq"zWX7ݦHAoL9Rt9$}j*1Mtg m8qRHvh"fdO=5Zi0R+'8X+[ū?AXəט83(kWH1S*%&dmޠF`!*DVPM~a1+D rbSBO-a:3O?Rxt;ЃcT|al1oN`{wŭt^mK+l!*ͱ@贾yOTxx؟xeJ]O|ϥ;zSv|{]Nh(fǬ[ ɦ4@7<cP+-ǥF(P|*<בAƆV|xf{oN=K2](e@֐JByvsc}ń;yt&;T%`>R iΏpeEP(g46 l@I>V_E.Y&U~-a|N1A%w0x:%f"5ƒRYGó?==b 8uLp ~ftxG]A#$x sL)xC{$Sk\l>N):{Ցc`{DǁyF2vI&Y(G Y|xzJ^7 X#RAlYk00&@V?uE>w<$!̈җvјx1vnb3%Oma> K^ܫn[깑$:}Tv*JJuUs.iD"@$: yOQ)\^-qm$%mόHFc +NK/sk{w!!&ƚ$ŸJ8B730 ںxK2&ԶRƤ2d9*C$}ʉ |>49d|S;;8Q-&c28S`uQsbǏ7 U667,02cܾacTd[=IhO^*ؖzHWCURӀ8-G ר<$:00HSpn?NK7=yhtgzɬTQPz򉻂 c](xM`ըW5q@>z(R ĈEI3 kzG ޷{LQ=~׫w&惘hYӣCj]K a؏I`X`U_AT~=NCá4HYa(ρ0kNl+:jjV-ڙ@&{iuV2ۣ^Ӫ6f3<^8w#/0q+Rhg|5U!S>gTWjPc.cY$U빥f"WuG:`T@bBW= #sQ0+,ˉ@GN%pIHt* ?À$HP/aPh?UuZZ9G&5ݑkXCP%ZUNMNSh|4Ųt&EmY$ b#^"9:a͹,9GPrBo$l[w]l`5P1BB[kd9ڽp! nKa!cM)ͱ)-Ƥ°0V<*G)ZSvodmH0 z~J %\U8r;t`yXW X̀ E $qEe_Nׁ. uZ@+huLnorU*KGɕ,](Je Ԑ~ZU M,Y]G-vЇRcoi^2CSٽު#ӷI`V)da4狉Xe±X#Kջ;ߺUdWVژ>4p!3c$GϷTO'Ű](ҧ6 81[z~^ɗdl S-oU3/U;UDGư82L:σcrCq/ Y1 q(=M'2<~tb;gi@pF(љB ʡ^PaǫbL@*kGUˆ>QPBa*X2}[NJ$ndcQ$C *5|fQ|e1.bk0ƹEQV<;*vn()P찲)G1W_XV}"%p SLuOmҴYZM2hՀ!֟Ar4L= \-k<~R]<*_cʢH qZJ> գ/zJ`$bTY}z%M:05WK.;Uy ] sA껼-;oD䙵|\ VIYN Aǭ2 }|`oN22% UqY`6VY htY } Y{^Bo Oahu0j~NTn( 쩵1[MջhВ/AQ>'03?!}|K~TJYkATD/j6d0;(j \FxI|* G=OhY_(ycœ|2* pq|>7)$bH(3Ĩ!D?e)km \E`cZZQ;"dԒcU%CPUFVjPP6nK.Ƭ1-7u@Lǘ)X039QsN^[]x8 I*@fdG J[UAQ2Ȓ(DdoPA#j"{d31~g&QGA؎W (E+&2 a!|eK8Ytd2^CP']M=n8\PnHOKPGBFNx(EW%J`*8zF;p ?JI3AqW2L&| # GJq&nȶ'}BerXp~*ъ,ƽfW\=E$ONvpig "4jvXnG7YjpA< 0?u8T䣧y}ԃ< E!fwwcmPQڊb÷XT<ŤnqH jj |kv-A0iLBf82-f_ځBQcC^'% 9Ϋ9x$zA. ik㋊+901%t.-Fn۠Aj?"?(s`b)2?>|JJ^/2*kKg2GC.VS[ris"lJT"ΥM%?klQW+J1M%mBn#쏵#p>-Pq&#Sg8ڋԝqK V|F16nv8a<ŰCb glOU %3IźE!_$8A>kբc:4VNuDr,ELT&ռ(>tW$Δ~arج3{[(丒I#Hf׼}? 2+`&󲼌KL T(ŐD -J |7+_G Dkb3()Ƴr(O?a; 3tP*,;G(#ogLAv{T_ xuPF2-=Jqnq"geUOTO9_-O<`EL8x\ zj0m! i{ i^} X^w`.=g,_)uY;Vߍ^,17|앲E1=V D<] 8P8`K4[,+50|nֺO[J$JxY1*Y+% ^0\sq Ú0hJj[<#b:Kf@E^1Rn G =FY,A#%7a@cjr:g4\ Ә+ x=n9qf-eFBgqn#3_zZ #uEز&ɸ#G ~\V)\8CYs_{=Gd!7.C˚B1I:9fC~veR$ړӾ1=DfXvuSvU?$A(U=N)qU𛜼a8d((oUVNlܠL>>-6Z;|FhxtOY,u륩y+ϭBc,RcĒf_A]Aj#drΓgV>rpʟJU1lc[*e楥#u+RS_@VuެM\J(==ٶZdi}j;%֊ b[&b#g#^~ 1q;KVoKZ YfDE 4Z[WruT oZN#2fL\)4IR( L{J᭚ul3+ܘ:Q`] ;1.Ǚ.%عqO.NJ[hYc?&fvhFV u!V#;o2۩( QOEgF1%޲f>TRL ,hjO}#[jjgJ!%^CJ{p̵B|,LBɾKCWqo'sL$|8B7cRMFq%|;; /ȿ3?g#KݗNZ/sM:6 _.88.{$(9sHy fB@OfA93gxY fInxPc>Y T}ҹiz43[{R];.{FI@UD&"z sI<|s՘C*3f_ы馃0pU馁%9)N~YYa1Ψ0ЗnPlT9?reR\^4Jp$[q*B<'^N0X)N l42C |p\63ąqb ΀nB}TԘSw 烛q!9Si $j6@\+nu0\W._%_beKJɒG{Aw> _)09psHX|Kϸ{Be|S{O9[om7vXJYS *}joS)lXi=)é$2@[zEdž2^6cWL*\q5r)Bęii @4:V]+jf-E-]f{+Z.Fe)O6SA,̂e"2`M}}i}"[:^=L#0 !w6(Kqfog 6ߒzIw'%Z'9;\cg潬ڙphS*2c( #-^V;6z.1k@$y׵2;7~ })ћ"[>el2BdTΡR e,(UnfQL !*Ց2[62b)qmfZʹatR%:NL><`T_c+]6ӆEԪ?`7[(pDfo2pEKN DOXtoO8C'nj3[7[IxHk&+qWUq KXn4i>Jc'.W"N̳ھVJ;|v3ѸٍGXq}b=6ryobD Fʻhjc\4z[isR_«=  zcLFjYbnso1B]o=VKgLUx3c Ʊc ܌Q~N&Nt~')Pי;&ٯ2*FAS|izD"*{g]89) KNƓ׊H#PLv^= 4Rtd$u[_rfy&MתUVZ_jz,(RƠTrO}`8ut$5GJ'Q%Hފƴn>^cGuO}S8LZQć:xm}6~v5#V<׋7BnjR՘R?t.ZsFuӹ9KpZ;.ޚ~‰Wӊt֏ٕEIJJZRWKҝ8W"ɶtZՅS\@aT ] ~arSzW.[x)lp%^&TsrIiLjr@:I"56vd9úǒqGkgvׇ[It:ӭ W*ROW0V4PpiwۗXYG#m_?t;[ PȵnNɟlS7%$%eAr N(0tH)1f @ƀnjò&]`f&CÖZQCi#$ԛ %7tIQT{լ`NG I]m_1Lo 4篿nɂW؛a%VDSBu#mɿ0AмEQ neEZ:SJxFj_24χs3ֱ`azͥrJΠ}I}ejn2pWyfg[|OxJtΔ0/wtF @תlf 0sJ̐-G,)w@d^t͊"Ƽ_Ki8ڨÏkpZ){[RsY>nn{sQk g~R>8WV+?.6XuH̭|R;@VC &t!> : p܅iX9WXP&4l9o^J&ښ%9Ip_!_Q͙<+)HCP$4?㦩~Ի(*[`7{^;G+ZM;u\ISj^8ls~pW5V ^dH_kp7w ;N"^'v{ u)W9t ,yh|?&,  p.͡mh-+ Gj \MY+! ͗x6_14N<8(J!S hTޟH(뿌)Wd&%SU e{ڶ6秕]UwWs& uJZUU^WZ%qT_& )$^JJɝ_)4Q8g ߙH Psm]2ļ|O, ̀A:~@X"#;n"l82ouX2i* ^v3 ?!|$&-N)_7hvV ğ^9~SF' q{_ mGL/FfEBÉҧӣ,&]=ShEO0Y/{k%76_*GԶ-Ȫ}NU :Iwk"sܵUq(5qge)*W[ l]O0FMNʌ Np{FA ӬC:E7RxAr3exjm΂EUKor/`w߼~*?tOkh(k?Y`S*JÅ1Hpr=vYp hXW?^wo{x?9khj&<<'Aq~y{WMB97?kwN X#0av"$26 kɇjQe'-? "kbVu=hsDA_(8L( $2k%|+tGNNԜ*$͚e}xzybSaR ]I[wwHzNw<.K2=]\Gol8GU zS ,DA]p Ii2E$2$fc1Z Gw 'HaBeДdEWpw/?]Q;;EH0VsLGmHVb9ͼLCL6pɁh vu"P;?j_,$cUlG%l h.f˅7 ׸XvܮFߡpLlG9Ӷ8";:qCF$!$Kr敨{;Gz}~~G1i:t員@xkUfB쳁MnDc\hKb`6)MyV!tEU`>S|.4Me|&MuL*[WF"Ppn M[ Eki۾e#Ĭ[mϞLa<ܿEys䃃߈3Duw3/=O$ErW &mbT4Wu̯aʺ]0֚13͓k-w*549=ZTEʬUEU yD4kaܹo3As(S}" ZIzu]}'RXM_Lȿh!?B/N ~9C"F7ggҿfV1(\!Ԟ1;u7us>| (߃<5:8.&#^*q&ɣ\̤m0s0h.2e9PR:fjx ' )J(9:Nx:5Ʊ3*8DFS4Ns[H@'=haNJv^#ѹ]Q!T~W͵Ӫ W= VDK5o,go7݆PCNTL#p8,c^Uˢ5H]439$Ir1@\P-FT?D屒UnYB1uҠ}=qTi-]n.ˀL{O.Anj_ :.ĵP+}^7[ X?D55t!*1!Nj>u} ]_u[ͫ7]~t^ȫh/on폣`.RQa2q%<7AdτQ >~BQ"܄A୦JOj ߷`!3cJXZ3H?%H&/^.1 fq)iGdJ(;f [$}}ÏH8 r&+§ . jc,]rG./;Z:Xe.Y/t]m\t^N=pmtn Ǥ)ȚaJwV8)ah aPƫUB× \&=II,DPC\1q]M,ՠղcDu>k7m\Xr\D.TZq@N$2]lx*9N:gm~)}fPzV)5InfU` |>hiGHN}b[/1Vׇ[N+6UcLH&Bmu._ v/v}/pi^ <)H)qNHJ܊وdDXzׄ\0.Lt7u<>g1eZN&TW[8ۃ^îU {+'*7q :T%୩vk50ά!)qc֟@J%Miq&-_>3X+BhjlK5G(OmO@ `Gd`1P B /AfT9M8Ȳ AkٖP%}xjW zbρk=@!7_t7Ƕ@b}Hr׸S:F%%*KTX1u7حʌE#Z喌4rbxPQYޕUX \4?].0dQCOn Cxҏ%t7szϑe:oq{Ss A읆tfi|W`uR2,Zk_ESo?>6,k(2]VQ)ݧyt{vOtl ?x >Ǘs}Orwe]wƱS8be1`PU䉧TZxz5tO\yr\4 o'*{ zp8O%cyf_cο0ZZ4hem>:F kd߯0O Ev7RpT!YZ X'Wm؅ˮ=Sa6wG4pek޺èrY+ec=c⭩+H '< >-ƘK5)DLbʰRIO]RJ&3Lɞc1DaW3g{y<"& ȳ5[q* [ "W Z6ȴR,IkgyVC;2 9@u*)u;Gu}8գAnN:hV ʍydX2ȖK5G ARx.p}~]v1 ˌBƵn͍k#avbq֫fM( ʉ}2x# w?q]v>y<V,i|ȍ=),ߢ%ԜiP}m۳3S䥼HQZS^^M[n0LET"×^ëPiX2TIe$ $㟲!\LT\NsY"R*Fn0aCU`]Ne<Ҫ=ct1 ߗNa)ƢNǤ0^V 0[xp7 Or(5a9  ´q0 [2 g4]b;l, )$%tԚAB$t9'=dUA3']CH|*Kd9TdY \c,x@0~.JpGܜꚄk3a3F$iH0 0=1t3TX6\~ٹ %gFԍC& H\(8z&ӏXB',-I-0) ЖX%! VsnDV:'Oa51a?K8m\_ |x"kUv(tPFU!IMfAg6[.?e4^2:XeOHJibyb}]vlNqddd>Q}ey_ysXwA3ԛtx Ⱥ2E8'%K &&Z43qn2f\ NY7Ws)_(\\IC\F+%)JjYخPu= Қ5IbcS"$nwZx_E.A*-I?jCX`+9 8Dze0Q`f`zVBO%qGamqF)D騽j/r K*v-FC|'yFgQWwK4ٓZ7`Ed3oUjjPRZ| UJe-"WlX<nrn7Yx[.zsҟ[7I>. 'Gp:yr`)*KΉ$ɆXyWIHH6Uh^cUTu D[z g]l.BnTORo/ъ<1|@ t!F]cc9'I)H#BÀ*A[ (CbC-m|ϭ_1빞 ftl7r8(*E? ;%+f_ jŀ"OW"B94-dZ];L QҔTFYIX+_oOs{ǽDcq {7ŋ[8Ҹ>b BGc C%$3/cZD4+OVsP}x E3v1˹T' ʱ4hK_ZGqlgͫh=D%+j4mڪ65cBጐ}O0cI3SWZUq N[PgrC?]zNRQwq }}Z]泇Y> Ȑ띓m3 G"UɌi2& H[FcNN7A0K՞NŦxe2 6nbxύ,z~rto%VBq$AƍC,C\?*ejhL"6OΪJ՘3 xz.T}NPCМB y8)%`52?Y`Of @䪭6cn{{;wt $k}W`l*#9`Ai6pr b'o'zKjn}U*|?yې-, )őx$}ne1&*Z{ N4^fnT`\94RS͸\I[TJ 7/D?tϧ!þJ$|_~M/@`*pS8+R4W zםc&9epN'Z$ӂOkr'jA%j WUS\]FNnfUzzg~3-dDbm~ԋƇqqw.#=q>ɭ3_?uw^y/z_;8¿jdK&\sx>\%f$<{8r([I_zjW!^'4Sc1Ӈ(2uOyz(#.NC5bٳx?Nn"ɤdq<\bX lp0J*4^ꠝ|΂{׼lv?{K{\Q q !,u^`NS?Y$eL3%4 5zGZ #8o1VfB]=_ A _ֽw:,A7X#X[qi-  uVaxQ#ZZk(לNKơ:tPڢ军GR6bs[q0V_DPB \"%{{Dlߝ];!rZX93 8U*7e']Hq=`-ĽQSip =9&ә[&'f4BhT,U2dR*GwY>  #1R9Ͳ+:B SDWa6--Ӭ6@f㘦LgA=l8MZ 5ECsNvRv6IH׷_;=G|ix $pͽ$]!^Kga*PCJ1'. {pqmg 9CK9@ f 2‹Cu1Daeyp-&awiրH|Ĝ8v<}nοqz)35nenM ?qg[jX_ڭ~N}uvDzʞgSjfY!/eAHRdtXjJ^r6Gv`м{u}m? tfebpu{0+>%%:WHwr>VAs ]Ӝ*h.C/i.oCiFbmmJtq9 :? 0SZ쥓q1s,#ma<)(0ћR+ }Y_`4m{9`5vd캂Y @d|+BҚB6[#Sc@nB^`UˀBZG%,ƃ' Zg 'c4t`1Yq GnX>9ywd 2o]uۃ7c5VM+B _2I̟Ri,i7]sFqk]`= 9+0{ ;[ #yگMvON'YL[k&sP01r9;k^^{m![@K<\H FYu!$y%'EOGW jp6klφ!'Y=Ȭͼy=@?$=Zt}5gJ '@'?.HѲ&K ȦH=> ^ςLn y ϛeI.Ȝa/jV9gqm x8OiGM 5 \~z+f\>~XoȞ~S'8NA^';aZEC >.ӳfۗ$O1 x w@d;qJNheè2HqQr%F^0KC w!{` xIX=Ţᢅİy8b-Z:欇!X/;nS! Ƈ({oÔ#piژa: "3 cZ%r~{ > }N,VVwG9zJ Lʽ|vl/{;붽fߧ=P唠WjU4!$j|ϊbqvSRT:gw("$'údsu/ؿa잃=͔#2hKY;vZf; {/[ #he%&~ H:#HN `"N!A!o#i`}Y5ni3,T*oɑI^XjcItZc˪fx͓seQb*w3`Y2^&V_{5UZbʙ9zѠZGpD0UGRkJGX~0h/As{X8anUR;)lPm\l[ Aa5 iʵ~lVYe( {vo>;p4 KŀaCfa `78ċ<P']84(UR.}X$ -Ka(h.p)D w> YF4RA\x޴Ih;Ur4_,Ft$U齴<︐ wYyiOhR]7I)y>tj4cY|q(%ꈀpQ:uuhaTtٻFAg aa!O+'# 9|ndϟSF, `ӱڋdX.>taf cAC47ъU'D@q5YG61iܩ%EpE:فseuIȽA^ȎI z smb [H貙%iPsZ#;]=ܛzH}9'RWXiXC$16{tKΏ-WdSLï LI); VdE5b@a|I̢HhTT*(+PS-DJӅQ!Ywr EF/*T!Psdz^>$'\n1„Il>(>7Nb;}vp[q 0r@mfH &=Sd12y) .~)xp>P-*8k8('+Ib[ÍQĀh =>5tq=J&XPrAf a\( 1{:y31\(~ ] ̥E/o@K*bDH?D,.Z.iFkOpMb4߭&>;JϷ8C2+NbԡW dթx(,[.9jphΨW6K <eg5|u<5 ^=-K)ƝOSFZ+&a<7֖ (r$%RkzP`d v Pѳ&s/x.8ps/ o`uTLTxZQh+r$\ TM 2*,lz}F8j3KCBRҙѐE9|UXV0+ WE~ d{-b3e^Ap]iEEو*p]ehEE-rnUdy9ROJa[䀒g;Xc.]SKYJ3*@wQsboݿ].2SJ܂Ѕ@`sDZ*uZ>]um4^7at n`= Ѹ%H??S2^8!F,hi]SJzip92&}g.Sؖs,(lCD QqJ]_SOh[1r xʶ8/%okfKo&1{ZݛjZVNtʴ ך!LNc3(NY±=w{\l0VS-UJ:/w@phSia;{Uk]\콻yPʲ# o0}l%uPT:bCC8rM"s4ULC8rG bmgP$}h.6ybnPias\I sl4jS9oЊɮ|,x[RqCt\G㒯e74cO<*ˡкVTT#;bŏKboEԔa& !݊&dLߋx~tY#I IԻS8J߻tzoO:?}* o /c⑖TrW.2!oy`YFV*m@y/1i䍗0^,Bp_ܡN.ѵ n3Ff OmmiꥣxNF+x75qxB̩PcL.0_!Fpdŋ*_Ω<*Y,Iw~9k_wO{f|cur%/{L[-x&m-UPf H=V+AR1su5n1'v?> c@W a:/regkpďMGx n7cuk/,jlZ\veJ|ʕ ھۭ= W\Kqܫnyڕ[kȂU$62o6%z)%3$<בO6RƔIc0#8(jCK6k+CxKjHU` ⛛iiec'şM(iEĩ @8u~҅mĬ_G9Uj 9,R 2[P!xޘb^2mX.$;|etF=TC?nt2I_7 2tC}K :5V:e:n KfA4eH-QE^ c)5%lvRx B:THt\AEлO%B?c3g:佄:mk s yߜ=N%$ovgleq_a*ifLa\)S&9!ܨp3-P9r<NH5@E P~ؿ8YBDC[=MxKZZ@>ǹ򱉛S !Xx2J;Cʭl!V8Re=nN1wa}*qC_|tjuMrvDf3ɧYr\@}HqXNIx#Y,ykj|{.d5ǛmPeAQW8އhHwn- oG:xn=Zo0@Ep&  +U.ql+T=o=*m~ ĉAҞa VbƦşӖA#dE~.fʼn&7EL'9jsFNpN#=N5 tBL {\Q$eEJ8w-7$& `ʁ}I+ݬN̮x#Vء_k'|!P!xH)>3i0&HCOٹ3ť^AAQGܑX'4n1MoHfKlPE$Ҹq 8u$q4 G=o๓`=og  A&^/K=i0{X^T h5Gp` %1xq^"ƒx+=UjBV.qJ6ͳ3 ^ow<~e ziwkˮ$y魒vCkaH9ra7Zyk'v^A!Z}^_N;&rqd:+A.Pڐ/;¶(iVR>>ʐMc]tѧU/u|.yAt-|XjH|]d;+ˠ\wْ`r 8(L=䈓Ja tn+9}h4V;!b0pDp %@Iðܵ$LUƣ cX>FK87#!9Xɐ\SLB^˾ RDdr(F$Va8Te҈nM M_CƇUaP^jV0;c-^H![0 . . lTpd5oCլtHNh%>Z1c5+T4L*6z%Vʡ(p!t/ᯜUb˳Q@Wl `(n`ձ~1uP]0rT xV:(+$*nE(hm+V7X^w[R 5)f0*3װ2*Q1qUJiݽL?QsP wݼxv" ,.WR?gMMCu?L& "_UW3ЊiE8SeƐ /ZΠAVdr~}u}9kJQ_AhP14ۭeu.>rP/L-9i뒥s碯FS)?n,5얇Apu>tjվ#I^XFT٣+aq숽JNKwǑsЩT0ئyq z=8:KR_ӒEmMT5  L\G.DlFb `p=lW4A&5xEg1ɳܪK4MoQV ְ]1la{KZ7i2 jEA1So7 30*u='ўUz/g*wb͂/e#N͓*捆[Bop/fD ~ aF5G SJ{,2σ';K p-xFTNb"K8\EHǁw'O%`_љ]9#Rx;o)n=wtR.$1Z~+4VLA[GV|,X׸ bQ:oY lS'G6:0R%d!'po ECjVL`&9U#[qzR<;-1HXl4x uE_ń8de+@kST(l9] J݅pNH2[:X=3aX*NI0r!S+ Cb:o\Ofh492 r*`2dx\ Ҹ{U>.qdV p~6ɏE#e™h<┕h7q@uXQJLx=$^w놺|Y Qpv|] M:̒vxe!J  )P \ )fږ"r6, yLT &P5À<"`]ϙ7hkW^ %/`87-||K٬OUŦv0>dy@Ix["H4^dG4#oD&6m`p %M1ftBbE\hYej49}`Iz bH]8Q1'PH^m^oa=QsLD%O: %OʫW(ܟ 9b(QX> b'7AA.'3Qmi gX#7kq795bX+"OblI~a>6m~;` g7M44߫ EXg`~k '`6L@w*mE<Fbvsu0IB"9PyuOv ۭU[)֌k:;'nAy*sG3.RN[vLx'EXBf^*й5$.AjA2_K^wGX׼/\ ȬBF%Z*5Qm˫duUKjRD^ÓTey};%䰈WAՔy*᪟1Tn'@2/Og٭o3Ջ0M8~b"J}E'-}R] [9"'<_n]לْK!s[-B'fIHeBIa|:[kX\*5'$ {Ӽ5*3eQML4p *I~'Rv#JJr둰Hf^$2G40UM/6MJ"4NsϬpDx,G1\4 F+/ڑtn[i>\@=Mq&(Cעjo~xoryFB,P®]+EiAOWgӨ/udDҮ95 5JѨLjuN:8xp(21Fr59@v;SyiBRXLjBxA5}#bs?)}~/Y </-x ;?RNF X Xم |*×ze{C% Ӗ~L{/*u\ #W7ѣUWJJVûY TJ=z Xwv(;goֳd7Y׈REmIZZe2-'Zj>1l@*PfcضSZ7}%>UFKPĭVԭURmkc_ TX>w gP^=-D6i=sX dĚe!y#m.>E DG! t!i<7ql2' `0(ܱS.zgnAt_ .SGڤIrKR|zVj)Bcc oJhE|p$seRmAPy&Oؖ3CD*M u-847A*ݨ㌞m$)HX$ - Y7b[Z7oՅv,^6d]v%6ŕA [q[ퟹ0mܰ~h7mwZj3#ֲYŴWB\mNC?~G[ScK䭨wBj;s1[|7\춟zFFLMl7-(l@6Da_w1z3ȯZ&YxX*`ѬiUޟƵWi!VXK쟼.W"%i,7>4kI{c65ľɻbo"wnᠰݦRMjFF -[jjB:vۣNZ1_9-@҆W%3鳎ϑ6{XR8o6ܢgHuks@̶zנ:]?)7ecE3VNqJ:3j0@CJcR OAQ+&]\k.?yp*sezrQ"S|aP b*d UjSrN>tX/⊦񤰧f =tڂ8TDۥ)Joy?JCwa.$ׁL8'4AA5軮@8IgBXAǹQ|W]wSBOܣ^W I=AOVL>7I_-񩛱e uK&}lz`Li:FV92sGXuS?$ȑw=N}NkhP1{UtPQ`Yq<"*k:Rl&H3^VR'PR "9@9S*DpQK>7Ȫ [z٧a  ^kb/.;Vy"Z|o. M<J1E1c-V% Ytdz _y־f=i|oF Z$F({;ʂ \ʥ#|-CJѱ5, Vb%~˟DEoyU.39|07y_E!p$8s23*fSR5þRvL!온}YLU1U~@Ac%Ԯ&_ysIF/89g9tzL(u29 B] Rxz-zISvW z'twZRi/8)#cZDx{3,8oxWFފ:r^u҂;ZK(UWYlrU[V,i'&;\D(u fw0=1j'Ax礌:.Xn󵉟JJ ̀?Qѱ 0wv 4 ahJYn9R& [Hjޥt+V2tQlI"̕$F.@9hԧi];iQntZ_ [Gs{> :lZƸڙl5 Hڢt*<&Udԇ|AY~o}&5\ꔘnl[HekET`2qN ijW^q5*P,U2Cs*)`VC<1uxz è{;ǎ~{eO4,>g⌝pLVM?]*־ ^zgf&~to [vFeK6sz.nTtOT% 3,ֻ#}hS)^QwSލE1Y槵]Arnj#ly-Zεn㔘o^Yn5*`-܈YcRȿ**`2ݍ#ltO2׻TX"5wp -hZvU4^ ))Gu<~=`ŒNgե5|^(9 m Nk㞌'~+_Q@oK,S,#*2J&Ԋ+&):%r/~>` =Exĩ&ZsInJ!v4E>WUŤOSm!U&8 . ]1RSɍ$*diPfVz5v4䂯|=08]t&qj/0bXXfLV-uĂ?{]*nbqgdSnfI0ӓIP;3_(flQ<6cEaQ Zj:95cvtc<#RS XܡR&zukҨ#aLskOӹf ,3H絪IBOٖЏ1y:e2s}v']  fƋ.-„O~L{#U>7~L1swEYoHgºTbwqq> GႌL}Qȭ+0U ߟbi"t͝77!48(SHjrr9[DؠR#?6/{ߞt~šǢ^νK9]*ohJ&Nc'VAJ]>fTJ5ADExG^sD-ᲮPҺy&M>8-,֞Q}ĔjbRDvx?Ň'5}D1%׻ A; aV `TٯӘ,)n> {w=rq "Y$<2 xlmM'c5ᐳ^˦eHzޛ:~R\m Y@.13MZ#tƝ? ا#&6N\:tV5Hy6aR8i[>`Fe(hѾ=3qɤ.aIEy#|-rt;NzJX)oh$m¥o\wl^e_]Z}ҴVc L=[/맽\?q|B-O b*Rܸ7{L 3Ӫ= k氞j` ܠoU,vUPꤗp^-HH?(+P5,|eBm$=#fnpc$*A2ˡ ȹ5cOR&(`s`q%hgIlR0ʬvriw U2+) GEAʥ3(8 V JN9Vr]w8nyL8sI{j.QdZMuইCkiܒ{?^Qx,] VD!<-d?5͓`x!p 6oPk%4R6a! 91\`G_!zR-ℵKyc˗ pdYP7~2K+]P+ˆt|f 'r5 Beb-a7}ﵔB)o]Ҵ舌Vˀ2>|#X FMVxb!Ңj8@逮p×EDcm~@䦯'\/N9̏t5N9!hwyܘ Vúu<G:3HQIVHvd?:xeBVzR4.|c:8 G~lD(Vu7_t,}* @c/ڐʋfނY0 D;҂[bu[q3|=+GhȒjٍ@d9$hzו`c0F[e ñA uYA<͐vݨ7Sͩ@[[^OmUcZ;Sv[򑠿?72EX˚OŝXP \b>x'e6,"㣲n"%ÇXżS]Ij~!v* OTWuӪ.p&c8` e>]hrE%hbQ]FCэ;yhʙ-sƇyɄN$ʳcr) Ŕ|DH~FOٜyij(TGR:Djtӓ2Z1wjs"х>\^JCKIcd1v1H2tER;JЏ^͚!'}iC.Hw3";SYU'!jdPV;*uͻj]aVD0.8ƍSv'(zumUt$1#&Đl#i8 lp3]omLU?{oq, ~ňy#M숦|!hs8>x`` @u~[[=%˹<ꭺ0X4h.ΥKlC2gIEH'Rdo\#^/l>Xd 5 ebβ# TlLdۀYVQ|:V-iބx9G).9FCZ Q L&zJ,&hm"H'|t!g=Vu.}0KCch:\|q{e#|t{fITQHh鲹PAowa N6d(l2Ns.#?7dtox繒bQWlW2a6&tWNũ0j>D 8%R4B@0>jҥ8=SIivƚJH/Tct+t066c%B=;DRud- Kj(Y~>ij)oM~UևB%%nG*1+Z.χ<#O, d0fh%=9FUH#['x_-TVqw"?+VyQk0oB_U=xܝƅVaD_r]AlH>ϖK_59!ʇ7J/N0&XrOQE{ EFҪĮ{7Վ4:2swY]{QYA zxb7x֮֙t@*p50?MV%C-Y[[3(Am# #gbIj]Kfw74d  sv(`>hչ!=!r$+UMt2bAN'ǧgS ^|UNLh}=~7||M'rŌTZYd-`QN*c}c1o1hyzz|*VLH BOb-'|]6Z.6E]kzM0/GOZD<'1*E)`r';Y4x6=8Jṩ:ҫ֒{];u~  [ʫjֿ 8Pˀm* L3 F ĝJN}O'fpVx "X$aO-l܅%aͺNLXJ>_bW=QrR-mBq3 .ZYm CUG]H0焗Xs%&I!ePV@cBZ_5 V "< ^IJsf4r@1g݆Ơ":A'ōk#T`E8B;?6HB8[z5CyC$ENcLFꈔ#tcІIAy-$|^lc^iMtGVHyqQ$NU/R=5#T YMT` rOXPEx9| @f‰PvL}Vt@WGEZ/L/M㋩1@ vY餧RQ?(TMcT(,(,]p4Fcqh\P*;C_ZJ&G <.g>w( W`OSM;9 U g|#?_h[Af@[EC O{^뉢X=oB/uШǁGԱecp x 9qFl9w77R-:ni4"@ȽO?St3d"nnD4 U$g{ϔ&&HtM׍Km)$mn >V{^{ݗv͇Pg9)l1!Nt !lYaVd˝rWL܄1t#ūά8x=<Zw'no1Nk{"V#1d]2t6{6Cm1_+p~`2gzٟ aņm5#d\*uXn3zjއ֝5N3ÂnŨa@:oJq koq`-zݾtehbT--Ӎ1rjHR*sbE4&`tOU=;tN1@w6S ,H7»Ʈ>D`rA9a&9HeӸ uzkƄ&-"Mݖ T6P m۹[!vgOBLaMNhv&`-n_I }8Pt"mn>ʔ/#^J%xj3bLG ceG/ށ:{l :Ɇ>8SW|}3:O"}S1^С-#UNc<8)Ł$E ;pBE >9thdϳQ{nMvzŤӵ>óɓOO~|{xl|x+׏76?H66|Op2LGtrYVpx0?䨯O,SWϒo%[^!II~_\,y06&/0ͣV3yqp"?m \\nmLUtPi&Q UtW*mɬ79 \%`P1ޗ|\nxzK)Qm!S$8<ԉ'Pִ Aa]dW;tl}fm^'02V~1%%[Qz2d4Z~k%a^%?5NOGg$//G{5'c yeH`%ܵrX @v!pi6a 2yVXtɮ8ʫ͇Cc[q5!'V4" 3 %7k_ x_BeԲ-\6-8Z`t0 nm hZn:((4o=9TIPu2tH  kp[N,eD+O1ֲVA&y*QJcX}wZN9Ԃ`pa9j e&!eEw 1X_S7h7L62?1yN?L;+SU5DZ2/o2>8)~4A1tSk(ǃyat}eXeU(zx3+ )wFH?Md(`z>Py^ĺV6*J@D6ҰqGUz;b.{FڗR?ymVQE;N1 N(@"ԩt+X>0Q.ԮfʢI QV{kEFjEp6Ĩg֟e?eHO=nQ\KHH B|'?_[UrBnQ9K44aR0Fq\()2ӷЛK8#%iUXޓ#6bn`ی<C#:: J*]ĥR/@kIPiy8UᶉzFU)9;b47vǕqt:6{@aHcޠ*L Wq/!뀀l\sC:zK* d}ہAOddU#k6:S}Dz?C/jA'܊8\["Q.*°"mܿl^-Ga}e:0bV(ZbGYʧdă {L:Yh.]d -(4\.kq .bA֒P$E/XJZL#;0ܙ E_IkjKۊ@!Wse  qjǢøXI@MD(eR]&q4iC\zr1u^dBA .y4*xCG+%W15<2雚+쓐T_ѹtλRݷţGZlk<})U$5hπ,sP;V<[t3` wW]Gѻ:I;wgfI ܑUUyrwSʒt>̡ή5g݇iJ]:BU[qI$4=%4n)$\@ W]Z)20"6W 8 |. Rmy9y4^L,tr3,q8c:( EqkQ98@Գ%%Z~4FAC 1}c'}>"jM+Q9wg H ,Kw|iӨo^ =@%d7+25䪆$v @XHBAGK"dDX}Pvڋ>2N& ,hib{}f7Nmػiܫ(W)Žܪ788u.?t,MU/hVt)b `NT\bd5h`t6 Zù8s 6bW#үhT 3X$6$؈Lʨ͡~ShM=~.OHFѷ sE:7VL2Æq* ?My](wF_%nac8شE>@\$zQTSgt4Qd?Udy!MZH/琂9Ǡs&_YI#pT7IPS%cY8Yiw1hb'z b:5X2w "fСΧPʳ"e!i%//χ%́p:{W6֞.m X8e"D|Pg-H1-5诐AV` iL] -wL չ'qWrAlߌ5< l46 BjehÂ[-0\l#>u&:B 2APCIF]qFgh8 4Z fΙ: Ǯpw\8lN,3w==,]S!?%TKƹdN|w^?Weٛ džW^4)ã+oڔ'#=Jd9C-t Xfe5. Bސ*sC*PBuqpT)bgzpmTYOѸA7ujk;k}le%c]{SZ|}G^5UnipHOk-J_͞cѺՕ W6Ka-0VԳVjfd`vY ^/f1!0rŁ ,\RzaԇE}3PEll f%b3F)tW!8:yu@vYK%VA.=dp1hw\ Q@nVN wOӁUѹp}Ƣ-nR8f%Mh0u_0gH7!iBIs"|?^cb~ǛO6'O>zƓ-%?K/?K/?"?ܿP8$ #0)r+.7}m|8a]:m4o$Y,E-@"! s'ɕo狼Sz0ZUp}նׁuPRf ePPvt!$7oBԡ`bG%DNv(D9##~ czBDf#o.Sٹ&] 5Jy$[2Y%:K ڂE!H(S튞E]xǫf-Z=# ir ӼJ1QDV]p e#uĵF{bpJ1i.;ß`xTؙ}mi(`#C}4[=Y6m3xeנ۶O7AxӻnUG~O1eM||\5] ߕ>uvzo2fk3LqǹG|KHpƧ~Oö#V+2Or{4^xʷC9*?Ͷ(#Uk+/?dla2l*LDwut$c}v IR쐓;d <<=K4Ν頱4鐽h3ѕd B6 E'q2a|$ʬrY]ٺh^h/7Uփi~IKuas^tQ늏ӺDc%԰]LkΔ+XQl)ZrE;aId!+mCo-|;fqdUp*;^3xnxTo3#1@q6؞P X&\La6D ZSfuP\w)^n%?g|^KcqO]Ŀr5 -=?2* V;G 2}Qˆ`JKAZ&CF;J/},Iz/W_?z)~|R?|` fI2-vIf ?/a_þocVB f!-Jjّ~=4Q{c@T.ۋuP,`y㿂9$W1~L>RdPzgG?é9y'}_[g +F-bOA@v])`><@>nA'd {l~DSωᄕ|cZ<xhBX3&NhpGBr[V#ȉ#&?թCS9RMX,Yֶ"C߇?c%Q7ló][җ)RRdZo8hYe~<옻`[Q'FLjH1V(mU:CLq:@|fΒ3[}2m$8x!Y婉;OIaI^>CxAyoVWmPPgtRB}z7E{_W0F@ZbUZ{+WKvtDzf LWJBءN$}+.acUSn)e4rMULcM1ϕ3)8pr3 <?zES {>LEmwL_u{uU*V.[_C{ Im!tѫTfT|' zKD}~$:NhrdVժ|;>qD=J*ң\"*:;DXSߒ p[gpLHzT^k 'mL(됓v NII@@S<j"ym ןOf# 0fָ -5Pm~rz|<="֘7g{͹fn5i]׻Iw:;Y7E`?('l@x>Xiɡvp>]  VrWLzc$-\}Yͼաe6'X("8rt ԛ3:V5[50wמwP+EM/0]G SR)vժz\ER[no 8٪t}(׫u ҙ][bOj`XC*Q3u8 c1ܫo"dTv0.K[ COS^:ZUщ׭~ap!eQz̬-v;L?f EXek@};I? E1q>MI-XNX/P' c5ͰXM*J& %bUWSвwb游of+BNr+"] =HOfR[-A JQ8fq7u0YRO{aT&?݉R^7]b֒h3»H95p/qrheYZMFGDكGH tn@ի|K^(SWJu,zllYjnx}/VDfQ"n"y[RS@E;oN-5+VrnhO32 qv-Nq*P>7<'t:ɩ1o(JXw,}a av-I?b3[" OxUv̼TzCA/(&Ϊ1O!>Z1TiPVRY0hrMCZ"W7t7]uZv: @(97d<#\/rd+򭒁ټ9Qmi*e7렏PBRR0@k(h#f?-nI3lA(IJS _Q1KwbwAHQC4Ի\q6"ӁIT,#mzbJ6Vc'zhD+xRnu+`#ӵ#&>n _= Hm[!kŻC5ן.A(}H%vR2|~c[L˴T=O>3n&~l= .R=:C0q짔ͯ4{etٓ)s2Z\bn5Ɇd )*fM%slv}pg+Zʕ)^1\W ;Sex0QgWԈ&u-ZQ3Yr. ?]$I*L>4.[[?(e7 i(;]t"F",nrz)nWE|!*nEma:'z.)"Ap{;jVM;rJ{@b)8I6Cb?;V/T25^M rt>>9?>ju<| *bY)ǁN2U'_#/ [#ӶM?aM/ &lJL\(#߷^Us4&W ׏らݛ 6QĀ8?-wRJXSHYJ%W߸E{ˇ)~Wgɴ Cz(NOŝ[&u oB.p[=?as8zY}8A%Q>A̺%\lX.R$Ev2EVk(r'T8;{^ဠOvl R.+g#cDMdi$Q]ʍ?#p~Қ귱lm#:HHyqNNL`z<(sE~0p$ 1yq?x` {G4ȅvl%/%Dr^"ddcz>soLQ"1[ _}2Fo-)%>eqGC9qp/ vphIJk FSIv-\" XZRpiƶȹ*I?zdO3q+*#BͲA mQTmkMcs2 Va-va4?5͌exUךٚ[dZ_Q`5pR+U޳.ZWK6tG#XVץ&TVr+j*.]@=Vz痮0 K $MY"rocμڇGZÞE8'"SLQܗn;i2i`!DeyWV|+4hJ }!k`r #@(Τ%t& gS߳Ii=S{KhEG#G CZj΅19@|/"M{MOGm-CV *@XOU#Bͻ"P9}JJww(aQ؍6Ja!3H=lHHZpv0У\#.{ 4YHJL&6:w)JK<1eVYYf2ͣudzg?w%9~>.l(U,Ewl (V15GpX܇({ÞUo͛D({];)re)Aώ#v ?Vಫo upIyZDћA1T`rGs6-.-Y|^$-!0whHJ0%GI%ZLK5o4iro~7l8/DMO%ȳP'K֣G5DJlTet->KCi||Tf"DkIpa\rj6Gg GbP  m'=%fmezMSp>ܓ/woNWHm WU͙LKw(G([Vq);ZګdB lsJXKiE[+M`C`SnAlL. eP ?@v0P)q8 H)Ƒm4 yKMda<@٩*50 ox" W:K8`L4ά?Q,=WEL rU_1̬}[8f/W|UGfڀWl53yB;s c$z ԊXla 4*;B{6/ft:ipL\ZU%-VEW.<UʙwضϤ0Fh\K~I A{ Q `8КQ2J6EzjՒrR9! ]'3 }.zu"?0%uƎh4GiЩQժȑlA7V1]λXM*;TYv>-s _^.C:oYrtF1]"6SӺ($PDu305+[t<߉-NyLf!u5)"~&oJX4\X("NHo6 X 0ݑFo>Yowxﲻlu؎'(/е\]2 Pe~VVM`yrf @Pf&$&9sh|~R}+}ړylN}j+>95sB5v7"gbk f 6&0Y T $2X^$$]YҘ@_/ޒL6@fFƅ#B'?gv@Ge %d-rpּxjGۖ^I" ՞.QU5KO,a8f}U-xǟt qQLcWCd10 ߪVd.:3ٕm LL,) DŽY(s s_LaFTR9OJUfcTV wsg)Bfe|}3}-/(EkGM'*B{WS#LڝO(p&YwvطrJ+{ It?Ch&,_U4L-%gP!ӥ7}>2ԩ#$1m-V!S ;'D4~k QAΜ:Ոa${%6^'l3LĖ$}@~K l[ٌցמf;[eܶ?D]@1Σv`~?;>̽ᖭVBdYPs1]`Ѵ: R`! ^$fgo\}:cKeN>Qj?c $MmDz9."tR̦e/uO!ˌl .?dV n@a:]R$cH ˀ;&!yOJʮ-C\X][oS,<v^W io|xkÇCڷ _6vs u$ YTK~DeͬPab)x=k7N_=Łm2a}vT/]DP?&;.d-}5F ^|}₌dQS"X/n ád#ޑNIK  :J":ΈSAqN$[ 8ͅI\4&=͆Ej)VqTQBb KAu'dseQprT8>qH'pQWt,Di/[+0t't14a g;AI*0H08e 7[jv bȐ-a6v3 ]dn'<kXE!N?ޝ6Lȝln#kI? s&64H;y6}A/Lzmi 0-[O$uK-KO*Qu8wJ&+xdp9#$RrL"0.)IkeoM>K ՌhA GInFjLYSo _jGBhqFY~V`bFk@$qoy@r njaF viiQ ^dG];~  v[xYk= EHu fWռ`ۏ٬aUq]2*eKn٠W뷉h%=XFqi`Yxレk=zdG2LTXn$f;h~t5Q:oݶz)̑;[b٘aӫ]?1海z攁:` |Un枻%,2E/ @_yMˢwxxNo6cM P<6)1mv!u Qnum"W&a\vHe_:ߦ'z]E93L!Izxpb^#,.^p' xV\&ǰ=S:drj4W'8z[,<]<`EJPqs32j3+q0Wca{B#Nhfu C웍#B˼g2XP lj}]jg\ڿ;lEd_u4$bz1%/$ *CVcUQu4 ,yxEX2(y—HLJ9Mx=dg # H.5n4HDSѣN9,i/<60:@tz֖ڰwu^mGA3qieER~BvrO~U G8:%zСS)+(4uII)/tt2<իQ>2l5XQ}r&3y1q ={џUh ̅2mݥK;uk'D*,XKJrf_RgR5rLtWAoG%GKѳ=?{OXMIteyy)!`b2趲\N5 +Tb\/dk͹ؠI pp㼘zK@{uvͬ*}0U6S*oʖ^U_b[S궽47R5fMIE+2deWP%V9xZX{\o@ _7rµ 2 4pJbN5bI9(W@r!M -_#3;SGmr\'LO>)\FDA^7w4p cv > _@OӶ=$px-}sԒoxv( #$< oIfE*@ V 3x˜ R@dUfJ[ա\/Շ:S/mK#3^}I$X189}G8Ix-Zp?g*$B}ruCJv_v(C)ӼNG Ey֊YsjbRkENۢOSm;KݾzZ@?IIj1-IʑiZ]Ty[B2J9qOZ龲ʢ31T%XU_ Z^"/ӫ|Tϊg1'֣s.Y릟ܒ2]"ψOTJ@frӥYѠ&ґD&x B8PQ0ϐ_V\ad;D|+ ^G*TP~شkŎ۬ZxlV' WbD .`gF|?a./UD<#Yw+,YVShC5-n" _{=c*Pg_%O:$̄_%|d Yz$$#4-ەOuÇǒliTKtkKHfot,v l/`K-Y.|'`(')4hk' \ZR$s1Yp;͋_ DKtZc|`0*` V~Q-UBŨ9B?}~+'-UrcW ٔk~٘zխlrO%PժX$ Sʧq36sr;suFw)VucͺĜ5uRpP|ZV*}AzQqOtxKה-Ե9zRV_͟NiC: 0S:t2~q2dsr}UoΣK(/٨So@U((͉5-ܦPQ9Pe1CF qGHCKk bxwP`EڲLS/vpijU^U(Ք8S1=KF}#QWZv}U"n.V FH~w:m>K6q,CMd 6nbDP"'Khtg߸d1ͻyU lVVN[kiT<}5b j?e?uq֕.69`DGiB.Ia597x͡gI&oA= _6yPxp<[LJMc{=@A#'*0Dƫ'/Ah|_RԉTOP, ra:y*0I:̒ QDsKԒ z˩7 f5& 0!2vJIMhTٕ(@˔@׶^[kαl cWqԬbJO$UoF=TPq{NskNWFA_?vf|KsՑu22'vLt7Lc*KR@0ٿn<xAaT,S\cU'TuT@LAhikVD>jCBŊXYT"71'X `"2P&ȓ? 7۟2PbJ"fCB{ZKƃYaW>(p*|,6HEAb %t4Xq]t炢I?W[:?p?v̅aYO뱿|g:o̊+CБ>~Xculͅc$6T2d fH Yd =2T@ڊMEd6rkYd?zXZ\0v9j_:~ Y0xM"8ƟHC m8lH?f<=jؤztZߴ[u GBt<&![ֲ/_4G ?zA [cI5g,i4AiX]酥 0(e h <5zh"_*Z|XLQ]ͅ%]#6 l|Wןd.kҨ#8y%qJzf^.ܻuhtt/'YfX=| Q.cYoKZ7П#iáL"s1 ||W?x.(O2?Bsb?E'ҏ^M"-/k1p*GDab;Z%lS]~ܴ5=}͖r>SN b"kV]%p 8T< u8csVNq68٬$_5{4\dD']i#nK (eoK΀# $`8ad)G@+Am pLGBZY4X Nrp)!UhafZ<08aGٝ8#o ua ?jK";wfc_i!8>KߖXr OzG*B'] ѷڒD`fݾ>p!s6Q&|BqM3*b J0@?s})*R >i=>jt{m:.V)c*c;MTJQL"YI45D>`AuG/0̺ezJ-lnl^gD3ٚpSRd1igdHfdp#w>6ߘ'}+:ܧzHEbZhza[:Py@܏M/}5f۬ `s["~ 3Tiϋw>̅ kz-@]Kg@7;/zV6]8vzM6 {L[d[bMjg@\v(j5JGӗX/&7mlll<}$ӯ>77nn$L67zW_}ll>?%33C80.d++x.KyW []7s,(rHq@/P֒_FޙPE8ލ& x3\z[j`ۿ9޳^i ٥LWtI4FpԼY| # vQcSZ¡t3a:^%7_ 7쁌6@H-"V8veZ .MZT)a\i1\GHiI*UBZ SӬ&ה -w>g1lZx=IfؖAdld * l zutF:SDVlߕ*ᝠ 9Ԃ`p$I @;Y#8Td,%t 9I 3.Tb$#$ ΄b{~ߝL5^qd(v!`jy!\ l0Tv)*5ugd{ (C=ɧN |$}Fex3Y.$ҁ~b}&Gt]b20=a9SsZ5bgШ!N[ ߷Dfc Sge!O/AjQ{,i")Rʨ U ˓tGgLl|zoI*~o lJMJ~ 8C2!nGũQ R0ouZ|l/q0BUF<)Ml¤6[rW֣8Rª""MD38 `Kk )uBTd $ІP$E`7l&,G gbB]ZPf"gMd^K!OC86`h:`HY&9b1:p4Ы $07dђ-8 עaQD[gx^ IS5tJgF{Rp*qѮ+5eb3r%=JX;_O1!EYlWEtƱJ91G);oZ.G_.A"Ɍ^POf oOώ+tՈ@%Z53~>C-OigxMݦ['HlPmnw'|t;g dEX(NPE}TOo |S_xIYIXmmftE ՇV;؄4Mcn˧vP%KWA @CP#@VY}bUAyRf>Dgɤaqr1'`S8L#cayئƮXdF|*5 ؚa5^E| &Tl;?[''ǧg> 5v=8fD0>(1σ_凲ϞKtC&U/ah{Tt5ZƢF' XK1A%u`|O[994E;ܦ+9jZA(;A^jo@ڇߨwl˺3dE0<%,ߨbOpLYj^MІ}rvvGgʕYVr~ڪ@ I U^ٽJo\zZŗ҇;ՠdnEc=^6cmžnk [ƞri URRUSbIl5>V@ XCjDC핖Q%\PCznd؎XlG2o[ϏBaXu`{pzXs-Qm6ZN}? $" a FG dlG5_ q[%?^?['Ƃ`ueʔ$Kܽ/Ov&Lb[YlZ:WP;Jʎ͔`\>.lej5S ՞㵵_M(@[1m\n#hط(QJr-񙼥NZ˥ =pW#7=$LfHDglO0 LTE3 T#$mki+m?dGptJ#1x`-I%v18i~yz2 WUX7&e.jYnˬN?lTAmQs+>xFPh_pBxԙM[$sNz{bS :GνoXaӭxpI.ߤSZ݊PUoaJmo=]/U"5dNIPDݮX51NUsʸՀL+Kْ[CUR|qJwjAbB/LjVo%͢B2}|8r. 1żut/I>_KLrǁg >%- ojKuE UZUxlԖ~`ݷ՟IM"7̑kjSho=u_Oӛ<;WdʬB!\e!FCx Wc񥦅'L]j3A7%n0^S:~~.J2@Fh& `Şt1"U`Tvi?R1W[E֝e$PaPΘpƜ,8dE<ֲISY#?3=s2RU0~0^>)urM iw};JzK: ?&tmZmxYXuT>e#L_*T.+j5y+No`OpߪѥDj)Ē,"0na=zm7"I] SeH2:H?,Uc#\3 L;3#hcs0.|B7`q\wpxYqmgOiQOo?SyK%D,˓lJ6GݹzJŬCtkǧ̮(N<8Oj},z?M.X!DZP>${{#lh4vDB]xӧ_GVI\~TzR"{iG]'s ZvgwNMP}{d=$t2. LOP`^q;%wO~%.ᣤeTsd [E܈xEG>"CK,G‡9g-sk70:vcێ" Q+֨S:d(ԨZQ)ȡe#ȌCI9p(W4A|"вBvF c7 $6/L`lLwE"KMqR:by!K`Q}e|+q _or4ץ8W`== w6diOE Xt|~(@M.` ]cݷ%W%JE|IԁJR˚>%Jҷ~1CAM) U =Ɍ[I*$9AR-vB6? sJ{QM+tz7j͹u>X;)9*d4ϵ߃,T*5Fn󾁍w1+ӪsBYDۇ]a\FDrVQ=qti]Ɗqs5v}m b\B 1Y<N?=L|VE/+YwۢQ},KOuksA,j/&tѥc3FTԇEXб 5Vn3 XO Jr(XB,N'\C9QZIY~m u*oE.>2˅p&`"1!ͣF=m5+M$<fR1GJK˺ ؍p P6p79S ,tZaZIY-M=zdd}d%( @ˮ B4+051ESmgs ]$zƨ/i~X?2H#gn3,z9 [P{ jaQ>0Jޛ;{Oo-ɓG'WS8367İC~? 819%p1h9jZ#/Ta-[̨GEkmus'ыk?H NƬjw+! A&6Bk1LJB:Vw+N)G{>=&W1yi4eq3뾅A4sNG. 'g5 W?cG1:k_[|=:L0n%r?׼7o-n'Vy QTV %J>qZtN0/fnn}#q[}S\`RU$Xaa-/߷[/{D5?:?|\îjHR[),5W(;+(Hdq[7fR^ U6U;lE;m('j8D11?=mA0+4/>ws˵7mmh~wBH!/ߨ;2EeOώۇ_3VchZłDUa ޗvqeg~E^זIؽ1 H\INiRIT,UN|әjp{cN3Ϟw]&u9Xc٩r cP/r5-۱O4+SR=IZY?RMp2pk? z R0"a=)Nt]~Ѱ5[ V{(\&&*, q=\0A>sǎA}(ĆK $-IDRVR?V;ё f)Hf㾋nd+{E,n(/2Y*zޭN ~b'WRggwkREE4kq]*S6RU%+sผ@jU=Vj W` g V yj ̀9DU\^=Qi{sU4pB>de_۲4"󳭸Y8 (Ar@"W pLnGRIч_QpsÀ Dc$r 聯_Lui UƫȨKAlg*`zVL:SQyJpiC=3}G7Smwu+?jAkAfnwAZvPCh{s%gb+/%.*-gI/| ZanҖj,3 9X0Emx٧>eIη`<[8frfU%'R)1sh65JPj@*Hbo,076KW0`S`(SqR$1ۮjh]l/e{U-U23P^4Gշ<*t1.KlN)7Ob0>FZUdl(oiY"S[brjBEV5JV5ʕFl,_ڸ*[J6,ZUUTKhbHh&5Ѫ[,V.|VFUU43%ͪ9U*Z˪NtjDU;UM2*beUT}6RE@UEt%^: UYyTM{Xc1*lցfRh%Ճ XK@٭Wpq˞i<B꬯lo@w [%(l;+Z;=A|Eqf0,WjN2_ѴN Zoݺ ȕgE2/ܽvM SyX50]l/i ^fYkKZ[ < ^bQ;9>N,9LHIas<2m>" ݯH6,ea4=/x/Xs k+e*U,*W5SON?ȦEa8QAOs`6k@*'j -.#92 Н 5le;O ]tg Խ<q]lS7T7 -I]6lvRx5QQtek)Y-4]RjKWZH&Re]XԒnXbte)]ƪ ]̔jThh|h^LnU;)WZ$SiL+JUtX5zMڨmR#V6YGӕrmVrUxE^sXo.vu3]кYuEcuE+)wa穸֥+eW,*=\5Sm.heg, (?P>+'-8H7рJ~ًūzz`V,Hꇳed|0֎]54a3r&4X ʙX3OqoCbGl !;їSm-WɋT35% H<w-ՒP }k?c'?;q0F[P"a-Fd戞mǪ&lS%QX:7 r\PzM4l*m<ù)h@-g@N86AWIA ƦnC5ʔɶƇ`=S 1QT)ԂQ(h.߆!Cϛ<Jnrz} @3e)H?Zg e)H2v1q'%49Yih1*N1cnnXzo7 Z?Q7P(ॷp8X9`[E0` D3Kv0|uX/_óvo;t~R'7`{ƭMY۟/>Iy}= wRxC2)0/o?iLtk (/hv-g%F2&86^Ue=jw/*/ /_xO0%{M?y{ qۓgA7!xdDu7ە` Q$a B@au2k~uOC\  ȾmAƄ 56u{W4[R7#7~&Znk;ua ICeoO"ͳ31JJ/ 9ϵdž":Hu'j~b W~uU|Cގ4hzatF$Tz˙gu3(Cx|<{_¦ b|? ן:}m O{|O~=sǷۏoog Y\h+qq3rq42]GڟIv J"^K8E߱pPQNy -~+x cQX,NN>R1Cbk ;j[mżg8^t{߉07GP3uW8𯽬& |}|'/`7+f5p:)K% 4"Bs$աrΛ`F"$r Vok@3k?,}׷ԂOZ;*WB:3'!@qyL99?S&= 7VhKbQ dcUqu7yZҧ D4]R`V6WΎ5Tx_v)1#Y7hn{̴Ti: hzke,}ܓl$ebwN~'gۣߥjݧ{O?_???????$!I# T͵=>gy6q4 ٧J>>g2w|s&e'ʙDP/$mަ\ G} źqLًz 0YSPC4Q|i8o :9ÆGH4Z0[#Zf C';Gff28=H.W-H#?6svH*dkFP5h2RLqY*"g/X@ܔ@OV&ge,;yy׹/lR4eCq=yER^X6\N#~Ͼ"cS >6`rBA ]uzyf)na* 3.A1s)FbZc[ZJ"<9V鉣&N E]g#I-Kw@h;iwoj_UO7KcUF+Lfclc{_F~EXwj:]9ʁa~tJ.?ߝ{?1}uo#~{{o?-A?ۉњ:5eqI< w Z b9 W ጀ791xmvz&Kxz8eL5bKL[xY#S:7[GG4i0u!Ա\O' 7TM䇜_Act'rk{ ?F눊܀LnSZ=둭~9^=V㺕m7t%\uO)J}w˪<4ݻQ?-l")O~>yv/x/KB$)+Z=~UR0a3;kTFQx[ϩ~K3~slLk*ΡAg#BrbXfY: O;a7Es6w]߯Nx0G5w]_{ݏ J]/9(,vsrKV)Ћ[ˉs:szp7CD Srm'V\V,Wx;HsR!F_}JCWW):3ΗqO|]Kc/[89~;y/0CPʻhXAЅ3;R^]:1Cj^jܶ YjYa9:᜞ ~ Lי[ d*lnS*waKrϪ<]($  Ap>:ܫ#~FGqbKJWOwݝg;O>}CO>ûs^z≇ܼzƽȽv^;xks# J <cl^dQMYYZ,ﯕW`b,F_ӂT(h:s1r F~W!>0 ozv~뤇x\& I) !g,n5xs{U C''ɫwPVIpc̫;J:Nh& |O-|)NLyN 0t&Y9@!HKi /cBM LmVQ(;˾MӨ.i=I&ELTV3O F K͌4z}?%>9Eߗ6ɏK8e}\81;"X*yxH{c~j e$ TJ#u%^\H3WnǹyyvZ$W*X9H.nr=\yKr>Airu}#O? {&yŢĆ k8U7K5}/=|lG3t ?2Kuf #p̨_*<=4 78| /]Ѻ\F`5Fum;~xnC->̬Xx I^5r q4׸WhBd zݷ7^ּގ2כz? e7(&IE \eHO RBp}riB%JYAEg÷%` ,weN_źWtp}) 898w {~rȧ[;l 2xq{K5VXg&pPVh Jv$Mu}kUjr6z [@)L}J3 KDTqyKz,@.<\+c B隚s )ȌA$6'$e _K}g!zR( ?d=˞T2Gu# SٰߙWQ^uz?qpFg0!gۤo62DT7C^  vwX8Ia3s;}n-%Ka&a757Ǘ=d S%rb/& [ f)j\|"Š++Yٙ8>Ե)bm0O誫@a,~ `e:dR0a jJ\!#*j F6x8i.r./S9rlԧ/enNly>/W`FKsK6 WNQzhhޤ }59 ؕh' JA|/*]LUtMB*' ^h@ifJK Ԓ dΡJd& g!E"6/ab -Q 78 d8wp#T9LФERǵiR͸<7G |<NLU`$5u:ܑ4h.PpҊİ&$ qڇ y7`4To_m~c1kO E#bgatrK](lxA "J3rPal eWqSن9*r:E#c)=dVϚlz_.p6VX*$ ZGY(/t'p!0޽{K]-g,9K٭XUZ 2qx/ F64ER+$<KNi ٖjoOí $3i!D78 4 %N,Ȉhmz,/phnp"de!},;*05XBJ1N JwE|)QcZEEsBdDT{$|$言4(oK9Fttv`)ۜBMQJ$+VP)lz>dJ*LBt+Bv4:$}=nb;t{b&B|r ږK[9SF  ȍ.oXTuB$^LCt\r*rwF4fDh;Rx‘d@,+yEEMǹ| ZhȌYyt07βak)Ɇ$;`g>0{^Pz%wn:*q|Y.ȧ*RHəs5u4zQ_(aujG-6X\.Ӄ^AN#x{[!pZE"޾2p )-iv|ZQ~VC"2H~Vw|":R0#0%jFA%s.RWb+t^9e_Q?f awX:Kz!>1#̿>HgI* 8s"̙@dA>4%T`="Y[ 0jēBȟo-(塊Fr5@w1 G~8g,dJ\Tavtez4S,H%ڙs&/_xFY8)wxwN>p?70:MZ 1#bdQ0'Gs~y"o˺mh7]q{6''DszRגVWp=k0 9HohbNy07Cr OQF,sO#s^.56UtyF~z^/KΊ vgy 0™>@Yl,q0e fu3DR.wH^ 律WysMn=0aPE,ڝC* ɳ6~uR_}KEMǵ-Ӟk|Js3<= U[ Ә(UpɳS*2e#AuXkBAiz02l^LҁofOnp62pՎTlqYIؼFp|h@񘡉RcpH9.]rWּC^+^__paYfmCsͱ;iڝߒis 0Jƚp-}rJ߳Fe(pNDޜ\0Ib^bD1hUs!k;'2K^]mZWn|i %k,^Пtߝ|9Uu"i z?P5!(_TD"A2v LL 6:܂ ZwCWRǽ'4O *T)jԻT7aZgKNuq Q Ic,Mc+*B&d A([!~j [ QPMnN`Q̡߰bF4(b(@O . ()=Q._d4E-{$e"%v G(MlI OzeZ"􅷓ygiYZLKbU1εr':[`(OxMW: 5x'hy8!$J@2܎;Bp[IuACn}bpq w9˹=q~Pk)ՈhxW /ZD* (L}LQg[HhQVCԱT\#k{bbhe Mȝ>ȷ(4XJ ʜA\U I[o; o_7<ZfnQFK%;9~4*TӂkٌJX`rq5MerKRZMhxs8daG#$#k04DBU8pHhEwf0Uão*.7IHE`p3IyWp6jlz`AU)jII^?^d ],5@uXIMIvEEeDn(᜞W)|Cd2veA)d#G Ȫ~ ~nmhi| $+yn1z{ܕPĕD[yy&d"+QA9b{Ex>,Ou\Pfύ12i׼ f Tŧm2J]A8[⳦8W戜,Ql9Ef>m`1h{nә-nb19K,YQf<֖GyPh>Zpm} ^i~!Q׎ XGdqrx),8G~%׶}wuU)\YwHi5̇֍.}UO#F`R3o8 12| ƨ &Yi+OF2[&~(AC|o]^E,Kc])% J` ('ظБp0 ֕"-mqDfaK)^+Jٷ^:YIVp @(ꄤs> i< \J@_1)EB v~} w"CVDiS$"FQtea+Sѐy|+5x͝wZGoۄDm ` ^u% JPz?LPA:77*Ȋ.S¨7q^aM]:m#.-z!zI<;>SJK:)8hE8 :G~@X: &ӷq[͘h>0jg3-ֹ;@IG9 gY<u`geLY*`R5^:+K(86g5hTv9VQ p sZ, !6B6EsOp6X 4*1Q93= ވj,3xe=t-e]cMJy;b(K8*;ap`Z+aޝN&:߁}O^! C ":3Z%2!)GQÌPs9eB9R9bRjL#`#a" [&!D%Dr|0O=ZD)TA/M{ytjM|70',̒5Kɱ&r ɹWӕ&Q7ľKzniTEku>=$M8.+x4R!t V )%7QQ<<̙ڦſ棬HI14 ;~Dp4Q,nA|[2P}` 3eʐk6[V_E7u =X;`JUќ㝿2f7O`kU\)C3W]'ٍ5)Zf{b/sc:YY.NfGS%g!e5p# gDߕS xY޷5wF;n Ux/]bLeȉF|N:Tos_\e rT ڕ"POJy2&=< D7â8X\~ꁙdݾ`$6Hix?!?0tUpݾ1?iC֮[ب>zp-AUݕcb|)4E-D{>Fqu^3dWk 4Ǎ$R%fĿϺJf܋V/a$o|lOVR/*Lؐv&ºJWX/#=qRg(%4Pq"{[q5^ BÄJeH;aorGJ92c NJ %Bug﷉fUq^JM4GCis.:, Y=_oқ)%<ב&޴„|@HWII2Ǣ%;Q_NOaPҚ/R7)^"l`OϨȊ=`Ar_rj̽xQ\$ǭ4gaYc9T# &[0[xNhil7jiHoww~e%E/;Q~GZݘN]Qł&e)J~˗y]ޙH _6w(; hyEIY060N:&V~KLI8N&IXTb-N]QRyQ/wT_6U?zd^YQcUԳ=x -x|~'E>GIxwy\mßJZ:Z(J:-89wGaD]P \W]ausO,Dp`Mdf}_p_|&WRDOoձzDy$ JL"\,uUMٽ?r'(\'JeXtf^,'teݚ\P֒c!\;VrTCަflrnR?#rW`c57,pl]+> okԍbj;i -Y7xՀcSV6Q궨JeP* OP%Hfvͥ/vpa_PX_<(%gUӃ5ƗK1 ]N۽`Vy0a -` %=N;#GY5([@n#NW( o[sKӿ/B=^ Hٚu[lr2~x(rlPmu嗍?<\X cI|5N|SE[Z-^2bEU:3VZ(lkF~ k5c<BrmΑ8o}>ylO1o!0+?ZN9)kDGQ4|1uc&/.{_SlqhbA({&* ds[/қO:m<:Z}نRBI DKk4G8bpDiBpГWNrKr xΆ`CqND:d8eA`W1ZՊVb1x;N`!ɤdAуK+qiAZ 8A;ob -M|=:kq&|T&*zaV( eSy0 '3?./bJr>%''Ý!y)=~.|GղZv_]-#=Zxcz='w_ :çږlA'X#X[q\GlP_@02@;}l2޷֪o{pJAJzj:xmvq;0f,Hn2tBO lajuν#;+9Sb IɹY'TA '荛3ĀSŁur(ka/-\{N|TVhp:|Y|$7azr1E<YPZ~1u(H28{-ﲠ+"}HyHrTn `T80[%H^a-9ЬUNNV8)(a4(!Gt]c10T. )s[]tW!L;1A /ámmi0ZrejƆg&e_m9"M!&_>"eg$̵هQ 9BγO㋟b{?Y.SX>C1AT4sdD./$l֢WI|h \25G`(G|Y;Zs|P!9](}?Vzo+穊.BFZ2epUY+ ,[7gR/z%>fSD\?ZKEs`Z'S%3zݻß^х+iS8`:lsTn~"<9͹"^Iz.:m㺟 W2 v[ we0SX(SNcM,?|WK&}L  gc]cy3d0E06[nMr``}ףrWu\ pN 'lʲe<)ea)*v(-Fg>$VV'J${$㳙))dnP)Ts*.s&fYJ_]wsz'c497t3hZ5a[m#VJxb.'D"ijXxRL.<&XI vS}YɔrJh*\@[s$&J*PhLitqVy{j(4܋/ k] ۿqnb"UN(12R+HPfHXw%dxw~ h^v Ѫԇ]J*X 'W5SVn_nU#sTtN=>єN] 㔢Z섽xrMOhyE94u{;a=P|gN~;|}p|>$N.~n(d4>VP'fbM:ЀZzżZCzԷpuPJ]8,3_!QyY f*8JOKdNi s{*קz ht=*ܪ0h::(~gsdݤ_*X+_ j M+\p$3 4r|:r.Q*m]ӑ~RtZXE4B0>/oeBYvB)6.T-X&Frm78Fu87uEjPy\iw0_d;|.J+.3/A힦tW`zĤL).q8/ vN+!ߛ.1"si̩08]2nK)Ig/-nj[)֣+`8ZGDSdr($zqf=2h$#̒5uix$ ()hG-gFF;=1@hҔ1lLL"aY$R(Y< WZ$p.1S,Z׏ʡݻaMƦ^;:y.IeY9Q' L]t94 0{4G:˸JqQr]i rK%zH2t$IF* rVNdRSks H"q.'bcH $p h >%9e=6L%'SgR_-" nшoB?_=1LFBH "V_\:F^L8h쉗kw-B& +5qtpbm05G%EgDE닪N&]J#~N;~|$>2 Ynbqhв8fg#~++"#_ A }c]W_qfKLuDƺ4-ʧ~„9$|"UȆikk6#`/<ܾz$ Fd9_cF3lSFT l!IE N;qI\[t~x1d*dZ`d" N;$gnWV5{[jbu7~~R4)n"ūv6[) 4t䘍*508s>e-n0kqOy߳p9MfdyuzGUѷP7;.=t>ːi40Y"Dvk:ްN1 ɹRpu$)Sƒ%r nHZ`VWp1]ޗ8'nCn+H?UM&RZv+'&#Jj}ygp|ڮoK;{gq&BrYdT.r.L11 WR Y[hTdx8D?Sd1V |ܟŋ nq2uқ}PLM,h )GPs*/LMFsjp^ KG\eHܻ_8N[)<9d|۫c`ۼ'62ɣY913Ήu6TIuQįР9RELN)()%8SXa/؋ĭΗX,- jg*}Y|TphEC &m)( _wblTeVT+Oi8Tn(6 S O#)͗K _|F\0ccJ\8Í8O|.W:&z(imKTU$LcrK`qZUl•fu K#S75u~{;XSlj5%[uo͋ @V1"&qCܝP{ïErmېx28alsuB"ta**0m4h.2UaI"۸_isW(B\#LFUb,K) *?]UDb26.ۭT$($Bз9" ss{+OBgĜβr LG ^J.+2Tyl'R rcK/ZB}*4bX5g'dJ Pv~_NQ4&P}ٝHbZd% ٫JI!e`)!K*x-U,}*7EX^('%qA'<$]MDn5͵n("]A n*{" sʙ}U1]ZL!S@qu:U|L,h+u.[/6W匵KxWLj]l9yZ(3:-w`,Y(F /@`tXk pX_lf([ Zъ%(QU_jEKW5pt+lhZh 2(*pɎ붧1v.; )lh{dz^s+"*]UFB,n7QrⲿZKͪ%$4P qA1⊏(J<13{zwZi3=6@GQ!Nt.Y&dgQWw c^S+ ɻ@,wt ѹ`00DSd\s#rvJ9Kk4^G#%d?$Lڳ Q:h^u<ޒ1{1d PsZS.Ο\9f/rYE7*noa2rVȠJ`oP 9ePFnf72 .lZ #BQV9۪ӓ/ ~pEJ񺚷 ]nDA dC f`zg;Ium#JKQpT/Px |=a  hEhcj.KB~Uu '1Ǚb3rO5eS23maQ;xn;v%>zs>98tߝow>zB/X R` Zo<f P~:Lka1W~U/IeEفj <Qe}(V?SY0E0o#'ZtGDb<pj#:;ڧg^;6u)^> );CQGdco}j8 K;RvxQ X1@e K+# fM^ѭ*$j\ir iY5 gT]Vj>6sl{'!E2_>a>| 7*:\v2Q((]m:Sl+W+$0r3W%fL缯*ƮA P vu\yb_b[_J\c$vb|]#&-KcN\3& i`9BV'<=ӮC`P50 n՛W/ҚKu!dCCM p^pΗǔW2,Y)_ t9$&('HM87f R8P: 0!֬ئQ^+epѐI[ˠĤ)!z!҆C&-L=Z "(d@8*T6Aa%ˆs"IzH#eeJȃρuh.Yv46Z ޶#Ts'uGLϠs{zJYV%z1Us$ݓk+X O5;_5,95ZC:?*{x4i{4$؉WCF>.ieEP6IfY (2Lahym6^yVKCo)hT  m_0fN_R!p E@%ťH^8 %nOAF 7NRgbٔTMF1?phYQn}8CrcaATvȶT ˧(P ^TS@`rVhuMSKSu%5Umϴ&{W>4 ˧rx t?9CMbhҘ|G~]∈LZt~b@\Zr)EScupDiV ׀o|%b1)tR.i,{~s&3 ?طQ8oFlû/ա̃)ȀB+tBzF|fEC)luOe7'ǝL~VN-Wߊ} {@~I^{p P$oL x&.A^W2+LK"(hTm#TH^Kko^?+p:V_-B v N}H-ん6{R@h{=b/1*vXBExW^ɰ~u3*\4qHUE60 LV+n!?R?Rqc |R$^ 9lxْH_K!@CSN7Sx/s2 hPohβwT.ڒRFč_gv&f✢dIE)8vL/aXl cRhSˆWvB,j@βd */>kp47\Xi69~|P(2zL)G<1Eh-K~\+@ے!PgAU\xVul'z髯=8[&Z9_mN .J(n4J(W@zAt9{;vOXCSrȭի95` Ͻ\ p8BQ;m0{Ϟ|]b@ILsDd$",(J/+95* Al3L-^O~]I{/+M4\ (x$wFʌ:; $ 1?9W$[{5^nn[q1G)eRcy0:QRjUPg\xVrBS. (7| x*fA]=-),c0#0rI>|QzY?I%1CS$-d&/ j׉%njJP)T)兝A!mv;I.eCĄQ.B˧zB}mƘ!4N)(c3GY u~\p SIc8rҵK&Ȁ,j܍&Yu:I^$6 nI3rj9Hi1\ Z>i8FE 9wO"D Rie:ya8&ck35z8sha# qZY &:h6 B2.%8 F{za7Szّ,p0E?>Ee=*BpҊ.dQ2u.Nn!J?{tV̧aGcNf#q9|$dKUM@VB/u'XfX.J3_wNNg^@8_:Y8L|{|EI°6Qp1z? :K bL0ǧ۸^$xq(U8Ȗ yه?Zd'@Dά )`;,IIls7%W9g/ka歗ަNd#aCʶ/n㋕db˾\,=پoLO78?DҗTS<{MOÔLdooAwu_{;VK™c` Dt)GM<*`Tt/A;:_e$h92]U+MT.#oø$v˨T;cŕx/_ۀlw)(mHr?#X[q L'+a @;1 pn4=閈 h\8y/.9`7T,ĘDbzh*Sdά;"c*9. "p/(~9C6޲[KG o~4l6>Ǹ01 3Y㘦̞< hPQ8b(`z=ȼ M_Y]Xd{PkcM8^\>7|43uJ?uhKEpj+eHRLOP:Z˔Mg7rGk9tg yʈ$bX+1uDh| EDNBn.ĵ!8ȅ0)5eP߾tbq|RTξ -s)PUy[~>b/d/Ta8ٗ ~I8'{Ϟ>~LOv?EWO?WE'FghôyEMp޾?Y}]8; 8;Ngc߮If׆ Мn9^$Vٙ]1tKRT*JU22@օDMEn~7qMo$7F:JUuwM]y ?7 9g7SkNɯfCag*z\]+]KuѣޚH:ђxJB8]* }Чhp@{ dznӾ A/q%־a"f/Lȃ߽ߟ`\Vge:jCBSpŇ\t;U}}%3)3$^ o[ux]{x~7])0*(c^K9-kޝEgM;\_Q<Rbd9E)6rޝ&䱃|%bȨǤƁwxOIũjn|B|@qԵEL%m}ԡH졺>#c?A&.uڍV[o(y`쉸;?Ȑ *&R:NNfK> %CXۋ#εGEIN/U^/[_ie~Tqv'2Z= 5qnO:o7c(ULاe+&K,+0!^P(پa2"Pl%t:!tRD w"hAu@$kGö U#2,ki1t5vC& qvO.*t*ĉ]p7;'x9hw<<rh9""s݋d|O[-xu1ϘoHsrC◣>0c,Iq>ʓtWa0 UJXwR;QFwWba˺J.(/}T*x/7񈮰sɫ=str#Agas nU8iZ-( s \-87[5`[tqlqw .--7\-h7\dqw_r;k}F߯kF[nF[9k5~_5~$mFgݲK*Uc D#rBEݓFqynG ,$l-$%7locنW}Ƴzի֞{?PsrDo7ϙmz?=Gp?ޞqzԁa_]}bo*k9Sl}zx[o{:?M=ޚxnokw:kRҒpƇM^d8p; +L:$kj>WluU<] KCGb~U6U\%5ӽ:\\˗a?qSXZQ cZdV:nVX]BG/qyxT_+C2Hd!rOĪC7T}LQ tuAJ &fsot/"Xc9~El/>h$m,Ft0I-8LbPG (l[& ?+;gdc8 *WW*_!hbRYUuEd\&\G(ft{8ʑ5q$=wN 3`,KixRR_4;᫼VFN z<N< W\ůrfX-@I4\%k񰱋I6uO~s堁϶[V`V4 z'X7Q7QOif iwH7$^vI@Z4Ky+hq{]>{ZگF}{B mE_KKL%/ށy O7>[_??s>}f'рCy߽bU G TO  =>-+yNʉL,LTh!Dd lNLk{rR9$X|XmŎOƺY]G`UV)ȓ'X%\1U/. ب\tV_@G+| EgeO *BLp 7ǧ ;fBHdfW2@RGY۹ asx8}4&DN0ƒ*-dz㓣H I(8\ɜ|қW5<DZ>nઘk_9a88p-~;$T‘}c]BafIƨ",?OY.߱8u`čtJbj8߄ebBto-SPs2qe‹qy(qJr,:Rrq,%$YA9m촛O7@yGml۪9c4o`naщ]ʫ9kQP"—F"<(Ft3!bETlGyt vlelhѻPZ)Y N]D#(/ͯeQO(lEu.ʼ-̯oT]L+!jZ7j< yaZZ㏅G<|ROEa Q/+Jq{s)עvu~#Ó &F[8𚬾&_o3iFA{)?bIz.&'#&-*}OMϧM]*էՍ}. ?g˔ټo n2_ _ɾ T_O响odgM?b35'Ff? ҵmQٞы25fKؙZj\؏Wv_jh q[tSy7lE.;xYzFHOq,G yIJ cu_ΫICgu^-jĬYZ}yY͊,imdEIV[0]֍Seޝ)E{SUP#qk  vMYveD_ m~QԛQz3vi{̪*+څrZX̣%GFxHy^ٜdfO`'79\%arØ[`-7&sC9UMǤ1`׷yg\(Y9y)JS-Usi01|p%ϙy "c[ k T%N-ּ!LEfX1"Ry Lg[":yo寨9f(V{V;>9z~]m\"5&`"-iɱsg::Ve-dtwjZg}][Ve?5_๿s/<4 0o[%`\X^6fMDA&=!=/dǖg`F~-6b s^x^m?{-vyž4ﵰcZwZsk99Ԗג%4ʬ͚UV$ǒR^VZ^a9G׃퐏bwN5VX:;|ov5:v@O>w//]_W编>d {w yǹZ:Wu$ߜzZ=󿍍gS<[[۸?#>޶8HˁĻWPD't⨵Q~&A7+i@y0~k,/3R/T Bq gb+ıw E@!Z{@ʵbː7$tVBy 1 qO8>ek+I+̻a5~,(&(x$좱݌f8z6Ĕ91g\x͊ql"70  5@Xm#*#ǡ]WҴ&_&CҺgD;CѶap^ HMI JS;:7z8ZchuR:@Y$ׅ\[ϼ'W8C#\PEPr)u~,mCPMAPvT(5TK3DY]8utTڠ*No~9К ee C D>1:X9#J "ۨZ TC'ށZi53k=)'PXѤ, 8%DLQB6=/T"Hi 0(=GxP0=堧eP|Ii`u6C&`@Yo1=ĄHvdwME>i@,Ar&0 ^{bآcԄ$wPsXOG{'*}ahpU)z?`$[qh.oТm{$:!L*M.ey4-.!;XUX N`H1oGτ60>nBB2q‰ĉv[?Xqsp18""4Jv *B/} Gku^;1@qc*>8s$X^Cn)XY{ZR,'xoA^-=yec==MRtĸғyʗbR z5>/:sۨj0ڔ4Y 𛢣*-X -V0R(F-La+ÅNlzRfȬG'1n? \V-[֕6g`1cB$\k1cp >+3gB$ NH v%L#+L!RiJlZjoKk*46?̩$}; iE3PȪ6Z/f-fP@3@Ȫ̯(HK >}ql-xEW=O<@0&4(WM&gOU#lѫ9B%p+u '|| @h!6ߧE ݏ;oڅZ!%ʸ>ˀR~ !\q93#zƒk4k^F|VrgբDGkuQvFGfjZC&nuzr]v>"/a ,qYpkQ2V  PR_?-"H-&u/.jǡ h\ rU.R埤"`b#:dto:^`\,mUB76)àz D-q^/eE ҏ؊ AKHl0_zCq^nkZE@ISVhW_bWs/}ԧM0֘,yk5V?OM9g}BP-GOVe׮wp^5>ϯkUUV.9`A,erl ̆`=wzTh@fVhͶL9Cr} ήco֝c)e|9v E≔.fk tdl`=M3rIv bDQ ծ(YQ{dgNG+"Ԙ1='ce^¾V"Mrqc fё`t<尳:)N ->bLE*<3X.dLCҢ AYLP^): &W`8z52{  %VjM|RkGq (μ1;NY51S x,v`BT6(Ԋ[9ZVW-]ϟi9Оѳ5w}>'Gg3ys*:' J5+c 8Ie8x}LVRc9y:fB ipN.= c8Rq "$WV{ >Y}:o_tQ71 B4xIǡY؍A0SWQ ҡ2E=BBT$䩪 ku  Cd?Q Z%p4`p\ ȪT;xք ѡ OBѵU 8BkѹN{DZpw#w=LDo" WBz (Hl;eX$ۖklul!oV5Q5eB}*GgQ+H`9!U #XOn rI,rlןXxNNhJ 1)+oiԢ{ 猰M*[n{rUpO@DՖKi1UO'+F p)EA)* ::{ bMxLV"fE6G,y:`W_ z YS9ndO1?}b|,32M732lʰMHJÞ6{ݳfvw]!{_ )+ې%tC.~sFkە6JOJPi7[Uièt[1T:Jb\tt1ovnabhtOAR'TR+qb%1~K˺xYǗ.%)f\c#w6{ ~KdOnH-*RR!Xe%ܰ u`c ZVa+u#J,ZgvVnCuGG'hL l{@i6$ŁixMr3bξ,֎F$GQ@T ӘlAZXONF"m38#IAь2l^=W8vÄ9[Ͱh ~ iPMvfk(f\[(ѻ9",(c,cT`6[Rیz׵r9`<`(?| .I=74Q$U@|lG\ᨶ*OiM `g.3P4.ߗ j{췒7%w|eV?b73@@dc@/=1( 2RIl-D)%ՂvrYa͏%QX0bSO*yєm0Vc͸d]I@KF'{%ȝ'äΩV)DJ-Kv^ É~`]S {!ԃL鯞 H|`.?ޫ*{t]a;( lc (Sc"O7תܦUB6[bjMq/5 )o>X g,ݩܴf~Q6`?FIu7K>= +2ڲ qO*}S`sZ]_:#:{:ya/HHy%r?(, G[6 iVIr-CZZ2:WU"4Aܱͥ7[n:E'<+t ;(|@̃s^:{ !=;R.^qA;󹺐MsAad(߬g9['PN%村X8A qY^p""7p*R5\ArhA.T&dd)̞'NٵX”q ` qo6΂v V ?␯BruWjģc|4-!+uZч@rki[I[ҁ.d"[jE7'ԈUg:r% 70X!CoaH#?BNj?^Y}.)69ښ@XdbѥNJ$ߚĘ2P u0D&&Q>j nsjRRe̙o0f@}iRE53ÊIjz|sҋg=Z߁,.PCj=broݢi 8>7 dpKX"#fvvF⍎xwHL7HB8seCHg/~/ o0n(85`n>_!xs9+x|!gUGTe}< =ZOXU/â뗼h⒒>c#Z V)F)3ʊuO*,'ru:XKÔ6> mP9xVkOm p,ttKнvlXpЇg \ٍfKzf 1CIAkTU@bpaMCAلv + Ћ Um3յ%Fy8nш*qWpYB ξn'>\g}Fv,5^/GUnxVl(y툫fmp$PPNQ#S0K{Ck7.ò +czV{/Z[חe-r}jhsդkzbCd&umQ!Sߺwٷ?SK2}199 jZy]SbۨphuV+==1wن6F-lbS iϮֻBܢȯDh=5ęnd/LL4M,mj r~wy;b&'ڴ/dF)oXjc݋F>"RB21iDSze}?L+Ml'"P# ZuM(-gE3mqNrwcEa$Gy8 2YA%zn>CVf-_eRRI8Ck2/6%tsd xJ LsSϨ/*cV\/;eG~f,1ݿā߻#贀JS cD¬i:tAJ~pŪ)Ea/{y ]8 -C~`bN'a7Id+w o~ 0I*va{:A>UZ_+W ~cdOY] i$2Jgac$!(f(= J.cQpIJ$Ln^b)z98M1.ivA0:\ !W}sr1s./Ʊ=C(I͹cy{jqYN4 ^Evmǡ(m%) F!P,%/=z'

AR{~Gm6ʳ Q$ͱwHMQ$5O fh拐{(W[!l=`ޞרJ:]ղQ$N=gߙ6p|y7C; e"K {18m8#җY~I8(}*\Vߊanq%e{r1N&읶{R6U7g8IXf휸Ěre;L;c(J߽+ܾVN !ŋZЭ{JWl ;|Ar_:]~ͭm /H`Q}p_/r*J1NФ~} PWP3 ]84\'UsTߚ]_n⶘Yq)JYv_MwPoh?Եm)OIL zJ M,t\Zizb CO1})_:>_g;QN˷;s K9&g/.#u5^U;[2gjU˝2|3s2$TLFp.ygأsm*9֎.QJ)1[/^02xG sSC8I{1fX3q ?:`3j geh(53{CR~{ ]яMr_v4c%J1')r4̚88UQN?QL?ͣbJ~"'n4':\`dxJwIՎMe&ID#š~Ic[ v',^xGg6tR9g`zQ H0iE&8؊ >]oՂҰ!Gp,Nei"cQhu+|f;&#p8!?F- 1q~b/hD6lfY3h,, ;S8ky ՒqIҊi=~Cs4!s*wQÔym,kV^HG\r\31(@eŝ6J{z7i!qBi`j'"=Sl¤Gy0c\[IYr(z50`4;k::9iW%Na+`qj;yU/ DFLF|AQd)绅2OkU V>_Zbč^W)-ҊH&ތvhiYK Xqsfu-M X8npC-ڮjX[ Io/')Iq&h8X+zՄ#!ynBπ@\ͨZJF%R aBC1cB ͝sI O%?lםA,0YxY|롛|P|QyđՏ"CvNhsw[>[XN.I$3LRR>VK۴(pn FVkOAЭռ:lTꏛZ5gO,Dܖ~ ﴩͭe9`––¦첦첬i g ,IӔZ<ƞKR-,v]:0C绝5' )y7dS#φVj|-mvm∢(kǬ=bE$dQ}7%\Ͳ `CˣBV~h"۶l I63H혉}Df!T`Gme#G1xv affFc+4f!! .&10ze^x"=L>*qsCW\ׇUf훫#fڞLB":\ Go+/e|iqBC~!篋5= ƦN'>3E?@8؁_ɯo[_Ӄy?Sx&rXxPRej (0A>yk;^2c-tg|AGxi{ Cu`VZzJY 0̪6W ͼ1b\HWܖ3 ^9}UrTF]N˿sV@VJ*+A|wg-o*;ЖѦmn6eֲQ͟iWƛFZle -6GmֲQ1"x5`i*U_g~3Tm^崄9qvg|1dP-S9O$YI'I$YTΓ$IVd+I$+Iꮖ$Jl'g|N9[9o>8;syzUg|ξ*YPiݢOvԵ>gO*W3WyقlU11t#^J}"زnT*LgioeW;N03ab;|]ǭe~4D.>+tclKZ7ZsLvߚ eaa@ﳢҽ8b"m7ku<vd=:nfdcݛ&ՇqH ^N^zx=~Vq}n@v9.Z?[5ϊDhȒDA6 ߓIإ }A~}hrfZ<7D˱0FD}nK˶bG?ISҶL ='C一V1i#Ӥ7LziBs\o2W̞dڴ73vn+6.wgi$KhQZFR8!!۷D;JYs ±E3Cb;x\qׂկJ]gUnȸF%*^ ]S(X_¢o?I!^​TӜ)i^8F9vUj +nU;phĚ;973iagaBO6-;fF*ƂUGX_ 2;wD"Fu9isX~psƋ"|Ggdi|e;sߪUH7 ޙݸz7Y$Է.Ýi?ܚ=U6fA-ӳJc8W @_j5Y9d |8Id_mGѷL|;rm^1~,`4Cj;$%NΗr%g9%r;CckAWT<@_Vꕍ}#LlɳLCl8IV҈L̯p`M\\~h."!fj~l?(*l14ٹH1K֍;Hc D~#QKqS6kRj6uܼek_+'fpuӼe-tI/gtӸ/=L;;ԟ]dc~ԥY'9 .zZ(T\3x.uh~Ǎ~۽׳/#S[P{ } 69Eՠlj:o 0!lr@k;uȟJX-I:!ş1p)}Sr䵢Lj!"ߕ{\fQ~_!ȱV_s#G_I(7ɟJ x;QOt^zŊ;5ZP ՟,̃Xz.YOraр[4Qw{7X>%I];iZn{lcjlZjkk뵵W=?^N>S ܏Wx_䳺W {Me؛\lz1OQ/M0)(ly򙟄2ƒGw>Wlnza?"8Iwp*^!1"9G0!9^2e *?A{@ FI BpВWrq˻9l# ƔnR>OvΦ&*/Ft)0J|KD ֻLƛ!#\U Īt+O.}ϦJ8R/@wl坖l-{8:x7Gma蕷s^ B|T7 ƞ (o[2t><Y"-pB#馍 GahFtv 40[܃O8V+a^:`^9EpL?V (G1\Q/~3P`fqpqDK#Kʔx;w4 UpNV0KL蒄AD/b@ (F'@hYbJJ:*pg!dn< Zo> #Rك!L'x@.p#dX aߠUQ:(+.i~ cȮ CS@XƅZZ(JG2x7&&MYS'չt:* 2vڍl  O~ݖC!.$L}z#*9H_CL$ݤBup"nT#j0=S14W[?DPU>̧IujR\5&=]x}m]>E(dWviR/X(8'.nUJ<*l[ȇ@!Fg~vJ9z:{;rsi;'w,H/;tYb`CPhdN3 -[A.l F[4.K(t1_<ٚ ZʶR #F6SL0mĂ fd!e:=gjC2^LYCqs38C둎biB$]ÝyL n"L)D&,$w''G'Rc&^s8AaO| ON.eX}̃hД );rY3z}@eLY bY S8%YkS\ 'e ےGiC',U}YB匥>pԺKjHQʲHn'eq<Ou}ƭ;2?{0I EW]YȑO RVsrKUa=#In ~ 8>+t͛D0Tu^qvUxUYlq CZ1d6*`j9\z,wiPd6AbK1xZ(_R3cs Oؤ {S6`C `yUSR 6+ckȋ>m9G)NjJGzT& O-xF?NW>+ZxG{ 7Z`ɪ<٫b>ED~#ԋ$(ĀH" de"Dq?jN;2S8K9爊kFkEw_8"q6Ҋ",L˥)}2~)]64;KHoT\{K5=V4d\N:vNlϖX[g)Ɖ#0H׻ _<嵒X6~3S]c'C>.-^yhiY#'#ITQڰ@Y 1.gJeT%uoL2*F~)m*eKu|v'b"(} O՛iEuv]GDq ';;/wvcF4Rs\ـJ0e}_KtCg\#=_wMp53 ^NAj+X K=h[Gf1s7tjmU{hz((IiEZMfj9:i7rlv]z9u6&*<5u37顣F!]rYxx0%0G^:`ŁRI8dwi)cꙒ(AiĦ:yAI:KxM@8ͻd?K^Vޯv L~V]r|o^T>$p9bNO&?$NprE{ C bδugi8`o4 "^1%=@,3g/(>Sd~#K&Qw]DtLjͯprΦHWffዐ+xrz/s&{+UW9[Gx :v ],`"G8waM=EgM%yiFYJhgyhxUjvQnNA|4(2pQ\TE223Wͻ|2$Ԩ)d*{:[Q9i75fܶN+ *Pw%'P-_:7bip~ȈdExchs=&=Xq\4 ? 2ʦrY cՔ|:D"\ : 1xuLƳĩD!AU聋庍DH.v0:\` f)4*<@@"3Aeʙ\6BA+֋.Gb#w^%t99i-9]0T{$=)=)ltT+n= wwaҧ=-4[ZT9&XmSL~lu};[X;EtOC@JH7^-,Is6^ eFeJyoCt`Fi犩#-'0^e< 16Qt+e⠒XD?ﴏ:hRp:ECn)Ga ÏCeE.Y=cHdTH-tvebw@fʂ[bdl> G[JpЏxneCo[{4.=CAd;! \JMn`lY(:i!EcלN$JXL$ >xuJXZbYg6R3-犞 d,]4ۏ~&(@I7\]ebdkm-D }rcXRtIJOt lqkIS쀞I⟫ckXN۝;7 \*\zz7}͎Z:'>-˙vz`dB7{gw MZ#$tҺ4MW9aaf^AY|q%W3Ӧ$n_D^⅓DyGvV q:fڂ% (<ܼuJyfM34dT#Yʟ4`I.ӃN=-.&i=ma%Gt*bk_HD,ƷyY0ϒbjmi"Lp.ď@^ m2ؖ_3{a/f-K.[:rxۆێYT YkHR]pZ:FKօ!CѵUUwveUQzD}rNk85f]:DK.$[ͣh՞ ԓ}sx¢B܁|Dױbtc̊I5o4ӹ$IQʑ ܶ\L}6w&'(;,ʠ0kMIo=P8& =^pygA=RUfLӃxv7JS 5Lb/=T31ct4×":췌Fe>eFu&)uXs*kGMwYָU^c"\h4])z IyM蛒ÇghtDjr8F/:8_ɰzNy +q= S%M*0o1l9ŸxŰ۰ظm6\v^^-ue:{NvNc E;Bpe%s>c\O*3- _96 FޚrF'crg0cvs7e͡&3n;)3Lzvg3o v;:ޝ`Qǂ&+Ywn&TXJ a6`@zzܦEyJ3,Y6J]x. Q 8 qZ?vWD>󏧋N4T@E I*UE{5p-דڟg '6tzh DhQ0GƠhQ̬:u$aGHq̡4̸00LwD:9d!#3jgxx1vbbsL}|kH,:jR̹3$no{Bw[)r:+ ֒snUx5 M.Dza_F'*08 I{ &e ?EJ- S2 Qs%2d"F qkwXuN[ f;XLWK(庿},W>f'n1Gfnϊ)JCs -.V8f% {MڦX py-/s;YO;`rh' "[_^K ;wܫa9㵢_[i4*4lM*g^bYоdAo0~N[\֢AqU0{!}!wPa70utZ^}Ѳ|q?کR} *1EHr* ^,![2瘱xHM~$DŽy ?x9)U)/ 9Ѯzi;w O[91ܚ[oҕEtt9g\6Ԋ) > 0iOfhADznq8fUoZMYx a>,ŴfD uw/Yo4ֵO] L`͌[s7rޱ3s4z9P-v:p;8=zD\͌<\,);[K_;0}X8 JDwɒtv~w䇼'h1ѣƊA# ;t)i*F'~5ūinnR1|93&ي#nlVtޯ a)}3ѻxVy1g<,UthdW9YAϦzYl*,HvM5"=fpXDE Cw{tM[rЄ^O܀B=G铦 @L Lb:+!M J)ƣL<OQdnS tZ:0nA{UagNмIB-[b?Nނ=jcC^-O`ʋJayxNbʼic0Jp(KJ ?UN: ~C8> 'Jra9[;u-?&!\Z 'dۈv{M6M.o3rjyhYGE9=ʨ&䵼OзN/~[AaT4,n?d {@bD,kAVÇi=zn?j"<vksè~QD`,Ie<œv>ͅ#?y5W;IE;ďĝUڛ?8Di&=̚dngi9d,zw"{щ݃24pgѻQ{{ZVP'2DL[&F7'6 #y7qdHp1PKh]7lEXCA2Ubo+ܣBY0F)rƔG5|:?{jR6=x>W_/%9`^vEe 8d$O#}ߍ;wI*/-:|Kwa\kc1Ӥ'`r,>KDŽӀKɄ=) Y7otn./gôˡA݁v$$q (1GF~xO2FJ)-A2ͺ8z&ф=|zwto3!Ty ע :5PAřց1蹢{x Zb,:9h*ނ0Sc.n`1s43p&Ӷ \B(D&5XP$b,4g:Ry{+&}K+TN)HUGNr?`HdxMen~Kk+;&\v)[~p&K_[|Zf#T1|wp۴rxDu%2|wS \ŐY ·I q.c {z-__̝]N^3*PwGC: !V.^ xKye} 1}8W|$aο1fy׫ͦ^Mk.Gz5ܯɅ^ <2Y+ՇLM7fg皋$Kα$NE&Om)$r'M[l-2/H?n}](ijqY6V Ljo2}mLe(\: Y%)%Id gaQoy{$S)W%bŠ$1B#ڼ ~vȮxPv 祊ь ACty"iPKdSi dxxYd$t)XcV*zyoF}̀mH0KCJVkD4Id &V.YhOqU*;z\5sh(r5MؒEqd[EURdI+ۧOGb9iS-rVJwKUd=%0Ex&fMg kG1z3Nefv'LT$(uafJO\oţRvY60˸Y&%AqNm6xQ5׌V^kij*K$Ct+r?sQd3lL PݫUΏ3UXLeN.īKs8#7Y4k=nj9ꃴ$pdD`bH|&B X%!&?OdዧDpǸԈ:$Tm 5Q.2 hvSB""(?ܒZot眵MɨD|%Nդ}94M[l<`ŘHC[UJ\]_yҽPwDB'.# ::ϗp6#4 $l߈11ga0txC!v^{γ0@ѕ\/qDkߢ6ۛzϷy{G2c|lX^ާuǾU|/1u&t¹yGwu^F5;IA|s>u a+߇k/"#(>Xל'6wز%/Ny6A?"xv#9GΦq`*@`27g S{v] ox}5:OQO}پɄPxX_|ڵNtMn XGf}I5j7FDѡw $ vʗ%#S`(vc$irM#0,+ AMjG `p3po`t,q-㲅֗qxEq::d=]-a!^w!?.DңhSͧ{;G0ΟV-J*/׻Ki6+蹚3,}#Zu_WJRc$T/qk>fG+SApI\24-F;co&I2'x:1p]̍!ۧB ܔw! I"q<`ѹ$M!\Vj1MT~$٤ @hߊ2?Q%=^Da=jNf^ϟJ;/?7)x:_\|aWȬC\&_e|Ѻ˰~&~:;M3 B5aN2wܵ3,J4e´­z?wCʼj_JVa)f$nĶ݀:XJ>U &Qs|c%hqs3WR5:˱{ԥZH.sEXW}Rh<L.t`ksðtr_8N0* H ֗ ςa Nf.aS[L jYҘ3)XMcs{u>~.$ùw_($;/j+S]*g֭ӝ`ɕ{V7Wt,FhmҍIIG{ތ0x6av&p^(ӱ@l*9dVn:nAZp:DžU%~Gfx.eRxB -/`G29~0:[jr$j6E̡,.^Otɤ8P\yfU䂂pdXocQ q\",\6EE}'xuveziûITܫ9r QLX?GwYHKn,;:][(bAy1qJN蹓L7^[)];{{ߟ~^xR L%yunN,3?^"kz{0>L.$띖 1?=4\2_>r=? -2y6zz=|pƺ{, j0p˾wWksP9 JjL @} LgXuZJRdVoy^FJ$uY64cx6=XKm{EXjyT3`BmkΘ(mth9$]rDH\}A8(;N+X/?}Z% d2Kirb1ͲtYL6":buöQt6ru{W"ߘ%pJ6~kALf9󨍿[L+5ARa vV?) )#٫3\7Lǜ8APoz9fJvTb@÷zͺ 0b2 ؽ،KGp&0c䴋$uT#nUWJn5\-mo sq,mLl1md=~J;gtK^=75RXa<!,&cvtH@>m%2LPt23Vf6j4,:` #lF>1jOtZN]rZ'8/_M~rV1<{!@{/vѯuz) [.}#PG 9 s-t$=%$0$$Jr$}GgW R=%P@֣Q^gXv /q) 3FD\Eo>zf>}<1bG Wӳsu]gw:ٺGg\v db d|6)cj%‘tiCpuύ_؞@_^gip[ 94ٸd0{$8eWTڥ;ҏl/F]qu.Sc B9F&2(|cs"&<3;{̒>wog{}uJC>P%}z/ezڥ-|Xiؖ`Qi#]~u! |tEї_/-)ݩfPΡC3bx"T'lI Fc_ 3v30Q2^+.ѽzS5+s !Rthm~}{|,3FUhם8 Cj_(FNl M, u&.j\ 3F Hқ][N3)}a:xw3ۈ^qn=8 Q~;Vk7KbUVb޷>!PviBYJKh̉FՅvm)@71<öӊ+v| ؀.>BX4'}\տU2^ F7asP Z}܃볤rrss9c5}Y`ajDbpJ(}NA9ѯЈ-`ω|đ'T~>}}|dwF㤒W[~*mr8Vb4p<_>0 eV)ʟ}묰#$ 4u5̯EB72^ġj]}.=HV߼x˶h[N,/k[սsOJ/L ]eϬ͟w\ $;@`dzd)/$M}i^x*ybx[IlgoK#nqXnC bC~ ;z}-vae8T*5#TB4|ROQJO?,T.KSRŻQg_gx?<{8ȒJI&{|MoT=8=>;h./cK͆|ፋe:NY/ DzrA]Vt6!8Y!H| D'hW-fAb<{g,$ O/ ][VKZR'*3^:GH5%\f1Ox͟Fn|,*v?Tv; ?^/s*DṽfKλAJnF(Z}狔:6'@Y^F7Cg9;zohIF̏ґpwJ)$#3SW v2 @mWD썈 8m؟]cX| |s&M\z,_FOyWi$(&nLآd)+G쐞L/K\u N5C)Ŗl6͖ڄd&sp|Wr MnO P$-W9W=#̶K踚|1LLc(C OcPrԕ}IҒo FJf^}UX{I? w=򹠖6ҧJo˄9l9"(Km 9pAt63$dXNzUj ?rڷfUҹ+ A,!~(=^C v;kuГLG6<93W0$l\ֽ9k)j[y:9p(* nurGa\Nt #=yfw$hErS@ќ{>㗼y:)EY^[\ lf8Ed纕oSF7W湰HG_[@SwfH8Qp.IOc4b?=D^tK%G27M&2JZҝ2Ǫ4m]62АR_.IJ#|VDLL0S*d#Y@4-% #[5U)^\th=H*.bb\d"q B%VٵC\r۪Pe=5A^1AIJ) Txap6ye<=G%X%oz7c?諼x0sѱ<` ڱcjIF[yb`Q_Rmq]:ɷ,>˵kNQB7"zoW++yaz;ejN.$7#VͼCGӜQt1E0(G }upTS/oبSgtڔyu^ >ezrJY̯&~z,?p· 1V[%,|݋8C9'5_swi?-fƠEfQa: lBiwdA6Qcu ?nJ]ڦ?¥ef](M+`DL>T #fglvg<֙yZ:4BYo3$q$ x%9BǓr@@s І<0ap-7 90\HUb`7lԞ) FC3E_A}Z*"΢֑s78œ^K>,yo<L$%㲎e}ҾRrdїgT.ďw)e e0 }3# MuPb|+A]|";ظ+a#Bx,: x6AdKX׎k_;O5]>@Qxr̓NJEv̾ղGBmGT]^΁9rX}83s)ak6"џ̐9fӬv]<㮂(b#`z=c\|N'xx322­؃ݿ,T3 [M2E֫ -Z| ?*;-XPha??5tS¸鬂e1)"p?FrMoIhu~M)VGV%)2G+8}/_K xDyv5TLL ^Hзh{)w,OiCɗN}I2*PdcW=jdAElyWn1o∬EnYIb{`9}8@]7$ƣ+1F͕+I(y%XG^Gll4 4;o^BtNڔd뒿Ы_3b?⎚n<~'@T &IĝA&x_Oe+8`\% 90ވ(` hC%:sІ-p.`˱ qyr ~'Ȗ >UA~߁ o+..Ti, #(\6l/IA:q qkCPDmИyk"fS HLxtn6*j7xué?0Y441UX6jMaXÈL2$BUXNZxьQיʘ~,`j2ٌpB_n̚`XuN2 2; k|SNH4dn &I2ؖAnfv3RC1NKYdY ~$8\b7i7vԹ(Si7#xR ^hKkWT2M%+eҜlDEd@a3o63.YRƝYvi-hZv?!Ĭ k' xyn&R(wmVB|3tR)/YK%3q=4I'a:`*VcĪteC{D+kȊҵdaVK5KYZcs0zF9NL9|t4,} bXY0!lf BU7*anYQE.V Z5P]8mbvg Rl43g FN&YCชb!+kgжكpQP3*{ĺ66W#Sd)jC$AQ)<8kVe%PSjxdڡ#g>ӈ`$ bW AEo(Wǵ˂.2-aIᐲ :(W[-yΆ08cJ3WL\HsjY"%MR/$grp_ѵZG:#hzz .*^U)|ViQwVG׊/r5j OW].[Zk2* źH POJe2.NZYNC+%YkO'IP!y;E0-0cjR=+_$A29/*N -y`N7yoEX{էv.5~k2 ^-O=ag)c].Ky_BBp{gL3|QL6M>0AΆ`qx<}6Qvݸ@)ސ zym7㺞kzxgrn{CtYa(`Ԁ!7594/ͺf{\rҼ0u[Njp;XͤOreבּdQ2Ӗ?O$2"d\ҭgϛ8p/y jHyࣚ5{iIX侐h0ZJ+VybW)YS 'f$[ QDݙ8[:u}mej.λ'{;ѕ&_2^` =@ַr #{]X/kP^xhpkĞGB\Ma&}0Pßr>ŚoU&"&e\oBpD+f# X%ǡh`m7r8Aӳj!A-c̨QzFle_-Mpz@>6;% S;NN3Hlxh˛V,W"0g{9E;hċYp>81+8M1%#1avFF!['zcJ jb`\'6 {GsyB0^a嵒Oc<=MQ,t*Bp 'z`qsbO[є{Nɧ٩X٢63Xt 8"ͨ'DWTX*̺$?~L'SmD+hmr?\֫I/!\fβq.djB(4d]Ĺprp|+Ŗ),r%́惘jld%*K I@CQʘb2:0ݹ-8wxΡXqagŋ+ҿahcxZzst4UNB 3 :*-{\@Ёj(ǹwŰԳW<ʥ0F֭ܝ34^K|RBnq|/|5Qrvrhƥ h6+`ތ+95I@s9r{s^b|or=9/tV٘]TP[ zIZ10CP(b᣶ úvӹVXs 7 -Xa->*?[[qWjlQo0;K:BT{EeF8I3^ qP M ⎺+y* źMu m*%_=iK`ͨ;˔̈́Aa5Ө_% ptωK5,41lCP5f){\rU TDžŜHesqD^?ȫ͸mS(Vڜ9ߘ m<-,cי O=#3mտf aq/7#,}Lb?&B;kl͵%%;--Qә)*xk+*L,.z]n}{ }yoSl+_A=K3Xx'd!/R(a<ӻfz`o~&0),P` vjᤍ0ʙo`1zR7(H'@m2Ұ{* $tlQcdP1I$bt'"ѯM$1F\@ߛm΍y =u0k flϾZEvoXucb .I`mٕ-ƌPv:6Y3m!˷f(H3>/ÏLN ˜O/6+oiu/8{jiώx_E+?56g&'+'ߛ5cvLf_:-Ai1غŘ*5Foh#146%)T/GHtP^e/N=ܪL#.U=;r಄EjVE5E:3]\Sa\X'uzŒxZX+YlloA o=^kPnˆ{yh`C1$9M8Xq-Sӝqk,q!\ Ȼ9f#[2T+  k]raM&tP2ĸ)Y]8d#Sp9>GHոrOnIpwJJ%>#Y4IPdx^sЎ߻|CV_m:8@Ic4k9 gs]* ǝ/1o38*GpҥM 'zYlCAgVGXaowެ*9Ҕtۇ$q65$s dO4.tAϢ +̙v T+j̚c9vj+m h "lLZ.)P`9kHˁO略GBI] _GLBum"@`&W^!c9 <7@F6 l#{6z3)bʉdxLTtqNǧ-Jz\g i _܆ E-OqZ)H~ی)8\#3*ΌV\LK*:x 1 ZhۤܵΗ[B'߳BNZk2_/oeMFoDaɆN۟tw$\ۿP陸=,pE`lwX+aW1_{qGq˒.(9*KQoE" ||Uj U`up6;0AƱ>ՐJ[xܾjzD=V:1iDI̹*c2SY(w+yZ#Q=X6 8p, +p#6 '9:B5+ kj5CPH1h/ǎ՞a5`gY^sx9+j+sSBjiP6rU0"JlWq\N_JmnW]Nu׺/tɎ% TgTxdn YO5lYѦ19NEcSs9HFY6FATax4[f@yKC9`}ssa7tDF6VTtR5Gq,XUf|6Aj& qvT; v6!!؎c@\DžΥKEvzUm?:gYqtb8dKKnКa&V bmmukV3jE1%DR|Fn ըvQ׿R[^R.}l6;Ac%i_s& _pϹb>d7L4;xPƪ`d~X?%lNJοOFLGȻr@(8 $ߍ$2OHvkhxS>)t>X&+ =֘h s5Tά/3Ӄ-e %]  Թt?HY^-t]袪+:&Y|c< А14zQ ~N'raP) ` yQVheC`b㱑4a20l0%e8hXr~x(T| ؋c[VmG&mVo9s$DiܦnL>PKQח`@Nr Kx%:x) l6e|#~x硂8j(/5+F&.~fpq.R9-<3' kf 9R6j4tx+1}m4~cس`WS1'S>yHkvdd4 5A}!zxc}$p&6+qh@=+M. HlȎ^S +zw 78TMnj3̗dpL2u v\;Zέ@Q5o4f?K8_ ҂L&Mn|um`06Y?0[)q{(pw3s ̭)+f{3`2|$0;.]{EҶg PvǠ=PVL8.3'29pgN/UL#1fl^A#la({"K,tψ \_{IvF>]^>b̭,:om,0 鰴U~y^xYoSTAdY7nK׸^emjo-,;M{.m6L`w^m?gU3o뛛GQZ C?~oW㎟7?\.x1IHьQmz'>Q*T |2 GH{cb:KM^%3HTA'1(?Km!jgIlX^Y-?3忦qK=~}fk8 F x~\%+3#:HHKkLkۘ :I`t%}Oxr3˻5Z]Qh5gtGdFN Hpgk1eG:첺 Xos2O2e?4RW;!$/Wl<MLި;s) Yl6Ā۽ 1ćw}/{w_a0"}BQGuo5-ʮ@=z>:}Ԉv#l7@p:'ѻwM=qAb*=yK_0 j =9&cCg]]y 5FA:3ēcޠ4W >QVGYq4]F;͇6#SAuc2Iw3֦Ma=!j=~ahvƿ.Ù`IB@;J3L|Faj'z$gi&D[Ҁ%ޗ 4d-}wXx5`4~F&%dxqc~Xi2<&ƂsIial8Uߔ'kwN77ѻN1C,F|4@,R!{ 9E$őe:NvҖ)kѐ˫PXZGE svCrٔ@A%eMcue3vV,nr9mv:Pve+mmĥ+2ı-46'ۧtȿߍ8Y}WJ@xF)~N[EL`ߍ~2l.:#g Ex-zl? 廽Yxm`iodѽ؍UXk8jAPȞWZ p95i+$v/n&+-_OzQ41޿8.OZt#jȲ'x8,Mh&tk ݽybP?䋻ۇ 'z l`kKBzE.q<#yfx"`dqsi8q@~p$`&n]zt"fu!ғ<ωH'w|)#~;ן?9=:pFy/P (qkfuF)߯)2NB?5#V#x%R'32qFm9{LzD1yGMd;Lޫwh1W{$-w]!cN_^ ;hrq0ZHn0L)Qb2)rQ|dž;P  ی;][u^Ou5 6:- O\gv;G!Y0no|NIaMZw/jp~2FK'ׯO_}_m:%i?{>yۯm0w; o>a %8̟ nlϦ60rgprpGv7ENLXToBrTfp n'~rkF%JGz {Y:oNwܹ(! {LL|D56H!T n+R5&DEoߛWuh_(;VEM$* "duHh hpq&[Oh nD׶C6ek?{k [ A/\emBH9j$θH8^XlP[Xqp::jF"xשwѮPow&4;ߥoGGsްzwI4ș!8O7QIJ9Ƀ7s<ni#{c*Iq:qs-[)[H7FJ%%e5VeyszW9o6m%SmLi5<=xn?,.,Iikq֣J-\_=E^ԺO{ #8m,-m7vvǧRRi;2@u= /ە/ _67MN=E9Zm@C77#((d,_ ,;z{yg{W#zgB;׺~">Tx=I7;j;kP'xĢGYչCbܻ&-ͱQ_&TH8a]=:B{] ?S@ ?-4I#~{gJ*",nҳ1)mݬ8>D2ŀevc j4sыIoE 7Z1%5P)DŽWZ&Dz9s_Hz--q shR $AMO!l9,nώ+;G_&?|_2:~W}ꃥ?:ւ5\~ճT"5A[s 1.O'\܉i` #||OgKc诧⤏[E$gO`qSlص^߻7"< E熧jܺy bռ$,yz%:IVD<9[e; )Z&#D3KLF&B3s&\+keָ׳i5m,c8^Uvt L7yY5)`;\Q ѭ2xv rݿLu UV,N׼ǮNupvu;CJh'Z\Cu9eD/_Fʵ(jnu? Wuʽm詵j@JIQGMF.)R5U!$ B4z{;7/y3z#U:m^YjtڮwN;]9T"%ӆ8lWjg4՟ݾ6c&.d띚gt {-kCSC,] }B:R#=면& I ioQp׋z$;n/]3wm m@[KB}QGnE&anl%Dm= uk园p0^ >ji ok&V\N*vXSDTOî -IȓJ*0VVXX|뇶uflŭ(CnIL,7P<9oE} $Hoʣ=u@#W18@HPTy* *"㾾0 8at[[+nDo2C* O܂Ӷsd㊓ծ>P: X~rji @rijN@MUmOJ^%lAnNwEl^I!U=g(?̣:fi.&k iĶr݅mZQ:1 &r)җ?Uʍ|Z*hbY>NpHt<AS"w˟A.טūz)_o7'^1ҋbyK nmwz~> #|6( [ݻ}lDUV[ ؊ 7bdm7Vͯ1[+^T.*e8QƺP•ul}Tg,\6".׈gOެA1vAG~HsZ#KQ*#ON^U2i7X8+)WwyS,7P\gM# ϐWq4Ǡ8>R MVA*=Hn, =ʢ )\[lOh{6{ 0fC  s[yfe&M8KY60TZRm!>hT˜yeRX֮paAt Ӝ/M@0~g' X}L$U? ^#[;gsY%Y=Ly<[(eʘk:ξHΐ5oP:3pE kݐJhjFItPuQ72gbBۗ]ːjowu^BGCU]V]dnOwk#+K6*T5 h:@#iҧ 2ڢ_f`dɋRZɀy_291OWWN3% +ν!96=v< 97i:L[s@{B/^tQ\ȡ)'橢 Jhn9gծxZW _R6Kn2w6!wiy>1 ,:6_D$(d[9-ks (d[9-g 1K95hP/p$z75 u}oJi"5t Q\UZ:dtUr?L ##؞f ]vpGL-LusaC鷻Rs8 {ɲF"U/X( FefVɢ,q#wV .[KV |6o,(q3M 7>Uo:>wR┯M<*G}%;U}s씽9ov3-fV2/D}7$>:nN6 I}u6a%{c/qbB@őǂLl=aa]I>%P8 @.i1sAbV-b}M}^KU^2 FV7lZ<=%w=rRɘ ávMl s-k`녁(n+ęzgTYI*YZS!R=n4T3=Ѡ10C[^#向l3nU"ҿvXawS82-QÅt4e%Ij"=%LU*TMR^^ Kg7m}+<87 MJ`U5dp'g>O&d]8##vdQo'R)^}+̤om jg&wMԓZR*&&)k]`YZ$O$ S[#ɿ״^Qk =fAK:V}$)c0kE$4>nDCh eg@)P>5$5֟u(%*.IL]X}9.dzI W7mgSRo)Ky迈t{vyG+)2D oK w1tA$^9!սXGXY4s4?XՂGͳ ~tڼ*Ա:MbG,՝i2. U;!&d6Coy -wm_6u?ouw3h>#UÛHS4LS4|64)O[O7>~آ%M8gjhSr`fw*E'q = HoGqG{Hԏ*iqWq*(5k\f lr;$;}yHxmp~6me.䰖[I˵Z]^Jx=bVqCzۈ+" 8dc%52-5neudo߇ *Gڵ}?X*{H4 Sy, 1$GnZs]~8~]2Z?ly܅*c$:}tjy$M\&qd`N+{66( ._-/j<([;M.Ukfm>jp_'tF7e֪9Tlӂ썮D80F1׮Y @?X!Ÿ XMr")T~%$GC3< _Y˃ ]VpI?O\b*(wU%:ڜ_=ps2XY~~V"ztEktɩ9;m? p{H3TvHj5,x$g >{lß=7'k±B"(`lՂ-G2O?9늄q_|4N z+ža?NA?KX=Sv dSeCs1ֶ,Js.%:J""M"LJ" wԩ=0T,IRome8Upb+'ĺ߼̱2OV. jV/8}m/kyQ Ͷu???'7L3==Y,?wgu< `E;Gxl nl9*qzX]}!ž(s򘓧X"&Y0{Pcb=KV,F|| 7y$<sArW< Nsj )j М"ZyLs<+<^ָޭj?!xU/g )7)+~hx촭lY[}7<S0++cm<ǰD'佽J$G3F)׀>vbI~bJifk:pTN._Ia+U )Pa$Vgճ gqGGyZ͇rIi&ɭ_ԶvR_(oQ ja3Uof \g$Ezp[U~v 4\t78#w7:_vd,ĄqIl?޾cS}0_< oyY<4Q41UUt'9Y+F3=5J3]X4]XD…51$S72{E^ζ8sYMp&l!}y D?Wwl ku (__ƺZq#)%0bPlXH-:xuTE!qXbkdXӅ"J1*\/b{|R窔7M\2JId^:f`l҄s¸XgOO'tO&$'sN۽|:z3MG̑OOٛJld|/jFB 2&IY9\ؙoV]m7Dbp@=̈́އ5ߝbq3{m/TPw&7WiW:y1-X٣NO;ܻUKi(j:BE /5}]\d~+htZH: q̠uX`Sx7j]wޔG秼dS K5F+Gx2.@V|^6 (ц3n o~ -"-]U(wnH`% 007NVNc jJΩPFJiQx`~}̄GwFߌ}p)bCP7'\y; 7y+K&qO$U7V5 s].^\?HQqxаpgn>F5zl@Bt<EeUJ?`;'aQeex;~؄ܖw51RPwǦy[8qɥN"j tuYqA҈P1:]q'i>9pIQ| {+"veglxܺJm|NZASb;sDs57:ÃS VK`ܛʑŸ.8]Kjm!GG)̩*q-EUu& ;Xlb .^I,Gndpn t tWKE Ll~S4DNFZXL)r/[B7GRmRߓGݗU.p\{G/"6V1*//͝ɐH`Z07HQ}ZfcM_Do70Jﮝ ѵ@e҅vV^+Qo_Z,oS%]KvR:xM|=OP)>˯)Nj|.jpa~`#mzmZ7wb-҉DCdm2ڭ6m٣`tXdg6?`vyj**\UV5!'h.D*>AM>h0esw2A@͵wv!E?}c+wpUSB7H\v,S7[*}{Uj7jϗJKIGÓ&Hd#bnW$͇YPIֳ4SU` W3q.gkоn+p#dCr0( %<[#77h2̞ y6K ^w(H<`Ղ$ŊF\jJUUḋ=l&n¦,>i"/ hC$'Gb߲;rKGrB'>l?{ƪI؜|d\X 3.1cE>N)b~fRGlP#~RKDHW~n^ABZtRGwJvEYc鯹lJXm/I5?Mu8(LULrb6 Ù@% D#{R*=j2QTGh`J3$݀̚xZ;D̟G~qoȀȴ%µ0[Ъ|^ i=%4BSz$S.RgVn2[NGĺ)nZKpë㗯fރD!$bŜ7nvbu.S|yNs/R{T\גgί[ND6_˘@ j*'"7UOQfu z֭L[[ 28rU*J͂S1w|_Tpj 3,ϖ|Hochu|~EZK؂ exwYɶF;z~dِH<]>/ӼlIv_O͓zuhjz&HSIanI#Sh| 4vML¢".Vӫ#d1Da~Fnj4pJCq6g'"H u됀 ۵_\1+S| 󤃜SEO]z!1ΣLγ1`3Z>&uANq1>=5(`}tOsSRQS|m`psk|dq: <(zQ3 .'kÅ-n^枵_l~N[=UTUM$.@Hj&RK pT2G _:cGH1uĢRO1n66|ScL+4g4"3xTDs\u!e4 8yD#dȔKm>T. OC]g7tޱdXCwUt5y|N YVZ7͇twA۾qƺ''r-@yU27OG`t>㬦N=MO( "'DM 3D5޷%.RgŐDST 3wUJbG6^r.tɭk3bWinRdOaP>S9QS׭ϼJ-uvgWyU(Ŧ]jud??g+'GMjY"ܪki@ F>ӎ>hv:?+"r,4+1`9B:&.n̋ت-&kr*X;`0#J%_߆{4yЅ X׸ kpo2ӤʒXS-O?do R+;a ,ٞ\XBe3m$w i6 C3>P~ (i-M InƊE;BKW1GieH.iIDž%\! }H"/I}!B6hfj0ZDN:iLlƥ,=Ko|eM#KYBQuE[ZԉzuDvSfs:LC/{EHTjҺegyXD^erf C|’]N2w;ǹKt)^s6.^SQkÅ|`9zHSys O,Pκ3t VˆtiQbt~~NT!:Hd!;mn1Iu'k=tF|)=ߚ-1~GZzҒ|3> I -鄏2>qZļ'y)mЧo}dyh~F5$1#y~C;.gȇR>Uɸm&/͚/,i tqA6'H!KZl&p\Aa"z}<;"H_<.߄ oAOmK&)BSZ NQࣧp,A_c VGAf?>q4f}C_'@Wx')eBl埍/\I[f(ث|c H2 Ua| A-aН8oںtuv@ ].ȁz{%B P eǕYֆP9=$lQx4"+7J?yi IM;_}ǏltObOO6nwډk>L, Ƶ%7]}$tHS^'*z6C cud$v|q1COIZ0ٸ߳ \~_" 7IBMqHjo|eӅš"I ä%ۏW,f2)(E$&fUfBO _y?fzTgQB!ZPL^KTFisZXr l.,"i@qK>HOW]ӊ-/s"s,ړGte̍\ |Z޶m,Y O'"a:_Bh j/QmdgL6#xyR0gwt>[3^QΠxV#ͺ`cs ߷Z&'8c6ߗ_Khjz"6}_ɝ?Nߖ{ GX|_k{fR E*.h '˅5ͥyp:~_.XB2xRO}KAֻ{p썺OW$9?hoIWv<} ɦg!+ jy.2mQ;*w92o߱c:1k^cRo{H!p>ĊƿWo)vJ@Zm V)e獺ʀ:k*e?@ߵ]}_>~ah %cH[{hG TKTMbUDnMh :43eVk:L0zٟyrA2/wY@5Z۱BŅ[Vo׭x<<1x( Ϡ?OPJnZ>.xlup0XHnrp}vV[rf )z2.ЕH ̻ϲq7cC$?;s hhIZS󦒜$#o|< 2K_(HzK'35'DEۣX%<mIy[H`9㷤%OR7d;\bbw`?Z`6$L}[!2'm >j2_e.j ,O.K65UV28j[PSIXuuź6NΈea"gx"@;L}<8oM7[Usxnp}9ƪ-ɮ~`E7A8#MueHƙ(c/>KZoZMf+xöw#h pٗd~7WذnoFiA͍dD{&Asj~ssFsg vGa5ىN.`?.Vr3hr2a ?KǴ~cW|.H"V̫ȸ(#+ndm*7.psrSF~ݖK(`N4œͨ1[_u,e9} ob%ëvﲽ2x%.dHRh~w͍>ےyܴ؜ ^Xdc=sƫRjw<; tR:2fdO,cw,U/Ja^,-A]QE{Jd*Apxdy3u-zGaOi[^.g, HjX.ß8:ȂުbUislGsrwswCH˶ȃcqŌ W BA]h9T*7ߩ+*mz­h /be/PV /lUÖekkQTutnպm1ԜK`T^s(iTJM#1\_KnLuqq8Q8Jzr|1/awD;2:FY.8HA'̛VX#F/u稞򽬒;=hyDj*s0 }%qQ>UlVE j7GUe'K5-Y:,N@gX&|0`{_2 yX))yc1ʊnvYeňU" (XFYޞ$W;OGA/B#KHiXkvj]Ln nG(vVԩW^Ֆ^ͥUYx5+fy0r,:MuWEthqbk0t+s6~J%^Q֚1z׽XeŚ&ĺ!nKf?_S6Ud t W_k8Qwap%9(`<䣸y^TC{oG,DZƘ} XvgIǝffXvc}˽Nc:c;y4)n=_rx >#>x8 [Ji$H8K;f } K2!ԌE(_7=&G$xB#dD9>(j8XVnA)bBP1zDAqz5aPwl,i() ,tՀyM/ N5҈Lyќ*2>XFקl$3&M$bg̼ȧ~.$:5Hs$h~3#(f&a笋z@_$T+`o؍Z4{צ? l8*'O/uP jg8HOm;_}&|2&0L|(fO3|U*yl\fG ֽ+CC GZ5^vwlr!$FGѣXłvBamɥ*tYr|FU=}Ka-WRL$Ш1|/lz OkErdO~&~K eK;sX_1+mVY_ڢN}6x/kGwAs;zTy]:=6 "̑C>l&oFaej#M}Đ;A|N]x*Vr-IA~%[zYN oh|jz@oFԎ c]k]\=3ۃ90e9;'ՒOUF(ጘēk,.UQy*1rd1Qj %+j T ,/}l܌C\Uǭ%>\p8C=S9itɆ]00~n2k( O*u%*q-ҸeSaq\=qh펾ҿj>{=ebU&n65v#,Ƭo| bx?DǎN>`XcKվ^ ^|^G']/HWZVF>P¿JE! YpgŲʌ<e!6FprK%v󆶀+uG$NXs]JAET$7|aX t.ZB? 2u$ӓ3_tP=n38YaZj+DZM*|㜦 >O4ʴ _8EA\NSGLJ'G/_yiojK?6y{==Hw.IowMܥA)a.eS7"<M[0NlzզM`HvC|c%mN3t?g/ұLQ3Ebu mST!-X/E\P<^d烱r: n&B=M~I8??u)v Ng7_3!uJJÞk" & CM:/kw_uݖ K+++N%oyRvEuo e'rNtoSLl;|0t3HӬ Qh:Q*-PHH{/n"g.>vwzZ:{3I`Wh~mZG09>sW:k&fq42*օUjbt.hǠ֯mZ٬rͤU X LITy:*Pmlp_Bmkxt_=y2_ϓNoW-ʜZ^R"ektTѸxH/cqiuD%v=y]Y080$ v,-&tX@F*(w?c1T' ~'Q9bY5Q̦>s b",Y5?׵DU1$T-x$G};$@#3q*Ej3',c0NGc NcQ8晤b!C a=DHY`ײnfr/Z^ShGub:(B{-Tv )vZ.+UYQ-~dAV)~ϣkoNp!:[-|Q1ii4  #D@k[lٵ~[6kF[ͥ0j%[bv#`n̈́:rώM*'W5)%z67Y үr_$]>U޿}3]ְ+n$ hng?/X W~NUWM SDbD8.멭:NUj&mO-ֻ[lC#js"O|\]x_-reR@S*,c2GU^j=Z; >)Jbӳ =DNz5i8VP,+|_>: \T>3 ڋ.lΏ0m/w_ PBC sj d"gOM^YYIGMއJqWn8qSN|-06nQW~?XM$aʦMPv7op$ 68fHZVh39[ųEXڱ2îWƲFP*Wa-厣Rf#NXnn98;ĪW7DHɏ+rַ:LNKA~ eb`|u? !١q? Ԝyu!FW-IS&UW}"gV tbiy\CpfyhIPp ŤK~e#WTS:TB2V>AdaX8>!,U<|'_v~^9Ky1lA&ncoP[ "Hy-"Z-*]Dm X(e,!QY蚦4Jq ^[+0,`:^iDPcWYK3:YK$oQ]uwUq}+\LI>3)?$dT8IQ7doXF'ZEgfȷۛ1wFo+i?YKuyOB& VcuA-7NL|Oyҟ[Uc/ CX\]:rx֟=si[=h}2V P,q@ڹYӱ+r:~\4U;UY}zYU.z[~^kA 8M2H[, #cssQ6Gl/[7~7 q8w ,3 5Rsev 5vB\]oVb8JO1Qs/i%/jýX"Ki1TOy#~nX> ];bcYrbX˛C,[d,vD-P'WMXnĵ #q}vH\ #FY>:r $qȼpᒱAv%Q`#aӈPpEN6ZBOG]!*>\pPZM9i?fˋpS.l [.ztS,:crS뇳Њ"cj< t?}.Ŵಀ?_򍍍'%'Oo> =2Ǐ;O|i'G?75/f锺2Jtz^.>Khj" 6EȪArI2N e=Ya䧳>\]U># ]f\]]!(?]a|N\=i4.8uKm%G vqۃwɏۇ?'w_6Mޮd1dtu{uXE"^2L<#!7@L^'oQp ޜY>37b\hlf6wh>FejJ2N3=)I1$}W.>Ką_ ٬襓*~'N)`t*=N90;D Ra4TilPpxJΧ$$<ջ]MS9d@rBBAiQa͚J:!'=uE ӝ ADgm70zN 8š;G+bU9Rsx!ǚ<%]7-ՠ<8\134*V#4JNlI }O1\b XyTM Q'ʳ!砎>!R9uSzh9a*yݍN b3^ %aY|v;.jb]v^)"DB:899j OyBCRwT C2,ULmMUu뽗L2 &~sϸ'˂){ƻI=fYoT^K kSAlj`hH__S^+-K4~`JOH 9M1u)?#K^`6PRd攬>~+-6ve:㯔 Ʃ]"h'1( .aKs`+ev獍iSR=%l:uޑ6%V3;m3ٙD @c(yg$A󧋚}jGXn')cT)Vf#]iVٰc00:Uc*3 &P/2rO-@A:eX- 1J{nćXLoLqDST vd6ؙS96~S/llަ~V&У*/"`F೯^0M7cTWh,q>-k_RH{W.#nERlR=ح^,Z$̮FJ_y!2fl4YG"c&0_@F"N( L Bk!hոev i4ұfac+d8*bK+X2YF{"#a-CJ>۸429>VI VZb6|CKD64F1[Vn^ eFp`8OPL%oX!DԖk&Y (:*X~UŜ #Y! KB-tQfBy?X%Xhx嗝'mS,ЅI4>N&Z滣W?#{T,dzVdP5Gxoq0O0-NӢrمwa #\Igd±Ԛz1,y1>*Ɔݝݓo$Oꔩ--B=Q&IG;p@:uf D% [rK:d(a}~B\`$8G+F߫ *?kZ\Y!x"y {O,ycW[:$ UwΨj#4Zcyތ{~w)iW1Xoc$|;5ˁgQ&I<go/NE:)ĽР#`CQ.Q1Ovw{i)2apwl[+벭AܱA$&ɛΊ(րu{&Ѷ{iI 0Ng|h& i Oᴘ i ymV9 oNvܹwߣNJ /*޻weľ|$d)\x߹cu>]x=r}E9`WtåʦGiް֣7<Ǟ!¤;O^n+iR]yfy"_Go_z&15A74김vcQAkjl+#'M-^蟝wՏYaVkj3?HIKh{$ncnI7's|Ζofn|*F`|-%h_l )_ O泃7,7z*jU r^v!њzY e#H8yP2;&}:"&8Cg0kba- s4zA7t+tOzA,D(t=>quI_5.^SfWKش^wh^4&VOSl鲙B%9WU[3ANʈ'/;< *m_'pə[mPQo~b am!3}{px|>[52aximi׿;zsO;qw=Q{Ky!M)q!6"_ '[eG^IG*2-qB1vmvqDUJwdږiMp0M0 sTeНۉ.G'[#\W'0E3I^%n۩u,^œ_܇\gay: Xݹa2PQZO*ƭLFT{%鱒5Ga ZAf/@ʨWnPvsEO?<A|o}}Ì5X~reֈjȮ8 QФC~bc{ }3x )#-_yKt^ܧ~U=6ا-թwo0>wR$~3=j+iʶsCFV6Dww- Q?[?P 62 ZFS UH~y64R?;߭cSݧRM޽8$ۼ=98I1.NM/~:8LtˇCa˧w*kFRvH#f;D0NDPEgԙm[*k}`;Q`ƵpWbqYv@ _5SxjsL|]+pǧծ7:t~X"gNSt(([pL ]c7hW`1itD{!{qT½;,} L6h\ҙ87D#=B7[;{wŴ7b8Ǝ̈́8? _>dQvx%L9NɓDH,'qPR1ѮdNk%~l"^RH#lw]..83(3|"+F#p&;O2x`6!Iإߜ2>LZCI{tƥqQC5k;;&U]ҽƢLyvKıпd4` q';l+hP㏲w@m&Wϖeb>U?wTf O2$g DNhXsέ w!wQ6i|O&nJر< SZCn05{@IIAV>^kJȥꐨ*b@ԍpރ15.Osw˖#F &&e^ԁ'7 S 䠄#b"9zdݟN}kdh͋~^X+ pf|3*Zy/KE\(_؋p$!QiBGTY%!ޡNcA(fq\$X jC:v G47F^DDSs> `$)5d[~9-:QA/V/p|uRLzY+ef[mNvdg&{ݲ̂#sSqb˺h6_R]T%t$%v~1kCz@ƘaEǽ\uiudl6xx`X_FC!턏q)BOLgXv!=Ժㄢ,o2:RkRb.EvP!il?L"μ⹟ILxn қt S^gOKzdv DR/ >M-T>[=l7@>`z!s"' $d,Zwv) :zHfH%.{UD9w^HJ,^&}r gY;RM9`_ v.o \u]iC.+7C 匶*,pUgI+KoKmVO~ 5:YVvYOr_"d cT-6c-=8{xrA]qn<] )m 0ABgnѦ}n AK^s;uNHcOLa1_%Ef4~:kB8 bwf+5DG=Z) ŬKQoT^j|O5ΊGJG&kSmOϋ00-MЀV^' 1TN7}_?f<_.Ybl?బR"kzh=> Vo+黠]VKy]56lF>}IY8//|&V_|PNP!-Hn=F[iR恇£l)$w#me2%b}Qr[&.$E8_5/?Yk+945n$v6#z-'wm+XNכ=o85Dc4|>|cš^v_{}r:SF:vPCNIdxLni,$Em8ֺC& u7mJ\$[)M*ئ]E"9f9: ;H*{A=CO'^u!xo'jΒ3Jeuct?=79Ĺc4UN@yCɿEx_W!o;%Kp=ˮǗPT 0z}{(`9( |aNKdѝ'6 ,9AT'|nVB&+ܥ$w<2D3֬ZghBgMrD{e9}knө]IZ\DDX( ծrMayG^y)eՏ~e}yF28vЎ5EK ZGl=\tpyz)0ҫ_6),3Ĥ9l\ӂD[(5 H)9]Wa_.1=XvX*Kq`*e[ '=w:a=ٝnUk[3Z<wGlXfGvnxw8bFIKwohrұ:C&kaT+ru7YpҪ6VggS88Z~D\ih,"v00a*ׯZ0=U㲣om-]q"'ɃnGa@y_D1/^-zCPK̨)ؘ d%'8{+=kaxm+\:mBfW[5ű@ޑe Ib6*Y֒HTL{Um78>o D!V&lbbp~S7\ B!|Gt .oX@ʟ R7ΠdTEg F/;6,PxU!!%k.EI:WP E"(!N46Uʢvq}oDⲈ,jɴ\e,O{9hg"*,#˝VgpSZPWG+M8gD:"9iv7&CU'#| %ʲ9&Х@/0{vs7|aU4cItHxCk&kIĈ)(l䇝Jp;jp:he&9Bi*V tZ/WTt|IE"'VsI;PW]I,|V$0=}0fx4tNjQti]/^#7ׅF55n <] 1El凨QY--ynJYD'w c7ߐʲrv<Ĺ6 J t.]]i]/_Y0+=jʪ1.^!lކjl|7Û`y<hb(a[ N[$B4]2i~5P7܉eUX&dd!1=PqaI-fN [h$YNG=cTтw];&KVg83k{\z"-$̆oԫKd})ݥVD&*X2!]Úb}uRpCs ?-zDbdYWb #%.Zqaio r)yo ۯiApu&PQ{ z| +5DfʎΉMMVã0wY(oظZ49= tJ|RxWbXąkƞ`c F8ٸ&q*cUs./o%Er>apI-k!Mt֙seړ6׼ zÃ<ҧ;I`*I4/^%WKԧꂼ#^@v{O2r/7N{uf^M1*q=UFv8;KT˯%6گ8WA@ơwrpԹ_B98\˧1ty ޽xZCC +=e'6ޛF=4OѻӺIXUa{7v?4SP3Eܨd.N:8E qv4VY S!5MOBtH17RU I.Eɩ'iZ@U%yY*х!Fđt)fr60y*q:Bcv٠`x|m&'{S:>'7NLs̢{7 7.흑u_ҸVH?9*ue\QZjyqld:lCa `T4<`$bX*#"ᵽs0ϜتN6m^2(_7fK4z wK(d4w!t>;⳻䥽?OcY,C"Q4G$j].DGN7A3ԼTIM@:QU[/\tfN|dw?/.7:#HEpfrpHBM1Ij%[fV&MI˳sV zRפROZirhqq-鉊kQFr}f%_<^ fR8"Af e]I *e ,8)4ns㘺@4Fp@>/bQV5b/Cr?Xƅdsw]TV[Mp“v;T *x["& OL $El Q j!IM9NrV-_RՄ$ctcgW%}:\=.; j)8WfA}6jz<ӽI=Ԟ%8 {Sss0K)!S7_}Uy&berm\+ӛ 5}na(b]]t_f;0}Kwf9&;vUOL8*>>DƆ2SʬaZ@O^ n3|M{gp=FΕVXg .*=aY}Q RI.Kujx(RLl C.B4]`, :#1 !Y!qn㱊|&zU $ԳI&7IdYx;͔̆#2KԹGꎩ-PC`ű}寒AK۬W[VWČI:ZRnrH`7Zj7l4AI~XnHf}/>d=uȉ![ WCX!*FW%[tLLΓcfZ%g|r:K|]E]= ƞ㼖w\lŀmǪMc}0os2v;7:rnǹJ4 GW.%">ĵd!>sYWպ'6UvCINAPɑCV{SU6MK`ݘfS>K{P!5mJG81956A'6!*,P[bo%ἐ#Y1$*DY/%$_ #5S8B\<0@"nOߠ0)bbapLU Vt]Wب MƵ2T,[dlH:XL-Tdx;:TAÚtf5 WęoF7Z12<+z}#2snd}"ۙs׮~:T漙>-g"EV5-:W,;Larڕ!4lJ ZcjY@HKǧi-܁ 9>).[D \CEZ-, 4;4 FVslEWu͈V;}Q+cU"O8rt `͸SRJJ}mh Bl%du ¢ۻ㳜V(4#mI f BL뱐S 4fCݞdHq4*'㖻t,LVKs먗O(z I.I}*wq]<W'G;oW&$Nwαi=|O.9v~ C Ӣ`7*w_a{HWlp/o9So ]IypMRL9kqMw{K+k'kg rdJHB%#[?˯_2OUsUn0x,tBSSgFn^Z bya_,UM$$WPQ^˳G{ώ'WȴWVadU͉*x> M wA'A>W{^tOCNH7ioZqˇtʺH Yƀ*T&-hH0:HNga*C-a"jb)aY b>˽s1xsE2>G? xd=t9$NPj}{|nwd͛b@FZ/3'/wI(9<(<\Zmz>әvbav@Uak w??)A)P8Q :c`a-H ugi:Z|FWp^&f9#:^$[[Wk'hLϔ¤.Rؙ>[[ r *GCL6lDNM?'v-٤|!n`h  JY2dxD!%YeӲ; .$k>5E"bޝA 0"nɝ$OĚV`*1;r|=x~| qaE >uB3Ђ)04iFvg)uFf+k69Ewtc/Di9U*M&Fs;yuɷ~,+n7{'l1clQ^y3wd&!Ĥ߁qΫetqL`r2 ʒkH&!@.Xde~~0qd# >^D{ j bk1^bmYk7aѦV7K.c".!D]J,r#VMd~*l`,~X@sRc;U>` _-yU\R. xZa+uSkp/5+rjHxֻ-LtXQ;QSʪ|T*n0N-Yg_r~2u>?jƌC9-Гl,}xq3)RZ1 CB>Tk~zbй[2j+c+wk'+_t`V(UrˣpԎZp Aҥ奨ũ5J]kְ&^(>H-aA1S땁Xu9Xܧv)ܯU,</l&͜_imRrm箳:)p$)(;R6}LMB?IrG]ެ?0BHIOr1DH*enlu<Ϛ ]ƣ=Wsrb{|;mք\1=*4m՚"x[qW)Ơ|kWҸ[<HbAhy e|q89']k/y{,\"&;hB|x0»CsYS&/-K+1>n;X|v=xe tOă`=5@ff^+gv PfC}}5v r= ?mQ @ȍ ^D'x}{V2Q)"n xGRz^_1F])Mۯ%:?rM%G,ʹ+teAd ,!cK>_`OY5>D$> ob8GUVe({y x=">V9_RD1BJUs]O9[\dU҄8%nu]cu1t1qZ2?&:Z".} /xrأCPWy)`ftDI $ ޜn+hψHoJŅ$JK2nwoHƆAh1& > PU2d!3?>#cnA!ɊJQ0yb{%4!;rA"x2ݐ2Urx04/1J. REd=fPna9 q`CL/1 8z!\5T ~2{.W뼏&៘3]ަ0fnvhdA עH,"-Nމf<%Ndf- PH|ޤ͕Øx7P_m61$#Ԗ%I@[&̺I#Tފ/K,LJ/w hv> Q?#on(d'˃}%z~w8^r+ClVeZgOF‘_hC_,b[ګA єOy[+K6p@Cm@-qw|aW#!|SThi̞L٭Eu8kͯ#g~V5 V c!Wd{R4j~%i"#@yqRX O|;o^ͫr^DsLM&Ysp6>.Ю㹾`?_KQKEi7t{yrR+)B9e,]p>B1q|,6$N@±r `hHiQSfWD^lop P#J =M:YRDZ(thbT#xCJ QDH5_ks"l gsQ ;+fI6u :Iѿ3Bd }E!W)jD .:I.,_J+=*t8\*ef$WZ`|6;N̫ ؼPN͓Ya/^'yaP8UݑĞ u^+qeu+~گ?Lv!OP)QrvO)nvXd8ƺԓHv]i#Cb "̦s-&=Xe2 BgU-sFS.ͶꢀcROhdy10Zś$d3oN˒d l kEDA# lD׻o4].~GQ4(G `tcƄ1IZ&yS\VfMFM7{涍l_| (ʖlJSSDJhRT S h|n96jL~^%[sL}A/+D}\_hSxP]]K ţrĦߧNhgX[Ү!^Tew"َZ>Jp!U|h@?SCJB31 ]\₊Q<P"8hm0ə:+ nDWsԴpZUV&10p4YG@ŠaCj^SNp  #C'✒?y")9 V|:[O7iyܩ-1|pS:Դ}2p?ٻ`<#o;“p(.){y:3$9PqݺkHWl 15~1Z5msJse o`u,HDYLA씥cu'욁~m\l0$ϪQӹ5`0yCʌp1b9FDݱZ,6Dg3Bp]B0$8 "|6$/^T’wЋWAG*)Nxo5phœO$v]k=J߀1Bh,]?&u|h8OV꿙T{0)yA*MڶH ^N2BMӪF!<,@"pGF#?Uv+f ՛7m ~wQ6oMo_ۼ|zWO?ާk˃5_ۼk7O'XWU_7`xS]xMVMk0 onͷx~%K3:qR~d 6IO`,VHE$^7=Z215#y}>Q?P#oPS}'‘HrQF%b D1Ho9U딼ءHdQphTluZhISKA45 2K>ewE1؃ S^2 C?Aap J`0۴ׁ\ +!=3CbQkfI6L Ngg@ 4h:c óg5a?Ɩu"T[u2ї99U4 ?T':/&l /QTDZL1q(5ݑ~R5#kkz^ShK |$+JA$s6}I}G 0 /1VI<-k M잓e_y \'[$=)ПHJXh0"tGA~|1hR3C{r[vдtG';7 $(}c! $)PK~c-pՎ(T&mbYݡ=C`(E!h'}SXcu20vQБkOTL%U :ch e'dW<A@8OO_T'O_ϑ?G]Ȯb|6teXN@,eo}I+DI  a-ݱ^?\a(cL#(Z=oFS/a٢f$WK^Wg >bt 0d7pvW;#*GlHH:yy' Açp|?PBi`mn89I?ѤИw%HEQB\l~SѠ^ GDrAɸu9Eb>YbS`5P$Uyʆ'. Df`&1 Iy& P9d/Ea1{OJJ _z9G<:h\2_Sl\#(AߙF0BTLb- Ek7[F0w:#Uv6[ $j(đr2Ci괴\udcӼx5V iC' 6(1en*"]WɎËj4<3`ߍ؞ھG!M0]!^خZ}8d+݈w]#aj;mY_n0iep׵(M}J$}ތ7~5BRy[Zޘ-lnb롨 ~^E!ǃOFVͣSn0Om7BW#5AmRx_A+;Xצgِk̦Ne "}SvƒRxRibcAO\gq 1Jqi3%WJ X,C(n%\Aj{Qgzm~fsx> @Ǫk]1)6VHkC(5'-91B1F!r -ٞXj֡?^+7 K b0$Hǀf]e2F>In!G)D-qk b6j 9lN :WoT9X|)>gNTL}74#; %$Bl vP@$Omfif@iKh@ͮ њ"0GʙE_>! `Uӑo6ϮbS9 96˫iZ 8pΎ]:!G*8 ]~!M)) R}ٜ$ |u7>lϣKd@k!ӿDO 2 cbڰq+Y; M"ɠ\hlu >.L;8#Dn3{\R Qf`<Y/Q }e~4Ɂ=9 :g87iC/ v}wtRc*,R7+|EA5|iԋ cn#m%QL0vx8i2oOo/hד z09xvY)!]|8{ي[W+#$}o,||hj+omBma3Ѐ;D 3adP0ɞD5)Xf[FM;<' Q +vhul2e!YLSóHIޘ=Q@}T@4͵Zc{Sy?7(V]õ o,hY S_?Bw_5XЭ څL00/4,/Ɋ5^y^}"jk)nVV8)5O@dkayIoZ;TbMψ_}>:s4_cu>EFX&)TFOsP%oէbfKI&H%VJK Qԭ9^TŖ~0;ն$<GU)5h<:vvǽDxtp!qe*,kj)jIBauYtYGϿN)q9DwE !8B5&]|Dϣ'v4F^woϕFK6#¨?"UX OY^FL$@q^ Μd?>x4(gF{=8L*S/Xgc^r1|J3M/e@+ Fď;|h䞠wBg3X!.RXPC% \/BZMR X5!1.} ) C *E$ŞQZ!} G7ebBHD5q0\a;v-6ezPGVU1 )J)յ!P?oØR8/ =B&5:~MAEtUUB^ *ĔR߽1aa:塨ÚS14/#@j! !пyP[ }ٛ>vC󷐲;8a3=9 {l cfl3q!$A ~L6ʫ2mE&i B91YLv`H// .6lpI8LbdnJNv*2[>$ QeA lm,d11ؘv_kD}Va]]BK 8%ޕcGbwmv'7n> %&QS G6;lYڂ$"epx*(YZ@g.M+wq&pnsq"Fĺ2Sh EqYMm C !x}v: !]9yQ"5.#-!dX8w\P'QApz>zn[7Y@+r2;©_5/r͕5gzyVMON'pno5#i tX"_Im=ߠ'R/Rw}Z~O?Wwb~ )-ċxlSyۚm-e 1D[q<.xˑ.Ͻq3U͍Ȱ~n(5K(x1շ1{̧>a٭{b;t| ";l8$Q0g߿\4#ot=h ޖ|S2g>H|˦I1@؊+Ab4yc3bbP#Qoã ^.-a>6 ;4c#qy*Ň͜-P_1@(vJ_^(!BT']q:n <ۦ" qẃ y]~/`@ +9:e1pʼ}W7B_2q. Ab>kMGKl)+[Ld[00,mس`V~j&| (X"g:U@σ:r;׈CqS7r&*8e8<R<15[qzVuge&la ϳd-[6㉟ԇqnj.*KZ(X!mlKPѰ)Yq0o߈kiFj:s}/ߤ5aYwxՆSua%dJ>L r-k@]>`Q튥gWLBBQ>! H^a=q `p9sJBmBxfJЛe qP١X*wxbT.vpI ^5#xXL䎔%KzgRyP9J4j-G7<N]A{Pe3'HaeE`?Cqx14‰P[90gNeֲWuvЈaVI}C@'l)OO(mZX'qaGͱ% dPM' ?.eOʴ?~qxqV9U+kbc\<+#ʲ7pnSͤ$^ K%&%/>OwD .{^%h s8yg.,_c$O|BN?X"&ni*Ì 1WtfSKF\#>fǓ"Zོ>}~KEql:w|j݉趣&BW4v8lIzuﮌ͓ృC?п' #d=Ȉ؛B{qIb?iޛ-Z8QQf} !/S_?^zH\ٝp&G(4iC ܕiJIBo8MY,UUdbVJ.)3%7lJW.-vlD2-.Y6XsGmF-مUcmI,u-]x.npk" ACVXAGŒµ4F(X8[ fv+J`7L%B̕R, z5y3PiY;\ #FЀBX\,$UiY$%)[·Qę%d{WtAeZ^H|c4ɍw(DVz6a`fQPt>i4x!Fj}T"l'9R6y#4B\vRW+d/y 1^rU  d)8[(|i@@5(Nr6ןt}𛇜2iaG[,!ZamlТU/"?*u{pxb'H, ȲAW_8PhJw d < =qocvTeR/x'A-R/AHC l`yDLj<,:(Flpn #ܔۄBIQMWJke25J@x {BX_ӊk_qL<=7Sc&Jr ?^'yAdɢ^Ip,kگoALc-3=\#fȉb]. @omefCGDV1H})Yi+R %[R"iBʅ% bSkBȰTrWٴ){,Rf ̂ ~&-#Ӈ;^`AFb]U*zҦn5`nFIOlzÅ(G1)8LLOk" Κwj Ep YÓvgXBV )G)Q~aL/.Y`8'E+?^̎Wk^_*%^]NR vO#QBr4d&k _eo46s+g5PcO9aS`E UsR}vfv!G{G?^t)IXo4 %ʃ)r* xK,촽! kl}EU P]1oرnr/Khqb%;ߊ$HI4󚲪e+2MvO:>;0k-=`(YYSoH%"ݩ(ɴY4"ԓU87Vƫi=rßޒ*ŗE9,UXa[w樽 /\Bs3h]BY%&bEF5:G1oA)c D@D-Z-m$l+&^zyv`#K2v_:8TByRVK!17ʃ0oX'qܿ xP3k-EO B:w@NxDp׀a~\1~ǐ ӀV@X4+ztu8F4#$Mo9dsX3eCӮ&(P&nrJA*p?囪LBC 8Tu0MLgaxbpfGx&ݻT}tX-DZم6@Yv@˖'W녆Cw%?Zv+ߔPl Ʀ񘘮 v]1ϣŏ7a#_Uf$WKz7`˗G+j QuJAG{~>ܓOSK\?IMdGg\ ˂ _du?u~v//ShD+mj(iD;gD2_ޕō:6:0K):&]|7$7,Ps!A2RMNEor`Qo0@٪=E~%/O邠.nKB]BIkTP-B<SqXF MP]MݎF@ch^dCVU l>{^^{`6j !9orfMRA%HTfh=rXj$3ݪ$- 6УuYΤ*"cŠ|Bw*t7m6+PY Y(}^nHqcK͋Wjo ?|pMT"7!LHNI5cSZRp5M5:2x=Wv9Q'췓B5-g6e3߻P}.VbSd\h@럲*r}"3=˅+2(n5023_eXR;Ӕd3vQ鲮rk1Es"nrII=IY_=qW ](JvW640[O T[pTRD [6; g۩!ͅ3hi|aLP 8T)naY^Cr/TӄJ `O/!64,Oi >Jx@Cpkj&8\6'Y}}\C{|YWQ>xãnd!6Ф5j-W,B@~YD.!]66L!N}쎢N ?0tCckC*P.F==?_ΆV`G2391:#X!f<ad*dө0+=&rS!~_2vF:NrH6OI~e̪|&t:L{B.1ҲLr9J00BUMU@kpӄsݍBrY>ѦLI5%84<"-Q3.\<+贠8/ޞL~⪮ M ƣd['̂$\[9Ю$hUSU}$l$<>?{%bCy_[U4{HbCg:xL9h{vhf'ca6?XOָoog̈́4 ǑJX;JwwFm-r͛ap//cU&HZeHeu1T&3tp`C X}ErZXBIҜCP%!!TA9NF 5ZR.'x&bwMgZkr8i?,wԿ&7{#hYKMW}v0Hl;F{8@QfDE f@o: aYRAQL)b@V5N2pd"TlB]< RrTɆMLT8ڞ 3Nb4^+0^G( Dp$ :V *9"NPt/s\";):0kQSOcoo'Kg ؒ'*44hY`W<%j龯,[܀7@ /*zqDR&Nh{ƣ5/F&|\tG/(<_LCksDt< Arc|Aѯa%ﻣcӧH^T 9 DOO5l쟅h{1mckjJyŽcz ZAB:2Imiӈ%qzJ#MgxJ5سL2 ZzK!$fb= K@qїmDT8Bs15-7Xo'gt0PKk`f tCT@3χo-^ԚثE*[ϊ}Nde5y%ʈ\iM^-Ax)GJXg.t&u!Bջ56rHCc~6lՅG[8 l)(mBhA6 $?PRBs%*~G pHl,oԄ:͍-oJÿn% Ŷ@@$;SЊEkbu܋UaznEi<{)~ ūwuMW&iDNoq -رhpiVaGL }5&i)6f* -k̄KY qFDE%ŮӎKRkaf8^ۃ(m1C|iLƬ}UL+UVS!4b DaI]<3]&%PM~t1E% J_ sbi+ te!ԁUBs}('a:f+ $~~nXi֎e)}yP#4}8]\Xϙ1Y8LXfܦvWN1;W 9@,FCisC5$XbB ANjkk_i pm u&F1T}N[Q§lŜ W1}(V鮆e@f dcDH
I~LK'y7SmM;JjLߥIO eNP=,LW `VqvXK e$H}+4֞+FP`H(m^{՞ܺH1|stx" w'ݰNމha4dŀwj7QONR ô?D?Ӡmmt{XfK DՓ@ F/%L%b%ڵaCw__E ߀~rWFAS3/y[>q%QTY{ w2:{m 1lDÒS8Q*1PznɟՆaJÞj+N"ud=`~CIyy{d4{̞7z{^LJ3 F%3x+& U6Qc|+6?s2Hi^U Bp 0bfQp>rJ$EF!zէO̖ *Ph!-d4"cȄa.kLX:U@⫗bVZu[\qUkx)dCEjZ9{,E~QEg}cRTu^6/)?5uNmQVk6ѩ{0pJx %X4eq;X9Q3."Ae:>D߯=W75+0T" SJSUu݇J[nʺmK:*p.3tןtZ|O֢#CGm&_gh9~H61 Mytݾr.X(fs:k+uhX&UvA 5BؑMy9]:' Ks<+ʁpVkQ+BrT}"JEQS z+Qt1:XQ(䩼!Ά `^kqZk1[6S Dx7~ 3Ii XfZ-X_Rc*ME@}*eM6ž `긥!7s ƍQbb?iSfj*`BXA%CltZΎ{fl\.dS6EGϫBNF)تV>ٖ2H.g ξImP30g֣qxO";.kŠJ'$(rgH?RP椁//**.΀LpyJ4~Q|^/YWqa|eDEm~Ćh zr(iA. yC uGdz3{Ih*#Th,XU>̘r?ExfIHxSbx6_ 8+&Nj:/f$zncn&8X1HF1cݟ V'uk'EY{Mh[!og'!6'[ 9,0Op ~6wp0?yAE Ɠr b;t~]\Ƨ"1l7DD _Hqž>hVUxme,s-̵  b%?-Yu 9"9F2گHgx$ 5⿵#7s$ۃ{.d8ʊ`)EGzn>&*bMS;? *%_m`Q<-6U$OC8? { zZ ܊S:%S;K?ke 3b~0L\F75¡2~x@q;Xz'hQpьƊAUrmTi~A" w _vCYi9A$ XBl"ްՏYƙWlВQԪO{i$VȒa!Q;),SK/~0'`%K lˢXI[$/骋ܤwe!^rQ]qィ${M !쒳h~ @.9q'RsZyPG3*|W|*%g 6l}:۔WFY@/x$I V;H\o]VQX*JFAy\qMDu垷_-# cFԔ3DDI~n#VG68f;K*2"Zx&!eD $1 )ivF8}2E@?E1 F"$ ~ۃ -lU=5H}aZChG-Q1PIEns6MЛdncRye:w0J11mN _q5a"uMzh՜ 68EÕ8%;4;q7m 6l UTb2bR ,L,޵L˕şd^dF/[L{cǩ1 vĽa?oOz,c6L)G@ϋvD'td*_qL~ -.zc-ALiVpn#(bG pߦS^yl_MNE)KOR)yAtV3W^ ֨56<n2}!A-*R*79lkǔ9Ġ P5ڝs ͠@3B+YÙ LTř.'c2Fܜ"} Աlt pS٠R f\f:uLÃ/GE45I)H⪍V ;bMzq1"M23LeJ)?V*F:F 4EWbh]HmM. 8LӱX}f/ 3R8 rVư*`Bws)1B+Y9 mrgjVMK1O+{''Ǘ*.G(*$@C|.C7g颢 RsspߝNխݔMPu p57l82$ %F8cBP}~<16n8KnEZqPbαb"CmrOPJfUZd'Ӣ1l籫18N:,unn,dI4' 8m1DGPkF/DILĉ2taȶ`J#҉ *ؓ[i״D_2G!.U |筿/[߇ |}q6[v_:5C7}(~87@4A .MߤbˎڧGoVO5NWEC c^zUlbkR$m 'mܨzPG? 'vGn{eD L|(C?Hmla-R~Ec;Aab (y}7ˡ~4MԘTeƶR02$pnKj3 롶$~efFr0aMnj¿K/[vjxWsmߍ" ͯ#!߽%kcPc$^:m@f>>hTe9z 6zFjcopA?S'V%74?}HpHŪҫl~'ˈd iqڏȐw'aȦm{ i5f%qF5UZxsjw_su5s.s28hl^)mc{xVC jDK  D!,%;^,Z],|XXykNдf1jb "R OCt!89鮛P`/90 _0Q<9bli E7K85N}ǽ?kI+[XXMTw9MY5ذz;Ai-ɼ]\ަHQůGPS[ A 3m3mٶ}c0; ^=1iMN~B3|0V!It1`9 };nw)xaQGԶ6#f7 p099 8 kY)7)C1 HI꒐Rh Oa9G_y/Ōѧ-`-|w&y]h(b ޗL^򊜐|7ʊ~mڷ{¨LF>N>C|=== %Nf[v[&eqv rD/e}!ӈwW[1g!PfL?m7 1d?׼2t/!wL )o!/j?XޢJf b,e:  FFE(+Hg7 ;3f)v+@fP7ؓ. ! A͚Pư+y R+JB.g\>&JgHDۍ֭CjOZZ&b<7#).M[Efq>#~BF0thA*z̫Qh@C3|PcKPF \I3˓$c,t"Ԗi0i*;. }ZEM#1oqYZ84$NٴrHj8$7!:"5[>y?1NzZ&vDSyM;Q{=hT:ԣ'ܪ9ڹ!F,*U&J,Ac* 1k#Mb]M6Q[tBm#X?(n|x&W 5 pMl4յ"{6=u˼-Ę2.MxRY01c ]"wIۓ'2悛Wr[|_"bh شH{ʫ*DUNqQM?,U@JO&`1mtI SߔsR![c5|Ci(rC <C9p|!O8 0LU:f`x,4e6L h-}ED?O'_MX5ьN2!^.3#Lh+˼ۜuFBi9Ɵ z?#MSr=TVQV3J(\<*%f,QUA 9f ELтs |l\s%\ѣ!D~w xx#͌- WUbG}m. QE+-p(q)78~;kǂ`"վnYv;q|PBѡJ`V~hY~d9R_P?l X݈fڲh8nrdčԥs wxq \Be_@`X8܎PG))I)OqDaG:#| S`x+~dL׎}1=Z|ܝ-^׋aIۭلCe59>`nF+Atw}(':iQп؜N:)\#l HeI>TmSb?MFIƧ)͛cX\f濗3w+^:)KMSd |2nj2]j'ZVE)&>Hdixޖ񴽟zgaSˍ0ecia(+ 1[x[V"/!ԀWO,77R%!ZR b"nnB<kmMYS]`* Gc <7rMгgXl!X#Vcjg<[{y0~ Y,#ecmmTklxנlEMIO3CE dvRBeGM0w|χ$`~9jEPr }|Q6XȦ06 Z]^ha; f0D/yjVK WFJy(`2|km0V$ 6ӔS^:>ʔ'cit NHAqMwI=ʖlM&EcDFN(>x?#khP,`AKn+ f4ʌAXrkk٘<+AuJe-tYv Q9f)Z *Owg25+yr5Oa{ KߘR-jKi}9}RmCG5zKS%0W2Iwn~txV]J4A_j*^@S8[5/p(<ƄEſ +m@_OzHg9(7Ϳݶln` q]F ,<:}6o:`>nz؄7M 1&#S؝(}taԅmoul6/''̯yJ/5v. =Y@~|\k{vr=ےMTOƒf}_,,AzO)B0X*{YWtz<-5. xXBMww.9XpԖAmTy!uU\HK^>"r\fi TEAkUqtNv wj)k΄;5^K?vFYVUB|ѥ ;qz6o*VR*B^)bT%0fAXeA'S1>(a(u%xR@% HP̜t}zUUZ0ww" 5Em>OMX.Geˢ\eQRDG{0@|8:Ib?uGOFGa|rq>{c>=~4UG vC;Xv|a_|ex׆Ɔ"Gɶ v_hG6ɤLleLbeVV aX2`(tG1! i')oAzaC=eSNB+fw=!<~ޅpW T3^[c'xqwW{m`q&'p;%98JN}_,|6lpsI6>tMb.L,~Rqrn!89R0B_BJnb$X .QPc徕B|Qԛ:T^ >\v;16ƚ۽%[S)J+ 0>23?܍3vFF:cۑ c ;E&Wb=u+k33SC7̮BEߒiE@WͦS 0V`)׋U~%ߞdԷO*em9f(.Titf,3NDtncSzjƒ(ڊ 3rH`Ŷwd=4+[j^W_o;[@Š( §TP`uּ¼?1y"/u GhU|J3ڢf^x[UW}MaWMo\ȇrzl.`ʻKLz#5?b)=U{JI~猾>[N| f|:\@DU?Naw@ļOv5h%# 'E߿j:Z5&ebHZa IXokACgݴH8l GqM$dOe ^dy):Y@8?yCE ,T%=l'Dͬl4LJeN+~pڄ1t=LbuQ(eHu40plx822e,3㡸  !8rܖŢZAia* zpd*,E~{<QMZ^b:06wP)5v.1q+`224֒tRK@wlBF `Y!k0>H kSQZ;ϷtA UR˃)RAoOj&ˍ0wEyVrHZV٫=Be?IFc[HEN-9Z zf%>ߺV/KbOmej)vDwRXYZfNP43~$EG.K>] 1 WU [G7Mk,$oDIvpp\6!ٚxC2ckJB,1hQĥ`fo]7WwY= ~m?IrfzR|P{Αâ L1&]E)ڠ3-D NhUQ#F2c]27A@В"Spa@XEMN&Ģ ĊK9#0̸3;$1zyfm9$tUe4B($+i<=0rfhuLR`Od W4_zUBrEG>BSNk[泱 X0i"hwl]+۹jsV6 )qbN9M 3/rȮ(o:Y"jgMiƀ?ߺC1->-1 "_2eL/xYY7,5r Kh|T5HXM sn8s:'|K!J~J q25OINӯJ2ÑX5JؘʼʆkH;]ظ^G %hJ *ZY]ox/jΝ8@5%1+fi~M3yvߞ>ۯ-Intˉr&5x_%i3/D.z+ Rbn5S"|dbvRv{BXPvnԒqo#r\7at%?KGoJܓ3LGy*6>PZ r@byE!_mF&Oၿ ]1{}$8:fYo4@Gt kbہ !> !{Zp4^Ml`8U+BMLƉ8p" <ܝ [BCHE­=;I ;k xY; q3@ JM O?4獵}b7e9G~]=nO^F@%be"4“݈B9F7],d(7(ٓoXE.՗^@rm>Il:k͟ЉT)WX+q'=8?,ele :C01GCΎ'l*Ι P: F.N4wH ͺ/Fin4& k)ZL3Ō3ӮatPIi=fka7^.q [y){M{ևme>&qʿXSS "x}_ tgUY7'fh=X2ԏkg?`1ZƫLuvEyR.Qng!.YBkvj{CH+AIqZ[!MB= zӣaYaQ>)kPD쀠In,wr¥Z+!@JH]>HL"3v޹Uޝ氄uCr F3)N,Fgp|5TȔ5 8oE.5m9::NxL>ڽ]'j{9o!5;ƹ() Ӫʼn kmX_e#-e1 c4_v-&SV.ᬮ g |@<{ȫMoUCqIcA!CŜ*~Z{SH?|I'V=x=銈%SOΚ]i9|x?fU7df>h# H!&KHì*:]+&0 N\äH9T3OUZl.QBh8g}"#)e}U;aI:DƠOԹ@DW0@>\7`b nh:n\r\HpӂJ˦.0@VrTDbjYˣFfF[O5iۡG  Cj \΢'ӕuZwsq\ѵa/Qއs8ro`,1_`T.Eg¾"j%h:1w PMFS-ˋ*5BhFGv*'d+ ཅ4Uᲇ/3/FgR&< )3i23 Z`֘h^Y*:;3#Bފ`#˫6eGHBm_6U97#` ړ ٛd4&vk6~G?NX~?_]m'``Gf@f|`˥Ie7o5KN$qΕ7^c%(6֡a~AVK ԛn&=bD8礏JFi|ɻ%QV9$6TG@oqR4wzZ@~}a JpCq^LO&xQтHdCCݒ3l Uh`ו`yi:Mh!Fގ~!כZ`cg5M-̄.3酵ɂynmDYl,jFbskNp@; qj DcL gS2 깈ϣeoa[fCϿIZyGo<--H:e+÷ ` x = XvuQSMenwfm>w pa&(&c^Ebip{6~8Da:8" ~}.q0x ݓԣ]Pu@p`+ WՍ]5~? Z.܇0!K:x_ʨ2 c̰˴];LkV<{"ux\kwiRQ0@ m0kGeѥ k9 KG+VC I+x fk8wYSp3R&UMϪST;յg;+ w^1Hi2ZYl,a,s~J ;kk?X["-Q}9# H- wqTsX~1K;cXAB,u?8R{o+KRE\<-nr@{eZ쌀o4fCIm.'7LT:IΎ,.,MLpgM~fd,GjZBoXf9bMtiphE#!Ƭ̈́\5\[OLQH2BBhMԴ>*Pڇ( 5ǩBR65759.P9Q?Gܿۥ48L?/3NVY;kZDTɐj\I%QR=='483tԃn&CH؍Ҵߗg3|bf3\!a.>jDdx2\Gd|8 T3m0#B]tM@xɥ;pE̮\LGʯFb.'`IX F&AL!`QX\Wji߹`<: [לr,DarlPoR9DVj2M'!F) gO% BK'I]W[ a$!j:R]J2 _:tIs ž.S- Pjn]ߢTijyյйf2ѝQYⵥ #\q(W@WJS2XE8^8bݡ1/MdxCP5x\:pXO!e%z> $t:1lcqhpDI90!~6CpHa=gzqt y>?v!U gCS"i{Χy|C󇈇O}:-* ܙAֳ,5ܪgV~8GrkC103dC.ZpX 6`$<@iچXd(8/bd{/iu7w V,q!#KT{~VK/f4A$q niw}I)مA:QS; w17Cw:sz>x&¥-XAW5LVP%E|җö@ v<ahd-p~ W!taPMpT 4֑gq_XGJuD;pc!5{^nnUx`!ث-f 6VU4hIre]N$;"V];=dq#kEëuɡzw ` V^q, r{sj(^77G?65e r 5CdzK';hC1g w)^մGA%N5/T>-g!〹吡>g_ɂF?xPϩ.bgeWB|1SE' q?) n,!ѵUː9B)ز^~3@tPyz{e^/^f,'ma'Ϝ;ݥQK!HMC4AJ?1鴻loUk0p]a7 V) v,(8g@za )td#`|kUN;ׯd-!&kǃ:Q2M!jXS;%Njadkh de)i`֍ 2~VL=r񊤄WWT!Cڱi!IjKO_"ߝ Ö9 W(T50;ooVr pf;V+|& UM^}5QbE#/2Ed0=\W*튯iTrD9&7O^@XuʭHDm'Wp<6Vf7u`i_"#-ǵ) n% M'էK>ؽO6Pf`"ŞR0A ]Эu4N "i.];b%:l6*[ܺuѡg:~\;lng<^;bOSz+aZ{^Tܘ;) ȅVV.J@kuoFֱ LC 79tzEcrϔt /M ſE7zc4FR钍/PDƅ0b}|Cg2( ֚]87R;v['{#Xvc xA˛)n7Fo婊B\O= ,Hunm!dT.Ty ,>`WיfX~gXt^frCa&3-&|M6P0@ L]s ;rwGw%M=^BYuG2Ԑh)C0&H?a;ǟ_Cz^(.BW% Abn꭭!@Ɖs} |twj2ʲIbec@4j?@Jw$!Rd\ 7]ZhǠI46TkD$D]M'^PETY,•5S$\/\W4atqw]HECC= M޿BfU(z2L(<ʃeSť+= @k؏&XLU~‘ l&8}>ZFVÆQٞ){G t?;-rVQsU^ =E[dy1e1j *}:>_ZYQ, 60")'f,: I_a?+:/K}XӏIOLZpdl'!>SD}G%zU4'&&Q^,sb΅[ yQ&u6gV/]r {rOLɉׁ>kF&u0!L`({\@a:L6?3_O&ux=_m(DlSq|1EQI^ +vp^×84-kR%5;A>_JGQbPlYcӳYO0ƻLU]R@::z8ѳJ$~RO"ThF"*G Di2]uhuk^c0u-A^)[VF㛨\Nw2.ejB}0)2@/"hIU@Aūt< +`S ֤}J/r*1ڜ# DDW}SeaE;Y#ps3rGZfP w<} *^ %2z ; ⇮ S*^ULx^SXVi IU餧_8o1K8v42/ \>o4Z֤ lt@X6p,a\D(RVx8lZ5DqC 1N*S2Vԧtj?I0{ӟKC'G''yW,J05MpmDگhfE;Umx7ҴÜ/d0AGajG^x+16iq' fl]w<7+ ɚ#@WeA~dPʇd}>4X\૏퉋"LN sZa}4%okY" ͏WH3`H514^õ@7۪GLU~^٫Q!ֹJۭ c' PBb 7_Nd so:"p~]区9: :wsNV\"(`K 30J@˜:O5-{} r'kx4"M n}î)#.f..=]+RV&"$ƙh!]Yyf+D. RB;6NiΪ!e>mVhѰ a-QE[@IZ 83_]pxVVPb.6kz> aw _@s]0לL((Yl;{5ӌ<(5 v E"L4b*lny @xb0Tft`7Ad0 a>a`JVג)BI Fg i NE<$BjjsV`HwF]12no+0q"@3Fb&0JKd@'>+ 1+O]7 X-<8QP[F]& ZoώO}f,)zrz~qTt;E c(s21Sr޸]@NlA߰jwH<{HD˕@5g^U!j=9:,mo򿐱q !9]ܰ * wP\ҟs:Qu=U<@jv/:-!wKXV Ӌj&BRnoqQhԇ[ŀ&(n{ʲ),&%v, \G6/X[`vT ֈ}. MNH#Jo GCc ?d8\I}RhOO_m "q5yX<#[.Vb2d6xyHݭomȎno:#+! 7O`zV%)'Y `e 4jqxCžih́v)ӛX ԡpGCKm;9<"ƦQ윢%k*gR~א6mS8yeXb]q9Yf ä;߂k5 Hq݋ҜY:e0r0U;c0 !n^yߎ 9=[;KRk2f 㠼PމnAK=^`Z4 UA:mH?OsgR>YU9?_*sY1 c4A\նZ boURk!1QKϜx\PɛEv`U-豩#t"!b,8m$@r?JXaH |4;_Qc.DH)e a}*ȫUiX.y:bdX<\a-lچ(b&%C#yZx6;L)H< ."JLjDU݆\_P"G囷[)ņQՀGF=z{[&>ǽ]G"y3qH}9?j)K4g!-Y[^?U=3LeI.?ʥ5 | UΩ}͛{Eoh@n uKNP8k2ЬoR) C,7yk,;H ,XT`bPhԨd Yl4bAF_1٠]Qwސ-H.+`Fh뎆C.)}/sU}iax;8oy˺Yp_d}@c')A)0;I/ݐ-OQc1ٻ.L0LBsOXIsO׎v8R|_ʂ\x&']G"/.,)9 1qh@:Cbx0?FX Xk=G]]k/w՗bB~5՚wZjX֪C+kɾQeVf@t"QJA ;4&"WO~UcFUeLP^R9|V V 4iܯ/ S-][\UeqW['JuSZ*W]ZbMy=䠣uNN/0\e~mB6Ezv%EOäJmX 9h?lU{M' hjP(id"j<; t;—!q G&0 9n`B{CIs"a@C 8F9;'ɉ3\"&RE G`tpV0=Hd$^1R8$uM+h_t+ҙFjuv8э hid\/-܌* EGaTWjDa؊UֱX>Ni)Ynt|4OT%PӔ+<&!pr TOc:$@]` UV:Iy]"i>B 4EV1N/Lm:cFɈrs=U*#C#9lJ3Ӱ. F`8~ _T| BԾ. ޢ`5F7eSZ[REgh/#8 Ix?^hm?ϙy(= !x>8|qЃ": Y< ɝΎ\C'I {B'J)YI7ƭnBѽ nKhAqB $)iB5UA7 $6 \D/qCZ# +  'ZVu\WH 4p u\dڧREh2x1@,IN5xLkvo yJ_H`t@NFSz32ih>b,haWɅG~?zNtVb`Fz.\K d-_#dLlUP0u+%J58UT,W[{-rsZpX1\q@)RNGIAGaK}/],+a]Ԡk[ɩ鍕!U<%,NC$OUq8V8YDteI) rTc l7:3m~0]H#ot4ުUĨf"4pd(KqW@g4).}okL,p6=l5X'!- {\΃2$Cڀ̧.uI. .k aѝVeR(ǶߨM4x]r0q.@ꪰZv;z'j씲YՐ(2z4uuusm :uli^Irw>ǐ l^vcR~tV9r)bŽT=ʃi><"MӉ,H'#![kh my ^0 fMݫtՍټIͱ'Bhd/G4BdJFgrHJ7NQVXZ$IPƜh?@UO!uXcv I: ќzc_ԡH^_stٟD!&BGj[@̨x\.x6%j; CD% &t Y"dwyE^dZ)o>˞kp9tlw (NpsH@‚+ yFV!:DO2~37ǰ ^?{L v[8H?aރ|Rm)Rh/_V/x eZ%s`_ *!_Wg(a^qG "6E\;0bp_x;\O> y`ֳP$ tk] bZ5 %& (KL.|-&ͪ/!zV|h|B j- @J6+_~ӯơUDeLϨX8[F5sDg"@֠y,Bȴa2DY@k:?=v4N!as45HMjTrEpbiQ}A ]J˾,bA$ W!X̆X݂VcJQÓ't ٦1 @ih 2;,IuJ=χ3V;|VSTethtx9M 2q7؃m-FY2+̜f(Gq7§VBPCPTՍ)h6!**u7Z㟀~[E FpMT\? LIru~Dtr&uahZ|%m;A)+pQH GN]drGvɻ(4Ut ]`U>4 Hݚv(4p.OKUɼPtw 1A Qo3f HW#bpG[$]4XDPiCBD:u&1H˘v2AKF($\G:8Z.F1k;vŶrG~ED@qH~zh3`Ȥ8t2CIJ#@a"FM̲*K O$0OǑNeLrَm(~DQTjsJl?w襡/t:krsE1ځɋJ6yHB^qEdCS+A5> OO;A $22jF |:8zA4 fysah췃Ihb[k?v NhAw8sQglnjHGYx]|FG :0[EhKdvsy"- UӖ>^zLߏkBmQvs1m u9s{𰻙}%ŧf/]@9I͒4M3]Y{p|9 BV.gDdDBɅu!|%-? C1o:9ggY^nd!`KQJͯEJ5)N NG #mp5V栛cYq:<:fNMx&_17a& q y v^Xj]U@v1}a@m3ԅh3s.5'tP%À _V4\Lƃ־dbZyg0S zLMކ"/82L!zᇏ8FK$@gXj^kZAw5>)M `+rV,1xlx;=|Pe>mlnnx<_^lm~ssk϶a{E|{_Y2ӫp|UT.~/^]NJ^`^Toz'i=IUL,2A"*Iuvҽvy?n~i"x>GF(,~"Es'8>= ַ6ԿGǖ\s!\1k̔ >N08^npwpb!%tz6_AI1ڗj0=H.P@K uGB':6"6xrr q|Y+^-X D)^kjuJh {zЎ"9ގSq?^Mg't/)7Q g34x71':%Ql֓`:xuU׆2 >G,V%~9Pb`AZoE$톣H'cy?4F5rlc0u(N^)wE8lEi4A!Nƥ[C3w0!gնiv9 J y50gq=E)huGJmߕ2;^*(saoЎ,8)_5SaE;Y#{4Dl VhGp|] ܢĚH 0nB!##Sc2WC4YZ-n2)$}WoP A:{jL@b o>\A]Q)H(Duf67X:R/F79,|i(\%jVG;04,kÝt[aqT6@:xH;W>餧_+]?X~睪MzyOWIW0zG}=^Eү+uiCۻry19Gtb;W-[а6=".'&hҦWhT(uJBNm4fo\Ry5dVt1w Bǻ9jT3B9%Бh1Uܣb,mqOc2;o[vqfC\ncΣoN2fV}r[ZMc?M& /k:'wr79Z[ȓQYy ʩ&h41;aq zV2>ko:>PԤ>j#@!FrsSp7PT(]%'cy]o|8jh#Y~Uǻ6w6ǺM) r#j1W){FC#/­Ȋbq&N釭D"I,NB/A`b]8El0M,YGzȨ2Fn42킦!AC!CLvGoklJCjS`n%vm|XNՐia3lh9rz^"vK9&c bY}z /+ߪ9Q]rꀮbͼiH.Ũ{+Bs;6_RĖYz;a] "({!L3 /Anr~{39_xdi f >OحW:ۼ,5 `X&UZKaLVaۗuCW%1X M_!-( i h`B@pxϔ(Khb v}̾mE;6-h|)`m-FpV3>ـH@*&U%ً"̈́j7E!9uiպ9c3r`eYvc`J+?UQ#wԁ`n4fI8t}x'l8K E{A>\ƻMXָ]jknY _YG4D8vlce!dS\^PhXY,Db =@\ۅ8E%Yh"np[`mLgTl21d6P1WAhхP,,͏ގ}s?.DiDɀbr*a}}CDť;j5E(b˵'/^ ñFXD&|5 SF@Q$Q;"9qQY[ ƛ@7샹Sƨ?ڛ*ml7:@wռuo|JUQ(5*qOE tJ_A5by`W_A\_yJiy-e(},2S#{My/GZz#BnXМhJlqvŬJȣm'ނ/9/7k䉣dMSm4;$腓P/S#6O/I0(_lv9^lՁss5J[[W@1MQXk$L(B0cݨKpsSu}2@]ؑ'{hyۮFm<Ydy PGſĬtnMkk9jzbҼ˗QLjm(XE K hY/ )gT)z#(:ʖBZ-u=2j;tz͊nA+5S>NN.šͭK)|¡qTxԓU=ˁY}ya7ԴDm+{0Lfԃ"Eh4~@Q~OxcàcW{awQ2\}6,d}>)s}Pn I,Y1c>=CJVl 5<%Hzqt$饨p:l#Igo4-03%fbWޞT{L͢he Έ>Zv`6R6EkਛűMH[V$IP$0 {Y[|ι]=gך 06l-0>:鸼0^T[mR X+PRX1)"搶AfuH`9 齌~%!T!P+ %0NӖF(@#q8LѶH`oujko~1yPgj;`t3~sJQ`j cۓ)X=}\UNޖ ҐE.` H`z8psozzftjRtmA0,8+IX n3aqt@7Wqt$ ܕ'h]ZW,7`ާ݊GيV"jꗲLdQhȪ+P#JǪw1t8$GU ׎>gR;X-6p_ff [hP+1J<ތ|,ªR+-;dU7jݔg#lG[CwV2GW/7\Үv^}߹Ei\Q3*t `3PrNrġ]Q7H,P ,?_lzP~;;]Q1B]J T5Qã ibB,Xv$P* ?T5\W^fvXKąNni8Z{V(1%=۫QP AuIW=Mm[xOF \HTy80-H{0Kf G.g-8I]g |ViP4BF |{82$i-$,xȓu'A7z\I)Bj .c& ̰<{`x0fт$F-3R?fItX {DǨ{'l1VMUlPL[Ms8+m4.1j 7w f K-id MOK*ccg診U)&&;;n9Cn /54lN>q2(]#¬{"e΅a ͸+:j *YB_pϽ;Rw;1G!Vf\Jv5 >Gw]5s{LԪ`G/U"M&U\ x5`vP%9]>s6%xhӕP߂M|46”7#CJ•`ޟd؂O .$ZpzE;azp݀F ٘!1`-eȖo=-=p^࿼-0:E!'yɛ rt8ĐE73? ѥ:ԒQ xf@3>.)e 1*yC}T8b=׊h*(r04z.gG~̆eӰ7zos&`ηJ.(V({YR9x3]K?<4,M׿5Mn~ߗW<~(T:;)7z>+rc D$$ۗ$/>$ MQQ }4/U;k8 ޽{0NEqiP0arlW\ wZԽMP_]f6suvAMM!#166K.+q)Ĭ^ =BܿW>L,{h:1G/W0~pB$IO_S~3tSUvaZƲ^[/^Y9 y1)&ҡbg4W>JX5Z/[Yv΅ 7ZG*ZvtZ Ae:E6nlxR5y-貰 MC;p7)q4ĄIh ;^k/BM@ؑk5bjCܔ#eP9O*i2Idդ[3GLL%ZWs$N)22NO!8%X䓔C*u B$F#bonQΎ&F6 2lh$^]G͊3l~/hɅ#"1t'݊EZkn{E-79}E}y˾}Лdm7]s!q= aE|D#Rp G N!bk| ry:y-L{iw\՜ 6 s x1炛7K:|!p\m#lM<+P{h K1K`k&8XCЫCr6?] {ԽRlxwdطKEkkk]w n^q}ZzXH ^[cx9Arh}}e9ثư8 Col[H-?Ջ 3tˋ {.^ӂHMLܖU%U+6]i~ç΢7oyDZk7bǚf}f{S|ͶHZt?'\ȃkU3V?8(MQzE:bm&3p@,YY˜aA{욾_"C$jdN1h !Zr8pX{o{ڻwe.:qg= >Z##4$k^`I)zȕ`e, 娌ݻwF$r&b9)w u^Wґc61ԍRkcژH:&N>9|I0߱9 $ƞ8#lWwڄ΅e܃F5Tl-Om;>qY'?5/$`Dx)c[6D᣸Ds:XȽnՎ"g3Tq-У*[x C)7ˁIX`܃UliW0fqZat VX+8 9bu<`NB#qbrC\Ɣ fBH HPl4Di>5M> 0ԗkW-ǥܛ0*Kϼ@/kJJ vTe)J]w tkNg'P6q\ ޡ(9 wٍ 7^6 "?ULZ'%͕OyakII@Ot,QE!^% (QBQ />}*%Ժ{\;.wFe^]xΔe0KW!=L/@ZԈqZYWh/排>םqsۆ-Ifw(DmO|O~]2v #.oE3J]c Ȱp۫uNJ#^$['M%y!,_]^>9.97 v)LR{NRYwW@Y٬MгIz/޽v9Ĉx5i3&g8U,"(O+ƘFx 6g/ͭ 6Owg ƪ+p8 WEa'|h,ȣhZu'h'z&;OYNe DTa Ջ0UJ<dCGcHW+F0 =Qs V}\Oΐ 0dd{~{9z94g_l'܊^Gk^͵ˆJjFW@0C>LpC,kNi/O{ aB6]_.-?Ňȡ>X R,1G [@Y 5{_ID$*x˵!#M!Aw%sMғځ"ub,Te-tfg)AJyu|Ɠۨ<9x<%sfi1%%XiiQ'굸@W$2@wՔaX# NGN@ aJj8U= DrF 1-rd Đ=0(%iBYU`/W{ g' #8U RnlGUƛF{v װe^持?{SXm ;ŗŒ)l^5xl"EڕDEiSu<5Zt5-_c,nݫGVK,&l3sJ?ExfMUlYVM6 %c1 zcz6&ͺ_!/a< ;audM++Kwk8[) za#OI\FQ|rOD(Z wP\\3qbL{:>$H )2X9Ksኇ"Ӆ ᅫ8i^0i.h@'_{v 'WM#&1o(Iя88@= v9 dJ((=oкctII6I4 ɳbK֧XO"Lcd# Z{{&| rځ$$܉;S/ki )`U{bl_T]*{YOR\3;S=jQ"MGPZ}>J?1o͍GhyãoQOtXʷGqBst.ծuZmI~?9];_*0lD0kUY*U69N2NauTZ{e}t8ͼGU6`BŐ.N{ՖG{~Ѧlj{n7{Ͷ>c,~}lv:lGDj߂v 42x||RYq(\}L!RN{ |S* T|0(ȁ:>skF-. tz a"gUaYo44ub6Y$w6r hOrcP8kP+A9a CPI3x簱gqgb K`GFZkX16ZJnKhz,6ͷ->Ql> bj^g -24.;2Q!˜W;o;Xh5pt׍Z{@k~Ǫg~e9n778cmN&u1lڙ0'B0M/K{p(_eivC6!ԋF[mCYcp%>d ±<aeD;d{pdJF3̴L.4\ɔ}<M(NB&<ƕ.d1ҁt;ddH]w f&N4j^-ZF.r;4(mfLYT _h-53+`cgham%}Uݗ_aS E6^j8gO0;Ѿ~]ڍGx[:th;n/E:NTϗOl6昲է.rR8mxE(Cםy䇔2CZ uuGs$ҭ&{IwhK0g?ض3Nٕl<[ &yqDJ`}ˋNt`~]hƅfr;#fm&u8ZvN: ˮ \lM5PAɲ6Bxu9>M (N q#WY@ A)~d4;ϋYzsæU>3L' MD%{ ,jn9luLuRsjznmnLʔRWQM@uzx)1x笪pM_}1hoo-}\LK Vy]qLz^C/w=;I&-J|#,39 5%ө݃97g| Γ3p O~Y^beD9:1.ӆ=:[&&PD3ڹ:e& '$#uITLH($Rj"gwm]H4 GwD,8V3J.:Θ0_#f(!orX($*ԅ'A=J5]t6(\_3>&wQ`F GLj=_sɕT#QMjlNFI|1eF'tA(ni6\'yV5cDT `#@v"=rh 5c'<9]m4iQQ+8oBʆ;d_yHzqIN{LKM/"k)ًu]Jspͩ<Ȭlf!.KSѷ4s&ʶKT%@ b́Ֆ wBkN)[cIz.xJ76r$/ya`p:a6Z V,:lѲעA7\PE'  ?z@X09l,[kn"9!1cx$-zJP3a7R:%+]Nô٘~}e u,[m?^(r]!w7PN뮏n=H{w1ߊ^Yry cDUe,Tv\jEJܤlbinV  *wg>J4CN&1El9N9=ߟS2VW.;Yı(9=E$dgaX,=΃dR+(KVHvl7 ?H45as u[g|=>lDwz>Z#u+y΢[Y ȅF}yʣ2 {/|΅>o|X]a=jzܬQ 17A I,c߃ߩg.%&YX\Ȋɻ$s(<0 cT7reK1=ޖ]LV2q<d<@ ɝ9{B}ͱ|hΑniI9YFeۜNnG HJ#\y\-#ш%ڒ_Ă\[4bWH~k|͔VuLtkKN[$,?a۪E' aB]Tj[OCC0쨈Zwt{66R©rSy0Ɩ``9A7,w0LMl@q/Yg']5pce-vO6`: ,׶qR*LPb G sXT Gq! /nk Ls:YI\Lz9>kF<9x^l:{,y7^ݣQَOi}J~NW>m| yG̓c,gau'ƺߛtCVvUok6to~o/ۍ-?5to]kf0Fono[?=7z ^h-&OFo]kno:7| 5;]\)ݍQQ 5wT^3E6M@.S A =9€+2r$g4I$H6C6@㣗,*(&SP@ba~!~[|ynan`;,&{;Gݗ;md}&ƨ_QYKnu0Lw7Ӭ;E*sW7)ܵQ rMw? @l|-J{_a 1IB<=&d2j!a:X?ƪ +b2E KQB;*\Rj됅U +ʆ* z[c9ivcȊJ)cH9W7WK2ō2bHfWJl'67y×F;jiZl<{Mٚ+ƕ™Co+p· oxtŅ&+:{CXƗPk,->Z`+&b?Ӓ3rFa!Y\^EEau >^4LۯE8n;QQy^gpU6L]ba9L󚉘~Ҡ=܊VVWmMZ2.Gw}hc@iH&!n~!jHT )K., p esr! a~1y/P|!Mվ/c;6=[8jD*܎kx10A"*$ L6jfbCdҟn͒om:P2LMW ŷ= 'WGcq]o<=ms2[s+ud>u.4ctњ#kOEw\OjK^,3XBp]8rYރ-e^{zw$M~KWI$^h(˫m,v R07*8OidezRm wؔ4s<u\ʹr+C0ӧoqƌ"q'{Xɰtں{GW$Fi.ɼvDJ D'I>+:=շf=(d4'-Ck"G@]sBم7 ͧfS("V6m!`HLl9KNUwsÁBKDWKAq;Vo un"(xl~WGJ|jD)<񩴱=~g,\p!r}fuJ)$O>+SH ["_bӢ'xkv>"[KvVL/ٽ+SOLa2׿)iNU:ao_B-3ZkT|(i"P9:nŢ qicLq %=* yT`/1!{Y2c³lovGﭺ,N9Ϳ7۽f~%_]-Vi|*W UBYum^(]{yp}scDz8W o**OWQWޓadsSz J$v(eEzT&^EjURhD[{7Z{h>`3Ӏ̑謨ˎ"d2g)bL!i~6Q3G)Ϟw`91 "k e }luӱ;k<RYf|~8,gIQ9%̎UDw[rI3źT|{a3.R]w!¢a2=^ vg"*a&sD2ges<(JkA,v ub;*ˣSrZOzbi B`PGU]M|Gb#[ZB {ߊvmiX XݎR{wpKEgYw], "umJTқ3EÆITFT4=1*ldY*(fL5Ճ3nU:^ETI\Oa"xT%λf,3;GX1USEWHy.7?,5+xboHFP0)(>fmXX%;,!}Wwkav}(.fRV+sKZ^<΄덊 qsp"Aܿ鷵R9Ǡ;Lf<3Nͺ^Sѕ[?oG^(PGb[ ,1 [vKxiYZeYO!Fva-]g k9b58=F@7<h&^Jz}6Zյ wT'FU֍;qWqƏb})< 6s_Bm{; ҽ=U8fM*%D5p-'8zglCO{|1`0W*ƴL9hŗ@UnWy֢,"vuҵx7/V?~}U= 4%Z&)vK|0YYoc[(qh /evΕlDS4#RDLb' P lwi-M׺~QV݄rjwBXܰZR,VD`p߮\zkXysFE#tq9:9PAR~ Stme?G2FntZ5;Y=KVΙDڭ4lh*:J.*\! 'I~AѶܨn`̥anXfhskk67h]C ql#QϖA>-oC$$](@0Rb2Ir"cI8+ҁSؾk~kedIq+-wa"eW6Tۆ\}\:v#L;ǹhŒQEv-+MH EF:厱L8gYPř+au;c5i't ?JKt^l9.kR/ Ҕy."WuS}ujg'rmg0.L#&'*<$CÐ,s3d5j;o͓-Ч FDpiM_v !4wmyƎyx5|ĎF-V9o7 {wu+hmVʹt@ݹ 8 Ls'[wRmpH`TLD՚v}ro˂1(=K0 4SGMsѽ8 cub9_~Ed-եt(Ogs|?!ρ[1(5;y8XrJ'\Jj٠ZzX3;uST8 %Ǚ)y /8u'/-rmh,$/8[R 3c#<>J6o/Յ+tyBS!ް'4ދnw1Kg ݍC |i/e6O%zy&sIfq;gΥ!wW5LSm=w@Gvo5/fV&};-r 82"f΃gl,TqeHBڕ]{6XcO O:0 mZ8hu;{W"ak7ka%A &Hu5c݀5VKUOV,਴;Nm),,h7Zt *z4h8lɱɟ觍tr^J5;s;+D;9k|3mhp1ηH={5sH8nɏ8N(|vE͡&z̩* UKW /Y}nܭP\u[mpHbgN\L\=qMq᭽ׂCɋY\NT kw_cݭ(G$Ŗp(Et_[[gD$&H"Wy}ւm7XVv>Ui?bXg 0'$υ]LO>K. {Ƨ7&,S 'a]v"]_MQ̚g^Z0bٕ;.K4I")[i:%E]EY,\̴+uqJn<}Lob\#ޅ'Z@ȪX/y8.%lr)8R! ~ _\`+9,S10E"OVNCHfm*m :UCi_}a+yFlSXG _?G!%͹aҪZȽ7ل2(yJz ;I$3mcte ʎLC3 U.EAw+TDZ@ ge2db,Zaߵ۷nr-kO ,%[<)_<цt: (ģ@Ñ ^}$T~(c#Cgt@-0FR|x/7pe\3BI)y4= MF׈< /U~*N.zOFp!*&K@o#VnxA/b`܆<#wu[*^3]A-tu |]T!;F)NTދ :+ȡ9reQ| ?cئ2VBt9 O'uE21g "K" +vDs ;Oy Z A*]87D@ֻc+^Ă(&EjD!5258tQtutrdft3{ڨH Ikk}*8j|yp+JQq|^`"ƹS>#񬊝QMf;(Ԧ\]'NG9įq]4 g4O1txl9l+˷=}a08 FĤq%V#SC@w(OǔmJtiT>YƒJ%o0}H 1BYrz1=5&q.T9Z_{"u2 U^vLĔ{3| $S3 LX[Ӊ?&5?oIoA$ujU| ]6Ԙ!lۧr3:K-&N2U70Άή->zƴ43l5Bh'NhՈL$O938O:EzsQQl]K}O@֡pQ^}z:)]l0ǻiQ\ۂ5}b "KK$@ )2zUu)#28,-HlEf"Fk_5X-zJpYdkTqZZ/XQNNEme >\΢1zT'o:';œ^[]5mvl&/ fjZ PS~bAVSIOv3iO)Li6N2>˨Z-en$=ۙ}vNFL\8S4N%S)\haXRh&4i:Jɒ%'$!?`n#L (eD}MyxCOs3OH'L-"-՚o RA%#3kV+5u!m ?jbNV 2~ʎx([#g3?nUf) Lz sSW1V2 [ { 0M@I4>ljĞ)Z *H 8A5Vܿb+X(P[ :o%|=5h]P^λVj~pߺp55  T~֭kjV `a=[{*@R4m?R7~,ܫ)3B~AA^*E88 *o\[}i7bUR߀;t853xϲrs+7{rD6G§S3WIDfkDOݕN˱rlG~<5'@0˧r"lЏ.P8@}[ i2vz[5]toޒoehw/SC=+k5>=gύ>ϣ~6=G=h`|Oa<œvɨ+X"?Jj*'[h^VJ3|uHMFI[=Lqliڊ! 'zx<@ltѳ 6-mE/}eC::vS@!gM s@3Vr*W:d!BpSTæK˥'U6,hk6G򩗌00R|S @0a'̸[[0|P#I7c[M]Lc ƃm)*=9II *Σ?QO^r Piq{)gֽqaGߏN#n-\%LJگa4Ó 1<1t2 (=PUĴ% zp*VN"( @/5m"`XW| }`-h1,Nھ ],L2 !%9ν pIbbz~'kQe g&x0$aB i4 OLIVuZ(lTGt돇 wDQ ˯#>Rه2E:"$>PW7DaQ It3XE~FC&,.u*KǴȑ]+CSGWT\$M5kp^ie{[h6 hY|@,}ȳkKo'pF7d0yR `*kyZ ?r%zr17A7Pow ~-[NPM=rԠ ^yMQU~Cu-xs@.hgFo(='Bt<]ZtǎFhoM(>Yv2:(?&:ӻ>V[ GR< 866DF NTbV]<2 sz QQi-T1cPd{ճu6";\ %󊈴¤gx%3B $]7]q3 njH~\2Q{ gy*/>G>Ӌ8T'' ( I: 9 0._@|LU+ y~|@ xxlԳ9BjXɐު.*ϒOe7!bkpKI)YDUBsJ68ƒ"kf銞Z_ѶXa1DxAZ|!7} *āNNsM$sH>0hHWn H6Rl/٧8W$*ܢ kMZxy*%Rn& ~ˍ[ƚMԊ4 ?\V(tf>&}# "#x?NCusTN.r3G hR$e/$taDKQr&H#0ȕp{ZQz㏛xM~|#on~&.ɏiS_n?ں?ww#x`y~?9E`gԯ?ZbjOҩh6M ]mw6n8uߥ+4z'g"r UKY}Pݧ}6y( j8C0q${)t%qРEa:9MST>B@<<3$x|:M? {Q,@9|å^8RDҎ.IJ"RD$ؠ}GFǙH2늀u̚T)]кMg + A;0٨= F%&h(~Ghr?i^z&<;lyKK8x,7 ȏ"71 J54!Ľ;Ici0s6^R~kͽFY'VX]BySA>Š9 qw4KpZjw\ ->%]\<î(Z yHr̖I^h MhA.ÁvayI4p)N>GEp?A*eNߘ+n۫O'4&OqAngM-<Yq1%FӱB453wk3ی5  =Rpc00>fF:cY_U +~k?t}`%i?i!X.2{N "O qS2PbO ܋?s3crT.\ \ gS֡r\ p{ 6͕Y(*sRi/[_&h͂Ӆe}j-\AL4%PBQdr\d'KS@О ZpJR9u9x]}MUP)гԠ ծWIszDt dZ϶3EH:`jxCǺa l3Cįu[ aT+߀(۟_=B]zL N|)Ti}*cɐΠY3R0~?qxIͼfn!}+)BC?o^apI|`TCmB)5/=dmO$;fk\B9'XQ HLGj qf[ ^JZPыvﰏsΈa!vV7oFmT[tlci2KKe~OV>&xqL/sv{5U=J3RSi֢y3p ӑąii|D΄Fl'<_sz  ۀPU `fz ChsBCO0N (K4`j{IOv %%;9 Iv5b7ɽ%.laUk\nruާ WZBZ#+ﲖ'a8nwjh 6S W`}&Jw[pkDj.2_L_ *N[zlL)N\S@*׍拗G|d_# 9&0sg Nbl6Ɔ;!X簱s*%q?vQ_q m{)`EaP#olOG*pGy=A?LI:LP60;*`eP5WyjGpY6`'d}wռz^)r8\êQ'͠?GYBW #PQy.r:G-ĞMr B;y13f NعGAr5~3bK4'i".)sjb*޳aôFQtH-j/w;$î/vdI Wx&_DݥP6&vcbo((lLmbFGIQ008 LOrNxIO]scٳ Q NnB & .A1bœ$JqV2=Aifhʫ*+ "uL]&,2w'zTwnuFgo]eS+#4#,#&E1YVꔔlBLhW CFKJpF pm’dTN629KtTCItMwq986ikؒ1Wcйf3$PESUa\}tºuel(MgxlyÁqWQUGő {cQrhXh5wve ߗ@'l 0m~fі+{IYx\+`S^n/  q p/~aqؓKjbBVZcζY"=induTE疹dيκ+t"B GzWN,O - / `QWd| RRJhed\#s~u~FXȰ<H*kWiun*,9Ϳt=]lZ >Ϛ#`}'ǡ>Ѕ!qPG ]זb1J@ߛ$(D1#*ݹ߂f`%K.$c_/1s}CLj!¯>tade>)3 |Y/t^G=9Ƃһ!PXh n:VPQ6U-=Yh{$iqqȫBdS~ \4 ʓIdXz6dk^sr=bah+sn/^ۉ⩍S@y'+ܰJѰ?D4"+@ G~pN?=m.[ º;fA[K5DPS{/ P X* Zǯ7jo=h҆ zI$gߍ(V16AJvEB!p529ɱS i6YŀL3;*yWPo$}='#WPയvxGpwlE]|s~xr^綤!{){}q+qՐɥopuP E"jϣ 1FpLܠ"U.82k:P'+vgr+%v ZgLmsJ$ t*f_bΞ{`J ՈˌCxQ>yN6|m*/ zd~h!k60BeA|M~_J#eQ|>8t.-qF2~8}WC M` F&J/rO[ıQSTAw)օc,^VntZi[c$rك օq/V Nл(/[ -OYTEi٩_-({rbȨ hO߾%.z8w%vd2 !#4a8YR9 8#_|Q{-Y x$B'e8y;'mσ[}hxtiRb8#Kh"@D VIбyt1=BثSiѬV+:⏉ tmG鉬jZz,b_|o\.$LW]VJśزm19'ZGy!i.h^^9k0,a)sHXuwsol!<'`wD5aG$b+vMB$\UhTMJM}+";"EBǻHs\"Q 5{ƥ؂tA7=N]^EY<`UK.+h8dlOfFQ5#@C= 8o8VbϛznBy!casD#, oj5[0vިkZh%':Ǭb*^SIvШoKĐ)bÆrkLvWv7~،z8?O,cf\F>#sV7~}}ͅ1`vUNW}6 j|_D)"rfoHNPJ;t]Lߡ*k=}E@6{+izk_K;G=R`(X#] m 7,^6>Tn t\j؇<7E% ɣ?UIʠO0(u࣊*કgHI5S$T/" "^5-Q.ss1B4nx_d'RKy(@Krֲ HpJ0͗~h)k7O27p1vMwޘ5% SHMSl q_*@]lˑe,H-#8 UGo-k?[R k?meL>dj7vQ77TPS.]}K%Zo_;U=)?J5t/Fin%O"XP::E(x*ݭ'eH*Fm}f <X+ɕ<'SJ~лyA'gK[ZF;Gd(46Φ ; c6\ V{QIH\~ifĠج n\IFkn@W%k\i,%W]Eݚ1E%bڭ~b@Qiz>I: ,26S80s1؜ 힥`y7QLxsp)ݝvgw>[.HWϙC.7Jߞ(Tr\2I5yWqGպ>^.hU(-W/u8rVM&jQR:D[QBLtey>e.e2JMXxd]Q!3@ S7i.欖%.5DDq]SQɝ-ζ-( sKhAv9#Q58X,4 2V3d~,\p|>yY =vt8PPdTPVԎVz(+L37Ц8lw̓tp{4V`-gI8ATUEwqnn{yQ-]R[0?6KcUQfp6˻ ̪+q37+t+K0\P0h>r ~m&."qHYQpm N( L<Y K|w視~"Dm-% bk*؈EyzNޞTe(8q0 DҶ*` ϝWx<´[/=n~lŽml FwSq8~hRYVho)zHd&&7\5 yÒXl&=Hڞ`TtCη+ouQrΓLs`.FU"ZȳPh^0r(7vcbmEtͭLiT$CKZjBOoVѕ>JnmGbb/VPt{.z$g[" ; L )* 2S.(Uj(D)A)!HdJEЈ5"="N:v-[+!|-j2q.,݃sH!!y]b`|'({2TY3XvnI f?~i0Grd\-ϞHu=hmp퇵eWrVc7t<=iM`۫`Cf,]|.%KU ݒN3 a.#Gr@XP02Bkf%h׋UJ kdR ; %O&YsbIIWd.A_^z1Һ_;U-Ƶ;(e:lLL{S=Q8YTcT3 8m/TɡlVA5 V [0)W5A⎋!~%{~v\VZ)`fk4H1IQ,4}uMS@aۅљ+jv_M2Jkߣ`!ԇSvt6~"PNQӆA?^1)jYdT54M}w 1Skb=ۊγA4)N㳳/A֣Q=CŢG>ώ_P;U1u"ZeMlâ/O%7ದC I0^Îb77kJKJgSVMl $X\#:ƽ^WۻXzj2KJ,7Dt6H`s yrޭ wxy=j:[0lեT)Anh˸+'81$jB,MmP@җ!P!$65]jjܶ(EAsE ň⴩u'/E)Q$HlUtʉML@rF)KvϜ":2 #Jp? c3xr8}6΋4M.''4c׳SE?o>mD Fn}8V/#Il7v8]<>%!ljBN&HxӄXMcz"O .-O"D@9Rٴu*f p t̏m K((@ùLXсբꦵw>qic|XKLY дbU2|-SVMAAgîm1s3=`!E>XjKM *u-eq]\?%{BwT%7lrCJ'\ k'z"I QDSrotfpQ _ ^z\] QG@aZEQuR`Cbs=GQޠ5_B{YC/{XPmpXibX'/ۮKBu"z7_xE`6uP%"I %/[%o-t-`JŠ"Q98CE'J;>o^| ai=p2u_`8, +#)@,<.@N@}Xfb{b)o7ڴ!,#| AƍYH'{V0mcږw쎁e]3`4OfGD$LYQI f~M]0žڪe䋿 ۲L]H PpIBOwM k]pa/1޽s7y'鹓l+:McS p\F{tO{br|e<:mpx"mmN yATgYx7&3dmJ*c83.H+^5ʉkx-[iYyy UFȇkѭl.qhY'-F%F0d#)0| 2b2agP\9A,GQ 9nBṖϮIN3MvihR3yst8 % b^A2^.tUO1e[r Ht;N6t+ q6dLz' I}WW>zhGI<$j:jZ3'>k̜[+1/j׮]꩏s-^j5$%~T]dޒtO@mwpXNUF|s40b`ա4:|X9hYSyqD!H lxw*UQ1({;_}7R׃N{yv6.~g|tv@]Z\(M>5q=>?UG3>󔦖 5Ilܹ&5?8G (]CbHcO;paAVe@C/@B _a7;.CjTe'_}9P(o=|{1jH jZE^d lr\¡H $P HPK hEi C.O0*s gܓS/iX]++b yO낾VX\Uf _/3t/ }t{h璟7~Z%o{d@ M0ݒ.Em!O._;--9.n/x*_(QEf7<$R{Sghɓ00nǗ5߿ ϲ+x1%„wMtNޞ5.f?ēclݟV*u(,&7h Z\6η Gwr=R8jcC7j}{D_gGZ/SE7R&3/ߪRQY&bc'j~a`uMw= \;')T-Rwۼ̴=?r喢]]>&H)DBqG->qY_Y[8Mp.r, @4Y9E>jaJyS:zb*PwJJ&A@)=Ct¤* Y(Z(X㸖ml8==s_l:Ak7@co $#E*`;Z{%:R2aeI@kVt<.W3'DK-9d w0ѼkѴT׉[ Q⊡ê'NnˆȄ,et&ʿnUYxݦE6+Ji D9u7||'y!G?>yI1 N {d?.Ği#)NJyy$~m.|1j%AL/p>8XAQ99u[C^k3"URc@T( 8nw}% PG?İc&֧ _=k_˫Օ>Zwy`274Jv{G`d=iu:_J jvfQ*ß<ȅ;sEs|Σ9BACrjiV/%`x})mg\$EҘD }\ZÎۘ.inyۘw&W- eZGn_ɢǐibԬ9z=wXd<#UPV [K4;l6XLlsmhJö́!@e~e= pw"]9duٲ;%GaW^2ۅ_<itbs3VtiZ`3{d?{{o%gptO-Mpt(&J>ؚҲ&'ay@QN zEⷒĮ~)OU0F>(|fΉ#j1_Q1.ݳC%WƑ#(ugF!v5F@. G/2"Y`"GՆ7Jd~Q1v7 *4/QVC@GzH}̠zvr=i{EEif Ty)Pʂlc"%15~A XI2۪nI)xlDЩ^RքUCLf#o@L,=2F8ylO쇱 @W7GDFˍ ; (nz^#jtFM f%{nP!)ڄTA\PٓAͼQje@Ę*z61Ɣ3*j0E3!TgpyX IAlE#s^FxjI}}ƲޅIhk.PƟm6-J2JMHdp# beҽu/֧nqLvraNZH "խ9w8j>)9t7֦p}|rKū:=M¨V,m|jdo:ZKt|?uG 6iRluj+ԺSW)2H9|RӲ˄TNɊt$J!q\> m/9`R |8$#mN}n RfutJ=(u0̕VwT-(.!4΢(fPUAx8K9J**0UWBUL0Ӟ.{+Ha [&zo Dͩn;!8j"fM Z'U@unlƃ֟ˡ<9 &n]cF,' E$5lGEA+(ΓA#ql1866f%b^uHlzd.r)y\dprTٟ(6߳;اTw-?\X kw62o!zq06(щ4*g4 KQӬqE8إ:-ĩp=I|bp;sk] /BWI4pjDt-)nG>ۓͫBMu>⤊OԄBY{Ha噼d,u44 Xob[p_t1E6cLu߂Tjx3vFIPU>Q#jGF%rXKO@Zu (2N}P|r(4dmy\YgHxIX, djOT)٧z_$h͠jw C2zjzoPSF2GXpNKvyE ,tNo(NmԴZ|8ap<$ TSVwRc@L >oSCF]5 5<:ݓ׽ah mo/ҥmWdOKu^:S]Z 0L_ `/SQNδ MCѝ`S`j*rXo{-i܏݊@ě~7,0$+h +ά LDHS3Kp2.dv0#=,hd)I_J?n(ؘ|` >*wq",`Cz_up QB5:$$ȥS,!| ʍtܽ,b5.Ù3R6# AB6gIӰYQ æ* q^b뛶gĜ.-J X!e@Ӂ-'gI2C rӡR\qtDs̓TrC҉b)hXQ~zJKu v0 9O/04XSJ +$s`N?N\A{&veJ 2|(S3S1%y5Q WA;NXMSg <ܗ۪&t0ָ{(~64vZVIBnk^˽j3xS往$w*4GYP%ĥ/KjV btR(7i% . wV7՘xFs,=dʨx=smB2tă+j>~xtDKL7pWio[y0/;s}o>ْk5:ܒ~tÃ㓳}rɎ'-f` `0嵋xR]2;L )+&9~r7Rȩ^].+f{2l <#+y?_,4ss+lJGq5N[n\s7cѝbzKr8IϰvSt_0devVNI~<:yM~qe{sxd9e pK6ؠ kH'㬟_>˙%M)uI|~Ott9|C^ O|6=z6?TFS o8 /7[_%,g2 YΫ%,gӲ3T}5* T-X?t4Z^g-Iݤ jPR tsp+Ŵln!ep)#QYc'En:8~&4ji3P`*M@k炊qiك|cOkzvP=4ZDyLDghb?pލhkbUVZi IC]z=ٹY42JNI?^Ono"{%-Xkh]}20ZjmI:E1A ɕX8|FUUkgɈtt|d#DJGɢukVRfto\z#\\NJgۺ0K.Jmzbt n,F>&$Oïcm]) c(QƇddcG76}`05M!mbU$Unseyk^Vm5)Ṷy$ Ccߗ'>Ѧ~|9&,v#q.*u|)> h~)駀u;HzM{Y}:($/d:Gv/^r-ݾ9Bn[Ae܀?a"VD~0imjR>TFg662?T/7ϓ/s/&N7;ϒv|l·s>|?C6A:9bbŎAĤ:b3<øSvnz/~#㧤QfO]57Г|ʁ}T4L @o8Tf/="x=-HOM@%!S(.R/ APz6>8}yC]fPZ=k;>,~Z9=w77Ӷ1V([v_ήӐhEҀoRѴ2<ӛM'<9*-z,~!0'T}f1/ûHQx\[`SU=5{Ydo16b&%E N\7Ooz^}=%djbi$W U[Vy>~3 QF)/ QI&_j(Y=L'(uQ P+*UR*^"2,^/= tV-{g9P 3) 9C(nY8sՒ|+LBnz6JKE䈴Qt`9?$U|۫>eIzl|PQ:<>n_~6Fup|,#prCKMY?pL8*11aFPF}Cxl% kZKZ6y8EH>"(zcɗ2ÎHIcd7 y9a0mH&x0Fì LIMia'&Uպ4 ;%D&ŰB0䭪>=hH(Ϊn__c qL:D'g7_c+/GCSsD:# [IQXj7&u!Qts*9<BQ2 ْ]Sh^1u8뿻Ҝv2e!֞s<R |Cl$`j# uT':tSԊ‚G^n&%uȺw }Gi AgJb}ptQ@7-&*#}ymZ=yp!Zz`~gm//ӏL@+9 ĢY?*-:Fqo1ץ!&7$ U]f͞_5z v%K  ٚTU5g{‹j^:VT{]uݿ`yY rWdE>R.QJesz 6ZKS﵀WzղzxK"DCk -%*m{m\KN6BZTmHIZ=ۥ$:1TìHIKn{]?+N5ϭX6gZ@3V(G3bvħRu\*߬/&މ 7=[Ul6Տnbd7T@>kLޯ  %Yx3US` Rej5w y#M)K=ZCrϳ:OEhn)_N#%7?C?l>$-_f+y a(i0&+*"{bd>*ѕg8GMfՑ aRO_Zj6ÑZRrxN=yKKSAaR P2JRW=O'k1U~I462f[(U?BZt;4nGO? aQ# 5@MO)n'Pd+H DFbCn]̌X#_;/:gT5A쓹ȳ!x: *.oC7[BW4=E'׾-^s6ex9Ǿpd]AmNde-Zo $to-h>p=Z+ЃmHy@Y%{vg^y}hl&~&5ZW FסZtٺ`Ð*b!uT\]J#^sFJȌͽ.3:Slq]|!(N1EDm'B:B>֕UR^pbfm{økZO֐P0tQ"bouoGӛp|]ާWI'}Hّ_.p ܞ!B/h "/^W۵0@M^B.q*Z.Q?loBl: g.KrwݭsF&+\н wScLml}Zm:YrUIK/֓h-:<飛H6b:ZAk-2^ p9Lũyc4 im%e:y5bX}! nDj:3bVZpfz+>ZĐLERzCQ1L|g~WI:rmnIILTIVp#}t:yB?UrN Vi6qxaI;-HRD #m(?fKl\磶<"iJy"JJgR *ZذN+_+3Ze~(To0Z6.Y_#@stx{Й24|%04@C;;ҨhɭG\ )o؅}0ӛl(dHUcKy!_], |BM\1Mh)x25~߭?3iUg쁃_jHC5% l'r|93W{2yۤtg!Yy|,{{ڐ!6JS%܎0fZPKii8"mxƢj|H.bHOA}nRrSoesJ&t;A"DvnC`rn fz:Fn1o"qJՠ:h":SloZޑIzX3M7\M:~qg].,2ɠ>kҐ 993]fȎ,"SHA<ɯ v~Tע}Gڊ&R֖-rmחύ\4>EvV*PMiiAo hJ2xG;zmMe3BmpL&}hv3Vu(:8" /B`WQ?גM 6 ѓM7ȹ7'ktzVJem@_*Bj&9=j^ ^15~NMb٥`dtdtŽ~*ݪ<}T. ŴPn{2!TpsWu7 _3#~,H7ky\A;l}Of>J5O7QJ"3g (N=jPƆn{6~>nEpۭOƎ %],Z gBGsM/ ݘ|; 򽦜چ9NTs9IDJm.^ UwΑi&u 2ķ7]5SN4@aP@f^@љ<4Vx tʚo{+ ɩR#-;yƬ6_t&u*/]+gm{Ӝ[Imq^)ԵrJI^p>PcsTP:{#vgXd0y0xISo$ n駒 ^X|;Kk@[餸lo5K9.W߅S0&A6n_t%\P:n͢Vm;=l)Гs[WIȋjWQYjV8Uss%oQkǶaGrI΢aQwx*s:]\SF5ÙCIȎ|Z>X/"oU L:/UQȵ3L~Q^^- 5v d)#1.?w%2r@DX3fGWN_?C!ܦuBba`|RaBy@ Z_ocs8V.±XQ#`aUZ|M2w48$kiaX:{,JV$sr0 p.{kh'V!lQ**UP8DaqE.TX/l*{n*V+q$@d<,wϋٴ[^J G&#ۮFf]n/7N~O+/wjXU'f¯#VMW~W ̞AcA*qzqS7FָƶgKʘz_Qh5$>o9jbi=g1/?oٮ_N޹%$⪸?ĎcEjc`(͆ᯊE+,A<jbPm2Cɑicq`YTSg+6LG^d`6[8TˬX%<<}w@MO-$ fkINQt^=Q>(W xt8Уx*, ޣ·NN+x?\W2ArM6h vd,ɝφ 7v곉`xټyd~FLnLIKh.`%=#{b(mH]"'m%@"˩YX_$Iz>M]3MPmqmo/&TU}ShWSI?#`Pa1!7rFo֭MWEYROf.()HU׈A/I$Pv=9u&&d퉛b7|@ <](۱:~u~]3H' בGjzg⧇$\ uqj;9޷'P$#aZ\qD&D'cY,km"Wݽ=ˮ2*SfGߧ; 6'$ H_v{o=jDY]bZ 娠AS8B.|6ոUYAwդ9>1ig([~%lkyF<{}O;U{St5Je=:z~ݐyb1FL6ȷ6ĄWΨDk^M'+!)'R{wvS:O(Gn{&g/TV(}۔Rmk˿(% VV`F4+2p>.@ Gv1 8$U6;{ w4ؔpYJc@m6=Tp\߾XFieGf1ŠԮv(B٤S ԝ'zlݗQr%Y}yp٧+0W8oq<1$p7RG7?M/s]sC=9ҍO ʰGoѻŘ{gۏ` u4CEZc"{в%h6_GFf'o/1 U30>ײt}Wp= f?B~{˼T:L[h|5zH/MKu)1@Xdt۴c&0CŖ=Qhk>@萠gNPh+WЉ^bhA( P0B ]&.utF [ KDͻWukO]MfQ$Ie%٨>n"'W1HYWͰʫ"]ZCTӔIж't5n)"8/Vp_0$jZqA4jܣfekJ&°x6yJ5u>6A6zqSJ`J)b6;\yg i )QGi_5Zn^-%k%x{5S[wmxIj#.ҟ}"J(/w:G'Fr*RZct}w^~YL!␬YXhgl'bO%Mr!5hT ۺT%!o${O)?uVauN F\)[Y/S^79Ribu:ktLsȧfTg6v*緜v0ciCVJ9䬗/nNԯrɟqdO$۔h9UPm3ZFzN=$wgթ'(.=LKA6gap4c|~2Dy0ppoRXZ,Rbʬ^Ms(#L|)Dj'ZrΛ#ҋ$$DA~a#\Q^SnT&^;|{YaXK!u1/tJ;r}Bf&2O$_n^(5{ Ų%]r0>L?ȉI -ǓpsK]eŦ =h EcQ6.J?`6тͲx`܊?jۆj~Y?W\<EJ݂8݈ckt%YT?O.}Ϲ< 7l|UZX@iMLP ςb*dRS 5 Lo5<*cRiL݈O/ޞ$0NNE褳7AZ=^^=&Lb λ!1RQ*y8<`՞pBG&#ȐPӕځ:.5Ѣ:׍'31̹,e$0ϯF :`#bt^VyrUJ;݉+8ϯfAqH^ gr)> b%vkIoy>J DH_Eγvz okpIeR_3$nFP3(r Ev1@M{S:tio%5~wY_yIG'mӄK  o{"(+F5&um9N˥d465uH$j:zXl܃x=@e10O7Tj5/Sk]K5#8g ^^"r`r4F?9g.)+ -h޺`E#9/5c_և48]p-ouH*^N{؀dKA>'4gJc7^6C?xapTWޣ͡`2z82fRj'`e!^ö`C4sFʬXY7@Ò4*8BÌ!@Z k1ʛ,ӷWSD!|M K2GNQ3"Va Q;YolR"OGŚܮgڋi/ld=V5u@_bctE+!?SL'>l\0*i`=$䵵Mq^w5l,PAw6m]̾L uTĦ ]Ӻ-4k~0ӆw]o;R˗aRyoG! Řm%S*bbbs=o"Z=`r%nLB 9 ܦ\3""ELr1Vuruz;|Y9j#ف&8Oh?2;TWusbFfϜ-mJ!dԐ۸1]g`pj_Ы?o ]$:";ă5!]ޠ#E}pޕy9E5**8Mj<)-1>$ O/"ǴO^)^ןKXu4x"DI X} o51Ʋ2zN(Jm>:ϟo[jmng4m&Ε{*qCsw'ved :j96cߔv4G-_TXrcnD)uWm 50DzI(R^pH} O֫f6W|>s[Iik٣(:7I7"]}S}]% tr~>'T'q}Hϙ|QnvـOQ.ɥt Lbǁ  م_Ž~GX1ZFH@|\FNzw$v L߽ƩTX)f?4fh2`%S/VܘgA0QM+ETQg/W[9u`{~~UabԣqQ(:oRD 2Z=DȎ]s)6s/cVi\7HxZ}(~0 YNʹTqn Ar4LY3{ݶ_W7Y3hTr]fR>qGEh I]qA͆Lujw|Sk&&J|KN#|]cz*n*̕5ER*Kk~)K{i!T_"BQa&涽RJ$=9>uA{ [e \h!+\>hzF€Su8r(Va];BBN,1@V[}_ım񕰐* %瘷 ĢvU)ȳ W ּj{ LI+=mwh"r%N4"*蜛kϗtʲwS~މo0YhNn6)qBɂ#Ft&cڰī#<j4TcqB~ IiU>ir>P)\ WM"B +`Eg)vPTf,.  C27N WzXg>,&%H/{g„;gGEni%󲩬HF10V$Q/8Zu_~䂋M%ͬWh}]i/|oXxKvEM:vtюE:$Ԝ  ex'Pq}ť-%t3 +/"jKUk +Zul2xY K0 &kGrov/gf,Ҫtf,I?Rɪ6WH۾ݏ*s&J&Q6 vF[ӻ+T482x!`0+c9U}LdbU!Tͤ_b Lk|vp Cɇ!Nݼj.&EJM\ *&V]-2A#/tu 4Bhׄ;&Ǎܠo$ɮ*;қYkmz.5"E+i6Bo %'bdX}5rEއ\'tJH +=`&6s~[ͫ9fĬ:-cӞS>ZL⋒=JlZV5:$&_Eq1bqHn -2c#6d k|WOʬV/%CÎT"d+߱ ( /.x25ΉVM?Y1Z*YbCCT~3&yJۆ()SD kQ0), A-#A#sMf)TrP209S-#N wƀ-@7R]@WcK7W%K@\Ç|9i^r!ugY"dm'vҏl: /z>$89lZmx5IasX)zyQ*40Z@=![*i n:xq x0Q?) G\꠽.K$%TT j6ɹf:WH'g '&o^j2W)x|5ԭ;2].|~Z`9${:~En& ^RuP7(1 <#`r:3hpQ?)D'yoe|j/{s&!܌U7Gi5}wNdosobwXz ЌjoT"FAUD{ ӭI5PVD0)Џ&;,n.6ֈ4^5ҐdRk:).rg:;u y[db-D| eV̸>^_>]"؝l׈Tq e9AhbZG-ݫC)\ :G=Gpiի@CB:豝+LX] z'ى0ؑ`)ϥhu6c)gl#6 I)e}c0F 8&(N}{ڢ-f5Hf6,IGCw[_hjH1Ne٢Ez ML1[>{rҍȖi+HB"ڝg#F07O4 w_z=8ŘkI`S}tri_iSg6T5UcZ @l4ÒnMUFw5g4##BOƇd=$RK6v']RG_՗7z"~ebwѿ}> Y9 rc K성K*/kd#bHzFkDy?JqmA{XYc^Q{5кtfz$xug>)fӊ9?jDA{L쪞[5ݫ+Śe$g3K-ظznoV'W+* :.nXH1=Avpv|n6,]lp{ã};1_eHO'g]~KAye=~944>FߺXJS$֊b/nIEEzHĄzߴ&y2RhvN)cTIc*8.*jăb<5!&,Gߊj շǯO~la+VsblTsJ:px?o&(8<6]ES{U]SY(#^bw~@&4:jjy-ғ ^=yd9PV&W?¦GcդvGXsw m$LTL5 =Wm̢c'{ QcV彮+ѩ\RWyœcjss&~PaZSTh񤥱6f~h_?\Kr=r-էsN?W$ J:W,K7 mٛGW\^ *=aSRo6g b^3Et:^NRX )K{i4n{cVffnw>jaҌuˡ-R E]Ѿ'φ=}fZgi En = ؚ]ot_b#ċ[KucEB_O>6N'n[V67\2hD xW}21@VG%7i#VtQeJ{ZecgYCkZ7LV6,Um?Fs[hղU~P;zmx=>UJ/L.Rzt؂«֧Znn:]Vgm'RW2e)TMs)W,UAV^ѐkCu K䛢RGM!;IBNp$LQeOLm~#rJji61j)iw79󵭳w8>_3Hsw"hD>HAGYGx.ƃ8k{#\4nPph-}3pr4HxNytν]l;\`Ch鴸ެd OsCr˴BkT论]|*Y럭шM<8yWeBwwmtDq5\6`v|Zs<]:lǰV(VHM0q.@+_|^~IO*>X-s%A #L5l%ü!~uH ym܈flHGEz9)_>9gڷzfs툎x+rYG{(E]l%OF 7@FYTY\@>{qS+P;SYbgd}dwUU P߾kþ~A"- ʣ ʌFhݢ㠊C$)6GF|GSmo G+{]͊r~{9<9&D+rhF:G%Z1jKx3?kn ҄uj6 ȉŶq$:$DGXqs/t?JG_2A0.EؗMq4-*މ Vی CYAX킚XbͯMh]; ߟy䭬1f֦AoZfZSgTYg;HGh. jF $oƞ7>ՕM[7JS&!*5lYn017_7M֒ͦ$(.t (OHTs֓MP2-xNr8wM=N+$@½"hfev"oowqwIU|]nS6dyF4p/.r1Ɓn:l&-MײGp݌C'Jw5",xj\VpO-j/v`wDas-HJ%vC)xU }E6T.u0iL 7:X f,D$[ΪcX&ytj""U(\^qF\|X<-#kבVRٟŇM?TQ_X0vyCVhr3Cw5X)HD8GUF9q&. _GgD~:I6&!20 ZbCL98E@]qxX}]EbjȊV[Ggե}JUU`0wbYJu+R F!&@v9?ٚ_2dH`mKa>g9P}tOL|$[WZx&bapa?Vܲ~744c 3@c_7Ȝӱ'vO| uO\ijNaV; S*JN%tN)95'bmkUQ /vEbl]#m+s689|9Jr= YEJ# 7NlLy>;R2({kz{&q|ߪ+A:F`2|i?ƞ"ږK*Y%vQA=nZzs5nwl?~zagXze\uϲ%7?=^a?z5vb)ȣ#szmsW'q`3Ӎջ.֡Ȥ%StlX6T ZA(:OZDbI1ZڨMqz1fy0eV6dVkZUX{\|. UOzLms7XdןseJi"bn_4WV |9ckm&~[ q ؋|z+lp&0n1u!0CJ]Eqi3PHV4>%o:.`{, *`?(5VD1 Vm#APo.qLsz0{]s}ْe>L/Ib9F|Y.re^ @6ZClj^*Nͧ.~1MVHh$ڀ937~BMJq%?3( LZ4%=\rK:WUKm3Pl UK|C9-Bv'kOUkidzɔes\(seK=5i? ENebM_MA^tkV;4:@N.u}˶=cs9yhc۰-[ AЋnfXǶd.7e+Jk9N֥U]Tp@Cl{U}iYf'oI֎Ҝ%}=mVpN a|/%E]|6M&):: D(*$ZtyL19<:99#׏q"%oS'8 ='ɢ[l"TUЦۑU!yh4 r|4R׽lE0W5uZ.)2u?XFG f.u Pvh}x\ SᎫbNK~iKͼ!N #$Mh:.7i> m8_njiźZK~/XeRIqF3y>V^ȴ:zcMj_'wj|Y7B\sW*JV렋a8M9y+Y yX͹k}fiFsM<7(S6;֮]r96fQU,4y+𵉼A.%q`\ch]\K{5dg7?R(eoNB%(/p^6P1% &UǼ_WFʘSMϋ**kv,)1'RKXKdhj Z<6'jCYvƴ~I/|>FckV oCǔ`lwhƘ i}OyYƺ8 _p)˯JeamP]+J۳NdcQetA i|C56>JH =\A6ǘ/̣]e x u}[KJ==4Isr$-ӞԆrvq.ν,߫X_Z.!QNHGR܎_e0-IcR:s1"&bOst KxsIZj=U-9# !ݭGIj+"!>Q'/Ɛ&~]#wOP{ i1wfbȠt)omar,:±^=Ս5wtJo.tIQ^5Z]'A<|;{6pRw۽^{nuCpZb lJ6)wVS:rFL'Ħ4M-zXٓhNtߡz^"0hʨ1L' Ahؐ\?NKD=J"Bn:";Y C7懡r=;S:*i$ڻrR8sAsI8x|q %9:t;ZEZ9saA gJWTP&sT_i=QgY4~kRV"Ck,ǿ ͩbx\?4O1HTf%ԭbUeI`(Q>aJf_V-Wr&4rYJ2Y9Kޛ2bRk\e.,V;CApr ')J_ jlcva3[tlR߷׹6 g9}O.xfozdĻ;v[K샰eq]|,uWvi:H<fg}1Oxy1.#"|4?"h=P=M~p>̯_x@4=\sgzƠ-|kګp>sY05Ay1x91 Am׌m&iVսiIđ \ 12qnT ne8bÓrv޵fG?ƲH6|)W2Ye841*'acX`Y@dz)ijtUHX&7_f?Q˧f MHD/_]E<<Rե+~ _?<wL4KnvT:SGڬ/aN5ࣉ]hhwe[c4[F+YӔB}Wi>aWETe\[w@ 7ˤ&zhBɹo1zs,}{HYUͣdvyeo*z_ /- h ONMv ;T$9ʍ~pċYVΆӤC [aÍ BNAn@Pt(!aH=!!Qڂg| ' fs +ęсlȌ%ҚǶЛŃv,ԡQ^\0d~ec ]\\*%ưo?g!:^fn1(i>!lMK3{}*jyow1el 6Y)a%F\o Z&*8™;s7&Yf rlz26'o(b_w_uv_~Tq?v6(n>q-f:mY᳷CF X쪘2]U.~( it$9 w6: p/moFޯ_LlRN,Q]+QqS\6)Y.48;np U:%}L~grުcgLJmb=IuϿ,=ڵ)0K%P\ x6ׂ9&O0{J'%8Gt 2_̻dաXh:bַIBoEH)2fÉŀ/0OBh4f]$prE .Pk:A5[ 0(fFs>,҉vQu:@T']8xjIPN\pu;Q >9řᙟ '^| ;01ynTDذ˃ŽI5bgt0z!>ˮ֕}S!o6Z$7:$ǐ3(ONo3E;ISvHt@vI?{'.wYwJYة~_?;TPShN!4޲nH䲺&Pq fj:Cw{X:Zx¾av'|F(Udؤ,RnD~ 5jp٧Ɛ=]>_Ko֐ R+>\Kf.pf#AB^shOUJpOPԗt+^ЋOg?mqxvv/0HQ&#C#*FlIr?{Yh鎤6_uX`eA.'p^"y61Ʃ0DAESb:6 H3Xw7w;~_(^ͣYH)XHBT$hM%Lw]&" a؅[=lÔ5EedĦ߲P"X7Wt; XI$C .)! 92~6.`p#lcHZG:ǷΌ9Vi5渃 s ?S2jPñw6.Z|L^b ~tmx%=.“b(3T7Zj1i䣲-|[@UVۏ3t2"IYSaGȬq~XAFm'Fc(X qt?&5 e?YxѥYLg|J0J OE|{שYI-&ШCF?3(rƮ%T?!SÓE oi.]oVI~?ߛòp0ARr3NɠI6}jh{-=9 , _4P1ZVpʵ@_M6Ds bW^mmnj^ Kyv5VLK* Uz!gc&JJM2ZTQE׶!r?Q`zu?gqf@smRRXsxM2L.G3+#\<jTcb]+*.7ҳ< ${N#2jߘv&p. AX7NT݂@PR+5uX*L"kJzF~l!2C:}a1MѰF D+2pC.Mm?׹'I邔Z3G] Q ;eE?!/rHm^TjӔ+-wN,sV9==%?hWD&< OJw'NN`"`Nɦ6JL }%oA]֕%|sU~wǑrt|xTOHϰ?Fњ4Y!Xl6 hQ #OEdI~ =Iư|L#};9 ! 9?"/3J*hBbn Ę!Tx);6M6RyE`'݀2F6 qkXXdH1ޱL #RM͝A{8H²S04m 3>UhMZ:J2Z 34wFw94w]'Jcz Ё?r~n&uR-:9wwE#T\Ov\1%38tL($RړJn-Et}L:AVW6w$-QYbޒP}50hH[{)]N*uI:K[V]Ny޲WF*< $ob4/l` I`+rܱS,>LǗt GyD c*}[R@uԓlCbċk¦€;;xS}t !Bu;;N$Ih+1͚$A5Ga’ä6/j1/ zbY͞EWبwz$}h6&$̽ʪύύڐaË 4ݥZل$73dEc̈3wcrfx1qC$FKf%~f;.} "pFF-j'$m:(D#kjrc3zDhJ֍cb(FEgL2zj+cNgq"gIh Gvvz/:Q[IK?#v3TMi% _` 2\2[NZL:WRtWХ TϬ<"z #CY>-^觽/۸d e{ \6?|Gޒ@ay4C{^ xjZnYWT" s!"B'JKcx.>P$w-[zxyX*BR ꂘ,C]*I8w%aiǢ3?^Y/Ӈ +dY9 UmΧ P27GlZ\O~]=gW1EWy\ DɎ" JMa,O܄ߗܔpg"eG;'ϋBE aEđ?FG;C*αkFEZU2436Mm;e42H)ٚM\Rj/f ݌ ƓmR*w'B'3!O~LV`kfeor`^|uFRU55'$]=ѵ:t~:k >?;u:PYΫ$"7{wH/{#3hCW0tj'7r+yj tPO#^cc=^e4'Uc-:*$R-A \&ӧ+T<  j OnƃI%Wp'07Չ%>:=yui5_ao}^# sⓊ8/Jtić,qH+=GGnrxJPZj$ێRgU0w+rR$LuxvL=DQUy-}6؟#ѱ'# sδ7V"$/m S^ză^` qsi-YO+KH>c/ +'jcuu/Leo][zm5[կկWWڗ~x)EUOa _֕O$KK~˞$[$=_&'ɷ& ,H>n$ݥtX$aK(" AnN Ţ/X䇌lP$G{Kw}yueXPD@΋LOILq=9dor8,--ax,Y ͍䶘Xd 6Q4H!$0 CElG0bҟLFOVVnnn _DȠO B8.@a͓dd!dv^vכǛÝd݃V t"{ǁP‘f=VqVQ. /~D~D1"`8IyS|( ͬVqu5n ]C?(ӂCt{l,V׿~7FQE%,aX tV[q_XL1UE MKjR U/c pLb(Ob NH_-#a¡T*^e`L˃ӄ}Z5{*YG+ͱ+ؾ M;Aax;a 9pL23Y`: C%:sX(3Yђl]!B)G5IoB1BNHl5&],V뛌4EZ[ Hq9 lb⚨cH Su2BGa:(TukgVQ/2a7Z,F] i̛X׼ YE)*#t?;;L6IRmhσ;Y'rz^}CD|wf@a[- z+L钏ea1=9%YQ /nۇ/~jubJ td|іaIRF fK,y;x͎?/=btleU@߳1C 9u ? >x_oju3*m,͊ O*sB_:L[3KPZv;Uxg81 OO4)4 iv/1D`':*|BAz˳׬ BuN~:HM^Ұb?B7쬂0s>ٴW,Ѣ-/f_ }#*eԫu#h(HBMV019fsK %*>)\-&1Inbd4ƵҡФ ň%$ -7̋M`$GmR>l47.(LX|{ػ-#73rtoÌ8aRxbdx?#iaчu-m܅d̀FKJ[)jҕc%:;:M*Ln4rӐATHhaq em<;ִЬ u l5ٲyvC^&{EAWZlF1:n= kFerJn$ e~miv} J$IPRBĉ4)R6k:YB_c3. J_DRm1s62Ӟ[nIx~7_uBPٯn$|,m?4 `);bJsVŽejUz瑔q"4`Esh؋6\쏌SH-_Fo]'#xH/qfJ RRX('}:+l|4^n3dTJrac=Z@@7|G]r^df`+Oa cT`"2`r@9u}NͽVȍm.<֔c["47dlv-QaeJ ~:%H{ԫQ<(aO Xo)zF]L&+&Is|+e9Z*`@N=t!d-[U݋I2Yx:K 1>pVԊK2P`"Au ҔfMq6ߺTb`L O8Tp3>82ESְtmp&mUVzW@pU v*b[ $AN/[`8. 8Gj^9)<%>]f]ap*->rHd6R`e/YhZjP,jÍx:8ֹuH{wi[N[{$ dxҖX^8 ךv8'v[;C.v_:)C5fο]])n&U2>T1Mc[?7LeJAF5έJqI'1|-]KzXE ˱ߢ'޸`p1$8DavKSGb2LV+Gh~!jq\'ty˗ǒi\@#* M〴-T6Y |3n& U*/AC5l6g óӭW(Wכ?wT3sdzIdl$mxzW5xg?>|{c^(eW|6»|{F;C:|`t Ow';?xAJ2q6P}Ϛm& dmd)J~p1ayGXʘfsuhZRmV(uB2.pr5R'm[2rdI16Ӑ5yYmͨi<Ϥ hǘmnRB{z5f)E=o\2ӈga޼M-ׄȐ#ǎ5(\G[zsm1yӪG>>&Sj7 ϧ |K~M}=Fl2x̯FB ýfg5+iƏYf:Notn's^rZ{qCM&k^$6W6R%&Uex -#|[)0 K-X_>n%R)np83 DN7/@xL(#@8X<ڙ;'֕X%x_!IE e|ogDB’VϰٍȀ;V~EV2bسqGaPB L߀k_H|Ziʸvp /.Q#*uPyқ=2@RdYt͡w4sP?N9y$%׫ g˗5wdG$2AFћGOu[>N%@4y$4=y亥 !aURGodq&M1愠ÑRa o|_SVTnxapV At Eb15O|v̎K,dEt%ᵸa+\/'fWwZudc.&ĜL#w/@ h#C7{gg8U;{:/ 6CH}]ƒ1o$hRl o1d-ƣ,qLe>)lIȟ{Žнl`S"QOc>[pn~hpkOJL,+ PR&Wq(LwJ N${$Ze)GNؼS*ͼz4o*IL):k0+I>GK98:<7İ*7>?bތ@o(̉\8P%KK}2hR]BS^Vq@q"X)=҂gB ]D$;ZgMun#dג!4j§{sc2{cRhh!(ldR  I$7m&~t`ã29RD@+muXb=-&_p Hj:'w\ݻn3=$S^hX\5 KVkrhJ1+/B)@\e=z*[SͯUcƨfh'i([5 P} }`?NM?.T]ʫ5i#DS }% ڌPIݙI6-&"XSjN N%R=Mᩫ!:Ϻȟv>j`*JzO"\Bx20#]h Q87P9E0TyAy>_c+d4S8OoPૻƦWB9} E`+AHsdJ]R("I>F4[XP? F-*7qW.sY/-2s5Ng#<:{ƪ7?IF#|ıVJCPxӴeWTPۗ5\!-ٚOU̙eQF2U lnna\"9f5ئt!I.`,-x8('no4]\r$bҼ9,}[ʯNh[2NHBC 3# /wT99}EoLn䰴y/coj,zkgLo #g!~5BBxK];|qژGB٘ڄZbR Ek4QyR?hɞ `oF?ӧ7h2dYh?R^+א_N>MkZ_}g>RʽGZ(sE@h_045ue2MDH'SהciOBg{u/"2~NVo⯧ ͽ*;Q"U-KԼKxUk4I)sY`}ML+ȁ&6*M K1Wa[u] (qk= 0|iEFBBA{tL|kG8B&OJj,:Cf↫U_31[gNw bG! Ԣ8$Jbe.p0f{# \#۽^%k GkgaoĦAFF[~&c(EX*ckkLHg2NѢ0) }4N\L3Z{׿rh9ĖD]Uq\/7*:y_(7m>Any%&4TF͎F-8E!arg1htEV>~'%f=vݎv"WAh ykwo5hm1ԅU"N yGv4L#j={؈ ۨkaE5(Pf@N):/ $^y}"׹Q.>ĮfI?EÏ_j^$o[Zרnb}{<^x,L[&wb/߁]qĿT[?jk8V~gpq<~6f}~7_]|?+rB1V 0ĆAE&^e*zR9'e. 1qE`]wuz aZQ4FS0>rs_J2Eobav<w)i`A;9*'9H=],v1n*ay]a Ã|p{(.*,:@K fO3qoQ,R3Yr 3b%џl@Ffs: Zd*c.G&銡ޔ )o΋ Q3B=^Sd˗0l`S,н{ gIނ\h?q#w6?_y{/7{[rÅ0Eqy׉nt޽<>|$Sދ^{;@/+22 U.]q̼D7[W:h:xx-O8S)o_gh\t=?A >RN~~.QQNz>ͻqI=c#or&o3ukgI 'EO HD: P-q"{d\DhX^ lW1mB1#΢AE, U>%;"|%?bu*Ktj\5ÿuJͣx{pqazt=c#[@0[GȔfw4" ;gۇ jcü;/wbh˽Ãợu'+@_63攍;Co7m2ZM~e'Y!^M.ZXO2Z<6+L~ /u5hm7Vͫ}ɾþvM6g2kzq;n#v>uA7i?2OmU7%툩(իW>aIz7'N1(EޓY Ls; `JUvX{u4q38ݾj*ؖU[Lh~<TίAP݌\SM[]os⭽7C|zpz޶(Y{c8S 7c~8K40\Wi^z-`/Z~?8LSg~㰸rxvR?gWi4PO5϶[Gtt6Q]?Gť!E]T?O=oP <~ϫogҊE7-dai$1>ϺEnG%k]L XED6N^RU$5\C4q+Pz͖Crz. 6nE qc1hBO_tq%SjkI#E{хIF_71b˲|b:p&r:LR//dYGc1-zqV~f{,Y8(&@zm6Y@S8SxI%&.8r*,aI2)1%<\ebsr,6GNjlBɢg\=ˇ_Eԉgroۻas/kZ_֛+ T' i_]?ha!$d2$gE!}6+zAL(\n"eՍògEO/xu!`\V084f.\ WZSgEx!W\6 c){($ՒDf\ #>WH .BbŞ ?>/"*|h`/U S.:^¬~6 0|u{Ywc+hp}]&A@q3z]Eox>^:`W\fѻB'XEr\G9?=$g}5(C|O|T緓XG5ssg"?EWŇ0:EϝQz42T⪒mè]%5Ьew~ib.aw÷V;ކie(/W ޢvKħ =}%ُ{g'G(zE]J 4//g l Kvd@ ~]ana]FtJG g/YQEL81x&(5Zz]&Ñat>:><6~u:Y-8xP t@З*?P(w&;r+0}xn#ߵ: 9ZEHv%9k6kwi2!<#ߝ #\H֛Ы 4G5tT W=k.:5kSr X>EGr!or=xk_e:9{7ۃۛk^-Or.ǥ:?_w+3C#nlޓI}kH,3dAA./# M(KQK8QE)E)8'd G6!g!xFྜྷ1 9}Ew$m2:'y"(ȕ)saAw ^ wS(}/nώ#?mɫƵ;09vlRG }7Q3 40|ou &7EDI}óϰJi㦸[-ѠN"(C%3#t}X]$TST * JȆ2 !O6ANH7,0)H#̰`!(5Fqg]pe"ݤ(tCu0\ n@ wdu k!?[jqZ2ɣ.ی_/vѴd$9a 㒋_1(XRd[%ʡ两P=y4b'@4[&H269"0{7@׃qD]2F§wĻ*I ]y'Hfsmᦟ瘪-5y3Z>o"tˢݱ_wڝ-Yޔog1xͤ9VdRI,;1+}!R>CZen0/ MV9pKTAn`?14dQ<bwI 4`3I/8@yf q0>wwQ>X@8`,#QfinI9)occ\&S q5 Flݲd9/_1w8+GEN r>k6 B s2o-`R\ CLAlSp1.7,P tAC`w o=P)iEh-rmE1~8KW?x^7?-/7/2R;۳vB3?WGSO"ܷ ccR?y F4Qhycb; Ew"U9׿ǭOڧJ>J/ F:r&r`24NKr=xV׿ Ast/>`5Y5p/0#q4ѻ¯79fyWX I p>\q![p{n<ζ6O: HZ_%h鼧s63Of2Z O^b,mhvH# _iޜ]_)c{61Oҫ1'O^xcU)ѩmeuh ˨]tҤF(T8^~+޵"9ՠYZL35 9Pcȩ + YG^Q.N;ҧ'M󨂠ޱ_\Ae&O󙊻 İWovؤVHq*62;cqߒ>Mp8 l$0r*We=ydׄc xd"2#7軕'9v]Xc ]dY|dCe_/]_3JNZB& /=wKSE$ع3=UV߂!#xẸg2 ҥ)Jp9G0jJ֓4A皔cuy9  r  .FCr@řXޫeKûc*A{ ۑwf'q*}~Cm9yhx Dዓ.n7UQ#%Smמ}b9sϑ/Q_JJ]3 t<(6yoyx̵39>>ӰߟyT:ʵ6!cwѣ1\-3t?n;xBSAQf=<lA fAӂŏ&%5 PMc= ]uqO(Q6yI"Qv!6uYf`] &-c/ɎMt3="lǚ1l9--cuĥD]=`CU6) ⃎Hz7737e ŮvP,A 0} ^7k>8~uH֣Vn!:+qrvhp "׋35G8M->tF^eŷl3YQ@: sh(܀qTH'-Q [rG[bh0_- bQ}e:DNX,gгBеhN>y /1ce S6c*ˈN0.V?v|EIe1?@<{[sRǣ~wE뱠$<8HjƸ&HUy$ .BP XO' h`zLQcPԽA^*HɯFd CR8m9=H?U) /# 3 c-%ל@uƱE*S8qvya9Aq*}3Opy ,FFD  pխQL/<ǽlcV-xAa0g#;ƃk u.FMAuur1MO,nWQxxT^ܨL}F4mE@!J=bWihI҉Jt0Z Bn#N*WHhVSΞp%-;4}xܻln"ʼiӳ<] o2?k}}Z"Ět+h;ǛmU=ٰiS4D=2+cې/tHt醢R蝒TѸB,XbI [db\-JvMD8Ni+vR5b VYȱ򊙤-9F"V9.bΞlVV,˜<c{@g?}THk':rȾt|ymGE_]N }<(YȌDe`oRHK2>DHB.,)D;+y{+$8"l>J@e@A]OҜ(v0<OB6j: FCO?)FKC w^qSX\1{6P5lLL]0lQ& 1.fdRL(L )J3 :5͟L #^'7kG+^4B&5%/u جbfm!LgߠM|֬i*}Һy``l!yiMEdBu ib,|KK à$O%_ 4H`"fXp'kcl݄BD D&uEʫN, F4fQX7h1oX(\ ̵:ҽ㵂m%rn#/ZԄXIzbW}8(N~6x|d ` [&ʴWZnL>4RL"Q{-f~)mQ׼CƋzg7e6"/D&'*xY,baM /4/Xζ dk N>sItX'~G QcQ1QPD7@6cFsVxӵm2"h &m- V=.zIojgƉgL2٤p2 H*뢒đGW"TlPMCQY$ $_i̊\G#%.%#;v!FM!bdVdLlR}MR[Aua#P34jpfTѫu5JQB295uu2=Yc=IvP#(%"sʖ!Y k۱(qN/ա" 3t>xy Bt(CW"CMJ 32IUbq8=^4Olj2W)x /&r>}Qy̅|LW\|[`ޑo3zJ   r䙑2d8>8r͊ \4Cm8ݔ?:;o?x2 = ,C)M{Rj4o>SCH~ c:6lPML}MɮEQІ&t9F5Du)i`s$Yw$1Y'G yr^S}YC{"_t#ΌY'>~){1;!`V拽=?pPVIv?ҤH)7SA%!}v+hLcF4}8CsUpecWthިpJ)*jx,x?L .Yx\"f%~Ԟ2L gɂW%Lb~:j=!]\Nwfrxa#?@X)ecb2_A83Xb O8<|yA;:vO:2y = Ik(P]D^~b#.&+En\^8vY/`Og.LEA[گu5ȑVjzĘL]KK&9/ E igFiP.Azy3XCK%kuK)gxj{ KE"daÎ|?9ԝ8Äo#:2Q@` ^)q>ymmϭ8<%Q6jM`a(X;? {7[m+8Q+>1o3J x2LMS[K#b{dH;dUoGdbل l8azБ`C8@{0ɮ $l EFN#F kѾy&(/[+&"xQt6;[g!bs{6#jyΰ/g0ɍI7XEa5&ݷlq>xIoAE-KމXNGi^jWjUȵͫ$[1]rU^Qia+MY4븨ɢ\=R/{%},N鸛azTeж-N;!`pNUr,h};{mw@l(A+q+`fӁU#WR%󚙅0oً*'@/jeK_c;m6CE cMOJ۲Gl~7NPHj܆v\4Ned00W=ha oZy|OK3OtXHEizc4iӕ/|1% HL26_}N_1?nGwb[3R` y0S?,N3ao2' s;gҚBlu+Oy$a6,=&vq+=pO=6"`$sk!|Ah#x,ܰ@[N.bηa^`A.J _!:5]\]I@n148|ySQZ W47Y#/-_nn6XOJ53_0_,/@k<|׬Ey[lU6( bzX0hD~C`xiSqBV4-tRD @2 =HR;kNƃvEˌ, + uJxYb hL$wM'Q ؂:xQhtݲc;^]7%1deCܟxaQf|ȇf [1򘻈 a|Ի<. aVpG$**u- L,ڐZ5 ggabDH;ԙ'ȐJgVjyd7vik_ROFDAle^*B:8,EF\[hc@%*e^/Ic8^ ީluv9z5#Z]ݙ[8B2cwtU}HaGN{X%E˃eshoN*LVh /l@4yw،ӛx;Iε1;pvLUMj|2I!x.Fgձlz@xo1ذˤx]laɫ_B9b^P"oT}jwh}V]c!4pi0, ӍfY.ZIM$މz(MVL ޴%,R"A/P.$*©"rìU %k`lȳfqoSS:b8j ǭ˄ÚB| (7I +UCt)6U3uߖse1/3dDW?3yˁq{GU>ۻz/ @ƨ\xS"u*,NeJ5lpls1$vtD 4/M<|X1/Γ .ẓ?-my2fL]bثW<ܴ`sL/$}M hlwO:Ǩ?8V;Ү/c*scgN XK4K:O_mY¨?@ IWl%o$"8?V$8oRJ?3| FaZ8 %- }Uo~aS$u!x}Lk7) vK`RW*e%`c6As Aiu+1 L"ȉ"qߗu; [U%2([ S8BCGG3N iLhMѐ .{\QOfRZ&X׏L+@r<94`:)ŀeLpδYrEPL LO]hN+d b-5a; DAfPd@Ql; (㵉I~W 0ߊ2W[`yB^m ٰDH֝L#_Yyf8jƏ{Qq 0>Z,5?4wP~ueīz$:i ƀ|o#ɷ06;tRj c)7cYR=VN:ǧ[5. S[ps#D8ڐ*qiusuTAnG"8\suo;l^͗pX'…' F|; [ ceVN s%thyo-UóXRm!zq&VVJ}S{m3WXe_v8I/O1%q{gIBVf ,? F#6:?hK <茼YȃsDkfЧ3 uEj8DS*L=r!FE#y ;zQovNhsO\VjK'9~dj9e> DiE-]J@'.ZzѠ< #M?#,M;:劶IqE"2L% I.I9;_]4Mjrd;t>U M݄LxQa۶tv*ҫ0.P?U39Õ7j={&Ǘ ꛻JEJ߸sUv0r s+IL @`eX<_!&n}bfRpqy4%Aj\IUQYf廰Ղ U]z`%%YDugMĖkuA3YVsp:z)U6΄g@zT:ٴ,(6`E\OA)֚-ޠ`]6!Do7j|{ԹY(ͽ13}z9Gx-\vT$ 5"sLvO5DM"?%P# q킢FyV8?5jQ1aPO:ft vfb1mG6uv(qsz|qeV-©ȎIN CVBGVzPFvhcPuN4Q^TQ &t[@$S6"@ˆ?"!]q©N0tvx7>s['hw,5qH_c:@VP ۂq&=ud,˰Is@ ܑi@)~^|}S6DPjLr Nd,#]">G_) x{b,^eIBWrSHhr>alˀO{:6z9=O>kT]+YM @^Y/^B>q8B+ !ٽ`4 ME%_.a Jt{l';:bNe7 Ot8=z;ڶC ğZjȆmqG. X]@u5Sr?0#,L3*4tpa^#]6-.\Drb6x8\fED E_nDԿ36Y`\4 ˬOo0ҔFʉhp)2G2Wih =41Jq:8D+J2$]Q<xtTVrѣihaP0G:s:)R*[BUgWj sor9ϸLE4g-h\jC 2EZC_H6cH?|'DU͏w'hf\!NcTI,9kǷxe/)uV_1y2yW_pt6f4"u cip$*>k˳m+}0q|pL9gK]*F / Š4I"rX~&re@ Ý,Yp @lK@FpW]Nx ;Nlg2?rIëo '<"0b8-_'.@f0M8F)[V9/ $ a/n{ ><ԭe|ͫ5*3%qn*o4D0Bi'#)6rfxHN#t +oe%z"naWw$&`s䏜\*@J. sũ/$ /-E8E3DNaY$ۛۨ߾>%,wt vO M}ZjtwLjuv]mD#h zI=YʨEuX u>wOfIUF;hbSCII:ݞrUp/N>S`e<Qu5 M` s4.F)%UZľ2JvHz@7v# >g..}wj\Y=>kلKx9aPu^o+Hk]:,`߸D]ّT xoҔ}UЖg\ؽQo6HxE6ȇ$1CyC.~W>wJ5#v=ÉT3H`S%er*Tdkl^ʾJCp_W6{&DEꓚFZ$h[ȟp!kl@]E|G<|R%>4ZI|{ؕѦ5{%l8{.%s&m=1pƹk-9y*cVs ^8 S X0W>,hWPôKy$7y-oylL b]I T7ݤj$,\<[qiV(UsI2}ڲFCBwm}SMɤc+mؑs%3Hb["! 1E)Ymr}g^v}@Jr+9M-ݝݝ t9!l 0;lw ?0i}MA鵸Mg2ar̹z?-y4[9&L'0O2eԢl )Tyl'ypSrTxmɓ :&6"֏BߐFh8.L,$Za+VGH%}!BHYXh麕^"ɷY:iB`+ k K:dMar@쒘kIZV;7u-=n%):sRʱtH=kPݨX_)YU B`Y!Ue)&>?aE<#@D$mK#ܫY]z-lDg;ad3;I:9-4A}ḌJ`XV _ b!UHXȯ kPty\ ח#xfu;vC7hvJζy`ܬ#wUWghDETb 2`9 n$&i﹓Txpv?J ].6@W ?.{ ewLA#Hoh}{< u#W dMb.QgCz}f ]Þ.}9U13wGųgXnn :eCRwqHQAi Q/ f -8/H,3]0ԴnLSP+aVN ֵ \bD<[ق #}muI?N+C03r\ k8zoI 9p{&bV`%`1Sp {&1ei)u[$XӪjK5S(O`Zs"E (2GO@"kDF!!vFD' 9ꔈbZa+0HR:D^(`P8Aw}3傑90ۈ)2%Fc|Jwq :$:A}{C lgfѓGQ_rjFFԜQrK2㝣n{sBR%R[3ɥ2V=D13u\QM[^X\IUTVTK6`(b!72FUwCvarI+SO<U6ދg=k@zxSmD"ETm\2 Lt6-gjv aJo5\/ O{12RrC'Q)t^Lm6I N0,nN<ɽsOf~HV1)n4kLPW d hbnL qA#;Cjlo$ή S _SGDj%+S4Ƹk^5tq9)S3+yS~TR28z8H<ʲX-zmezw3Jо*DBvsski:gzʫq[P PhKj7!̙H-j M[svolQ:Bm>V{P,!kYa[{ "G e`\ Gk#g w~WnAGJ-`DTIg"$ S`ys dw厧TG6-Rky?9*bѳiTs*=ɀ*V!+'<`!uQJQE>!ZD5.E要p&W9-[ksWV֮Q`  S?h Iqg(Z($_ e)ыn6!`$n.qII gDlClU>z DJVzJxvaƫYts;'b|$RH%01*Echː*郼7Do}*JuR˒q <gt2Z3%wIG/.g+=UaZp$}'sM4]L̄)Yf1Z;ڥ7\@W|N5QPy9KAbTE:a ^hDQgt?o;A/>^ly{ kJms1%m|qp$0ag`b|ͅ"@ʿVEbڔ,g9H,%H yDƗ;}I`&/Gi8༔w/}- \M,07hvџx̷b .gi"i=? W^ϊs^'M lp}y Yi9 Mq0iIN=?蔠`ܝ"`b{ 6i8έ ov '(-.B$ß D#1%\W3kOj?/,1ãяzFx`ϞňL))qq&RޱJNR?g *H%v4g@|j2E8ph_Ld6ʰń뵐_j9P4+wB, 8ae,'6V a7E^U_BT*@z">waQOQDZ(79!\١ 6pW¶04sˠiw%hvuo3hTsE޿1:zcyѳ֖@?7]9I\!E bAu 3{ !uDn{_ zpD41~˓lӖP%*r ,A$ihIIMI0"EL"Q+Ƀ x D}&uJ*+]W'ȬA.@ҠF:t1 ѴI*- OFc zJ7l<9u*@#k*O1`[ja[!nVF꧰ݽUm, 3܏'tevB(]IzJ%9,<.}B'ƗY^0?j]2QgIA|Gfg?)iC+Sٕ o1Drq4()M%1ziCgG{rZAj 5rx &v<PﻣwHbLt_3=hYb .sЮeֲ1)%0d RcDr؂RH! `6>!-RPQ{@RPllelHgJ(x@G <!o*f͹d=e&"n)X,$er&"ETXT6P I>1^!'tw G:cMq$yDEZyL$ޕ g A3^K; Di6$I]8 cw4hYyJu|Q8y')'D S̸⬕S$=)o6؛z5)U㭐71b5{z:hta}[$"#9FƙCmu{p_B xFdGUH8+&) W+^/SI*XH6wnY "GM:i C_k\!`g|s0l! l9A4/M|'Zėf^iW0Si,6U4Qrƞ E8Ü+KsR|' = N_pWT\ 8-̰߳g._fPgj=gyIςdc}d6xk\djjs&?Xأ O pTu^oErT7;~\y1W:׫V˽uyZ@_u?XGOQX_#q,ʏF?ďK~ҫxSYeYZ^˺ǡ|\k=|luULa¸=u sb7`e- V N[&l*9|6H$#]M8׫>-d(w-S.<5D_q1ǩV{?)$3I2+#$u1GʧeEcN~(m z+{;܍gA 3L^g>Le0/( 'ӽ:WeK׀^ȉ9 \p*)ŒtЁ`Q]Ob >vg>1"g<_ؑY*iY,2yTگb_ .GzӋiȗ9?yIyU9ק~\aI 9<찒w-<.t^gOqL&<\8"-g9ޒ?T de<`#7CYxovZw?ہ*_/Pd+쑨w=j5z'@T/*+ ST=yX:)>;; ŕTh%7$ZΗ֛ 5W*˻Go:+6Hnw{<~>C:t.q7z)錟'BogkW"Ƿ=lA^gzq4ނ]@%MTyKL,ᶮ M#nDH  &ht sp\8USO~PvG\V!Ȇ,4O>2~9C ol ~#},n) %=SoS-Ǐ/֙oiG2X|'FE8awЗ4B^maEarH IDc5p뺈җ]W+>nnaהZzHmY"<٫|v+r-,H򐬛Ul/U-?wŕkr +hޤ5n;\Gs0yLeBAIbӳgڹr磍*Y#mw3Q`SA&KV3[ ]л?\ Y>bj_\i||[f3Pc;%!Jog-SqOD&ՓFPg"DW7=zOD8e!N"B/|*z,GoEɪufQ:!b80&9GISIONV>Gw{:<菜%|;16tCN|߷wvO%h D]^5l#o& \d` hIa!V^z _BiVZ[t{''ӄnR3=xhAgWF^G] ,P)퀇_֚Jop;_;܆?h߹N0X:às2Ow_Ic^^Q)bU܉^8aN􏂟PУtx>)!ʉTS@Oʩ34sƺ ~*4"ǣ)/o;.Nmֿ?ov V=֬e$66yjjJNz[zu=)j^UZ#*?!9T`zxLjw%yp֦8_1Z9!؛WXU8N*tA7:v&pΒ lgE_Nu2;Vk % 4em'JE%k GE3J?]Ε5*RY^Na;56QIw%J oۺmf{+Om(\rBƵk>zIw 8~ԃb=NϤg'A}ڿe7F%ۉ1N7F6k̇˔j/n[ӢWwq`Qn)gHыf8b76#FxFXJ$a -&[w$IR3Ϡ K,0uwrJ7{Y Ϳ>crG ﭏpp?{ 6=e͸\D+O /{y[_7r.:5yZ۸ǻ㥷㦷]݇bӫwSʿ5t]\ǵNYmUUmSQ%֬[zjaތߣ(#Nj-  f)(ejzƣ6*8QS&_KJzAE,EU9hƮ oTTqCqgV/WD_^|,5~SB,#)%\_~iߔ/~iߔuyZrǴJTʵQ tJ*oʸ7~lw, lqgc5`i< ޼0s27v;XmQ'sZoo*ȻF+1rX5\[:J^=?8jUKzzxDPj4}c/uu ߚyrJ,zf YzncUCKož 樎ķ/4>N$iQ9>0(uu% Fuނ&(oQ m7o[`ds,9yʄ, \WIwo+S`#mvk?*_^>Sإȶ9W$8[^7T[_˯gohI4rT4#K۳{^wLy{ݞ S*|'^:U;.e~#LPKEk@`9źsx$.VKz;:fbG][Vf~Uz}_v<S`&򌑒Zp$݆5µ$8olXiId7w2W&\R)$˳iE>*-Ȁ-҈͌®u*@qTj.!F@쯉?fr5㧮gB 븷:Re ?JF>E wG'&9eaS$Q 4,-E^Q')UEq_ ۋx2Ž{Vle[ 7^O MM[I5+RP}N.4TI;ʯi}\ȝz>.åJ# y3@$^-uMzgo5ύ?;׌ KV?2 0S9 ܛ'<\>RF &v86Ѭт5Tʳ(%Iɾďp+Q.qaD[ twszj=A2Ga٨g9KYr̂8 =g&2#k  Aw@} ﴕ֬=Sd;Vz1e^&GWC7/k sUkl`N7jm;ͣA G *4L>K6u;@w ŕ#$.g7ԽIZH_Nl!WVN]^ʰYw/ WlkZ0:= dT#޵f0 ӋnƯly]n~ja[^i[@pnul/m*ڃ:c:LAJvoՙ8RsJ۫=y@U@|8ĕxzޡPՀ^`̀A|̛ !a8evWskw]UB#WIA|t x©Т^/+INσZ5Hd"ԑiUPŮw&HUKeB+VR49 VDȗ}V i߭Ƹ̲j+"f i߫"y[!5E^Ũxe%mH2ShEB)ITS)*N;slT *`DF}(V73WĪޢ xJZ 4 GNPY[E;+N׊(6 U <8sM-H Bdbʑn(0x5&+w$I0*ʃcڡj$-esyQ%ГquQJY<nǥQ?n['{eåk^KU hU=G(_0j#ɦ@J&tzLJ6`-gn_QQ{$RR`vbOBZ#W}$`b^1?wѻbDADt;Y=:[N9jLke͓tI$URYjзQQ42}O?t`),àp1 /H0" X-'Ud#䳲۽yC[p91b2ǘ~-A~296xwt@E3/p7]m.r+c<+DO0@tYIzNc ʗ-̄2{;h^@<) xzCt0Fyo{L/?Rh,NAt ^I Pեrߖe{PkG*|F!P]єD{9İj2;b8>pl÷xa} N?vh|kSOK|q>ڧpw# eO=XH q)|NN>aC3*σ|M?{ϓtyVCVkbdM]EW\S͘{U,Cg2Qt$%cF fMjɩ"P:4`?BF񤫱4:ڇz'A5gHٽG9ik3q7q(j>k>P-Fo.^t֣BzXTT=Zź̿g' p6 sj%&no "KS گv5) 5(O0A&WSO4>a}9A0; K ʐcTF]$OZ@j:l#tz9SMnz Иy:+Y2}nd &?Ť\ʘ{z2 `(HX=~W )4L"TVA޹R / nOoeGZg [4iFONV\liC7AFq7cw9cwd^A! :ݎإGm6!sJ*2Ll\bfx"~ssu;x蓸h*e|@Cq8rv'kH͋`VƳKGNSVa~n|eX*-Qq2v~{Kh -tgBWڟ:.5ډ4rP+v8,uf<Agt\+ 19>q1iNn:]EьwѤ@FWI^-b&̓.M¾u-h%<8ȯ[HqKfQp`t8&ĠDKXtŻbSHU b8DyM>C(EO,Kψ~$,4  ?h"}AXriΰ AgJg.b\D$,/f5؝^@&bͼx`j_&:! n"a$ug< ^o8ü-(`/X-鐁>asfQņW*"j<']dCCǩ#f0O`:^:{awj$wUoZ f,/7";) ӁA2$Aqax#XDj\IB&˼-,| >-isH<{3&{*5Jgh$թdG~c t7ʦ_DJqu^2nBƚ< yrT2VLnSMi:^-.5swŤ+#$b7ά!0Gs2 CQ&[g%[p(3mekN>$/IUuFr={vpD!|?IN6ؼ!faDx{q *~3yNy p`ƟMb>y, ;S˄jlZn{vtG>?D/5O+|].GI$2ۇ&U`|Qӛ+)Ixܖ9ho=\,L{UyX%Eܵ'IM|7D`35" !LgQEГlΈw55ŦIn0ԛiJ V|G^xxOza|`7)3t>mc޸q+ly| _\R탄 WLreobFOl+flyjMlXN#HN|Oe[IK΢51I0&49ʈA=Cki,K0P_/Aqn_UM'vsiE$GWGH5QQ-ћH '''luc@|!zl=VMrM{ n'u<ل?S]"҆}R\RH ޟse! 5hyؒ2A+G7;E@[vvF쵗ǖAoXೂpxC̓Y~GOS*'QMZBF\/ ހGkS@2-~S9zXt 3]ŋE4a)D"XcIRs^ja!o}).jJ+8^3meqZB@~ցɁ}=Frк>bAaڔ$!Jp @@\[qQD Rjx9(oW&\8yYpaaBš'?`F> 2іL_ ȅXkXE2h!}Ht S*9b/]2@mFXSRmz4ulW狛OOpSXZΥPrGy ̹W7iT#{昌3ٽȅ9hM'!qQLg)LqYXg%Ơ6 Za1),5՚_uNlEm>@}(f^%`H;4H 1Oy;232Dk\! =EsttI8BZ'niBAYh)2#=ëҺrYe "ܢ> ^:}R7f=f$Fw97do=~<=>,?>rmib*G+<]xmiZ_V_3Lʲ<+_Q(~ivށ mjx?>\M"P'(hOyVRn=! 5`٪43a#q虻dpeA;[0WǛպ[DQwNL" CX}>,4!<1hɲѠ IQh@8.'?tH6Ug00?F,Y}~((c~ xg ¦k qWc/;zKԐGPە:IV@z+j $䫬lyq-mReQSHFh8 G4zuq/[醵@؍nJc?̡]}&pGoG>.iYm!? 7~gOdXuG- oû :ew.3Ln>!LLp8qn\k{[aEƸ1X7 ;H;og;òcpzZI؛r=ywZiI8mQzwχuFiD-KXKC<^a*Q(+vMƩ.~Uܫ yr2Jg̊,0s ,y\d]\J׬zq謦Umc$D(ixsc>) 6{ }-,2(nc/\Sq#V:~ *ռ Ŀawxs"9: l ;Yw{6b..KΊ'v\yE/wG\ۢ k3`]. ڃcնD%bQAލ#bsgFe\uw9"p;M8cn[OEV)wgZY7)L/dEUL\O]58'G\S1虨 D8Ǡ52L#r(g`66zezD5ŭE\"|SEP,+gDS43 Ja-(>uu"eC4GH R$HmHP/'hbKF-E@.@Hpm[WUmUG,(xJoYdkFAqNӳ(T.<'"֐%#~Qi'h'wNwdU;M"+Q;a f #=2CVfyOK|YoSEFUL>񅦹!0∋SwV GfS8nIE"y}*u(_:ebpeƬ3p9}T))$k@ڑ.j*_)=Lm|IL8ULfK _dIE'4z:Jb8|:UC؃8t2Vz\e z{?XHd-=\GW [wFrqݿ!Dpr)Ž/{yulY|ƽVizpvX܇F5Ir)YpC~G+48``;e4uܢI4?>߳iteW&;@mX4x-G#R#[EwMrMX.cf0Joq%E|ghX#P>X"M27&I, a`,WReic,3@()B nJK:FҐ(s *c6멐x0 O,A⌛ṣsl rFUK:8:^a2[Cԡ#n6hSߢ"5C3ކ.C] ~6b ,j¾ bWˏŔRGU(bKC^|1@\K,JtMrRY=A+^F,ܯAUhLLWvl7bali M*l&1FbSrhF2@+e)W5s`<4$$ޡXulCϟJ`V{/mz0HԲ0%Xs W=;*rLKӼY A.deN4IaLK(0t kx9Dw>Ws\XW'VH)a+Dـ0W< RDm":V HM[BVبQO" dV,,%ŢydQcK.)@$4=3x&#d9 @Y''`.zb9hEƝ@0N1m6C!LOMT%3 4Fk\F9=+%sY+f=i9KŰDI[jxJEim.IPfux)Q#$$L'Q[P8:U Z;TIm&[8Q `"qY9*M0c-};e;ɗ%X˙L CmE-4*zRjUNۗUj :7GCa5 4lRBl ڦ Ѥ^5;?-uB]m\wÒ8tΡu߽p8y4#?~2܇t ׿ng,A ōf81yNdotCA'tвݐ;U!kz,ef@ATeoMa#~=aQEW1973T6hq+LȦ˟!Trq״R"*t?T Wm}<1YB+%QKofEG2Ko t}VUivgGi92G 4BP*3Lĕ[$KZpWF(gK, gV(06X'3XDoFiɡc|q@6o0]cHОD .cϥF b`6+UY,g O'ady9&jދ2A!0YXD ziI)#P>4Md8o'gRLz`0cz=Z.H Hsq,_g| ^ sHvq iT3GCFˊQ˸:t@M:[`1F&\w6T)mP]:wGȦd-DvL6þi/b[ۥ 8_[!_*}R躕尦ZTsҚZ+j|]k%hkm%kΊ0 :%Uإ%i!Zc7;=u=Hz^aK|Wэܚ\痨yAa|D+N%z'tv- p&EMahl It߿RؼEY3w!q jRr y沛V4u9dQ^^،~;w\>,X_ڜ0SN%4#ϷLZst  O *#m )&FަP}NWD'Ǫ%$ӵN/AvF}4+DV{|Ln$ͧ Mo!byvEXhܘeP"uVFqq_Nxv6Dc;W>lkʶMX>[fX?^68"dljȁdV$&+Ng:)N+^\+jYON#bQT<|#nNqUkqfwn8?11 %-+?Z!py h >( w n4yބgI#`E|J KVpZٞn|nbxKa+f':,Gk\HJf0M/et厽hQ7Qi`@8b?sϚ'ߞЯ-\XQtQYJl/;RJD,ref+s;[$Q8llsaMC:U&.ogeSd[\ȋdB6gXvy -]k*%1 C*M=qu($9T +륖[N~i~ 7ASo/WL^mP-RKf׺InHԯYc;Im91C f7qFLcf{U0PyYݘޝ8S=-a6u;[1l,͛8߻*e'}w ?!U,O{3ĎL||,P'9/xOfIk cluQgZ/=";')[ q.aD-tv^8ۉTq$h/.5M Uf;pw\@rY!%Pʐg=9.S(~Ц>4~2{-{Jx޼FNn:&l/(#0sեg|N2Yay:z<7{x}D.^DI$сJDػ@M( oۻ ˳zڭD+̽l0w}N9_r 9Z/ޑqx ϓaͅA>MLzbqda~: 2= X5W=B؅bKTۥ&۞Lr+F.9fE9Gats×$o'ZNMF(9VB+&Nہ9&V\~o~:ڡ@϶HL<s,8HީF岶=QQ{*lU#ҌjD{T |b y7Lew3W$9 uY`K "3[-2m^QM|lE+=2FDp&OƉ `4N:.SW6rᵿ3z笣k%/#i/\ñxKa+Yeƾ0 m|؇(t^gt3H;hJׯwi3n0x`P2b]֎`+7{Q(E"TNZmGI#] (w>ēo-.Zy~יns_l;SU.]_HR8nc Xz:azԑ}MbQl1Ǒ[\bAr`Y$(2NLjZkeBteö}ς`K4 zdfX`Ug5j.no8jv:wtyYMڃEQfiY=Y#^.Ǹ$Nb{i׏J|%ZP~3P:՚eVtךi%d} gåXCnUn8H`ˇYŻdp ,҂rӮyQrgM+5#Sqw׵@=3q5d φqrdbbJXB,A~R_LQ*&N1y-E8_B>֙w]7S -Btn/3pu8j( ntNFA~4F%ІbQ6x'qֹɼ*WtF}^ܜ,ۼR^ZfK8zf"{rZhGSv\r{CVDSd7|,B(<,6r#7WJVEYM;rw".]_Vj=wίmoyJ. _A݃r©V/(Q|$6᷏Īlbalo<=Jf)u}OB'cZX/ץg2+3zuUC8piN,$AR#`ziZ73=uĪmQ _Q\EdLrD&oeqMG̹rCwK9em;4vmgP6\֣-$(t$˔N>^n3?1 4ZA w?v%Q{dEoʣa,"cTl/yJ@aXhgMyG16/8Sd;ɮ~χK'x`nEsq{Z䱼ٵ8_ H }w b>4մzºZWG5Ckd={W[+%B<{=3fv DYDb%n؉Ci1΄>`ɇy$罰kLG1/nMx#sߕĵ{1h~y&g%rW`_c2\t>%Z;qu1Wd*ۅW^k"HA24ICԚ$%,4Mf+st@T2 ㉘z&3,,F&A21j= Il4jxdedY#Z^-\9&K疲:RaVQj ZqE0; 9*HSxƃPx<[*qDr)އ#<ұWIKQ =Jk[W0:__&Ƕ|IĞ-F؉OWO#c[nqo?uY^- 3c@ku[Zu9Q4l->pTP60s) 8,,/6eBe\sӳj5(ct;t$D'Ȁ0U\I6!x *)9y ~ٔ2-]R/ˬß}/ܤQ%7*-h._rbHFj; O"aG \02ņcSL[zp"j&>8,IG1#3AjAr ُA\:ac"ȲOu"Y^-&)nE Z7+_l^AJifǒ 8cqQLɼnRО =GUJ< wkيC9';+mQʢ}(4|X,pxls39hp 7l=9ӺTܘf8矚.[#PK:0S?e(z(V u=lb1DkGHw\1x^{I;Gfsa}RߜoE!½7`o5<2$rJ"6UMxQE;P{Xf'h p:I!_񑻻ivtUa] "Ps"LSCR`RIu7i$9 `]o+5Uz%.CM}v6̭h٘1 hOy/lw蹹{ղ\G8pzI#;T<^sR"yȧ̺͗)sD΂'z03]<Tj8B{ϱݸ6S-KqPFB(W KdIFF/Ǖ v#:ݒeӒ~OIzvA+B*PN\V D(e[@_7gԘҥ㾊27Ur[;Aޤd=Tް{󸒃j{")Q+GX]}&Un*PuE-T*f&);weū'^Y94݇iOMQ ?SHV.(sj&}ML" x|a_h@_a~ k 2Ǖ\MϋGk2qcG(Ζ toYY_ ?T7͑AR(KqTI 3Brj tD3(ӪV,<VkKB\_=w6%I_3x5mܨWT. H^k9(bӴ +VBĎ]EY}ˊ FbphM#pkH%7p4xZ# .)nl1LG2}D\m㘴r\U3MhCZ45*k,ՖPFzV?9&4Eq2n½Ͽ%;A%GVunxuOx*LXr28~q2a*e}@ X( qâ'T:y>ɞon 7)Lgyzكo6g PtCEȨ$[krzQQdVk)pv/$a_Ayo?%Ƿ=/޽TA"!8I{M&f|Kk~Ave2v/$^ph wҭ\VᘂeHfuH g9@-@ h^c,U֖@Pς?r ֥FЯQ R"Ng"afPd).&sp )l w`8!2 +ʊ8OǑ>IzT7 XBE`fESqy|Iz! M?/.@?t[@>qzp {Bt142Z9h8}MT kX[Y;Ŋ8P/h@%*Q[y_}f6oR]kG^I=ß[[϶>OӭO<Է|x/A+;Pa2; ge+d?d}}m=8yZ*0[S$u qO k~vn34b<8<:66F}N(29bQFab0(*!p ~pH AOA/W;u:ṷJQV뭈9e# `9Zȁg%on^^^Z XM1n:/q~8)1()*3F7huWܝ~n; ~Fc`Cy4QL Lѿ ݻ0!d?5,< FS2R LNLu3v#;87x18U+;Hi4Hb; X؏'t]X Lc4YU绫%;z*~I0v-<>>QG39gE>8_NኊDyX$&6S?tW4,bMy5_Cр^:JQOYX⶞pb<%x*Ԇ+StP.ljZ͍>r/"hp~`۳ɀ E8W75YxeBE5 3`&WњlhhEC\ $h4ZGϪDj@ΙYC3o$D,Z_Y2  0p5^L vz[21^p rd?00ur20tM38sQ?0L o,! u5Jpl`1;@̧1_qFI QX* CzFjl,?g ,ЙVs ~E2ؤGi:{}fpeMIMPoT<e6?itTDLLUW{6L*t/_ʐ>.Y5?noVU &GA(&l~X.W@O U夭D~J }G ܞ M[OsJa-%#t E@FYv &ԥyW_ғekx4׭T?h-P/ $3@DLCg[ "Exz0g[R%Ut7P3(KʓɈ% R: ΂p4$)¥b3 ۝8nA]#3C|pK z0}bOv5y&/"T-Tx#\Ԙl?KU"f6}n ]M%e~ba]_ IQ )ngM4;~ȋdžY@mCgtY>92e[LJz8%SmfaE }6x1}uP}EξQXP*^҅ѨoXK9x{R=vcpY%LWFt˿F(ׄb|?l.hc/4ʕ+[tiNX%S5.϶pP_Nrkg\K]y-3s7l*0;o%;eG@ϒ^rṄFHr;xԣ['2>k<=w.2r԰<0{b9#wSҗGpqL߫ϋs,[ OΑz~HD[xWs 4yʻ̕"lr_ErQWޗRWޗSWޗSWw|i&6FنWҷ,Db_vC4?/Hx&ĆG`;n*<qCs17d|) (vtJ` #+Z(37{,^-sU9gpc\>\d^#s06"/`D 'jM]"^b6/C1w{sw23ѻC6}NZD?FC v6=fiOHap4?wdՓhqQ#mUG ~6(l:(;a@\*S<QS$_/{8uVlf =ZIPWtQ%i) F&Z"D3XQȁ!J@uyRxȊI5d.VTb۝\O+n"~.b)ǓY !%SV8DtLY yɋ:&Z{e{0&|a"8EQ:͊*ڪmʹcm*U`V7 rw^Xs ]6TUD FSS `*϶ %E$a Hx5 k܊6sTrwHV,f=}6f! ~ 8?Gy,iI/HoU.q)/s65 s) EvDǣm~p/uV|!+_}|cN,Oĝ0#{B TBsZ B[ D*.[گ]1g(**fU; c(;>52% Je|RLъ=>U5Lj"U* l<1ߚD"3ەN-XijNJzMPʵVCy,9FzV!pܡA| L:i\'YGt@^t.R<0xZW,^tw16)QĜIT4FfHo/G|!q.ˮzOSIPg#K|cA?#, F_zwGG՘LXn(gq`~QR8ByQ%TGW]q=뛃\ɓ)ZG1Nf!"bq"6r_.’#;Y Ӕn<.>]fԜT.3.MQ{t߽S7NhrL6JCԴ% dV6,c,mKyJDI$P.n-V5L?Ʉǒ#e DIFŘ',H.PEzSL?WPFhʇcV^ tvg.f3$O$^xj^$Ss@KYWeO5Bt .BNoIoWBBsNO[FC.Y}9M '[>!:RQt4$Je% /&BfJӮ,02~y_iIn^m E` Kv7DX2;&jzLajG?EQ{̻ lSb،#nГh9.-ek]=~e@7w<<w:'4݉wC^=|3ۋk%CkTtfnG(h sƓR^*Jz+ C^ ED(09{YICo3^q:Q%˷078;V{n"*%.8ja9 V,:C1zT8F jA{{ #z7Df,½j=Dy\B#soJ{z%wo+ﳻ#4$^(G],pKZlj#J@~-!:!Yet;޾ H Ȼ0"|˴@1#G+kRTGTj(FظX`3K5* cnT.JHYYM\te\CA<`4]sΙpU+nHdbQՃꮊgC#-?Tˡڠ, 1Wz*Ա~{:s L'kv Le{?@$mQj5 qf|3Xg*:[x|vD"&!3Qd\;?2tvv̲EPS*'eB7ɃRn2qHq\TR)HX6Q$#Nt:S ѝcSi6\ffiPMhb¨|4E+>]' Y!4_tJqJ!bpnljaEFK-sY_[O3*-d1\4;e8$v(^u@m0Ju *%oI"[ `'N@IFHds j/WX{6\}'1N=dWZ0Xz[a 8z~eYx& s.awL iwi}WJ~Ȥ{h][n]tYgv܂o\lsAǂJS1[0fĞzm@| l0E"rvl>pKȐXD>k^p9FݕwYs-._ϊuq ؽ:൬j'4Irߋ(28l4'N#ihd`,#[d]FT묨x6ܓa MlxNPiʸmeK9aȨf y?s%Mqb~x r7Fz?!1NߟF-w^b+|}S($? qi2d1C4("(>E7F䄅Huy5֨Ysq|iUN$K-| ,/j ]G}s^h(Dk*6bow RqCU՛_ِ ѴBE@-GfB5,LӺNUaq`;orO}>6R4i6+fXb@/pn z*lFUS@Bp˯)^"]*s>CJԢWZlA*k7~9n݃Nǁ=RmՀӈWLh¥ -" Wg,|1p@ 9 {#Ǔ<574%*A՛2f7Bz#K|\,5ͦr&O;ldݓ7h[ V՞ ¶m PSw W L􇩄i;w]N#rCr.-_`ٷ3]3h6iI%%7M` 59YnaP$ %exMZPLJlqI4ø$+Hi)7cqcyM})!|I*&Zo sqb&G*pI$; fz$".qW>qΦ(ϹҤ*%GJ& kpy 3fj4NXɞвpkIf@![1 ZY>ΏicNd>Zy,䅇0jӈ j>+`JcD>-:xJf*"ƷlU'RXx+Ў"%թ '?FulAU3tʆ4NrN ظٌYG0d8D }W!~s.cgwLk cI47&ݝ9&\CSo DM]~D@(?c8Ϙ 6,wꘛ02:줤u3woBaj (ӌ2H^Qx#ADF!v*ayOp3s+ZWV<yG/<)e5<ڸ`+Ji㬷{|H`첔D%]6-5G4)"`-eP!)dbf$1~S4R/ ;/)jObXNp6N@z B!TF>(Hfb\߂K}N1 :dK&X$1pBi4!bg?`R hw!{ 4:e(+:vJq䅷(`C륮цLKPD6;aptyN{ 1ooGr.yhZ/]7&eNH]sɌSqI$'zh,1Jw)wT_Fczu1hů$=:ϙHg(S BJZO@''o;?ۏH.zE G"%8.P 0< teIRu3[߅:I{2W7WPR\MDҤ)>KTpyT,\Ni(23@k+X^RNy[Uf"_(ebzL:&TB(/3lE˩ 4jjwv[N*Dt.߂ޝ/VDZ}I։ y.m%v٘X CjJ~\ȕP;A&jZSUvpZD ]YU)^7}{FZr,ԨP;@C b8 I:"x9("pѼjUN2~agn &~+DvooQ*gўz_;Vdt~^1c@Uը4%^. aXޣ$'De4 >-(=В{崤8+0mH#>gCV$R=c`8n5U㦦rVP&!@@ >Jk :iRTH#8)EISshtJSz!( B{Lx2D.!ll3dc߉ 7ͅr<5yH 8GN} kLh${'92v(E:Yq* g-\S@#DMih7yˢҸ6JѼ>;+"ܐ 5}!#ݢdi5<ݤrWb og2tO 6]h8w"6 [ ;mیοqBDYfV `9EymO<|N϶nOy/3FA7 .P+d2ImbLf.lTԿ[EݓYx %Ǫi|vt9Y\:cgj7Q>K>'%9%7E k!f oՂ=PF"_hG94zI*BQ:/3Gt=e *UDB y ,^_9$ gUy#1pG6Il ~>*9S6b̈JӻZ%@"Xp8h\HPW輈39-\pB*U/}|e#5AK")}1 . LlsS/=RN6kky!\1T+2ѧB줄2Ot4i4\8uf4ʈLI|3iVRZAJS洔a~qcą^Ӟ^"e'P0YO񙠊ݨ,VKUއ-NtR""Ju#PPQT e?:Ć![ŊG}W{-f)* Dqx [#Vt:ב! ܷ)hk0q J7ł#lmܣp] /j< fߨyBn( 6u?I:$}*hY&]N#5Gb 3<saQwPJՌLwl1 9vqX| gAql~ 7F7C~rbg#]0:^ae8PrQ~Vˁv`dZVWٹuΊƋH)N >μBpnK_XYk y?pbF~:k|'ߣ^-<}7ϟJR??RMMMMMMoVSϝ 9 lC'zʤA mw[vojB{`tvv&PxF7]/``tDLDCeGtۛ/g.N F [p'>G`8ZBHO%i?n=.ZAiCu5N~ij y Z3{)gv}:hk,J xȋ(a@ S@=Êۀ#xQv;qx$/X{Lp,ADO*[V 30Q[, n#,8n28ӌjaHB7㐒=%S,(,B.[Eb7K [.?@~;ZyZ^DߺM+#`s'S#S$U NQl&9j&rrŔ?ɡrI%Zb) 3zm+bp zDIB iMgyN d 7ya)_6%ckHe 4Vs!ǏQz-Qb;44dwQE̥ x&ZE0"9DkzǒyiݗiL۲?+kB yh 348"Vg GoU^7X 1l.0*&C\V:=Mi۸ TD=_5R-|Zҕ~!ہX ρR/BqHEN~ E6I)%EQ0owqxzM:z6;Ͱ  k:CUqy tX{cX5Qg_tg(µ/\ ' { ! ղI fa}oJlt1KrzP+*d~c,vuN{{5i?gEV Yw%P!fΨJ>2kɹs&w8wDLmy6;vl?]}.˵ް}]/!yǪ5>FOYJgo.B4 tV`fXd~8xT* ;ef.}9RǟMD엠ZFşEIzcipd#/l%WH8T PX33fq#Yj#8^nCAVY_Wa:;C=P1MwGToAj!ar"7$,_qDӥfԥQg! ( ᣑ; /!!O?;'CܟUQ=y?[VvTB˵~_2 =kv VJI &b8U^Tz_L~!f֬qk I[`u5x ubWYй@ͣG%R~𳾾|OݝtGATWwT Dbӝk: E @l4犏  yh%`]YF;sSeς^E2o,<DnsI=12씬qXV5rYecv%j}iY8 itFvc2uEV]͜T[:1s =5,ـ?652ROy{=S16~f?]zNB=_]/$IHwcAݛRjMnx, ^P}$uj-n%gzZ*wҊvEXQ# X{[Ƽ&1q, =ԯ5\jY{Rl0jB+ ܨ*+_Z'׍ZZ@s^0?jrː:=sbl\\ik]E|["FQLSŬv]NFB:MnzrE l3)Jj]q-KQapDe3KVwG u曫UCG"X_6k0ֈ:FuEi%uw†. ufB9¬oeAd'biXOy4Z.8H%\p y3/[ Oi ^kƼs>V͞_WJ.T/enBHQ7z8lR(U]Yl祎g._".qD)VQI+ym97g{|+16 -6'@~+tGJmzin^p^`,h֫"xsoMq|X[ރVOt[SxJ#bܓf D+A-oC!inϫŧ0?%}1=} [ߟo}wmzuHÓE}8ǫkUIkW DU,2 CoD.#9pP88 p0Mj, 7N(G;!,˲@CH婒dN/_{e1+*2b4-x}Nt o^7lk&YkapVib.0YOmlbâ;h(R<5Q5eD;ei)Jpp49~6{pQ8~cL:_u+3=bak CcF,颯S9c=̐9, >ܦ~<eB6PL73pt^ï!Ku: b-z`[αhX%NID=uD!`sڻM%oE 3oP()oT= R6'\47¸nKp26JG\h2@XG)&] +phg>B\vP94!7bq#kwOP{ϳrog)csvCu ˽HW֡/wS-8U߅pWK2Ļn8Emp֋l{Vq_/t;VwO=3 ˠbno.[vgs^j ~w97,\כB^n.wucKePQ.prKh%>~?ʆ G&@odbQ k\[KR&!!Xrn=ayىadhU}6houҿηnm=y >??~{o?ifffi^x6^7m7@٩0-J -'|`5<3d*/nLӚoƹW< gg} 1γ n0qY p~Nvv踇mYq:"Z-9ᨇvT8ow=#A^i emN[48>q#5ΫhJ<e!Uz%6?(a@g=>5pMx_F0N/;2|.t.Aw ! kw}RKö*ԣ^UWLóqѥ$z?I$":TV^EQLT*<$Ê!U$HƶKKaƍUSK:u= ~!7 9a8#`8|2[GÐLv_n nL/V6"$j2X^6Wu}^ @Z8'-w>+OE6Iy`9vkzqӎ"kd- Ry@.k+2y$z ';$콁f' W)fG;#C+i.$)dNƟ5upfT;N:,a(*k$1hQ*b*”VgMqV *"tu3O6YFoV âL)t;8a7jAiz]Sh$E@t>\}Lu,$">ΜgK3uۺ~arHЛXR~ȯ3*U1yXUWu+8\%P7ZgBztbԨ}k홉ooKDۍOvK/ ehE1W<p@=l]%&?jo(Et['n2CZoxMT(/2(p$)yl;Ota|!HRQ6 67Elc\s,zIX+ۃHqƹH|](CCdj`NV H"`wcUz!F  &}b=PWiO< V,UV~G=k3$R:j`%K$_\c+V/`n|7`1lg;l4+Y>ZŠ"n jA5D.W9`X38$V uz$|;F!*f$)u%iuĭ0XE_ (0H"Ls)!0PU`VIhD6+x b8#R`*/ϣ0 ok$ (+Ilu`'<OI# E3rvфkk u\LxՃ .hJmBAp4c60'v,e =O mt/_z'oZmUhqSR vT 0fN-BBúCXt/0qoSKކp(`˱bp&:/| Q&mJSy{:}`8HGC4",'@.%O#%"7== .|A8*^! 4M›LwB .`E4l9 m0GDXyuI?̹@rI8k1w!lDĽ$jt_ /(K1m+Mܕe.&:d|UƷ4 )\'tߝ4^4 !/7"/acܛ1LQ"8o"]@C{pM+:{ O3L+[TCAB{560abSPuwl5'<4n? hWa \4"l(s>u,[}i-$ME{"c;/hx_KKǧUO[ՒNM21%vąxPa92dI++q8YYZqk3%!5j#GrdǏ{n# "0IU4V."C5Wr_='o '5pe{2 d2A21yɰѵ($ÀɆ/!н%GU5PkG!&5@p/,"!|dcdN+Orb];TڃtF*%ePδyf,"" FJALIHs՛iyYqfH39̾f##3%wa3CrJ \fl i3,dژD|.4zMԜp@*W/ +u[ݔ,qR ZR{X|GmhbiqEX5fSK\FBʢ`0Ұa'}4װ4D~yZ)IP"t `*=M2hL?>NIh.*#4cInWyӍQlTyZe`?DB)lDrs( ʼn`mi)N"qt@FRpA$P 954*R2/D rQ<(%u 6SIz*kMWHkp L0IoKȟq / %mqKK߮p4H?)CJ W!LSL˅uphC٫3%g(v&XC<"3D .$u0DhigzęπW>^[&bCȍзiŅEJ7s'eq-H*X^–;%`$ـzE;d(XL67 }cu,M4S( pX$j2kvZKhj&riQ)UK*Xj5';3djԣō fFl,t^0c ŁH ,Jf #k TH4'kr %ևq5H!\$šÖȓ8.0rx*TA6ni4%Hrt>D:ɲ:0UUƨ2sn)FlJݿLCp`HاjT$$A "#00bћ;fdnP΅T\} ad# $;3&N<7TH堄SR c7*E'a)~ck@lkϪaBkd*#boD+fI_ }da]xL~S,[)tW5{6䛅 G \ |: 'TDHX=d$rUvy>veMP|̲ŵM$lj[!bt B ş|3XV |tǓ" P`]uŹİ0S:PyEe'ۏT@P_O{?tékZmQ  w'&r,Gpu48fHɝkr"[Ihi)4 Pj"է w0OTSzlo~(P8FPsOF뤷[rlGʎD+8X~dR;EXPfGmg Lb#]qJI*3:@oq>) T~ŵ0Hx*wU~âa0G׆;"qPEw/KCgOt8d` IH44o>JX ($r!G3pI)d^A_h`}2vأ}/IlC>b_w Wt*tgʅ0t^7Ozk&5VgdB@-46ZUVWeH+ͥf?kEiOi1-8;xneFI[ mE2)$K"ż\9$8cKˏ&l$PD'H܂Z(4O51si4LΘ$&Љ\vHRD{0UZo&"/G|ݷՙ G1@U ^F'((F5 gs  vݹBBȜ!S?$(,!Fl6!0qv{|^{9!0PvEF*5 *|."DX,sWJFʁ|n *1Igy?4=7@Qӕ_ TZC[cPt+(.vwhe)jI)ނ I+ ̞g>D3Z0A S`+S#*C>[qf@{aJ~nfc0[+]ӎfx~8S f`#ymbBDw6*8; k@Л8h NzAP-u1BpU; h,?1αfIQ?ՃrcAqT5ыaT4&bR~+k8*S~?M4*fi1!)bKa93 Gvm!$23܈ۄ&L@atk0!̰CaAC1kH &'Tpaxb70x^[40Wn0G)Kju^7̩Rní&etwH?]I_JW'cBP)a roIRqt:a_"Q\?9 -RKN 'K @(&}0 ef;H#PG d𑧖Q }Љd'( ( +4MΏ d4E0I9_oc 2A(PKq"thkRa &!O_M N|):`{y#>| loBӤr۽Q"G!66(Qm:i--AF\+{SZE_,gIhR8XA!zT iǕɿ[yrDs ߀Ϝ?}E^73̛`R,C5j3~9Te9:G7át YYYqIWm$W%LuqΒSކUL3#)gRCC ;' <51x2jI!ތR]0pI<"rq`gџhGyhP}=YYԱJ|4) *Lg8J>Vk蓬$[lhRxJuٚ SE8U_JKzfB='\kA*lь:w믭a\r3+۬1qwbY;ey߳KV'Nң`\`J/vGz ~Cz oۘQ,=uLޜouc;b\YwǁgNJ{vp!zL$RکjI\h?%tkn9vshAKOg _3Qu{Dľ.Ecdg!*tٽߒb}x= +gň^@\eR+Vz=not` eѾqrׂzc)VE-[Br\3Ϛu.%^_u-[ TַZ0%K,I\)BX3ԟa z֨2S*pU7x ü~v+e;> ,psSjDl= iLzcMCGHho './A|Ya!w Vޗs%Nݟ*hT~~mW0B TɄxq-vA8O I8C?_` \^;LŊ (LE`gBqy$ms3X@=|Dqn] ً G 54&n,~1XAG~y{U+-Fu׺.F1oE U8^q_~ |B-裈zq+? %/C{Ω^c|At)1d=F^TghwvEUÕQ$R ծ3*W/QIw+tDy?x#I/Ndm"+pcȑ;$s 36nvOfhcfCRKj5`Ǚ>g'[*IRTLje֩mt֛0t 3ɂ`ex>BL)p\h4̱ Ø2fՉn&-m'ݞ )Gخ3Q,@ĞoE-ED<Б1:ʽhX= Jߤ(!Ep½zV:;tc I"lV 1*d`1" Gܕ MTdýhg~'94]$QI 1&] ߄Lek`]uTϮYw#:$}9bLp䚀)hNG^F4`]ʈIiAn@^&uIq\_VP=.: }E"_@mqY:[O~:Y YM#zz,*"w͸G19nA('# x_zf&B޾+m19^~)}1$(ӽ|NlBwjji.3k+M 67ml?MWHOzmܽFJs-ku.u\}˔ jeI4 9wc`1]s`t fyx193 q4ɰ32 &L4}^F4pR_&0A҇BjVda 4-r4yG7V\ |X\ULz]XIOLǟ!0+ZV^7k7+ƥ&b쭔ij 9`l=mzR*OD79,O窜p̕="-1/2+&&M<4G:VI9XƧbִ̦8:.Yv9L,\jwÛ$w@Tdt-[^FI,Gq M/q 2l/"l`w͂\ -b 5$IuE 9 zp|( ?yuO8LjTI*ٴ3r-%d$Bp@"S31uTjzt1(bm4;ϧ67Og_Go4;یϣ>|) oje\wx#5WRFp=ba0r9Т0D$)}cxQzBF:R HঁKcM ՋbRIuk1g%<.4c)?xz -L3kŢ yڙ87}N(eDkN@#UH:$ȴM0~YĔj8@x3 (7D+1[W@)(P L^MK& Ȣͯ[,VKg,ӧj:_q˓Sohԯw~E+1[:AלIZMS}%9Ybwmŧ)^Y nKld]o˼֍`++Ԇz#Ya0 s'M91W6CZ汒a DjHcb%#->>t散?jf# a¡Bl W9n}vK}GQ.ww࿕N{x϶*UR~UTՊWlom+XuAWdqβO`<_Q(zQI2_y/jd7e\SI8y"YS89iǣ̩~lw[|FWW)U6Ryshz;VN11Y:.ZM;\IȶG|ͻ@kP6<x4&PJޏFt2Ե4GI*n.//K@Ħt7:Sh ~ӄZJ=wV2sZCuzGV{ShӦD]{h="љp<'g ,΀UhiyA`gV#ra^Ac5h<^L0!@&ā?VU^|naVшCN")y`8j\]3vf{׵W )X@*ٸJ@ 9rx/1#tFf;w fhg:xя锲gvP%VKd9YC 0E!;߮c|UɛeepՄ4Q"ҵj,_i8ZKCg*G8Q> iz3 ՎWWs 谺}4n'XŐG埵dFQuw0zi  6#uEf}mCz8`%>[jNAhW%z{i!eI/TK1-ɻo-y̷>xyR1.ȃy":[ݽAoG{n*#hr@?;63냩榅 I1:ph(xw"XjqD(h0?UuN+6Ώ\idAwdoPtJg-G~uf8,ÐI 0RUhbi~D X^$ (;'(=$*%oJ6bVT[UEK_bVS3ۼ"Dy ޤPqHM: E')LWEnA~ Kƾ` $CAf)'2'd~ݟs3ʔR$l^EWǏٜ2@; X[$n])kV0J_(BiA1 ީ )Ry1Ԥ]7S Q1e5{y`t_䜳/{x>d^0CfncCX\S| DQ<|4a,Ik"8aфǢz6;p6F=jȥUU5]Ȓt38o= 2/*&W\SwQ[z|_qtECq62.G]J}iwTowG]RT3\z=r;ZzQfK=hjve.kNd4qz:d4xxLE$+E&Z? Jť#ROkiP}J? )tpkiit5j_[|[pDݿ%@u俉qXUݶMfZ|9g+ir଻%"<zymWey:$RdQgYL}@_/yU3%[Pa/=Cjvn21 ֟Q"kDu1qLh}dn (,ǃ+LVm=zS?@niW]^M2W1wp~>y9 C Z(W;5+<&Ǎ~߄^U x>%pn7omX-׏Z]bHaa@Tdzc$sn1 3~ -R&*gPNjF>w yR܁KB sFr!,s5[ 4mqNNvDT"(=ZvZv͕jvcPuaʞh-MoӍb1pZkâS 똗V̖mMSki[s Y:S,auT&Ҭf#t"S,\V:t0Sk}SɆR, PrnFv\ZGiF& d/m!nu.b>Xňⱔ륁s3YB3/:b87d()|ca6,~@rf 6M* Vf3\ٛhBnz,<'MCtsYc6 c·{"<+SzIu*nh/mmkmP EGMޤax|m,.oolyreٳg֎W<+?OM3ɷ ݖj+ͼkkXy<;4Fpwe䍰ncyӘƻvw&޵%jS0NwzWAS )Qѵr}z{`q׾ȆZ.WykMݶ-]p [o[1;ݮݥv.-kwh]3]mjvF۵[lӂYjx?_&:}oo+x~}۫Qn@aj]<露 ƥRFFE:u/^a稧1] Nԋqtas>Z/RNέjp~_~;BF"&ȕOԀ9 #4Z hY4*mQ6Uc>}jo{{{{{{ Pa>+/I8_-67lOMS ib F?bR&+uoకۚ'yr~=D$vIhF1x;9yOjz.y((Jpz%;]b)b*>0eXx*-(f7~s9zj$8p(C wy_ѐٕ{^wPk^k`G:Gh:#*z_A 8n"<kO7ojs=N-@-99U쬪k,d{FZkNZ92F&_xxV.E*"Ŀ[ᣝ&g_\ϳgϫ϶(yW?ݟw?Gl!P PdM?Q`y[V/畯2\H@LWW!E6???O3Gyl_:཯h8WHDŽf|\ pHqVfYx@)&+(x1pT8|l^vյ:ݧsdE'hI;q /B\q|qEoU1\Sg~ G^ e ֵ\T Ani_h)/<_rkv!q/g;PN󰲓;aލ" ~U6;LE$J1"50P~@ )ҝj$ bϪ6ƹNZB2pVyƶUg@R5|1MJD₱:Cd5,&`i31MtJ\Ǟs121Q&h|,F4 < WHrm]03gWQ[v{fNI+E1ó 1 , IN0L7dL#`2sD圃iR|]Q gnRvl^ V ֶI1/x' m5ekr('5r580p5ܤ43tЌ>&Kς3&x$Pydpk?k,s!\1Sޯ 89j"J޵\&6af攙L 랇c. "٣4-MH9Q,UxhZu-|Vpz3#”|ĢD|PUbg7`P| ֕* V%aXUiUiU?䡗JԚCfǤ SG̦X1k]-emRS{.n3݊#l].1Q-u~$zqH,C`yh]0{z[fa6'zA-Wn&,+a|ŏazbβ X эd&'͙g;Ekn/1? . D}C >|H=~9zVzXSo|CYd!T؍6lmmX֖ߴ͗m>qa>ڎ8aA߯_ _cq-kL}u=gt2&&NY9]o }tpWЭ1(|ԒZgn|A#'Ⱥtu_R_@WcԿʎ_eRi͠:ޗ|LGglU~^?i{+[PbO`N累! rùnbv+10ڐBC08("c:S@loZ 9/kp獲)a a&DQ%##|6z5?G~{7MBsnv_%)6o[ϸ!vG^~J~gaPl(9{4Hf? (ƽy76Z%R6T7NՄUu-ZQ0Rbcݳ0ʴzUM0i6' ȅp3pɪ<,xr{+O=# /ݒDf-22p\d弤b2j` bvq3Q0`*i7.~O`isfa=Xԉ;y66^aX(tydvF|g ~K5`y d. O}ni(0'5:tHě_FG7;y6-g,$-I[f@uQ̝䭢CWQ(7?4J93F4ߩV9eՖ/&QtiҰ'e:GL4K|4"FЀUu<ڟ-X![X$kc$kg?-X+0Z"[@Pn&*MZD9ZVG˫*UIUW,s1ZM4 spL sYMG*L{&p3ޘrFr3 ^(]ՋzV2oM(u3=:]wX]p/f]$3 ?Z]2]5I2Ϊ-˺qM2MՖN` @JA$#1q]a1ɬ(iLpbؽaVuUCHi f YA QeuU~wwX&6k bZM8UijQm/wjV:upHJYid-~nTB\\aj):%Z{\4ij**ïa焝KE_?1'D YZڭq/iJpd+V3{$N8\SuUsK|^Gy@d13k>#o!Av4S14 blRX65R[~ӄ%*)Vo $q6u?*÷njJ ~%Rh7/* m| }ZC@=L@ez*c@aN_DJ7{4T6T:j֭2kC=^TVn2bBߔqxWdweE!`AyG)XJ ʣ%aRH< kueֳܣDzCkvvp"/ikvgr-ڝvS*-ݦvVhkƂiE{o(~Wy=$>:5xvLhgXLRd5K__٧o|+|d(oť}+ZtM8`AkOS Hmp 2}z9s<{Ч5)__q$ uMUϖOKyI# A6bPe2!h+*oi+'ڒLs M|.@h{e:1& /7.!F@h꟡S2a?/#:[*bY_$ֱ/r83i4\v6;@Օ^{H%0/ԯl(epyJ^ ͌ԛ g6p5!W_@1G&&F#}XP6ש-kt"|ͼu~bwywo-?% }Wy[,Pӏɻ>UKI|-pm\DrƆN%Ȟ"qgXȋ|.U_ny^}LN !f]n^jw5Ɛ.%uMVm;-F^Nk Mf,YJYHFD(xR&{is(l\ʙ6O5_|m`1"Qܩ0"[FRxKfz?n( CeL>?X@dVO<\忬:kklxL_;MT޿޿޿޿޿޿y_(]ݵp@19.  _>\cpc䃸K?rb>qn׻Qoo:N,GTEI@˴v+4ˇ!<#-f^v` Yuu?sX zGM;Y-٪Rȧ&M8)&DO''m;(: {{'W_k^Z*-Ś ;RxULN\ɣ&vzfIK&0'0s%&c۷_e/],0XWBk*Kkw _:HzeDNwAKv{^} ~5hv]kh/_ґ|)gB6 !P)lAup@˙?#^y4·Q13hi~0O% QTH ( IJm%ڳ5z(OI>c`%}יNd)r)R4ٍ9}tI/-tDJ.H?]rXIGZom:0/rx*V2WR.Ő.x_(FW_gsفPT3,sTOdžXj0M&Jٍ<鯢 0A4Rrs*G$#C3n;WvFsggw_4PwH-5YWU_/vsdTC=zk2 L r EI~*)PLkM)13A#XK Z,fsf\i<\nGȋ b^+$gLFX$l,]"]aB`FgۤЖ/]^ T+Y[@ >YRxtJl#Tu$6 \$cՏk|$) g uŽ<{slU?ddN . ;Oq0?X5zlw2+y_4-?s4< j") kU^ רiX%5fժUHmm$MW6jU5iGI^Eg66&kڸۄI U^ɒ^Y^mL&JiM'wUmA}z'wm$J KI;QDE2\f)^zbG?YѱK0!JZF}_&b2-tcű .ޛϲj)w8/xmx)}{{UE{{{Ϳfv\ kU YK~3zdΐ3=KOh-80igڊ''Gu¿wϞmUInms4qk<' ݟ+?#̄\= B@C^\LJQ,hb[Wn5ŋp.Fݐ_Fd!XqĠw 7F\2{=4@݇#~w6PbjWSaY* ܘH?DbYpfFm߬ pDֽs{1~}LYP; 66ܟy'ӂHCrDF$3ZJ?Nf! [^y$ iɔr L{ \M 6dw@:.#ZghMgJ D֚ܭ:axU Seo.-u#xɨT`Mr0f C%~~+l㍷d"(:b.J_rm2j=q? ^{G50tF ûT9P9J.7/ߥ '(w uݣZK}õClh2AV7l Kc/znU2R*{T4~vxP5?Q85!}Qr(3,raoX-u᭶*r*6 ZOQot]`^ι]6;ow~wK@^ߒb EԼ.W%)@̸Bo?BzGnޭ5wM (ՕBU;:;?;%'5/ӊc\8}..ءN| iK"CA9MfkNuq߭`mM#G'&r(W=}97ŷWކz[~NRC :Sr ԓ?$͡.0(}og1hv xp2La秹?$'O?*XBiaCi"#dZ`8(9 8@"?%^&աMo; ϼ`-ƙCi'.ueOY~hvS% 1$,o 9܅Z\<{T3[)ɰxqO%Ѩ*0F/Q,RUL| & 5kYh8 HsEyj6Pɏ$8'ÒieDk[8|$F8.F pp?L &Fo@U 1+r (I5*Ty^.$Ǻ39X]FD,i']o8i]?>YoVb6 SpĘ>hQ67v;l7gڹ ek/{;AN{ _gWvr})ot*vI35?1O~09C h#Zx7S~IZO,hAD*!#l@ۨ~D"ݝ ] BópCCv.z2 ?ٛuݺ>s+ȝ2Gc/c BB;z7r86{ӑ?jL#(1g# *]f'V+әr͓앾:^#P-ytaIeIxx"<=OQ*ƴ ]BbFyh8DbQ4(dBq;oQ+o|@Io^'͍진7糖&=xܓ޼t:!X Z83Wb[αȖ6pSo-C!%k)ģ8x h2+ꨊ6 d"i>+`\ӴC&!3T!>}꽖;@I% 9dwˈl Evs#vQ^,ʹLgXMUHp00GR Gh#f3P n1.?kOBH:E =òĤ.[AcHn4U9e }x&8UG`9=]!g⥒ &t:m XiUh̢ VQ fLg*wU],WK Iy_)~x)s*VӊY=&)$x;VդIkj^[/|/)/C8ֺ;9.A/j 3&վ1V%ɷ7ʲԽ'qJS UoRToknpϣҙ_(䓹xj{LdW]C }o 2'gG~l܄eR\cSn)^I*$'J쟊 rZ({]W 58 JWS iI]p7?vvUWwiUQw(_8BGJ*sO>xet޷B (رq&<\/k\Z3]X HM 1̢e\rV@'U4fđ 4^YGWA0>xiTMx~nbA}zMG|WwA҇鸙i7VO=)1*x.BFp~Z"JYcr Fk!;g-<@({W@ ǂp,ta샅m.&V8«=6lKJ=ǚ Qjn 5.1Vӭ =lA,Ik5618kZy Enp^V߇S\"@;Pcz q9O,,C'8yE޳- Z `A.WMLGбxT:n*= ȃ}h.HГ,x;hoxx-o㰑ǐx,r@0'B8^Lhyn,P` F obz }CJx 84W Իߓ ᇚ<(xy4 G%akz)dvJ\]cdl+15=UdKr,_*+B&HHYH \i"l =+1eUH_yuUbJeZ~ ۷_y</cV6#*蜣5cfJz3doӯ?Y~dQd {jV ]B[q[y ?P>kΡ1`3q{-/#Z9jP]*umhF~gVk¬dXGtS1Ϯ86xgSЪjI)>~6CuJ8* FDYe@7K{]"['5u jX=\lH_s'@V}|Bws:\EN9]S,z?#(Q,,PAȋᇤ)K,#: ھ 3Zjx96@k{5M #Z]\IR T{MC,D,$é; ءĖ@8d k|o#xMAMJL*{(ݟY~ 9YJC+c+؆cPcME-ƵiooZ^Hj k_贠rja5VO缎c6z]V|(Jẗ́j浘ɹ^"V;\/Ql'lLzφеʅCؖ6:fil+YNG|\N",6ro{;rH_2Y5`$Bjڈֱ^\f6+s( &ݜIŇ*c!זItىYmՏ{|Fæ1=R -܆m. P & -ӭGXԛpbս>IZќ]XJFA?҄$8 '6&''XV40g,(y^M/q4Den^\2:( qx7/"vPê< Sd$Ǒ/1IhaS#VEzLZ3CS)Bpy8S(㦰͈pQ0Rlp>3ׄ\\jQ$o :6X^p1+k'nYnSW CH۱]#' ^#LG܈.D2/;ϫ/w=QE/v_`Ę 6hࡵd[UVdNJC!p 9DFH=PHiy'9BLJF 9yZIYRZhKtk-yF6G`8sRܾ&-?&o 苈?~@BCZ[4"Jcҡ ō x wY//$U A++*TƷ:?珰 #K=$Gxh|O]Վ_FzʶQo0χQ T3&vFR^L~ OpMwc` uDɕaw }LtlUvQ_ɱ$݄}1!r ؁k@u azi˹ m50q^G6Dq8/||&1bQa|SOOKC3NGZk~RK@ڒ!-D]g1ˈ XLFZ;3ph\ak,HzTѥ9h.ݦxtȎ=;PaC;nL֑t'Al9[N47PnBhJ9Y. ?>2yH'-??H?Y(z8mEvC~:to#=f oڦ}xO1PyK)Q aIeHu>ޣbQ[ r9{S1Brk`GJ^4Z*2"XɪiQfrrmX]k#k 4%M@W*܄A`}(n"x";ɷğ]b#M0{R@/Dp+yskT;foE0RTc12G h`(+PJm@UZ\.g_pд7ʒ!{lUgX߼Q64SThJ ޖIܗkHV.YE6m(b/|ibܗN|K p\ x)GnF[RdA::(kCp5Xۗw+?S)K ;6A4ױ:θ ]TJWi` YZ;{~7`Sƽ;R٩NYnVy9䶷reZ}7uc> \ 0ř?;*R8B"PEX+ōq^y7Op~{Q,d^qqLE& R;0oZmWm,"tܰ;V617}"@2S?[p43#8t| 9ol#,V`zfK&PJޏFt2JX|>ܼ,åhv FKÓ LR/3ջ^Xq~ǵޏ^gϫow R%\MgAZ6DIh֩HOJEȟ-`F7F|!](!^Tě6^l6x1LV\8 < ā?/_ѡ9pSEZF4#/CxpqDtc8DhrHj\]3vf{׵W$t$!Wunl6=anI * Dj $q f4c- -k'jZ$_o2v#9. 1!>E!@x2$!(H(٦hC%O=cm_AoEq tpHnO9@u?BPLɇMVͱ6y&Dp3c */CXG8kXG{({ͣv̓S{ o/A~8*nS<i|鏆aW$312zϫu vL`yc @FĊ-~LaLRBLjKltƱUe* 7[F?JDyqq\+r2Hޥ-Dĸ\y-r[xamqA*fQńwGP}7Zv^pKH4)me&bYCT3P7,z(0{pbOċVsx/JT7^Ug7,x()67!8 N .M\A[ί Ӳ*QߓPvM Z5}ӰfnXn}+xy2&_ {[߮%Njž! Z 4A Eǂi|i%xE[ǒce2E<\NzOPFf2֢y˷j)*ٝy 󽚔rvoh60PQ=|B\]d eEePHRHG EΛi~#D:B֞9 W^h0y8٩ {|A<c!)jļ^[TaњyU[ #Rla,S(jvX%)gҷ/dgʳQt<0қcI[ʟ_ ~i ~-~ Pxu=bK M1ZU]HlHn>TJ}ξ42 ƗEˀt0w=pז7Hּl34Wɩv/02ƝuQ"lVQbJZ\jl"b&#mi)g9J ahš/`n/ #9 $>Nb۾YX^{y9.e,8kc\VFQU֣TK&JtmJxGI(  r)f)glD +7 XFX{+;~0 GO`7r.2=/h֤,]INAd we](qJԃXȰq"#XMùe=Dt#NfVx|OA'J=^Fn@nC8<(?p2%!o87Q,b'v??tVN~c!Üz$!>,:=ѵ͕Bɘ s2I;\x&o\y 4ɉs24p>CRtep+:`+btץثyH\_. f)3E9qeJOfg0%s$?eƿӒF&ﺨGgrwPeg봱o{yy>>^ݩToxϻǯ8W_/ҽ}}}}}}}fg!)d1_x>Go(<)1ޑR 6*K/Q2&nkGq8ٕpVs?>_P4^NgnOHfu<NbLW; 췧l``[f#+;RBA,Fjd{5'q/^qhezҖG|}l7QD `:!-\QϨr5e=2Kg$hLJOn}nۜlrr;G jMeՊqEZﺲ %}#yFZxݭ9@gS'˓6T@`@uMV؏O 5VAOť VY~kes!Cjٷ#ֆp Sd&(tĤ*{y)6|-q]2Qgv,w^z/+`,g7@4X>ew1TVO!Դ bNAzW\xEt:9y$*e龜|qR JM2q4P~ko;V]41L1dk4>"IvRYsD 0ڼ T\|0bt`BzLdXIL(ɢF L"|KhNPr[t"( tXTS!^t׏kD7O=L$//@s^A[J p[eK)Q_\ ﳌ~ʘ 4 h1IsŪȘiEc^#&ĵ$ƈ>޺'1͓wZ'$] DGV%0R>/zwGF[\~ƪ͋w8bZwC8$ϝPe\$ I"T]-oqhL5hEJ|d'03Q2:R^H!|.< RopFxP!1:b)0T`nMby@ݮ #|y" OI-(֯m<)x\|Y2uN6<%@-ϻ&*80ɂ ,(42=g|y>n&1 Pz3Bw>Nx1vFbu }#R &aG7h3 5D.ݐwv$.rcJ4h?#GiNT4Y'&d:sq;y.*\1,ɪ3b;ƥ&s՘i[I0C[VFqU>邪'GS0 Qt%sX/Y QGD2^ ^$8 V,YX鷛G lAKᬿ3 Ȗ=%-Q@VE`:})6E8By?) /UhF(Eښ|_8jQf$}NڋIӛ%p2'>"!Y RPH'#}MB!wbaO%Q<ՀPIlje}<`BXDS2 DpUY`tÇmy˕U%Rsh.mO(*=qb]<6a;?Zi? 'NCpVDj&3K'<ŵ|hZPxPx2ZFCb-sE&o$'< .OEĎЅM}.0 .`H}G>GwZM`6dîaz0 F=DKE|'G‚ ̐D$0a:7B7Ġ@!Q5YWuV_1yx{갸>`>(rUxḆXPgi*xω\Bfbh_AʍʛWԀJhrq>9S,F%{~I &*lT؛`$8yI4SP΀YEN1:,eH0O FT4Cq^'ˀcQO\𲽄6R?_bp `wZJUNF\E9EƝ a\.q^a6vh-fA^J\7!H"Ū~%CPn,bk(jT=j+-/7u.s6 !o!ςS-z1m7ϵ?hd'b=_Rـ6|Mu5pfpl"ƌx C>/ۘ0xCE1w?ԏ˜$ڝ~u>90*K!퍇%NgouLHz9by矲YmsPounȀ vܱ̍|;ޏ#g&a}x4͆WO<8'?8J{;}Yz|R-?6[ @,,\ .Cn|7޷~EL3BK`f&O8UH%pNJC =9R,Y1짾#t'nsȝHS7!y큹Q)xbMP*f?  EȔ$4Ν="!,JGlzBG :-p 5Nw4!IZtJ29*ǀ[LN()9h [446tD{Ţ:+ N8aC 9|u*Z\uJ-J§ 55>JQ^"{ A/qp_ّoph"#ej"{t"Zw"(f70>5klHU&&;Gj8XtFSѡ+cv1i5|H>츽ϊMX>+\ uTWwrl78`q,`4!UW79>,J|*:Gh5T ^i@{\Dv|I* ybjD"G7_rg3 gzqq'5\?[OI@lpQ$[ֲ #\5ډH θ:J@B|CYE*7c#?&H&IGGzڞ͔h W󌫯dR.me 3Fq@iwtGu&yԋE{?JJOTt6ͺh;!ڽj+`BT!Q߽mmVoNkCр !~gkXGzoc#ڕ(Pf)܂_m/WނUaҧf]J]qEe8N V.*G@$tpq )Ta x|m^H{NoUi^\q|!5G殶dJu/'ր`feYR4Phs"N G;ȿd[) S7]Ҍ 3yn>VTSȃhᲃ՗1kƜ-ͮm2m)dr[!@|A%[y0V(ó VH0]pt"p{ O9iɸdϸDW>a|G:XL.ÉrŦGȗ!;dg6uQz=1 >[V<>MMgPfXtVNVⓤ,$0b!}c䓴h*\߈I.eFpct?NMpM1c`Ue F<ܽó};j=5"{qGEC C-TEt6% d;T9mvgJd4XhkSG䶴'ߜsXk7+Ƴ$͗ȎkY(,LLAOG">"4{?D¢CCƲ3.,gq2g L`3|u9_p֩v8N7f>uТeOXwSϽ%Px8:0aC#H!RGqClQԢM3:\ùlVTG؄ow߷z&RTcUm]ce?M< PT :%uóhE\gs4Jj:x8ZiC6nW'^ Qa'328GLϢ}}LdZyY' oB%FRY$j`8A6Q2AF [ho4^j>s/ Y#֓!N~Fp+ASChf]8oOngEfp'oB3B]̢9^«*8JO-÷&: ha?vY8"#Pi  DflD<,=i+wYKNzdifpqH*υR i~uPlFdeE.y1>HN9mcˆ(S%gѼDUbU#",%|J;_xewbOrOn{^cqz3wxHi.84MkY5"nrB$2 ̃61ޮ A5|"$rY" e^hnW HjM3&Zˢ J!g4nfMG*+, C>:.(,83aNRϝp|-8r@+̱@A/OLf x,c~֥>!}锏 i,8?+<&CW:1QtG]#kR{ŠX#HM c+t{?n|,hd4G-t4ō~Ҝ Qqtd.R=XV9ϑ?RLLU,7k?Nԧ~l>9gm\Ov%;_VHB#$;TOFlɞwDzͧ^c` :,NmZ/BpOцKzWlx~]@[/2L`^Ɯ=GfJFG։x9Nzωm͛L/n: e+Kf23V;;= Ա d_G8xk``+Ԓ,GM@c21ۦ( [S4d&ySІr&pe-}GOb݅)YNhT͵Vs2$/v(NEQ|>ǽ{P(gN}6wg BbW/v&'1ᯓ= 9S%#(7Kf97>5jbұh)k&`A(0GeZ C 8slcL;qF%|:$c W o][I7傜E|V !uJM`|{ZDSTuJ ǻʷ.m٠V# #UԭpNjD!-J9>NJr\w0aurRM?ĄKcڷA2 \!F͆_)  NK;j0;'aIr~ͯ|"<8`YeڳP]g*W ahl GH<0_4Ak9ĝ,:eof0tː׋e>@Aqh=/ZܲW  WDѥ\F͖TQy1V t " kϒel,TaBLc&hhY[2F75 ҜB+2׆΍cd4t=M `6hWo9#|Dl$5"3I)U ,OP5 zg(Zߝ i ASM{E+HO#qM*o?DMv1sv0)x^ !@cU{se[QŘ+DZ X]&xti}3v3梄S}"|svV;aK߆b_r%!;fG>H2p<&hVbߓ#J⣐Vy26Y\0,p̕!O*\FRLnfog*/X%x:׻eO4mD LRm,B _޴LPp1(p\kb\a,>¼OFCjƴ&Gצ|Wou =BMÈưb( k9xDpU{;<<>nW 2m6y#ܺ(ڲCo85hKESBlt1llGx]Sa~5|#Рz\g?Ci*wS~=+l8W.J1~Wy^&-bAx/PF`hTD=݄}{&;okpyxl5|IG3'ZBao|LJ9a.9@ pPE7x"~pY=!esكؕI79:K[|k=4;󱓘ƊA8㹰yxSJF+?~fi[VyԽRF&|)\QVL' )l`IJ2Gb5FK ;<+VH +S-C6W ҏl#w0viX+`727$ j+|N }#_ 8o75fZ^K<W"`4B.9V}ew$,9F߰JG~q< cv:tHXjGӌaU2F; Mh5<W2KLr,u աMʨrúi3}6\ONSas@]hExPv_ځ$q9G aj5 UVq)tp׿ pU_ZP!ʾ.вC'Gk+h=옋OKOi#&f/iu'?.b.Um :VءK_C%ߝ mZ1'X2K,$z2w\d/23ZlSw&)'TZ[/qKX9> r5=*#Yw>DɦңfB=L |΅t9T-o0Xj'VLe-v@р7穨!0!ӎl"d:?U {ux<{簀AqQCjkVzX,!P)qX6~~#p+nSPGx+VNaHc>6P?1.UY\F2+cf~9EV 4K||ݟ..~h9$m7 Gp{J8'μkbT" #Ng O5WUjo +3SŝKVܝ@ \^"NBu]g(Rȹj:9Yh[8[?kƆ7=-NwitZnPO)pu,4ƚ! [Rƴ5& |''ߢј"yy5-u_{/#)͏>|( ;i6arD|MyЈ1zo|TRh^_}rO«a])C˯:l ;.ý`ՈTALp=Q1cK1zyu迠!fMZ)HAn ,%U  ]ˆƙ(uCnj'VvKrx<ܢ5zN"7ל޻ 2RW% y|_AfJ{Aˡt*x- {V)IP\[(ct60H~0zna GY v /򛁃Ϫ.hEʰm@˟xh$lfdw$qþykȷ!hV3~|ãBL;ZiTHV, LKlFiKD̔v5(2V"ݠ ҸpEN]b `nj^EǓ=-;y,J:TSESDC5`Ѡe+q:{XXӗ7i/0[>OI?/+Qe X}KT2b<}T䈆Y4&(*4޵\"-a-MmɱIN"F#ΫUIUAP[=R PR(76>:^cO1KlbpTu)ZV>Sc#7UxQ#=ԓ~ඍ'.S/n7OK8ס\ixح˴ HЎT;smj#J=Šo?A<8]^*dU%lj:P'ȹT/5Xo條\f✐@bW|&U6TŖҟUJ L "+F@ *Ou zu p͋y[Md_dudyG,$PeqG&.RAO-b0 ,{tqaΪ2š6ē?<=.nm7QVGty]z'%4RhD-`ԦTt[^sSo9>1)67X3cKZ3CiXvl|YrO0a5=*պr8LW ZMȦԨG疢fw8 2:]1}exΜBcNRR7iYc$xZprs&渊/bAFh';dʂQbހJ-rtvzhaش mi.kJ쏊moew}FxFkmir$;/g@ 4o2?3: x)_ U=R͑ZJ:OJ60Z;]ZͧwTA 3 sniv:-nɤwPCTC9 [5.z99IGt<x9 \˯?|-n|ёO@" 0X)<~q%pm|!2a ~Q]ko9-FV3!b^V(Eb!p ^TqٷUdAM }@|@521mѸh &[Co5 ޴̵&+$ߐR2 FC*t~WB"Wuzt%T7g0K Xa7Vv#iF&+ƄЊaŭ_Vp1%BwH;"}/ ܒ<-PQ @GG]abbёZPHr`a9VW'AI99VOG$tUWͬP )DmdJMK0W)Thm /˒|CXF |ߊgj."~ȍ>!v.Y+I,oKWR,SkU5:nSiٌf~]a u*ޙMXOU尅fWo5EqzѢZa`6iąn~КAd@dS89oU#"5=b~$N+4)|p@gO <`2בڙ0ez-SY*/1щ~ء{랿=wfjiM,3.UdHRB~B>s ӎ%Dhŕ B/BPiD)k 4 *\E6N^0LdrvZ?&;i/vjXPc*_3 2r]06;u ) DN[F2ͳuJy?{BsI9L?dGt~B#iRMQuo y\Rn,QxDZ8Bd+X6fMP*V%Òe NOS-~$޹m bA\>WH72|Hǫa_th{o-e*} [T6 恄UyT{'xyKsGcT{ rݶ)$C*U'mYLfs6 ~ec7jZZO|*M\-eq f}^7śy8AO_2D PBz"by[R;e3`GT\\@Br `'LՖ5o].%Eollov^efD6v 7*5iV; NgBԥ*ϔQɦ첕Ѵp"V=3t@.@'AF+pJǸugL-iPGףwez+ 5tv/ F}aO eWՄ|Pí =y5d6ʼnz~`X`pFN?Ǝ~Ux_V<ޤgk^#졝 `Kc~Q< {jX65л9*uXybWx\<w/ې٭/jl}8yoz]$˟zk-`--ډ<0sĕWE4&$g!Q DFBbYD((tQ~ q6лC߮)7=nJ|{Amv %%nc?rZZH{ӿv]Ft;]T&y1m~;}2귬K!k~7n<6%S=_^37,5~5k*-^h4 rh6bJ7dɿ.ppli%QI894mN"fB]vu&xl]ӤM1*IG?mogx_Ҳ]JUSW*U^ٳ/шkG5"$@k'ގ  ׯ6,X1h늄ۃۮd6$>Y\z{m+/p R(/hG;_TWٴ (!kP*a 0Nԅvzf S)/pӐN7u)rtх.mY;O aqB,nw{@Qot𵀓}X*fv9y'sm}!$f/Yt$V!3'I:q{}KӞ!WBz'&$ dlF97 -X ߫h &>?ؘyp1@Vc]Y RFclpߊ%[": nUY6/_Nc " g'|9ANYcE7trX뢖9\ %)EpHw_?biDs+᳞\?;[`0\$,_voB!oE٭Dv>JM2E^ ,|]ICϿ=3fe9k}aߒydx$?x&cY&9 _nšR:q;f%HYoEGϱL׿ ^c7T0WmLzڸpǸEZ.i=q2R_zNAP۲8+ߥۉݗ/MO^x im3fl ̷p2~\lJv%TyOŨwűOb:her?lo(d\]vwG6؈C>$i.myiL7员n+# ? b%y (!qx-׾*Y_MԶ)׊j6Շ0r\f*_ }wFo4*;t F|AO!*QEGW# 1@>sa3w5PN!: C| Hy UpB,&p&bC(*u> 邏  hLqNⓌx#=ޮg:60Οzg>R;GbEBil@f3|X)$0W=[RQ$d˖txԖaJ(CO?,Ma%6Uo- Ls+do/X=5 7Ă(Y԰xZ6KWg C1>i=tbhO}|'Ya 6Y(ٹ͏ꅽR*Ua\ُ߭ aXwJ+j1"LW -ۓhS!q{]3(G_0A%-_275)oϓ@P})qX/.5JoD"2YiVLvFd ؕ\r]֯:AkkG'4տ&`)\ hM.j?cH9X j^+'@/--6]$30gw}-AR9*hUN9•&/Rp-$ _*G{98{;E˸T 0" &4j%ؤ:?E\*gkߥb;r Ͷv.7EZFA0^6=8# KޠKOC̄*ǻ"'GGvscL3r%YtDL28B98:;ZEuDp -E=) 'sjԄ<:{쌘} }oPR;r=8įVE )ժJFgG]ybW8K BHoUB\x=v+ꡤdwS*DY"]CU)ἕJ"Qev*)}H40fHc:( LqJU+1[Xw"pC}[ `'G W ZL6Kwd.f-dQ>[6<ꬍTbL6r8PqkVл7Ar^t߾ uۉCw׋Xm'8sClye%%T~Z v^) -ژ*Т4IL OgYc&r"t2v;!XRD#,J? Or@ !_4/{ d>k8Am4<OnyW"XB"-nd AfZBQKoG8;%6$6%Ĝ˲βT(d1[i?(E8_luUC1DU6OԘbd)nV-d!qzKXƙ7t] ]ײy{+l˂kMg2`.3sb#ǬTO ^ikjizNWzk0(mYP}宓x6/qwZu?b9_ԛK= 1sĄ!hf)ڶ|ƼpO.4wMj[Ac`@g:D>3DVs}baޛJw;ueФ26IyKئmkY8bxFDπM6Ft07G&cܸhsu=,O 7Vq7I=:C-g`U uX]JPOZj *Lw4,؝=)ѾfO=|gkZrQ|KBDj95lggԃC#%oiE8.wYrcYs;lno]z,-%bduƴPJCƐQum{4@{O<Ѱeȓ0-89N~jsc&$#šL ;d:٫Ue=^U-:+[~fod9+2RN$GSn* ی@±%oizlvq8!flklGQWWRIY )2y<)CQ!%  +sC1>zec[+Z| ;Q)I5bJ *3&N&4-"<$[CeUZ^WY2^s'G4R-houI;di%xQ?(*Cs#\*J~Xj턊B~˘avFc ;8ǡ3zX 7dR2yKXG7@4+:`:1Fa'$ 1k= (ci \UCYpl2;ew4Z+=oVFs[ Ćxڱ!}K[R%wMĩPO6҆ RMJhW^ HwIN>1e8 -˖oXQƌ*F>Sd#сmǩnK5+QYvMoʣa*13=S!fx:24_2]w=m&q1LqC]%YY@7Z89; 8ザt"ؔ' ƔU Q7$4e<0U!q^-Hb\b"J4P9)*?ak k=L`YO/~0Cp %IiB7 Q:-4 1h4)T%MJ`6oK{8UgxgH(HF$QHƉ ALiZeqlI ~uA\ʛ.p#>-[d+7(sp1B{B\ #!lJI@FD*XNR5mߡ7/5~m^YPT]WPhX ,Њ\Dl|5e:33ޅtrlV mRd<163R`/KbPąx,GG^Be,U@22uڌ5+_Qjs2NY-=J(,h[̽bTx1U\;٬C\~A9TY]b)֞wF/fgNtk*XT(wϔWof'2Yq5K •xfhzݑ@ 8OO_` 6'HGSY'=0t*#i'ʤ%O!`>Ysuy9~;0T 7wC!;wz 4ʸ溘J ty4eEnO-gB * _) ; 5ki[6>Aj iٹ-jdb` D0 8p]Ҡա =g]"@;CZ` 7 SMzJƉ B!ao}uܴ /U=&1% h1Rt*"м=?j낇2KPs 9JCȚW /e6ZMKdQ*/xQ^g aX FH)pI8Gza4 falȽf'ī&.U- Oh>cbdB-&?9%_ Gmp+&ӾPpEy}sP;:YTF_3Np\P:Q'1-뀝F I+tGi>{#^0QtmZXhP4a /qVv^QOkU ):(b@QE=,r @^Pe2Rdʄ7+])ac۫/|b4.!iMDHZ uhOp( 4?lk6h TN&9!3MMlBQ=5n5Sui2!Ar%zsSozw'^ĥ3 mMGD&@tHd,ѳ i5jaFk)A/ư>'(ȴ`GVȵTXWqR&x7T5%~qLQjKKʩ\Óh׎L%7IcD3FA&N`! =;oP>ٹh|67Xq L"^؂nQ7N1 ьP?/,4{ih3KqpOj7"ƚ,A$~qYHIA5}2Gx(Ϭ/NGUBg٘/ EVe=ZVgg1gl( %(!Uwga?WpcL [m!ͳfSF 7- =Vqs@ xQOKtZA2L@ A-bCe rs5}:@MU>DŽa웎dYDp4TȬ(3ܻ08,n cnd1*(A=oR~g*Ǣͳ-[58\&5u!P(i)䭆W]/ۥSӋBsK _YG-zHu<KcY gCCM2|d>N?8Ĝh9@2\Q#l[v|=Ml89bE47(ĨH+ͥGQӔ=X"5[h]΍.8iA\մtso$kή_6*ctحP!M֕^'}f~]oBM LwLJB8%Ta'CC*ϛl<7;#K}=W6y?\[ȯs:Cmg[h<b*HYVvV-,{/N{^0g]!X4עf_$;{;םl^ߩQLq{%P5(J5to<\⯱6fY6jH5b!GKYw-MI b Z C]PKWpqϜQP1'#v?jMgo̾eX[#n4 zDB*MpIh _PP6y[Olt>᧭,l3)V1?!!3#m|, ~CM>V>~:!zNO:u.2 o=0֡= qWFTr􎏻5#=ꭕLNX3lԺ@ m:J2翑`b[dĬ6`FbPft$-? hn#@V. HX F/[6X`6n Co 1zn.l}{Dç5y'|qaAjDR-ڱoV|8\Eb>T.~vrӨpK4pJ?9$~}U-:b蝰 ȸL {MJ&: J\'%|wS-kg9ZѺ 2QxD>{c"E3sEqHҁ9=M: Fl!'9-D*ΤN5Uhp&jƏk reWzWf-so> |①r#sk'r݄=tj6Pm^Z:u*Y{q= 7RHQbkPP R&#pȎ#tB؀_@ӡ% YU鄶QقBq( h$ۉHT)*R9oλǃy 6Wsgͬ*Xqð1E >wZԹ]3o9ۖR)mAtLfc>cb%%1m#@ [L` hV4h"mAGbXM:f̢dg`O6jiO`x3ev:%di'Иq'Y)'1mF0yrު̷N%0vF+ w!*c fP},^zxv FkmI<,a염)C(BXk^y;<<=|X$c~} <͡p֮5 C!pjuP=E1#T5UO@#RJkDŽי8pG"5>\slRHiNGpye0ILi&Sc2 ec9|P9bN OqD^ȂfTJGVae`TeBBz6qP,`UEmvɅZ;K'3Ibmb6E Ɉger bVFOe_\S8T|e~Y!g!kcgRhsoۮ֊ LQ<3{Y5oh.i#v2 ]ew15}LgE6P,>τ%q{tanC&C=6DfΝO~wLlhhY 4;8dr;[Mr~?8JMMr2"l{9~*)(葞_YrC mNq):= `ieygBee M&B-fs:- ͛,"Ƿe$2hF÷^Uàh׀%#4Qe^xDMdF7jB(tOp=h3ʞƖ/Љ]LZtZs?^cύ/9sUJSZZmqN޿kzVVwm Q4q 6y Q@~ b`wh(rO;VM [ȨfLhxI`I6g;e} 8]㌁EoB&4 w^,-YQ 4 oYt1[hϩ F ը<dG4ZlO=ϱA3nSnmp"FP⟏;f!U gM{,eUdpz?7Ӣ&yNzɘOڨa_To ſ!\Z驎7 5%N3^cLjHnr! T+T!*5!6|:%d5糣 _uU?c 5GnɫZ B_X =wfPs )8=T//|v!靁hΟ:P+CC{Ek^jWt5h|s|C:CCiw*,.5Bt.8Le+1]G,r$ql6fNڶӷ2VK tKFh9_!6l< | w.>+ѾFڲoώP5\xb5iu{ɧq{'}LmjI9z}.i4QGHNs!m6O 5q+KMkñv?,9o"`_`ڮ}GZg#kߘȃ9bd!:X*YHH$@ O_[w¢'Jv tx re<zG[_½< z JIX_׬CI"Yj+"yH%ǩrc_y8Oxۮzln/!)8?!3b`g1v[?Y0Aj@Ok ͔`[kSnp2niɠ2S /2.e/5C܈ARyB*T Nyq! k 4w^fZBpk8.Tou9e uwro-9< n zUȣѬaCMum/ tpnmS}5ׯz~t^G2^xs(ּ4<]t_'oxرTڏl:V.yrH&'L\ "` r/v9v4¿_B} uTHWvt1iyf)h+[mN5X"֞Xw v]DӦĐ?Y)ƚζP68# ~]Tu1%Hԟ Fv̽TuzxzQ!^<-:|7P&L_ɱ>WYp_1H4o,®:9’R,.Ez~Q7u`*f>zP%`7U}w ',cJho`߯|]tYٙҠyI :'968gN e&5GXFWIbq>,BW\ye(QPļ^ b9a~RUjkk'Ȑ}DRW5)j{c<+_3PD 9|g kS;9-ý m-.1\~ QT=pQыґ[!*r(AJOG nodS~)[0,#I!cBO`xS:(jΕ\!1GP}@K9FMߤe369*.g.zg}Au'{4T0V¥GfPv(MzL(J\[9NT8i JkmAƖ$k zk*&£$Gg0fGE9 9&>taIO읅ZdJDqKL8PP 稢"z)be y$m9@!VgXz_ӱO ;x -j魂Yܶ`W`TX]໼zlpn1bEUG  .vG)/=`+2>q&)+e\ {Ps hr2gpo@ɁٺGo]T,_ =d%!7Kf`͎ס>薟1[ r!,͟{tћ?>օ5VO0 u X{ c L?a[NB\u:q;UZ^ިNEuYfIM񘋻#ӊ;BSϳl\+jT[\CjK*9 2~!m 51j4솛 .DQuac1;-O؆ؽ,FCxuK.=3rQP:0)ib٭]W,w\¶$<⊡;)<PjN?s8TϭQW$ x- fc ъu81sW C,՜Y g0bl-x:Cpk9:%FfseV{L2+N}m|5}aGJF)xQؚ)by]ʿ}hK8?*4hV~A$tba!B AȂK=s9nu|Žxj_=IZno` H}Q+mmbx_teER]>ϤczS=@z1)ƄUkނOiVAC.C Nw Wz%k+g#!_w $c|f;3||ڋj'D44:m T y˶*obvs6w罷=TjX"NhQ CzCv݈$0"N?&7~ _A-qOgfrK}3R)R%J;'}aa*ωbNdYFfH|{in#sfD?N%-AL*mCѭfIh@?A;ndo- JM@!{by25ŝIbՋ-Үâ j\ػNYY" ?*@ cr5RBdq&%nBT653Ds3%r?vfǾ]oц;A LX,j-[tICTai̮khwQf7,{V[]/3 /LsEq+,1SE循4ɑ˙!f t.]9%*ꭵ <Ƀ = >ofm1oK-v(K&eqP) gޱM nK8`kQShP)הBRqry?꥜DNL?ׇ~9ifJqOXczR˓ڳ µe(tC9H4=)]!fc\Eg3F8JY>gE8N5Dn1hh\l{v)s}r'n_v[| , 5ޱg wC뿼j 8w?,m4u c N5^0yRӶ{r*eDDs[<9a=#3ΖWFo._GNIːr"hrG_jքe1 >0(ϊgvk'Zl&ȏ34;N-hSjRf~.n g=CF 6mMOpT}OI|+v..rŘQ8gvn*gQ,A ש~_GYUY!ĻϓG0>˷? {Ǽyq]xBZ@#;B̓#A;aȌ^Y <]#AuhyOh@4&)PgǠ?)[ZްK s 4ya|4P,ozFIRXY`=J7z,%Ž8yE|5]\dNF-6o4G&5htD` [,XdF4Hֺo]*ԅc9?r FdVU=S gXӛp>Ʀ-j'&Qꊋ2>.[ÇI+礼OU ?fliM$hîQ;vzdxZ@{sr9/lOhy ^Ai LO}Yb۱xzЦ^J1I&8$|ܓu* Cҫd8D+Ŋif8DX2[:Iv#ƀ#,B A !B! 7ҔBe 4dZh]RP~54xN] Xer ~.J2>CĻzuwLԣ;& 0Y`MiڝRÏ?4̅qU&rm;UJҫ5xhT\LcfS"19--Џk 'zY\!„8@>_r-TL f\P R 1p1gUrTdxI1,BqD0D'CHsTSB[d5񸸝-ݷ/ܴOY6Y`7emy}N0'YDcnkkutzۉGEHUW [a^huHY:xֵ kVc Pm!zH|.]i;dz+*rpYX%P3@$ Î gjMdMg5KKhӏVИSP[pۘmuI;$s7ŞcCɋxGsFc;kY#.-eN\>9 Tv`xo|Su=L:I&r[~:(dAat\,@q̕0cv;dnĩ!hOMgٓ\ &/Hb GE.܅ ezNjSUʏuT" p7!ojmc!#E)Lm^;KV!^Gx}%^*Bp+5Ǟ`Jy|?K~"v"vO-bP&.%Ql,VߤUopua*"&:鞟 xo#_y#z̢HVs@);q \_[cRMk$NQ/y}:/<8+Kim`V}S֚MAHQ@sNNpWÞ j+%z1A|d0|*.B߄;bPCJ@FJ?~jX.z-{%dw2=NvaFЏSPV^Ed 8)v.|fUxﮝZ3L.oo Q dJC`| dH*b5W^re o e[AP"CP4!)eܫ8No$y?(fbaV6 5n"?@ld4fz7)T3[Ca>ecIp[y\:g# IUVޅ u6 x'!aV^>飹N.'3E ow<3AGIJUx0=R..*N 7~ri:l "rF caQFL"pA]fZ2R63"%2B_̸Ȩ\SQ&*a&Fi ^ :S:ñsqZ\TU Q&Ou6,ldqŹpmad">^` 1: Au)<i=›WF`Ș `qj~CC)kRVBnI7:kZqY_ bw9ZpY'|Hp>J 4d4 ]=p'OkK<үMv,tH]F!|T0)5^P5b?tJ%RoK7;A[9p(4!$ hh6UQKTw 92*T2c  0ܑͥ"Uz3i')=Zx:A=eÇY@LjͶC㐷g ~/BJ_Wž)-w1Y ˎwu^c43c-Ջ$lezJO:KưgX꡹[V']ay_>c7uWggþi6i|1n=ɕe,~1ﯦڵYtxHC-EM/S5r<}nogFm ؋)p6igJ$?bԭT1DQG[wFC컋8ZG}pYH18ӱ,j3vS Ȏ` lf̆tAVz+;& y8?tk])a)y XpJVhYaBd<|ҭ F]Ct'W%<\fx.Vpț1`D\ ~oC!秷wPIPM-kl=Ո5'SB\{.*O X4d?Ԇf^ k4 ѥ10AF(N?ȿDgxw$6|b~Օs p/O^ P욝 ƙ&0'ܔDj7s/F5$k ){c*LWg$4#0$>nyqxw{/eb"8?:;Zޮh-NјrƯ,k!19$ooqC/9ϳ 5>&X4ID@s~LnYd0' 9–Nxo᠚kL0ֈx;->")V@aOȊƋw4&'GG丣곦`'MAb KsH:L2!Wxy! [qD(;,W#KSwj}MZeA:骈`Yje־yW*PɄ":'sT-ZuM>]Mǔe!u~ r=E|2 =EO J^A? ?`ڣ$J4pkFy!d VɊoq},? ltb_='U1ڔ+@'چ \;[Kΐm\/_&zMF448оǟE5>[uTe=Me~M&*6o%웳CN>|ëӏ~ Vř`9ntIZb~w[ujWai:ܻ/43H^К>҂Vݪ 1@hS^%>`e)Kpw>4Zbqk.Vt0 b(r8KVZ lOcBPG c-2+RG7p[WɣCZlGd> ƖՍO!-$CI#c<3\6'`k}&0_R9F6`%yj^N2SzOEm[ۏcqV*!lmyp3Ǽ3R'~jQU,ſϱ S"9\se/Ů,4K}W so#ewlDoO+h[A' ~+T%sm,4~f 3?KTR.[;mcvn 8BA 2|EFN+ ! w ˜pUf{/vA\9s% 7Ģն>#硃2vBk:ؽKXUNwBG$E?ioȻhGcw#6xvO~~/ :fUlŵX ,͘骺&@hkFsm Eg-Pșދ!ux@K0w5Og4D{T> f|=34Zb!$ Y,F,pJy1@`89.nA}hYxxw lanW7m!fx1>jh1R*EFՒKD y6lZg#UUUGBKrcwBE*>!lN.*3_ڑh@ٽfS#ʼne (m{' V=t 'd9ѶJщP+%TJ\hI"W;$ Y)dʒlȡ&[Lq;'5FXΆErW8.cwͬ^!9 >ĩ#0D7?33#$Fw|}A6 tnv<"v:,Y=rW[9{ȯL`k iU^^I4#f;%bA6%D,3 W.5xehi$Su\$7Q洹CIO8y9y$Ļgs/lKJ\I5S4Ƒ`ԝ x h!AIQ!7Z,Y(t^~p2?)j^npLo& M9`92d_ [@ҺE!Xv~!S  DY '+zhĞi)Qm_] &z]:'c"ѡ=(})_ D(֘ҼtJ}g^d6m`= kX ] lM|J@ENf:fK pfGe.$ EPor@;I+[-=drK.N$Q~ lw1@ֵD$Hr TAJԝ < [Mv{fw仁XAUm|ak).oJ{_ƭ-z_1hOGJBK06mz,`!4F׹4x>&;竈f9 jns:VVK ʲA91 #N]<W]@<;ΧJ1}+ Qon///Q6T{kmlaRіΆtVf-[#Ro=~NiʪiQpؕ=GP&N0xC.}Y0\! @^n-{H"uM['HhǏmĠuox)̥*zio@2ޥy]:☺:t\9 F-B/l-[9G\A9[<+] FDӤ1<~0bS(c""0/!+c/6+gPBbu1|h(oP7kcɵ)afdf"R Z:r$e#*ib2a-ؗb2²<^CRr`sLJ], }2Σ8\ELl;pףC. x ቅJ .TcZYX+ϸ.cÃ]$_Tz|7;_fۍmc y$8>kt[szf15UdߵWIGJ<ɹGvЕAljW{,le@ejQ ׼BK:T))r +*҆c'OiB+ib{+IdM;OH@F , Y*'"&Q]^30"rEPI戼P^_uw(]~b8~ Mo> !֫^sCGcLtI/ÉR#A7LDK9F'])K`#rq"8{2H@(FhOHrkriK%c8.AX{[N5#Y?{#6e W.ԗ?PLteo 5zC#"kHv|6ʕ5z>#eh ΍;f<=6=)ktώ0JS(h7j><~=?뵺ڋTQ\r*n'=a7׬p륧7bǬpkјw+4sW ^Æk@RoEuPX~ Q`'v:4*)ixzbՄu%F ;s1s>[PzdĿ c"Ȥ^he Dn( +x .UoYlcE\s};~Uw5=nlNk_ՋFd8/M7{1s.^4>T@齣 -B9/CYLFVgy.Frw^s_fOR N[j𸏭\:Wlz&,E(\v2#Z2P.*(}܇Zdn 88")NX'Q-myZQT8lK&GlRsh2:)Fg-RI?D|>cRq+!յnX"wZV'A-%p_Y#J{x_ϯeCH@2}Ñj9k^\RZSXe>H%V^s8}Ӌ]SJ/y3B?htd9pxIn1CGp)k!fo"r#~Q UN7i{렺i|MM2#P i8{.~Hq4SguE Ki9B&o@t݉f~齶!?0`{DwhR~wco Fwl/wOe.>ˀxX!;_pT쒸!N]g9j'P&$lej.w~ɚ e\[M8x2Q8lFi;}9<<5/к v׆ZpVVJSI[o?ܬL̅MZ{w5*y6[Ko-%;Ϋ,zz-v !Fe3 97 b;sv\_ltđ(taVCur:-" [<]GvZ] Dc!vb퓆ƖIՑ(8Xj+ȏ1grUt]+F[C"MJXetpe?0G&qDȁ$ 2.T!UYD &"+OT=9dVs"'tՊ4hrFqKl .`gW0dfi0,tuNvh &qhy8®<x8cH)?'rOaFq`Qy6ýTt±3/sϤ\݈.4fab@os'XtKQ$ фJw~kAC:ONSLo qD #0sa4@=o^\u 9Et@' L*r$(YF!g'=l3 m,!i8deF%SCt)Cv2K!{IHɪlEBQA2eOܐs&gGSO}B_pעDJ1f5e4FElZg?l(!Urj^ LhnPGLa"vڮTSEsL!F9qaI8mMyIhAtH!Dz5ãn*zcKO}~ cG˷ Ji7Ƹ1 u|* ,zb≋*E7UW[M ײ:ӿȃ (E_S(r$W $ 1>K18hns SpjaL&$ꅄa Ls 8Ѐu+MT.&bZ$_!,j7.E>˓v=djœ8pIr8ї/$Qfi_h^_FTmuf7.d6G 0a"s˚lgBv}SbCi1NCrQh~Ve6sY2|Vekkݫp:d/Q4Qa b<ĿN:2E^CuMUnHj5 LXV݂v8:, Ň+ֹհd ۗ[5||&}_dk2- )gP$:M5P{#,ċI :g v;Z wj. BQYG]x:2rT_7291.ll#㞘NGyUD."@\Ǩ/ݠ1@5: Dp`^r@{19?kN`dYMAADr*M^M $ؾK-cWߞd{_[~Goٹׯ5Ƚ)! Y3`,;rxHGg;EkI.4\tW}؃^}~c>.ʘW㬬FMs_RB/2EU/mM?s7z21:6}G"-Ӵٲ|G!Ecyh9GU@1f\L֎gE/o/Ԍ*f͒\:i*T>wO"xYvsgs,a;xnaJҫu<\4LQ=U)%~ϬHhsM\CYp sa8 t~N'̊>HF# ,XTԳ4U/d\Qw~Mܥ%=Rb (EbB oZ+JPM4xbDKvU H`"zм)b lnXV)P FT)vR< Ըl6 a1Χ6x& ZBERR5}@c?yc%YZu:/Yڲ+4ڳ ٩ |d:>Mz``*Wi,<7' YEԥH&cxA3ŧ_ Ư})jsT{DX!oR0#<BH贔efDÃ3<60``J^q0Ǽ2mO0,bU"` }Qg>KxOX_-ʍ iG蠅AS*gNBggT?a+D3Cd&.w]:qxD}3"kT [@[ H+sV ceCf½lLܬ5A( I֊Hkk,g,2µHQ:6H_Gu2]GR1&F(&ZorYF՘Ꙑċ"brot9Y<@ g-?t;nVoCG-ARU'',Ra]!faB-E^L| zdBHIxNѬmѶv\}m_$xP-TkRPщ07It]8"I"a,8pܤHY[ШŠ X!Ю.ޘF2Ova`A EM4 !m J:Kq<ȹssx4rg{zJX|R[a6ݭ2<* >xh$83<,ҚȃʟJe1LtԔ2 A*ƎjvColb/q5m0&$8u7%j<TK2E[\zCDM,-X~.Y6S+>*l¾k3m >I~{"+YdYNxO@.c|)e$ ;#?%KEeRQ,Sue'贻> m_co/l~w?L)?|w;SvQ,/?19xv"*Hԧ0$Ovﮣdz~Lf d~/NrF}ύ{)r@S#>G^Β0zkڝp Ƴd|_w痎"ص{} m=omݝFwa5)^r7rwgS*|tF4LU:g{3,xΨP \+Cz~KL+`\N$:}7%ex5d49>0Zs_t,v;*n60G>I[~V8>~x0B1~&dqZ2 Jc hr< E, ̨r4VO G0# N km,iE16zDǸ'&)&>Fד6;GMHޒUyJ;Ɛ^okϱ}rzQ)n멁?~ot[v˨,0_JD|8r#88:nQ@hs H ZX& |k>܇C&O2<_r"nhJvi,my5zMQC* N{^NY2 F稊9,9bpэ??=0Vu߃^&D.óqu I€z9zyD)H>YJJ+Mkaҝ[&aruLi5@]  a+fu9PTvri0wi۸o[M^ ~%hY(,TKH.jy#u'BU" ۀGiuQ6$6" Db]] V]* }Aq^vNmd3h՞9nq6]`Kj9"Y+H,#5f?'Y;ؗg/Mlmm 8<ò>\Og6$ ܼELu>biCF{uUXЬy@.c͜GhXg8GӡI b){q+wQ[zvXCD*J/6m/ >?eˡVދ\k359[għ"q&oTQ5D pn9c\u4DZ? lѩiBy!~} 5;c59+ D7 O ז}IhC  Ǐsr{3~3{4/vƘ~6IMcBO+dz]lFcۚ$wZG'WnZ͞jhT'F)$[@k@>}(M%}1֌gKo5xݻ~~b^~1:{^onWInv;h-b^'&![_y˖/aCB*?SX"d]VT(kBR_b^)l}eϝ0\e7+b[ø)Y <:LlzqHRϜж./2Cj_1nX^ks[o+lp_"w8yo}pvv]+0E @[O,@#(3ӂ󵋴BF`D^{ĭK$cz!ro7pQ_D{r G:;; a'Y lezڻMX`.!moKe$K+z~X %˺ZO?ڝ=jLE,F%Et_e Ϗ3uʸc3f>&79~! )5:օA 'A")COf(jz0FY]& /([DCw@NQJ&V7 -Hb)Zi9tBx!Ɗ_: ȾLL'pKac#T:(q%Q(@xIa^rbwivVE,S|mSuA9 XV=}7;T-NȊ }jJ}pu~ Ӳ:[|ij^zݽ  G6,W5Ek:O\ٜ@L:^eۇI!Nvȡ{nWn ئP0sXNb AWC}\jBHәfe-QX0";`~9q:Y[d5/FˬjV\GɇvA{aL?{X0r>̌R4QE C#X__m})Nl1)KP~Dk4 \6>Rhmb K_z|HC~EN @Eo(^Z$lf|Ҙӹlڹ%hy1<#\7竍`#~^ s?Ns~U|76}}뷺{\xeeΈy2jx`%C p$q8A_ 6 KiPuCT_{cw1o\&>CkdGfGC󒆹zP Rg<~l@W_; eʀ) $5o`=_t8fhkWPN #5@[Om<{|[SzW@k^Փȿ(fĬQG;x-T݅&;.c*{2agEAޢn6qvŁǏ)ǏoרmD6 zYS7g ƠI2g,մfԉPۤP}J@ 6xFfz-Qó{}$z<caEi9(42? gs^݀zqۍ ^.=I0GE7:yƖ&}D^Rt GTCj~l||!?D( x(Byu; 9񵤂krMwϠ7tdmi P(vhmCxEjX{It+/5,b- OWa/UkoP 'f*iB`X8bb':oN.:y3+}㣍Wz_E,H$' v'~_I~O*΢GqFxH76zG.o"J8dQ[&:z2UZ"1(eeLzp\Rx( ݷ6?uJx&KTT?-Nゔg'*ܮ:oJӇ |tSLmrcժ1䵆_OInJsP7D~o8cRlՂa_:nv[5G8L*~Zh䓗҇cR/<qwO:{-f/wyoЉ~?dxȉb]d DM.lrFzҮA:8[)&FI?:pb*٭=jҠE掣&sFgDq("vN*4..$C;C\χ./"83dZJ',hޜ$LF~Qi8{%GjK:#; vꏟ`BK5P'%Y6hۙysP}f9oϣoi&O* *9f(pQ#siz5$eDK*:эXvR!zNƜL`P?$y2pҽlDίe_ 玓L̂/x&ùUB N߷ztXYo{W5iM:Z ;qz'Bԓ:6!D썺|7)~;chw>n:ۆ,M5OE1.A4TTzIy`2gc/*A\n3i,KY=>FTa3> 9~8:"Qk쌰'Ǩ VQg7o5[|ߵ7UMp5&3\?)q*zʠ͌ "DS-YmF5RNE@F):rvp2ѴwCQ`tkfL?A t:5, ӹ>f–^Uf LL4 dk<"o${fY 2KI)VތW4# *"6R,CVHV|@j"Y~KW%M2bf,X n9 NQ{`Ҡۗ/SG0Am/ʹh uَНj}ʼMbz>TJySrýtQNE%-)jG"%gq@ e_H:j5v-ω$vLm_L С3o"@n.j DJȇh:p\38P.l?әF D7K(Up_rQ6T4fQ9`}`3l"s%O~qB@*tI,ݳ> RCP, ]7P_ycCykUS5 $MjuSPP7E @[0/v=AXm7>>T%LRIYUhՉN{caUM_-pRwB2`4&K)I(sN^F%^ㆲr;|;%=E6}I](5Ƅzf~ʜ&qA>NoU94CP ,m̱7Jˈ_jL%,&_ˉq:VZEEZy V1 .yn77U ^#|X$P\fG'7"67e\J(+:K@ XO&ZR_ܐ!N0DA܊x tBS W wTcیgSdp#9COc<I`Pl8N{AR-*9{r2v9 IYskj hDزDּӬrӴ٪+p.N"eELQ.3EX{Cw(-I;Fs \kͤ<>cJ{+.!qG Yv9?A}Td2m)y' 2`%B㒦r,# P9R%:KPh: W5IҜu6~}ʳT"ON"Xe4f2p4)bnCVMo`Pq%k19͹h-=jRa!4Y^d5h)Bw!b ϯsϰ?;vt^9F.JOHR'ꮰִgӒQ\iEI^YVybژIC /h f\¬~GE7x0gT8XdyӃ%Qn톛o Z>SOR˛bpGFp[_xG{`pqgĹaH.ٟ,`(b+qIKB6cͦlZȣ(XcSɷtvjmmR\FA=ܜ>~Mlޅfk~m%b7^|LHN6O6e\W@qy:兩fk~.E1%φ~6L|sʩ*NZbx[hVX81a-.T*V"Q`YG"^d$"c9w~$p J|^7O-:ƀ}HVpA>Qr=iw:`L&B}9(HTDedTro3A'ٖyGhI);u¬gQx )KAҁ![t} qnݛ t r44ӃEj"TBψ:nP:G}$u乊\=_!NB6xe*7֥>(t3@irO wJ,S6V5BiFj" ! Z3I<[PMG1j9=V+da04 b>y("0ϚXe e&P<0{X!/h .P]9Š>XI"wYf g n^$ %$3Ț,2DMgθ6U _CPVEqR^hHqrk*vce w$khWȔL`G?t\8<❼Jg$*iJUkOҧܔyC`uCwu<&o$e%2q3'Eqnw $8Zu sNhVS 3h$ǰWs4uML'|?,į]Ƞ8J86?`V{\F3bc|zGp8As2s5%%R+"T";>E.O۲TRSY'RTC1 L/.\ѻ/ڝ~!ձ-'7)1Y1͐eEBYbËk.8̎ 4WÄ^Ӈ,yahcCށmvpV/6Zw;{k™C8ᤢ+ʥ6 /?rA1TBԥn) T%$\P`Iie OWvRw8;@XNe}]|sz\ho:ffeE)XO5ߥ뵘] L)ˑI? y^2Q)"Z.iB&^]n/bYLYDU gGbu$J>dn,^U<2vx:bR-\^cx[E%[0(\7ɨ .FJf׮QMbO>PQj50&nQs4D 3xF OۧY3|p*Mבrd!Ǚ f$/?=;.I٬`g/%y',z<#ShU!z ԘPNe FJV}"qhllg#V;q{GTV׺Ah6Ff@fc<ݘ3E?k U̯ Ph:$%Wm@/山z2/ .G[8hn_jwrcˑ\(1+J^~cH||EX(!Ib_!\YG[xt>ifJefz"66GuBCS6ס ÜWKd D-ZH5~7dFùataY [lE >c< R7*F[F~Y2wM'AOSM1tC/|2wSʞ{T['g/-ݪ>|{k<_ck QDX(<4 Q=Q 'KL:UGiI$>wcsdpV'쫗_h~P |.o}αPD81^1sф qG͕YrST:PxLV^mJy } ̘'S@C)dc@PI/O{H5m~AF4M4?9wy]: 7' x<i$,dcDVMiCḒ)zdV w7857L o'-L}Y;V%l,Bu [_p%c/ހF`*;RN+VNj; 2^n ?=e&0^Rmd7Z< +KFgljN4RϞ\/)?tE`&VmHONZjy疀*z-j'Ҙ9tl/Լ*!&?TG#lg:zq$JF%r"nN_;/R!&K>$8tt-KvVHOm)ެY0xw c iѭ䆱!Dƈ'MJ$hR-a%l:9[Ǽy~En ?B J}eWx6۝v5*#fK Be׀wmv .Q=ȖP:ר:駢"*򶐧/cimj]CgUU|꾩%ԦJp(M@y2qv M˄9P"UV78SM"kjt&`&ʉ:wiYD`m o);lP&!kl?"pN_h aM g^â&"GX]Unb^j7J^a0A# Zyz:O֞<| !'l/g{J"S_Ak,g˟z/ >&B  r_(Gp<᭨)Ln}&W4(*bT;5ƠlmEe>':LHk<=:n- Ov^](Ɏ|<\ԓ\W*#M8a4c&c(¢3r;6)e(Yl7\1(pQ8?F gvZمI luz̏_~nwE,f/AMŏM2ր1RT6Q/w)x|vzV@M!cQ&Gp"8SL]Ξ^M`pT8qX%җC+ŵTh|?ȍe[kQY^j`Ne,}Ozvɸ\䧏A^^9mY]]&<ѝagyfI@9xxnܽxx42xF1d@EUUQ]ZdUp0'be8X |쫊qkxuext/#]jE K;vG0PwZoa0HOw_Fi^FÈRaS:ݖçr@)y(eƃ4Rt :>6nqK~Zb+k\Cmͅz{:f\oOX^^eNC{ʦ˟] L4ɵ=!v'A2ŢRɘ$פ(r 8oT џ|u!rE5܇&U3MȉC`d#JxbgԘa>`&DJ8HJF<`$ܻ|D[delAl^‡k$mIRQ] ;ukm oGxMޥ$rt*hIьՈ/)\AC OAvN`H}&,#RZg/T L̑UFoW~[}"&|>%6Og-8:'z'"u ߭)vfrڗԾwm/i?5ϔˣXH) yJ/d/|_WTlOw޶\.n& ˟ E9tY.'H7s{bM2%g0ޢ1-/^WQߚ.Ujz ) |X.l'RoO˚u(WxpC(r`X b5QJ&EۗT?R772g;ѰwX"I MBWMtjI*GdWu7 My 3jqz;_"GUމ"( I$9'ۉ+A9'4}GcE.GlWJ_CVe{ڧ + K]0޿eb^DJ{XKBܕ0daHxI|V, }#caggB!8 N. -T9}7Ze䜂(ސIĤ~_q-fU`,+?87Q|U(uqwP0ļH1H}<ʮp&PꝼdG- pe-9%TL‰BƓ^M^VSg[όM`䝎-X!b(J4B(%\*nӈԳɘRӕ#͢nڽ6[|2 b!̣/g&wE1\'Γmw39x}:bDꄺLﱌDXM(w"F/=%A [GJZ`Oy>ShB-(cWxyˣ~\@Ppī&c-;]&5Y*P+9.(q؝)"j?N"Q 8=:8C?4]g=ZN#\dժ+hŬt5eQz7bD7"Ґ`IxՠzUXRЕ;,HZ rr*s K{ƍ%>KD<"9jRjyVq|_|G#~gfN)*h+u޾eJ&G?JHF˲"YUf rQ=K"5]?Z>P4;-OTsp1r}S{D}6\΋xk'W>k!_u;PSr|cda1-ЃS#Y73._soi Э9e`eN #ʚlL YBS-D&TJO*j֡34}Yͨ:?n S{Q-^â/j >OUb"ҼXMf$x]/3h\R]A z2s>p7($-/aF\1]yI}LA<( M6^L|D& JD-B*(:A;2zDƜl|DD(<|XP8Y.[Rae ^#lq~6z]iɟ cV'd@|y\*=.xsەˌ^7q/q̙W<>~Z2Id 8>/sSqzeto =}#GwXgG'0> U)VCsPJ3znSq#L^hWhQt~贄\^Xd• ;FdcgH*g(  3zWe hܸd7QHv>+ɶL fi.혝lg_ƥPgQnIs ܿr&nʾ&?H>PCI̧(:a:bqׂa<$U /X|ESvLBo]('Ohr^!&+?Vm,f=~U'u0b3..$U[8}y4e9XE%S{U#F]#Sd/8K)քuR_ s/i#}PFN (C=kDTNj1|RbIRLLF<جxlO!FTzWF΢1HfM4{W(Jsɷjm I'|!yS+( d[dT2WoՖDȋ M5Uɩ0L$*&]o9d'LyR%^"% v^{,~kf玑U`Uz_´G(SYmJdNa&U8Fi)7S~I$Oāre=~qY}O+9y kz\)R}K^;Fr5CJҵ2[/^Kɴ4sYwQKWtھm|ˡ FanwRQ$bH|#q {=ѽ'*wG GfEYB8SO] d'|`Ri MVxPb3|>-淊9)߃jtNr8~ͫU\:r>/.SpiMo4]Ti,V:59C$rrsPEGFzFFs8U;.`)ZTq(d!ӽqoA^YaP}USOiX'wQO,p!xO(Wa[E%).'uyg\/|auԼ3lR) w)y4/=/,i䩖3.7A2e/a g|B!eq3n,1,`ÈзQhɢ,wLJ6S+7Dj҆xu!\oc6 Bk,\1 kҟٽF`RLQVzǺ"mfRQ В閨qt[f U>xqr M//֋u:s'Rvϓ؏nWv'zI[^䴪3-ES0vޣ$RsT8͗bjJ0 ^P ?{5L Ŗj:bZjëW6+oԔǗ`~^򟼫fs5}iP ҿUGdVK Rm*^Zp/rqq,A? nhTlQxxn,wڧUvI#8ʎ)dqP"<⑰!Q86Hz~{(Χ ܹb~24ӢG L}4Ӝ['V%)EjC6IoHdU;0[C8sR+gBT62ݍf@q(ے&[3hc qE6o G"\}K b5Xddzvsju9 \]=;SHDj5 \Rv';x!#-bpUN}VҪ3Vw f_ c@QQ=Lfm##;T]GSԘn]AɇYBNk Pp? :}N?AO߯7e4jӋ]t) J4ޚzPJ@fvPz$JpIx2l\IM|!+ M?rI3F2u 4,_ӿglMa&^i+IhwzGt̵ͭWth<3E-ffx<h9sĨ+ vOǾ:Kؓ8p: p^Qi4x J| vO)mhl; jҴAgs%}½ޞCnZWEPȔEV_oXI3W Iգ5PtrBe%'2,UM\C`8RlE󊌳̠8#Et9R̔Ud`lrN}bwVЍmF8gřE-`kZ8̲`v]wB*DJ?u{]F'OjKP]Q}(=+q,O:/Œ)晝Pg)'+t{%iZETnZ>.?w1l:G #S w v/6ҳBi1e["39B 3BvxUyek\V *mO%_X#{wXz])g\Z VIfkʼ^ _>]R;{,Q8႞ˉt8larR9&cI*{rVtY叕sтJ/>9WeKFYZ9BAߠ$[^"vd:BDEޯ ܽ]\ց74{95EI?t'Ɉ @z5S.B];\=*r{4N2́W~}%ݏKQm fȝ9`f&N*6qQ+¡Hn~Dœ$5\!3V%\y3CKM*橄91n}4|(58*Z[KH[gKC/nJdKqj$qЭ'X@Rodj<,`_|oOhdna6)QG p6ݗ ߟk|HT.6Ѳ\ ]iב S8_oG]]vqyDʌvؾcnY[MK*?Y3I m VhER_}rRݾ!Ѕ:ʫ83TnA ' 3[`s_,) },h kiǜ(Ƶ(:jEF V'hʙF3k4(Y8qvW\2Mp>zۮ}KHtRЩ|**,{P|2_V G@YXF]\IMy86: z"/Z’a6- G=ãnw[fK&o9^/"}ke r*q;Xy(}[˘3zy&(Iw肷[OYpnH+T.ݞ:Ŭg<ɦTk[.]/nZ~xt:w}7T:J>d YzKסt(9 w9G:{5p5;ߺ=W'79Ur Y",xjz޽SKP:yij4cwD?@쉆@@tosC3it!>r;DbW sk<xGQ[Zz;VP{!KSM;L'y3*t &$KyE#G"p0]`;ϹAx-X.ػۜj_X<[DY: u^WVȳb\^Ʈ/P`-_[>+TW6Ƀ=!ygxy*#y'zVSG?^ofqk)BYbΤwȌQ6テ|@'DrrˀꩬBHV爿< sEs54옌'wp圮jJ'O^X`aX*D[Q^MVq$|4 諤FNtJb<ת?JZ8;M4.u( ݡ]azGUs]O yiVU+q<<]ޞL?bWŇU+uWfn#ŝK9T1 1¡wGtKG'W5cNa w6$]Z9ji]4-TωMXIayXO^YG\F3+|kXkb}4CuQh^6 YbshO-HXzʨbzW2}zʥ` (Uvt=g-$p#{H)J5 cϝ^l_$j5j1ȢC|Z=Qej?ͦtuv:=+H\XPB}< Dc1pϩ%]Jjwz &}JM0p,"ʫ05hXh Fu/qtNt%s=Y ]*FrV aoi(]"h`DRt Cmv9}ǟ$OXdb >^FrJ1J5k* .i%Iq8Sf*'E‰vYwj+.w_2h fT#:kZ?x٫q*Nv^\Ϝ#]Zqu;UV&퓂ʱgpҨTiK{|^#WeJNZ80;c% ou:ʉAlJs.rj>ro\%9ɞCo(Cn /e4b?  flL]rpR84-$dZ5\W+,ocBd*7Llȡ#b-8HHF#G]持L:*GSf' }[spAj_)E &] NK8.f+K Y5>5qYD!(wCb?V ?QP5'$>,,}FLj, _l6ëPywdًf@*,ϝrVQp0||F|D /8Ƥ! +hbL52d4f:Ֆ#/8g'%RZџ%EEb[&Br]-+ f/t k?7GΆN d@)%5 4Ok-1 z4u_;8_G{Ɔ<1wVmuHVr!U;q-l5d- Cj|4[XyzZk(yF>6I> %jR&Yk:-V>%9LV%vr`&b~ 9?]<wkPtwqN*i\Sː3E>qx'%6GHz3] h:V,7QZw Ih2._ զ&5\) )#LW0y>o' HNơ{=wTW0Eѭ؆a悲ƟG7OBK闞#K9D޼_:O *͍˯k4gQld/ W}꼞g!W׈l(;ÀYmऺ_;Y~lb ydr—zyqwGakp 㴡xg] o37; i~/Dyg ~6g b7hÕgrV!ZU ,9ϫMƩmҷ ΢|&9b1 SѮg͟Ipzxu{N`jv)?Jpӱ<$эեD̼sD XY$]$|e+-*|^-*,*5HK {\5kW[dMY>B@ͱ(xeXnnơ{CӪH@%#|o}eQv@-P0'ҘsfWaAY'`#Ivi4 z*tG$nl^ᕙ'1D\9 }Z3qW"wRxX;tN`CΕ?n>ΜmժWQZaYѻň[fSg|s^o$ByvpX;Tcx*52D Y5 bL\kWN35a1/bԷVRJҦֱ yLN %ߒ˨'˽OLI wSSfHb&TUi)8IC^kjRl;ݻ蔱ySuҖASb@>fR &FDbn\J.x$S 2;ѯaBƫT&oeģ _?xyW.`eKGv#cԥ2vQ]ψFڟ/`sDm}Ǩs o_=w/Βa%3miVr ͣg+b5RU9mKtGJ6Qwhb2Gc>&fBo䂼|mRǓ 3p(z4ƴîA@ώJϩv>>:Qƞlwdg(?!o8u&"q߹1c8e ޙ&Eȗɲ<;qʋ̅t8d6Nrц4=>KԺHdN ?2ezJց==RSSA$ ]a3kauo X~| 0!Ι@\ήɣoPS{i"ORv@YÕ\y/<.V ^rSSA"j2“{70]0oꪍ_܁J"|-+>R0"Woa] LVaQ6 .=oP m--(VdufϾxJܟ+cЌwi>{\d$.ih'FPI+T' N(p2{>>e_8azcw|.?B9&oMMll=a"fkk\oAutLp b^8换)#"-&c^VZSwZQmtuNQ=v80]}zN@HM5RA饄ĚGAvzI7{7WX 9./qsNB1h] .RP"T}>>d#>G#:w~6Qo :DZ=mQd<'_erىOh+Z L2Ep7 N~{? J;!s"|&{uE;Kqt,u1V[? ٜD,d4.^+JERCE? ϟ`DX=٠GT`Ԅ{;KH(fz:&LkhT{0!T0\72*ń`&Ŕb$31aş{b.)o(|p@Є"TFקp:aZҢ8!(>A0{utKvn!3HT! zE yh Aa&Q|Bր^ű?82L7y^ x%31 ME"[kD o*'g>6o -N/"F QNhI|Dqʎ# cŨsaKLϕ! y3"[FZ]yHM;*>oQu.M# C@[]2 \!N~tT 8EůiyqoK}L]n87[6ltgYN<FٖhVnIaLΖV;(S=A:bMpqy 1c I, .uL \ :+;34<:n:a%,G7dC;V:uրyx#G|4!:p&Y nCBwKmU;5qw_12^ 3$2)V p)ߑ|Tl!s 9Frb!"QFy/3N?s9Ư-9s$NQ>=$vHi"E Oy3%&2y9ivXtb4IFB oxtl-\Kݔ/Aw QsEyV+h+%%ǥV+:ZFTw W)jFF|9X?U0RJuwW$Z34mx㤐=7\OV>d\5\DAkw D'$V~"Lg~d|C~ A=FFXp[pKnK-O3MյD_uӢ\^F)~Z B]R0Yf] T+߫r HYC'%q*j9?A)+(^,=a֖(M˥С@pu16wʞF9qRSo} ô6E;r:-$u7jW鉑 ,=,bm}jJTY7q@r P'C}A&Z#bY'm~fNY5-|odKkh cj8 n<#KܻKp?葬x:z8F`ty6,UoSxWbJ8n\\˲kD MТ˞cY@o;ȤK誘 ]Je2UQl# yԹG@(/3ꆇah[+֠y/3 2 7 ؐ)bhڳin&EnqM?ΑV¤¤X,~=+g;PRJ$g7$Rڙ}!جO1, 1A6FˑkpsUQ< ^f y_oly-o_8|M/dOAL/wALD UM6!,Np"Ecq d&Y6 .[/&hX ; .揦>tOպ &ks-qGcE8DFG8K?MRyOr4Z%΁CF/IJ9S}WXh:mN v"l~|A_tZgZފGyuަ%lMpIw=3JRs] <y;WcdJc_8{ t @-+.[tCDIwN1Ə|NkoRlDRHïq;1M ( l`M8 +"/'21#/P‚Cҳ֥r my .{:mڿo87*޸DBhF |$6 }10 k>"z61ز_qm27xM^V_ؤkv*`u2U`}^otLS+x:f-84l_iYh; 2ƽ8Y KPfS֓x \J8PZ7W=yʏj$9O 6)?+eЍ>!^V <Ȧ+VŋMc^e/1ƿteTvkdDo ^" ZI.1CUJNՅV'ITygayE"YgXZ$ӓ_Sd@bLSN@Ԃ#/(1 ȤDtO}zUgVX?idq Λ} Yg =r򥷞5`6︡@*i:-h:7''&C?u&4.Sr?t&>W/Ɠ=Z؇p2 s ˢ,:"w}w@h.?.&-4avyO={7獎zsԨO;*V3l29)WD5eliV9zQ? k~tSc͕zɅ%|ws'[OYs BZ|hnLjt<"Ғx:\dž-Ԏo ȯs٤M_>C>_WK"?Mַwo]^>r+oolWֽy>3TCWhvOV=x#]-y0o=t.݆owOxF0. (yҥdzm"%}cxPkkKW|0oӳV~u +kNKY\|׆mt%^Jte7]\FDANn0C%_Wh sF"i!udR:%1N@Y~0)ݰȽ&;ZUz:yvm^&WĠQz녱Ő+JA/ 4[z{ #48>owVky/O (#ZF/đ%ƼCX2]:t5* &hM1GM&y g g# @wko'{U6EXyB-1- v>IhAN qO '.; {cad!JVaO07|KMBĤWjH`hUj5IGS.jӁ#R$e&B$/lYIhإEKiTz`f9"owPf9kdH` 8`bԸfVơkϻ$0G6 .F$>")(YT_GZm^)o]~-1^hmw bN}5l_JH'd)'MA0H_8Ya|( ]~Y(VNjϬ~Yn^F-S!Y )]KX1d8 EHO+C .blދu"J"IyH/ؖ"+|PJ9Pl17!Mea~~wW F;HmWߺFU_fѴO Սzd9&^:wЀԎR@D[(k#EV!qA A,*j%Q 1T(<=58F/Cs/{AFv(90kDlEÈ}.QOR{ Xcqh+:J6rK ZwE)DxoIkU V`/XEm8xzqMiT J-Vy 7R" 8l0|'l/SZAs[{v X1иދ}]6b8o!e꽱O-\Wp\/BwXI.Dc1{6u-'wtP,69W6-[Y. 7wM!yu=U!nTLZA"1JGaQkd3uc۞GH+?f޺c4> ?96 ~XUrPU죏QLJ톆-1rAr䛈~p+!*\EF=tK<]h?#j}PZA@}xstQ0DNa27R=- 9t*@0U5=%]Ɗ]8`Vn2? -T\5'3g0!tC?Fbl{2CfԂޭDŽ=bƥYahp!ZѬҙF#omUK"'tqd i%*2)wěCՅ4%^4)~+'p-شv] EjTE}m)gA9{1gnڳdlRp_7"ϦIPO" Q*904eD/zQ#!g 6ГxMmg= #)شk?Y-d0yx&7飓1F뵬xaPȬ)q8нmSTtW,[?دwg_{&AwO_z$sfP%^دvNg/x7D(Ϝ-䈊֪NCUSeI"`(G%QVWzbևfԗO̭Y8i0Qn`>v?FCFɝ)Y]x&F6V2֪a_2'ci4M>Fjh>ÈgYxO}%zanE}za~2N~2mbM9qN&{1{  D1[F]Ggb DC]"mP@cȟʭTFQ\`͆lGIXB9ՉC> zAبwhI0Gd9'q>탾jb%AGLb;>x!bԌ pJ(H)xEA] /2FgWezFU ^["2iVW(6bđz3FX|~#G?GPhp_\nwO//%#_w.qޮ2?1(cSԒٸ5 a!b*ۍqN ="`w$ z䭭%gxR9mVc&1BJ*ģqrœZ6=:fBb5T#U2{![)a@ˀR3Z $ +)d {̢ >.#jX|> 80䳯싂cP>cDShBP! w$QQ.6/B`ΛTcY@5 8ͮ4U]!O)ЉZ8VW JMP :Jy@(\PZ} _UL=̲ V>A fs<ŎK:&ARKr+ƢE +/S reݯxI`j~בa?vEyfC|+%R`ڵz]T4dJ7szdZw^k2zށyj]{;p7FMY)OLt\4us~/ooVbBԴn4Z^?wz~"?oMƤNZًFS~Dh +]A7Rk55G Nq,II ,U5?ӻ:ݭ_XÁk6cNNxW,pBP[-얔d2~%7Qj׺8#V(vFSጇԳYg=u"GuSzS0WKa}eE'%*q81Pv r.Py<%5~[dzIT$ZoyՎD-?"בd|929UW yQR!xf< Zm >7$|0M7`·7ZՠS?f l#<񒁿 E m<ٿM o[h2Q[\^$g=.,FS1nҐ%6TVD{T[@DRj.]R(!%sVKR;pN cbJxDGtPU.@rҐs] ,o2&o›|jc XeGStL,s+Uܛ\e2W kUpLxp& l*.ǰ@0ݴ6X%!:dh -`̟>'- eZCW :tugGL,lc讨O<奺ͺ\2͂Ŵn]rN7qn9ʞSh t-t jN-9V-,m<KnAai[x"-(,}*pp9jW/i Nf*X`)\ƈ9M#*wS8\S)7 n 4=̲(* i*e#P6Uh*?ṛR rhiU}.VŹxdy@JR9\%+FaͣΆ5JG;%jaVZGZKV |AB-d+[/W!M! t^RW! Ԅ,PMK*uTv0<]i|Cm\xmyajvaji{` $#W1z[cͨxگ\(]&x}J׿ֹDo2 %rj8%Q9 F”lz\*:DQ6yJX\9Ps&K[Ee&vpɑ ӯA$_0t]ZȢC(ƬZۈk-#NФYL=H˳RSCחJYw6lU#%apeBww_w4Gxpl;YWQ:;YK8|O6ܝzIl6dxl+xb}.ñy2{jdHH0U`%DG#$VMPvm\4$3=k6o/VvQpnK"'"E¸Xl,%|īy̑No*Fk}AgejBǺ24"Z$x[dZD5.j +{5aG~UBZHd>UOC۩zn Ԃk:LZVk}PTy}CrN)AS"J=3JШԔsdx~C"MIӱ6y@V=xj|+iOTg7FBi& H %mI*NДT=7<nSqo׷kNZ60O(dy:L-NEPnњ-͇cnC19e8Y%:fgxz+[3W>8١Dp'؊[L\i8B@.l4jޢ) ({HP~%n0= fǀ$![)rv dov\qy]Atfa/йy k\e_04%+oiF~.fQmY J,sg¹H5o3U[B/o#Bi&3Ku,x pM^EQ&N{g lb$eZvt<l;vgΖ^Y' kn$,.^ З{M@ciـuh6XUq `om\6O1xWF F F2pI&sGOk2Cy!K8 `I|tH-ܟRkNUT0$sM6N$HP q@hD`X: Rg%:NH]Eoe\d+feύxFJQyseG-%8Siū*T`] _7I/{9Jo<}#ͳOp"C;T[j8<1$<{xiW6S<{SDP`>$D:b"ytСQbE_e%!:vw[ɨ_8Ys)mCr c;vf53 Ip/_I °ڗT_] x_o$?Ű^o0-b &g(TƔȏnMh$$5;KXh@wLEs< mc!BNwOǤ;žY2@O2IT6wԇL=*Aa,93ۥ^viņ/̼mZD\S 3Dz[4͘xdF _,]%uOOAb/KRM)2i>wce12M2A>67ldBf]hd[e`j6HK[-8tf {B $j Ztcpkn9550@5CB*d SJ,j.fOk6\)S۔8׆f1Nk:ѹyǵc*gmpѿ_ '[^ 3sA9 f% ])"Cwf4}ra_"@P'=)$쓋 x}ϰ6?C@(~ѻ{K9{Ĕy[8ڐһ-=tُ.0|Dni#'[JkNY2j@ŌWL{7vʚ7NOCI,rwg*g|Tf1?v[ڪllVֽVe뿾|&ˑsj=g&νKĹ<{spx1 {{IN9OɿJ)O/So=(&λeϕusn=kͽL71޳{t{ϙmsm=2&.6Nj7@V0tXv*,ami o;Zu^(lwNˉ?t1Y=l6;m~ɡwXoT[} ̰YUJ'|i}U;⪽=|EǴ y=pxK{C[OS#X2 ~zL~#oTݯӳֆ}-jD&v"!c ;l!EI(ڏ"@xs?}wXdTpv>wp'u(?B?&;}PmW!NPe`v&aq힄#џ!hP~'t7F맆j׊"їV7"s͸1PcK.AR;c4 1$Gת 1 گp8o`@ +v9 `8)!{S'}%C {W;s mlpBFfU+h2]>CQ]07on(:Gol4RK+We&"SjXQ3jeꆣ/rAdIlUlPDd`X26M/hΦ)pI? jwcsa}4ɥ̲|d=|^ytԮuެai%@Sv/5QC'ωC"i,ϗw٥ĩ,%]ye1NvnY0q=򤈷E G4&haG1ZA8g"׭R7քr*Q"pbb)03678r<}$䩎yg9-b@m-Ahy0ʌWE}L9bwR~O]K], ҶicTz^_Yyrgg7bYTz`J A}~|N?2K``A󤩠l" SU8ERֳz),:g bkvI&GI[=LbQyhR-ڄK0K,:}- @9PӔ/Q:aO-D r;"p *Ʒc J{yy,s}A>$b?*v8YܩǂUv1kbF fi~h\Չ>.C@yT-( ҇-Uˊ4FB[Pl@+k$:x݅@/(Sa\!.88yU-8lv+w̉ 1UAh `?id)W<(-IصʕN] Зq6x qx*Ӆt^tW#A;&*^o)fkE keK,O\{ jkUSjUft`t33zlRN7נfqNbXEVRO}, Ok .}JݹhP~p6.@+(! 8+[[fsд*N©vazP 'QC)T44X_X<o%l 5,Ce`ctBK1);R͓ab6̟vD8cCS"Jĥ'~)ݲ2}9j>w{7|bf)'K40Y޳/Ra>PVk32:iUY磡?=0V$*vln8T@ ,!eȸ.4/͠( 'LUn^]8'_MRHXzRQnIv*}TwT*42qF96b`Mɘ8yBLa[r̺UWKP@[rA~.o85ʮBe'e|0 D#p wl0EQnǎG6Hˠ&ٍWXC)\7H:=iMZAvٱ̴Rņ5@W[:_s[|a ]݅9tq\F 0ҳ9&.1Z#Zhq&QQ#=|b4dh2ІbwR TƢ4*Uņi2d*5rjĄЄ*Qv&] \u/iȫ5oۨGC*,a7DmTas?7^9Ufax+"F8F`LXefP~|0Un c]|vB1478-*-tbuek?t5fF ڕʮ]AzԿ ,Z}յ*l{B~w9w|^RQM,Xi9(nua'ÒMBY'7ތ'/phoz~nw_=Apcgx2yޮ"WCl^:jC9 dA"uAxeu;nEǧݦ*;B mVl[O%8?ݭ}?Nuvt0?KKa~;{x|J|nmll7 w+>Vj;;e6Mx{n4-Aa\RQ8%t\"ZoMQЋEc?9zNrl.Q>9 |6Gsys5G`k>9|6osAn.=\߭2<1aczBBX"i+ ~"OV.G‘qY9Wtvs^lWVzXkTES8~]4)1T_0+aز:ך8Fv0k:IBid`B \Sa>?@ԙA8=~}T~@Ag+dcnb"8jj>o4ۛ44I7uq/!-th(Rj|9ZGӕ=9$[jCŋ!z16N=POpp^_߀v6q}WNNNNNN'W@1;mQz8I0f'y =4 n֏X.A፬{f5K4@9E`}1 X$hY#&hY2I'|{q3Ha紎'=J}pbdV헳Em{c OHw%},)̫91 X1 ,"dG:LZ}Je?&׌97/qam<̦mI3ꉮ!ۛs3P vFi."UAҤE'rvj(s-8ה_#Xnbx_f+KIn^oF1Yxߗdz?$&0/CZ:QckS!39F$ЉGR8 t.9]i^\hCWމF6cf1fx ZFFȘ6*n^He:;Fy[ݽ]ٽNPe*smur,fLyAR1 i:d+j.Y]rI!~X0Tn[9Tb):Q GEd~q3X|ZTT8x\oҾ7:Ԗ`+Mpu"A9"^++.N-|9,!QkGI4fQ.wDǃs,t_Ğlu,:SLp'I~5ZM5H*鿍1 p]%]{?!nqSc?6ȤvMS$%hoW3UJ:MvWXT:Y+^f!:zo~82WvPJ3yƍ{²n=V߭l-*cmuY|fU8vEJF~xe2Ͳldq8W28ETK5"]unt:"#+ŧӓ&3 MOޠ˅y;=ַ,[[O %rj z*I*H| bdɅYC H0eM6BN X1VZ?4%ߣ $~M *ڽ+B--]:Z.wgA= Px%|hcM|p^&П?c[NSr#v)lS^Sw4,Hun >z'Ii;S,doV0@u؟f,z?u/#L})[TpK$FadY9b7, $bѦ{GUa%Ni'݄h%6\:;=ow.NOF;@ͮdK~tj> x^)2+woU+? ?_\ـXA.#hp贽ߒ_V*ZoQŏC88NxqȳXytѪfq4}$pxHZи۝*N|Rn>h~Ĥ"봆gUY rdl/ȒӼtͯ2}w R4w!>J!x䒾!ĝ,'V6(۵V0a_O` G.[F%:fc9I[o<*.#Xxf\/2gG!KRmXXt9D~9%CM۰KϮ]~ޕ!-VLvϨ @;?k}Ha[-Un A^8~sDȋў6|%q"k,߆HBњ txxW;I98 In咯֙NNE]aWu*=iW։*SkSE;@LD,R9}Zn;+{4I{ٗ-$ן|+S(4y %#9(vt 4YI:(MbfH1Gܡ\ jy\ [:ɡ@fp^ֳY^G$ǚN/Nz xH<]A9%*4J1WЇYvML_[LH7Mqku xB5Gfk+9j vZpLͤFw2+5<&h:%1p,xy N_5,[i R%/TzA<{zy 2~YPga̓Yc>kMe}UpXK8O/̇y&Nzܤ|r&+Y5OOAQ%v%5ت~ark,:Ku&cO ggNΏg|<_+_+͛|@YwਃEE{[2`VH5V c!>|Q.4mKZ2 @63-k$w7y!kA+TMOMEr; jHd%h,Y;+GPB22 aR,(LYuذڪp] F,nĴre0 O_A1Y~r^`Am+vXxaWU~lIL:VZ;pz<5u+ZUgAK RSb8^7E$ww%flߴ(). o&FhEUi 3$[h 5_[0&'[L0bZ;֒qO,J: ͙(hέk_t<;4) 5Gcu((T.~U\Ley^`0c)A$` %4HLb`e{=p/V4]ˁbUy/ O!qJL#iNrY;'xM$䈓t,Ҥ u[]|Rav+ ]2ൟg'jm.Zw>=k|^ϺFW^ J-HEC"^(O9 Œx4*l'v5 ynLRx 6'w}̖pIrE8fn鄸@4zbBx ûOQNc >)p _{^9HmyQMNnl_O* R Dԓ(w5I Gg@c/Vٵ'n[5F- oY~%]%0#CT-ppabLl87xG[ξ>YϘ~FT)ŻY#Dx%PTef#"At>!b^qFC>wX9=fcBua)t)TektŅ:08h|ǰx:2+dS|V(OrKAa dV;¬:%ぶ:{8ˮ;:\Nw|/N.LU_s 8(\XݧeTz Kr_'5k1jY`?R b]Or︽hH-CNMrumcx)_')1KYӎm!6 'k< N V uC7ʻ!>;NPP䐨S\HԥcT5Aa.#Jm+7W^[Ms{%e)FC&g0P= "՘I i0`8Cɛ>bgeM۰vk~k? lK&ʗL>X"ߦq<Oem }ʡW`8ŧkV!_IT'.06if.N9+u, B&x1qDj+H 1 k*,XٌU;]Ѱ| #h<w9S}z5CzppF2{2hL3H]S RxFAXf.<2ud/ N[g%RL9Vp9S0G?%B_7.k`op's!|n&-^|َM%V48 T[J^gс|~l1qbeK =',>~_7Ԝ!f Axఒ$x{`s8BA'Ke FBzfUmA,5}+{k審x_[jڢSzMS{ɿڿ/9 ;FF.һS5A⦆WGKɋNj12/[<ɕ\b mc%{GVT e5$g8#c!D P]OlUhU~x ao *^Bb0-0b4R]"$ü T(A13d`,t&jو!ngpgs9 c3@$OQmeưM0HӚ/w LޯB?@E?ǽiI'6pnwd1 ݇+`zsBul/z[.2B{D4UR%yF@ Y+#AWeU.90d<>;1AxNd)1NpB I3܆5&c(n—(bwvveg>pX%*pΣжU=/ALPJky>N.%< _n>XYб"D&_^$DBJ"Eo}c=8?;Iޓv'xgW)a~6-(3]zΓd 'xA@IIO_RL6a=CL54P+pQou Bѧ--lqeWԀYyUnaXK{ig -Uuxl9EqV[1!g?ۥpc4sŹ(!y@o޵ʭ6Gxmx|N;WbΠVv RSEC>6YN iw,%Yۮ׵!Y Pd>(Myw௭ #me|;jyJCcoFύWuNY/̩Ii"Gd&9#E)pP{r+Y|Z m\)K0OƐ蚔7{+?j o'Ox4p(vowKU~XIVSoi؃ۅ1Ь۳kj`FJ%X`D/IOO\,iJ 4.fTdėb1fi#~D\'zkBcHn;^ /.57{L" y'9Cb_M&1 ZΘn ڇuX0cő~^$h 7vk'tTI0f(eI*cՌy`oGB"HctUbsP kґVyqEҵ [_O)lj*E8vN+~iv\ׁM7e%\Rmw F\1A\SV{J׈3"so勷OzvCnNgx0\@B* bAHԨECfy&I'cF"Ŧj )=VX,>Q &uC,dd89ԩ:һsR;ÒOبDѹJ Y/ ap59II3,%zK̼=JpQԐA|NhHYIzl@xq#O7'^[nϓ;&ݨNز B@ea%g6ZSKT iQ/h`? Ǿ_ b!.4lx1xpBNVA)عq7d^K"bËr}ȈRɻp~d\EݾּS ce/=ӭy>m$/N$_ iW!U~¦Z7F`˴jQDLaP1X铠{h&g~ _rҲ3@3em (5Ls' n~іϙ,@G @§@5M귷W%)4A(cr<iGd$[!!; B&TS s )dViCdES0ܵ"a:h_?N~P<#}} pyE{4$;X 8YNhUGV0zjd>vIéȒ"xreG+d*# z`L "R(^RP 'i&&̌R B+ b1MQ&FyɜJl* TJr/`v l"b5T48R+uwHAΡp"(W1# aH7qz-ܩwF߆(wre3a BpF| WFK$K]-\CO-: HjI\\*` n-g8Du&w`Ut焞oǣQ6M"~csH1u`f6T9=X=D Qb5p1ƖrzǎhbC&Li*#.突:nni׊nT*fH`c9srCTg uB\4Qy2Ae1g!tfq*T/O R0inQuqSePD39GD4W M^ ^ZgA}}9y\Ekj\;'VI3v^.+һ_8BLdQD($+ƄK77~x[t]9w{+Qs~W`9Mty>\ŷVQg܃Zx2h JКuήnj:k]:bFOc:ZRfE9; 8'ڔKj4ۭfz!LjkPrCs6*S8=DK*?dn-QvXsط>0(k&?EENR*g)DLd&@G mvv-V١*!$Umw$]f®3 F{%2aԷmd$gk 4{,=>)2Aݺȧ@;ڎU\8[y[^Gs@ .,-ltLp@v|2G-E[MW&sSY\ IV"+E愲o7Zok)6XXD<'ԋ`'`2^ypDW&F x *% e&)EURZe Ⱦcyt޵a}3YMPWY_?KZ{TW"!Um#*G`b. mi{gLj%L2BAu|'jc׊Į~vOeUcјhIQ&R6gzX3]] EG;c 6kv L'0GqߡHI;$ ݎvx%'LXȉ؜՜|>nQ*)e$rCD~Z?+ ^.W!٨ WMt2,:!P|S U%gۭ.(+>` =`/V?? ](ֵCr@ (ȞKa^v>zC~b0E{K5/"b/q=dDT\PTMdh~Ҩ7?X`^%f4Ah> B3dPIS(ZEYij9 $p&r&&YQX餐pidjTY! La$ʵ0|,FrdBo-&c7S莝! JF'Aޟ%2^x3'kV'ES?Ph{FG  BJf_Ej(_ltƵĭ LJ+j U;NqכG2P7h2SHЫQ Q%z"P2]ّRܑ\V Ab'TWLheX§y&G(Q5׼['A7/3 q=v7^[y33lB)'\du`*nFhq\Ivy TA.V h~tKXBU5#@pX;*h\^_d^W!řƌQR>ʮ{!;mfd߱" \Sm}%#avٷjG–9ӊ*(Y'w Q5. 6H`ƶ#`Dry`f25{{i )-Ƥ-!kn`Km ~`fLP$ӎ 1hd"U[fNTN`(:t\y8Y H!יQhPp1#_Z1ZLѣʋ,hHjDžQ Je3|M/c4};lЛke5z $#BtSI`TkvdrVJ@u#$.@T,! HPAPRLө=9E,݋QL`٩Ey"> M}+3G4s<WwӬa*@IS]Νqz?YM|VEc :?!0\`S3k'8?+>b7/u!*7aA?+<20#b @ԍe` Q ̡"?l\\ kZxJGR,˩P ҧPmBK٨*F"6~%пHt"ewΠ!#Nj <]I]g8\.I@7U_Js1_T:ɭWxo?T<{/)RXG|}1%۽vB U#%6X̅ě‡ɷe^$<Ic;oN%l$ oi6TbYhď4ˮ>*6O]+q3\jY>]Eqo5OOAFW4; ]+/Erb o1 VsPc;%<l7g^e*H n#6PdM(rmK ZTzmʬ LVdP%SZ2d]SOZj$<\T cKHiJe܂:1](ͨ[E"Y?g!Re1̴:O&o#o8 %޲gay#QSL; 4pcny:y]IDYaIB6 <5#5!{hCAp/ZUg4D̶봆Kͬ}w+:vo7w(?~F/6M&b]^3`a8Grg"VXrnξ_$M&pHBqE' 2Q!٫bmфR_cJNzQ8yf5CW?$z0l``Rؙ,pByhghҧ{'%ia[𵴓6)rծ5Vy^\/* <_ltdI3DQŸ5VУI3C_j,6  J2."Auh:֠umΛO6 :y%=3ysL402@ഃ:[-t`x'ۑNJkx ^ g/Gal׭%'yAǭkCP3K8ɕtoA;[9)Z6 FW㛔kB>L2 )Yb13c*T$³9g'Ffe"vP'iR%Ҟ9ֹ.e6ݪ\e{fFe NN tG{z֐ַ{>a̘ѥ.$;֞6p??&,b[njJ2G#ͭedQG@.fڵ:"v{[]R6S`^R nɈwkjF܍Wo ~[& rX0O$<5ja%I4#-jPјbZntjϦm^%z27Ob֤i}?*ڽ#䏠>BZ&4 5/WEvc?|jq{~~n ڇ*Xm:J9ӄq82tf@&4? ހ?E ,߿@m{%([fl6Ae{_`~E0# _7 Krxe+FуJdF\8uM|tC'låYma4l3q{oٍz$SSh [ނ1K&|L0YKn 1WWZqLN[VřIJ얦mi":`~F M̊/x_Oi L3 eG j ,ԦVS^lϲ[+>lU xzf9n+uNgw#@d"u]mǦבG<C{浔l!X4,zZ;8k~jc+aȰ%zuW,CS9ix82=Tf3 XF6B\%4>Г]m @Gcu3>8;z5˜PVCHKPNLG {vM^I\P>7 YG3U,T#-rL>/T7XldJ&Q_q ڻ읹@+m{CJC54?HB3ܩ𵵎gd }b ᒀnO'9ϝ[yvn4(Ñg~`0q׀ bQ?^: \>u"4r:ư~,G~ naV?XQh*\ ^Ά`S20NU"g}(jƒg%CBp!^!\OK U*]H,,՘Dil`8MSW ")׫2PŨ ذDˑz];:rvֱs_<&l9;m5׫Ñz1vb+weczt0MT%a]4/D0 Ϳ.Ͱ# =''"^,RSǤ EJrus ,|qay%53M< 7 aCRrDcrq:^||8zYuwHE6)D•:R^*z+JU>mM[Ę<_^$%(,l) L 70FRTGgY8P&OwN+^S()|#ާl>wOFQzL qrMkdvr}ې' k|1X";2&"5mӎ(V|8:7_Q/s.̡a)҃,co:G0S9a02t4b*+SƘ |Gѐ DakKHix%OdD=7HU.#|̣t\&6op>QI~mI C@ < ԣmhw"NrW϶MVƥѤOmʉ-ө-*Ʒ3~rh!u+LYOX.up0RNp#33EQKUm4Ո%TTd(1&\FV>9 8{ "LԂSlCoaw7Mr` s+d_-PMDDE-+({A8CCq3 )EbҐ< T$:Ќ>eNaEЅ NA< e>GaN|1 j,n2x{;Vy{4yZ/ qlpMwy[w{ήnhYá&,zD }hq~J10N; @ ? BltEYv>M ]H[ApOO6δѠ9l_p+nB;Л5%G]:!ޙGvu;[|X9Gy,XܪnߊE6UOo"8`:dTD~M1KpMi_M <{t.ppX>}YZA\֪/Շ64Ȫgߖ3|fk–m9b29`B.%gm;VY9ɒkPdmHWY@FS.L@"H{"z=4!P Q#'X}5qeBw<Q`r$NqfI+B@w~Vi$-fhUgV 융յ-/Z@`J;[Q-G(m1X xDc=2og) IbS,b,@#λZ q_'ˍ3?/`{.0$adk/8?g A,q oM٥)z5FW4}vQ_c2n67xo62{c}b;Ʊ)3rT*3QP^F%yv`Te=hƖvljg![K+ e.ґ!Ev)7x8u2iew3%wp hV6xxty |OAl9Ӽ/E3 _Haؖ1t>HNڠF9ULsȍ]m -!yR?Kz%8DRlVH3K '$uل;#7y+ #<V5jN$ĴT9V 4tcjJX`VxmO6ת?d M.lۣPXj@ePg&Z/ @L25Q!,WCّB[#Pf8.%({{q- Tbd\-o3ͧ&z , tPq"_xUdV.ɤ C&]=\I҅qn#n P7}f]]dwd<"s=tx B/[jEin+*E}eU+;|бktǷcՙBdKJ NHi@CTl'?};$>́< >'0>WdZRΞU!*Usd >{CigD'-!P0Tb!^«ΉJ#r{H;iw *5l:II*FU_KD'YبMUIgcԱdFW=s8&8K9Snv;C+![)?A%ʙd':e&4t;ֹuZ)JwH3A­q 욳 m1E(V$E؋w״ 6R?9^I0XP;%}V#xe-&kњf:MM2e/n0DΧ? H$3i˪<텥yaZ}L|U&ĪŢSUlދhe ij4l6xr\Rr)V~cAVr^xUHv,nl&K=WT>^&Vj4/m :wkd.-D 2U@\֬,"؃)@ ~9VK0Vnm7ߵOVёK/A2M=4قa%)-J*K#2V_L,_ִ̐gC=YvŒҩ᭲NvB:Li)C+'a R`ɰaF.EiܘYƟ)Ja-MHD\βm/\1z %TBMhP bOO_N `2>%ƌs%vmmKt8<dro9f7|sUy: NnJ6"Fӭ"g8;ΙUے! tPxez% K{#㰯F2UȺ Z`Kr燑6=[_G&[r}~7uipQ&!e5R8{J1۬ rw9>(W̛͡C BI'Z=c]!ǝp G"0_SIovJ\>(ގGˆ翢~=kJHZo-`!bZ5 K#Ra \}'qYM7՛_+vi"KTHǂ(H47"ץi0(h ٘1UR7:LF"+=Nb!((]ONa#]D}.C%ùdΓXB6OWk2DCopΑnV욒ƶ &׍6Ÿ'zxɾ 빺F_AVWajd*v{Pgk Bڂbn%53x<[2vqp@r'qq?@~K0˦lj[`SA9ޚ@$[!afA>@v<ءQ/eddww~W'B2;܉yHٕޏ=*e qB/O  p8]s*q>Aիk ab]?}<<9tƾ98W) Wv=Ů W׃u|Av*|?k23p% eA3Rjla 'y#~e*##XP.L ?챋ǫhaMaj^r#[Oa{c v`h)? 戙M[XKb,-O7OCrLO6c.yV*W'I=0e;yBBL?TmB?GAض&/F XhQ)+ 2FB=ixoLSÕN7쇞wťeJZx [up{AKH=6Sl O#0lIXM>I:FVUCMҜD]H#L \5ϮYqCAi[͚pSVq}O;ý[]A9}P\SH׋Xc緝nRv%ڃmA}W5[a]SZnj>Ma/>7%sdhIVW R/² gDoq36a?9Gj\W4AНdk8eD|`RE~K *k<-9H2ʷC|Z1T-[b1{rydo>~Qwdgx=a^K-eBg* §VCi2hom@E/U>45gTEr59CGJ // tWؖolx\3T]LRQ,}MP5 <1t Ɋo>O'|>Q5φ2DW - K?QZE~JC0ozkY:'s({@Vt&dWWE '^ZcN)F$rjd̹eL/}'ee1x"pL2/,{s:-[b$5䫌}< P3/G%^nz>](D VHEU{Y :sw([!UlQou**۪4B{&20WG3Asx4nGG?g2U$'еh~JttX#*Io(k\)#92Tu' /N(`Ws.3yhqSqPR'jӃm2(3 :p#9'N $]1&UGa_w1pFvKb۲t$~;D'/o󗺕ÅaA.sR[Iigmp16W{PF{))oOG"~4;R/=a.zS0!NQ`%2@ Ɓax@Wd[9Lpe!wSsBu scl'n9݆> hUbHt# axXMqfu %iIXm%oDo=œO'w`1&R8#|] (-T' ^F6 C ήi(i2DܜiuTD M302b,XJPe*kw7醏dќ؇ͩu+keHH׮F_.qa3ߡT&T'wvvԉ/&M9\Wpy򣖝jp) @zl'f8qOZM"5m~ NtK% ~Lf k#(R|+dPHrK CW0: U$h&VW Dp4.q+Rt1 l,8ydrgbD΋|elMxY`S6@N 1#FreYe3 +uoKBDz13yBf}x4LRo|)ːB{p!ǻct q_Z{?f~X [Oh ?,)+ Q$J9fNW8)+&zwtBbC P]^ay=^+YJ;!ѸgL:*lר/ YKUQNn!"lߥ<:񔰅&Ti`I4%^y\)CqhE#SjE\JuV'5)r-9xc͘K )^Jw>ռ |Pd)YP`6(^1xkyCXN쑘<#ːN) a1N䢟<Lo>tX󤆇~YW@j\M}zfp<'w qjj'Cc.(>"U9u8C.~sc\*(G:BVR2:*b >X˵XR%~TdGdeKfS-Tߍu-Gf GVo1oo`g%(kǯ:1U%[Ipl@wC.kji?eؘE_Y ]~AY"jۻq=(^%Ez_$V.e'mQÿPoW:l 4*FkVA:;B/F׾A9*;>(^'{JXMZ%'gڣI͟*R0~u$^ P'-d5@RM`dϲ?K\A^ɾS?"Fnݽ8aڹ%58 %vl?~<eׂi3ǛB+HG  4 0/CZX@Vd99 mKFw$?n|uZ0M#+Ox`>nT%/1Kfl8˺&|dRÎ? KX rֆW[[YCcdVyy"뮡EӘb[|J > Pkz` 晳V st/9}smfoBMtbb<7xE[tps2"6Sfx$!ŀ0AX ΑnDάՍkFkua!H Yqbet#'#Gt$Y sO?AH 6R3֑Y`e*sj2 2a?h9G?M:Eߑj'D5M#0/EJjyw.cx NUwMM/mn9 +\tR* 2٨j0t`~aK=6ޔw;rpfcI=p#_=-N3)@q9;cȋ7X,9a|'ye@^d &6fCpOPKyw--][J!%1B`7lOAI`Æ*˸7)gl:]O%$NaL~Hfϓ3 6mXXgMlMi߃툼aXbGa*ܕ\VV+(}8xB9{*!q+Pz Spʑ9-Su77 FqGxc?=!/_"y1QxfKt6N`Fاr4pBaN&tpD{,@l"Z˭C8whu3Ş,RU.r=G_0LF}9J(},Uj~ vЅ*m1+:yk/Ŧ!6]Gk&3ƏwͮÉ(Xb0A;<'B+K7cFE OQbh=Xˆ H@\r7l"\sE RC^( &mᒳpG^`h.LY2\)A'4޷FCբk3RlО_3*:dd)#PEQO"Q'I$1%Y<6gH>V%1H/L}$, zu|;'T1k%me+0Q4m/D!USY{J04RS6<iƓD8òYNWwIkO ? !><8k}s.5=6ߠm[&UPE !2t9~:ZVp&i]sOFqW;(v 2(i"˥t_pL+.Ͳ$ 턴NM_[̀4}FV3,Zd E?;ZJ {Eޞm~*K:U]n&Q,XF*[fD>ї07t+_0jckqߑ.vtZ}ULƕQ8@!M5mZd a 0J)Ķ2bj=hro ;ng{C@ bP](>Gv4SSF^1쵄9IuWxb Q/()h1KXvoy OAtWO1&^J2\7!3:]"Tk6ߎOASrtIòA/DsYi1˺!O΅… 牋7\¹5NPChq6|7Zc_d(J< Xn h dSSa28Pa\kvuE}Df%Fhǃ I1m% ]jD,nwNW$#릱 _n\dҴ._u,Pkچa0_!] ũmU|ALӏf.Xď ١XKϳ8LԄ\ȏ`q]L'ُT// ]N&rL yE lN6 axCZkt2?!N3( 78K[ga=}7r;+dI0V=a0;U&.{dzmiO=&^eڎUM.p{k.rjH&/p2ӎKgo9 ٛM,Ĵ[lSֽTTxSu`w\`9 &_HN*biE1zYJ_f( 9w%1 P(DZ˱2}ՊWgq,_[cqC<趹=kڄw5f& l0*xesrb@yikvJc[8ܣQZVWCƳ/DQ 0)IxY)ȘK٭OSRh=U^+' KXݩC(v%Zf].ϊz&K1'm_chZ1(-CKx)[lh*O/آT/b3|]nYG|.^ֈylT")a `9wqz)C=ľM|X?4yI_j@[}\ƮAZ؟uȍn:Kwboq~2f *EWmp;Z)tq06Esb>zTmaHGq6Hoh?f-I5VPyCʊ޼OX2i/O7ĝB)5e)<;O$ՠ>l1#H,6{dRY}]fV_ۃP4¥4ÈڦU-48m{BZY$3z M uC+pEx6Kͨ&u*jf]{Z9SgH7r ӝ)ҍGwV%絵Mtz{Ar`_:`DY{Ax@wM|M\Vl EY#ǒ}V/]RG#U/+ڼR^'Gz8}ԏvSsrpSsJyh9( 66^ٰT-er*|G $'AWNF8/B#A[=$PH FE<20Bwjl:\0*(FHcnB/Pͫь|A(71e7i:)#v6x1oZ4?yP 2V*PJ+\t#ԴMVYdG\ſNJ?<"+&ڿ_-_~=efdMe%E1lߌ/ yߐe/rFS#՞dҐYj:M4'55V>XjvH@y>+K9:|tNtHL;}kSC%:@doOy!`4!Z;:eulvL>", ݔ|UxY`HNN5qo kV(J3}~Pyaɔ&|Vn>@֘;k&.ןOQ9t֍1ӓϓ-DĐ.f,\7@LY °gNuaoEVyO jɿ&=RЫG#e8ʯFBs^nݪY^ƊO?qQ,"ߟƒ9?6Lol ĕߙ{K!_3MB&&&!26=~}b[5XFZi>vI˱YtR`Pv߃>-Go+-YMG-βwr߳G(a;AL;D7=0h$%WYM'U'}/<395! j`nz.yML0D ̣}`sQVԪ9j5~/üm`51!ls JR;\+5ijݐXRɯb2f,"QT?=yD>HF& iWqԉ{759&vt>{qL,z/g2"XhoYd87^pz秔=D_uhe XyGoE&hځdfq=tldO!l="NTdNmn)AWuH x[xRH_W_8 YV2t 'd+=˂_|vW%_2+Xfumw+?Gfi6skqث儜 YW.y _BG՛؂CU2Ϟh%`蓠v>9l !+56u }Q|+޶ Vm'ف!=k~j0srv_xR7Cc̋<=+b;3!gwsFRt$$e`*fQ:yGY1(kl8"JuyEgXkxmY^DD?G 1&K?eYɫQ e eƧrQlyVy?1JL?%ßn&Dj5:^_Bzuzigs%2=&Qpj)]*7^y:-Go 1<3kZt%~Lpv Y}$0ЊIq *d>6ASg6"EŧG2pV䮄U|08h?= .@̣?Gr=Ooo)$yr+sw^j.ruF6Wl$2B?d&yN)PZ/|W%'fTeh_doou/C/{:F)T8mo%ne"dwD_ mCd#6z^DvKst.2]/[s<,tPKTYdHH`VmAmuph``h)IX$W)r>%j[B~WVe:Wދi템6% h)ob!U={黯ȨοɁ 3P yAwY&Sc@ʍ^`-'=%t>x\2jf\S%ϥ@hĕ҅{FO# 켩kS61V;ZXEͣطͫeL1 @ʘ;K8Vm]v3t$#|Y[I+$1L!-A~iācEAz|bVk]`%vw0L)E-PFNV@rѬ;O6v/W {sM*{14 3Z9̷j4tsnAy-T^x}ҐaLl{U)#kdzJGԥQ9 +)f ! kD :$ڜ{Z kaW۰ֹeP2P`^"χkh{k[MFJzWT1 o{amK!wu?Ն6IJikқ5KZӜ;~"@Hpox<f @=m6Mw| R:`p302 e$lIR!yn$)Iu oƓT72!M; !Aٗ҆,puN(ՙ/{pCKXb4O a"%95rg|Vc<8]5"шs& qfuPbF\?|pEQtg &] EzMX?:PyT 8IJPv@(B} 2`8o#GhTE7peQ%3k]>IY ZgizfLEߚr?D+075&$RCK}bDXYų{[؊3"O˞9sQƻR5t6V(Ye=&6E 71cE|{pCG@w [l;o!l|1C@ I^+#ɫ%M|xJ )-8ϥ!$r_.)v}V8z9\\ .ģlƟ&QIIJ΋TCLf(sZN.cjHWJݠ&Ef(=qCjTP'aTQ{obD9D?X8) n)T]Lz8 _<3Ԗ%_i00#96ɫ"7^'G[2y}V7uu+JWFᚆyRw~&ҾTZcTmzA1"ucoH}e"g +-2 lJ./}{|Kj/8rgٔH_.žK]P: gRwHͬ2lBZp] }߷Kt,%* ܫh56;},=,1D</g$n-ۓlza3 Nb1Ll {4`1M%!nJX M3fC8}jq ]'{Y(Z0 RY/jwz=\GNFo c0/ig3 |EdƜVcP:~拠rNhfco``:t,7oQZI> 'Tsh15fo:ؚ\QV.9Iz#Ηꑝ1[W–Aw9vCJBRcOBg@lWP`T՜FL-X_\q 0 m^7I=̆J`34Au." >~rՂV6-bT `{cH|'YAHYsVi׫p4!6Xͩxpx_p(T:J.zݤ+g{8AWuq.Bҡŋ?;ԅAW"{{68S0&Y4qm%QNve3E-I  (R3Lc\?$d 1'` , X v`,XֻhDzqi(_H6 Ri9.EeXHVYMq$.Y> &5d_Gʂ%q"P)X&(R*|Es+bOO ߚv82r]oHÄu33u630CZ,Yvc(n kw)%+% %&"Z/S@e?{Ds%ᾊ.>=~G'V/ʠ{75";.>RAYrhԔT*rQW) ,O#R ЁK~q["2TXT>uF 4T2KyS5a=Myt9>u-4+,IE|6"ox8&2kke.о(jKhQ75]rQfb@|n~oU]a,_O(E6}{VW=kˆpLa=9+=0[J WRp :%o^`(եu0 bHP6586O4t]0s&B H`ЋcFPhC*ݿ c5v pǰ~PvfKՠR>G9 2I00t #4[qG6!: '\Es8L U#Ț*O]b#)?.(zAZx@ԩHOh)i5yD}b bTF%ƖVj0Us,峭3i .Uܝ%zsXb M("/Ⱦ~/gKn'o&= k/^Bb*Ki#CoK餲t$$n;4gW)rv~aAl| VyDHH~W9҂ƃ1/P|Jm^/*)֓ x@e-\vXrV}bg¢s g."SV]i$AY.Ȣ5_mt#ѝ֛-F/nMph`y u!LX;.xX&544귉"^#[4fQa܆%a&nDzfܔIUgGET:g xMDn,qߑ#)E$s_@7!Vu?8gx[i2Ӏiq4 /Kk<=ƿ^؀ȼF5Ƃ"/Bs6Oj4΢\/f].0xVf Ub ߭Hw4 rx+bAVlhׁO<~JQs Ix΋dB)Flh!Rǐ(O]eXm@jRo"$T6Jclt|^B+f'B%&#H1 m9Fr2?~F?_wJˈ-)eq@', ) A02iK Id31˾JSEXyos.B /B7ڐp%-%UCG1y#(IHз]@;(RA]0B^B$7E^S8qKp4 T|F!f$ {ೊ4dvpjmHʷ4:` #`6S;|=zvy{Jqџ" ՃcİuZ iޖ8sCpw*Z`]jxCη6HPgF/lS ?p ;j:NL*~摡?z_(.l)Ly- \\#KzX?b;hFtwHh)0b {0Q_i@F99d_/c ,*Y.MIT$$ՋޑƩal\RIg;탗CE0KbQ'/iut"N0|9dwBf/Scv;١(.rPTW{!|=D ix1[B#`9>l%D1D#Uir#G秃mj? Y8 \>޼ qo^0_KX(h}H|$m3|VWjno \#6韤?6YϚwM.0*9]11f5E3Eަ tdbx4]NrgJwL1 فPb!2̼I{RqB^\E!0^M"mQ VC$ݮq|^gb,YqgWKe?vlc>I)×:Cq.ze M 'U! ߵ >8h.3H|kJW[Yo K+Rāml&Dcrk|J뵖̥/.HKrmmqkL罂tAmiAӀlb޸yz$j\)JN?`30SZJ2mJNQ_d (s4ftFe-7EFƙi륗J<_W˺i ]0Hu>88>s5 >e͖6)4y:gYHq8ʯʌ_Ҍ07ΛGI|SJ%-]v.g;<0;q1Fp.w}F#e}VCp0dMcqq]_thOSZ3l!yƒlhtQ,v㲼y=(6f cLH"GC,!Md!ˢoA$<Ӵ^'eG)$٠c-0tǣ?B )eWL=:ͦ ^?-͕.-[v.1D45fMOv)+O}v F1O}r WԺ-(AqL` dߚ8zw)@fLU܊|s׾`h>$N|v+aӃ8w뿆2y(a`2J{DgE<|\[9gܓ,@ɠi]; e=>yMv ~B*̇}EBQahQGa__sr` a}/nHCm$.Ya<9 šQX~ڻp:y?acDA|ZmaAYFS8Rx):6qp&GC QA@ zOVhbtڀ刌y9.b7A\g>A+vhNl@s  $ݷȮ;a&*vڶ-#ݒ- $Tjsuc_~@Pt/:5pR@Xh#%/P=0S(q},EO']43T/بYR!`Id|3,ZАF>ԎzLѲxL,NW jؿd2e?"8B̺@Q@f'd k6W_m¿v:lEIkiVmʿ!X62{.bW8zHu!;Yŭzq6AB^ 戁@B>^, ]TrfaT]ɳ"UHfz6ɆܧFە42fWY$fgjCiY'eǼs͜UqFkkFRhGa+ٹ"~Eؽ"M? fR/;׿xiO\ @Mpkޚ?q2؁d]%f n;k@"Ӊåp*0qNݤ0a"F$(մHu|ZT#*9jqM^XRUC.X4&Pc:Yz2]ȋA ҟB'-ϸ[_`OW?w 6Rt_@BGPfsW .\t̐cp fHx0"y~G4ƣ5ċp#s?3@1Jќ_rEf^(Z SY 84*P5cd'rgš!3f`ClJ愳1=GRh$E-(yIJ(EЏ{B&wP}cOi3Y.3;Q!HFe 1E>k+lE%6dm3Vt9͎p22k<4|PҁΆ cyG_=f(h~ySTsʓyWIAC׫O`! c# oV-!On%t,[By*NAyGư%%nQM"괈^PV'QÛO1gk)>D0$wͥ?RӅb^мl6X̀| , k H'&*B\HL1#ro\dό+/^Flt)\*\kO`yؐ b-gܲ^Ki1[7x{^f{u^8.h0;kP~XozmMRmFV~BS(<{&&˲,4?ۇ;ZG{VTkpZVّ^kZk8f»!| ~993U+ޫbv|X8KMbtC(~ÝWo|?xt`-4(c;Q10 iC'?"]~lr.gTڟSt Ur .ĸY'[x Хz  by!\"w2@+`UP)Y*7,7aw-X#HN OsS&$I_Mq}șV?Ą=C5HʈWOYޜ@c A_FVNb]5Źf*\ H Hޟ2I;,mҌ'?\vh{*q6Hf ODr Nj:r.B^l$ǩ~>=u\ D]#2O!ՂE;fa YM>bz,{3-3 Va %@.Ӌveq^KlZtS?uY[KfՇ( UubB8CZ_];g/ah \H:v==! J*)XWvhi)@W[h{DrG9x3RAiŬ˴nGc$.XdL/YxB] `S:;EhXH9 ,ۆdg䃑h\Sk.} mbZFBάhF#e' -`^VKV 3a/+}4B7$2iW{0&ybA6KEH[}_r!K[P^L5e28ks<uγ9p+²p1[FtU,` iNY7vRz$r|$/^۔]ۉ8v)oySDbRRˆW~]iFhǣ $b6ajA}q 1&Ag2.tv-K8@]&HCSݵ!fhM(fk6R9لl%H *i;PF6ڙ8'sQXϬ)*j8{G'ZiRˆk :yx|v1i])٤@2x HľSڟEmlSX% C A8emNo_ACtŀ23+xuue':Qez>bed %:-fyH Y!m͂5fQ,>|$(k˕,T!lʭ^է#4ZA~E|vkhC|+azQt V&!&7r!TL1by1&KDTdzIxNx n`VG2 +A<ϧس9f:396:v!\[Ꟍ670NsC,$M k(GyGyCa!I5-Rӻ[0Ě&zW:kaZFyzAA^cƚ50hjab8Nv%y>-)D ~,wi unė8N)-,[MYŘ '>dj7V6Œt#Vd}rH:]p$5nTsbe=(qgqN9],7m&d&y8Q90庒'sU]03/2b>AJ0K AɌcq[)-ֺfpRxd]2w {" bO<4T pPZgpu+M+*^t˖iKm|ڶ9k}MDkC,xۋm/Ͻ4 0\̭ .jg:B  G e0Y=o;<.@h$o/]_n^1o.QwID]mO.JR Ck&` e*hm2'kbmWl. ֈD" evzqBBEp2qK)g i$uga.ou's]{nDțsXu_Gu;j\v~<>ؖ`4*uԳ|)7i<pk:r-e"iVfUvs,DY`ZfrNfC/gաi+꟫39P{m=5v/O;\o1\ך4l9MUFoJF]Rkp-nh+ x}K0ȳ"p:UpWXd7h2}Xa\4Ecd׼柒c52VJ辑:S  ֐t_k#$S'eAw0ՖlHlxx.E(a]@Ċ ɻPTJiDV :SWs~e4DqNΫ.w(#FS>iD]oPD;`g0)GxʹN.P;bf9jCET{}GQ@m ULQ'MS g.B!t K+Ywan賒MȘ ᤳ ciHxtjNL>Mc%> #ΌFLqAEFp`A X=/RLK>`0dL,؜8=$x+,Ilp Ab 2&8Q&I2F̀h EأoAǓY0]֤]Y>LYKfm:"sqn6 :ʹm#8L!r~[&yCщXINT"%F(Z켰˕}9.1Pc(`a A}nyx1\ې&XkDj(4'Kg[F@5]vթ9にww)?Ca "\CF4%ϓ $2b8\CD27 >l`{-7k]M7ĦT;O!.&k8/ w%rSL9ȍe?cdX=ՂbT QQf1, KR:6ZG7 KpX^1#ȑ7B"+h1{am@Xl+w!raCi)9f1""Y&u)Ht|@~lrŷO|n|֏&N Q=.Bd,.l^YbEc(`2Ǥ/X44<*ԞejZ/j}tr2'ǃ<2 P/ 2!9^Xd@J<5EgmHTGlmT>mVϠ+niha;d%2Z(PJ4G 53?b~ڙqŇgbJibRgč) \(Likf,3zsU8x>8oHuםڍ-s^d.OEz$\ 3(,(bKˬ~]hNM/7ed#o4J+|ijc?6| j=imzo6~w[f񷏷9;+t~ǗEi'zx0_<[_[^zUz} 5[5]o~'p= # |^xK_{۽I1ȩ;tzt|"^yfk8?Z)Ӕ^.Fgk ZifHN&wl7\a0-BpВWâ+J},$nUsSmLb~0 rwCuNˎ`5*Mg;kp3/7`"6Ġ8أ0t}$-ࠗz2V;Xp0s٩soN{ޯOa INf?đ7=%d19˹ RzbGRn^);dG8r޴U>zpx&Wͧ: kӔD0 |2\^1۶u]6#`,v“&CNUA"Pʃ(l:2r囨d< `$ӴQ\Kr')L=]Ѝ2-29&3tB ,6 z;^PHI< JN 9Ԃe-Q FM'GY#8 yHB`Ѕ* n] ܆UgADbFtҘPpL9^5b5$LvНmZ-n> <$FKqfI6u4B>-'s", uphFҪ̿bXU3;#"ow69kɐ|R)5]gcp::??WEǁ462!GT߄dfmt^6V&^//1"t~Ag|gq/"ct? `i2k3YQ.GMPinE))0 pUqCڐ$tJhbZJ?M$AHeELj#T)}LMZ"+Y.>`0NvI[c6I!z44%ǘ3z!g02ި<ĐFH# ט >ȹ`Yf}=)8̐Z̮5o;|TZc>!0״7~,r9'%;`)sӅD뾰gck\>Gk269Ehwgwi@iY\XMP1~&6> ;i|w>Rr) `R!7 2$#l A9SYBdzD=𒩪1Yr&wuNV}4-]:Fu6/kpֽ\Dy$l/O`p <$A2گN B_q]wI# OIRjƟG?o25ϭr?wXHȓ7K!$<;xep/y-td )i<0*J) Z)A k@)vzAQ]&xw'XW╡~u~'ȁOPvMZ6MM,ߝB\=e3͘"'`l"M"†ɨNoNf}ڰ;(zB1P&re~~=O$ͼ=EΚ )Ա~_P %ȄNw2CEڗ=G)XF3$8Hثt'W5(T[8RX&]PR`GI.FA-,KJGΠ9\n8$"Fo[>NJF@[] Pbo>!Gp8`|@YH?ϳPRy|`D @W<;"@-r$@) :"`#-c)S`<4t(%hcπM¡u&1P7慧`4()I0ee}E!)urzjsu 4;ퟰ:"H}>Cc$}P;ÊE*|Q7_RzhAz z:~HH7gqz&wmr>ɞo^a~=\/E/v*;ŗD3e7Ϊ]$v nʾ8$"O4 LHG`1{]|n R\K e4HPE4W+K@Y5SjsxG6?n7hK0Ke]?~^9Wu$jLˢN (*zu|( m7+50`:/^pjCw?N=??^wU"g^uӘ΁H%_= w5MWCtG^(w@XK#dU uN;K #dPPd~@ Uh_uqAo*^ȅ !E$/%/^`m L{q69j ~ -v98_?;E[i4~C:P5]~9f7BFU/<-NWƄd.7k Dh`YG*gBψ}"g"LJ#Qrfv78-?G) \m-G4c~vv$]!i\e|@%&-fVį^>,Ps"ɸˈ_ ϼM S!;F`M 9䦆~WdhQCobtҔ$7pAp65b1Rd~i)X)W"hT2'SC )Jݥ0m؈5x` p4y0֢"°%jUf@3buZ0icAy1+e@`ДFK:Kr"B\#49^(R.LlI[}[8AǯPF!E!iO @"`-E˭v]@l[jk@^ixJ-HZ1{{~lx&jsC8W ~ LbD jZ|>J|R.J. Yf톳M6C #p8ݡLF#jºkEin! : (:";m=.Q_aZ,lz L##\1Kx2dۣO/MtK˻hӍgOir~݇7!]M#cš{Ux myZ[c h%OM2˿7n^tJ2|ky^e?\l]r2gMf} s`DH_vo`D3 9 =рCTX/&ص1=rڴwcpLp3rq.-]BkιA\M>c -m`*@!hBa/-ZC'p3`qajۆlx?,/JfQ%82aQR]Y|T ж5a>I>iXnn# '3-ꟙ+J݅C*Y t#枍!qj.6k| f]'(f}^,9v!F}rg_]P7^.J7eN)S~mj6s } }̡1iCz 鉿I$c}yI_e&09a FܕƖAA )묊w&p.&%X"us+}@c.l63~ Y/su .h'AKc1RtըT͢޵$`WͦXǹ9߆ $\pgʏ0x7k$JҭIH,GI*'_Eo p;kPjڭa+GrxT͊_[%ۅ%$7J$oa ^RR%I\vQ/)W1xubH$t#V(g6EQx5w\ndM6+;B-txI8=73ԕYF,XҸK*5b[:]kH~'fZGWmN)-xʩ}_/LX' բGy꙲ɠ60A'8sɆ Lg`[64'HE@6<< 7o{3]$Ju:Agso(Eq4tc aP)C  /͢Dc9Q1:syI rKPq$X[?oq܊:|]z6^.TТYUXdT $v>܀5_w: ݏ8']kVU`;kO0QZ:oX3W2v~xj%OPk +\ |6[+_X?o=\T6 pp"YX 3N<5(LS !8jԳ?g"s ]BQiyno?nm?[[njq[6:kFkp[-ρ1R8cNFD{8x?i7I:˾)y|F+ M sVLI4EQroq}e<)8OQ.;x%5.dtHxbcDgbl`UF@¥Dh_pvɯJbo_ DH8pJl"|(@u&a ^dv] ^D-$?D򸪵ME(c|Xd{bw|qvt* e~/C_JpXY )8:m}S i#.l Fwfm]Q{$^[K?% gl=: 薍 +04Š籴gUPKTvQPRQ5]aMUz̈fm; F%E#͆KqVAu8\7pa%wP}/CF1~Yl=&,zuk4sSțFA/ީ44eZ:o+_G|ՑƏuħosuÎ':w{ 琤/˵x$kYpw3vk3GG|}s(mYNcu {[۔9R.`wUȱ%w!m8'[e 6017HB*6F{gԁzʝËom P/JZ<$8lBvzvGu hp"%4!ĘhlLYЇCzPiȖ,a*{Y-L2iD;G+\ķP"AcUhGh\ obZ?}D7#<4\DP&]z>۔w {.iPr_`GyQvOxcsF7v5߳pax\LP] ~-RfK@As{nLK }G"^EYGŅlNx/h/;@puZˎ_u^3? \lNOÐJdDGqPeș*B[0\ПcC4fd{TEsv͍yFKw26O\/ RIf6䉢յ⭘IY8G>`E~e?Sj85zՅlk]b\1>}(`Nɠ%@$i <`3O>G2,"G{7LF*x?3 ҼimnfnҌ=`iW1tk.>II],JBgGс$aA <\c('2LyI5.S4a1 va ~xWa W1^BRC*dI~p.&f# Ce S_*t?%浳5X#գUK8wÅ.p1ImF*HP*49]%u: LQhYۼb~yז$$HpwַLმp`]E"C=}˹IK4: 4)*$w1TB0)M[!"C%&w@6Cf5/i8MA@`MPpCa1H2֠ gֱ)QFA\ kA>_-edupg̓qHh'T֭5`HHCSW\"wfLXRݳp,ru̞4Q9uqotQW7}l-{)_Jbh1SkwM[S\lHhf@rP1Y[|hE2a8iFI )7&5$|W={F4G]B<@NuMry`\}*3ǼY+EZwսu1W+zR3}Bb,lk'՗ueɎY^E5z;.HxҳB9WZTe.{fvN`parΥǪAE!8ʠ~J)˜{k]V5VDKnI"GD rX?Kŝcj(:[Bp.63-TԾ|X<2~yƯͼ(=#A{C`dQ4ʹfMN[$ThLUTOBHfG-+B>TZq*z1{~NXXYyU]Btkêjay=^4ٕ$ԍiڱLfashC:t٬)(\4}ؽBlB4LIQR˻SU)Ԯ_k((ۭ֓_JK*vK2\}5Er`\(hϼ9);VA:E .guMMyQv E(z ɷ_5Sʼn,k#T=TEӹUa>_qNTw("1 (@ -7 IGF l#>j`RZ "OapV.=M6 j1mdyȿ1}"HI=߃Go*Wϼy;\(sRYS>zl<>*jB`.ɳsj QQ\0Nު bbau7^ϰJômQbQ 0X$H&B]bG+J!dPY< A~" f˻?)?Ok82ne, t$_h?" "ޕ Ĕ؆/̧Y+0:PTMxEh!!ܤX6l+Zp z/}jC4xxhћ+# ) /k4DeFyH"&@ѳCC!)rJV\e?e eaxГ:KZ&?zzdٶ3n0sj[HUG tw4P]~ڰ(;SkA!\:m,CE8%Z19L78mK~9'@/2wThwSelD2 deE^D5Dt=6 +$N%RA5B}4gCV1Lw!:ɡѠX>;Yay]V$1g̴Fò}j1h1"d.仐ɣ;FKi9l&tgk`CC it܁)=OB7ь13<׾G-f䚒43E;#G !L$]n-{zr{=#t}C94dgwTH%]kkQ@1f{yuwyl$pC2mlnn>y'=yZOZxǭ'[j=ot|+t~ǗEi'zx0_Cc}m{x///8ݎxt^&ThNv:fu1 o!3*w^t{ʘtY^[͍#%pw'3Gd~62c;8dfqRߥלoBdm sU`p$@ľf/U.ȫԇ q]lgcynFLĆ 8>pw#aٔuꭴ^w$8S&oN{ޯOaC) I0?6B’N 0z9xețApi| B:06|zR;fJP%t+o:4LC{h[ =\J?Yt'CҟuDȅvPJʕozɄ&^?Hw4Lŵ#޶'"3k-zp|y%ALЋޙ"1tн`â$+ؾ+u;*(`sZЎ2pkVxa3;=0Vl |Ba;MPF%b䟏;L9^5;j(²񅀕7RIELkF s% gL1ӘDi8Mezu]mkjf&"owCmrD !405}]gѪ#\H^ 0D&OSLw$MaMrpY['Q̑=Hsxid__ٗ_/Ё md2S}Ws{/zBRfU'XuU'XuU'Xu{*\S}$K'x$c m$IתW7~8a1?<6nkz=TNltE . ׻Wd)iƘd.W's8$W&h4VOtFͫg+`}E(  /D"BDCJ.xO_Dj[M! _ꪤb\tcKa 1{P[5DpZr6/Br +U.=T+,Y)^.$D&X͐]G¤9BG*5X$?Ŕz.{̏D2"ӕڇp^`z֎P2 2BVCب1\ z%psH$-C(u;OB*hE48[ p "(YNXu hT3Ʈ6qԂ"iې-b"bQ #N2D%\\*%K#(^bb-QřRhLHd9Ve)_mM 2;אr"[Kb4<ѭNJP@JHR1u%eBn~WӚVqU,/g{h8v{;)pK6; "UVDv{'g ~!!ygƴO.ib200]VsGu 乯XSs`ږ$<=,15g4(09=;odK(l_mQM(ZWM *LJFB)F PF7 OMj73FMr&@_|GEiL/&_Ewn~omWߟ?C}ecԛzA%{4ރ8Bׯ*¯*OQf!xMwpQXl\ e1It"#q hG c8'a*;Ȯ<_O[g_5v_5v_5v.SX E`y_,48?spz)^s=2B]hCWoϻG& +>zDj әίyd"#0̯+'ܹ1H:mƊ?_h7]ǧǵYh͆1-s!lOG\A,Rֲڜ!l=(.QU+N5]eW'FM,e|cQK59~֊c)@HoF].e\ݖi\*.״P5C-WpS#O(^K Izt69v`ʧ]%Fz-<˜ZA&t=SML,@*UGY@05lMS} [[U#𶶫8w]+*k3S}SW5o$TQmh_ B]gSp{M$Ohxi0Dw:&Q)ڽo($N+Ifoȷot[5MUgkߛte<@Z[(}OZ퓯Y_E_E_?z|%%Ȓ3% ~ Y¥b6YT:$' $h3t";Dw5ag2ZxQbOa#a)PR$?32tlhQ3e226* cOZ{`NqGe(L5|4<un+ ۺich.$rsA!z;d0*vď9f8/ҩrv  VH.ghg7)arF9\Eia~;Ppy4&k&2)^1 1ZS06$'H!"h>UN;$J(x>ayL/𒰂PO 0/4)a%Zls fn)|2˱hQn,w~=)_n;W|h5SH빚V*]ɦglњͧ fdo/ybr:~*aak]J]~mU8x>Zo?u~ٝqp$G44Vՠ^h@-W>Ű8ZFO P-ި 0q4φ`=$12UUWu <Q93:l|] YTeĘo0:kF}'V{!'^1vxT_.bmAa sdʟyx_QB^륣ҡtdW^:86Gt7%/։'A/`ZQap3FX2`t:{3/])]_>|axYX>S 'XKW8O*Kg;Jk_2N?CtQ[inP2B}J!bO$t_]_.(eA58F3n/\*N/ 6` kyKGqVY3/ K(t`b/];l Dˢdz$_^?Q|骔w/5tVANY쥫"#|˫# R`EKwR^饻< q"( qΎo4} /|oť? W-k"%>"R-p>.V/ W?'yN#.bN0eUX sepI|Z?k'V1Ŵ +Dwej,5;`a6} TgJqp"˷n4aDνIaaeg,λ /ś`"6x 細$0(E>xXAQ0IaA! .4{ӿ3%\ܱkUQl" ؙކpD-ꎁ/phR${P0JYyc+ (n0_͛Gzk.NӏГ=s4ROfŪ/b'n}Oy}jW_Ce/3/Fq 4d@|=S2qM-` ͂LZjꊱ6_dp06G\ nu~)rGՓ>/O_;Ay%/r4h%x~zU E <2KV-(.ע)|@"ɏ Pם{c'ip8~9m$yR"`7i?޽i$iO!v؉mp 1v2.9-'lˏddvoץjr쾣7edXR>P!%e{[ܲHĽ<ͤ?0cLez?䢙ӕB΂leȵ jvc04VT9%pvビWn1Y:O\ 7q#xNPM`dŜ\ȵӵI~tK}L 8˿3acPeKc #2*Iz{0h@;ЬhHz!>zAGgBTJUI@MhґJ_;hV`u@H>Nd-"*)tUS6c5JF-6&Pgi mp>RD{=8=LxQP/,.v1d0'b6u +Iq8E-v ֌YP'9Y~reՇ202D,ġ,wxM[DJ JH8YQ$B:UH@/T(V>/DŞLiq&aͮG['l{4 61ggJ+/\UӃFY2k5"Ag i3('\Y2@A8Y}=V-jHͿs/-EISD.pC"q+;O`$dgԠ5z@0O!>eT- J&3HG#Y49`EsˡI (P],s!o>fܔx%e,Y0% 5i@ڻuO?`&ƴ;8$s :$i>`7LQĪ%JX5V +ÎiY[jR5;5`+~]lB:8 q7>H!h*_+m{],̢tQb !*0 i/nP?~cbI$Ц |Yot!Ұ-A F+bZ+A v^ sB(#[ת# @|ig|htZ%'WŴ Y-dwjH]eQq='yPX ({呸*l|Xhc,2.'@ GL:x E"!UI%2zD+5xї >@r~-U2rB 1RDb B42Q^bPjR!>$WCW2: :>0>؁2˔x'VFQ<,NC##KgKކ.CbE|be59q~rOlH6-CCvs@Ir 9%<#8x ": 9TXJ$ p<6-91X ֌AP&qKkOcUP#-4@e~}t FA)x9Qb6U{:)NA];" jbb RFuI)*뢌<(R&:kn5$1pP Q?aR}d[,nriAA6TT&FUY/4.LVCgиV@q@dAa L\tU%{8IoCG \Y̫$ZM6568ZSCF}zXNs b_6KR 1O vd dż= G:[,opi̋lA?f:'dOԫ4 F̰ uT7HF G[7Ʀt PQN"Qu59{$y0 {UYS%0% i6?#$Hy. #",T FvT% S c=HǠь*;j,W]}8xBv93M0kCL/]Kk^UK[~129vcl!H}Q$Ճ>0hƱTl#!mw AP9yh" &m3a8ՐN%҆iUCKs3uI|OA+!3SbyXU_ˊA#' ;qdS2PBw-BY?D9jQs$5}gi ],HF@\fu {1/;.;q:oF.͙ # 0Ю"0b~l#@+ff4>" .`6X57YpM R`"*mW$BBjaEc8Ք&a(+&,;jG&$7"FB) B-azaؗ/l"(x)HSS|lݠ4mF*`Mэ1“ &ĖE9}#Kf -A٨*j+(nLjSVKaXI"-R@S$肜'H@}9M_:Dhtա"w-`_$՛֪*QK0 ?QU/voXJNaX*ŻQFb:Iq$ Lj,EROFJD#Q0x ^0¾ݍDrۗ^?A1gE?dա|t@7^>$E- hCfef4SUtqP) !3UbujғN޽p% t&]Q$])bh88$E`d wY '2ƃ&Ź$lͧp>k&8'5Q`Et FYf 'LbPͶf D~Ve1>[f@YNO%Y Ο=5x&K7MwĢ!,9F@W;>e451n?#ր9>$l09жg AěЙy':U(X`i/v>axɟ1MmM &1msT_*0λ##s2aK5w(e?~'j`mI -?[5x:ǐuf9ȮE:CPy%п-ieh\?q)SSCfExIGzdP~81nlwCeq?iI( /(6,ФJ0`]L|uR =5T\5.2ncq]vp"9@3׈Y8ymQ2k$!.E'[]:xmx+"98 %b{[# ?>F TF T<9@@\}P{Ma:ٯ^vفx%Ԋv f?UITvj2\d*i7.ML#I $tCARW |"aԬ cG'M rir2 ¹mLƬpsgk>̘PH$o@4\hhfT[Z \\\Q,)clmmwߜwO_v!iAg'بF΋22`8E.!OyC9m T;NN,3].32m`D8*^:X7o.%d9_WaH%w0Ω?ORJk * jQfmF*~)h@ $I&抲Y!ox5H/Ǻ&hppKjf39;N 9W<."FNKG:=jNP !I25jc kh[Z86|`p7VM+ &.JDOW؈j.WEX\+Y^1]t20nL9Hy` f"x2Hd!/uZ+/"31gNs$7e !GQ kXG kh[3qL_6>(Hdc"iC")KdRdimO{ j#$!%2p4ǟ5 U- o{GPmGmB'=[&h˭,z@j˭'OeR?YpևS@g}p`l(`(+ep/ĻQ|ֺxiqzWT?P!)衶xT!p׹d+g7]56v8:oDn2 CYW}˜wkEĢ ϐ|W0KJ RDP6؇WzN(+igJXK!2g {wiKmV{TpP2e3z$u8(dalȭ5|5\2u XAbe{5 xb3" k<* /C{sC\؟kwqX8I,xY Oũ0` r{' /"DoV̍uh|Uw8a,,¬ݴbBu=GZvIS8:Hu!~8k Gv0=A43zc7` "BrOްlݟbw=3wUJ*IȇK+JK<A|x 0c~f82 7ꏾ>lj:@=#M 7$:G!"P>aCM6hl~?,7 W81(C>y)x. NzDA8< &!c]4aC%.Z7a_(mEl$u@> D%҆idȜ!FƘt?J B{K"lŀAkUfMU[î1 B(tx t)rAԩ9Fp{@>?3.Y\ABƝ/(^_͵dZBI9@5| j\ 6~Qv5d\n's3! \uCUAx^BƳ*Ü&H' odbboqcfjvNlx2qWrGwzWijHhL~ ;.8fbgnP8<?B}Ftu/GʠV!?ſl +5Ȅ )̲TݣK8E,)B6\RĂ1޻͵TrFKUE Ɠ &Q^-scj΍X N[/?u~xFHşS}>gH,% m7]24[w|(6uU˭`R _/_\׃wE^ATeD3]H~,nk@7uNl~+z/s]TTUz/KYӯɧhқQ8_gO$D@0vNm]+zE &7AϞE#aHO.1h'#rc(JѮ4M f(l DlHx'<#(js'tydڤ| &zT ?e\ o)ཋ>hc?3 fw WLm퇠[ogKJ/UG=!%i&&MHJA aiPpc q 8~@Z\XuSut;67 7cMVGbxt$߯ ^07>S(q:n[@N]/_ ` آ>k5Of\Uf3ب[ D=&qc#A>xgʰKԡG\Y81KDGXz. 6n bʙm>ɰjnFaʋ !Pq|ttqQz} l <,:t{XY2Bj@-V(ۋ`%Łw%}s*Ol/O!VT-Q\[\d:e!i_9kgL"a2 j*_8A'jV ,dZzv|yͶi-PZ}J՚ydvPW5RnB|ѧ^ I=?ְA]|_dpܑ1n;`Kq̟Д /4B*}Uf+ë |0 >λ+ʴ L52TV)A@ݚM dk5̩ z-7NzP9(Sl\ lOZ Ox iиA v"B'= ֯3!3HYݿ$.Z+u?qYb̈t&(6]zo7a[47F:p"D`imdPz@(k.RdAa1Vs9RK+rU J@ q*B4h<>;ih'W+ WvK Т31.c/yyϺ\aDQ٫#+co*]d rLanhx3Sa#w(X+.TWf_W;S!fbE, ,,F)YBq{cV,&`ʪn%hAX5kG.Q-w`ce31Xv_`߮u"?+ThJdCkED3_,}G!(0f+1vFzn{,]`]8`c}=;st]4Qr $ҤFw3<4<{7}iQtO>c!%i2⾠G\dtQ/ !U@# RBu/{0r6B:P!I̒0L٣3*ud FQb~iM d8#L) @\㖌-QHƝֺ!;b.(4yxrtF޽!߻-_ @,A?Q c$DZw.798cDaF%9K*m3 ;2e-ꝃ]-oDhLL=% S>hct9ᶸO۽P`US M V!|c9Ÿ+@S*p /),-gN/ Etk| ^KS"Ibct9"Yp!01633Y6|h*;˽DcňhnpKW}n5 V~X=(\\EwP7l[dO}J\|]$Ve %?7/د$.U3g,=dZ4LheP9x]& hI7(fW WJ p) a0ϑSAV' $3O6_ZC%oJiL{fl/4Ŷf=)b/9jB6?[RkUZH΄MP3V#1lW56$5!=%q/]v@9X#qn/Ɔ5wXN$WT07B)&jYUI! $"ǔ% N+sQ\ndn-#=kq| 1+E,pߜD96mNjuwLDE/ZVf,5"pKRn/RwSK]kZKe2 vs{WYFKn5!5G X" [lu6="`BXѼWj52WU vCÂeV;7A>g[hO|=L')*7< h%mr`.'&yEJkB_T eEN(LI@; $dkeܥ.dRGvޜJ@^^H6̫4q3/ԪGna:(;iWC4 .rvُ'Ղ 5T9Cq 5Sa{ol>ᰮdCob*ർ(ȗZv"#IJ%~JKen"Zfk>uDJOEBίs5ݟW Z .U;kAӆ,GD!e T%kvﻤT*?7Lb'(;ե\lSiXce1,52ɫ170M?Jpb#M ҇@+ЉvpȾ %dD IBI\lhZgixe&*T&t3k3 E]f<[g2-C笖*Oܯ6 xγCG3u98xqU;-dwVj+rV%H#Z!\D>vRPCG'nvk%w?k{w N,ؖSԖr˳1D-dF*%F.=倇c.xNw0%Z&$|I䔌p}#>>[f@ a{̺@IWk,ZZNf)7) ԭ =1Ǐ=xTt~9y{L{ 0r*2ĨQNUPs.b{{ɛN>ts5?Q82(`I1ABUA?+o5)GZEZe?'lPSlBQf<>B>HЋ\7 o $|)ަ>j5y#\*>cH˴JB0YR[ӇDͦj>lʦ|\Ze-?<>]j9 ?ڍMev +z?I dV(cՊ*rxQ(e4U@=12zP^,c/䯿%o}|8ih _ |sRr,WDDQz5e @8Ԉ}jr ¡k*ډq6[y)aK CgWLKNEk u_Q0/5K:1|T,D7sF[=}J9*xkˣL^EK'_M\[h9W>8T厘aONȴ< X| ,zlM@TP+}-ML(1[,|lLFÆE0! ,8qs&`һS SAePϰ^N8j`gu3p/</B J KqXB`E [F+:%r4/##61}RuJe`2?qNU@ښF(cX9آ;_F+Lk:m߃~up")y?7p +H5c ơʤAd) 3!j Xdx #e%ű*ֱMX( Ǐ ZՍ'ZW1g} €$q5/YјdNs].gm.EI[`]-{u)nkߕ _I㏭ M1rY@RIqVU`/A?@v MWZyQh+cRx`]v{.60Ir!7֡=YUXMR,M&l9uUc>mqq^A"Ao<4*_*(0I! @sȣO~IQ*<hءIָҜ>Xr;I6 F3hf$Uo1\ ,bXRcp7K5^+I_J?o+5/K1@j@ګѾhw?|p(%4UB}C]=c.FwFnՉ%.(8K%(=JEUf)tCq}!p$U~ʇsY,W- KbZQl'| $~#p)ݓ%@}\*ڭNc D%@h1I}N0|JWwv6y^z߾sߪ[ 2yr_nȆۇ޷o{>U$wBh $Ħ%DY?FP‚7 .$uj.%D= v Td$ f+ Tbʨh,><~ŭ;oqb'+є) 㩘P6 kRÓ<)6˹Ő Eco6^76~(ޔ{x?c|ǘy-I1C#uo._xA ԿW\9{dhoʛWzS@>۠vW7Rd4 G]WJU35;^A.QA(u TTw G*qf\Խ' ng.|.O8Isil7&%c5]JkŷA[ɸjz(,F\ %Pd"3mқ{uehdi!-.AͰaPnN^8 2i|8]d>uP;f`p@^nPSآK`X;xn1u+_i_V*O:c4r8YP M*CXt*Z57QȤ2Wj,f_<[jZ3A49H ēb}sH)^kr g\$!Ղ{Ȅ+BEXJMZkQE٦v FeU3,-/BFu~,ǖBa u{_!W>Jm܋+\nv01bI GņL]K=/Ұy;LXpcluy;M7P8<Wk&>Dכ?|sjtYHQ>6;m7]mXY(.MþU}Caw8x`I,-*h (cYRMD}> &Ni6?:TkRsf^sOoX^ryYF!/Vf Yuܸ^硖ߋW+X!<'+ ntm N %a"x}AginPHUh#@OB=&K\ARc6>ó K/W53"(*D%q"-/г "/f *=|L,Hdѱ|Ge & c]NLe_բlevvur5^*VNJU,27C)iov㵼T /xs ȴ6Q7V8w Eqo{| ae0Q|ڲ{us,BiVNT^h&Ɉ}۱,:MsZ@]" .C zT˘CJ2;H67 UկNU]ߵݸ︻}kE 9|qsJpO|4%rɊ7xRx|fꎶ+1=XˍX0(zU0Zx]jcQ[toBl7"4gmC l6yzެ7ySzތNoKIbs\/b(É)&^GŒpq[?׹* ycwW<+|5aU^GeJaܹ-wuc|^Pc 6n@(;i?L (F}%`/9{Kv&W P3*@3؀¸17;f0'H_*誃ۓR!PR/0 FJ0t~+0H(@Jp!WĖ!FA*P(J'xM,\x*e\׳VbP} akr}[WuM@Ƴ4=KnA/ۮgbg ZKn`D/NiQyBK|I rI̮;96 K>'W&[,JZ)WI;~izކ̫F􂪠a#tSR@DJ]*9<3<X>maC]y^H\{h>-XC .^4~3>x~CX6<6+ -Q,鋍 xP]QO)" ".`M9w$|FC<!2$F17 ׬h|Sw|=ⱿMqqb {?_aXdPH;afh1 xPf) 1qڵ0 KfpB <^`("jH!9QԟN|_.٭0nI/v{9Nprr3Yx']"L|t@ KOak-xyZ/lv*~RGf^b_] щ'ena4~w?=6X{\ͳ0Gu?<11`~S\ע\rWZK;hVdXGyc3UO DJYs| w 󢢴`;KŘ lg ^m{LMk,9@.7 a0Gk4,UyK߄1Rfb2V(v#7W`DlkOjJT[J$}xqw{)+c){;*^p* #҉]︺nw\T,oLdi|Q#(|TYj,g= ٞݾ޴YsmŪ4K[=t6BRPS߱i]A/9rlTZ<8 ˉE,ۓTiw'ZBuVR_4FyUV/Y+TiW.-Vy-h,˺|RF'89^SʼnpEگ#[:x[ %L7t*+AgA N` G[`m`=d Ozr+4j@|:_ׯ{c䨊ޯCNN][mVD͎t2؞ M f2% ~<8^q$/i.5w:x|3 VS*q}#D(~Lf ˣ4y:"9xg 7>HmkͳD][?k #P<ߨ[=j-\ݥ==/c,{E`xKkBmD Z`Wҕus::??:h6,}t;|VMOy;2ފ'6䭦BmEqH9.Ň'տp=h$r8S[=S&W%/ ҙ &_1΂F`^ɒ˦^P@Ώ^C2kkF$8gA|L(Ii= nb> ?,³t05 *n+"/SQT Sr]g$9=ϗ 2Y<~bC7oaGi*n0B}RUU4PPЍx?Ziq=hAgEp >.KpȄAvL8*0lC|| #ft/b y"sC n;b7)b[2 yJ#αFa6˭'8OtU<]jovD%y%0$,QQ}Yٻ ȥ!f\0ΡE8 mV#Z2(g9,^IAtRYVp9TiA I:sGI l8D|F,>^$ՙ]_"ӓX,VnX{4I_pȦ 'EBZ%mlN(8g,S;D]T,aŢ DvBX NWP)~4R|bW)i{a͸06w#"Uit&gbuKՎl|ny6ˁB*cF9 B;&T-dPuӟz؟QڤvcH6K).S>OɼciotfK>&Dp/ʧ|ɂ@bUQt@\E& %3].'>_>8X9W1G`Djꗝ`xVw; 'N%Dc^ChPD[Jc,V2OȈX PiApA3n@ dK ή=⡼G3XE$YQq.Zby KY~+^Jy^I%wS6GOmQs~%-]Ό΋_T~=) ?/=ݭ)x"g; ';h&Y"o!]b#I__L.:hlK!h+FXr\@Q Wp!<I4Ё.lS,7osCBo `o`Qo1[Q )4NEl4kذ Ap\nʕB+dNS]D6 7 $"K0S UncSj$pWэUŰ<żZ-s2.38i7nYsTp07<]ٍtsFoZd=M>sorzZ^i-BS1)$3to]~kan2l r#E8N7ūrn<ãcg@(]KaUEf GmR1<+M##yiCwh%o4ܬ%8'.c$OOQ;9?ޕ)-<ò3E,>j9(={Lαg=>GHé,+],;YJc:~>/˷ݛ1OЍ^qo ߡ(,mD.hflWyNr52CJTǝ ]PP\4Ӟ>Ž@o}pկ U]@s/\F 㸣%B4YM VWOqZh=RfQ18fxrÔQu8#4e0] bivkeD@o_͌#1^QJ({܅f&~sV B* 8$HaC Ԁ#aL؅A O%ߕ5& U2ȵe(X&Eiܶht+k/FfR?W˝0@,]a'^f>:9wNNUktQu+M4:!}\H֮SS!)b+veZ<SHC]gx0vImÜBƣo yɰ&Q#PkI4Ҏ&b@Qi6|G+>pfApԝf;ԇI Cnq}Ęh6{[_a{ݍ벾I LyQ_<.А܂)os.f.N -މn%5l  ӳcDw-Z{E?K]^^DPabXkBO,Ƴ%,} ғBj4#Kb0#q*gYE}ald]q\eFc4kIUW'*s*Q0/t * tW!frDWlF/y: $bۺ~o.eSngull>Ζe7L3/?l˒%d{2!&5y5(#Wy_xw~\MTśZFf>撉`s'[l}w#x1D0/q11yz%!:ְ,]l be*`U˞[Sa 6MCNƣͅqlDWjgeP VOH>Zx -5tS6` :~dzqh 9ِ4ݖ@myIt16Ѭ9;&$i06/+Mc0R>/qUewrZTTsLծ%դhA9)\ "wSzIqOPQ#,﹄O5Mtp#ZOӷUޠ%;dTbb`gwx1oA Gn@g ʮ?;SsH}%oZlywon pe\ safMYB^Dsv.{`x7՟Zkcp ӳ795:֞:r 7:]_?*ց3F |<}z N Jwt49J,oY|:㞬U&McqJo,7О+eٟ VTF Nh]4th=YCwu23ɗဃ)AxŶ !Y)AS9w <y˝^|6KMhUQ~yl~kj2)?M>[P2;Z|0IcTBN9Hc@$U~j%ZVZچtpخվ*߂%q4xg [U- |]4S8rɭ 0PFC֬q<> .M[-狱}Xro'?ؠv]t s&KJA-ca PA-E|Fvw -!pFzP ۍKza+=/l]ͅl y) mH|Lm=Y'\0b8V.& Z+eLl\(iWD ְ%܃BēOIfAr<a=h{}sGS־\޷޷oz>}}s2 &ɤoLܥ_mBУ*3qѼ ::d4MAPS9A^P(xl># g1Xi!XuNy{rzr@%!dX D ^Is!V_ݬm>ıt艘CmaŇp25A2YOP|H/IlJ w₤ըj;$%VӺ7.zmwOYYϵ壯)Q.!>}fPBpҤQA0}f[\3PZezpR\qH]8[⭮Eek[e -FӟJR5 9MLA0w8e0- ( $0K/-ґҶ—HpwTp~vOzsUPL_.*!SdN+Se5u~ Zzc5m*nmlY۴cn:`@&a/ljX~#j|G[cn`8g6sol Ol0 [Hu܁n6%r^uÃgmFZF bB6/<$ .9>xL晇fvvhwf{:][[P<<M(8 1҈dy΄ºlb&e5T ӹSQH`(hgK>  = 3 ͙Ӿt4D?8iY/OGa 2#Vy *6UORBNh8٩ע?EzF'v5^Δ{  :gn|?E/h >!z2D8Q@+]G^:,d||i:2FbýgI :4E swMYObX,~<I~]UQ^[Ggv;B< ǝ>{57|qV_ KHݶx  |^ta/ _EǚsrW7/ ppx gcf-Dd|!~T~]LǢ٭:@\]&k/rf}[fpwPs̺;-2K\4yⵋ|"p.>o̧`7_îT2 +؞/?{9YA3{(*M"3TuJ*;1V\(V.a-~RxrYVƲYcjY JbE7=Xc?6ˡٱ15GhB6E.6HfG~۫ &FƱWt|dMo:9IKN["+,EγB%#'ǥ џe(r :Ͼ0y`sU ֞ 5N𴼀>7/q[?6M^Mrzmp N&EL>dLVIeo`pҟ/{Y䗢+ȚV(++sI?nq[ELLcxw?|}nɓZS^:LiGl7_jx~EOWi8- 'g$jD0-oR^uoO{{vo1|nlז6AmP-N(x[*ڪX7#+Z$m^L n8 `54OJk LV֥?`Yr/ghSNLfC..PdSX Jn)_4OUzsչGȒN{PiEBu^=^3DaU:>  W(D%8W>\yd*x%IPCI4NOWN;('>SU=N<6Yh#h*dWX TϟF9"ŻA_o vU{vesּ Yfhx Zu;7=1r@a!S1D,:(PTAzHHӒsWK9fO55h:[uyk \5@,>x "[ ![]V ᄑ Sͼ܄ue,)RG~rNݛoXO5l}"QFXmb1Yc]Ƈc0i=*MAF ysawa=)8 J!4>lއ y81|B`h24Ji}R#!%&YuH fI Gh'S1@='m8@u&χNf3{z:ԧ*zK޵}%D[_(R^pl&<"n4*A9<~vge4tknu 1A!dFn/_yWtfaj.,I8 ǝC</Ӕ`!vvO=ʺ$ bpQIY{WЂC-*eXD*=qvyN< Ki[G:B{=}e 8UޞAS!d,бX{ź]ij1 Hs9g,*tR#bSԘCAaq䗔ڇF} OġzG{'%G(Al<\’wS $iJwQAZ{:"2JP=xKoBLK&e鿳)35*ҋn0yeY .aZ*y%HթR'x;GqNm`XkDDSoq2cvPq${;J?Q66^b#@4/]>}7#؞q0{5$އ :GP\FTL&^}o~)2Ti4َ`A,@<5:r(ء\WeMvƮx+C-`I NJ zGT'LI)˖Pݽ+ng(=.>ReVԴSu1ڥs.YA6 ʝʂi\yK֘5>ĔF$gh׵ QfaZZT6dU|+*H܆>#GW_J؟{ƪņ=ǺZ HBқ7&] ~~A<r&SǍOķpVlpx+09ədk~ E+p( 0MpEp3 ߢ4;)ݐ@p %z;fT̯!d3[Rnm1aRߗ: ,قSCCCiI b{gneuMVhԈ:_4?+l 6qf 3$o J@b$aLUuZ}F{6c[uuݺ&>o9"i0zOFen<2G,r "D0'CPgD`o:az3Ca̫c>_<yZU@!r@~Uht[^,/浵$+| S΍qJb)t44Qav4zIf!qc.e&*q.*$a^5b yFEUH x\f, g6LF3u.6YE_1!$Ȼ𢈛{Yn Y m`vn OGqx$QS [8Hs5-8x\!20#}g "C - /灹{|XɾXYvO]`, w4kxn&V (xR;` QoǸUI`%)'-ʽz8m2"+A3|%g}@wu#$<) aJ61ڜ|!)o{hȕ)_`țEm3,V%R9hH9 6QUPڈg˯ȠI%dSKRLGTRT0;6'^b/=r;Z:#CV+; L#+s5_ !p,4ƌ]L1 < Qv fvvp1q/1.LKjMTv]>VoXn6+,Ӷ`_v.;kƍ5~D$0z I (O8;ZDNZ ~""L.SljERR)_jKLCVe؜~߬R% KiTOKOkk^Qn)JK=jNxgTy:-I͡%::aPxnn|#xr?JM] ?ʄG;<1UUJc;PH V32tOkN (4屲|26ͲYQdz(Ylvj+9tA4Xkh!u`&]J)KXj~U)li3AXBr}yUσ p"W p*e+8F# ԭBݫ%EFh#=wDh{y-/\y$fi֓=a1.I&S>6S#Ȇ&sO@bEߝ5x]bs+.{0"kۣ.q(>_Ƒ;r_zPY\@Gph!{#Ad%boq&f0۟1p :}9tQs]Ӌ@N N*ӟ(:$|x+%62Ou}ZvpG+H4y+t?&65*/vNbe}j,Z4G sz O)Z-hZO'=MIo)cW!u2,C[9ׂ: [cC;Y!2Ky)X%^Z햂ȶHG~~JMJOf*a` iI%`TnH"U##N@­uǎGx蚰8Pwv罭8Ȧ XHvFѠ{]LzJH㐄h'{s|c:hT$g@|EA q8R&g0 *Gk%ĸ+"rAZ;u#X-Y/W} /r I 2lA?' ana!8P1aю'ҹ(CqYu [ԭsD-ZS9oz g=;JjƆȔı}a B z0Mi X^ d@ݏ)[u߳] caW(v77 0شL_kbWZ?*GF1vr`9{ Wͣ0?)?1 GN/j )+=` >Y=I٭cۉD_cl ė%ُ:i`4 l'5KS NNiRel+3P( ƃ<^W,uƄSx <&>-~ 1Eaa#4q`-3UhDe `0$cEadT> H /7H-sua{i) YW;òjHYE+\>!F`nbM@[V/Dpow )P(ZquI Ü5pC:S/Kok]w2h7p qvrҰ'WO۳@_߳U0F TJ UUAro>(`rW۝6y\r'VnHpgLPsdns9޼+BwM j}b ldOx! @!b K͟=;ULi@S؜Db]ð7CR`H j\nr(3'~N8C$qc̕^>SB34BIe}p@7$'r:Ay1lHS,,{k 3K x0XOEtiMx(ĭ^b鐍Ky(٭\ \8ԘE-ce4iKOi^Es"bF+A+W bK@i DjElIa0Tľ$ OȽ -+CRI:0YJGٖu]м9իe;  oܼ1Lv4 /H|nLאN:}R=)_Tmvo"DG\@h-0OE%?;kkξv7(*@ q!2b&~JtӽpvPH\-ݽ_|9DRy2Pԃ3j9~?ܗHiY+;:(ī*?h㈹e~m{{-E%0P̲;E8IpPL&^F&^rō řa1 ?G<- zq:/=v2u OYy7kHӅY6k3z,c[LERSi)x"}MܑG\##˕n T.9(gHaBlfI~! C}xS3bF MDց^g@5M.%[WhFBĮck|N"Ȗ,G%'ۦX4S8WSIII5M Z062ʕgnSFum⻱TqOX`-ӛ[Y ۄ7V\cX_oc7W^;Be*T^_4)B\=d.<(+Hg`/Bv,vؑxm0Nz8P%#Ց鍳?}SUW<3 }c^q43eco;O=}}{xv=ѳgO=y}ߜЗ3G[/teKP Ƒ[ݨ:wN78wP ˸:"?9pFա*VuZ cYy$gscL%᜺y[qv U >= JMbYBK ]*F9 #^tbm T/Seo99gaT"XfmrP}k2Cq\E'<łcs^)g1G|_]+qTA -@-(lNZ+ʇ5&+%k?U%:sȫ9'?%t !! ꏑ 1EB"!}kImB`rв)fҫ J'iC!7V4EfXAa1 DKehKB LJ]atgäչ`̎C2ovmrD%&Cޯ(bScvZ5GY/(W@d߲P8b}s{SEaelq2`[W/x 0c%{}.j5ՎZ_QmfQ }CwgjZ -)-KZa޿*谁jЂq#z@X$Vphbv, 99\pqGOe*Uf%ȬriSOӱR`$,2a™ ܆NIG] 54F`FgSJo0h`&M;%֦]<L Kib:C6|SM*2O.zjŧЂǵF.lqf#ֱ2N~=`%$-,t{[KWpE|YʈL E9ĞGaS/iijȩ?x6 jZWdHt5㭠1wN] &ƧoܠX]2rw?-̬,ϏR8=ҙ Sf\\լ5 bE0 " 4捋FX/LRtzqhKH n+W\SH[IY֫{ӽkOt*9|$se>}/_=aix_|L߂T 3z k^2էt bW'capq8z X:u EA_qwS7boz[cp8t ^żiRAf{,d>.$ơW:͓o<5< Ձ6 'Ѓyx|qҘ[-mU8*THk/WjV?h"Y'#f@+*>s h/En3(xyAs@fv>g`1__%#I_ R&ED,tǓ+ AxzZ0O`s}T{kgj-ku`NF/ ';;fh%j~qEpp ڢ8qE$}#|bp՞+c6YMu/ʒ)%NhȈcRf>}lF8B03%a(d;j(="{3K". wܪhCt2?S 3?n_#/2+i?9w%<-XvEdapFM@Of3? 7 tڠAo ^٨P*fu$YG+%!/v2/̈| ֨rJˇM3kurN7ΘBq72nZgt.NIZ KCb:?>ntn鹻rc4*pR A9>FBQUq8CyJaE+Sa\f698c?$~Ϲ; ҄v -+;idahS p{0-"ZL43PM`@KʩȆꄀ(xḻ'^-~$ U9Dž~0.-H_)L&j8pIr1K1geokV)'E^KD8*+*!?@}4ҙ^3A3I5z9;yp*h8- Za3v9ϋWЉ+wѽ[3dfi Yй[.o0d6o$.UmR j];mtITe t;ދ<0VZ}9c#eIbhjtI)ȉo $( "q6>):l B&J.bؔ^@G}Q%]3p@D"o,w!X/ Ň"&TNʛfUy32o|0瀢R4;&! gs^Ҍ(]d}ȠsE.dbFclTc^֓tE7x0L'\I1ѺU.u }5%KH7sRٛxd }H8^`V-"urN;c#2ؿ4eBzs6h0!pm0lEBۊI-B Y~JvI)DJIKWFn%`r2QB<7U |hK%Yoؽ&y#5gén48?!ǟIHb}o .o9Nm G{toq!8Ԑ.VN;5&3, \I>~t,A~UE{:QE"hPεjt8z|u3;3)\ejNVbͫpLBB2+@Mg׶(l7A,(^|tgn|?7'P3 ƕ$=g\EsJ7?j@6hOua9b9 nRgI>CCˬ=ͳG!Knb92 iճ @捒 ODIf9+.gt4<i<8ƔEm2D?[erJwޥfV[HIKBSÕ UASҢcQȣ.KB&A8"Euqq"EjDCzaR<\ Q v dK] e#Aް%->ʡuhQo⩵,\@<aK>t5~⹑nዟu_ 6xax6ĒΕ;:b*AR?j4@b "7bE>8.X dbºa钅/ >\P:$/*%.-S&'TBɗY|TI[/S0[[)ZaZv9jkV,]I$ۀ-10U,ڬLn>7kZ aƾ%ƀ wvuEwkYSY΁CVtQlj!"B,bL Mn$džbtQ| }? 32Z 6 Q%Uъ]zǝ)9YEL(;K1U[ 8GRf"J5:ǦQ/uI)4^u$]l&2± UWe:[eLgyIC=ds8AQ2N'ڽ>1ȗE8ZA΄2RF<:T1d /x7Ȃ.Ɋk>Ra?WDdtoN1qp,CG̔Ym2ok]|Фa}As )&ЙJU*}R8PT5Q&dp?[ b楓<)5Ӽ6 겘Jx_0 Fԫp&K2gn3uE1@9qy.VK`b8oa" u(<;S̍$=)Q,b-QW<,0j_26(7F3F6fM)bdv}>ЗgC8J9TL3fq;G)g aR%/p{'e=뀷K=s!Q>ȚQss)5z8iYRe]*q'z~f%}#Haxgr>j5ҖI#{!vcJj5ʫ׭u W{Nu3r Ԡ ̯ŞP $D&Q<~euqx>0fp\CNU'ǣ@#WSG[ , =@,2 <+XbB6\J RvGeP>^ZDoG"E(g37’LrLwS@ոt%ɢt+ RϘ0~.Xl8_J!RoO˖Q/Guuy{'٧+hkbr'b Zf5-dwza40ڤ $._ ﳢ)5! At|)6Ej\H2\ΰ*&\QJ1P?PDQĿX/1]' G/b p"i8E^y& "{4s<`dӁKF: %eh?(/Y`"5@Ll.'{?=1~.!b:Ti*k2/TeO!˂3AVU&nXZd4n ڶ(;eX%v`J*YFE֌7P]~2wvlw2Yxtr B]ioSRyU@iak_k :,6 CLjg{g/fdMOo)٨P)Ȫy+a] 8+)EV!cG))>(!Gwˁ G>ኀ (RX\Mjy|̀, c c'7DpGcq 7Q{޵nW05ґq;C@Pt˫"RF087;m`VyB~[$Xa~^<P$eN22y6I98f -ӧl"I yS׀ÊC2!o.q&;Ƭ޵;Y#5,k&Etx(GLSɦ4(N"9I37Z"Y ŖE mc}߾}[ B )ND>B `( r6T ϔfKB3zhR WpR ̞!5$1U;AE-_*qcȾQUűE|cpn{.$k,l6D DNz՘|b)=8w@LSg)e&!TpoPCb X/07\/`)-``@W P5B>1\@0pr|Ď/Wˮ |:(sMFuݬ6f_B[G\:WqMv9($8%<xK>&@T00FKI'OP7Xm!ƃ3PHX-r7 3OUB(mWݥ!d(>Z-(>f7-9 !S,SeζQJu3+6Bg"֌[3H4rRejdƁ\`([}QƩek"+ɔ%-X:T̖l1-!e4gmfA vb)]|{~oOGEXVy;풿w'd*(9H:aN6d'jQfD(6$c;I1.ʦ^eMv]MZĿPjEa$9Ce)1a gZ \S'T>43biqc:\yH< +‹ևfDa"'wڠ"A$_#O'(]:,R6bAc^>_k> wm2PEV-a6M_::hCzNP. n c hmkEKbT(Sbw3D_| |DÙ +f`,:M΁ ( f,3=a{M8kĊ8*ﰨx"QeI #0Mڴqxyng>2T`Dwa3G∸ٹwyׅO*-&:Z2 fdxdl6[Q =Tgrwp8u{#)ˇ Oy PFAVDjXqdcxLPʿK4+B4"s6xۜ&jzǥ y:dJRĝjo,lq >TW7B`"eԤ'FW8-R0}</1P*P0(hwf:OjR+VIpF IpV>MjŎ{#>:X Ⱥ ~Ӵ13 cn`i2Cf8;,v\;2N]8&kj;ThH)|[V к!zfS /,jT+a:WFbCw /#67y\$32@PO7{y޳ADsD /,y;kB#[~\#;jԿydN:nTú;_v)UH*#Elsџat.nXmc؝U,WUZ,sv䗣:4CE#VYzgR6t{OC!ei\k7ȋ6/j˻t't9gT_~bGהlw5efyNe`2|BmK+/I@ ҹݭ4o1x̸M¡ڶȗ~f&a;*/$" Ly94qYzq_Q=󃅏r*~?bgPO=6.1ffc;.MF#sUĈRil0ۿ;o 7&6Uּ)8%RFyd`ʐX̒ˌ8j;(#R6ql[L.KWfn0dRU]`}16'Q D,_Ԩ֪(֣-'y^rr,!x)J1QWgg(Q(J9]EVUX|=j8ǂ~jRzm,MNQ^:#/ |KZzĈ)*}3AEDe5pXᔁ~8\v/-2ݱωuq ٤9rrzCo#^И8jRy |Zr\O + à.}^<5~A!\0(o2 {8[@8/q>Tʫcr{6#;g[iP#vGM,tzW ރ%+TQN9e hb~ʻ,-I% R: VFGrFǪ>KM1luqO^]MUk,eMOI8s%5iVt=%G'4ll(-.y@pQp#o h+u+_w0pЪl^qfߕ;]yW%!ks #`˰6T9M4k *3e4RSP,|>=?+c;1ZKe5! oxcnEzI4Vb4<Ǔ1p 7G"98M1&dP>@cL/˓möU}x)97F.mX씥lWW؞<:t b'7cduÕlMMަ%Avlvж ̡ ):go~N98ٓpӍmZ;U),gBdLSAC1=Fؙ ӗЋ1_9V!3eHYƻ7 9ҬWxƿAah ; g(>!p[5r5?DF_VQ6 Ai$&p< \E+گ^{Q^~5;AUK7x M,ݙB8[ Q%X6=& xCy5r55:EZOtӷU;(:hD/`?LDt )@wœdNo>ה,k,41mOǕL֐%0URJkЫ<  %5 o0paWwOk;׶bh֙p;xCcy2,"0/GeN.f4{6h!g"p!F |`U%|-;vuXsOԩk=:<_w~vv9 -wӂC D]6?pJ)-ݲ,DH'Kv282Nzz Y+g>Stק գ_Y ؝7b9ӭu%B.^UI=G޽A9EH ZBDŜAolp,#=d ! w7~?e9ik^fϛ9|fm%|sHkTN^'B~ɏKFF\X׈iվfԴei_l Y6us%ls ]i E Ybq@dhqDN–VˉxpAWx 2T?дEc9|צѯK'^~ 0J=CGyG/ng%aJ9sC/Z1 ŅiUt7#~M\{l !e^0v; xWgAW銱~o'R1][n%5}\%œJg/eIWܽo\䳘+024{TYăXPn"ND4+d\l5\wU9%1_Z/|ͷXrwC'Y8( V* 7NbWBB]{B_uHB%ҙPYd/T ;5kr;_MZ/$PP82Wrͅ8 0SA-mwAzX:lNp8tH,%ꚆP"v:iA/wɵ2PO3/N`wTCoPSeAƄ9lSc̶Cq4[iJ;|I07vV,m@Z8[8%;]x5ߢimz ~ӎE)5"ƛA8_|=g|6gd`m:Fv {NA?y}Aa?Ig7{p"}1c'Ocg4܈e: ě`ϒ:"sFD5b2) =8^676;ӌdwE,c/+j _}b9NEyL?xCG5ѷ5Eyyz{,a-esV24rz(xnS%fq&)e 0w/W0O<;2fc]`> ,)]`j纴8a xv{Gad _Cɬ5pypHIhp]}KC i%sK]cju3sQc䊋n(w 9kt@:z*)Mȃ& UIw9g-JmaǍX2SKS'ߝLEo/UnY)J߷UhnynqOħ0xG|n:ϲFwC3em @3}QyeX)^Cbǂ,!=e5yOjhnxӣEx ڢrf|,G};k2o"Fp?wF!k,K#z-X`yşdGntI 0r,+ l|4z!D<>`ur:Opn2rcmA-:[`ɉF6ɽOev~#pH`F\YھR xV|҆榺KhZ[6(3Pйe;NOrQcZרq'Mn qKvP䶖MSQ%/zBuHEqyOvW5Y C<7ųrQE2KR=Q/7,dlR<)p)L_2l<j "EV ۵\3ImR /31ۤLKN:pFcS%!Nk_ϖ0@2WF1Nr")WBƍjI⒐ -V,HYM咉:lp,DG2Fw\PbEI1kjOIm:|^b*ɷѴu_ynUlFaJ%{-:79e'e6T"JU Lw~mS;iyr6Ÿ$hтŕL=oaL).Ѿ lm{?=Bl_h`Є%f\HܜDMLoagPpׯpd@PN;{Aj9yt0g6n$*(õ~Q! p>ԧPz*afrObem0t+TTъ.:|'MxAu1@6 U^{Yr.]&)|{k1;`> oǷgҢ5X}pқ{_[=+,:> /3>Sf/ᣖ AW)֏$ܘE&-aF 2E\V8QId(&S<y_l%04|Y8cd>nniiT30QfRL-Tq3R6hm/y /dwʄ}I0ś8Gok}e?-YB^XlF JC>h.#o^͵j2ΐmػRMҽT33+[#\([O}xkNׂy9PE9P=EUH\Ȋk6|7lKB ;RНLRFKF0&fιsyh!sT FP '^])FK0:4SqS(4"g/Kg9Jx [S,լ3 2ؖqy9 m\KpOW܄\Yfd4)#n#kN^R Y-7mDF-Pu%yO'ΫlKB=:]yM]}c dbhf"en [5[d۷oyޗo38Xz3r0ړ#= ș!cLz8Aۻz/3v@hftk$գ dY~j2P%㢰dr"5Ðb=~ U0tπdx,}I"ׄTs5 o4?Nbj0a:E %pH:~i CJ a(0Tw"pn0R {[s!%B5 KH'%asDJu]PEꋞ8%rwܭ6j-"('gVctE˟+ҳũX{:ԺwN=m(2*v~T]f_SyoǓ9WKWl3suSh^Mߝ/&4nr/D2(xHMA>!$DYN>h(Ejq?1Z8AeLo"-UÕYQ'yvXL"_Vp=/K㘐:fS<5,5 eYd,_-25> VfOae.)p3M]3F=%=|-ʂ< @z';Ϡԣg;GOw/E@Wn0t˼r^6Gmu꜆coߩ8;jy~ { 0NHOQ?;=lj4NYp^:_,LݭvABnYCg4#叼X@5q|@e-9})hn w1hڅ 0ʖKvGVxI`oe{F / -2cw 4pK@H*k9:_o8oםos:N>8Okx` HQڻt,07}^2$@Lg9~:G̛ 1_M&byms5t^2 ^o8n4rVݟ~zn{ΑwMYndDU}=/9&>`fu2д8z:((S~˩M&NaI|8xrQ).5(B`[t8): "( |NΉP(rc&.z}wLxQ0ulNZ+G0&d, VAthoν;t. qŃJ(ؓ;rxܫ?">3>DHMhLnZv2LZz,HldC<ڠV4EFeQܱMb6 2 .ElhnM> a܏ ` V8!S/d/cGC7Tb=2[pi\}]6s3BȘ1d<Ep Вh;Amj0L*_UXWy&fbP -C]^o)LTw^_Pn<s[G VvCzw`6b+NTרyL ݣq3؊~~٢s Vtr+q&Vy'  nlS4-YaB`҉*)6ǹ6掲8Xfmϻ'$+-ۍ7X3Ezؑ ?%fLdauVA!nĨ$[aDx9A`yx}OF[oۛ'L! vբȇuZk-faк60R:d0OzX OmhH0_^zVA kX7z Ćm m@Fib"eqS~iPO VTQ (E^RV~tƴqs\4̌lx O 5YԊ2iո+ִ"ۨIA8P+61g kQMŮ?tÙSO]:pPb6$5/hܢ7 dݓ̌?焟tL$ '1n8*RDb\|>9]!|VKÚ_UAnD)K\k%qWrt'0 -+ m3`:p׫^J\z3M֬#$ brp#n#$Br/;K>daXuI.~!XA]dP @6`< L!q3';.<Qd-@t&L5ƽ ūmC[4ă,AhNY=RĪ*veJ䃎F(YpTJc4" xHͧN΃9ZeɐzMLB_!>jY KAN>P`w Pݪտ:J%FfY3^ء=mo/GKKQז=Sډ70pbet2`sL3ߊ™ٕQ`O)0{J Lߩ]ߑ@-x CaУVG+, ۲""Aew&+M0a]Ę.%* >\ (Z1.;=fѤp|_tˣyκ.G y|B+ J 0p K~9:5!@҅uN Kay5a2 dQI}!`,MiS(, ,&Z U'i}zhb"6XM=׷7$摜~)NUMh qƾ{Ȁ7y"4z_7 ޔqGM Y( g, B0oD2X}D_~S H(}xgՑ?s'+ۘW97|%hN~ |jPN; w,잀w,GYG2R =̗Hv9ki)C7DIP9V|PEľ]{ M0 B/yh&(b-f,;d{ꏩhiD}-z"SJr 7#|xvE+1aWi%~'Ѐ95ҞOLGAvGipQ"[‰֟sM"8VA8>b4{;&q Y[y;?-V,Cޗ!Q'_oo\ b=s v|d.E4pc RG` Ru}VcZi~Ғ!N%ܝ u݆#d랹L#E;OF#v %3#1Qfws~4ypBX4r-8##=ᗧOt(nPژcq\kպ5覑=}Oԩi[]5JZ7YPCg#:d*9͛m'H|4Qx+AYaR@|U؛RY˔Ki78cҔopF.z2Ufby'a9}]dԀEx/mڶPﱑc1.h3EXe~nb-j'-0&̡ jvh jgMj{ɷ`qg$ y1+hrT݉  O/.$.@8_6"/c!$ (^Y28kx˅^ ÉE>I,zcV #)_Y.f!V$ٞn"RʈRu]lo(_o6 >}م"Ov>yB__aW| adܗv: 'L,DD{YӣLMfc3 }w͗ Fh{6_|9O Cf6<~gB7I8ʹ$_-/-.g 26|D]t2JkYhuBFk_|Eڧ gcŁØqCtx9Z &Hq8 Qs`^zo:#|C=Z= VCyŎh՞S @KJ: w7j,hy䷯rL\1LV4>Bɒ3r7ie[o{*Kg3c61D/%lqdȞ12P:e^ZM q{$o۟>qH-2v}WsLVDB,eOh̜=g;4 }{m&GˡIdG/50 yRr{6/(o&lRg:'Ek1@½KBkoSٵrdn 5@4;G],Vt-ihoCziL\S"hq5VCɷo4 r;T@Q҄\, elX%n+Qy6ZR^c3%54*a"[h5 Aie E-Q,W+/}|0>-)i5OKimR=0Ё 'G{;y܇eևJ˘ȱbOEߐLlٍ vR&\Gl̈́nո'+= äsL+$)F#r$EUV^(*&dh{2o6O^S}_3EK8ߜ}%QXӵ32W)1?E8ťAZX7ИރGnA_8Ml X4g:ot;݂i1WjuJ-LIf!aRrqww*KxxܡN~ F?D^Vg 2Mö) 3ÎU!0BB-ŻrGF]e_NRVFo o?虉T i}:և⃊ť}W}TiF~^yGq`oww/9[ȕ bJ#pb&ݮN5$ `k:HiD͌fX:ħmU7 >jar!I M!ZhRB+5`_>3 Ŷގe!5'}#c%a^pT'tYb!{ؘ} ȫxTRA~w* ێ?x4`NcY(ddHAO3)^"[GM Ȋ e` 0b魊.b.3I":bשY ]| o0IIhȊ8HO^B Z1W;@à8up#+ o 6%8ܡ]WO~o}3O}T-ņ_gCx]%1Rtk]m{ï uK_Ճ+ZQyΰq{;zkzd5"4kQ<6i&l8RCa?nZ$f g3WJ(E&@Hc*CZT|(3Lã+YZʽO?179NeC[6ZGq3Xl0V\L%|zh:ɒ,"Y$aWUSN@`&Oyss&b$=bC'e͟f@bȆoiy>7{ pD+Q|>(T%^))|d>IO<|[f\ZŨvH:l?шnʡɻߧvC};җ_ƕJ7Sug%Z)^V2ȭ/_uJ0BXz7fԍ~~щX?VLtO<}ɗx𐰏n!v<\x/(]mt zh2a D =VH.F'#c O:\/3'Q b%q붸|cf풯=I7o5n2ӂ =lT; 1}YKe6f%k=aF!ďE+'^DW?Ǭm8#OPtDJp‽bj:b uťSϗ xC{R+@X GPZTOz+/ :-v 묬TkPmYaWcx(KF_ѮZ0?Ӗwe$ڸ,Z\YYwiQkVG}:zOޚBU^30mwHo+qcXtY{?{H o />mTm$T1. gVEQyj, N&<Ղqd rKV{5ʩPb%I,mo߸U@((VZs9YYXeue `>,5&0*N%"; `6 %a ;~*&կ~kȞkɝq^\/"-8:Ԯ2&DMpgr:XI7"dhf*L%l N0%M<r?I9xFBc_}h9&VƊZ梊\@"\oU ״?f5 X%]u]eE: kOS."jUXÊͧ/ut.$c ]J^xp1:Jb%K~_+KHDK@RTNdMSM{ָU4}B\͘SQMûS6DS7; eJlA^.xD"Sy)bK)aq\(9.ґmܴ@jڴd*48~%))J0;^c ?GN)fNzzA{$R>_]N*'LU;EH0A^zNjaݘF/6)#M(r40!pn}y?CE7x=/ M-F.mqB9;:M0qi.>aQ|ZrsRuRm*dV&:.}N9OQbƗZn{6K[4[T['.+TxqG;zU!V/d auz X?RSN^b7;I~ qp)(Igm%yt*$z]YOfd:=7= EP\DG89dʏ!O4DOL`(PRNijW,1]";i Q]4X\Aڶr*ç`Q$ uɃccsmئpaD :Yt3Z&Ts:/t8*%c|.+Qh:^73w~@%+qŜSI-(wѷwN47i[nSN='E֑ NpչE)4ô x\?M'QFa(Lc' 3/?9[{7u >* v'7=!hyNA}6DRO:%9lځl++'dFvRuj,5#$ZȾEHd)P;)ڣ!($~_YaO%ɐ*JWTTuO+bzoG*]yXK$Zc}dwyvn޸u%#CX G$ĝR[5ͧ%]^oW_''dEYM*pDO3bL P$R~ >ܯ9|i4z[)6Y_QR"'*y&Q0MZ+\ཡ'uFy1z.?$?HN _ :xʏ;[> F;Iܜہ ִ,']J@t#t&t>2oIʬ6'qKB>e^"!C.4Jn }*GMz&圀̄r(Q΄-f=CE^$@lE&P{?:8m&znZՌS>"ͺWG~>%ꊨwA_pc-]fA:ŸiclZ5A0R/:W=*A'^*iҧV@FuX$&|0*o22޳oZ\y</ƩjRGt.|5Hǵ# 5t];J*+,¾+&b˪:Kx6~?&pW$eH&b6 ӱqjl͊e3yGYFN]h3 rdp)OQ{#%0hB8ȱB۲iA@m\cm;@q*'tuXԢ#*PJ^5IgЧ5&hGQ.6%,TuȝUsi+&@[`S(aDB4 t0& xFQ~7ZS~I$|ĕ|e|JS:aQBY!c)&Tlo3|%XD &e0|`gY&Q}&Xb77HnjYz~Q"G $rITb{^+9UjGefV{Ľf ۞t}"3b[yq'>z*+MO=P\kCNKc=I6PYnq+iRx?|#.}n7o8SU7<:iLV 5E@Ȥ9٠ 5 IAbɆ8 _ pV1~ze]t4kS (T*}c_{v[#*@\Bz5ho.RgVۼD֩E02'm^ӵI?>D ޭ,-6/#$Y nWt ,&h I9U;85Zl11px:r[$dh6 Mּ r*Nwz݉b])-NJuYCJ'h#]Ҭ}'4{HfW-k5qdIyIAR,ҳJċoϬHio(N4!kDO)'#Iyf(EI&lasϠb4Q'*ρSRHl&Mtf"v)y~t(j L 8eё |ZzĠq}%[kZ@^T @b99A@Θ%sִv :2@h"פ#`Xc,Z<1E%k͝U,g k;qk=;O F?T6Vŏt%i@I'Bj$HZŕ|hy*2lh>}B+J’93ݥ٪VJJ8v2P^+\ #g/AQՅ5Qh3&Glwyp@'!$+<+,I0X_鞥b]J'88o"F>e[h'l<]+=zwT aJrA'/s',5{L2q!Pkl.0䩗zHFtcE|ζ ^XI+>F!ar(ŷr2)2Q"6?Y hVqSxӭoJX8aqWJd{]*/ y#jDҋ%kZ `ښ@Ok3*T\u]t͕;+Ø=Cw4@. r3߁k=ޣ~ϵ=~>d8 rx|^#8- %uNDX\gz{Fr` Nz's`7(k $")cBEb(c|Ui2#zٴ~铥гɓ[5\C!ʶ2Vť}y-C;Ivc| Y_2{lW?PL1A  E'ـm!L~a&ި*d0jkrAj c%|(υqK2.~HA/DEtJI] :Q boigؕ'G{;w9OqYȚYRiRiC {7G[ _tsh&D dRg1e/ճ(7x5(Rl( G9cӂ')^I-bH+rShD 1w]'~UiIi6pF\|v]bvyl=vV!|7ޡUҏ[3Iø}u6lSt}bD$3n<%[k|zy\O8vh=T'xZAЬCΐk`74Q{xYt~WmwuZgӃS5=9Mf{jP0 ̃cu|4|Y>L cR?0!)Zsua۝u@6AROv](4"5hWk DLW> ͍ߌ ~M͏`%̓/_8FO~vkɁ-f> dyU8w7STL/E(҇$q1oXJzU}nūOjZ\O73@Ʀә⼅}.hԳV7Sm /ܾ{+Ubl'~R]r5 >enbu*>|.=J)I(UH)nBh*[(ehًwZ rGJv!NuiܴG+q&/Nuztb6T (aw)췽[R戊C6q[v lJܤSG ٴͬé!Ty3_. [_J}3fn Է:tRϻl<[DwM;˽~ynLþm2ݿcw_E\εMtxN٣fs,\&Dikb2{Y RrNnxX-O&HmzuhdY0  _r oIyMR,|aOz~C<&Ps_ѭHZ/a/"Oyx f(tGU`Еi@(>J̬POik!Bb3+pؔ%DYe1-~noQvPA\^LIasRyleS@G~UIj%SKY!z6drYͩ PRZ}s6xvzJC$bIyؗ=-0=i:)HJS \R<7SNP\ǠIio*t W;ՑV3: dþR.`f09޶ bc7 K' ɦϧ5ݬ٪A~I\_C,h'YN@YNaτIN"#+" ()ww9`YTMܲtt^ ea cjӂI3V҃Ӯ}\S@;8KYL8$Gbn*_ ADM)"&"qV^ފf@uĆX.u%nSI.i4郔ޔA#xXGU)JyGu'}TPr^Jº ,j;uT&C˴téH'I(WG^6}.o: 8}WcNH#OqHܨv JZ_Z@}5hR+vSU\ waRE$IY:B29޵YdZ5bC2RP+E̯nPӳ=^&w8rv2Eel2I΢Rઐ) qyƢc"hʄ0ŻNKeS_(1wݬ\̋ƘА~U56e,m֯V;J9 -6czol#i$S1#jDO䍈m`"Dg៧$[H'm'/<[!rCr~hwH Oڻ-IVu椗J0̌9} FW"/tVh"߭ī,9E8Nw㣟[qf'I{4fbl2b{\4ơz@C0&jӐQ5N3MhA"']|Yŕtn3~LG%1'j!%1l6-'z .x_FmfH߿:~NRoqkjGE (Fh(-wm-d"" p>DVG"*!pĊXuGk{u6o[G0}62l-uc"cryC` ӆSDʪARTK6,a}Hѝh'X%e>n*x> |%5f&誹$zW>*GJΒG|_eƿ_o?Np_]_/i_'/OLx-QLueN]6}D&1/&{<нG˧ɟQ颫n 5gɰX|-l40JV>y6 ~\?ӟރ"{3ĕ|wg|8~&?d2/O7W'[3WU&fPK !A|L!o# 6 ܐOnIOu`7lF ;o&_\ޓe+Y`g/{#Zo&G[V1x& zP/1>ԗgKJ^NG}ҀC}+O l$X=dl&?>z{;>Lz?'v!0b@1l `f0?WsՑvZ^͝b2YNaYum/U"fr@D$vx]큔e E9LgUN1G8)()3X 4-IkMTie1q-TI>Zb*zlKq/j  " frVY 8Ἃ^fq.5_*7F78 q;qbxs_)R1Mٯ$9aToKWPRiB .Җ_'E]i Z@pᢒ];?E>}#}>n{)T=>K-xBM9$j%ۅH%'D̿q9T`q6Uf(Tݕ]mά ^m;k`-@ 'RHFyd9RȖ kojMiA7c(';U (\?'k1fbʞ]>Os) G9K-ΨD^Q[UZ]3.)& ˩^ j{6RmⲴ9Q8fb@]XZf%4-SIC}J T! F%%rVifhHUT҇?&o^Ԧa| BH$9'̊Q$.ō. gLTFI䚩cV[ I(SH驆 ) 'P,.xM43'C9Q1Kʥk^: 6L<ȽGS[zf==b,&%m)MP1 ⵩w@G)2YJ75(5P$$7], Qk-[#Fd4b^S/ ,1qD>zGEkjSH9DbIzwo`6̺#׻l<+j"h厸/$xi#:\KI=Hc%4g+Y0>/3|$khJ5nKq-*4r+q_ oz#7YWy _t8#䑬9ɞ?'t.4OLq l):!q| l !1|vQ?u_}A0 LAgmUPhSsL͆)dQm-tᢞI) p-<5 +I'3@$J5>YaV>A XG5$&6{ҼiE 3:7L+)ϓb&'tʆ"Zm PBL #5:!$2;]35NaM2PxQnBٸHA~dq5(1=kΰ%)F^I(!Qiy>~)Ѳ)R!1=}S& :xI?rT"2J/bQ*6-IIT<]jKy P9 *m]<, &ҫĴ( 9,۰WF0Dk3ma)l_s N t2Wۈ8o^SY:^G 8(Ѷ J.26XƮ$ߔK>hPZ'rq͢(5z:]ə9p2Xj<[>m Itիoمjd$2@+5%̙|^Pa>fy%PX7#w5/Dzf+HTdN,ge6^LqL+1+?", cQD"6׃!OҪ7'(&GwX4qqUՑtq+j?mfkpū_I96܎Z .I5tr^iXbr]SW!RsTBq~:t/Xs㉢tQ}NNb*IK##B/W ѨjΙ^kSj"v:J_bg댕x=2x0L9.KY$kB/%`/9Ѵs0h6׋D^*K%FyB+C[V3+3f?NDtDg;}q;XjYfrg"3kESm{(f1Aq~yz! :;28P \x-oI&a/<6Ӕjҧ |#CF"a9M+CeD>"hG&HY&k|kFuHkuۋJQ23.(X!,WAGj;;j)Jx[-S4MM/`| a(Fvxz6D+8=P+ͺ/GKUNVEGRLRZJ%#)lZ,%C?sOa `MƮjڕk U|xuc"CbXŹylq@#5M|,TR E|~c&_d.Rg^ivd|tS7V-i1Wvc`yX,$)G[[cPWBv$O̫A3cǑҀ5Ģ* T~ <yEs3H+UXFphʨp#ujO.Gih#bBuOj`#,+ `+Cb:?>h]&30\Fuzd+[:˷.u *^eauV ӗOo$_2I\Sr﹤4)# _vC_4Cx cˋMMJSoU(^Pfڃcƃ+^ҕ'eY_+|EQ66T(Ъj:(j\jV[q]aq5^xqdo)^{sv߾l<?6Q_VPVOBJ U:c#R_to6RœqKlbc|q-#m]F+au~ 8/uV RչrkrꯀaNUW_z 03Fg;BLf 8=?>齲hcV`i^UPۤʕEwWٔ[#LϊVEcLνgr A LvU8^܁(eAw)FuW&=6V{7uf%`[l o4'_l'ۏx m׼Ӫ)H ٱ\Tl4zzubuHPP[Mw?ߙwM*(&taQYL"4SD=wtnIHܛ.+,f ]a`.yCh;mFƃ7'Uwx_9>d_Pkc{U£goawYɄBn\΁Q$綾)U;N XLʌDv6 At [JzgݶsF4 c_Jp~IGb.O?Ӄg':;Ag,Y6Uj2NiZK5xUEf92*p'ziF-pnCGM4ovN}A߳alФUc\~EެsZk: -o;I>g-TK<ܹ̆WCGv^_BN]vǰ\ P)ll4SDK)Zt7L#sX]<O&r>CW%]:!HDe&=%ips Ki]'qF`t1t7%5Jޙ#D{gLuƝf(a딤!(c1SSGItdr;QA>:8!x 2Jz ٞ'\bdU)-"B.2p:BhCsNGL"!t-\flPy_4w8`/-O4g:ZVt;L'ThTJ*\͈D/Z̈G1lpgk9˸!yiHU;ܚVu9dEW3D-*z!ַ0~Tv8W0+a&>j*zFxU:*}udr , cxU ~n!A:S~ 8SuI%T BHǛqNE@I67 0Iw3s۷W۪k Qu1.pk;  ‡'@?,. _=ʹV|?w-. JJ_}MbZZҙL5L!z8u ii<|FM)$QӀ$p<ٶLz <]R1(K#Z\:H1%]`4YN2~S1 *K$;giT[ǿ5WV֯EȬ>E5436 x^qKfu. B $TӢ HGO}K1`|0Z#y8齮qq/@$0hiߏi9Hg#,Ȫ F1\mzg#rAyiCӔi 47!: rI3ƈMh3gMN֋U A)|Nts/]"T#KMt[v)y+ wDȨi|Ù8[ZcYUBJuvAV:FV,xX;ԉ <3Q `3!s )WS'& cq6f9~ė)+մiNF0?>l',0ZENXT$uz[Q7\ : ɒ`pnsVϤGub^ bpX8 BBpv7Ē3&"C 7\k>I)^CuU۠jNB8o3Ud7frVjڵ8KAގ=6a#>ʯm|+1|PZ~s61Li+/`Cu:CbO~xnfEoښH}Jt}ML$~` 9NDi*ˤ7$tf-byT} >j;FB`&?8VѬC%J&a9SӥO2%fDdv䕇u:QǧNղx Pia~eU4ScWn` mtuD*k(}:^F>nuudíZ8ASG)A奤bl|FE#nn vFZl Rn;S&+:ОSL}@ -7nb#|Á*qLcGjg؎&wWxp344`%G q|(?7Z (T>FxN ҉(!u-]w 7.}u=Ns#P|6eɴ%t>& 3|Y;7v92 'mw٥jeιc0-5KV0yKN`0GS/[$g]vٞ3RIU!AsRH4C=NLYV !0bak(hWѻq]I4i9 ,꠹Rl#~nPU9vԇ]cȠ$H rm\&I5+Pj i֠~Cdcbd"avt}Λp8#M*U~Uk\^b֦kCaD+Wa_lɯx:%gOIrdߚgkkl!`*D\Bqo~__%vY4iYX-$7]"C͛[d2>S(S46R.-0T BF/y `Dl59ˋKc`>q~1Ն x ~ĪF9M9 :Tr1}3 eNr[zM6Fܹdx\wiA4Sw}no#03zƛ "=48!c&ƴMw6 I6nZA{ybF%ʊ&3ćSը9"\Reb?4Ȧ6 NK2\No7c]3Kl1秪%mftn;~k7% \"V4[X'+A S0e3/Y3,Z4u7K?։wʺ韞PTl> )qLi /ppe6)v>:䢖xQ\d}JJ*[Nc(ɗ:bdB!mA amRuJ,)NUR1.'J\v[qIkApǿuΖG`;6%8y!Ib5a,{A6.G|L5_#|z/ֹU«?ǾyA g5 5cWWӼ.Rkv5 ,H.vy@$$YT2C7o1 N{bww05w=-2P?xcཝ#P] 3(/t=p5 EM&ea>Dh?#"AD{n G9k `LhKG`}lS12أt>TY 0LA?e?;U2.KT %_=eCYS$P'ZLRt)cǝyt:˂B1<;ܛ%-ɬ!آWv.ڭm>W9m:XuP[gml|ᾇ޾n\Vy֋V3oX~ pt/AT&8Vv[DͦLX8=lB>3xrsx,*w4S:kPQ^2L\Nr7K$ _+'aH*Aa9qz(z+޷vdn4-b =c-Ef&sz^ Y<QHD7I-OjҩɷzDDxK |tZ;)GvlދD:y܉Yu\N7悃/Cҽ-Qd؋<X2\7iȆI6:1PU\~ANBBB25*$zWƻQU#sYٚ휆>'0hd1u,!I3'Kk1ZVNKGI:k8n#BaA&zA8)!2Q̓l4j $~\|  D`nWK0Bβ5.g)PvZ59HAҲ#d6e;]㠃!* V5G 7:O4(\ ?FF{klԏX*c~Jx]Lhs)V62E:˓{S٫f.4dZD:sFo8\J ~Ma.^MMl9 g."[$lyhƙI)@|γl&?|LZsa]''3\r{`@cA,p+pwg(ɉ7^K\r18>DRO 4G8K|6Qg+Gg,ߺ$y^@ar.uyzvծ׮9[ܾELcfלQy2|;$F+v9-3HJzӪZԨ_|r$t R"Q=d@J5(ǣ{Tُ]CE LMϲΗc5KSLgTJBU,`߀ye1ٯH8@q씼_M<C`F.M:U^<_ 'gj;級{C/|)(:b*ɬOMk Mu J)?tyq[SY_ݸΠvfiAȈb𸐘-D،=#x&^==>sux<*+7̈-k}XGֆ`;5rA^VkLX)Yb]lq=%ג}[uuVk.59:4N٨ܩJ HloC*~IxR@.,2R%k;&$Q"1:yw#XC~Ĵy7O*nU67t'^TKEOZi͔J7}EϏnXA͞/<RO;;j^Qk#GϿO>E 6bׄ1 39`f2'k:!939QU]vC3{U%T*J*Lн*inL5pBЛJ)9%?OGU†?k +N +o +qr@`G^ C{"¢+ɣC +Ѻ˭%j/ťV} 4j?KĈ^ڠd[ #ݔmh3CM+PeVA YimbKir9@\75{h@TJXSq c=ܵIW-ÔK-}i ܚ7ϮΏ}-nFC9i6?•kzwű>P`Z <#sNh-]&4tPjFU{uHm_j[>2Ųe1H9Y95Y# j2bleM.C*9 #b E)řS%1%ӆU}fEό$CRMI5P̞)]"Z$ѩ$emoG.v;  1]e?3Nh%=\E398pRo "#TJ9\~AG]kZL;e#aW;ݛ1pR6h!K~Ԩ eN=埫k֨Qx(D";"v`z`1L3N4l ⣳\F]CH97IqAaZ+ֱiHje2Ӆ;tb"xӿGM;Fc9%Imx|$&Q#L Ϩ(^pe2jky6VEp2 +IT­_OI:<<8vRi m }^1zvC|iC禆1"TdQpWF]d[ʅvk8V,V,ԖWX{x a#8X  H誽mEOECR/{$|Jegu\P4jS C^f[ F2ŵԊBh mD]@0_ۉ$Yj!HFxɩ4dT\CfvLS ']sa6>Cgz9$KE_a;rfP3Di{8+Ao?¤o:^.Y*Z/.DBs GUq1[O"gzPAq麪}(ܜ ֽ 2WU><rȪ/Uy0 9ф˛CDXlu/"(iDNN(گz3F&OuIi@Ydlzy5l^ ِIީ{z]ʠ]M5+0g1 Ҷ8D2IjQsS=e+ '\:zͭMR٬x>JuTkխJe+[3ȚrLTT<ԙ@JpD+QNan0^"tW.:q]!y8nWtOL ]6Sb|WAq|P`(3y>NjkoupT1)xZbm"Kuè>t&۰ S> xSUuO?J<&^N.]`)R/0=Ypp--7VKv5h_JA-iȚaao58)(x} _ܒ%Ѹ\M!b҄+87%VCg^P*yҭ 2!YB  _ j~pJ4AEwX=⢘n>HŴ<e”׌N * @ϥ=?j Iмbw|YpEt&.69-l UL`cqjhDyP,E"u!I";&?snfqYln&:+)˃b+Bv3in4I욁Gg[4UxϷVQrABj_mio4đN/?c~i9tS&oxh|7CtwW%L-Q00 }+I>#Vb909pDK< er;Z9oBq2O;L lx#HL0u/[ŁyPvDE6x^iuywC0% k-,0]IsŦ3Ѷvh|D eMQcP @şק5NwWPɮ=BlT+AHQ[SG˶ :!UA&St{">/@"%q#B7(zCler \aj -M@\Sؼ--9|.CL4Ch L1t>:TcpI3W;5JD\YhzjtDySQ3pd,P/avz 3MD.&8@PJBJi[ l5ȒvQ$fD<6h260ZbB~4p,&6?CwI$/kXt&cab^S/UÀ.#rR ސ}Yz.]oiK^Zan1HS3i);Oɥgkv6XegL>ɈO~'W}.gNpݶU~xۢttt, hnKc]Vh>q=(nL9 h-6I9{Cfqx mPxPa< $LG*!YɃB jWHb!:DkizW.jv"qTd䦗ϝ/gGP9&fr -[ү%Ql5P.IKWxI+4Җ-@i"\9v^Nd$\ǔjIL㼮/J2# ,s7|P%+Acwl[vM5|-<^SfKѿ{li\M Ln/Kws 33+ U. qy$1/E$Őes #݄<T.$&,Hɷ8x #B`)EG&p+q.VkLJgL%pAn@qݏOƓ8TJ/-O1h`B82t_L[P^ mu=m'*_:('8R1NoG"+'a>Tq3‡r 5u iPj6\Ċ#Q<L:Bȹ ^ySDnZbpa5)o8R!IbϢMNx:<- ؾz80nxKlXB=ȑ.p` X ;.LZwؓX lriR; 0N/ۏ&>񲟣arM ~ 0@օ;hH^f5.jlQnOc d :L.uǜ82>W(L$apzwl4 c |` &hзgɮ[2t&%ceĐhT=}C:ә,fNLɪ.Њ^2e OGe6oi6EHE O}qbV|^;d< y1PXW2낣NlFKwc+ y,T C)$9FRB'\Mkԛ{ *Ӌ8m 8LG myl^$d X#Xg:>#AI9xD^TƉT(_ӽr}[Gykkc^] ʕJ[|w]w}wb;1N^5fҎ  1(N\Vkj׎ۍi8*c4oYF)XxAu pE˅Τzy8.٧iLV-ddf^U"_w~8ݣt:w 8,s~x{Ҩl{Q02K!ƨAdHLJopf-z2I^ 7孠”(M>w]?xӠv] l ccHQ`bV 4p/di|$n/L.79{_+a!{~#.'aћ^^Up[<'6?}&-ʦ ODA"u;*1?j/ɨH#鿺0%T6c=?1̐i0l\DA] *"&1r') :yrK cEkU,ɅGn˖)M0NG6L"$~tWSqk<=Tg+;h>x>.@ŏ4^G>o:u+Wyk߷|pSCpPSH|K{F #ܥSa x)+*) v,xx䴱VdUA|H9ҥO-U mlpYdY?1jAk{Zilrt3U^5s'wS)e ?=0:챼ot@c6m 1" a^NTMz[BPirGS.QBC n?sLc wm8[ʕ$?r5O R0|cz-$K[^3P>""'TN'`Um,dsv Cb }<D7]DWh[اCyP ]_DUZj*sdN ?E@?ŸVs->h?z O@[BG) -~t8T!d^Q3rιCjSy`Zy^}{e q%q['ϝlfO)DQt B>Qe`]q&!5r_uv4)YKMj̾FpJ}lw;5;mXcʕ;/v_c6.?k?W7?txt̂KVx'yz:׻WvmvEͬMv0]:XF'`մBN5b3(݉oxNe,IEC0S^’L' z>xP'jPXVWqࢍ-ʹNs>{3xķ5Sܣi!4󘹁]+>^U77AOǎ *`by,V _k_ _[3+|5k\H=y ?wkȣ(q߄RW Qam~ݑ{F¬AOja!7<+Sk)9r ;r_@)P}EDׅs}amAd!Z^K MCJuIv5g FihNE._i#&j`1XtN PڅfM]5E;"nPɄ懷ou4^밁w##۷j AK%8^79U?8Z cN#O"RH>\V#^RԈxmBׄ5=l}8=7[\{p@E;qލgt-sPL<HY[Ts3װ5~ҷ_tR}ͥcǾVn  W} / }bp!D^TWuy]>%唋T)RXT^m;!7B,mXyI E{wX3 hԎU+RlxX'ጄkՙ,X4k?谲 i 9>VigieaѮ\V|z*ިGV0Z]gu{TQ*n"2[Ә!7On9Wǝ/}lvEqŭü~ GC݂yK~h?4G LNs^#pKPXM4z uta4te6 X_lIF}T{e+vP AX=pݲǼ븐v Jh >B89^nBu8=1[Z[e- +OO!?7Ŝ nm !\4E$ u8gaYYaVV|7?8:{-d#ὋbvnleɘN+3A]=gPL@gCߜ. !RQ`ݩf.Tv#cvA{? Ug2Dӆ<;>V.#F0]JJZWF poise>%Qjmo*x~i!a:q< PHH sȈɡT'u-ܟ{J&a>'ḿ %@ @)ËΤJ>xlG5)d &qHpMM~/j8bsVMnɣ%;P I*lϫRs !W#"3&ܱchAP,'ٴY*mf^%UeEU~o` YCr?%9K Bxڅܸax*@KWlÞ5j !& %A|L?+,\_xf5|yZok-uK8ZOd+{JXVO LD6& Gj@8't uq.czֈHVh:McJ5a%A8d+@4vVXϖN7WMS. PX|E-lf)`nQ%Y<ƬKLעPKo3𦄱HujBqc= C55..1O"c[OH*c -ɎFiΣW1IĠŎT*S?`RWgֳW)-3gsD9`x:S ^N7q\I"y[c23,-墰CV̺1d;炬+C@ .$-{VR Ĥ~.WK(:W<"2Ąd8a ɨjvnHP^!vxḦ́p.aB2+w;= VoQ+jlǩy+/t[GCm@E 5(kQ5#LY[?YQ `1HQPhK'1S`Yf a AːaJ~@6Ê!% sH3*bn7 *z4K{|%pip,ވJ0"6Ps&2`D;jĎG,z;YL 21i 1H茋~B0$=V]WSB hb |x$r:$;~HۊgTbG!4Cӏ,L9y7; [a@j z;UJDpqP"\ x#. )]҇|ƍ3R1A>`zL`e:аU# ♳@"&V9(˅|&Ǚ. *qJfdhK#8a7Ro}f,q 4%{U,lfG 12BhQRo=Xw6|!i)XbĎl_,t7|(/wp䬐$%fA,48I6.ӭuQ碯mt[8S]归)dQ/-^7zx =*+`ٿt5B+A@Al>>ZFً"kl8K!ǺC*` [bQ4ۗ;eZYRDB+[I JpA0ޒB?_M 6Q(n}R;m_HU8d|Ħ\pg&RIhU$G2Zc'v'zҕE'fX^\Lawmn&uUp`\lU;r  qP m*$WZ"tlոsLGy`] ) p$b1?@ߊm$[8KÈGdATëR$fp.F3L<}2ŰDlmw@cfkyc pgfAp aA~S'goi}֪&| %U\ʨ6DG85'DUv|?. 3 c~|28#d"|ĩ>2ěm5%>iN >1esc$kp%uYRiե}[EW}"0 Lz@GV&bM:nZO8_By(E> NhOhexBkC"CAuVaGh-V,!.NDN&[T3Ќ Cbz ǟk;cR"gv)kQNǸ,1,KĞ̊CL;nyc"̓=Bdj /ϖڟO]G홮&,p\GWA?ܵn PrS5k~#^  72f $?7j@qM?zBںl=r=ccp<^2RO`*znc"UwB-9! aS)6.A2Iԇց.>G3!\_=nb-t܌!xx Fw}n4w:ޜd{S^dҖ=*)L9KpJL[t,AP^H'8mTڠLi a gxh]0,}0iD1|M&QufTn+ Gk'2+fp._\F5h`yf[t>`%^Jd*6-Tܞe\L6T鿈}{`0tG |#4[B2ztjOGE1ɕnu7 ]q{Z_7A)bT0[ǝ9mhxyY?pNCxx/ļEͩFg|1M(y1vh`y)oX$Jsu&VY T_z3"H/[NGOTt>*|jѣY;h]IeC8[WZ/QPXEfY4fp8|wt%Z2dJ kyagל_BpRb| l9r \:2&Y=5&tAc=yrC2d8zÿ!t~n}KNF{(uדF{ eYry/V \n%eID[H,;'4;^5cjҹEk7#{,d;C4{ת $p/)xM!ls Uކl5]< ۰񜙐8?>l ɓ8r2=5?[hwlxVWUIh}J+<&H]3QqEwEGG#&5j`57ҬJ*vNjdP֟ZEQ*xጩz%w4yĠzf_,8L+L^-#{-{w%)aRT1Y&2[z")YKƺ W%%g/MqSo3J#gJJM0[DFnN[K9v4{_w1F_b4*Xf>W% fT@Wm3axr!iA/-ta|;`zr^% 鑧U9rnnF><)d1;O&+1ޯޞ_Xaa ś{4Ӌ1OcMȷ71=ƣ&SX,p</K( atZ8 %sW|h@8**}im;P=nD*1f`GS騇p4A "9!epCߕ W#Kŋ>lS!DjҰK;]v9z%/zX^ z7b*h$Ѹ&#`EX~Xij,ٶy^kQZd8:L6hH;܄q*0S CO{-f*O]`,KJN|{qhz:ƪ#h!lSй(-Kl2x.Vx1]8`&4 XWm:Rfx41ҩ3 [ H5g{eԍb"z7h%ia^EH=7fhNFFStܒw$Is%&i(eb۔.} Q) $)Ilx:FrE~!@aj@wJ>l 8&ŞflA+<~d)sx26oLagNE19:hW;;c3."kǁ%5ȈhtM7['z;<4CsLa{·r l1R_3*66TkM{(C {~bcKprŎ?WkX ^MoG+ppfYsI{`eE/tir׽@1EslXmM:#&h<;(1}vׄ$Cw`bT rvc 1(9@MMFP!1>95gly.9 ZY/1eMo;*90R̴uuW(7,m@quZ*$-bp>%N 㯙+!0{ s)Ԉ 5 `8=;hbh:w;^LT:4MpaVК ,5Y|}`c;  .'f"`*Yq?EIrͶrT~Y8l?`\dt_Cx޿|)U.3AdxPܪ=1jobKKk7tgJ3,Ȝh ;V>qVckEڨРt;Etҥ>9| .sITgp[ӲǚbFV RQZwJ"vwq[u3ܸJ|߼)/*I8Uc4jE86v1'>mc-(&G",R^zd.:AܔOauoG(1ĉ%*rIa"צi'TxJZ$THg>Q߻1,ijlv: !w ۮQ83yvv&h?iv @qj]l/a # ~^bH{K$8&cl cL2k04:!L-f0He|E3sv%pC1>Tt?ib}{DImf曡sXgLÍ9`` m0vMv}y)-+>6C-Dg:YgZ]"7cqIyCKWGZ+sfno|_h/U g3WUmh]Q0ջZCY^0aM-g|uGT9T'yI*4C^~għda4Y6Oݹk/U'㿬.tx'%4{sLRD!n.➻lZᄓ|ƜLi |ǏjcSh 17!rK5/>is/"+rQhf,D>&^ o/u4ںXd;iz)FķrB@?uCE틧9QD{3}=ļqIs:i^a4(0#)2n4R/κBf4|݇e;^͊eŠ 1x'yJww^-h[2ODZ:ʄF=Ygm^. QtYk[h5u`OƋx=xrzjg+ETT, wBQ3g|?F6zXYV`)0r5.͕)K3".3sFj~#Nn۸Ӳh;͋aԦ-='aѤ67k[4G.ᷣd2OX`]Zn#T0a4ڛ|Iݏ7ߘz^B:3ts40K0nѺۉj}I jgTo7\-s}Ŗ%.шm=-lH% WY6\{;[~ 1Yt8i~zQ.ΏۯǍӃz:G&!\7g'Ӄ@V*wMg&m#|<> #jʼD?v:+}&N#5E 5 d(:.DƟMG RfӪr&}8wbj|My|4Jh|/jlwj{%1_Ty %>6z^|۶=E8ܠŷmܙ=pڇzz#_|۶lv9[<5ޔ<Uo>[m?S}U0jLzt+ 7НL1}EQT z~ |UՒGzG7ƋowLudږț:w5TH@Geߘ/(C'?o/(ܷ_k92 LNaL_W KOŠ7)Z't7 tOM&Jبd'n.>|Sx o7-H79I\=B䑹 W^bj~)PZ? FvhכǬzUl8>}4;E'Zwh-eLc4g~%/y#j_!L #Fzg ~\?<ǥ tݹlO3uN(=ʟYE/H±=F<7W;مeDLX=! H-ye,K+,!]BkRi$fxCam2e}SnIĴ! u5Jd{sڨ֔z98>nFXYa5h/yx_Ԩ:+Z=d蟧r^M&_rt񓳊@@`*r :N9|\ނlg82پ=-xOK-șǣ'iB_"0'tJppY3jq!!hOf3dR}r0cavBKFIKyxF|FZ+Տh3O}$E_!jFGj{ >65j.ʆ4;_QQvEo)|yP^[2C5  Y(~ȉZ>BZ^AC.Аih, g^RUZm R pxu EΏ[l{vh5NQ,;.yMN)I<$,y t~J6팙]ٳ!ӾapNŨI87[Kjo8͸!\v>:k`ίej`42P~c2kր!ƴ4)3y갑i-栙b䴱9L3I/Y!l;j@aAd6 u=Hilk<&|z03/X_HAэ@,_v&׫/IgJv$s&㗣!XjVK&ɂ궃)v.Wi5AKo&drSCM#j]z±d6[Zv*JA &'xR`xbRYۏ A<$FP;1"xX)%>4?.!pvD B: EOIe()v}aҤ;"H:qHJ5 ȣd w#V:YYkxau4 Nm{ap뉲m:Q=%Ny2D'gh>'SNb`xs^h2W&Sòv|k 6O?~G,պgm9sBnq(G U4&JPkhru;Dՙ0ڟ;@\uJ\6'8ni*OWσ{ ?P* .ц x.Frǟto iRV4!;\f+Rk{9:=e']-ZY{%x{5#eŵ@pX)K{u=L"`M{xXM^H׬hRzLϱf>K '<1 Gr;m;c4>l+7l ;n/TG+'=&?BdyBSe i.ildpLp&We1`OcQb@\c`?H1? s9OPv{XBו~>9*Gq"&`81Sxpd oT CS*([ jO<ֹXZ⌵H 5DM|K GԨJ,*X& fZTjeT) ]W/qWL\'9+6Tv >F!^1,usR~j0Cj9b 3P! Uu2H(CN"*e -*e8_.o;Yآ<;䆃2vƟQ8fjmB=\wnK%kLe!Ŋb}eL4y7^o SWM` ؗwffN#> a.3Vve=r'dJ`,NEgs BiH *e;x]}1)X(I'4Xp/6i=~<;m4O[i4cER#̊<;:{~UkZ_Z ܴe>d/ rҁ|'QMQ&ty6cBڲoҼ212# IJ_kQDžu"AM KNZJsI9%%F*$,NwM(R?`odC* :k+J%`$rˌ5֐8 c<Xx{bY- >|z^դă*S\؟DAnf ;$4cIل5:appr|(=m1ׅ̄.W3̬ɠ!JcgҌ1S%ד` v%BQꤽm)b s*k]Mv[ė@r„k#Ju &2hyzS!0Rnߝyk\"sסp/6֞P/|= d]sNqXzmӢBf 蔴{α&ۉ2|ꐜyf9tVzX26eb=PA¡ : l"'j\dRɯO:_Qك}"z$ ?:i~T3!D(yÌj+!qgP{7Z@7ɀiBG W[tjY- ۥIj%L%lbhꦡ=3۔RTAxGgxKZ* 5`>zo ˦D~[bpn؈vhkĉb~[7u< o,kmZk"r㾙Ƭ*"%: ߜ)]_OZ!Es͕ͦhyj?] Z=7?s;\Nl '!rg瀩BqWs 7vɹݓK"^a +،{= wq6vbZZ}[$`,ёFl*eR6Cw}~q \C箳 Vm=g%PMxAFx>0!NcLe|Uh"!S Vjg0@{b$~^1B4 1 *ئR :=t@&+Փ>I"^LKB:z0܇hM4b jF8.>df4rFOx{OF8kxtAw(;M6\ c\ΰh,k l~Z>|㶑o6fq7nm3߸m|㶙oܶVq7n[m+߸m|㶕oܶvq7nm;߸m|㶝oܞgYq{oܞgYqԙgZ>}O'kZ>}oj[-|{o7^oͷW۫|*߸7n|V7n|V7n|V7n|V7n{m/߸eJٲq/!6/([l;X-X=Xq7nm?߸[ޗYuJy g쫢qSdη*pUJEM}1npU(*pUCJH0>n)=vK><ٛ baߵ@W LzQk}fCL|%N}5-ZOJ30 "㚠:5`/fvCْe[%V0^ИMnEņ*"PT$+lz3ˁ!_5a0M] f}?0>F_F(?0ūkv=l( 0sfk6-"¤Ϧrl:;U-tw#.PF=&bvrǕykaPٺM?ex| TKm`Wwm嘧3`, 0su~pRYn}ӂQOV۶)Ow,7Pyߒ~>_: yaJQ1P/mόW9 ;7Jll F*LEP-5 Fb{f R&hnU悱}_g0_nv=WzOe~0pT`1]o6e35^ل*%/|0;y[0g qHzjQW ԗ۟6!Q\=6$Zα0sן&G|\0鶍9aW&t㳞cL& 6Sφs{'f-~`$ _~gs+ *f 7` H_aI&}{g.^&<}|r,ۊc|Y9#BcKN~'8LE4gX0iagXO?kt3@f3[1OMۖʨ:Ldž̡e;;oy}~%m r=`cG5׽ jObDq)\$?r20PFWYzRo?H )0_ mXYknQ͒~a6UFxL2zѿXl~ 2U2qþX܁ԁl]_:Q0QSeb9!Ά3d162y c]l ;@22 &pc- ԓߟ_VZKeJϑ:.I?̳76wTp;q/fҺlmK>ߩ p:$L&-C_se7~/^gGގB~Aۭfiu'>,1 ~ִ:q~NiĻkexW|V٨CHhmٌ:&k%ډ0Q۲lZ ^Ǹ0R_tIZ]X;kj갻n~MSI|uuiy u̕J~bqx쨝::P'yv3:|m|:uu6$28e捘ElgZu1hG \L?c"6׭3 1l/`;/^\Foqnԯ;^rsT_~}Auԯ?bJ P|M\+YF; Oߩsp|Ap|:%:n:7^:MMA{Ypuf`Imڸ_uY?֎ Zg>Z/0K2MYN4K3maɶS:R;_||0s; 8*)+w8n^'Ff:_Ɋj\q:b#nۂF/c|vfԙg|: Z"v9ljϬ@:iuh-Iivo]6'g3FxL\ ; :`;)X"-Q߃c_|4[ۧ;M;n ]; )-Nogѭ\J\'֢M=.n?]}p[N?6_1|:s`~/Q'u.-T{1+7G9p8';;؋VR7 3Z5T9/KR;H:N u #j Pu\򡙡 d 6.S+:ki(_n˪|d4cC@rSD˃p6p6ɗkz0~F N70LɃە2hR< ^J^ Z4\ra/Aⰴ x)Iq(N獢n8.#b2Ih@X4xb^(/h/qZoomr̖cX/1p4eMFܶZn (`)2ǀƔWY)Iy^>TAS{fQ tLҡV4坝TkUT2i[qJ%.\*icťRXlBr tJ qYfgJi-#[#bsjk97S G+tZp RZ40(u0E)\WM}SNRzH<=iしj AIP}TQ[9TF Hxȩ"`M֭oe4) 823[Z+N,Qʂ%z#c^5?[P2eкOʟ)7 |6Cm㕵gML~>}9S,mKd&8hmOȶA\wtikR}GӛvNrIת7"vs=C]o͌pGg &$;[t;} -3iˮf@( vt=c Ԍdnce ,KIY붐[=M8J6 np[1i8TTC5v'lW sRp(XQ n+͂jT<냳!sX׹d;DNP7vh*nϿzՀ!f'C8{;XdP ;.r?h'CDF4:<%N*3]IdၾإTU4b}lAdqˡ&dobV>2& OBڇ% ,`6ח: .ɧl#g.!i[2R8 [V֨u镮r0kUY҃kF emc`130iSv!)N)m 5*sQRMlVǖZn ^pn{ig&HyQ~G/O5CUJ{q!R1j* +U5-mKZ(KٖQdy7zItN^g҅ƽ%reyï7~+?UoY;d3%YƯ ~:~m&~m6~,P5eW _>Wǯ%&=Ztݱ|4#' ơ${xw(po#?Mv`߅ga8Xz5-;aEd=ghBmu .Wߩ!mC7NժsYhuAA.e{(d#(R~}CEXљ5j*;ze`]Aͳi, EUF;4~WPW\a?(W]y nzԪZ&6 Ç+0 >rF=NyEu~QJa|Fi:Q{qrnWאb7 'Aw쇁s: a^UFC~vYbGP\#|u5K ?Wr4iTPՕyTe==%L-~.%g +7t)1E@5E1Zp .sm^b J4mg2o_Ll~j_yts5C |KQd2kkpygk~׍H?asRP猋g8E@87߷?((NI" TU'[?V`ߍ&`xwpUɩl?gfOӻch6Ϗ@"9[Ho81KHx>\S&N,)x_jg- ȳk\;oŴt_R)҅l^eݫQNcCW&~ ^5)/)HXp0O~J@E[zpxxq^q}4 Gͅ7"k=؋"c|:nW:IVKa&~l0>ҩ[ld>I ^ $";[N9(Vb-5Up9s坷o(σB.J*rp>Yz$Iwu䰒|%_G.ć 2 xkկwuˀzz/gN ,Yq)Y]\PϊӺWC:]P?prjqA1? Ṕb8 dyX/ ^p4zp܋ލ\XqFު":&yp [  65vEkm #ogR͝ U9ܳXY,SF(usjijk}UQ cxYiED MT镥.R5S@1WS ʩQ1c|.Cmn/Y-0??8BʟhI|#;}Vi^8W]qV`łsndvɺTvcߟQI N9)|~\% HAv*ARs4-^րb,nRefk&~ Ip cT$YuuU9@}vAlB|8Jlb}3T!שHb@[]eVkilq* gQ=kh2CIQDnet9M:6I.65]kY4j"ȗWEմNoOokXg׼@d뼖n'Ýauz[w4N.~+yBڳ;J~ܚFEl_LLv(UE5]Ňܱ+ro07 d:f^0~*IV,2!2u,3K7)˥iLM+@kq* cvaq~QPʹv <~ Ľfam{ܱ㰨c{i6E򇬠Wo'4aB' ;rbZTa[[죌T\ $F!6Ey0Dɏ eC*kj.s6tu+Z#Lb7ù`L@(ힳiCJY1mch0H'eLK]0FN6Is 2͸_o8GEA]Ͱ{*0W8f)i(9ɡ17)!o@z/?k:u_z4m`?ͭM\,at}kmm7f)+k㔞3ArKiʁlȄ:&X9+EV7Nm!ꍳ K3aT"?u 7Űߏgap8sԨ՛tR"?z7S^-~VVKe%R0AtQ`c]4aV(?uN'XяBpВâr~y'΍P>nûzC4-wQBB0ʪ3^](B჈0 j<yn!._!^NaJ1_`HXj-ZvptBprv~UퟝC<(8zÑG{Uyj{KD$8Egs.CPQUW0X{_D@J2'P@-} F$ɫt5Q3C[!cw^hnޭ7M1,fX UZ%khvNA]P3c jyBP0PS 3FCA w8E7iu|SS`q DP87ϝ^Ar*1 6`.8 #`-(1 LNQ fco֏ZY#H{wܥ#I>h`rX!9y4$ zHbr$5%)(i@Sl(IJ&`jzH!\Ȱ:³e [7lg!!XG4i aV1 `tVRR Opv!Mrd!IzyTPVzV߇iHN#O;(} [D燡.*: PKƄ[\^o7&psK/giCH& )@"4 ضyC8Ie,XuaHvgAR?lGyfO*D yQwAdAZ3KW4b܉$!vCA՟<\yclvq5t0j"g)_+ rF0S{G'} ;lIui ɷ~L`v]VŏqojY8M>r+|*)^v٩ '.X׊0e2q+N&wx)imK.D*qODr&p+SMĶ_&>z/B#7 V詨L '#bOЊ8H YzXn`Zk@; a֠8,֗J>9t#EqW ^B,Dzӳa#J 0wE!ہ .C [Q*=D B*(|fn9ڧb)8l˼(˱ӷoNXzf;(m,œ$ ^Vc<*$B:Ovu{w'A^OjTaAaҤg+yáLny :| ]ȗ!Xh2/t{P zLF{Vڝfjo JSPk0W@\3Y::^j7Gu[5AV +N%ІRyN5FճdMPY;:iEЖRvrhb! ޞ:գA}??'Nr6&f)=RiAVϪReGRߟUO?EԺFf1>{xU\츚TBJӳƏvsުTNW,ևy>'MYR1bP1āhk@%,ZKE@, :eJPg$ڴ͞D^&gEV0S";Eo'/Ek޺@*+qV;9lΑ#9#AI<xn۷?r~@>A1|:TN?TY|Lٵ:}2U^))@!k OY^bo 1D88Eimႌ3/VIB"nqv,e>/&H+IAԠqg~03/8y3e)HfV+xo e}(q=g2t\|z P v8.CCî7 Dĝܹ$(G]=.)b 0d@ZU8`tWp1$ 1%iި;oܦ~MiySk0w[\ڪUTy:BnHL :GdV kB K;Z#9}֛-I ޺iϰD2]ҋtPm)J+gM ?9Fm:ɮ7!H|0zѮgg|1Aކ~ἐwWE.xlLBtQ2qz֐8?lFd $ CKF!zBКo͋Gk)GRi@~#(`rU +L @{w0qRcnf.L ] ![a)x &t}A9"#BA4g nзicjYÑjJ| )U|l"&*6tf.,F0t69)VgS16 i(Cdcʭ|*N|rb[mvuV=m_S4 4RbƝJԟ`6NZ`K&s,u[H$g'l6RvBmDyÑW!sMNY{eo1׀%HcR;U+GP'i}Tov%,vI{A3D8.K3Lš<%;D;QXF1>m0Ċ0Ru9:)b٬V66xPǎ#[X4WNd3OS !wpzE@BcCV!UV8~jhE)a}VАjS^ԼF33aSo| ND^[CFݢwV8pmU?=iөl[XFP~# '<}KÆ)zCt%)t<$s(Zְ0uqGǂIa΍pbK''E2[ŏ+ /^J'gD i[HܦyG cS$)_ҋR@` %/*EY 0l㿒( ~<h_sxBtѓ75I1di8 ,}S1>*aS!Omb`(,T2`X8='bY6y"'B^ COI_sZZ(8b Kt7VJ8ŏ7k;rVX}^p=c#8SyU\65BHϵ}a3kB%rQB蔶8ōfRљܠNGt[D,ZEB~e |dԣ#P8˩<(Qg~0CP@gUy/yW:fA< A8Qۤ iд s|08TyKa"96d"Am (|=uyVBaeZZzY]sM[ac",d7fCɫWBk%>Rq8D_/rr8xeBLu&^d@z2v>Ψ:N<K x笕yp.=R'ɡS켮-Ϳ?. Y}7mjfs_.^">n,Fw(J}?OUR͓+p%N9s~jI\IYOK8;9o^7ՏKiRKO&_ZQr3YLB=sj/=R5.(]}Uom~ h#ƉKUW@Vɕ[(&QQ/N+IvONE@q f :mV6r#Ww8/WŐ'"=4XYQ w (WM߿!۴Λ '-YR#djrDyfE'3X(;Ggs}9 "y= 0EBp0sHO@%K%"7 v4ZeW7O`zD懼;8 ':BEၫ#ϸ%d2;}%>\͜޺y**K-Z\"`.f3P,=Ot_٩*:RI >_eFsh]iTKD Ε/ Z`'>(d=Z=7! GptWޙ+4Ub(.wOpM#!B '!cn܇XQxԜzZEP q_5+VF(|F=}ocOTS')/߁8'ѭ]:XM[D(5ʊw8ݴGErZO!v1$ h/JLҤORՓ"05ƑEdT&Cip:n4 ).٩_YChdIh h2ƃtⱺSt8!DS7I؄Lx¢|\RÍdj( L)’b5>V aVsX=juy}I<27s@*1ϐ~cD D`Yp^=o,7KJ[SsR_ ]vEp+eЋDq]Z3>z-ODJO,4q7KB"d0"a\W)mz_L ޣ7!~4 PcGlFoZov*<)Qȭ)MatZ1)1;@/BwbXRBЈ" Jqp=OGt~d":o2Nhp{$ mȣ-.$ʸ~9УaWXl*h`0(Q>0:aSy,РaxUyۚJ*%[P}P-q>Kc?{n,כKQ*t VP-%ϮDLd O% `| rY=rVq:=s1R.}*8+Ѯ|%\@.rS{]ի(@Ե&THt9FH$:AΛi_kvZD&Z.X4Cr0duHX7de%OU O>O@Rj",,w^ `UsK? G$MAPo㋟DTac05Ig g'N:եRG9B/w~/kٞG:nXكv)H hWS;,Gen o)H?kXMC{%B2/-BxGc(V/1 9z_|x9 DՐo/=e6-]w/@\alvY1f֍ !&/W/~T&@v@DiBW\BiFL]»5p3n㩓1m. >]G?X'Grny󺸂2oI"Ϡ 5=3 ϐY$,vq*`H:J' OHܐKV!#zJi}AaJ(וux>==:w`M9V \ԭNDq9#u`3qo@Ozm 7_w(HzL1jy~q*&Rp6j m5x1e%~)A-UQK*_멋U0+TL1$HǢi]FU}`}:{ x9Oj+s-]X=:"_pvyd#u:w:9+?{ؙ)oov61672JQr\: 3&*&#O}{ 2;p*+= H4^vjy]Mc(ȓY!yAO{Z|at}L87,EK*̪3\I8tѻ=}mI^颁BylW9Jۆcvܠ/1$&(7k)=|O????_{yyyOQ~ eٲmEջݚvkjU?k0Bp$e1u7-%:QӁ?0XIz:IsV>rL2l";,39`J7#"vY-Xn0Vnj݈Y#Jf)e<.<9Q<4e4>h䙜@3G  N<@i'`?b|%,dVOѽl0F η?);obmC!6?va=F_'/"M[ vdKX@X]o!7\L./i&voB\=.q鎀(@auIܺ!L3[nuwO'1orpʑ⟕ͦ5p-MˊD q?D4>B9ߏ͇|^fu?q]A$N%e#a*G",j8KwT sݴ08O{R[L8VDfDcZw))n8wvy<=kRP:䜎4υ7y\U54w|^+];9oyq4uJ/~8nx >{@˱_z&C[#v굓:n ?I_fIq=̹VBM:*Ӝ0{1,x_;/ # O@f~z92kLc)e\E& ;,RAۛ*Ă3bz@Ix4eh&O£H5g}' ϑS:5Mo~rLn1UE9ډ~/TM?zVh5?}h?`0$oF|}G6Kiq{8T?J>i>Mpu!#pG~zƹGoq췄t FE(4"%b p-}IUy3q~-J^HTl7~ڽg{ ;Bg3;OJ:t'aL"o1 xMz]tizwMNIO4ұv Hd$~cwX,f 4G%chPԒan"(Tm)fBG?_@#fW?Ǭxj&Ks")V # BtWX7vSBQ(eV±=f@>,~c҇,=yqȟi>tbc8_D֩$R8@<" $au}{ ٽ)M NO \ bYrg\3LŊ3i >TZY>F;)A%C.ޜzcS>#8W$3#AW*qt sc ޿뭊Mb8,I#WWldZaqm=#ċl -\r'φ'$&dSjBI_p]3Y | nY$*|d#!]MN(2LIi{)g]/1Pѭ+$v%FޤeҞJΪ`eGG-o'x8wUˬ UjxGXa=:ԣ`oCe"7'MA ؂F3hAO$>M6$ ;95.|BIJRB U:OA'##&So8N:?Mů tbM褞tOF(HL(lkvJퟜի7IBTk|L,J:WiœъK4YjM^&{__p4=ھnFROFJA!#ϦBnT]Xꔅp>P-Zzi<mՌ;+} L@k-ޮEֆ-USnb' &fsP\G"qnwgocM A;@@jCGfHva$Z%o0هD q֡p̳'5S@ȋ!){~;ĉV)lo9yf/ 4&LHTuI͡Q6-S`U8󧢋"xj=^u70 {PUPP"Xmڎ6`3FI's)sOgEK8Ǟ(йqG׋z ҬmW&/SөgN>,J撐䙣)/]Mf1] ƫL2w֛q܋=n/ Oq KTNjvS9H u3cuS6%Tᦔ'Iػ G9(ٜ$$8تt*-Um3a1m/n0c| (z."6G)ޘ҈d#G} Ei)54ݨ*wHbG ЅhndFAޘmۥN_3HU1l+AN 隊IYP_'+t6}nC]]z @lăi@lTܨNa`^ &(A:n_@dn;PuÁ'uYaZ7jgGC+o<'ZnКL֎@X7`9n4Y+FF,샜!y3át3mR^iμK5xAmчȹqM͓IT!wϒѨ-$o~Ư Y 0{tȽ ȊA S!OSuS1=@hr/;OQk}Օ@EK SdT$%ze\l6 S_+Q$oފZ/^cV+4̴5S<%~rZ9DP`hmf+_m}T1&SO R+] 2^&E]\#gM sj8܈& o S2ctn(P qn)r~Q1;tQ2J7ޑ'Pp2a 8dԜ`[b''(0Hv=?˨$~xRȓ ~+vf zKs (&M(gxKq1d)pgEȨy%3AY:TGvJw+<5s c`H磓O-(Kԛԃ9ʚR@\8*󦼎/=+\. M v\'^r,?ޟ7D^4AFfcư{ǣ0dNJvOM7z)wƙߟrkY.SsyέQOcgm;޺?,=9?s~1ߘe^>{߷N)e3ڠ( e .;#ύk'GH"ɤI<1w5ic=tLn4r+ƕ3tk'SJEzCP|$.Η@+x퍻yZA rHuxU/FލG'iAܺ#?D8G!Q}(ةȑ \¢ bgKe8Խ՘xe^1'W^':Ѕyc?&y~*0B0>Be s@ɖY R,N)/?:^B8+ xt<,3 (Ac0! ?n3Ԑas5Gx\N|~Bkp{*Ȼ&^z[v#?y,^E7iP4E~.EUuQ5M%_n?H)o{tdBSY;c>p;pJ~ yfxoߪR!fA4南7h Ìv$.{`Y^Kg=ɍ';qCAyE'x[^AA,yWH+Z0πD Ԯ `'*lV(9I^ěrS\]C0+` )^#ΎeJC޵YJkx ѫ~_ɓE?RpE 6tt|rh"s;N#~TtEc<1ewv_#wZވ}o `/0 ٹ2=qڌg7@Zb1'PigJz͙i63$ "5dxj=(. @X0wSۋCxSoC{I& $OڸDe pW%S|jla+{ͼ^78Ьh0=ro)E/w~Ew2{EF|@R=n/tƿ? X?k5N+_luKŢ#vwL[m;3Sٵ>apT'd"~|厍P~b;Ϳrɧ]%r`8o<;/ֻϟO3xgMןj5q\{N}T'0 N_BN䬭^ ؕv-[:/g3_'.v /vO;`<$Z dK3]v'14w돆d dqGQ!0CKA~ԫo{CKkeyVY5曇"m-΍_#'Hy3.%ܰgpL>xAKe^P,e6aVs7 H'' -v{rH”ԳH)pVa8BC\ _+* J߿.7oaFjs+yz0`Ro@P:=.cw[Q0Fx#[^8DἩ׉kԍ,$!%:ӜV|x&t&`7<جނg;%?ir~D 9Qa q8g$lj 822׀ Q4F :4d4=N&s*PZy2:tVCQ{3ACީybBl#cܪ&zw>Ru@{\7iVb`:?k I^zSZ`S,H 0oO̳t %j l,KwT H{`r2[WKˈ욃a ;&]ay3[J]ml mLר^3r=j:d1{~ClWF1Cm qXxR?zYWW+' *VUSGcʹXwb2h8Hg'f,G-WXM^nD6U!TDhF;O(wPSe +J0e /ۋ/?Kfr {]V \RQѵ$N\dy`*]fp%KogZYn "r"ce)WEŅ\x[c з42;)0mN%Ŀ͊} v,a #NN;qLp=:WNG?ONg&8G-0Sm"fu +#]3C %]bS{li izaxdQ*}4ơ |C>kk-nE %,l-;]uȕ=EnU3DrrDtahVrwԇɑO'L؆=LۑaehсE#Y9RA䧌h맘ָ?ygǏD4- 9|y{Y \D?t4u߱?꟠GARA!_yM& Ydao~W#0e!m8+ǹAZFF"{ŸoE)֜v@O5.J{J3=@I?B3Lxw(>ݟf^ΪIٱT+38(LI?.3icG;p,r#{94#xF֓߂/p5OJY.߂q1J޾$%MUvח1_n|wEs-c9}ݴS݇b4<QhOzP_ٔkY33q_  %t^}.۱1pg%8u8մ#p ;T`. [0RoC6_nzڋ7gGĎpS@:E*RHH^@I~ey3=p;ٟ⣦r%ԓGq+bZPK >9 )@ح/,ɛE8zv\-ml)X C)Nʩyt<=|I9(u\=D?l;!+?80ccx4žd8mku9'Zt6b3<ϛm>ʞe-ԋB)v"%*;;]cAڙ1=n.W0t~@ PL LUQX?|1:r|%JVMQQ)y97ZP6"0k*| Ep0,Qv_D5?)wsȂ) ѝ ˵DΝ?uQ!U!-%~BvЙU:fy_-oSb 7icV7Uż>1?Bn2 {;KZQGWm;}W%cD}E$7YSF%ms5qbV`W:DNpki;01ǺbUԺd Evk&MlOf싶Y [oZwbdU:[LHZM G|Gv"CRY()۫6ݒ qܟr5q̖0 [ Q'Ⱥ"NZ^sFQA{ h68otHy|p7:U|qh7~?y$'oTLn$ƚ(?,Cdȡ]4[l14:' ÂF(҅6Fg+γ&nEܷ*=n ky3pwbSXY-i^lmu\7-]^# VV+;, `Vx~$PLjGY;Ȁ?2hq:QsOB Ϧ"mlJH% i1 .ybL1:z\ళ;O) 9rb 6AX-J ʈw]Q"3ԚG,!)N}H>~BE(5Ex9n׹s)Z$M_Iv ῁ Uqy>jZ2e pSCBAd,A]; .Yh3rá !)anYq4^hbBv**ͦ q4>]6V$MjU*Ff'(Fg5W/X0I] ED]Y8k`0܋Hi]UmReJCcg [L~Tɑ0u#@&MԤx۔LAv! A,&e1{9B^zjL[ǭjO!)f(bL%/eF1 >IjA᳞HSdI۬]39GCN@eAv=Di N(_O6x݃NQF^P VխyWshjQ$*Q䔜J8t7R)+S'5n\%_xbOY' 4E6Tetvӱ>$)S( EJ>|lYU3">6-Z쭮@vMQ|EH6%f*qrH*zqD_)|_!{a|jIwD!lR&PKuSlkWz`iOTZ}-( tAż&l'[}NwKCYs)s0oW8=rHhw>^ U^Fg4R,=|f͕31dşpժrxp /0 65i =Lk̑U>K ){jǼ?ͮ797޷l KUyӢv|Nd\P/Ĭ q*P_QN2S,8!sO'U7vR(eYgj>Vh NbPbGl*V@do! 4 vI70SW~bL?ݨVAF'W{?QP(~Mf#t+-\Н{wGu?ZӐEޗ%k\ HQ^۝Ppe<=VS 1E #t"&0CA3 ӡZOtGJQ@ /~:c},+|CbǪbg\G>A b&¿̬:/18=s V' 2w3 N?hWjE=Vw"|[v+ڞ7[9s<HZScn oC,o (k{zv{ jÏ'R<62G Un .CvZDoV@䴀0{oCS?Ag"8L#Qlɥ 0?;ݓh{U#dm 0A Jj6v5̦pSdhO!贴Ly6~Z,a[z4$J/+0ڨؔ€_I3eFiCw,mV?BٗNA<<^rOCC3Ob6`PLv}R~͝[~sY2+%rHrPKo$*0ddIdȊl+]#[Rd:ncy>+Mu֖IBh"R$ʝ>Se(;z$ܿDrvQ;y>8<𓷠%9wNN@"T~i|ZӋo2ô5{jO;~LΌO5(e!R _$j9 j:H'f&cK^ٴG[5W͹Gl/iH;& `'l?.=Dwѣ>PEG nGR>qe<)G{7^`VCDYd'_O2/t*^x4&fC/Ɠ'g≀dD͞ϑ5'%hb,<7q/N%'YHp:[vLZ<^ /)ӁcBCT\2UGQ8Ri i$!9l!ح ɂ\0w7ydKVJ#m C/}2҈-W+Bq:[c)5备oR,o,w] f!ZQxw+zH Š1YglÊ3DzfRcN>-=# K;OJVFLðX{߲:T'NX*ƚ袢IkyWZ]-‘cohH DJ$/ E3As59*B8Xc_rڡ_Lpƪ?w||x;#ld Ě{]ig49XSJ]( iUo ;M+v!4| 707vr 1AKKq_@Uԭ5wק2 f4i,:{(Bd!Zjtu%hC )IS/+.{bnE6%A?عdT7Jx&wN.zSh)[\WKNWc-So'_tldN#܇\,Sap T =jTXAk&7|_߀kuU}RO%W{/^ߪFPBQqZ<{;URRrc0] '0/h^ F~tЯ;[iL2KWE^E}_sT>|R 1\`T?ήnniogHf?{r]l a݃DR_đxonXqT_{'?QMZ-<=J]] )UΨTP Iar5*QIx~XuP=yJzٓ@4C/XY[Z+h,Й!˚0:]UPo]^Sa_ތ- ?fa?B 8Y4 yD#3az'q=K4.5}i>i ?|<=ޟCkѪu+H-OtT{'NqUݨ&uK**;OJ:L+^<>wJd@ SN_22#1Y ߖ\Ry5!ٲ*i^̲ʞU-"-bo7ćBpp l8&P`NK-ZIYz'1T- "lӟWd܂?bs@$`ـsdgdރ[ˏîk K+ ]tSnmIHڀLTcNPCYc >CUGbG !BtTb #,XC)̆Ԓ0ɩ\x٨B۷b6q&9zB^ h3Ed(zR}!E2K!y'!>D;GjKv}(,3y |N)  ;34~2[:P!w!Hޙnp6t%N#N@f`;(JO#z6" EySLzԑ;݀OWI2=t1rE"cJYG<I_d4% wt=-wZ@o1[L/Uv778Sl  uI2'ߵ.ۭZkIKF=F+jwEl,wa|e,*wv $Y_(RX[2(+kFT< LԕP?ZQ9.P]B<*/y`Yi œ]\- J (ȟ'5."DƅAF̈́熫'hBLXǡ> :v(RQ3nDNÁ}Ԕ@n_g:z$:\)A(aەvjvfeײ%8x2?ެWmȩMj4:^'l(-͐A`st\v d8jvʠ@!.#v'e+pU4!; mumugp> oB~ϬWgD`%v̦DP}(M5 =H}~T/EDgn?ǘ1P! HaDۆ)}/ E˘#l* =m=:n麨oʿF.Z2I S|w"h}_Ğ@A7CLVy<(`PqԵjř5>fP :k"7Ta\H9]Ls.'E OGWG,㽃&%\O(^@g\G&C㿈bq {[&A4Wlj,ʪ yF;r آ6l^6 v =X~4+w 9O[J7*Ǻd휙TY8jdyQfL0g$@WG7 > bHc+GLʛ,g[/8+&_jC,ţGy2j\V ۨɉ-{PK3pF4ƋAwG[ Oҵl86_KLxO,jt7nd@!cU6|Cw m@Hh 3V U }э.& RK_Te@Uma"&I U"t|AְWBRro_2e Io2p)+8 Y%?["}JbdjJQTN#ȨTN- ?T-8a5fab&S&g=Mxiu)L# *]L"iHƷxܤD5pޏdwIr8ibMk+vC^M"iĜXdJTY9{f6QK!:s ~>KWE_mj܊5q}I^ r+*§L2P?AwðEN2MB.7 Oﮁ3VP=Z Y3dϺ(59:a'!ꈱeQ$4RD#ЗHbGH]׊NaI]Hh:o&f!@ڌIu9;ɠ[W8~pH\* ̊ģDPPut)YzL%Za^dHxQj&wcHpBbl*iiJ uRx¥H|0ffyrvn@+#dQnp3O0WK&WwVuܛ&Q ٻyz_VMvoJZTD8KK 3Mf6T 34P McRxjx=3ʒ?x_~qkB:Si @z:%:~ݹ@ܣ\"uPoۛhF\ F W8q^V x&OZ U# Ae:);!i:{zL *;㽃m*<Qs< 8"ߓb. .|<5]8Mm {48CU-BdE6'f7 vvVb[]Y=Z=%Jfyo ȓUˤ_J Bw.\#PEH c~uzZ?0(6@[?byt[!U~>ə{w; m7{'{.6t5UHvM*41=ѽi r\Y{&MJ!h"-mWi%H{䔚_IK"ts0BUtb|\ׁ 5'l8*P/% zCK}~_j'̇.PK~ O΍F%uto9;[-tĒP ؂'.* j~O\S -/Hu/A,8 @%ն]+ZՆ]j)@g&00;y0F D#0!Q pI? 9ֽ/"H3Y>iY9-Fg)Uҡp2ģٲY2y$2Dx/Y1(P]ZˆM ԋ䬂|Mtd u!_TX>K2Ra*A;SR"(}NctEk_H{5Δ;_`tj[JDt'0=]#\4W" IZAK@s9J+Rtn={ļ7؇`CpJ,lTLӸLo0XLXk6 cV3»B@N; Ї8lrz!1IĸeDΛ7G"t{R/ QiK>%5VzMdD a"ZqU{vz='+c5ŬL.:2±,W%Ukg)vx.9eJDB ݆CZ~=k`F.y UR!`ɥkeLdh @l;PyaUD\ၠS'k_L6/33(;1/"CB 2&Ą0/"t:#twዷgοEg$6 ]DN̺e5U#ߖ{D>tU]d%_1-`o4ύ1m.ʄ+ݮ*%hsRܐxml;M;DYbQΐCH&چ>&<`3 Y#-NOe@*Hձ.uexa2k9;;y&agJJWl($1'-lD]̦m)Øt8toTɟC>'GRI'Yr>`b)Ug*{o;r`R[텙LE3;)/s,Q[>?KY?ȷX-Ĭa5P|B`F Yc@GԱ&ԙ.qJ;O\V\nN+ z,7c*z8j؋`}T^V@R.5x3 .㒡1glڥg! ,C&rQEdU,UoaL-'||g91Xp٨?>oo.Հ,n+ׂo(Kvx}w[ݜuYSc_Ӿ:x0EpiJ'`qk*J2ź+,ZGms6  M׋3iOGt` )?vYM`O;hA@srcOF| tT>6 Bl(ڟ]P*9Dd+\':p5$lru!-Į@qȺU83iqqC ⲅIzEX boܹn9WF?RO ˞LUbQHᓤ?4`@UPt:x|4GWKO ưZSf :&EJ8h|J̋JrfJCZ`%tL_d~Bֺ&S]@R80--ĕvX,xW){_ӑi2hJQL) S`Z0y Vŷ0°Ee.g(MϺœ'Ǚ2>$iv<`(ht_bD%%řJYVW1V>ŝC\[CVF ?I$*#KKp0Z| O+KfELXFPBO!J4QTq*QpH%o$WSPD3*8չRzu*+Zɺ': ~JbB^Lrü5 !/>'$p?y.H]㣢 @ş3;n*66)o[r9٦$2-GY GkOȑ} \,`[L( ?s KR/,2)$&SBq:[F,p @]4=̛:_fJkȒ(n6\J.,u'Vݼ쎊M^#|ޥ7;Ѻz7 0 oX,C%T'O~rD-m%jH?M>eYsuUzNqF+2IUƲϿ?UZ~tz$`$@z/]x /%ehkJ lNNOOzDqHyȏ^I :I`-SgEq mB|.3a*F4G1R|:SM%9_b?ekt gD"q6I AY|Te8+)G Ib˛eT&"Sp%aW"u~>1:_Lv7%4)vͳ0E@'j\lu%&E3%Mk洫qy{ CJ"[-?n_ TXj(t҇,ɓ aFX̆t\zuFwN)`l ϵ0Q;HsppxjQGzX SgF}M Ȱu3XAms h,P [1i*tL*;W"]T6%8C>s]Ogr# }Upy~['|)]-{ҳ20@17^``0Wn+M>J֞s:VZ~,zs'4a>/_^]b5f8f{Y(mEpSN*%,꽻.}UUe_R0 ـ5ꯝ;lv.7 /x>Bڏ;N\ť6-;yP(eZ$ pa`uTm59hЦ&O"J'ELg! ɰ{Eu40;)A?ιΞL_ @ʂh6gh_faė;4s+z`` Q'n# KMӆ7K͜qMU>hPoDqjlg6@}ΧIΔ2S2*`#ٶ% ܞF0WlIn -vP(ۗ՟`b37Q^bZika85fҩ UXPJIr2]r!W=.ɕ;S0Wt^Y1+'&XdKMʛ Qp PBQګ uh 9I +%&Zgeg:)I>fV5+,5[UuXnb&~KVLI8k/=BpnYf^nYoؾf}a͞Qu}͔3?f@}m-O eN(}d"ϊ!>TlP{\IVd֓pt+G1 AZ Tbs4f&JnOS댡Pb6f uKlme~A !Qdsj xd9ZI?<"&@VAeR]K'݀ٱ@MW8Mm^eФFOv)z ICSX8FIeZ YBVMA*gYz]!O)ϫD\f8jҒ.~lcp,x_V3t#V)>O=s5x+gpFolp6 &8j` `/Osu<SzsgNc{~S}[*ŘKяe d2#`pEz bV(?q>MpE{jJyn$e2C$6# h%jxy!b%YjG! M^$($Gni1uhHAò b~xP0C1V=\عaZP_r (oEHRI2}!^h9 v8Y.^Àp#JZȳ(:*Wԑ؋BhfNy 8;RJivTFg-2\KE& 0vnH0Gvš_z:bOD7zITE(t&'Ax\v*CJ}PIjC3"#xȎQ>s(!Zĩ^N}Fc57U*hA%~Rӧ U+"}u1bW !A:3-r ᶑ!t3 ߵ>#8M~Gw2: JBTFc\dԭ}߁JѭLLJ׃ Dॻ~n|$e=("ȥ&<29G[g /*ҠC{w2p,[M μqtarZy.&vɊw9/&FDR8L;' *ЈMvs"pĠ1)wo UMt:\T:kxDq8o{b?,+ʃ&4Qs*9ج{ڔMP}^}oT]06[3dIcYyBk5A %n^ /N[VG-SEr^j1.EԄfo8 /5 (_'B6z7\|\u,ٗ2YA׿RG0d` aS''b2>A@Z~~9uE@g|rU:YX]ݷNJ#_''_$ߤ8S y5F;z1T7u.ʂY6k9s?PN^o!l*-*k1zuF܋kݽWޜw{ՎM?~=I)pbb2 ٨"l/B: FG^Û=,RRV0z;d3EQHFi?VK vFBu4\G |R߶b,>RRܹʜaY}Oi2ć`ƭ to\3VVY_/v"pL>\Z6Ʒe;z~nGh-s4Hc-o+n18*}zژD ●+\O,CFF>,DILsθxߔAEj뉑e^Ԫ'GN~ꝊNz'gH& ]}+*L $`9']U0(R/x@c-TX8jq$@E]#'+NGU5.hNNєEHXqƌQ$MNq %頝 |{G=H{6O>rlRv+g /o/MCP}HKG )c Ϋl"0i:,uz"B K9 ^p^d>R7ɐhI3E ̟YSRdG]9E:v\e9d rPKdTP CA {_rs :AH44? J뿖)AǍ5ȥJ4WQ qSqMxilVl9i̙tk25'$Ѽ6ELlc0MW|Fw3UϤt :gY[«B-ۡA T$,\JugR9IH@0E x2O}]U@p\w߿ R>t}'&`aޫJ &Ȩ/\`e0ID-zfM}{o ]bRu)UPMHCH8YȌכ Ř֚1"c 4: Yҫ3y< ]5:$ r9tB߷=8y\W>x bV&~rⱴ QWJ.fٞ( E<;&&bgE?NXi$>t tWW ro(\Vܙk͠H=Lof\S#Ld}bGa_ V6zx(M^Nݗ(,!朊K&|rSyj$=nr(Y&% "kF6.B~W/0q@w6¹*|6E/0g'c5]$H1;b`\Hv?RBԏDV?dGn3. dTGTXG[Ck|&vJ^'D3,4ú]K @B^JӻY6<>0/tx#5e;S-[X-">o҇3=%x0#L hR4 WL&#}rǴ;p۷w4RsoN8MYvh\ҜG1@$Pk9Jf cfWj|\~~+sܶKGTڂ&=AN7rjmWBum[y0z ݥ%j%kGIKޢ6fS}N|;G4^ Yq"WW&5[eNL{g:һψ}̖RG&]%گ](人!yR蕆zq!'1.-m>(Qި=f8}ypZɣדWr#s#ɞ;ejKmxh"LOT1RKI{Ղܶ3mLK1WwrO`-̈fj)y=%қONB5Ǐ? NtBG_l%PPMyv8F^J 圶8zBd\_s(;_F}CQgs(o•7TZIIaD[?{Oi  &B~JMCy6p(`g@0rœ]^R{6 9΁3#]A8K}6T{{{.96)p>)(êq \Փiu?24`zhL'Eh\azWsVFa W w_wX9Eu;DY'wp#r/x]=Ƒ8}: 2< [tPZ;Q]/8:;W YYs>kT5hh $DzY}F|B2u0`;臣u2Wd* \4݁fJf*Y%3д*UOyEx"7D-0R-x}TJ$'-IGZ˔2$7n5eHDbGivآtEmQϏ͊)POF\t~8in3wp n FЂBS5N;bUtwX ǂ%y FH'6b634:+D,@k̏RV<!(K"{(0~2, Z+ኔ'F!YÀ9a۔.ES`?o!Z=[(ҟl"&] 꾲 Bǭx˱hfhkM$ɖq/7N2o|*F>YFg-+FM b|^tarJ`E |KN}icyUN[ZJȦXXF L޿U|HhcjR @]_K]Pu?ãϙ8֤^k ǹe\l/L6d'Tb-SMk5 Ud*f)p5*+ bs Cպ^_#Hϰp hyc$A\ʘ g`IEiġLD{l̳ '(n'ҳZO ӿ2W{S6JwksG s7bVs'oe|XFlo a<o=1mmotoϘ#n_?k7*p1)clGF2o>-Ʋr6fuNkf7(s-rn\"&ӧ֊]T vhbǡtm9 cig컈[`2\B̸Fsjk<}sgՍmFvI?w8.ϙ#ϙ3K0~SY#;?S>G$ O|hr.)Wta0)rNzGtW.T)vne<ͭ|ϪKe"S&7#}Dadm ߽dvjjZ&Mo.@$/ KQ>xGy0Zif2;A`9Ytr:ȇnoYhX?$r)x!ϛ+y^C6DO]qyIH)7suLY M6X3}%ekr{L:z~(%EGial?y˛(O.C1SEԁVaͧI4-ǝBkwuuZފɇ{ߨPB9H#m;흗L@K8DuNF i9E&i:]5h},0k'6 A5f^i]JOBh2gxHSD~"Pgܛ<ɼGLcWS~[-ˬIO[߿A C,yџ`ivzSdr Rr4/dp ħ~> `g ٩bs QnR8s?#AU08o3Ĕ60݇,uoT~)jAoedF9(}3r4 F f l8D16\o=f$@l+j ~ admk]^ /U/V:K1,1WGb#mXxl\ " P0] O.mVZ'5bI@3@Rםr!~ ~ZUFpB9b)FF[4%Lt3XdJ"D1rw=$pxHd}5CΰO4ۧ"e+"^X!@+{L*G5nF D}8=~l1d&I_"'׈)?$h*\%Ro$#qzllDA.QڗɎSF_Cl'068KMjprU^A$84RmPmj߿?԰j,kO/ |R 6SP(SƐqe$BBHJְЕ67f* -^td0~:hU6 !nA5~6H=5ڄx7e][ Fa<}]dp] FdQOl|9-AA6¹#*soA}@+~a=8Ŷ6P_V"kVYo r^ZְXe fmy>q.>d I#=ˆVE"߬7q#}x,J*R1U'g >&0 <"&6 %>Vz[$Ud;N j(F3n&t}C#M,dod݂>?#{GDb9!<g"rSõrF}w/ē*X@}㣙un| uphuZVTq(o#݈t r:+8ƀ@蕡G QAUtJIO"HP&B{:B}yl/Yœo& DehYk' EhS^dn%q\C0l\Gӧbt-(f`8+#{4\i0 -cuQW VRLG܌Rٳ?ꤣDI mHx`3,¨x[݌E7'zu>H>`9)ܑ`*FwI9phc>&~I8-zUdK-/l>J4_"W /@` ,Z_V (Znc3n-rY96PP =mk_ѽ4ut\nݫ;\<)/G=ۿ_䃭gk޶Mg9L贀3 4 OuJzLG6L. i0wA2lN-?Bȭ1={ȵgrMyk4,US1`-;8C2 E+Ea$j0jSO=߉kHتwĭ4;ܺ ۾1,] r }klƩgyYpDf$+ǕlžɯDX?ARɁ8d“j,#).kVNE=D3]/~JV]D]5uRWUͳ*:Y4bҡ) Lz.Q=2:kMxf^7GpBHY1!2XQ& ,j EYSZF =6N?{LJ1ѯۨĒ4abcyKkUz`4lrA7Y6AǻoL/2|u.$wi&u4=fi6 d򅰞4ݮ[eGw?u0i'E>:?V(`]ey]9KK;;tZ=S9ڤM2لLhBqv+5eJƣid5uUb^r:( rZrn@+s.WQش˄\M=2 np U@"CH?/5"0?zb;XgJ=s_uW*QԚ[sh2Mu8HD?6`[NH"  U"[ H8ܠp}⺙ײTf~mJSZwgjҁY#/U՞ <l7Pn?91'}w$8]is ǥ3#idd_uL !FƗ0ګBHLѧ 09Ӻc7ں3 @9 i~~Fճk\/# >wm$-poCBMFN z8uY$=Fг7b "*rlTN0Ǒ*|QkE<Յ+aӞlD2<s+U;?DKt߯C[I|pQC*J1Ib,o,nB4<ؙ{e19u()PY.U^$Q/$ҙ4+[,[[.vbRz%:B_p{È{ӤޠD(R( j5([$~5y|Nj7|6m@9OG/gR #Ws!><+&SOu&zQq-k6Þ"s@ݽ>$tE*Rr'tC;Io ~XޓrE~~,zpXy!z!)AJxsx;sorʄ QHK9R^q,ŜuހÁ6A0EGJ<&ݸIŋЉ$ } 1m~^RMHf\7aAoUeJ,^K V]B'+RU 6%>eALB!Y )xtb]sn%*1IF"Ke؉ڪ[/7pN!4~ à *&@V@pc*]\J龔FXS(4h2pa,S74wRJo~0@y>CPusw L~AǺi.V&M>TgbPr LJҾE<S1 ]m:y_94@д ʀ ^LSsbELgeO(W@yJi[̈ *Y"EiFz4(džt2RpJG#р\*yE$O 렋GRF^VHLO/aAsނˈ8PWb@8q(t"ڕ2J/An=cRsYM.2K  'S0#x'z.dGPH͞ݫ|"N@*iVs W:A ,!5X _>p ٶ9!][\yr+v Aq^Wm[lVbP4 J EG玦^P1J3v2 >0( 2+fW@gfPb|#KJX2u1ء)͊:H/g5_(sHӒ2j?hCЅ p&:Kvn+8 82iXFBw%<;yvisaRX40>K{9Z s?mwOzz2w3]?D_lx.!\b`./'Z*QrOȊٝch2tdҶҞi--YP=8jj+?VsX;G4B;ğAkS;{50m" T̷5'KƃKZ`x<i+~KwER/ҋ|@*cbsRr NO=KOn)\ۑ٘fzu͛*В"ku`p6T :Tz\, d(Fw@~\+P=ړJR)XEIpeIjADxVt2O#8:eŀm7v|?2 /@^ 8uM9ߣ#F\VE8[7:`G\dn} ZoxT x%tU1Vs{'{`\A|= kƓ,Fv])G-LpNBuqmw$H *D3k}#Q`W1ՖϷP|K"y3"a\I5|S{P^NӒ/#ʞzf.)y5HsnZN#՚u}[4`2ͳBwJY{'dEKķHk|`qKLhΥ6#!snhطVt\P2qE jan+)w"4wQIt0ډ[ C6n?yJs8 XPXC yc?\Q ct^]mȩ_2쥢RƄ/b7_!XHÃfnO#.X&yd;)F#1yGs@WW߀U#@DQ#mD ݇n  y{_BY1 &?˄M,x R: n {h3(Ƶ"VvLxB7 2!v!x.?ﴝeD0ih|W]/RLb>>Wv/ 1νq,#'H9{i=+lL:8A4J[d!R$9tRΩE5tpskSV5Xb! 8f&L-B^(,ACb "GP˝%L.}V¿ERMOAdO@x /*|3"ڕLi*IDj;eDbYq`M9qP5927R "o\:Qѵbf}lȿWYὂt+ZM/Q]Wev0_º4.fI ngE:/(E1Pխ^.\rF|ulW)u =DRM'js`\IpLēq ! ZO("9T$(IQRiT11ÇWČ'"Ӻ^%K4{BqT1~0~J ք!ƚʟc AObLkR Eft]GA$!y/G  An &3 gCJ+X9'#]t4G4{gIYy9' wS$=8.3iŤQZaNgɽSNփйuVayS]5`L-i0  !y͌F%/l: 4: t쏁E >>+z<3y]H=P{DTݣf]-ߓ'NQ?Aͣ]\n@ν@˪/sOom"|neOs$"Gb#=$C \ɬ ‘+NMӸd7O%nQV:+E [ Yh#WpTnk2%(Kt#G?:lW kܼ sRd;?RE"Ǥspz},P"[&.@`Wwk/ wfߜ!SG\Os[Rtm!3깂n9 ʙn~Rx*%%TN%VkaTx +$"KsSX+bЭW]r+:\淂2 uApɣ(tO 0dՄ46*+s/aZ4m̺aZ-ox/m]Dֱ',-7rِ_a$ɍ@Y_y>jڸlge2;s_l8;2+ѝpꙏ@ָdz;sΫ{jpЌwj<5M>U˜N±=r ̨a $k_8|W TnqT{adcH}o.c,E*~[4dKuDaϗk3yz!ƲȊ~HP1@V78wӣPl`!߰,CͯS~xL_/N NՀ & m)L>wkŸw_iE\|)_(|㇛/ѱ+hyF5R̪Pndf$]N mfd|&/G[ٖ`&7bg#ۣUΙ z+ŎKT&^*xMq~JI_H$}(>]nd15"Q3eX=MǪebߜOi~A*Z `Wr5x6)bpLt[hM"`'qgTS`bnǰY.r9=c;y&*MhS2=#5BӋq`ct4s+|{z(cDTq9oXպ"`B-V[i,l)2ӞՎ le0 s+NvPL|! Uw;$hsX\<'{Q=qͰO5"nl`_0R$&MYQwL y{k h|.rkuvۇ|םhl Vv {f+̀b{s'W >{{֜_*+=] #3~G IJM|¨qx!. BG՗6Ʃ:hSzpE%2H1)Q%@ rtte`Q13bavK'{GJ])K ҝ6]^>-̑]<^f-ۮ0PC DiKk]0jxIxF ux},M$&,A,˅rʡp!V]c,px@HwgPo2o1pS3< Ƅ9F^2#XF,#b_L=ʿ9 yq t3U03!ȱ1E835R"59u\>R}(̹qں%'FDÇe@#h?\c|-k Ɲ9!2+p|j,EWoG&,bzx0)Au`C:J[S<>Jl0QZDq'_4jN 0踌ӇO*P'?16hvYa&" l+<S1?42qt擁(f G\4!4e<"1{Mx"܍U>opVƫ^⾚q&,3q)`\&-D+Rblo!AMۂroKA Ӡ(!\Qm$ziĦZgZDә YD*K{NѮDDrW鮠M|kwb L K^L?.4WwQu7(Jqs _*U5Jq"8N0h}Mw/dϮ]gW6pM1"pKn~{,s9=rϻp3 ѬCΐ1L XY"6ՠTgwF#h'jP͓48 Xb`?(!n˛ߌOFu㏪0Vf},XŬ,X$֧ @?y TL=t'.'mhQx|C`|d`$}?= `|E$C9m.*k&ߪZ1rׂ0[ bMd[ՃLr<oU*=H6p*o, Ԥ6P^D @ d=5H~j0US(ۺ68k9O {fN~;!L֪׹My4]m.g|t_MH9LsVu@MeJwap!Ʒ|jK';BaRNN30tvV̧dKm&IFJQ &)z [`zሦU6 i\ȍYZ3|5JbCq[J]Vᇣ/ vl}q"4ОN~ fo>E-w|YzT#x&n-3R0r8!/4?2p! ݾ|ԹT^6mO˷ox—U%pY|q\2-U-$靚ExތһB\k&}`gVxܥe1O㛡O wUwļcVw/Dְ? %Zـ55慘鵚wm̐$D<r?cwW!t$5ӫ6Ll7U5E@jz]M7]X#)jcX^'MuXҰU#"( ߙYgpZ˛w1#oҟn~ n}@kM_p_^0ul #R1lO9x+-49\cH9]QȾV#LERffh*E}S8c}aLbeڋ"Q9!mՠ jh@983#A %B:VYQ]ceyIdO<ɖ\U&sf/%Kh2`fYo[ؤXi3& P1$X(83r~[ 07`tmg3-4 ̷}?@N!O-c2c5/ >&I8fz< $}$dU3z,pj z K',vަ<^1z NX @o L_XIR[o*֯F2yt(N0 rf\uUZjty i{DN^ZTrH,>HY{Q<%+EY# Fp>L/q ba,IwJoTdhdErsI:C}:6Fo[z|R)VRkC6[4aAٶ\ 2ji^CvTvxK&u$ ׈Eeʰ#kێwu2 vWD)E{f@I0YnDy7ΈLxU72X譽^U.2qd^{w|xx:Lt`M&heUn)I𳡮0oTˍ9zt]攕<lEu`Swh3ljVs/n.޼3y V9c SIaH/W* d^oc(H 8rR^8:>1oU:Iʢ"NYc}#Yeb$],BH *] U)#޴l:TQCjLm > ă89tIn :#!͟Eb&u%;n7w~%.7PWkA&2AA|1N-ebm&`rmԓ?ijX9gQX]L ǓRD G%dhdzIRCC[{ܩD,0T/;|O|x r7p!TҜP>P>AcdkQp8|S.7AYOo8&ʘdZqYg5wɦj2YzSڌYuѶVZV~~7z”)z=&Ffop6UOẙU֌h9 d>odLTQllB&A/) ]. )-6),T,ؔ-1c3ژbahaƃɋAAiXl2x01$)@FqLcӍ8&rDf1FSG(ó%480UYhLI "71xZINmq5hdxL4)%s) DK}me# *Z{ WAỹ꯵Kߟ/0  Z5#~|DZ1rpbZb)Hz) \زP៍)%b恫hsI*'6ZςD!AX$Vb 5-)5KD֏y3A})ՑI;Bi $cX78O?sFΊ .?oa,p{}@8EPZʗr~#5YyA#ʦ=Q i%Jf3UZL u7_[Tn@sl3X <*i]t3^Dh  3^ħ֪^TЕX@fx e o`:f'"( lW˸ns[<>o&(lfeTpw:y,`Y_F|\uGe`Pd F"NL [ H naxIid: J1}̣WKz/vy˝}ŽCL-x 0D[yHi~9h/P9R;V3/U'249+n`qk]l\F*?&M1ʤTwK\rg8I.~a\񟇳n)x/LV<,wDt^;!;X𹳈9f{闟۝`]UDU* TNbKX2\w!0 cEjSs(9"c&}prӌzֈǙ1w~83js0PUØR ߒ [CjѪ*yl8bXvFup+)! 30U_~̼ơ \zma {\qѩ@\\f[]d L 1P`rP\7idz#-P+{5T[ؔ/rIt/C^Q*p֓FjnTzU|sK>p5*sLi[sZQN8K=0Cʔe}0&C`WTCRn ӂ' z 삁\KOɒkf0T{ z >rdv `4&f/&k_+y5 .ء$V텄䇶Oqt9ʝ!$iўyr_|6 VufNKd_5uP00l>gux38#)7.1[4WUNxFF% jcd6 T6a@2/خWUKS2F`;'ӧ.)[|(}-}6P^|`4o7&'=+&%7[Lv0-obH|vdd.j+əQs/*}al Hۿ~sAcU6Pa| {T{ZuˌR¤ix6R+?bہY"n%8^ITπ~Ly'p&uGu77ڼ>wIīDmgWJ#i4,bNwK*]::.ݗV[\_O3Kohg2trL%gXS5W laf=b"7~3˞ ;}B߶VE:9 'RPsV;Z`dt(Z\Rȡ K]"ʧHE\ t;v΁ 3ܪr?&g)X44Y?ܘWdZ71/A0LekWB)Dt4v͌Hw158-X("ZvlɔMbqaKG! p-*O'xBf48az:nLJ?~$Sݷ@ YCTU=xbf6RZ~CS$RM ){+bQ@j8$[YJ1O) fdVeKFg ɔ zlM޵,Gllm>aF+sـI.v5O1=28RJP6QE[q" J;;ܪvpsMN1}Ҕ̝ YS#5@\0"jY^P# VՕcbR \}+Ng!0L ifjEJQ߬9Iw }|Vk0gTՁg .fgМCo84yY!2Q,9{Zz4[H\z4yd!_;¼2Ȇ HW=r& rzUkPc?>7^Le< 5(OM@(cJ2JJ.CL`zۊ'xB;'AKu1\7ir5[0uR9|L.)4. ZxRN*msH7@T!k Bl*8cbQ0."`Uj =@%(l= v' ZaY8G 1S@:%m&g^ E&ޥ5@в)gѫ*m["?-iTnz pa. z'ĝf È# NaP&^{݄cngtp\)!@>}iď-هb`Ӹ;~HcNcx%D,Tv֣6^GV,y9)o5\e~@,s9/WrTt锁]qL?S4HT \ϙPegE9<"$m'1$'iD3[=߇3y EN^}s% T[x,Ae~rkP}+Tη1 ꔦT=D.L4.w#岰xV%ݽTt5R_Ix.8-UYLq6$CLp$M*lj?)S&ŹUEj^#=([/p#Ɖ'>aiPNw`@KotR]_쨮 B&:Ϊ-;ozŒ*Ǒ`ځ d7j5ZLR.bqG9c  XI ٕYv/ rd v)|eԳ%qzURJ+BD3vZCG ӣuCեX}G:ߟ GBP 飉>V#S_C';uH_K/ʿzFe\Ymob Kϕ+wL" d9c9`sgcBW;[&Z̫ԆdLTålKu3bF%G3BK@nD_ YՎnY#}+>gܘN?OSq fn P5M)M)+↤WF28QWk֞"Ljd6.ŴDxEe6a#]I8ƲY*o2( vy\r ,'cj_RuR3c, e0aexxhd Vr>BX \co`&0}T[+= '^y6Čg;'#启evxYF`8,T6tڑڀPYO*IMMDSW%r%<`#1Ĕc{靊 gycqIoeBˏ/ >IxK0H K1/M )Z/£`Reqm/z^}*p`GːU\Q {Ps'JAKv~鞴6aM"2p~k|jfBô`t.j(8Ī@0'%`hIz0Ϧ2 EA4?Q^0J9L*6M ]UTyl/CL&y!|C `y^CXX0>c8L<ݘ h>i+7xqJK^BIBE}*7au Tl-\BU "zhzU<6f{/" O jkL{|ň)r"K)"D+}h'~?r Yrᴏ09faELbl4Kܨ!Q.ǥ{+ǤUb.z^ǰ{sMx{`7҃ r#U:r?X۹q?ō]չp?X]k{҃rIB-+{r?XʑGV*U9q?Xp?XU:p?Xo?XU:o?X[n(qTmwWi<fNO+ZU՛Td}S&u؝gGK{m))u^7!axDV`x(=nD=|,g^M#Й jÇnwhNjSMy9֭|S}nWJQFS 'f[+ۦhTOT)OgI/@Z8x.uE6ǯtJSqbLY>o n{CJ#&&}J A!v !9@1R r=)A$ |F%'J0]B.}ӂD1Npi"SJQI='#ȟV11F>HwD> ߈$7#thPߓA[zdRORw< %OF?HzaD l~nq$?)d\QOxFX+v=5mvkTG:=:aoo褋Yݣc$]L~F̊~U,%a17SFFTd#=Tot`{VIG(mc2р5Ghk1lAa?5y] Gǔֱf2EOp2y^$+ h{&aJIПM U)QAgWǝAos\?v^m15NB|{L(=!hWc {[[߽N&qmJF┾=nh2}J>_oTu}MCyx,v" *Ib1ޮ]޼=LsJ%{w^"'dS{T{{ȃͅ&=Z>nyD'INM GF^RIHߡ_WL D0CHA3 ԇnn:.Wy.VHٺuzCc Ɠh3QH(0mspyB=N NނffT1\&Rm {&OGcU$&u|UG}4߶S}\:jRxHm{ɻcX [vp (#k(r=>PòŇH1fq /^<+Jbf2; JWV0v<TG2_$TFe/un iKT,=z: `3o69@ ;Oݔl=&(R?FN`)F~( k3lDOm*Wq2Y͍ E46[o¥~uKc:oQo=񗲌͛I?^LP02:Ǹu6?#x6iG^ͮs>?iK{YLEzoێnY/wi2wM#!XgZF]oYR*VkGUR^ ^nZ>蕻-jQŘ'w !IVmch ͫ46b1aE8nﵛvY!w6QM}in9M\1=T rtjU Kt̿P_(=^ _!O!O (m/O3QK .5=|qGD0w E-k=tT2ch2@22"26qo{J{1+4u;{b:',I7(w&yeOؿfK< x" Lq{ޮ?RR=7*H8kAwIdͲ*VgJ8| ]I+I!BjbqFZ%py#tuwF(!*TI%MhC&y43ZNLc}Æ3i)%ޫqׯǟQ`w;Ljxd^u,tbޥ縓SQ27x]:#Z2Oi55CkEW*%" *'u_] ;ߛ^](ku7_=lxb-%-~{l|\?/O>{q ՚6SO =h|I;R?S&m賕G"<^"aF)a(l=j2j|;)?nK%d(3y }OaB@&'ѤP+ !DAz hpgmRRA>#Sh!MTS5+*xy?=,v%;~pI{P $qz@ZSoP{]d^'5`ЉCTpm+Tu:QA*I<]9 n "چ& &nЖTFM,l^gQ$u9`zFaO5FZdԐ@ j;U^p8*Ѫػ{ڀZԂ,[7:\÷u?]Y&Moʕt>*>\qN 沘Ce Ehk/},ish@MTщ'x6il,~_G4YOd̿aB2Y<26ߓF?z%̐[hئZ<०mg j>(a,ؚ13?-M-Z.IdEY'7:u b`ܪL[ߓHIX1i.IY$+UOI6j吉=[#oy;.lؿ .ĞdR^=;V̽[٥H+ޔto;n[,ؿ쾱iotS16m_oZ#T 7v.*;wr}{'3;/L.*ƶRAV SI'ӸQIa8@JT|2 2i,J؉\Aǂˉu8[剀uD@[$,[>,%[-ӝg﫭M `8, Czp)Ge Ey7Yr^3Mɔx+ 풅-eub(SﰷK w<65Km<_dM?] L{A^0K%ى-F_7ƘtHo%iﰲK+VpV\ԋʷ<Ϸ׾ih~8'?%ޟb`jl20hHp,?$gSpˤ h3AZb.i* A5ȲqEeF`N_XbhF6vݕ.[} A&,qa0CZxvܓV{6Pz\ŜG [ Ex=SLGte~Cs6 Hȶ|P6f hZbxvS1@|'9 }[*fnwzXK=$sb5-ֶHc(yalO0fcxg[)Sǟun*A;93݆Q|@X³(ˬѰk5iwT^fT6zY)qIQi{/N\BK3OOj!(_/ދ?OT*7=.E%*)S;&Kf#s|lM6.C4I HHlNr[ASO]dρPCg5Ի$R; @]܆sXEs aRi xVqBa1pOFe^ o_₈','(+ >v5'xK9{*>eh4ҽ?J`)ke0)Ay \ 1}؟&ܼSQ*R&>)o>Ԍn{We{LWU0[zyr|0[cGAJ#_>FMhH Ț 9ThlLZEBPV6p0Rasr<@wۓ$3lkic&7zK.=mRސm}:+3gsZHgPot6أ:- xQF eTv}ӛSV}뵚{{5A=]JN>hiNPgBn}|RޠVwZe&Ńut@?nV?F0k7 a?a_4uIh|)o>|bͯdž@kǛp0AcR8j2Hw~ , S("'(KAOQ`SsAY[`](w޶ˀ\irwvTo෫P+3Xp+4έ@_`jLm*uGGD{8 vJ·{eabX/!rCO.7 G<П`ZF'Dy^IQ'HqGA|6oʬͦŦ SN{ JmJ+ID9˝no<*DXEoKo{+xm\oo؀*BsƥSer٧T WR0b{) i7~Hլu~i75rch^~^盧>6O}ML-NvOBcxYG\jonl9Jx4ϣ/"e1DDY r&H%$Ǔ֞?`Y0dsp&%h5H\^HP?(K'-vBD,Q(f"|U0xaP`KVK8/H=;y֜@_qXw` C[ݨ&?`#".>Ff~M{S/x)rTdLeZwSB<6Sz&3U|O4@<%øSGacR4{A'@ wZLJ:RN߸}+2 1 "7s|{u醂Iq&x?¡mvܩַٟF8Ŭx@# "J[RciymQDmMԣprPs9.ktx ঱g4~򀨹{_l*#tkO(ը"h{.אkfzSPM_eG$ΟڽÃ}Ӥe-} [z+%@DYS'Юr/ [u,v" (]s_8G ' 7J6?u 7, zl,Ss9)o\7}mWp>j#pqvY7 Ѡt3D(<)^Ƅr5<9,_fP9l%1Oo**,WNi/34 ÐXL%N_{mLXg UytS y 8gTbϰңH`P2* Dtd`B3Hc'Cp 'Kޱ?tudyM2 Fx47 yИsa52V 9esjةBMٰPJ_8: lZǣu93I?N~|tsK% ciy:-pQ%(*P<v[0ˑM}bW{ծ?dr'CSLm`^KPeim';:KuCiEc=m$*o'A+p7dPdL[1 VTizY^s}>߉2ovOGZ3Yn DIy%&LzHʚ'6dΒMqT ɕ.d G5ڧ(Sy ӰwxLFfasJ"V=7Vd%JH8VgA$9C ge?2*+W*4*NƣD}{Шl_|{E݀4S(*NC)˃8|H u說(dר=ȡ؇B1]Gz S1bQp̞$t(Ƚ]}X3H ݱ90ʘc נzmXqꥼ'{Fx*7 4Vg~2#Gj8f3>HOhv81azONsM.9 Guv6#7 _essSӄ )zB<:'9BL`=hȁhI5â0#GF 0зZ〪DIFg`߬v usICf2AK%/͹k&Zx$8lqjś5+p X +(! \/2Ņ),i7/n.~:G$eg&/#9s KD  ^읙ZF">'d}tkNI?tqE5$[}]#2ڲո}`YySE&%ph@^GW|6ZXWgslMWWv]ZVH㻍 T ȍ $Lh2 MڈTe*ۓ Ϣ&H HĒb*!7phƳ \WIPiVVnb2%ZC15l(|AԊ[tZ!FݧZÔaں g~8$\mW :KHڬJNOJxQ;8 8 @9C}u ([[BD Jcmy/&38I"IlA4G<ǁ&+g#"/r-O U)&%%%й/|:avKew5`V2u8048#+zSnO>NaT{S4doֆW՜ o켚j '`_V@tMVǎ'#5qo/67F\ 4^+ۑT#䣃{v|F g>F NJ`~6Ry<>DqYZ2/nLl$D*-HdJr'QAӗf/QHgWs)!iďNJ Klb2x&؊o摬w]rӮ˗`ՍCYpZ2VY}BJ&,XGtUQ:i c(Ų7L=@HM9?,Bp1?;a^вX{6w_)x qz۹6+#,GdrH4̚U#isZ dVĐ0xDCB9iKX_ڠ % h%QBgpC6&XB2(zx^6BQ4$p2,Ԇ`H;eZ>_t=;VӔÔORbHR$hҐ1 )4%V1DT,d H`Gom ,|3x泧OgkϟW?_|q;s!QdelUB0I2_1ÿNH7@\&F)DHTRT v=@)$VJ5{N*)c')AU*wEJQQib_O0DdpjhK 0cҾ\* +oԾmWc`Akn3nr=xa\jTcsmw[42RV>^Gr9;b঒q:ԙԏF舯i*<"9 8gĘ% k3N'apF㭝hPƣH] `Kߏ_&y(51uADBݽ= d*{2H-$U3sbAڰ0H&* zI6T QN*@BF#a]dф$G" t_{_Ƒ;JZǞ`@2$d;3O m`Im"'N1 zԩ9u(sQ^4s#I#DZPZk,/U;HN'Rlϑ6 }*3^O.g? (/&n_8@$/*z1c-߲V,t?XC'~$ *z8<"j7'AVFR,*E^4MȲ-$$CSJ#e$XD 4& B΅V2Ha~sy:ݝ }W.kȦ&Vc}&d2v@q܄b 0*bI AKCЁ9a`o0߄zl2_{u㮭n'*IHZ0p5n5P < <)R^a#A\ѹJ2xqoSlPfEt%#u.g}q5P`W#Cj Pʺ\I$&c4,p"[pv"E0}Y\&)^ lQ.\VQ(sa0]\D;@3q_o 20PA'?C3"o1Ŵ$xiro_Ipܖ[ 9&2SmC+N6(f:n%wk,w1>7]Z`g], s|Y`~?bpl,(>=fX X{H}(;t:Qt{?g趁prEɘUF|tǨ$MYe]I&)m&-c*/ 1 pcPZ@;˩x i#]KCXYcz@ںjxdӴ/WN.F(b>0}U-zb՛5`X.\,;Lyjzp4Cn;PVlMqWm=\;wrCpu-K`¥6)XeЋYɤJXIG9OӬ=\4d0qh*Xr! H(J `C͢#f鍦i "l.Dw2$ ?VKI=78urjIG8( C^X)EŽ@ 1#YL(VØꠐlis!agw)=]2,ވt6T,R\(Ty ϸlLEI< :A(34LCSD`kTsS\^aB&7YW3x>)L.~ZD Ðl٣>r?SMOзѬ10tCd,|yS +>*P{2jk99mZh*Xx=M׳pbt}9/_,dM(V)+f(lAAVn^30H,rfe)k8\;+<+z 2T!IrCcXgʫ|Er'?3 6F)lfwbt*##XS4iOfJc" :D$tRP~]_S4//1xb|zs>_M Pue NK !7)ZMF_5Uu0D=|m i>m>#C>`ʴ) =(T>pM(l%mqӊe7L a4Oµ)s&f"\&T{TR}ARNUtipaj%RWjaZBw݇_Q:8٧_+Yd'(|P,CM^^RMǬe|&'n KEB"2t&i#@5GQD1{}^9bLfƎ|D9\ f!K62`X4D{iqۛV{1}}no;'?7toGO`:qPJ8#D+GFʂkYN~њ^I%s[;43w)G)XwnS⣴[+QZt.ŋԅ{=^8JC}>xPNzȳBDvp#- /hUχ7T@Dx[89L:Cz AxS5Z{&IY BsA zJƿԷgtctx}WA<8^E\[RqaOUEgjVs5/8*IA e1+t6P/P/skjU|a֙JzG'J_oi}TF˲zF*9'IGvSmh/+k_%/L; qPlڌ@;J"_0ߣ {]4iШ_6lդrBo;B YyKr-/`kIC=SE^+B|Ytn_[ ݤ9WG-w{7 >s?Drn!̆*EfMb ;6 I7Ubl6E0Bgd}uC9RzE(u0}%bAѢN6Ɏn<6za2'w2f"XV7R62vŕ> ]r|Ȫ*OtVwa6ڃgx*%7dra[5nGzO|V-_Kԇмf]1 Hrk֟f.'D.HGVIYG { r7--+(c]?Fv }lD:> @<2>]q'ڠrB{}:j3I|Ip57탁%`G:Xka`ٚH#rR eA KJZ+gI9oYlC) †7ՀT  g!2{] gϿl5X5vO_2Zê(hӐܣJC'pb[RBAo " UIbp|>cq]njWt襽vJA >16M׺P8J m]矙?EtMq a ``I~gdLsCK WvQ-҄v_\d;R| 1Xy(rmשWW5$=?3׆AѪ5X5co gS۩}tF'Yl ,F@Iw薜kqn~ 6V5LJYaH:B"NNusI |)R^0kJķRO8Tt% 4a8W+UE1dz1y:EGc{S +LBBEB xCSP%d_$y,lV&g}t==s~#-ƹS19:eA8)Ɩ: tFJor0<F)_$Lwh()P *54R5C15 1>Fd}M'=R\yY3cWPO0Ύ3o PP $ԑw6r b,,QABlHgM">>q#{3*F49llO2ڈy ( v5MIR*lmHt9h{ƥ.zbn,ϠʒE ` ŁӽûׄAm%;/ ЂA+n|2FGA$fxlL\A;/?g%L.6j:-[D.bs?KGt+tH3c68`Ϥ~d;ľ4!|0 r82;%ѝFzś)n#a =k&3D9R;(ܧXGa6֕)qRdJ]`7ŨcjB^/1u0H^ O ϛ(&6R_DuFP!@>&GO?^g{"P{{>ݡ U#0eq0tn?W74Ua˲'hQҲ& b/k^z{In D!9Fa9+5yj %L$6+xV Hޢ9nˉVaKOwN=}R$c# 96eQSCOpAc߉+48zB R<Ҏx'jMdW DEQ[a%B5 M*,Nߕ*TAQ' '"Tɒ&[$͝1j@Ja Ke0|vq8{ԍd4p \ft&<%H#Mɮ-F0p8 øH,6N 1p9-Lhug>Ga-3c߿y4Uq/ 8%fiU") A! /#td)(5ӦE(bKA 3"T'M11V6Gi hm<尖%8,I= *b#KEQ6Gn%.Fy4x$6)8@@IlHB % OfdSxr3݋#AP @oX)hK}0"Dfÿz!p @ W`JQ+6E!b|>SH*B,ōypy<2T9Ԋw v$~S0Ңދe@`YQqHXb,oP #"bg7֔1;aޣJ^PGE>L &$!ZX,5o"=YP@T*km8@Bc>~9Y8CVQ%M8$u6YxT(pe"TS:!X?#(-7@yW%S H;d{| *gM|J)UcyL kr+~bZZ=1*'pTE[6k*XPp,yF-}l6>סIrʩGc9;shp$ӵ^ˣ9ᜪviΰ#@E[;\ՠ$;[ww>V=Jn ͆6OQBNeޔnX ZZG >yl80&n6 @EX+?*?G[BᷙQ*ъY\}{u[jEiJou(,nU(:~ TU}$XCcOx*m}JpsIu*iԀĂاTVxl̄}ڙr wɨP-gi2#w+%hi񚖽w7enӺC3t=EA2d :^`WÈH!7ΑP6|tbCT7ٚ\T*{ڽHzsG{~1\3MP//1Cbz1D!(dAaHAhyuj![Ayu:[B)b+q1Q\._j).xb o~Sk ;_Nʩ>P9*GS2L.դ\.",:T"frfa\,=P9*@T0+IbtVN8:z''QĥcNR∸;peqx[}؜0t9-jT3AK^ wJF2D~$mT,:1P %{UUgpzt`3|k*$խX%r܅Ƅ8!gKXX] Nu1ˆ5 lL=3|T<&зA!|/hO&1fay5,#ʇջ3Ŧtj:~͸JpVm#YؚB췽#8#s脃7FqQ :G-x`nDіlKdb9 y!'ɲ, fG*rɖ>%}M6ų!:l@ 6|!KDƋ&"6\Z@FD ERe ը!]8QyUOv"]FYA.%.DN&Rj&<` r Ѐj/79H,|䄱g2zJS-"e$TOL\1 $ N0*QȇM h'$Xj.gNj)NUʿ~A{խ]tb*2}w )W2hM:e萢Á"HSmDpchؘ07; +oĮd ӹ~D~b?SzN,1G-ׁ6@>8H :2ȲD<<w,7 VIN;]kC~,25鬥+.oZ.JP!س:էU h ,C5t?e&6H1Xο߿y~>Đok&F"|[Rᆝtn:䰑p ;!Y B_Tx,ˮ ^씈3 )dRCiܣ1!p(pbbNxd4(LT ʟr .id@܃ &`+9R_zhLOS]oFWz1?>NY+4[vڞ[)GY'JAUS׾ :w"7?ö rd"Q?>;6nqbtc#RhA*P)w# `rZ g`)C`8Y5 eOw1/7BHc#у/ĉwgO$UZ'nM~kG.w-(ySWT7O ly]=2'gk5Oa`F6(/+o` (rC|R*W uO)J٩V˕RbRXڲj2v'3`u={c9[|67N:l4[v榽#43bvg$t5u"bυ}hT)VIu~l5$uCuZI <;h}8GFwҲ6:fQS"?텟Q{CA \2pMFv@:B AT^YHkWRoQPP5kV]@"S, j֢`.Kntv.'&GZ”Y#EHO|Ib\vGs, &HQʥ|b(hP,IJbe+j"~:4PFJq%& î8DLb-#qoK@zGU#,FlpCJ#!e鱠tO/5,ܺԮܸK ,'Voa_:vm;Ep>lnw|kus9uxwozZz緽Yʫ&*,~'cqSS?C?&nX}T?)e|'3<(_Fe^!龩>$}9tyHxBh7ض<:^]wﴏÉTɬkk֓?2vv%iRM*ݲ\zؓXA6l`٫4B}z+}{~tX?~Gi$divMjzH !zMa :/;;"^ әΆCu)] {C WLɓOF@:q' ؀\d?쵾 '470 q +rk\Ѫ}ZڹV qOR+g6*U J_9'8 ( bҺBX(%ft]AB^ [(lgݱX(-97 )jnu}< zzb W`6,sT02Q4 };ܲf k? ēDi<N<2DߥC}:DͅATJ!T*< ?GכBϬ .|9utc曽'7nc{>oyaH>3vdnxǧ aHοwO~:n^BPBϗ)U11yѼ˵Vbaov(1n_؅V)7:?F{ST[[%rZڪ(8\-V,q/9>խB*Zez]†}Z-=e 5u2-^6G wa0yCV4bb.Jr>Q^EP,d \qmjqjFjJB)`5e֖FL|rU}hR\(UwlwFF=82^-V[%J7 O'OziBRLJJeKYa\NUK!=ʕC,EVw̎;V5(70[ZHHx)S;0 mjw*i1S*W4H|L1ThD}9.a %+[4:1 N R/:܄I(*&$Cax z|a|jwdT$ ^.TQ&hY 8[@7U,5˕80>.)oնԐJ~ X3ztx7vjw3L4^W.\I ɜjiiIє˜/j(ޟ}3+U<2@4LҜ@;S)z,T.QQCR*}8e3ܢKjc/תKeZ$e/Uh*W9(Vk81*e A˻L,~ v@җ.*5yi;h/j( NsEr)JVE$kL);&MF`|K>(0s,r'_)xWIp2+")Q&6Z$VRb,5(15k+j}u &o3?f'7&hE[䵯pטNb-xErY-Yt!0 x>]NA{u`̓IߝR:e(rK71;t YZ żFq)u ãhjE]dz̜4-4j'(P0HqSRaYb/JhP_.`^($e`[O XZP_TBKM ę{#E!cRðdˊ#{tP zUȦد+''WPDovc m'q̧:rmSxRm'"Wѣ'"Hb鍏$ؚŨJ:at)S%9nZSBQҬ6BU7ji'J2PW(A#M냁l;؆U]7q ~PҠ3Cw?]l|WߏR\Kҽ(yU+ [ɸˤ\hߡyp ѡhܓ.^fԙ0'@leR$,9fXVC3, >F( :dRmQBU]אp(JWjLz+h*CS`P̶ԖRzrO92;p=8؛%=DZ(%.<'Kܪ \{@$f(O] .bqe4Ilĥn$ـZS|z,D+..2U4=I&? ג×)иP vpdh'^<'.8co͊#4OOԝi;=x}Ť֯~Z@` UI述զO\&&Au ̯ שPc4Kr5nq [M y1HG(K/ Eb F\ZmgNjLO/ppmFj5k>ѿK̛Q0 u,ӕ@P_:? Ͽ_@{'}WݟDo i4#3ˎ3:ȌwWLpx&w=j; (;|A"O`T(AE@+7[i-<[_1l7Y / o#ƒI< I+wߠq#ߜGh:݄q`J*ϟwϡM=GQvvW;Hx[GKxo?^//^ba?//RG3 B!Y?ix|:Ly+/aJ7MYznxOY+!Nj=F3cmwg7Q_(x9ҌhMJd`ntK51 q 3a=2iqY$igÿ ;$δMVBv;*BcuTm6GcRp"qp5q>0SAnw1Dv嘮^[V#iUJe[Ҥ$zt, d}qVZe!qNt[de\*h=ѪU0Rn dK]1,.l:SOmKY'-v!mxE X@@6UK+lMp1#:r av@ӦKaǾyqanr/M,>C. rlz wL΄c@aV1 0頃Cϯ}mj>Y%9|x_ lGF3g?w~4I_3 dsyF3Bj&dX|g?#=:7\1υ~{Pě2?1(*_ p=? 3 ߟT}Vnu*c?#F3g?#_瓖gˇp%s8#&d Hvq;s57w7O( >/_j#xaA6d|{}_~e478Sz:&g vBLkhFeyɮIY%qXpa@j`rH%ݧ`rзIsH,{ͣα_ٲdϧЮ;|p?Qx#ׇb&8yM{nICO eGh4P<ϳHFo'^<+ccos(V@c~tC=voױ{x}/L\Fw)GVl X{~yNnxpt~qꁣNuש7{ƛj~I u۝mU2>+Yvᖷ 7]zP@FXnxyrdGC7<75o?t[_- os \A߄Ǘ~_%_gg7*Y6?gg_ !MGgg*W?'oc| 3? 3࿿'(exc]<?TO1? 3o!CjiUEF'>{˞÷Dvb\Vcv8\X/k,3 yt[J)SKq0//l?vO+nsINu ˦ ?yGNypу;OPm2n-PQ v;`J^|Eק\^{|ܖTD;z+C?fA8x2An=}1&PKx3gw^szL.L퇁(,!xpa rFfN.'{ a!OCyS{>l7[6c{Ræ F>d=o,'C}m|䓖~uLq\V/U+}o#?;k0 _O6Z%0ZOKPt aGEp`c، 5Vy~4JBw`=<_ W B\rA'{kfU|q8_՛ۅۿl$3(%BoDTt׾6<5:]aW %{g?sk$;#}]ltg&dEyG/_j#`aA6d|{}_~e478Sz;GO Wȇ["wwf4å񁻥 S̍;KF{mo>"מɸ'Zc%xy8u8:lj:Jjxz#57wFZ<(a |@hqNCpkwʖM'{>v{p?Qx#ׇb&8\h=&REA$HYݓƛg@Ѽ2 _~l_,/oco?5N& OʋBoY9>iߝO:Rɕ&_./ᶉ( 7 28~-Ris',`uS!קH+ !!lw ;?'q}ڻ&\9Zm1]=G^hzBp[=K{)dy=щ7_wvO׽tQ(‹PG??yqbK@5~QY̪=j@\zCLf1fΛl&Ń]eh+;nd6S=!΃95ܜG!_E@5Vwl76?8QySEȶKriQf (C^>EEO :Y@VPlIîXXҼ ȪV_ wz{ZݷnBaY?&^XD5[?{v!q꾋FVN/⟓uxw:)ᲀ!axrOp*6I<ҭ*l xE 5|w*hh{{'DnDJBsI+O{ ?R1g?#ۓ$}Xs(g `6b.;)@L(*}`LQ{ A)=;#E6{>u^e~Y4"'eo=)Oq, bb%rk&o!]_phOd<bNd'QJ/&|0J )ـq|n,YSwRWW+ލKQ'Yw\_R{ӿ;NeY31g?#[Jlw՞  mw†oÈx^9,YzF3R+G,Q>F3g?#}_-@K=?_X/ 3? &zWp_ĿpX-\k4 ]? Ve?Tz8/`wF1<&H>CalΒ:1HOܦJCG7)cr=P[.kRyJ_ygY3c?#F3, ~U2 |U Wo$|1;9G̠Q܌hDE#*W*K ~g;[F3L_XYjgcg"wg%?c( 3? ߖ7~}UWJRA#| 3?ckC7ch s{]όN -Y6_A;FN&:v˱ؽ'gw5h7eEi`jazNg/8MI0 Β&m}ͽ<>]#avoM..±?0lGٱ𙟫| rޥן %`8bD TS Gua=}&a8ռtW- h5G[I]'N/7sͽ=l~s mGxiG֛W@FG,a磙ebU5|Y3Xpg:fD66T =;f_ӱ߽_tϤc|y>l~.+6sswj 2B ĎTHF'[^yX?tbrv:x[GIJI+@/+^H^Y~$9! IJ~R,W/4;q5]dn~N'>pv=;dDoy?ԗyb!9a+ oi`twe;UFH/Un*Xք@< /dcTe?Zo@e}ևm0Vvrl@PiqfWvo[nG.(?f1_U>bo/>N ]yga×+?G1W\uNZ O?޻e)uG\4:"#2: # # pacparser is a library that provides methods to parse proxy auto-config # (PAC) files. Please read README file included with this package for more # information about this library. # # pacparser is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # pacparser 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 # Lesser General Public License for more details. # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA. import getopt import glob import os import sys from distutils import sysconfig def runtests(pacfile, testdata, tests_dir): py_ver = '.'.join([str(x) for x in sys.version_info[0:2]]) if sys.platform == 'win32': pacparser_module_path = os.path.join( tests_dir, '..', 'src', 'pymod', 'pacparser-python%s' % sysconfig.get_config_vars('VERSION')[0]) if os.path.exists(os.path.join(pacparser_module_path, '_pacparser.pyd')): raise Exception('Tests failed. Could not determine pacparser path.') else: try: pacparser_module_path = glob.glob(os.path.join( tests_dir, '..', 'src', 'pymod', 'build', 'lib*%s' % py_ver))[0] except Exception: raise Exception('Tests failed. Could not determine pacparser path.') if 'DEBUG' in os.environ: print('Pacparser module path: %s' % pacparser_module_path) sys.path.insert(0, pacparser_module_path) try: import pacparser except ImportError: raise Exception('Tests failed. Could not import pacparser.') if 'DEBUG' in os.environ: print('Imported pacparser module: %s' % sys.modules['pacparser']) f = open(testdata) for line in f: comment = '' if '#' in line: comment = line.split('#', 1)[1] line = line.split('#', 1)[0].strip() if not line: continue if ('NO_INTERNET' in os.environ and os.environ['NO_INTERNET'] and 'INTERNET_REQUIRED' in comment): continue if 'DEBUG' in os.environ: print(line) (params, expected_result) = line.strip().split('|') args = dict(getopt.getopt(params.split(), 'eu:c:')[0]) if '-e' in args: pacparser.enable_microsoft_extensions() if '-c' in args: pacparser.setmyip(args['-c']) pacparser.init() pacparser.parse_pac_file(pacfile) result = pacparser.find_proxy(args['-u']) pacparser.cleanup() if result != expected_result: raise Exception('Tests failed. Got "%s", expected "%s"' % (result, expected_result)) print('All tests were successful.') def main(): tests_dir = os.path.dirname(os.path.join(os.getcwd(), sys.argv[0])) pacfile = os.path.join(tests_dir, 'proxy.pac') testdata = os.path.join(tests_dir, 'testdata') runtests(pacfile, testdata, tests_dir) if __name__ == '__main__': main() pacparser-1.3.6/tests/runtests.sh000077500000000000000000000034001257236634500171030ustar00rootroot00000000000000#!/bin/bash pushd $(dirname $0) > /dev/null; script_dir=$PWD; popd > /dev/null pactester=$script_dir/../src/pactester pacfile=$script_dir/proxy.pac testdata=$script_dir/testdata library_path=$script_dir/../src export DYLD_LIBRARY_PATH=$library_path:$DYLD_LIBRARY_PATH export LD_LIBRARY_PATH=$library_path:$LD_LIBRARY_PATH lib=$library_path/libpacparser.so.1 os_arch=$(uname -s | sed /\ /s//_/) if [ "$os_arch" = "Darwin" ]; then lib=$library_path/libpacparser.1.dylib fi if test ! -f "$lib"; then echo "Test failed. pacparser library not found." exit 1 fi while read line do comment="${line#*#}" line="${line%%#*}" line=${line%"${line##*[^[:space:]]}"} test -z "$line" && continue # If machine is not connected to the internet and a test requires internet # just skip that test. test ! -z $NO_INTERNET && \ test "${comment/INTERNET_REQUIRED/}" != "${comment}" && \ continue params=${line%%|*} expected_result=${line##*|} result=$($pactester -p $pacfile $params) if [ $? != 0 ]; then echo "pactester execution failed." echo "Command tried: $pactester -p $pacfile $params" echo "Running with debug mode on..." echo "DEBUG=1 $pactester -p $pacfile $params" DEBUG=1 $pactester -p $pacfile $params exit 1 fi [ $DEBUG ] && echo "Test line: $line" [ $DEBUG ] && echo "Params: $params" if [ "$result" != "$expected_result" ]; then echo "Test failed: got \"$result\", expected \"$expected_result\"" echo "Command tried: $pactester -p $pacfile $params" echo "Running with debug mode on..." echo "DEBUG=1 $pactester -p $pacfile $params" DEBUG=1 $pactester -p $pacfile $params exit 1; fi done < $testdata echo "All tests were successful." pacparser-1.3.6/tests/testdata000066400000000000000000000010051257236634500164100ustar00rootroot00000000000000# Command Line Parameters|Expected Result -c 3ffe:8311:ffff:1:0:0:0:0 -u http://www.somehost.com|3ffe:8311:ffff -c 0.0.0.0 -u http://www.google.co.in|END-OF-SCRIPT -u http://host1|plainhost/.manugarg.com -u http://www1.manugarg.com|plainhost/.manugarg.com -u http://manugarg.externaldomain.com|externaldomain -u http://www.google.com|isResolvable # INTERNET_REQUIRED -u http://www.notresolvabledomainXXX.com|isNotResolvable -u https://www.somehost.com|secureUrl -c 10.10.100.112 -u http://www.somehost.com|10.10.0.0 pacparser-1.3.6/tools/000077500000000000000000000000001257236634500146565ustar00rootroot00000000000000pacparser-1.3.6/tools/buildmacpackage.sh000077500000000000000000000020011257236634500203020ustar00rootroot00000000000000#!/bin/sh -e # # This script creates a Mac package, that can be directly installed by # Installer on Mac. ver=$1 [ -z $ver ] && echo "Please specify package version." && exit # $stage_dir is where we'll install our package files. stage_dir=/tmp/pacparser_$RANDOM sudo rm -rf /tmp/pacparser* mkdir -p $stage_dir if [ ! -e src/Makefile ]; then echo "Call this script from the root of the source directory" exit 1 fi # Build pactester and pacparser library and install in $stage_dir make -C src DESTDIR=$stage_dir make -C src install # Build python module and install it in $stage_dir make -C src pymod DESTDIR=$stage_dir make -C src install-pymod sudo chown -R root:wheel ${stage_dir} pkgbuild --root ${stage_dir} --identifier pacparser --version ${ver} pacparser.pkg sudo rm -rf $stage_dir # Build disk image tmp_dir=/tmp/pacparser-$ver-$RANDOM disk_image=pacparser-$ver.dmg rm -rf $tmp_dir $disk_image mkdir $tmp_dir mv pacparser.pkg $tmp_dir hdiutil create -srcfolder $tmp_dir pacparser-$ver.dmg rm -rf $tmp_dir pacparser-1.3.6/tools/generatedocs.sh000077500000000000000000000017641257236634500176700ustar00rootroot00000000000000#!/bin/bash tools_dir=$(dirname $0) if [ "${tools_dir:0:1}" != "/" ]; then tools_dir=$PWD/$tools_dir fi docs_dir=$tools_dir/../docs src_dir=$tools_dir/../src tmpdir=$TMPDIR/pacparser_doxygen_temp_$$ mkdir -p $tmpdir cd $tmpdir cp $src_dir/pacparser.h . doxygen $docs_dir/doxygen.config if [ $? != 0 ]; then echo "Doxygen returned error. Not continuing." exit fi mkdir -p $docs_dir/html # Fix HTMLs. mv html/group__pacparser.html $docs_dir/html/pacparser.html mv html/doxygen.css $docs_dir/html/ sed -i '' -e 's/group__pacparser.html//g' $docs_dir/html/pacparser.html # Remove Doxygen logo. sed -i '' -e '/doxygen\.png/s/^.*$/Doxygen/g' $docs_dir/html/pacparser.html mkdir -p $docs_dir/man/man3 mv man/man3/* $docs_dir/man/man3/ # Remove unnecessary and bad file deprecated.3 rm -f $docs_dir/man/man3/deprecated.3 # Fix man page. sed -i '' -e 's/pacparser \\\-/pacparser - Library to parse proxy auto-confg (PAC) files./g' $docs_dir/man/man3/*.3 cd - echo $tmpdir # Cleanup temp dir rm -rf $tmpdir pacparser-1.3.6/tools/package000077500000000000000000000033501257236634500162000ustar00rootroot00000000000000#!/bin/bash -e USAGE=" Usage: $0 [-n] [-v version]\n -n : Create a new release. Tag the current repository revision as version\n -v version: Specify the version. If not specified, the latest hg tag is used. \n This option is required for a new release.\n " while getopts "nv:" flag do if [ "$flag" = "n" ]; then newrelease="yes" elif [ "$flag" = "v" ]; then ver=$OPTARG elif [ "$flag" = "?" ]; then echo -e $USAGE exit 2 fi done if [ "$newrelease" = "yes" ]; then if [ -z "$ver" ];then echo "Version should be specified while creating a new release." echo -e $USAGE exit 2 else echo -n "Are you sure you want to create a new release and tag the current " echo -n "repository revision as $ver (y/n): " read response if [ $response != "y" ]; then echo "You said no. Not moving ahead." exit 0 fi git tag $ver fi fi if [ -z "$ver" ]; then ver=$(git describe --always --tags --candidate=100 |\ awk -F- 'NR == 1 {print $1 "-" $2}') fi cd $(dirname $0); tools_dir=$PWD; cd - > /dev/null pkgdir=$tools_dir/packages/pacparser-$ver; rm -rf $pkgdir*; mkdir -p $pkgdir pkg=pacparser-${ver}.tar.gz mkdir -p $tools_dir/packages pushd $tools_dir/.. > /dev/null git archive --format=tar HEAD | (cd $pkgdir && tar xf - --exclude debian) # Create a version string. This is used at the time of build. echo "VERSION=$ver" > $pkgdir/src/version.mk # Create the tarball. pushd $tools_dir/packages > /dev/null tar czf $(basename $pkg) $(basename $pkgdir) rm -rf $pkgdir; mkdir -p $pkgdir popd > /dev/null # Create the directory to be used for debian package. git archive --format=tar HEAD | (cd $pkgdir && tar xf -) echo "VERSION=$ver" > $pkgdir/src/version.mk popd > /dev/null