fga-1.5.0/000755 000766 000024 00000000000 14413016355 012543 5ustar00mhornstaff000000 000000 fga-1.5.0/PackageInfo.g000644 000766 000024 00000010737 14413016335 015070 0ustar00mhornstaff000000 000000 ############################################################################# ## #W PackageInfo.g FGA package Christian Sievers ## ## The package info file for the FGA package ## #Y 2003 - 2018 ## SetPackageInfo( rec( PackageName := "FGA", Subtitle := "Free Group Algorithms", Version := "1.5.0", Date := "04/04/2023", # dd/mm/yyyy format License := "GPL-2.0-or-later", Persons := [ rec( LastName := "Sievers", FirstNames := "Christian", IsAuthor := true, IsMaintainer := false, Email := "c.sievers@tu-bs.de", ), rec( LastName := "GAP Team", FirstNames := "The", IsAuthor := false, IsMaintainer := true, Email := "support@gap-system.org", ), ], Status := "accepted", CommunicatedBy := "Edmund Robertson (St. Andrews)", AcceptDate := "05/2005", ## For a central overview of all packages and a collection of all package ## archives it is necessary to have two files accessible which should be ## contained in each package: ## - A README file, containing a short abstract about the package ## content and installation instructions. ## - The file you are currently reading or editing! ## You must specify URLs for these two files, these allow to automate ## the updating of package information on the GAP Website, and inclusion ## and updating of the package in the GAP distribution. # PackageWWWHome := "https://gap-packages.github.io/fga/", README_URL := Concatenation( ~.PackageWWWHome, "README.md" ), PackageInfoURL := Concatenation( ~.PackageWWWHome, "PackageInfo.g" ), SourceRepository := rec( Type := "git", URL := "https://github.com/gap-packages/fga" ), IssueTrackerURL := Concatenation( ~.SourceRepository.URL, "/issues" ), ArchiveFormats := ".tar.gz", ArchiveURL := Concatenation( ~.SourceRepository.URL, "/releases/download/v", ~.Version, "/fga-", ~.Version ), ## Here you must provide a short abstract explaining the package content ## in HTML format (used on the package overview Web page) and an URL ## for a Webpage with more detailed information about the package ## (not more than a few lines, less is ok): ## Please, use 'GAP' and ## 'MyPKG' for specifying package names. ## AbstractHTML := "The FGA package installs methods for \ computations with finitely generated subgroups of free groups and \ provides a presentation for their automorphism groups.", ## On the GAP Website there is an online version of all manuals in the ## GAP distribution. To handle the documentation of a package it is ## necessary to have: ## - an archive containing the package documentation (in at least one ## of HTML or PDF-format, preferably both formats) ## - the start file of the HTML documentation (if provided), *relative to ## package root* ## - the PDF-file (if provided) *relative to the package root* ## For links to other package manuals or the GAP manuals one can assume ## relative paths as in a standard GAP installation. ## Also, provide the information about autoloadability of the documentation. ## ## Please, don't include unnecessary files (.log, .aux, .dvi, .ps, ...) in ## the provided documentation archive. ## # in case of several help books give a list of such records here: PackageDoc := rec( # use same as in GAP BookName := "FGA", ArchiveURLSubset := ["doc"], HTMLStart := "doc/chap0_mj.html", PDFFile := "doc/manual.pdf", SixFile := "doc/manual.six", LongTitle := "Free Group Algorithms", ), ## Are there restrictions on the operating system for this package? Or does ## the package need other packages to be available? Dependencies := rec( GAP := ">=4.8", NeededOtherPackages := [], SuggestedOtherPackages := [], ExternalConditions := [] ), AvailabilityTest := ReturnTrue, #BannerString := "" ## *Optional*, but recommended: path relative to package root to a file which ## contains as many tests of the package functionality as sensible. TestFile := "tst/testall.g", Keywords := ["free groups", "inverse finite automata", "basic coset enumeration", "finite presentation of the automorphism group of a free group"], AutoDoc := rec( TitlePage := rec( TitleComment := "Note: This version of FGA is a fork of the original FGA, maintained by the GAP Team.", ), ), )); fga-1.5.0/README.md000644 000766 000024 00000002657 14413016335 014032 0ustar00mhornstaff000000 000000 FGA - Free Group Algorithms =========================== A GAP 4 package Contents: --------- The FGA package provides methods for computations with finitely generated subgroups of free groups. It allows you to (constructively) test membership and conjugacy, and to compute free generators, the rank, the index, normalizers, centralizers, and intersections where the groups involved are finitely generated subgroups of free groups. In addition, it provides generators and a finite presentation for the automorphism group of a finitely generated free group and allows to write any such automorphism as word in these generators. Note that this version of FGA is a fork of the original FGA package by Christian Sievers, available at . This fork is maintained by the GAP team to incorporate various minor changes. Requirements: ------------- FGA is written for GAP version 4.8 or later. It does not use external programs and does not depend on system specifics. License: -------- The FGA package is free software and can be redistributed and/or modified under the terms of the GNU General Public License; either version 2 of the License, or (at your option) any later version. For details see the file COPYING. Installation: ------------- The installation follows standard GAP rules. So the normal way to install is to unpack the archive in the `pkg` directory, which will create an `fga` subdirectory. Enjoy! fga-1.5.0/COPYING000644 000766 000024 00000043706 14413016335 013606 0ustar00mhornstaff000000 000000 The FGA package is free software; you can redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Version 2 of the GNU General Public License follows. ===================================================================== GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. fga-1.5.0/makedoc.g000644 000766 000024 00000000733 14413016335 014317 0ustar00mhornstaff000000 000000 ## this creates the documentation, needs: GAPDoc and AutoDoc packages, pdflatex ## ## Call this with GAP from within the package directory. ## if fail = LoadPackage("AutoDoc", ">= 2019.04.10") then Error("AutoDoc 2019.04.10 or newer is required"); fi; AutoDoc(rec( scaffold := rec( includes := [ "intro.xml", "funcs.xml", "install.xml", ], bib := "manual.bib", ), #extract_examples := true, )); fga-1.5.0/lib/000755 000766 000024 00000000000 14413016335 013307 5ustar00mhornstaff000000 000000 fga-1.5.0/doc/000755 000766 000024 00000000000 14413016355 013310 5ustar00mhornstaff000000 000000 fga-1.5.0/tst/000755 000766 000024 00000000000 14413016335 013353 5ustar00mhornstaff000000 000000 fga-1.5.0/init.g000644 000766 000024 00000001344 14413016335 013656 0ustar00mhornstaff000000 000000 ############################################################################# ## #W init.g FGA package Christian Sievers ## ## The init file for the FGA package ## #Y 2003 - 2012 ## ReadPackage( "FGA", "lib/util.gd" ); ReadPackage( "FGA", "lib/Iterated.gd" ); ReadPackage( "FGA", "lib/Autom.gd" ); ReadPackage( "FGA", "lib/FreeGrps.gd" ); ReadPackage( "FGA", "lib/ReprAct.gd" ); ReadPackage( "FGA", "lib/Normal.gd" ); ReadPackage( "FGA", "lib/ExtAutom.gd" ); ReadPackage( "FGA", "lib/Hom.gd" ); ReadPackage( "FGA", "lib/AutGrp.gd" ); ReadPackage( "FGA", "lib/Intsect.gd" ); ReadPackage( "FGA", "lib/Whitehd.gd" ); ############################################################################# ## #E fga-1.5.0/read.g000644 000766 000024 00000001534 14413016335 013627 0ustar00mhornstaff000000 000000 ############################################################################# ## #W read.g FGA package Christian Sievers ## ## The read file for the FGA package ## #Y 2003 - 2012 ## ReadPackage( "FGA", "lib/util.gi" ); ReadPackage( "FGA", "lib/Iterated.gi" ); ReadPackage( "FGA", "lib/Autom.gi" ); ReadPackage( "FGA", "lib/FreeGrps.gi" ); ReadPackage( "FGA", "lib/ReprAct.gi" ); ReadPackage( "FGA", "lib/Normal.gi" ); ReadPackage( "FGA", "lib/Central.gi" ); ReadPackage( "FGA", "lib/Index.gi" ); ReadPackage( "FGA", "lib/ExtAutom.gi"); ReadPackage( "FGA", "lib/Hom.gi" ); ReadPackage( "FGA", "lib/AutGrp.gi" ); ReadPackage( "FGA", "lib/Intsect.gi" ); ReadPackage( "FGA", "lib/ReprActT.gi" ); ReadPackage( "FGA", "lib/Whitehd.gi" ); ############################################################################# ## #E fga-1.5.0/tst/FGA.tst000644 000766 000024 00000004325 14413016335 014510 0ustar00mhornstaff000000 000000 gap> START_TEST("Test of FreeGroups package"); gap> f:=FreeGroup(2); gap> g:=Group(f.1*f.2*f.1); Group([ f1*f2*f1 ]) gap> f.1*f.2 in g; false gap> f.2 in g; false gap> f.1*f.2*f.1 in g; true gap> Rank(g); 1 gap> RepresentativeAction(f,f.1*f.2,f.2*f.1); f1 gap> RepresentativeAction(g,f.1*f.2,f.2*f.1); f1*f2*f1 gap> RepresentativeAction(g,f.2*f.1,f.1*f.2); f1^-1*f2^-1*f1^-1 gap> RepresentativeAction(Group(f.1*f.2),f.1*f.2,f.2*f.1); fail gap> # bug reportet by Ignat Soroko, example slightly modified gap> a:=f.1;; b:=f.2;; gap> g := Group( a^b, a^(b^-1), b^4 );; gap> h := Group( b^2, a^b, a*b*a );; gap> IsConjugate(f,g,h); false gap> f:=FreeGroup(3); gap> e:=Enumerator(f); > gap> g:=Group(List(e{[2..187]},g->g^2));; gap> FreeGeneratorsOfGroup(g); [ f1^2, f2*f1*f2^-1*f1^-1, f2^2, f3*f1*f3^-1*f1^-1, f3*f2*f3^-1*f2^-1, f3^2, f1*f2*f1*f2^-1, f1*f2^2*f1^-1, f1*f3*f1*f3^-1, f1*f3*f2*f3^-1*f2^-1*f1^-1, f1*f3^2*f1^-1, f2*f3*f1*f3^-1*f2^-1*f1^-1, f2*f3*f2*f3^-1, f2*f3^2*f2^-1, f1*f2*f3*f1*f3^-1*f2^-1, f1*f2*f3*f2*f3^-1*f1^-1, f1*f2*f3^2*f2^-1*f1^-1 ] gap> Index(f,g); 8 gap> n:=Normalizer(f,g); Group() gap> Rank(n); 3 gap> g:=Group((f.1*f.2)^5);; gap> FreeGeneratorsOfGroup(Normalizer(f,g^f.3)); [ f3^-1*f1*f2*f3 ] gap> RepresentativeAction(f,g^f.3,g^(f.2*f.3)); f3^-1*f2*f3 gap> Centralizer(f,g); Group([ f1*f2 ]) gap> Centralizer(f,g^f.3); Group([ f3^-1*f1*f2*f3 ]) gap> Centralizer(g,Group((f.1*f.2)^2)); Group([ (f1*f2)^5 ]) gap> g1:=Group((f.1*f.2)^15);; gap> Index(g,g1); 3 gap> RankOfFreeGroup(Intersection(Group(f.2^f.1,f.1^2),Group(f.2,f.1*f.2*f.1^2,f.1^2*f.2*f.1,f.1^3))); 4 gap> # bug #122 gap> f:=FreeGroup(2);; gap> iso := GroupHomomorphismByImages(f,f,[f.1*f.2,f.1*f.2^2],[f.2^2*f.1,f.2*f.1]);; gap> SetIsSurjective(iso,true); gap> Image(iso,PreImagesRepresentative(iso,f.1)); f1 gap> # bug with trivial image / preimage gap> F:=FreeGroup(0);; gap> homFree:=GroupHomomorphismByImages(F, F, [], []); [ ] -> [ ] gap> PreImagesRepresentative(homFree, One(F)); gap> STOP_TEST( "FGA.tst", 100000); fga-1.5.0/tst/testall.g000644 000766 000024 00000000165 14413016335 015175 0ustar00mhornstaff000000 000000 LoadPackage("FGA"); TestDirectory(DirectoriesPackageLibrary("FGA", "tst"), rec(exitGAP := true)); FORCE_QUIT_GAP(1); fga-1.5.0/doc/manual.six000644 000766 000024 00000016052 14413016355 015316 0ustar00mhornstaff000000 000000 #SIXFORMAT GapDocGAP HELPBOOKINFOSIXTMP := rec( encoding := "UTF-8", bookname := "FGA", entries := [ [ "Title page", ".", [ 0, 0, 0 ], 1, 1, "title page", "X7D2C85EC87DD46E5" ], [ "Table of Contents", ".-1", [ 0, 0, 1 ], 28, 2, "table of contents", "X8537FEB07AF2BEC8" ], [ "\033[1X\033[33X\033[0;-2YIntroduction\033[133X\033[101X", "1", [ 1, 0, 0 ], 1, 3, "introduction", "X7DFB63A97E67C0A1" ], [ "\033[1X\033[33X\033[0;-2YOverview\033[133X\033[101X", "1.1", [ 1, 1, 0 ], 4, 3, "overview", "X8389AD927B74BA4A" ], [ "\033[1X\033[33X\033[0;-2YImplementation and background\033[133X\033[101X" , "1.2", [ 1, 2, 0 ], 23, 3, "implementation and background", "X7E0D17E880A6A0AB" ], [ "\033[1X\033[33X\033[0;-2YIntegration of the package\033[133X\033[101X", "1.3", [ 1, 3, 0 ], 63, 4, "integration of the package", "X7980B0AB8471913D" ], [ "\033[1X\033[33X\033[0;-2YLicense\033[133X\033[101X", "1.4", [ 1, 4, 0 ], 80, 4, "license", "X861E5DF986F89AE2" ], [ "\033[1X\033[33X\033[0;-2YFunctionality of the FGA package\033[133X\033[101\ X", "2", [ 2, 0, 0 ], 1, 5, "functionality of the fga package", "X7B92AEAE7ACBE77D" ], [ "\033[1X\033[33X\033[0;-2YNew operations for free groups\033[133X\033[101X" , "2.1", [ 2, 1, 0 ], 25, 5, "new operations for free groups", "X86E0C3F57990A253" ], [ "\033[1X\033[33X\033[0;-2YMethod installations\033[133X\033[101X", "2.2", [ 2, 2, 0 ], 61, 6, "method installations", "X7AB44D3D80E0F85A" ], [ "\033[1X\033[33X\033[0;-2YConstructive membership test\033[133X\033[101X", "2.3", [ 2, 3, 0 ], 149, 8, "constructive membership test", "X82B7B32E783A39B0" ], [ "\033[1X\033[33X\033[0;-2YAutomorphism groups of free groups\033[133X\033[1\ 01X", "2.4", [ 2, 4, 0 ], 208, 9, "automorphism groups of free groups", "X7AEFC7BA80FA4CFC" ], [ "\033[1X\033[33X\033[0;-2YInstalling and loading the FGA package\033[133X\\ 033[101X", "3", [ 3, 0, 0 ], 1, 11, "installing and loading the fga package", "X7FB71438871FB3B7" ], [ "\033[1X\033[33X\033[0;-2YInstalling the FGA package\033[133X\033[101X", "3.1", [ 3, 1, 0 ], 4, 11, "installing the fga package", "X7C4ADCD67FB4C44D" ], [ "\033[1X\033[33X\033[0;-2YLoading the FGA package\033[133X\033[101X", "3.2", [ 3, 2, 0 ], 14, 11, "loading the fga package", "X7BAF2BE07BAB1F27" ], [ "Bibliography", "bib", [ "Bib", 0, 0 ], 1, 12, "bibliography", "X7A6F98FD85F02BFE" ], [ "References", "bib", [ "Bib", 0, 0 ], 1, 12, "references", "X7A6F98FD85F02BFE" ], [ "Index", "ind", [ "Ind", 0, 0 ], 1, 13, "index", "X83A0356F839C696F" ], [ "FGA", "1.", [ 1, 0, 0 ], 1, 3, "fga", "X7DFB63A97E67C0A1" ], [ "Functionality of the FGA package", "2.", [ 2, 0, 0 ], 1, 5, "functionality of the fga package", "X7B92AEAE7ACBE77D" ], [ "\033[2XFreeGeneratorsOfGroup\033[102X", "2.1-1", [ 2, 1, 1 ], 31, 5, "freegeneratorsofgroup", "X829FB22C7DFBEADC" ], [ "\033[2XRankOfFreeGroup\033[102X", "2.1-2", [ 2, 1, 2 ], 48, 6, "rankoffreegroup", "X7D7AE4F284F17C20" ], [ "\033[2XRank\033[102X", "2.1-2", [ 2, 1, 2 ], 48, 6, "rank", "X7D7AE4F284F17C20" ], [ "\033[2XCyclicallyReducedWord\033[102X", "2.1-3", [ 2, 1, 3 ], 55, 6, "cyclicallyreducedword", "X7DD1809D868165AD" ], [ "\033[2XNormalizer\033[102X", "2.2-1", [ 2, 2, 1 ], 69, 6, "normalizer", "X87B5370C7DFD401D" ], [ "\033[2XNormalizer\033[102X", "2.2-1", [ 2, 2, 1 ], 69, 6, "normalizer", "X87B5370C7DFD401D" ], [ "\033[2XRepresentativeAction\033[102X", "2.2-2", [ 2, 2, 2 ], 81, 6, "representativeaction", "X857DC7B085EB0539" ], [ "\033[2XIsConjugate\033[102X", "2.2-2", [ 2, 2, 2 ], 81, 6, "isconjugate", "X857DC7B085EB0539" ], [ "\033[2XCentralizer\033[102X", "2.2-3", [ 2, 2, 3 ], 92, 6, "centralizer", "X7A2BF4527E08803C" ], [ "\033[2XCentralizer\033[102X", "2.2-3", [ 2, 2, 3 ], 92, 6, "centralizer", "X7A2BF4527E08803C" ], [ "\033[2XIndex\033[102X", "2.2-4", [ 2, 2, 4 ], 100, 7, "index", "X83A0356F839C696F" ], [ "\033[2XIndexNC\033[102X", "2.2-4", [ 2, 2, 4 ], 100, 7, "indexnc", "X83A0356F839C696F" ], [ "\033[2XIntersection\033[102X", "2.2-5", [ 2, 2, 5 ], 109, 7, "intersection", "X851069107CACF98E" ], [ "\033[2X\\in\033[102X", "2.2-6", [ 2, 2, 6 ], 116, 7, "in", "X87BDB89B7AAFE8AD" ], [ "\033[2XIsSubgroup\033[102X", "2.2-7", [ 2, 2, 7 ], 123, 7, "issubgroup", "X7839D8927E778334" ], [ "\033[2X\\=\033[102X", "2.2-8", [ 2, 2, 8 ], 130, 7, "=", "X806A4814806A4814" ], [ "\033[2XMinimalGeneratingSet\033[102X", "2.2-9", [ 2, 2, 9 ], 137, 7, "minimalgeneratingset", "X81D15723804771E2" ], [ "\033[2XSmallGeneratingSet\033[102X", "2.2-9", [ 2, 2, 9 ], 137, 7, "smallgeneratingset", "X81D15723804771E2" ], [ "\033[2XGeneratorsOfGroup\033[102X", "2.2-9", [ 2, 2, 9 ], 137, 7, "generatorsofgroup", "X81D15723804771E2" ], [ "\033[2XAsWordLetterRepInGenerators\033[102X", "2.3-1", [ 2, 3, 1 ], 185, 8, "aswordletterrepingenerators", "X78917F717E5DB86A" ], [ "\033[2XAsWordLetterRepInFreeGenerators\033[102X", "2.3-1", [ 2, 3, 1 ], 185, 8, "aswordletterrepinfreegenerators", "X78917F717E5DB86A" ], [ "\033[2XAutomorphismGroup\033[102X", "2.4-1", [ 2, 4, 1 ], 216, 9, "automorphismgroup", "X87677B0787B4461A" ], [ "\033[2XIsomorphismFpGroup\033[102X", "2.4-2", [ 2, 4, 2 ], 226, 9, "isomorphismfpgroup", "X7F28268F850F454E" ], [ "\033[2XFreeGroupEndomorphismByImages\033[102X", "2.4-3", [ 2, 4, 3 ], 261, 9, "freegroupendomorphismbyimages", "X85AD957084C1E38D" ], [ "\033[2XFreeGroupAutomorphismsGeneratorO\033[102X", "2.4-4", [ 2, 4, 4 ], 272, 10, "freegroupautomorphismsgeneratoro", "X8173ECA579D6172B" ], [ "\033[2XFreeGroupAutomorphismsGeneratorP\033[102X", "2.4-4", [ 2, 4, 4 ], 272, 10, "freegroupautomorphismsgeneratorp", "X8173ECA579D6172B" ], [ "\033[2XFreeGroupAutomorphismsGeneratorU\033[102X", "2.4-4", [ 2, 4, 4 ], 272, 10, "freegroupautomorphismsgeneratoru", "X8173ECA579D6172B" ], [ "\033[2XFreeGroupAutomorphismsGeneratorS\033[102X", "2.4-4", [ 2, 4, 4 ], 272, 10, "freegroupautomorphismsgenerators", "X8173ECA579D6172B" ], [ "\033[2XFreeGroupAutomorphismsGeneratorT\033[102X", "2.4-4", [ 2, 4, 4 ], 272, 10, "freegroupautomorphismsgeneratort", "X8173ECA579D6172B" ], [ "\033[2XFreeGroupAutomorphismsGeneratorQ\033[102X", "2.4-4", [ 2, 4, 4 ], 272, 10, "freegroupautomorphismsgeneratorq", "X8173ECA579D6172B" ], [ "\033[2XFreeGroupAutomorphismsGeneratorR\033[102X", "2.4-4", [ 2, 4, 4 ], 272, 10, "freegroupautomorphismsgeneratorr", "X8173ECA579D6172B" ], [ "Installing and loading the FGA package", "3.", [ 3, 0, 0 ], 1, 11, "installing and loading the fga package", "X7FB71438871FB3B7" ], [ "Installing the FGA package", "3.1", [ 3, 1, 0 ], 4, 11, "installing the fga package", "X7C4ADCD67FB4C44D" ], [ "Loading the FGA package", "3.2", [ 3, 2, 0 ], 14, 11, "loading the fga package", "X7BAF2BE07BAB1F27" ] ] ); fga-1.5.0/doc/chapBib_mj.html000644 000766 000024 00000011003 14413016355 016207 0ustar00mhornstaff000000 000000 GAP (FGA) - References
Goto Chapter: Top 1 2 3 Bib Ind

References

[BMMW00] Birget, J. -.C., Margolis, S., Meakin, J. and Weil, P., PSPACE-complete problems for subgroups of free groups and inverse finite automata, Theoretical Computer Science, 242 (2000), 247--281.

[LS77] Lyndon, R. C. and Schupp, P. E., Combinatorial Group Theory, Springer (1977).

[Neu33] Neumann, B., Die Automorphismengruppe der freien Gruppen, Math. Annalen, 107 (1933), 367--386.

[Nie24] Nielsen, J., Die Isomorphismengruppe der freien Gruppen, Math. Annalen, 91 (1924), 169--209.

[Sie03] Sievers, C., Algorithmen f\accent127ur freie Gruppen, Diplomarbeit, TU Braunschweig (2003).

[Sim94] Sims, C. C., Computation with Finitely Presented Groups, Cambridge University Press, Encyclopedia of Mathematics and its Applications, 48, Cambridge (1994), xiii+604 pages.

Goto Chapter: Top 1 2 3 Bib Ind

generated by GAPDoc2HTML

fga-1.5.0/doc/_entities.xml000644 000766 000024 00000000047 14413016350 016011 0ustar00mhornstaff000000 000000 FGA'> fga-1.5.0/doc/chap0_mj.html000644 000766 000024 00000016711 14413016355 015665 0ustar00mhornstaff000000 000000 GAP (FGA) - Contents
Goto Chapter: Top 1 2 3 Bib Ind

FGA

Free Group Algorithms

1.5.0

4 April 2023

Note: This version of FGA is a fork of the original FGA, maintained by the GAP Team.

Christian Sievers
Email: c.sievers@tu-bs.de

Goto Chapter: Top 1 2 3 Bib Ind

generated by GAPDoc2HTML

fga-1.5.0/doc/chap2.html000644 000766 000024 00000067150 14413016355 015204 0ustar00mhornstaff000000 000000 GAP (FGA) - Chapter 2: Functionality of the FGA package
Goto Chapter: Top 1 2 3 Bib Ind

2 Functionality of the FGA package

This chapter describes methods available from the FGA package.

In the following, let f be a free group created by FreeGroup(n), and let u, u1 and u2 be finitely generated subgroups of f created by Group or Subgroup, or computed from some other subgroup of f. Let elm be an element of f.

For example:

gap> f := FreeGroup( 2 );                                             
<free group on the generators [ f1, f2 ]>
gap> u := Group( f.1^2, f.2^2, f.1*f.2 );
Group([ f1^2, f2^2, f1*f2 ])
gap> u1 := Subgroup( u, [f.1^2, f.1^4*f.2^6] );
Group([ f1^2, f1^4*f2^6 ])
gap> elm := f.1;
f1
gap> u2 := Normalizer( u, elm );
Group([ f1^2 ])

2.1 New operations for free groups

These new operations are available for finitely generated subgroups of free groups:

2.1-1 FreeGeneratorsOfGroup
‣ FreeGeneratorsOfGroup( u )( attribute )

returns a list of free generators of the finitely generated subgroup u of a free group.

The elements in this list form an N-reduced set. In addition to being a free (and thus minimal) generating set for u, this means that whenever v1, v2 and v3 are elements or inverses of elements of this list, then

  • v1v2≠1 implies |v1v2|≥max(|v1|, |v2|), and

  • v1v2≠1 and v2v3≠1 implies |v1v2v3| > |v1| - |v2| + |v3|

hold, where |.| denotes the word length.

2.1-2 RankOfFreeGroup
‣ RankOfFreeGroup( u )( attribute )
‣ Rank( u )( operation )

returns the rank of the finitely generated subgroup u of a free group.

2.1-3 CyclicallyReducedWord
‣ CyclicallyReducedWord( elm )( operation )

returns the cyclically reduced form of elm.

2.2 Method installations

This section lists operations that are already known to GAP. FGA installs new methods for them so that they can also be used with free groups. In cases where FGA installs methods that are usually only used internally, user functions are shown instead.

2.2-1 Normalizer
‣ Normalizer( u1, u2 )( operation )
‣ Normalizer( u, elm )( operation )

The first variant returns the normalizer of the finitely generated subgroup u2 in u1.

The second variant returns the normalizer of ⟨ elm ⟩ in the finitely generated subgroup u (see Normalizer (Reference: Normalizer) in the Reference Manual).

2.2-2 RepresentativeAction
‣ RepresentativeAction( u, d, e )( operation )
‣ IsConjugate( u, d, e )( operation )

RepresentativeAction returns an element r ∈ u, where u is a finitely generated subgroup of a free group, such that d^r=e, or fail, if no such r exists. d and e may be elements or subgroups of u.

IsConjugate returns a boolean indicating whether such an element r exists.

2.2-3 Centralizer
‣ Centralizer( u, u2 )( operation )
‣ Centralizer( u, elm )( operation )

returns the centralizer of u2 or elm in the finitely generated subgroup u of a free group.

2.2-4 Index
‣ Index( u1, u2 )( operation )
‣ IndexNC( u1, u2 )( operation )

return the index of u2 in u1, where u1 and u2 are finitely generated subgroups of a free group. The first variant returns fail if u2 is not a subgroup of u1, the second may return anything in this case.

2.2-5 Intersection
‣ Intersection( u1, u2, \dots )( function )

returns the intersection of u1 and u2, where u1 and u2 are finitely generated subgroups of a free group.

2.2-6 \in
‣ \in( elm, u )( method )

tests whether elm is contained in the finitely generated subgroup u of a free group.

2.2-7 IsSubgroup
‣ IsSubgroup( u1, u2 )( function )

tests whether u2 is a subgroup of u1, where u1 and u2 are finitely generated subgroups of a free group.

2.2-8 \=
‣ \=( u1, u2 )( method )

test whether the two finitely generated subgroups u1 and u2 of a free group are equal.

2.2-9 MinimalGeneratingSet
‣ MinimalGeneratingSet( u )( attribute )
‣ SmallGeneratingSet( u )( attribute )
‣ GeneratorsOfGroup( u )( attribute )

return generating sets for the finitely generated subgroup u of a free group. MinimalGeneratingSet and SmallGeneratingSet return the same free generators as FreeGeneratorsOfGroup, which are in fact a minimal generating set. GeneratorsOfGroup also returns these generators, if no other generators were stored at creation time.

2.3 Constructive membership test

It is not only possible to test whether an element is in a finitely generated subgroup of free group, this can also be done constructively. The idiomatic way to do so is by using a homomorphism.

Here is an example that computes how to write f.1^2 in the generators a=f1^2*f2^2 and b=f.1^2*f.2, checks the result, and then tries to write f.1 in the same generators:

gap> f := FreeGroup( 2 );
<free group on the generators [ f1, f2 ]>
gap> ua := f.1^2*f.2^2;; ub := f.1^2*f.2;;
gap> u := Group( ua, ub );;
gap> g := FreeGroup( "a", "b" );;
gap> hom := GroupHomomorphismByImages( g, u,
>             GeneratorsOfGroup(g),
>             GeneratorsOfGroup(u) );
[ a, b ] -> [ f1^2*f2^2, f1^2*f2 ]
gap> # how can f.1^2 be expressed?
gap> PreImagesRepresentative( hom, f.1^2 );
b*a^-1*b
gap> last ^ hom; # check this
f1^2
gap> ub * ua^-1 * ub; # another check
f1^2
gap> PreImagesRepresentative( hom, f.1 ); # try f.1
fail
gap> f.1 in u;
false

There are also lower level operations to get the same results.

2.3-1 AsWordLetterRepInGenerators
‣ AsWordLetterRepInGenerators( elm, u )( operation )
‣ AsWordLetterRepInFreeGenerators( elm, u )( operation )

return a letter representation (see Section Reference: Representations for Associative Words in the GAP Reference Manual) of the given elm relative to the generators the group was created with or the free generators as returned by FreeGeneratorsOfGroup.

Continuing the above example:

gap> AsWordLetterRepInGenerators( f.1^2, u );    
[ 2, -1, 2 ]
gap> AsWordLetterRepInFreeGenerators( f.1^2, u );
[ 2 ]

This means: to get f.1^2, multiply the second of the given generators with the inverse of the first and again with the second; or just take the second free generator.

2.4 Automorphism groups of free groups

The FGA package knows presentations of the automorphism groups of free groups. It also allows to express an automorphism as word in the generators of these presentations. This sections repeats the GAP standard methods to do so and shows functions to obtain the generating automorphisms.

2.4-1 AutomorphismGroup
‣ AutomorphismGroup( u )( attribute )

returns the automorphism group of the finitely generated subgroup u of a free group.

Only a few methods will work with this group. But there is a way to obtain an isomorphic finitely presented group:

2.4-2 IsomorphismFpGroup
‣ IsomorphismFpGroup( group )( attribute )

returns an isomorphism of group to a finitely presented group. For automorphism groups of free groups, the FGA package implements the presentations of [Neu33]. The finitely presented group itself can then be obtained with the command Range.

Here is an example:

gap> f := FreeGroup( 2 );;
gap> a := AutomorphismGroup( f );;
gap> iso := IsomorphismFpGroup( a );;
gap> Range( iso );
<fp group on the generators [ O, P, U ]>

To express an automorphism as word in the generators of the presentation, just apply the isomorphism obtained from IsomorphismFpGroup.

gap> aut := GroupHomomorphismByImages( f, f,
>              GeneratorsOfGroup( f ), [ f.1^f.2, f.1*f.2 ] );
[ f1, f2 ] -> [ f2^-1*f1*f2, f1*f2 ]
gap> ImageElm( iso, aut );
O^2*U*O*P^-1*U

It is also possible to use aut^iso or Image( iso, aut ). Using Image will perform additional checks on the arguments.

The FGA package provides a simpler way to create endomorphisms:

2.4-3 FreeGroupEndomorphismByImages
‣ FreeGroupEndomorphismByImages( g, imgs )( function )

returns the endomorphism that maps the free generators of the finitely generated subgroup g of a free group to the elements listed in imgs. You may then apply IsBijective to check whether it is an automorphism.

The following functions return automorphisms that correspond to the generators in the presentation:

2.4-4 FreeGroupAutomorphismsGeneratorO
‣ FreeGroupAutomorphismsGeneratorO( group )( function )
‣ FreeGroupAutomorphismsGeneratorP( group )( function )
‣ FreeGroupAutomorphismsGeneratorU( group )( function )
‣ FreeGroupAutomorphismsGeneratorS( group )( function )
‣ FreeGroupAutomorphismsGeneratorT( group )( function )
‣ FreeGroupAutomorphismsGeneratorQ( group )( function )
‣ FreeGroupAutomorphismsGeneratorR( group )( function )

return the automorphism which maps the free generators [x_1, x_2, dots, x_n] of group to

O:

[x_1^-1, x_2, dots, x_n] (n≥1)

P:

[x_2, x_1, x_3, dots, x_n] (n≥2)

U:

[x_1x_2, x_2, x_3, dots, x_n] (n≥2)

S:

[x_2^-1, x_3^-1, dots, x_n^-1, x_1^-1] (n≥1)

T:

[x_2, x_1^-1, x_3, dots, x_n] (n≥2)

Q:

[x_2, x_3, dots, x_n, x_1] (n≥2)

R:

[x_2^-1, x_1, x_3, x_4, dots, x_n-2, x_nx_n-1^-1, x_n-1^-1] (n≥4)

Goto Chapter: Top 1 2 3 Bib Ind

generated by GAPDoc2HTML

fga-1.5.0/doc/install.xml000644 000766 000024 00000004010 14413016335 015471 0ustar00mhornstaff000000 000000 Installing and loading the FGA package Installing and loading the FGA package
Installing the FGA package Installing the FGA package The installation of the &FGA; package follows standard &GAP; rules. So the standard method is to unpack the archive into the pkg directory of your &GAP; distribution. This will create an fga subdirectory.

For other non-standard options please see Chapter  in the &GAP; Reference Manual.

Loading the FGA package Loading the FGA package The &FGA; package is configured to autoload, so its functionality is usually available once &GAP; is started.

If &GAP; does not autoload, you can request the package with the LoadPackage command like this:

LoadPackage( "fga" ); ----------------------------------------------------------------------------- Loading FGA 1.5.0-DEV (Free Group Algorithms) by Christian Sievers (c.sievers@tu-bs.de). maintained by: The GAP Team (support@gap-system.org). Homepage: https://gap-packages.github.io/fga/ Report issues at https://github.com/gap-packages/fga/issues ----------------------------------------------------------------------------- true ]]>

You will not see the banner if &FGA; has already been loaded.

The LoadPackage command and ways to disable autoloading are described in Section  in the &GAP; Reference Manual.

fga-1.5.0/doc/chap3.html000644 000766 000024 00000011114 14413016355 015172 0ustar00mhornstaff000000 000000 GAP (FGA) - Chapter 3: Installing and loading the FGA package
Goto Chapter: Top 1 2 3 Bib Ind

3 Installing and loading the FGA package

3.1 Installing the FGA package

The installation of the FGA package follows standard GAP rules. So the standard method is to unpack the archive into the pkg directory of your GAP distribution. This will create an fga subdirectory.

For other non-standard options please see Chapter Reference: Installing a GAP Package in the GAP Reference Manual.

3.2 Loading the FGA package

The FGA package is configured to autoload, so its functionality is usually available once GAP is started.

If GAP does not autoload, you can request the package with the LoadPackage command like this:

gap> LoadPackage( "fga" );
-----------------------------------------------------------------------------
Loading  FGA 1.5.0-DEV (Free Group Algorithms)
by Christian Sievers (c.sievers@tu-bs.de).
maintained by:
   The GAP Team (support@gap-system.org).
Homepage: https://gap-packages.github.io/fga/
Report issues at https://github.com/gap-packages/fga/issues
-----------------------------------------------------------------------------
true

You will not see the banner if FGA has already been loaded.

The LoadPackage command and ways to disable autoloading are described in Section Reference: Loading a GAP Package in the GAP Reference Manual.

Goto Chapter: Top 1 2 3 Bib Ind

generated by GAPDoc2HTML

fga-1.5.0/doc/chap1_mj.html000644 000766 000024 00000022140 14413016355 015657 0ustar00mhornstaff000000 000000 GAP (FGA) - Chapter 1: Introduction
Goto Chapter: Top 1 2 3 Bib Ind

1 Introduction

1.1 Overview

This manual describes the FGA (Free Group Algorithms) package, a GAP package for computations with finitely generated subgroups of free groups.

This package allows you to (constructively) test membership and conjugacy, and to compute free generators, the rank, the index, normalizers, centralizers, and intersections where the groups involved are finitely generated subgroups of free groups. In addition, it provides generators and a finite presentation for the automorphism group of a finitely generated free group and allows to write any such automorphism as word in these generators.

See Chapter Functionality of the FGA package for details.

Chapter Installing and loading the FGA package explains how to install and load the FGA package.

1.2 Implementation and background

The methods which are used work mainly with inverse finite automata, a variation of an idea known from theoretical computer science. An inverse finite automaton is a finite state automaton over a symmetric alphabet, i.e. one in which every letter has an inverse, such that each transition between two states for a letter corresponds to a transition in the opposite direction for the inverse letter.

Most of these techniques are described in Chapter 4 of [Sim94], where the same concept is called coset automaton. The method to obtain this automaton is called basic coset enumeration, and in fact it is coset enumeration where only important cosets are defined. Here a coset Gg is called important when there are words w and v such that wv is reduced and denotes an element of G and w denotes an element of Gg.

In [BMMW00], the connection between finitely generated subgroups of free groups and inverse finite automata is used to transfer results about the space complexity of problems concerning inverse finite automata to analogous results about finitely generated subgroups of free groups.

Chapter 6 of [Sim94] describes the Reidemeister-Schreier procedure and a variant called extended coset enumeration which yields a presentation in the given generators. The FGA package uses a variation thereof for its constructive membership test: it leaves out the part of the algorithm that fills in relations and interprets the resulting extended coset table differently. This algorithm might be called extended basic coset enumeration.

Some word oriented algorithms in the FGA package use basic facts about free groups. These can, for example, be found in [LS77].

The presentation of the automorphism groups follows [Neu33]. The algorithm for writing an automorphism in the generators works first at the level of Nielsen generators and uses relations from [Nie24].

The theoretical background for most of this implementation is explained in [Sie03].

1.3 Integration of the package

The FGA package mainly installs new methods for operations that are already known to GAP. They overlap with methods in the GAP library in the case of groups of finite index. In this case, GAPs methods are usually faster, and the FGA package tries to recognize such cases and to refer to GAP.

The methods of the FGA package will only be selected when the groups involved know they are finitely generated. This may not always be the case for groups that were not created by methods of the FGA package. In such a case you will get a no method found error, or GAP may try a coset enumeration that stops with the message the coset enumeration has defined more than 256000 cosets. You may then call GeneratorsOfGroup, and try again.

Please inform the package author if you observe any remaining problems.

1.4 License

Like the GAP system itself, the FGA package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You can find the GNU General Public License in the file COPYING of the FGA package, and also in the file GPL in the etc directory of the main GAP distribution, or see http://www.gnu.org/licenses/gpl.html.

Goto Chapter: Top 1 2 3 Bib Ind

generated by GAPDoc2HTML

fga-1.5.0/doc/title.xml000644 000766 000024 00000000775 14413016350 015157 0ustar00mhornstaff000000 000000 FGA Free Group Algorithms 1.5.0 Note: This version of FGA is a fork of the original FGA, maintained by the GAP Team. Christian Sievers
c.sievers@tu-bs.de
4 April 2023
fga-1.5.0/doc/manual.js000644 000766 000024 00000010113 14413016355 015117 0ustar00mhornstaff000000 000000 /* manual.js Frank Lübeck */ /* This file contains a few javascript functions which allow to switch between display styles for GAPDoc HTML manuals. If javascript is switched off in a browser or this file in not available in a manual directory, this is no problem. Users just cannot switch between several styles and don't see the corresponding button. A style with name mystyle can be added by providing two files (or only one of them). mystyle.js: Additional javascript code for the style, it is read in the HTML pages after this current file. The additional code may adjust the preprocessing function jscontent() with is called onload of a file. This is done by appending functions to jscontentfuncs (jscontentfuncs.push(newfunc);). Make sure, that your style is still usable without javascript. mystyle.css: CSS configuration, read after manual.css (so it can just reconfigure a few details, or overwrite everything). Then adjust chooser.html such that users can switch on and off mystyle. A user can change the preferred style permanently by using the [Style] link and choosing one. Or one can append '?GAPDocStyle=mystyle' to the URL when loading any file of the manual (so the style can be configured in the GAP user preferences). */ /* generic helper function */ function deleteCookie(nam) { document.cookie = nam+"=;Path=/;expires=Thu, 01 Jan 1970 00:00:00 GMT"; } /* read a value from a "nam1=val1;nam2=val2;..." string (e.g., the search part of an URL or a cookie */ function valueString(str,nam) { var cs = str.split(";"); for (var i=0; i < cs.length; i++) { var pos = cs[i].search(nam+"="); if (pos > -1) { pos = cs[i].indexOf("="); return cs[i].slice(pos+1); } } return 0; } /* when a non-default style is chosen via URL or a cookie, then the cookie is reset and the styles .js and .css files are read */ function overwriteStyle() { /* style in URL? */ var style = valueString(window.location.search, "GAPDocStyle"); /* otherwise check cookie */ if (style == 0) style = valueString(document.cookie, "GAPDocStyle"); if (style == 0) return; if (style == "default") deleteCookie("GAPDocStyle"); else { /* ok, we set the cookie for path "/" */ var path = "/"; /* or better like this ??? var here = window.location.pathname.split("/"); for (var i=0; i+3 < here.length; i++) path = path+"/"+here[i]; */ document.cookie = "GAPDocStyle="+style+";Path="+path; /* split into names of style files */ var stlist = style.split(","); /* read style's css and js files */ for (var i=0; i < stlist.length; i++) { document.writeln(''); document.writeln(''); } } } /* this adds a "[Style]" link next to the MathJax switcher */ function addStyleLink() { var line = document.getElementById("mathjaxlink"); var el = document.createElement("a"); var oncl = document.createAttribute("href"); var back = window.location.protocol+"//" if (window.location.protocol == "http:" || window.location.protocol == "https:") { back = back+window.location.host; if (window.location.port != "") { back = back+":"+window.location.port; } } back = back+window.location.pathname; oncl.nodeValue = "chooser.html?BACK="+back; el.setAttributeNode(oncl); var cont = document.createTextNode(" [Style]"); el.appendChild(cont); line.appendChild(el); } var jscontentfuncs = new Array(); jscontentfuncs.push(addStyleLink); /* the default jscontent() only adds the [Style] link to the page */ function jscontent () { for (var i=0; i < jscontentfuncs.length; i++) jscontentfuncs[i](); } fga-1.5.0/doc/chapInd.html000644 000766 000024 00000012400 14413016355 015541 0ustar00mhornstaff000000 000000 GAP (FGA) - Index
Goto Chapter: Top 1 2 3 Bib Ind

Index

\= 2.2-8
\in 2.2-6
AsWordLetterRepInFreeGenerators 2.3-1
AsWordLetterRepInGenerators 2.3-1
AutomorphismGroup 2.4-1
Centralizer 2.2-3 2.2-3
CyclicallyReducedWord 2.1-3
FGA 1.
FreeGeneratorsOfGroup 2.1-1
FreeGroupAutomorphismsGeneratorO 2.4-4
FreeGroupAutomorphismsGeneratorP 2.4-4
FreeGroupAutomorphismsGeneratorQ 2.4-4
FreeGroupAutomorphismsGeneratorR 2.4-4
FreeGroupAutomorphismsGeneratorS 2.4-4
FreeGroupAutomorphismsGeneratorT 2.4-4
FreeGroupAutomorphismsGeneratorU 2.4-4
FreeGroupEndomorphismByImages 2.4-3
Functionality of the FGA package 2.
GeneratorsOfGroup 2.2-9
Index 2.2-4
IndexNC 2.2-4
Installing and loading the FGA package 3.
Installing the FGA package 3.1
Intersection 2.2-5
IsConjugate 2.2-2
IsomorphismFpGroup 2.4-2
IsSubgroup 2.2-7
Loading the FGA package 3.2
MinimalGeneratingSet 2.2-9
Normalizer 2.2-1 2.2-1
Rank 2.1-2
RankOfFreeGroup 2.1-2
RepresentativeAction 2.2-2
SmallGeneratingSet 2.2-9

Goto Chapter: Top 1 2 3 Bib Ind

generated by GAPDoc2HTML

fga-1.5.0/doc/chap3_mj.html000644 000766 000024 00000011436 14413016355 015667 0ustar00mhornstaff000000 000000 GAP (FGA) - Chapter 3: Installing and loading the FGA package
Goto Chapter: Top 1 2 3 Bib Ind

3 Installing and loading the FGA package

3.1 Installing the FGA package

The installation of the FGA package follows standard GAP rules. So the standard method is to unpack the archive into the pkg directory of your GAP distribution. This will create an fga subdirectory.

For other non-standard options please see Chapter Reference: Installing a GAP Package in the GAP Reference Manual.

3.2 Loading the FGA package

The FGA package is configured to autoload, so its functionality is usually available once GAP is started.

If GAP does not autoload, you can request the package with the LoadPackage command like this:

gap> LoadPackage( "fga" );
-----------------------------------------------------------------------------
Loading  FGA 1.5.0-DEV (Free Group Algorithms)
by Christian Sievers (c.sievers@tu-bs.de).
maintained by:
   The GAP Team (support@gap-system.org).
Homepage: https://gap-packages.github.io/fga/
Report issues at https://github.com/gap-packages/fga/issues
-----------------------------------------------------------------------------
true

You will not see the banner if FGA has already been loaded.

The LoadPackage command and ways to disable autoloading are described in Section Reference: Loading a GAP Package in the GAP Reference Manual.

Goto Chapter: Top 1 2 3 Bib Ind

generated by GAPDoc2HTML

fga-1.5.0/doc/chapInd.txt000644 000766 000024 00000002565 14413016350 015422 0ustar00mhornstaff000000 000000 Index \= 2.2-8 \in 2.2-6 AsWordLetterRepInFreeGenerators 2.3-1 AsWordLetterRepInGenerators 2.3-1 AutomorphismGroup 2.4-1 Centralizer 2.2-3 2.2-3 CyclicallyReducedWord 2.1-3 FGA 1. FreeGeneratorsOfGroup 2.1-1 FreeGroupAutomorphismsGeneratorO 2.4-4 FreeGroupAutomorphismsGeneratorP 2.4-4 FreeGroupAutomorphismsGeneratorQ 2.4-4 FreeGroupAutomorphismsGeneratorR 2.4-4 FreeGroupAutomorphismsGeneratorS 2.4-4 FreeGroupAutomorphismsGeneratorT 2.4-4 FreeGroupAutomorphismsGeneratorU 2.4-4 FreeGroupEndomorphismByImages 2.4-3 Functionality of the FGA package 2. GeneratorsOfGroup 2.2-9 Index 2.2-4 IndexNC 2.2-4 Installing and loading the FGA package 3. Installing the FGA package 3.1 Intersection 2.2-5 IsConjugate 2.2-2 IsomorphismFpGroup 2.4-2 IsSubgroup 2.2-7 Loading the FGA package 3.2 MinimalGeneratingSet 2.2-9 Normalizer 2.2-1 2.2-1 Rank 2.1-2 RankOfFreeGroup 2.1-2 RepresentativeAction 2.2-2 SmallGeneratingSet 2.2-9 ------------------------------------------------------- fga-1.5.0/doc/nocolorprompt.css000644 000766 000024 00000000313 14413016355 016734 0ustar00mhornstaff000000 000000 /* colors for ColorPrompt like examples */ span.GAPprompt { color: #000000; font-weight: normal; } span.GAPbrkprompt { color: #000000; font-weight: normal; } span.GAPinput { color: #000000; } fga-1.5.0/doc/lefttoc.css000644 000766 000024 00000000474 14413016355 015467 0ustar00mhornstaff000000 000000 /* leftmenu.css Frank Lübeck */ /* Change default CSS to show section menu on left side */ body { padding-left: 28%; } body.chap0 { padding-left: 2%; } div.ChapSects div.ContSect:hover div.ContSSBlock { left: 15%; } div.ChapSects { left: 1%; width: 25%; } fga-1.5.0/doc/funcs.xml000644 000766 000024 00000026740 14413016335 015157 0ustar00mhornstaff000000 000000 Functionality of the FGA package Functionality of the FGA package This chapter describes methods available from the &FGA; package.

In the following, let f be a free group created by FreeGroup(n), and let u, u1 and u2 be finitely generated subgroups of f created by Group or Subgroup, or computed from some other subgroup of f. Let elm be an element of f.

For example:

f := FreeGroup( 2 ); gap> u := Group( f.1^2, f.2^2, f.1*f.2 ); Group([ f1^2, f2^2, f1*f2 ]) gap> u1 := Subgroup( u, [f.1^2, f.1^4*f.2^6] ); Group([ f1^2, f1^4*f2^6 ]) gap> elm := f.1; f1 gap> u2 := Normalizer( u, elm ); Group([ f1^2 ]) ]]>

New operations for free groups These new operations are available for finitely generated subgroups of free groups: returns a list of free generators of the finitely generated subgroup u of a free group.

The elements in this list form an N-reduced set. In addition to being a free (and thus minimal) generating set for u, this means that whenever v1, v2 and v3 are elements or inverses of elements of this list, then

v1v2\neq1 implies |v1v2|\geq\max(|v1|, |v2|), and v1v2\neq1 and v2v3\neq1 implies |v1v2v3| > |v1| - |v2| + |v3|

hold, where |.| denotes the word length. returns the rank of the finitely generated subgroup u of a free group. returns the cyclically reduced form of elm.

Method installations This section lists operations that are already known to &GAP;. &FGA; installs new methods for them so that they can also be used with free groups. In cases where &FGA; installs methods that are usually only used internally, user functions are shown instead.

The first variant returns the normalizer of the finitely generated subgroup u2 in u1.

The second variant returns the normalizer of \langle elm \rangle in the finitely generated subgroup u (see in the Reference Manual). RepresentativeAction returns an element r \in u , where u is a finitely generated subgroup of a free group, such that d^{r}=e, or fail, if no such r exists. d and e may be elements or subgroups of u.

IsConjugate returns a boolean indicating whether such an element r exists. returns the centralizer of u2 or elm in the finitely generated subgroup u of a free group. return the index of u2 in u1, where u1 and u2 are finitely generated subgroups of a free group. The first variant returns fail if u2 is not a subgroup of u1, the second may return anything in this case. returns the intersection of u1 and u2, where u1 and u2 are finitely generated subgroups of a free group. tests whether elm is contained in the finitely generated subgroup u of a free group. tests whether u2 is a subgroup of u1, where u1 and u2 are finitely generated subgroups of a free group. test whether the two finitely generated subgroups u1 and u2 of a free group are equal. return generating sets for the finitely generated subgroup u of a free group. MinimalGeneratingSet and SmallGeneratingSet return the same free generators as FreeGeneratorsOfGroup, which are in fact a minimal generating set. GeneratorsOfGroup also returns these generators, if no other generators were stored at creation time.

Constructive membership test It is not only possible to test whether an element is in a finitely generated subgroup of free group, this can also be done constructively. The idiomatic way to do so is by using a homomorphism.

Here is an example that computes how to write f.1^2 in the generators a=f1^2*f2^2 and b=f.1^2*f.2, checks the result, and then tries to write f.1 in the same generators:

f := FreeGroup( 2 ); gap> ua := f.1^2*f.2^2;; ub := f.1^2*f.2;; gap> u := Group( ua, ub );; gap> g := FreeGroup( "a", "b" );; gap> hom := GroupHomomorphismByImages( g, u, > GeneratorsOfGroup(g), > GeneratorsOfGroup(u) ); [ a, b ] -> [ f1^2*f2^2, f1^2*f2 ] gap> # how can f.1^2 be expressed? gap> PreImagesRepresentative( hom, f.1^2 ); b*a^-1*b gap> last ^ hom; # check this f1^2 gap> ub * ua^-1 * ub; # another check f1^2 gap> PreImagesRepresentative( hom, f.1 ); # try f.1 fail gap> f.1 in u; false ]]>

There are also lower level operations to get the same results.

return a letter representation (see Section  in the &GAP; Reference Manual) of the given elm relative to the generators the group was created with or the free generators as returned by FreeGeneratorsOfGroup.

Continuing the above example:

AsWordLetterRepInGenerators( f.1^2, u ); [ 2, -1, 2 ] gap> AsWordLetterRepInFreeGenerators( f.1^2, u ); [ 2 ] ]]>

This means: to get f.1^2, multiply the second of the given generators with the inverse of the first and again with the second; or just take the second free generator.

Automorphism groups of free groups The &FGA; package knows presentations of the automorphism groups of free groups. It also allows to express an automorphism as word in the generators of these presentations. This sections repeats the &GAP; standard methods to do so and shows functions to obtain the generating automorphisms. returns the automorphism group of the finitely generated subgroup u of a free group.

Only a few methods will work with this group. But there is a way to obtain an isomorphic finitely presented group: returns an isomorphism of group to a finitely presented group. For automorphism groups of free groups, the &FGA; package implements the presentations of . The finitely presented group itself can then be obtained with the command Range.

Here is an example:

f := FreeGroup( 2 );; gap> a := AutomorphismGroup( f );; gap> iso := IsomorphismFpGroup( a );; gap> Range( iso ); ]]>

To express an automorphism as word in the generators of the presentation, just apply the isomorphism obtained from IsomorphismFpGroup.

aut := GroupHomomorphismByImages( f, f, > GeneratorsOfGroup( f ), [ f.1^f.2, f.1*f.2 ] ); [ f1, f2 ] -> [ f2^-1*f1*f2, f1*f2 ] gap> ImageElm( iso, aut ); O^2*U*O*P^-1*U ]]>

It is also possible to use aut^iso or Image( iso, aut ). Using Image will perform additional checks on the arguments. The &FGA; package provides a simpler way to create endomorphisms:

returns the endomorphism that maps the free generators of the finitely generated subgroup g of a free group to the elements listed in imgs. You may then apply IsBijective to check whether it is an automorphism. The following functions return automorphisms that correspond to the generators in the presentation:

return the automorphism which maps the free generators [ x_1, x_2, \dots, x_n ] of group to O: [ x_1^{-1}, x_2, \dots, x_n ] (n\ge1) P: [ x_2, x_1, x_3, \dots, x_n ] (n\ge2) U: [ x_1x_2, x_2, x_3, \dots, x_n ] (n\ge2) S: [ x_2^{-1}, x_3^{-1}, \dots, x_n^{-1}, x_1^{-1} ] (n\ge1) T: [ x_2, x_1^{-1}, x_3, \dots, x_n ] (n\ge2) Q: [ x_2, x_3, \dots, x_n, x_1 ] (n\ge2) R: [ x_2^{-1}, x_1, x_3, x_4, \dots, x_{n-2}, x_nx_{n-1}^{-1}, x_{n-1}^{-1} ] (n\ge4)

fga-1.5.0/doc/intro.xml000644 000766 000024 00000012367 14413016335 015174 0ustar00mhornstaff000000 000000 Introduction FGA
Overview This manual describes the &FGA; (Free Group Algorithms) package, a &GAP; package for computations with finitely generated subgroups of free groups.

This package allows you to (constructively) test membership and conjugacy, and to compute free generators, the rank, the index, normalizers, centralizers, and intersections where the groups involved are finitely generated subgroups of free groups. In addition, it provides generators and a finite presentation for the automorphism group of a finitely generated free group and allows to write any such automorphism as word in these generators.

See Chapter for details.

Chapter explains how to install and load the &FGA; package.

Implementation and background The methods which are used work mainly with inverse finite automata, a variation of an idea known from theoretical computer science. An inverse finite automaton is a finite state automaton over a symmetric alphabet, i.e. one in which every letter has an inverse, such that each transition between two states for a letter corresponds to a transition in the opposite direction for the inverse letter.

Most of these techniques are described in Chapter 4 of , where the same concept is called coset automaton. The method to obtain this automaton is called basic coset enumeration, and in fact it is coset enumeration where only important cosets are defined. Here a coset Gg is called important when there are words w and v such that wv is reduced and denotes an element of G and w denotes an element of Gg.

In , the connection between finitely generated subgroups of free groups and inverse finite automata is used to transfer results about the space complexity of problems concerning inverse finite automata to analogous results about finitely generated subgroups of free groups.

Chapter 6 of describes the Reidemeister-Schreier procedure and a variant called extended coset enumeration which yields a presentation in the given generators. The &FGA; package uses a variation thereof for its constructive membership test: it leaves out the part of the algorithm that fills in relations and interprets the resulting extended coset table differently. This algorithm might be called extended basic coset enumeration.

Some word oriented algorithms in the &FGA; package use basic facts about free groups. These can, for example, be found in .

The presentation of the automorphism groups follows . The algorithm for writing an automorphism in the generators works first at the level of Nielsen generators and uses relations from .

The theoretical background for most of this implementation is explained in .

Integration of the package The &FGA; package mainly installs new methods for operations that are already known to &GAP;. They overlap with methods in the &GAP; library in the case of groups of finite index. In this case, &GAP;s methods are usually faster, and the &FGA; package tries to recognize such cases and to refer to &GAP;.

The methods of the &FGA; package will only be selected when the groups involved know they are finitely generated. This may not always be the case for groups that were not created by methods of the &FGA; package. In such a case you will get a no method found error, or &GAP; may try a coset enumeration that stops with the message the coset enumeration has defined more than 256000 cosets. You may then call GeneratorsOfGroup, and try again.

Please inform the package author if you observe any remaining problems.

License Like the &GAP; system itself, the &FGA; package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You can find the GNU General Public License in the file COPYING of the &FGA; package, and also in the file GPL in the etc directory of the main &GAP; distribution, or see http://www.gnu.org/licenses/gpl.html.

fga-1.5.0/doc/chap2_mj.html000644 000766 000024 00000067343 14413016355 015676 0ustar00mhornstaff000000 000000 GAP (FGA) - Chapter 2: Functionality of the FGA package
Goto Chapter: Top 1 2 3 Bib Ind

2 Functionality of the FGA package

This chapter describes methods available from the FGA package.

In the following, let f be a free group created by FreeGroup(n), and let u, u1 and u2 be finitely generated subgroups of f created by Group or Subgroup, or computed from some other subgroup of f. Let elm be an element of f.

For example:

gap> f := FreeGroup( 2 );                                             
<free group on the generators [ f1, f2 ]>
gap> u := Group( f.1^2, f.2^2, f.1*f.2 );
Group([ f1^2, f2^2, f1*f2 ])
gap> u1 := Subgroup( u, [f.1^2, f.1^4*f.2^6] );
Group([ f1^2, f1^4*f2^6 ])
gap> elm := f.1;
f1
gap> u2 := Normalizer( u, elm );
Group([ f1^2 ])

2.1 New operations for free groups

These new operations are available for finitely generated subgroups of free groups:

2.1-1 FreeGeneratorsOfGroup
‣ FreeGeneratorsOfGroup( u )( attribute )

returns a list of free generators of the finitely generated subgroup u of a free group.

The elements in this list form an N-reduced set. In addition to being a free (and thus minimal) generating set for u, this means that whenever v1, v2 and v3 are elements or inverses of elements of this list, then

  • \(\textit{v1}\textit{v2}\neq1\) implies \(|\textit{v1}\textit{v2}|\geq\max(|\textit{v1}|, |\textit{v2}|)\), and

  • \(\textit{v1}\textit{v2}\neq1\) and \(\textit{v2}\textit{v3}\neq1\) implies \(|\textit{v1}\textit{v2}\textit{v3}| > |\textit{v1}| - |\textit{v2}| + |\textit{v3}|\)

hold, where \(|.|\) denotes the word length.

2.1-2 RankOfFreeGroup
‣ RankOfFreeGroup( u )( attribute )
‣ Rank( u )( operation )

returns the rank of the finitely generated subgroup u of a free group.

2.1-3 CyclicallyReducedWord
‣ CyclicallyReducedWord( elm )( operation )

returns the cyclically reduced form of elm.

2.2 Method installations

This section lists operations that are already known to GAP. FGA installs new methods for them so that they can also be used with free groups. In cases where FGA installs methods that are usually only used internally, user functions are shown instead.

2.2-1 Normalizer
‣ Normalizer( u1, u2 )( operation )
‣ Normalizer( u, elm )( operation )

The first variant returns the normalizer of the finitely generated subgroup u2 in u1.

The second variant returns the normalizer of \(\langle \textit{elm} \rangle\) in the finitely generated subgroup u (see Normalizer (Reference: Normalizer) in the Reference Manual).

2.2-2 RepresentativeAction
‣ RepresentativeAction( u, d, e )( operation )
‣ IsConjugate( u, d, e )( operation )

RepresentativeAction returns an element \( \textit{r} \in \textit{u} \), where u is a finitely generated subgroup of a free group, such that \(\textit{d}^{\textit{r}}=\textit{e}\), or fail, if no such r exists. d and e may be elements or subgroups of u.

IsConjugate returns a boolean indicating whether such an element r exists.

2.2-3 Centralizer
‣ Centralizer( u, u2 )( operation )
‣ Centralizer( u, elm )( operation )

returns the centralizer of u2 or elm in the finitely generated subgroup u of a free group.

2.2-4 Index
‣ Index( u1, u2 )( operation )
‣ IndexNC( u1, u2 )( operation )

return the index of u2 in u1, where u1 and u2 are finitely generated subgroups of a free group. The first variant returns fail if u2 is not a subgroup of u1, the second may return anything in this case.

2.2-5 Intersection
‣ Intersection( u1, u2, \dots )( function )

returns the intersection of u1 and u2, where u1 and u2 are finitely generated subgroups of a free group.

2.2-6 \in
‣ \in( elm, u )( method )

tests whether elm is contained in the finitely generated subgroup u of a free group.

2.2-7 IsSubgroup
‣ IsSubgroup( u1, u2 )( function )

tests whether u2 is a subgroup of u1, where u1 and u2 are finitely generated subgroups of a free group.

2.2-8 \=
‣ \=( u1, u2 )( method )

test whether the two finitely generated subgroups u1 and u2 of a free group are equal.

2.2-9 MinimalGeneratingSet
‣ MinimalGeneratingSet( u )( attribute )
‣ SmallGeneratingSet( u )( attribute )
‣ GeneratorsOfGroup( u )( attribute )

return generating sets for the finitely generated subgroup u of a free group. MinimalGeneratingSet and SmallGeneratingSet return the same free generators as FreeGeneratorsOfGroup, which are in fact a minimal generating set. GeneratorsOfGroup also returns these generators, if no other generators were stored at creation time.

2.3 Constructive membership test

It is not only possible to test whether an element is in a finitely generated subgroup of free group, this can also be done constructively. The idiomatic way to do so is by using a homomorphism.

Here is an example that computes how to write f.1^2 in the generators a=f1^2*f2^2 and b=f.1^2*f.2, checks the result, and then tries to write f.1 in the same generators:

gap> f := FreeGroup( 2 );
<free group on the generators [ f1, f2 ]>
gap> ua := f.1^2*f.2^2;; ub := f.1^2*f.2;;
gap> u := Group( ua, ub );;
gap> g := FreeGroup( "a", "b" );;
gap> hom := GroupHomomorphismByImages( g, u,
>             GeneratorsOfGroup(g),
>             GeneratorsOfGroup(u) );
[ a, b ] -> [ f1^2*f2^2, f1^2*f2 ]
gap> # how can f.1^2 be expressed?
gap> PreImagesRepresentative( hom, f.1^2 );
b*a^-1*b
gap> last ^ hom; # check this
f1^2
gap> ub * ua^-1 * ub; # another check
f1^2
gap> PreImagesRepresentative( hom, f.1 ); # try f.1
fail
gap> f.1 in u;
false

There are also lower level operations to get the same results.

2.3-1 AsWordLetterRepInGenerators
‣ AsWordLetterRepInGenerators( elm, u )( operation )
‣ AsWordLetterRepInFreeGenerators( elm, u )( operation )

return a letter representation (see Section Reference: Representations for Associative Words in the GAP Reference Manual) of the given elm relative to the generators the group was created with or the free generators as returned by FreeGeneratorsOfGroup.

Continuing the above example:

gap> AsWordLetterRepInGenerators( f.1^2, u );    
[ 2, -1, 2 ]
gap> AsWordLetterRepInFreeGenerators( f.1^2, u );
[ 2 ]

This means: to get f.1^2, multiply the second of the given generators with the inverse of the first and again with the second; or just take the second free generator.

2.4 Automorphism groups of free groups

The FGA package knows presentations of the automorphism groups of free groups. It also allows to express an automorphism as word in the generators of these presentations. This sections repeats the GAP standard methods to do so and shows functions to obtain the generating automorphisms.

2.4-1 AutomorphismGroup
‣ AutomorphismGroup( u )( attribute )

returns the automorphism group of the finitely generated subgroup u of a free group.

Only a few methods will work with this group. But there is a way to obtain an isomorphic finitely presented group:

2.4-2 IsomorphismFpGroup
‣ IsomorphismFpGroup( group )( attribute )

returns an isomorphism of group to a finitely presented group. For automorphism groups of free groups, the FGA package implements the presentations of [Neu33]. The finitely presented group itself can then be obtained with the command Range.

Here is an example:

gap> f := FreeGroup( 2 );;
gap> a := AutomorphismGroup( f );;
gap> iso := IsomorphismFpGroup( a );;
gap> Range( iso );
<fp group on the generators [ O, P, U ]>

To express an automorphism as word in the generators of the presentation, just apply the isomorphism obtained from IsomorphismFpGroup.

gap> aut := GroupHomomorphismByImages( f, f,
>              GeneratorsOfGroup( f ), [ f.1^f.2, f.1*f.2 ] );
[ f1, f2 ] -> [ f2^-1*f1*f2, f1*f2 ]
gap> ImageElm( iso, aut );
O^2*U*O*P^-1*U

It is also possible to use aut^iso or Image( iso, aut ). Using Image will perform additional checks on the arguments.

The FGA package provides a simpler way to create endomorphisms:

2.4-3 FreeGroupEndomorphismByImages
‣ FreeGroupEndomorphismByImages( g, imgs )( function )

returns the endomorphism that maps the free generators of the finitely generated subgroup g of a free group to the elements listed in imgs. You may then apply IsBijective to check whether it is an automorphism.

The following functions return automorphisms that correspond to the generators in the presentation:

2.4-4 FreeGroupAutomorphismsGeneratorO
‣ FreeGroupAutomorphismsGeneratorO( group )( function )
‣ FreeGroupAutomorphismsGeneratorP( group )( function )
‣ FreeGroupAutomorphismsGeneratorU( group )( function )
‣ FreeGroupAutomorphismsGeneratorS( group )( function )
‣ FreeGroupAutomorphismsGeneratorT( group )( function )
‣ FreeGroupAutomorphismsGeneratorQ( group )( function )
‣ FreeGroupAutomorphismsGeneratorR( group )( function )

return the automorphism which maps the free generators [\( x_1, x_2, \dots, x_n \)] of group to

O:

[\( x_1^{-1}, x_2, \dots, x_n \)] (\(n\ge1\))

P:

[\( x_2, x_1, x_3, \dots, x_n \)] (\(n\ge2\))

U:

[\( x_1x_2, x_2, x_3, \dots, x_n \)] (\(n\ge2\))

S:

[\( x_2^{-1}, x_3^{-1}, \dots, x_n^{-1}, x_1^{-1} \)] (\(n\ge1\))

T:

[\( x_2, x_1^{-1}, x_3, \dots, x_n \)] (\(n\ge2\))

Q:

[\( x_2, x_3, \dots, x_n, x_1 \)] (\(n\ge2\))

R:

[\( x_2^{-1}, x_1, x_3, x_4, \dots, x_{n-2}, x_nx_{n-1}^{-1}, x_{n-1}^{-1} \)] (\(n\ge4\))

Goto Chapter: Top 1 2 3 Bib Ind

generated by GAPDoc2HTML

fga-1.5.0/doc/manual.bib000644 000766 000024 00000002663 14413016335 015250 0ustar00mhornstaff000000 000000 @article{Neumann33, author = {Bernd Neumann}, title = {Die {A}utomorphismengruppe der freien {G}ruppen}, journal = {Math. Annalen}, volume = 107, year = 1933, pages = {367--386} } @article{BirgetEtAl00, author = {J.-C. Birget and S. Margolis and J. Meakin and P. Weil}, title = {{PSPACE}-complete problems for subgroups of free groups and inverse finite automata}, journal = {Theoretical Computer Science}, volume = 242, year = 2000, pages = {247--281} } @book{LyndonSchupp77, author = {Roger C. Lyndon and Paul E. Schupp}, title = {Combinatorial Group Theory}, publisher = {Springer}, year = 1977 }, @mastersthesis{Sievers03, author = {Christian Sievers}, title = {Algorithmen f\accent127ur freie {G}ruppen}, school = {TU Braunschweig}, year = 2003, type = {Diplomarbeit} } @article{Nielsen, author = {J. Nielsen}, title = {Die {I}somorphismengruppe der freien {G}ruppen}, journal = {Math. Annalen}, volume = 91, year = 1924, pages = {169--209} } @book{Sims94, Author = "C.~C. Sims", Title = "Computation with Finitely Presented Groups", Publisher = {Cambridge University Press}, series = {Encyclopedia of Mathematics and its Applications}, address = {Cambridge}, volume = 48, Year = 1994, pages = {xiii+604} } fga-1.5.0/doc/manual.lab000644 000766 000024 00000006262 14413016355 015253 0ustar00mhornstaff000000 000000 \GAPDocLabFile{fga} \makelabel{fga:Title page}{}{X7D2C85EC87DD46E5} \makelabel{fga:Table of Contents}{}{X8537FEB07AF2BEC8} \makelabel{fga:Introduction}{1}{X7DFB63A97E67C0A1} \makelabel{fga:Overview}{1.1}{X8389AD927B74BA4A} \makelabel{fga:Implementation and background}{1.2}{X7E0D17E880A6A0AB} \makelabel{fga:Integration of the package}{1.3}{X7980B0AB8471913D} \makelabel{fga:License}{1.4}{X861E5DF986F89AE2} \makelabel{fga:Functionality of the FGA package}{2}{X7B92AEAE7ACBE77D} \makelabel{fga:New operations for free groups}{2.1}{X86E0C3F57990A253} \makelabel{fga:Method installations}{2.2}{X7AB44D3D80E0F85A} \makelabel{fga:Constructive membership test}{2.3}{X82B7B32E783A39B0} \makelabel{fga:Automorphism groups of free groups}{2.4}{X7AEFC7BA80FA4CFC} \makelabel{fga:Installing and loading the FGA package}{3}{X7FB71438871FB3B7} \makelabel{fga:Installing the FGA package}{3.1}{X7C4ADCD67FB4C44D} \makelabel{fga:Loading the FGA package}{3.2}{X7BAF2BE07BAB1F27} \makelabel{fga:Bibliography}{Bib}{X7A6F98FD85F02BFE} \makelabel{fga:References}{Bib}{X7A6F98FD85F02BFE} \makelabel{fga:Index}{Ind}{X83A0356F839C696F} \makelabel{fga:FGA}{1}{X7DFB63A97E67C0A1} \makelabel{fga:Functionality of the FGA package}{2}{X7B92AEAE7ACBE77D} \makelabel{fga:FreeGeneratorsOfGroup}{2.1.1}{X829FB22C7DFBEADC} \makelabel{fga:RankOfFreeGroup}{2.1.2}{X7D7AE4F284F17C20} \makelabel{fga:Rank}{2.1.2}{X7D7AE4F284F17C20} \makelabel{fga:CyclicallyReducedWord}{2.1.3}{X7DD1809D868165AD} \makelabel{fga:Normalizer}{2.2.1}{X87B5370C7DFD401D} \makelabel{fga:Normalizer}{2.2.1}{X87B5370C7DFD401D} \makelabel{fga:RepresentativeAction}{2.2.2}{X857DC7B085EB0539} \makelabel{fga:IsConjugate}{2.2.2}{X857DC7B085EB0539} \makelabel{fga:Centralizer}{2.2.3}{X7A2BF4527E08803C} \makelabel{fga:Centralizer}{2.2.3}{X7A2BF4527E08803C} \makelabel{fga:Index}{2.2.4}{X83A0356F839C696F} \makelabel{fga:IndexNC}{2.2.4}{X83A0356F839C696F} \makelabel{fga:Intersection}{2.2.5}{X851069107CACF98E} \makelabel{fga:IsSubgroup}{2.2.7}{X7839D8927E778334} \makelabel{fga:MinimalGeneratingSet}{2.2.9}{X81D15723804771E2} \makelabel{fga:SmallGeneratingSet}{2.2.9}{X81D15723804771E2} \makelabel{fga:GeneratorsOfGroup}{2.2.9}{X81D15723804771E2} \makelabel{fga:AsWordLetterRepInGenerators}{2.3.1}{X78917F717E5DB86A} \makelabel{fga:AsWordLetterRepInFreeGenerators}{2.3.1}{X78917F717E5DB86A} \makelabel{fga:AutomorphismGroup}{2.4.1}{X87677B0787B4461A} \makelabel{fga:IsomorphismFpGroup}{2.4.2}{X7F28268F850F454E} \makelabel{fga:FreeGroupEndomorphismByImages}{2.4.3}{X85AD957084C1E38D} \makelabel{fga:FreeGroupAutomorphismsGeneratorO}{2.4.4}{X8173ECA579D6172B} \makelabel{fga:FreeGroupAutomorphismsGeneratorP}{2.4.4}{X8173ECA579D6172B} \makelabel{fga:FreeGroupAutomorphismsGeneratorU}{2.4.4}{X8173ECA579D6172B} \makelabel{fga:FreeGroupAutomorphismsGeneratorS}{2.4.4}{X8173ECA579D6172B} \makelabel{fga:FreeGroupAutomorphismsGeneratorT}{2.4.4}{X8173ECA579D6172B} \makelabel{fga:FreeGroupAutomorphismsGeneratorQ}{2.4.4}{X8173ECA579D6172B} \makelabel{fga:FreeGroupAutomorphismsGeneratorR}{2.4.4}{X8173ECA579D6172B} \makelabel{fga:Installing and loading the FGA package}{3}{X7FB71438871FB3B7} \makelabel{fga:Installing the FGA package}{3.1}{X7C4ADCD67FB4C44D} \makelabel{fga:Loading the FGA package}{3.2}{X7BAF2BE07BAB1F27} fga-1.5.0/doc/chapBib.txt000644 000766 000024 00000002224 14413016350 015374 0ustar00mhornstaff000000 000000 References [BMMW00] Birget, J. -.C., Margolis, S., Meakin, J. and Weil, P., PSPACE-complete problems for subgroups of free groups and inverse finite automata, Theoretical Computer Science, 242 (2000), 247--281. [LS77] Lyndon, R. C. and Schupp, P. E., Combinatorial Group Theory, Springer (1977). [Neu33] Neumann, B., Die Automorphismengruppe der freien Gruppen, Math. Annalen, 107 (1933), 367--386. [Nie24] Nielsen, J., Die Isomorphismengruppe der freien Gruppen, Math. Annalen, 91 (1924), 169--209. [Sie03] Sievers, C., Algorithmen f\accent127ur freie Gruppen, Diplomarbeit, TU Braunschweig (2003). [Sim94] Sims, C. C., Computation with Finitely Presented Groups, Cambridge University Press, Encyclopedia of Mathematics and its Applications, 48, Cambridge (1994), xiii+604 pages.  fga-1.5.0/doc/rainbow.js000644 000766 000024 00000005336 14413016355 015316 0ustar00mhornstaff000000 000000 function randchar(str) { var i = Math.floor(Math.random() * str.length); while (i == str.length) i = Math.floor(Math.random() * str.length); return str[i]; } hexdigits = "0123456789abcdef"; function randlight() { return randchar("cdef")+randchar(hexdigits)+ randchar("cdef")+randchar(hexdigits)+ randchar("cdef")+randchar(hexdigits) } function randdark() { return randchar("012345789")+randchar(hexdigits)+ randchar("012345789")+randchar(hexdigits)+ randchar("102345789")+randchar(hexdigits) } document.write('\n'); fga-1.5.0/doc/FGA.xml000644 000766 000024 00000000623 14413016350 014423 0ustar00mhornstaff000000 000000 ] > <#Include SYSTEM "title.xml"> <#Include SYSTEM "intro.xml"> <#Include SYSTEM "funcs.xml"> <#Include SYSTEM "install.xml"> fga-1.5.0/doc/manual.pdf000644 000766 000024 00000635733 14413016355 015301 0ustar00mhornstaff000000 000000 %PDF-1.5 %ÐÔÅØ 66 0 obj << /Length 409 /Filter /FlateDecode >> stream xÚSMOã0¼÷Wø˜H›‡ŸãxOÛ]A$Anh)u[kÛ%‰Ï‹_(Ti–¿æÍŒÇ¶[!E½ßô¿›ÅÅ•5B{¨°T¢Ù¥ H+¬ò`´ÍZ…¸ 7c´è·â|ᮞ±þDE'±Æ¿ÇüC /$úk|.V¬³~ó'.›Å?bÄ endstream endobj 91 0 obj << /Length 648 /Filter /FlateDecode >> stream xÚí˜ËŽÚ0†÷<…—É"®¯q¼œVQM[iÄu‘¢’‹3m߾έChiqÂ,ʰ@v"Åæø;çÿm#fÔ¶o“7SŸ ‹ >䔟ù²,Ö`é¼ËR­R]º_&"Ðü8g ˆ@ÿÅì#(‘¬‡DÀó¤H6£á£aPT –F9óT.œl½_é8KÏü]|€Q ŽÍC=5=?qÇ‚4ÀÃrÖÏ…#çó“‹¹£Š§X¹„;ßlCYzB º7ërkž›zŸW‰ êw »tÿç*W9ÚGK,ÐΓ|§S!a£1ïÂtÝtÃÕרÈöæÙž8"ÿ/&åéˆÁtx‡ÚÀ1ÚUU^TÐÉ6M«·ªéä†R){DRúWVU§¹±ÑUÅ,ÀÝÇ+•–즌vri öØá=lv >žÙH0ÞÏO÷iíïá.Ö?N”ètv7²V «‚å7]Œ‡M¬¶ŸZçoâËU£Heó¼ÉжS¨6âÊ6òÒ>N&ä«©BÄÊÛ?*½ÍZ+ÓR‡»]KÍ>ý8Ejs ?Îþ‰•ý›³K©‹êôPÕ^³oh&*yTE¹óVhT©@½ÿ?M,]r6Æ·×Y’ù6.“žö|a¼LRL¯| û¦VÇôZã4::üì²pýëí%ÜLËŒ/håÔÊÊ#¾`lŒ°×`˜›ÌíVjeæ÷/”Ž/oȆ©MËñAmT}Ó§Ò•*û3Š¡±Ùî“3¯û²'lót­¾ÿ}†þÅo·( 6A¡ ½ãNûÍûÅä'ñT‚ endstream endobj 102 0 obj << /Length 2140 /Filter /FlateDecode >> stream xڵˎã¸ñ>_á[d`¬%%QÜfƒtg ì4ÃìKKl›Yt$yz;_Ÿ*VQ–Üjô’l¾Šõ`½%6‡ØÜ¿<þøð\mçy¢6›"Uª6¹’qšT›‡fó%úÓQŸGÓow‰‘Üþòð×w"›ðë›ùò§{FšÅEYHD*6»¬ŠK™¾ÝØoe¹æRÖu„‘yòwe§Yžð]U&¾+ãßÃÀæËN !¢¿}ÛJëðÿÍš§[JÅFЏUàx.3"ôp´HœgÑIw½•QKËÆ uo÷ÆŸ¦Ñx4ˆõ‡»RΑI™ÇUšRíîþA-I&*NE€~JT!æPiœ§ÐÝV©¨ß¦Ed qpßo3¹Ë™øûÐ\oÇãiX£(…ŒË$›‘”„å¬ë¯ú`Þ㪈ôšLJŹHÂÕûE¤JNø+‘xt=±X»Óù2jÔ½gr³[‹¹ÙÉ4VŠ®> dr? ‘tv4í3­¦3½MCËá²?ô þ@K÷Hãcïáýiì)yµD(«–ª®æìV‘n[·MTôćÏîB“ÑшúªA„±G;FP07ŸáYÖ #ÍNæ´7ýp´^Oe¤»†Å?/‡­Štן·¹ŠP Ev… $éå˜A/¡¾5©ø•\? 20´T˜dQ¯»¯·{¶k Rÿí=­;ןtkÿm¦ëµ·]n{þ6ćÁÔ¤Q¿õt4=㞈\Õ„W¶8å6µônF,ÅЈ%M’…¤I:·<žYž¢à6Y΂ìTR@"0Ý4™R`ÇŽ´}îrôÍ6fàÛÓkÒÚ‹î1,¹ ÷ÍnM˜ÞЛ=ª7g‡€ ½Lôet'ןÁ"O´ãÙ¦©·l¢aá9s DNö¿DAÃÉܸ‘GãSï… X2G¿.õq.;é ¿àlšÝð c®ëÙGmG#:˜…˾ƒ ‡´ ýJeËàþñÒ¯w—Λ$Xíø¼Œl“ÂGf?aßÿÃ"G0&RL3jÛ2Ç7Êý~Sýúâ(Ãv‡­ß ¥yÔ:ÝL»Ä.Lˆ]˜¼Ê.œ‘'Ÿ[m½7²#)›‘9-‘^ÐUž.]z%µ¥P#ˆL½•Ú²¸ªy€p ~s´õ‘ö}ÄÂÉe𾈧ä _ù"èÅ;-Ì9Ë•j ˆ {ï$e> +3z›5†ß*óq Ä¤“ Q¤,9Rà…Žq7FÓÉ׎,¡[³àÇÞ§¥DÕ»ÞŒ¶Ö-mpâéi5ÔÖt5¨lWˆ$úÐÑî psaŸpcàí5X0ÎW®Qp&:ÁZ´}>Žz[Œ„HÝžzoFŒõIÙùW`'®3Q GVf*3p¥)­÷ÏtÚš‘æG wyGð7oÀ´|ôôpãQ43zÚƒ„‡Û)Bi“8¯]ß›á캆G·€Ó¿ Ö4Ïg7b ´=eúÊøKK¾2UÃËpÏÞýÉùZIIŽÒòš.’h„ ÜÔÇÎþëB2'ìhJò†–Ä¿œ÷-2ÊèNÀüåw‡éè³=UÙM˜~yOx¦2Gù¡Ñ'd–PÝÕæÌrù:Fp«–ËÕÚ­vƒÁ+ez5}0Ö tÏá'åðƒóŒ {né©£ùHUí‡mfÂÏ÷z@7ñÛ6¿ŒºË Ó4ÕHIÅ•ZÆ÷ˆ&©ëqÍ^­ÇT1ÍòмŠÌ3…§„3Çñ±ŒìéìúQw|ÉßhÎq¶õûÀa|¢$þ2áÑsªÔYU‹T–eqV\[šÃjËmO9¥;ËÔ¯¯7g’š™\ÄRݨ¤ë¨ûYN˜ê0 ÕÒ°Æe•CË–žÖx¬âî0„¦|v‹F–ÐGN²~{ -âX¯>_–@j.'ƾ½òz™Ì¯{½¿¾|êr°µîE4¿K£¡N pß5Ér(6r9©ñóBo?ô-¿¤ýJÅ…Kí_… tí1«X”oXb+ s=•y.â¨onDþ=1îÇOŸþ!ÄZKŽìˆ‚Yb?®C¦ò‹Eƒ&Ô¢Aù¢AT¢àÈ šÈ£ù)µW0¹Í%×ySAÎ*¥¢œ*%Zy«+ŠPÁµ;%¥¾GŸ#`YòÒúð‚(öî22µgE4@˰ j©Ð¦æö¨A+±}܃‡  ï¨–$k"‰W…Á4}fž¼¡­qwáœ~åϘ÷ÿÇÇ“|½ëÙ%ÐVç8pù Ëÿ:Éšù·$4˰ÿ“ºödì€ôÁLwŸëcol`´!æâClZߤðI†©lön SD‡CRìhºf‘¦óÕ4–É2›aEjH8{¶¦mšs¥{u]<°<’¯ÈaöE‰Ïæ-3TÞÊkZ-–¬ÞêÐòXUòÅ—:$Ž2Ì ë]Zd±Z~Ÿ{ÑvHÊlÔ{H® Kü¨2ÐÎÚ·2:Y|CDfÿ ’+ õ£FÓ-FHF^†Ò«Ä&¾ç­À$á»hØ×#ÝAiÛaµ|AÁ BïM«Ã·-J ß0€é.½„2ebAÞH.µþÜœüN(„vÔ,h·±ø4À8Zÿ%0ƪ« ß(‘øL¸r²‡ãHÓ=ŸU—7òÜðáÛ`*ü|›@,ÁtfÍñÒ)È‘i¡ í¨8‘ܧ ˜??¼û¿OyB endstream endobj 117 0 obj << /Length 2096 /Filter /FlateDecode >> stream xÚXÝoÛ8ï_áG¨J¤¾®OÙ¢ÉæK‚ÄÅ¡èîƒbÓ¶PY2Hy}¾¿þf8¤,9ò¶¹ÃÔ EÎçofÄ'ë ŸÜ~ømþáê&““”å)'óÕ$Êb–K $!ËC9™/'߃›ÛëéŸó^Ý$é$ä,ç9íR&d'Ù]÷|àîèÉL†9Ëàˆ™ˆY–Ä´é¥Ùªé,’qp˜†‹o°:(í^¡ €´ #ãàÉG'Gç: Z׉‹®ãƒvä²ëqî:P_JÊý(>œsèP‰àÔ±ÙÓÂù˜kÕúÍö¾4d_*Xxê£Áu³8L^´¦¾tDÖ,í¤Òºñy/8¶÷£èŸ÷;òË † ò5(Ðê#©TÐó¢1¤›T½ŸQ`‰8„’ú»ºb͹w3¬LÛXßÃ’ŠD˜ûháè\c\ c¶„C?Ñ¥¹}måDÂ%ˆtº ›ÂÐb©VÔëXK7Ú½ b¹Qœ@—á;Yºi ½ÆŒ™N–EýÂ) !¾MCld÷®Q+Ž ×!ZFÔçQ‡6·]çú– V·˜:cBä0ý‰®ð¼©ÚÝ_¬§Ð@”5ósg‰L†š>UŠ‚Û¶…µÛ ¸‡°u^º–ìèõn^Ò„T^"Lý±U²ƒ„=V7¯Ð²š÷tòä}¹PµyOx_þ@pS§™e<½"ù éÅã®]4G(Ø[:µl¡¬Ða™¸tEš²(ÿ…Á[žÒcБ–ÝT£Å4«–€[«O˜ÏÞiÀ[µŸ‰–¥RÿŠgߺ‰­l»!ꊺVhy›e¹:úìÉ Ÿ•ûR,€5*øÒ‡ô¬JÛ/±t=}Ç“ÁíÃW·°‰PÑÃÓþµ²`í½j*Ü9;Ü`64ÜH*ýcoȰzé‚θÁEüµ8òil T\¾oq¯éæ’èÂxâu©éSæó¢íÒÆQ›Þ ¼p$m`P¹üïKšû²~âæ'}¼tÌš˜Nú,ØÀ`B,å@#§æ¾ðåÕ톹zµ¯PUèŸÝÑÄù÷Ýü÷ǯszñúᛣNCØsýü|ý0ÿ6Í£àÓÅo X4ì7"ÞëÍÿؤÇÂuþÀÂù·Duê<¬‹º=Û¶þÀù×—çϿíS¨h׿ÝÝßÁý´AÓ†›»ù×—"Þ<>õšžŸPÖëçiƒùÝç¯÷° —§¯ÏO/_ùìE©³ÈpAÎûAÎ{AÎûA>ÿýH°TmQVær œÊQ åÖf8.l÷‡U1w®F¢Ç.¼8Èöâ £JwV÷>: ñãÌHy¤aIèQêóãÓ·»‡Û18ƒ‘5Ïr¿Ýå/Ãà¸?v]ÈŒåqÚÈ™ðËìY„<øMCAU4‰ “®LC+Ô9‰œ ‘€:+Œ3mÜéqûta€IÒàéôð¤ìðDPVœNTíâÒ‰Y×Ï-KÏ ‹8ÒÁhÍøX‡GEX'yþ³â–³ì4 ð€ÉYƒ¯2Jýâ'¦s½©Ï Ïú²MÛîþquu8vHëzϽ¾ª(DÍÕzWYƦÝV[ú#±\†ƒ1²Ûìÿ¿Ì?ü¦‚+ endstream endobj 129 0 obj << /Length 1976 /Filter /FlateDecode >> stream xÚÕZ[sã4~ï¯ðc²4BwY ì 0´Ã³ зî2ã6JjHìâ8-˯çèbÇJ”¤év–á¡cÙ–ÏåÓ§sŽNгy†³Ë3®ß]}y!EF1’’Šìj–)‰™1ª³«iv=úþ®¸oM3žPGtüáêíF8ëþšy6¼ýõ2åHåŠX¡8›pr¼¼‹uuÛ–uU,Êö£—ZÏüµ½3~pqù­Ü·sãµ»A¾ÊFëN¾`ˆ{éWwåÊz;´{jV·Myc»¥iïêi¸)ÆÆTŒŠrQÜ,‚ ³¦^n̾¼ÈÉP/¥‰œ~ïØìfÅÖQˆÝ¤à²3³ ¥€ ¦Ù„0$xÀûÇ ´rÀ€Á¬^,jkÞcYÍÏí3>Z˜Ö+Sz¨,Ï‘‚QP6KÙ£AífÜEÐÔ÷€æM½¾÷oS´fêon>µùP&!å= äÒ~þ œ2RHÄToB•(‘îÞƒ’òC ÉT7) RTÁÌ=ð0…ë5¯SbšÏ“Æ#–÷«¹NZ`ÕK±6%ä1Í{Aô¸ n­ÞcL«²5‹žDLƒ( OD¢¹©L–M²Ñj}ãVÔ2^R»ßR&aŽ4cGØ£doõ† "Í ž#²éh‘Ë¢_˜ºI“ é͜߂G)i\ ¬ó!7¤´Bï·õò~Ý[6¹…¨^š€ì¼&Æíl6Dn[»xv„\hʳG7s™­Pö»EöÛÙ/![q` –T:ÿ•†í,3W QÔÙòƒW½«™A´&R?Gud¾²æ+…(!‡dàŒ"ë 6¾àäSDtFH(d–ƒܦAÄ&O %nûà×ËÈ$BÚã2G9Ï‹û7¡°ßE•ÀðÌ®'2äw{yý½ò­á^Q±Ñþ«­cŸ±]=-sïÉèì U;AÀ~ð ãå¹òà}퓬u6„‹H]ùG.é»w>€×ÍÊß_ûËŒœûf°ov©Þcp¢»p¨¹øLãÜ…ÑgRlSl‹^3D~§çݘÆäÕ˜ØG/Í¿“¡ÛEªC¦_„€ "‰Rƒ$l‘é)а¤ÚC^õëJ°=žžj殣D!Î>Í `ú|š‘˜g]²¡Ú: xsŽÍ~ç¯,ù䇗&ÛÉç/B6¬–ò8Ùˆ…ÐxËNµoÇC¦¡b¡Ÿ‰e Jéý™,³_D3àÏ‹0åtvqÌáØ+_$.±ÜŽ}z`õO×¹k¶„*‘ðÏ´üŠ!ŠŸ½ük¯þ»ºY‹òÓ솙ž*/MNGjl¡/ÃI則èHø8Ý „OÁéèjþçKÇ&+€«ƒ‡Î)0Ol›DF8”#’š|Œ@Þ¦£‘'tö€žcîL\vƒ|2¡Êu€œœÆ´ë¦'Š¿,ÊU»w‰'¯dsú‰Jöur‰¨;|7 tÊ‹$»6²ÜVêÊšË\‚p •¿++m]ŸœQ°°Ï`—,ý¨³ÞM3]ßZ×ìíÊ´Â-“®Ií&N§¥Ý‡Ahí¯7¦¬æa‚Wâ g>Ma×§õV¬ƒ]˲*!Çuk ¾H8 ª¨Ï€v²áloÍñƒYß1Œû[Úµª·{s­‡B‘h¬Ü¥)ª0lìñÎøXô`;]&©™@Ä—y¿Îé>1…8¬Žt›ëÍ{Ø×$ô´÷w›ïU=°'òUècï|U–Fw¬L÷v–üfhª &rÓ´í¯±<<ï·Zítë†(asƒÀáÓ÷”Š­x{-?¬m^ö(jmL8@mZÆÒO¡:¤áí7Iôð¦UJ¼åò~QšUJg³þg„?’¿U¸SêÓŒ+¶‘6¡”À>óèì*¡è©°,þNù p« }7qË D;êÙÞ±x)q ‹ øjŸ%üKè“-¡ûeß/SÖÅÜíË ¡!)3¤ÀX,Drv¥ÙGé=á…Jû ò]oûï´N08Mƒœˆó^í›$Ý~<É®'PBknëìGI±DÙ„ú©;g|‘Åœ&'8ÈöZ²½|[UÍíoÚqn¸«Ó°õ _7&%S”꣑§÷áu’ CþHÿP­x¯ejªºíþ ¡¯(ÇêÌ& SÍÛ;´•0Šä硴c|ÿ¼,¼› endstream endobj 140 0 obj << /Length 1635 /Filter /FlateDecode >> stream xÚÕXIoÛF¾ûWðHÑdö! ôµ‘i C@I´4²ØÈd@RIÝ_ß7 W(+qÓö`k†³½÷Í÷¶ÁÑ}„£›«VW/¯)”*L¢Õ6¢‰@)‡/’ ”ðhµ‰ÞÅ×7¯¿¯~zy-UD0JqêæR…§°“%Íœ+ì·†É""°‰ÔL^r&‘$Z2³k("ˆºuGí_u »·7WÑ»%ÁÇ·Yñá—íuµ I¬õý-G'Ïïôò„(£%…aN äUÉpŽk¶z¶2h½X’ø¦‚óßcýÂt¸0ň¤²]xí-dªûéþRfº~Κ¦ÊïLJF·Ë¾‚%‡OY´$ ž^„Ä)Õi‚H¢¾^uI–#Õ˺ʚ¼,ŽÔžtÉ’%BÁ+„ÓÄíQéæPõbIŽ›v tq­r;z1-òFï]ÿ^F½qÝúpw_y¡@ "2À0–2E’viÏÜÏÖ²ÌjŽðw2±,ÊRŒB#…MYoYìËzý¸Þçël¿¼Õ›ÃZo~[(—Õæl‹>™Q½ƶZI@ŠS4#”#ܹ ½ž!Ar†iTp€”? ÓÒ9¦­DÄ=-ûœ¦þÒËê¡£bHg gÈ#ǰ?Õi3 Ÿ-=q0°D9—LZgO/rÈou³+½ÜyQ7 ’E¬ž…˃£ÄŸ¸Ú壔Ƶ^›Å®³ÏëÆï.Â÷›]Ö¸VVTSgûJg›G÷õCQ.¨ˆ?ûšÒ©ŸŒØI9A¼ž‡èæÕ¯Á ÇžÂ8ÞGX†ãùP ¾ŽtGy ¼2…¶²ºÎƒÅÓZ}õƒGȪbL]"*ç²}0õ¨ÐÔrÍÌõÖYáÙ–ÛÖv¿‡Ú’ZŸófçZÞç@Ëúœ-–€â7E»[­k¿f§þ´B"ÖSô(`pT@­{¬:­bào=Ð) h9XÈ'Ø$’y%-C]v¡ñ ÷†+ox‡bÝ²ÌøàÊ[l½ëéäy\ :cì½0íŒ ‘ Ìég0ýlŸÿ}Ë”fp,¸ÝS¾Ö„â΋À'ˆŠ4´?c(¡ìl^ú4—{iNƒ!ÝLùÅ9Í—@á‘8}žЧå9«aþRÕë|2LΪ<+š6ô„‚T1€á¹“"f’¢¤Óµ%Ð$~ D%ïC0‚±Þ32¸E¢Ï2‘sLšÄ\¼§…‹cb‚PYlL{‚–ìÐ2£M»dˆ–hã6D—¡¿Ã %½,»Jܺ¯ihï3íyHëÉ>+ð¬”^ÜñÝ™Áݙṻ#B!‘Ì'´æZ†y=®µÆ’CP@Žltì§{‹ŠÞøuE‡á­ÞjW.ký„2‚ÏAŒçrd°ÞïOlÀîmöuÝ·YAÉÌçéP@™•Gˆ‹*`ýÑ©Së¢÷° †¥ðO¿r¹Ó7-…A'ˆq–MþÉ q2[ê²å{ǹihÐ}hòlòÎHÓþ[‘äMýº,þ8ܛ܅Äúd(Q`ê€$IRê©ebšÁˆÒ_7ðtú4àܱˆ‹ÎŠú(Ã!‹3†ÄÃ{ý»…PI¸ÿ~uÈ ¦ˆuÐàë ’JÌz*¨ ÛñN´AJ; ZP¯`q®ï«Ì¼ÕÕ©: —ðy.a¸s¹vÐ[øšµI-”r¬|ŽÎ|Žn…‡ÈuX›ž%.cAîˆufbk{!§ÄÌC°éK…¡Úèg}´oŒTÿè£Ã›Ó† “Ø–9 ËÖø±,ßûÏùÖ)S”nتâ xP’N¸2½ÑWq¶6úÓT—(xÓ „#Œf·ËŠM pub ³M¨²G§¦­ÍXgµûÚbÔ2¥ý~!à‰ž‹ç¸NDgH8û½Þ©…o—#Õg8£ÔÒ¿hÝ•å^g]%µÉ×àLŠ{×ëƒàZµ)¤e³Yê§Ïø Ê„}w™'¤ê$ &ÁšQ‰øq¨¾èI d­þ…jnxî\  <árξæÊÿa9÷UXÌtü\øM9âä[<'5œy4Ä@ÿ>Ï]ë+«EWÒëuâõÑ0¶/ç¯( ‡¸¯ÔÙuuÁ‹zOJÿûãêêo”Ü endstream endobj 2 0 obj << /Type /ObjStm /N 100 /First 808 /Length 2161 /Filter /FlateDecode >> stream xÚÍZmoÛ6þî_ÁmQäñ}†¥í²躡é€mm>¸ŽšslÖûòï÷œËQlËj­ ZROÇçž;žŽt´P £„Zi‘„6WBG‹KAÏ­0! „-„ó Â% o¢ '¼GçEtZP1Vª•ó¢T£0ÐHŠ  =nðž6IC+¦ 3°$´Ç|Ö¡·è1uô$,@Åd…ìʢ,¼pViàèñ²£Œð@`ŒàU2–AÞb^yG¸‡¼‡A 8ð½C¡ýÊ )ŸD/}M0iLÀC¼j<æ ¦Ø ¢‚)Q ü³ ,E@ÖŽ(°»Á¤…} ¦ldÓ’DK®`"À%˜ RɧAJLèÙ ð‹#XϘErÂ9gô)ÀvE ¹Äì1 0˜ â{‹ ¶HxÒì ¸‹€Fx£ØM1–§bºHÃÞÂÁÀã=°l(GÀd"¾5 Ókxä‹(‚ p'H²ºt7.àÍlÂñœõÍ"Œkh i„K0 L…h8A1ÇPF¼œX="**ÍïX\8Èb8Âì üó&Ð PZðÑoYøKÜhGƒS Ü Yø%°'–e7y–…ÿ‚Öƒ“‘‹ìçÙ›™Èž‹G£ëá¼ÈR??ü0xôÎÿáRê7Sn nÜ̸¹äfÅͨ×£ÓÇ[“,óQ1žM¥Þ5ÍoÜ|ä&¯§ùX«,Ÿ}jSI{ßp3çfR+º©¯6v wÙÀÍ;eU-0­ _?~_•,üÃÍU“¨ÕæÍ6 ÌAîó¦òƒË'î>)¥¯k]ëÇóF ëÉò6ÔvõËÒ¨Iôr¶uôíðáY“ÀÑ>“‡µ‡ÇµÈ—o⢜ñgnN{¡ˆvEû«MPoœ7Á^//ï¾ù¡[l=^Ô †îŠÒrîe›1;|ôk­zCélk¡Œ›À‹¦×&í¦¶!Ú±nží`j“½vå¬[ôÜ4ÓÅû¦W–µ¥ãš·F`囉ÛÀïX>§5Æ¢6ã¦éÞysöe-rØ·ík¢¯xY¯èÖœ¶76¡rÕ!OjHÃzl†ÿhÉ›öïè×ÚýŸ¡¦=¹üAîmH=Ù…òu=ë‡æ2Í›_޼=™x³Ê#“™8¨w¯˜€ŒÁ'„µª0]›Wž< Ë1øàS’²Â F‰|OšÑR*©®EWCòˆ¢ë‹+­è~uÅç¸Ç”W©*ŒRU¥ª0JUa”z-Œ´å¬Žå¬$1ˆ[|}±š‘3¬æÃyñR®f>76 ÜÞ®f.§ð¾bƒÂàs•™ÕyeÒ› ,rö1.ry>¾Y&ÛOãzH™øÀÜEi6:dà·ÈÓñâ*/~*N'JõeˆW€:=ÿÄÅ3ö[‘ÀWø^ž³qºëºnж,ì=²õµñ ‹ÕAÝàbK×ùn²Èš…ÖWnQ¸kåwìùÊl:le6}ÜÞ?U&ðÏYUO·½¹ííqÙí^èFÔˆ¬€ Ú ›’¶+< ÛÅDû#÷å—éålz>º^Íç!ô˜b¬A¢óp$êËáb©& óal? Wùêf8šÓ 7’Ålþ8É”¥ a‹LmIæÕ8Ÿ,ói@,9QQxT :qE‹¼â´ðÞã›äÛòKyh£ö“rø0i]±èˆM6;°Þ‚cx ºŸ%]Åüû,ûô铼š®älq•MÆ£|ºÌ—ÙÕ|"¯‹›IóP‰â횢U¶ðØ4—ºÉ⃒°wê"k«³“,Ân_ÆâßÎõÁ”u7¯ñŸ9>*eQÚJY¾!eݱœbgG5D|±vÈ:‡7¶“¬^reùÈTwÃN¤¡Ž²ùÔùÉÚ|¦p÷Ø3;ã?0n}cp³~ŸøOÂQ1cÕV̘x\̘Ô9f¢bf—¬öˆƒn²Þú2éw’%+ùïAºÈò‰¦2Ýô"ÝÊ”ºáµ(ÅIuÃ`=I.#jÙ˜/R endstream endobj 156 0 obj << /Length 1462 /Filter /FlateDecode >> stream xÚÍYKoã6¾çWèh+†ñuØC[4A ´ 4¾mö µeG€-o%¹»ûï;|È¢ʲ³AÚC ŽL g†3ß7dp²IpróóâæöNe‰DZb’,Ö Ué Þ‚4É’Å*ù8»»ÿiþiñûí ÁHcíæR‰XFA“%ÍœìUÃdžPÂ95“ÓŒ $9IRÆ‘‚ßì7Q”¹ïNº¿z“„â_÷7ÉÇ”`Œg¿U«âÛ`óßÝÞ©É8I)H„¹å‘sKªpŽv^Ù1Ç~ª§2†ͺ©ònžr"gÓk'³n2¨$Ç öñgT!ÊT0 ï¿uÞ–ûªûä…¾§†ÐY’†x¦¯ ÁŸ¿Œ!ãkuM²© ´`—á4+S¦4R\ÂNKk˜ÕQí¡®æ)ÕrÖ>nP‚csÂgߌ(fûuÌ=(ˆLË£{4V „#)^•ULÔ‚¤¢STEœç@ Ö³¯OE]D³JUÑ Æ2ÞÍÉ«UÔ4…´¾ÀÃ^Oí#øˆ1­Ê¶Ø~wò¦¨Ì>+ÑæðySï_÷+Ø>s÷X×…Wc'ÙL„]£Æê²ÔÃÄÂîÑv½ºiðÏœr0¥Ì+ûBùMnܯë9Á³¼Ü:©Œî-¡ I&\ÏîS¶ô꫽·"wkw®º—#©$‘Pü‚A Pp²íüoŠå¾Z¹ñ.ÿºí­©LBoŸÊjã=÷¿À«ÆÍ_æMáËþ£i–!ELéh0ˆöͯÂ趨ÁPS­o ÕÇ…ç)™Uc€%¢*†Ú~ðHX¶Ú·MlÅá·#øE9!~­ÕòBøÒ 1-bðeöO`Ÿ 0(ÃHÛ7ñ¼#&…™D ÖcØ8Rp5Ï2X°³ †¥~%Ó¦AŒI61ÚÄ@A ÄÄ\ˆí3w b¸ì:9¡×ÙN‹ ?¯2qA•A™ˆPí¦úTƒÔ-&áCzzqA&âêÚ4†•£I©˜Ÿ[lw]I¾¼…€®Db–à®hŸö«K P øÒÕŸßÆ¶hZ³ÿ›L†¬cnpØO¥7¢]³’€V€õ6/+›s;Ðæ]©ó“åÃå}ŽFƒ‹3Äiß'ÄŒì{›áÜe8ÇM›EG“9eF€}–ÓòæhŒsà(ïËÛq‡[–ËQaÿU[} 8¡É+²D—¥‚œËRôXÓH©†=(ÍÝ#hu@ŠSð$ Ev–(žîv³Ç‰B\ã½ç rÂdÈdÈÄóÄ1hCžüGxB½ O¼ÿhâýXšS!¡¯zÐä$¼Áx –’ÄÄÛ¯æL²¿ Ñ›(¤‰›.(¨ébȦ± ÐsžüoµWü}È·#G Å ñ‹5ô„ñGY•»|{ïBGž‡¢}SÚè 0'ŽÞˆÑ†x3uÊÅÃ8ƒ  è CrÄE˜Þ8oÛºü<§xvh‹¾*!Óìê«¢†ÛÉh`Hc¬&£!§¢¡RLÿï¢áór_7&Ö÷çú ‚ Ê‚»ˆCSÐ#.F´·à\ ±­»d°u·9Ü<ÕÚ\K˜¾Ãþ´Þ×~daÏŽ<ÔÍ¡B Ú…* ÜYù\Ë‚„bg;X@DÕ÷û¥¬ÚÜè`Ê-0í0º)ã°Ï”÷y¬Äã âHäºm°oúî°/™Ü,pN;1luÌnG4öDfÐä;f'8¯Íhd¢‘óèå`¶Fb?Àhñ™l >“ã6ÎP´2W˜åò †Ôs§ÄqÌÓÝÓ-['åî±sAwB˜mF†l‹îŸù„Žßcö¸É)Ëb’½Î·'êþîÅqyS xçmž+ÿá¾oÂøÛþ è(²—çç¾{XÖEîïtÌ’åÎ]×õð埿.nþ+s2Õ endstream endobj 174 0 obj << /Length 2330 /Filter /FlateDecode >> stream xÚ½ZmÛ6þ¾¿BÈ}±ƒ5ÃwŠÉ%‡´h¶9´¸^ºÀ}H@öÒ/W[r%¹Ûüû¾H–,í&òêŒ`#K¢†Ã‡g†œÁÑ*ÂÑÍÕw·W/ÞÅÎÆxò}–e~X”›)Á“?íf:£Ovf77y±Þìý}iŠòT–î8šQŽâ0À÷%|ÆådSøkš¹j’¥Û/þÑ>+ŠÍ|kü]™…«íÇýº_›rmrÿY’ú‡fkv&=¾ /ßö7Œiº)MÕÑʤ&OJsço‹Ã|•g‡½¿Ë–þºÌñŸ»—×þw¹†>`Ôvt„!ÁµÞÂé°$Û"ó¿æ¸», ¿Gp©°àЉÕIŠ šÎ@}»-7w›l—”›…¿½·ó| Àg•\­úsƒ·ý†v‡b“®‚Rþ²Îvð/ßÃvÈ‚H¤™òC |ùÑä Ä ´W;4{5Vá¿’Ý~ëP#)ý«E¶Û`¦üÝ:³ã»÷7V]{½Ïa<ÇU|Êq.TÅñ%"ŸißZ` WÍ6A©r´ “šåE_'1E˜èêãäõ:y¾¤ý=I‹J½è’ô®OâŒS z³6æ¯þÏ—¨_²U£|X±6‹ßÃÜ•rS¶eha5¨^š•ùÆm><0‰ â1iܧÑH2Ý„·¥P‘ì¯#Ð/Ýúÿáöê++GŒLD’K„¹ˆ»«Ÿptï`É ¦ãèÞµÜA e¿ÛF¿^ýÛJÉ#´¤ÒCiĘaQ{Å~ìôÌ(ADêsºn©¯œúÅ@ÉGdàˆ"ëŽAb`yŠˆJ f'‡>.€•ëEmº±-#o|¸éYƒDà†d8H¼Jöo‚ϰߵ¼Fó÷Ö:ØL{yùÚ^ùäØÎk5ÃûWÔ_àyuâR¶r,­i®ñŒN`¥¹ âaø(Þ3ßß½ë°Ã ~Åb’¥þ‘[QîÝÑ`¹ûþ²$×þƒe€ìÓ›.Ùk¡‹k§/E308BÅçÒì´yVÛÚÏôÕ+ÿê0o6®É”L\«Wã0o0`Ì…ƒe»æBÇHRv6æmÈO–õ!¹nãîø(8©‹sÌ.ƒs,‘”gs{õUú,yÀ~66:Úƒ¡ê¢­ÀÓK±Zq¤ÈÙ¬†P¸‡×?6äï¾¼ß%+Sñ_Ã|¸ðÁhuu)zCìªD ÷´eLÙä¦öuÿZÖ¬^YöŽƒå` ºXr…(¹yF1/ãay°XŽb ‡¤‹*ƒÐ]’1B,ÁbC¨ã0 ±Rå|‚ïùä×çìÍI@¶z×Í{T_=^ W¿‹eˆaq!^Á–4Öô\£ø·i°÷Hw¨QQ­yˆ^Í_{Ø£æî£Pm0J] á5»΄»s“3qþ%7Þ·|0@C‹£IˤÜüiŽÎÔuüñ–öP°:ps ›s-FYÙØîƒkçÏ“Ï3ò|þð¢ÞsWùX!Î/î Âôl®l{üi}ö‹ˆ¶:a¹ºó£joéO'ŸJÁøtVñxzp¥çî¯Âáàz¸d°“¿5¤Bì¹;³àöž‡°Ô.œÆÛ Í”$Íüº3îŽ6ce(b]ÌAÏB!‘ßF–Á½vgI¢/ÄÎÅòbN§érc‹Êü˱Íü bw¨‚­÷8bQQ(Ùl!Ðà^»Š¾ˆFTŸM š›4œQB‘átQÄ ¶¦ãL?¶ ×jö·…ydú÷Ú£8FJЧäž "äj¬!ÝæqNÁôˆ“\M+}¤âŠFLqËËÝ®].Ñ¥°êu~t별.¡koM#)êe{»ÑÝdéI¦keʳS>qV âa|‚¼JwRírU~¼cÇË¿-þ3Ub’åw?™²4ù³ŸÞ´’5á—øâ@w’0‡»êP õæòÜÏ*Kº=¦32éèâ »¢[B„‚­4«¤˜­³úDM}]2†bZ7vç Uú°QÔ€9¢Ç«í¹ž½ê“3a™q «Eóv¢õ\tܹê׊í c"d³°R}@§‹kÆbí²‰3p9XrSr—§>ûGIû[ÂkpòàꃟÏRÿØö\¸Òhÿ«Yø7‚àÉ »lš`€©¡5̺ ñĤ ór:có½TwVø–vQgA£·E‘-6Éim‰˜T+ªè­±‰Ò×–»€^`sZ¼ð¥Ê™',n‘ ð#ºž…›·¿ôö‰êÖxíX}]ÈÏIzH¶þ¸ÍÕ¯„zo‹l¹H£º#í%ǰüšäêUÉzÔ¹Ù&Ͳ‘fŒjôí˜=µUyqúîXãâëIBƒEn޵0÷›ríÑ¥„#ÉHÝ,?1¼¡J¦U }QdËRsW§ô­[‰="ÒX£våO:{ëÀ²¸þí%¬¶Xµµÿ>KËMz¨ËbêQ$óÌ¢ZC+p³Øåá2JcDOQ}{™ƒ«ƒaúËÎèº~P :æñSÂ'ˆ¨”€ÂúB;n €Tg—9=Š5¬½îöxdW%F}°<ÚÑÝp¼ºcà¥ðÁú}EyëT¾ù¬ªdøúAûp:ƒ"à"I|¡:¢)DÝ£ò¨'0ù¿si8f]Ø•B`¹Æà’ ºbrÂ¥¯Rg¸=c€à•=É>ADð%Vfzœmáà™¨¶aUièÎ$iaC6¬[›©¾‚I†¤üzQ&x!«“ŠÆìÀ6{_m«›4³È\%#> stream xÚÅZ[oÛ8~ϯУÄ,ï"gv ¤@“éyw¡x’!a’\OªÒz$Ašðäz’ܤ—ç£Ûëßß]È,!i¬ÝXš!Æ)¬dGi3æû¥a°H‡’šÁcÎ$ÊIÆL ßìЏ›…pþ«YÒ}ýry’ÜŒ Æ8= œnšrYV#‚Óõü^ŽÆ:gСÒr³®Ý{9uíÔöEoÔ©_8SŽ”gþú¡pÌ+ÒD4Ò: ¼ïCH .I´Îï¿ç3CK¦Òï«rDEúX»×uUÔŪɛy¹ò]–h›?%w¬¶¡gVy–;çUQt¿¢Ñ˜iž~jü"‹º O‹ˆ„¦4,ÀAÑB%cÂàÚ‘^ŒˆHÿkˆ4ƒu–æ+Óöh2_üˆGsDe5qãæ+×똇Y±*ª¼)«Ú °ä»uáº,&#’X€.ÈÜoQ÷/x«Šu‘7~¹føÔ°cËKßåùç=§–Éöhë&_Mrˈвhʉ—²¦tíÄ·µoa‚ïxØ"l¤q³j îL/ïšÜâcú‚¬:|æ«™_³4 áÈ 5Âi˜§øGœ±VÁy¥Š]µ‰´æéõÞ]è]à)¼O–g S‘JÙÇ€ûyËðhLRCPðØOÕñT‚xÖjÚfhy$kO"íÙwÌŸÀ2Ù…󦩿w#j`)´½¶tÍÈ—v3„µWŸªh6U{ìáˆwtÇ(ƒrdÁÚÑ`LWó¦Xüˆ¤¢¶¹s³Ð1\iÍvЉ ×HÒ°y¬èÖ‚ÂÈÙ †)̉íÄÕÊ’Ç3;•ËtZXp}[å—ÇùbáÆxKñ=ô7î©qŠ#ü¶°¥N?lšð¹¨ ÷}^w6õ¦'ÿá¾Y-ƒÎV˸·^vž?€{×ßÁزH$Ò 3‹ÞRÜ-i¿ é#öšÈ·šHÐÄOu¤„ëÿ~ ÕF -Oêa†VarW"£=¨BDÉŸ)£ÄôÑtQíê¢dN$ß ‚ÕDø0ĺ`/Þ™QÄh;ÌJ ÙÌí)2tw >·²ÂuaÜ.››‹0´n ¶}VW½ðfˆK¯›rc)Ùç$F³Ÿ…6œè‡6À\®ÅXªÝ»3að°ä@—%˜¼ÙÑ !x,ΦÃjGú Š cÑÙCÿ-2®_ۀͮ½ÝÞMxkl ÅM],¦¶L *U'Üç[ïìŸîŠ®ïÆÀÛ®®Ù¾/—K )Z&Á%µþ%_ÍŠA¨#eñÖ—¨ )µ¦ýæ,"l;¯C(âZÀåæd¬±:ùx}òŸã0qB ÚG‚‰„3¨þýòäæ'øö;@Ï@uíÈ%„½ÖÑ.’üÓe’ƒûÐ’JKm¦cÒ.† u„}t[÷wf” "õK¶ŽÈÏ,ù€'%O­ð„J÷V Ø‚“×,ˆÅR>½‚ó~‰ŽŒÃ²±ÐCÇ—Ë5¬JËA4¨ðÏòõ{¯Ef^äºÎÇpË {¦ùåï¦å阎­u·Ÿ¨kŒ©ýõ×]ÝCmPÉèœ[€†§0¡(#䆒‹—"œÇŸwLøÒÓ£#}0L}¤1†”ý­ds{›ðB¤ç&ùêb½ \¢ ¥{,Gû`¤z`3¥z¨äL½X¨­£ `ò-òÎc y(},¡U\°Ä~¬†Þ‹åߦkǪÌc¹r0Xo¿un6Ìûk®ÎܸÏgîý«knß÷b‹ÃÁl Áú™`>í_±„+Ì RdO­À9E‹¸"ÎP¤æ4¸"™]Ä`&òU;wTRûà¾wGezüˆÎ•ôwTÐëb7èˆî¨¤¿£êè´&¦ÎXúç¦nü&ëµ ñ;\ža˜q?ÃôÞ¬Àž^áù!e°(õ÷Þ¶ð(‰»‘’8 ¡g]ÖõünQ¸7wKŠÓM] ßJgˆÉöfdñ›I< “áöf¢­¡ÕàDX[.²Bï%ždAâáÉI<Éâê.Ã)ƶ!Ô2Øôkmªv»2,ˆh×ÁÛc‚¶×¯¾Lbà*ªiY-=Š“ÉÜDùÂc8$ 0E×÷Åý÷Pß-0æ¶œ0ÛØ‹Zw©8Œî¯~KM~^ý&Bö¯ˆaóuUšhý¯ù¤¨£RSm/+ÚÖq:ÕÒûªÈ¿L±šl‹¢ƒE˜±$(S¼_Ša”b.ü¯Ú ÌG·o[œ Ñ*3ôÙ•™öºî£‰ó;HDñÙPCjDHøÏ¼°Ï—³zPju÷G {j5Œ¨âQá4T»ŸW§azoÍT†ß@@&Õ=ñð)÷ ×2_ï÷•ËçärqYFEõU÷T}¬$¸»VegÃõUµS_5)¢ÿÅh ã;uFO:£m¡‚1§Ð娆Žb[iîżvÃÈf‡Î^P¤Z+º=òÍ…ŒŸÐ®YÃ<ý÷ˆ˜lyã–_Z½t¤¬Ü“Kx‡THâ@ÛõÃüOóË¿­Ÿ„`+HakÊÜÎ…)ýºþyã¹õä+oÁ)ºSî^ XW·QÊÿ3½Î endstream endobj 193 0 obj << /Length 1024 /Filter /FlateDecode >> stream xÚíYMsÚ0½çWèhVô-+=¥3%3½´Mé)íI 0ÓØŒÓþü®‘ –£Ú†JS˰ìÇÛ§ÕÓ„ )"èæâíèâr˜¤±Ñ„¢Ñb ÇŒj¤ņ 4úŽî¢áÍõàÛèýåPiD 6ÄX[&°b­()Œ.ˆóbAæÒ ˜Kœ(i­F³É f†GÙÙ€Éèç<ºVéýrž¥Oö5Ðh²\å©}¯–Ùc–/fó§Gg±œ—vuŸåùäi‘¥ßÝ7YiáÂM'éüåãe–»_ÏÓšÍ\LÒå8. A1UØp OŽ¥06ý"½+†D@’’`.fíXX<0Aå_>EÕ×[@é.¦„hÅ&Ñdr³~f«Åõ@’ÈV< $²Uß@ë >xP7‡¸B»*m+2…7Êm¦ØV£“ª]–æEbë¤bUÛPI¾ùJ$qÞŒç-Q˜°»iá*•%LK3ðF7´Û2”&³mnEÌ’7å/öK0çÜïx?ø||uøÈ=àY(„àùr¦O#>ŸÏø4â3:ãӈϧ3>øÜž$>uÁsÃ17 p‰qä¥FÁ`¥ ,ªbÉ~òs6¿ŸÙåãxñT³ŒìjZbâLî\©Ä+U‚LÔ¼¬âW P! WXq墵ò» 2)á¨bõ&O`ÆE[4îEc£ÅäÕUñ öAÊG0F1Èc?°hÊ$ ‰çg™|³pga BT` ï”³ªhà›¤Ï&ͱ)re KêÎóWâUú䇚êÌ0ÜGH«€ò~ñp § S³qD­&W˜1à¿Æš›VÁRÃ&ƒÝÂdO´Òh¥_@+eÚx%¼TZx¥=^U†›î,[ÓM·*Ú•lç“¡°ë%Ý4+4Ê|òQj0K”#ŸÛB¾}…è4–Nzò޵„­/˜‚/c«éÂÖÒ†uà*SX1êÊ/GåªöØSçEmË·0qÇI¶/ÍljŸ§tû”îÂ|.A"$þ”þüÏH„¤{‰ v$ßÞ©²@ªÒK•wMµæêE¨vD¼¶JüadJá6TÃÊœþôÛ¦†‡íÊú=¦ºH*I±dÌ߬£Ñ+UÏz®×=—/éyë "Ùk<´(@~¸‹i糩oMÖÙw<›¤}Uöéo¨²ªëžn'«mŽ$êèñ”Ôaon_Ýþï:ªå9ôUy¿±ÜOmâä.æo@&r»Ú9ÃúE¯[ÊϯÁzýªÅÌõµc/@6þ¨W•N¿CñªCñu C~7ñÝó„ÏÿuåžïF¿«CI endstream endobj 199 0 obj << /Length 1671 /Filter /FlateDecode >> stream xÚÅX[oÛ6~ϯú$ËH‰0´ëš¬Åt1`hû@ÛŒ-T–\]šåßïð"ÙŠì8n ,@ ЦÎå;‡Ï!–n.°þ:½¸¼<  Ay0½ 8ãà1*ƒé"ø¾^©M£«ID9ÙäóôÝF8èþ«e°ûúáÆ Q’&ÄÅAK”æä½-êFåyV,HU,Ü /Õ¢ŸmVÚ ®o^¹ÁFÍ¿¨¥vx¬*# êUñ{U ‘gØ|ŒÆxdسMH‚‘IJó|OcgÁÔÊ 4ÌœpÕdeáfÊ;ódV ¼¼NÉ®™ ˆ³rŒ vÑP™A9Ž»EyVü]™çå„òð¾v ¿X¨j±O!a™t‚n^½ß«#Æy·¨js]#-“ð¶Üú2TfßÖºY•~œysÿI[³:ŽK›waY5}T5_eÆ¡oÂC?™VŽ–µ9IwmN¢d‹Ð—å>LjD‚ÉnÑ"«ô¼)«'ØÆ že[íÃöŒˆŸ]"’­†º©²Ù„â°5 (2‚!Y,8 ë>Ës7šWZ5Å> 3›«·þn©Ž»X·³­—‚‡ÈáÏ8†Í“:üc¿ÿ¯ ÜeeLŒÃ`¶CemÃlÜgj÷ó&תÖîx’Ð{:4 ?a޽µ|c¶>Õ>è;ø‚¤¡.æújÅ,ìV£O9ñûþ~ˆn÷ëCu¤ß_`q²ÂaSˆ+X5ÀâÀ^%ažž”Ö%㎠ퟪhU޶Xl9-Š Jž!:ˆÞ1=Ùþø.f=Bk{p€“DÆG9K '#Îb†&ý™ˆÃyY|˜.ÛJ/Ü/f—›§j›Òœ?Á«daí§³¦vƒ»¶˜›$TyÖ< …¶5 œûIeöÞ7Ã&*ËÕ,÷”& {c#.ȱ'“> @¯K$#Ù‘Z—H»U£nßAúH– ¼½Û{( Á§YL{Â[”Úò­„íÚ˜Aº !ÿÖÜ‚¹*Ü‚JmuݸYÏèéîá"Ÿš•›>@»4¦HrÑ™aðýáÍ( Ûeoó¼\¯]Qšòì‹ÙȺӖÕW6OßL/¾^˜€à€te 3T d?__|üŒƒüö¶“ipoW®Äó]Ü^üåk €•‚ D8ƒ˜ah5q&½ùW­ÐÆš%ˆù=ªæ'Ö|¡OÉÀÀšÊ‘NRHò#":#A1Xù¤B ¸Ü‹Ør±2nö€,A"d6l9 NñRm~ñœf¾°Úî„ã5©»›UÄ%vþœ/ÜÐðúϘò™õ Ü#{2.ch¡ æDœ â0pJ[LpÑž?À#zÖßþ…ãDïq8Ù‰1 6Ây`€£‘ÄÉ–cì!Gpw¸q‡AŽE¿½ù»O|]iíÞnª²Ý¸u¯òeY­­k[ àTëÇþE ÌÏ•ˆHŸ³çÔëUõefèÜ8v›éoºª·îÏQí¦^6m4«ÑBÑ.ŸlðØg8ÛÄy\& ¢ÌÇ|­ €S&÷fWO¸qª c/0ABþ˜C±(RŶm¢MHS¾šÁT«µ‹Ÿ YÝn6eÕ¼ŽŒê‡ºÑkTVËca;ÙÚ‘Ã4•Ð`ž#lT2hí„s÷÷r­7ÀÚWÎ×UÓlàX'áå¥qÐW5ZÂvlg(+/Ð/;z²•c?skp–ü„˜"–®Ê7as^fuÝêÚÅT5»žƒÛÎS¨|v0=Sm]÷ŸàdóÇÀQœB•z„D1ÿÃátºcàdMÏ”ò> stream xÚµVMoÛ8½çWèH1ËoJ¹ÙÞ$Ø .ŒØEi²MÛÄÊ’ -òïw(2Z;Ѧ-v÷P$g†œ÷gL¢CD¢û+ÆÙúêÃ’X'šFë}¤–\FJ(ÌE­wÑz4{SÇ4A¦Øš&þ¶~"€»Ž(Á)I{wM$ÇÂû=Í‹/„|»ðˆž&’ô€'sO%hfûàÓ^Â$h6™ß(sÛ„­·ER´0Ù¶‹Y±ó˘RŠ‚÷—8!ÈØ¦‰fh¹ZÆ)CÓX4¿lËS•›ÖxÛª.7¹95~¶/kwåH¬¢ åXŠÔgÔt›C]vr.P¹÷ã¾6Æïö×r¶p‡þS‰LÝô–}%„¶ ~Y×–§¬Í°;øÃ&ç 2üðõ—X \kdZ»Ír`ùt-ÐÔÏV[ë¸òÁ.¢\` ‡`×}¦®œèä2[&Ø ú+cŠ%Àf6#„`Ï(&‘ÿ“RDõ!º\xì¹æŠ ~!€A/cXRóq¥õ½0Íz,.;&ä„ãÆ±”è¹Ø•…›§p·±tPg]îg·Á|µ=vU5Ž0‡;Nsc‹¬-k›… ÷u,$rý´çày_–œ‡‚³¹ThUÕ¶p €®ýmiªõ¯ QÄ?Ée œŠ€¥ X~2çoÁdŒ£™©{q&}21EÝ)+ ¸ªNô›ušL8š:M–uu´ÍɇÀ3Þg×ë L@ø 4¿xߣørÍ1yPY{ÄÞkZYî®PŒ©  ½§Ô*%ú†«^¨G€…R7 {@ã@tDøÙÀÀÌ*‡z_oŒuM+¨(Ÿ½á¬Îº¢Ù¿{8R%…¿.΄ðÿÇS:"O¦µ¯¾© £òԌʋ‚¼ˆNÏŠ*t¨¬µ}¹†ßgâÎÕVëºaþì÷–¾Áü[³óKCnFËnª#u¦JN° /§Ì»“ñ‰ÄÇ*÷cV ft¨7·Åöy›—•ÙÙìEÏ 3öŠ÷À½}÷| ´p»mü‚ïFðaÛ°2­ª:¶C`< 9$çH›g§Mmwãc|.ì¹lmûì×—µišPù—¡¦â?j٠Γ„†Í.Œo×WÁ2ƒé endstream endobj 252 0 obj << /Length 798 /Filter /FlateDecode >> stream xÚÕ˜OoÚ0Æï| [iqm'¶“ÃÔ©+0íÐíC³†åÏ4öégÇ(•&ë8 GQüøçׯ_?%@`ÔC•özÖ»2 ˆ¹Í1˜-gš0Ž ÆÌ<ðpqzâçå×Ù»mÇ«!·FÐANÞ ƒbˆQÑá 6­·ªƒTçûßa §òóü³7Z" ”Z ^‚ò‹É¨ BÑ?Š`Ú6!µœˆÖ’0è`Ò‰Ö6ˆ$‘m>B?ùÅÞHSqià‹x"Ö·á0b$B»i'µ˜\. =5bvg!^ Y-h$% Öd!žCÒ‚1K£U¯ýD1®Fq”­ëÈ mÓ<Ì9VhëUÆz„ÓØ ü_"®Ãa"|" ;N£¥÷ƒ4ØÌîÁf¢‚$¼l.<µ¶õÓ†¦MZaS[Q«•b3õŸ)k6Õœ½Ùîm%5[™©ãÅÁ´xÙliS*&¿¿«r<…ÓÏÞ6}WÉvkkImMçTRŒP õç¢~8Ôçƒ:yeTúפÓó êì|P?ýo¨7¡Bõ¶¨×›Û•»õ€™Ð²[9i•ÊÅÊTY8Oý(”§kº¹Ì»E ݦB?È#F?¬Ýù“$mµ°£²¡ÛY¢±ŠÒ¢ŸáAHÅ­WAˆ ±Íº)´K+–ƒÜêPLZ ·‚ŒB¬2v’Jëã‡Knèé‡ r½íÛ¶ã2RÙšTY:õ€?ÚE$q"ÔRùZ{)b2‹w“!…v™)Dá÷léʻƫÙå̶Щ ׇí#Âðä05Ü* í Ù4û¶ i\·\7|ª-ÿ$ϨN8 íRÖ*Žñ"7ùšH_Û’CµƒUm«˜ØÂ (r ³ÿ`Šu,yo×Gÿ‡èç>£ýÔb'¤ÖT&V ­Fn¤ýKН£bÂry®S"» K‹ãòÅüfÖû u}°Â endstream endobj 153 0 obj << /Type /ObjStm /N 100 /First 871 /Length 1998 /Filter /FlateDecode >> stream xÚ½ZK·¾Ï¯àѹpXV‘€`À( †¥ƒAEBœ]cµœï¯z¸«íîˆÞ™ôaÀîžbñëzÙ¤=•Dµ$U ”ZÃÀ‰$~¸vÃ}M"‚Ñ“JÅØ’zÐõTtVR5ÛQ27ãdô¦Éºc¬É•0Zò†ùæ©qÇØRó ë©輤T¥”º¡ø“³pbun´‡%Œ;Ç< @J˜à@¤€JAgx<þ  7£àA/X¥á×3VïAb‰K,Ù ³!&⎠`ÆÔÄx„'qQAŒ™,½oÀ,q-X¸W\„L;Öj§Äbí`èx#6nBMÜ7˜ÈRSOR È ã¢òŠ‘,‹$Yô¹ 5hIxA­I´ÆÔ+r±$¾ðqƒVñBIz .=)oúRN&,++”­Jñªqa¡TÌ„pÆihÅ‹4 ¦.BšÁع1áº``׃ì`.-C×U`L-U a½j È@[vù¦ÚAØ î«UÙ0V­†è“)¸2V70Â…'³Ä-a š„EË0F‰ZÄ‘Ì:'2 øqÊÞt޶‚/Œ†–»Lc`笽®á<r‘Oq×{.‚ }š‹¸L»Èég\ä!Z„ìZ©gi¥æ(CNÑáÚÄ÷b½§ÜG‚áSõÙøž>[yŠ>·_]\\‚ã«¥^ HŸ¬¼ü¿Ù¾øð¯ëåþï.þ³Ù~}yõËîjY¡¼Þþmû÷í7¸Ë×é-^Fª¼FQãY!¼Hx(Ä´YîVAöÕ"äiû×Ë—— *úâí»ë]þ~÷á¿o..Dþ¹£¿FÓæv@ús{ˆö1s{€Ö`n¨ïæhpÛߊ°åÔçh¥dÑ9 ¨Gsõ9™¡2ÏQœžâ‡‰.Þ}ô¢§ºG—{îÑéÄp×yÚþH‡î»e›£EjiÅ×H-˜ët¿,{²Üû}¹û©roóroó~ÿm…/ÃGÏOËýÁJìRµ’ÛWå–;?j%wᮑ8ä#Éë‰êöêõG?xRVŠþ6 E{»mŒ>Æ6ÆýËFg{R£åæ&‹¡µÌ†>¹F%ëÑOÖ\à[ˆ~ïÁ4ö¤’Ò×i*qæ†VYzîѪSÏ.¶OìcÐóa¸•CÑ›;·r šÍx ‚F ~t‹Aíóë÷ó­O†ucà‡ØB˜.˦Ü»¯£‡[ (%Ê’¢fo=TBŒ¢ØRª(Q:h(JTzmÒ'Õbk2´’í´È?ˆ0œL 5R›bl¹ºÏˆ<КÌÑBibs´·,eޝ„LòeËÑ ýɬñ±Nxjn¨÷:®ªcá›=¹F. ‘ hä‚QŶâ~¤1òeŒ#·ðÈ-<øñàǃ~2øÉà'ƒŸ ~2øÂ‹G5Åc+t´?ütðÓÁO?ütðÓÁO?ü´Ÿ3çu^v¢bõÔ‘mf P8·Ÿ/ÀÀe{ 7D[è¥fùEÌ£U pElƒx«#çÄÞ.òlî×­Ö íœù.ÖŒ-rÍË>sA Fʃ'{çU Öjð†(54NQPõø¨†TÖɺÈl°¢Üu‹c©’µ.Å3;#¸ÀrFB¿{Ô J@B,m¼†pÄsEÿîpBæ8‰ÃsóUêÐ1ÄŽŽ,ÇT{1hë]Äãê}Â(KÛï,/FQ‡£^Ð(üˆ*¨ü@ÀãˆêÒpáµ1úP»B[V—•A0"Œó κ2ˆ‚2Üî€`<÷º.é–Kœ2Þ€@MÜØVÑ…¸Þ‚a{-ªa€ …nîÇá[¦r¼YíçLœ%‹£€š5Ž—Ñ(Ô807GíÛV T7™SUlÕÛÔ)Hgr,Pù9ss‹Or|Å@(è, QÏÍÖAÀ‘¬a‰¨éaÄQÙÅG hÆh½J.‚tƒo o¢²Ý‡ªçïÇ|‚Έ¡ÐÒÒ0 Ðã[ ñ ÇÎAñu@2C…‡þ§æ¹Äç";(²Ž9ŒZ.JÙåC’}-‡Þ0kiëÔQ7±¦X4>êSñ¥GƒŸöuJZÄ#±0Éèó!d¶H\‘<ê:ªˆóˆø8 MÑ(æPÜ¡˜ SõÞfLò³5óW endstream endobj 270 0 obj << /Length1 1462 /Length2 6210 /Length3 0 /Length 7198 /Filter /FlateDecode >> stream xÚwTÓ}Û?R")‚ÔTষÑÝÒ(9Æ€QÛ¤Aîî”VºCJIARERBBEéæêý<Ïýüÿç¼ïÙ9Ûïú\ñ½âs}ÏolwèóÊÙ ¬aÊ /˜$PÐÒRƒ ÄOÂÆfÇ8ÁþÆIØŒ`(4á"þ (ƒÅ!¬¡Â þØ €…ÅÁ"â €ûÛ(BÜà6->€:†&aS@ =Qp;{ öœ¿PNXLL„ç—;@Ά‚C!.-ÆæŒ= qè# pÆó!8$í1¤8èîîÎqFó!PvÒœ<w8Æ CÃPn0ÀUÉmˆ3ìOi|$l{8ú·Ba‹q‡ `,à‡Â\ÐX—Ç.60{:@_M ƒ„¹ü6ÖümÀøÓ˜ü¯p¼¯Á]~9C P„3ââ w±ØÂ`eM>Œ†q±¹2„8¡Xˆî±ÆüJP–Ó@°þ© EÁ‘4îtU#ð* ¶ÍJ.6 gg˜ Mr•Ÿ"ƒbûî ü3\G„»‹÷ß’-ÜÅÆöª ›ÇH ¡ Üõ1LMñ "ù7fÄ@¢"¢B˜+æµ^`à‰„ýR‚¯`l ¾ÞH`‹-æ ·…aH¼Ñ7ƒz óõþOÅ?%0`‡bÖ0;¸ É¿£ca˜ío;Ü` ÂÒ ]}þõdŽe˜ ÂÅÉóßæ¿F Ô2ÖWPÔãþSò¿”òò€7¯?€—_ƒE"ØßÆyÿÉã?|Õ\l€«`WùbõwÎnHÀñgC8ÿ ¦ÀRàø7ÓÍ@B (ö üæû/—ÿͯ¢ü¯Lÿ;9ýÒsü6øôg¸“ç ,uc°k …À.ƒË›Ã~ï®ÌþØù¿µjvä\ì°”æ òãp´2ÜfóŽÚÿ¦ÍoÜðjáœà.°4üêŠÁz@ÿ¥ÃnÔ{ ±Üü­‚ ±+‡ù5È+†]ªæ¡äEØ\m¿0‚BAF¡°Éÿ"6ñ¿å_× æƒ’|œF@%‚jƒÚŽªåÜyWG$ ¶ÓŽLøyG -ˆ0½Jã–K úÙY3/”?ö€•-:µå]ræßïz¯Ô±Ô{ ð²(¯Û±XÇM_\›Lô>d¼7MÞŒóÌ8EžY¼Õ‹ó€)’¢‹XÆÆ®WŸÜç¯Úî‰îì4¥Ê"êÁmÚ]Õ¥Yš´ŒbF_?ëaZ¬ V…öèþÊýì¸ežªqOC²ã˜$Á½Šb±p`–²‡éUd€ºÛÓÕ¬!J%‰FEÁëUF³ù7ÏrKܶ2¨¼­U¨e·lzË8SŽjµwìWv¶Ìïr$u‰Ø[%ÙF¿z3Q"giäÓPyk6ŸrBYðšú¥ÑFÝépÕ×óŸ™ÕCƒ5;Á_*äïø¦í´r:mIÒËà$èe´±»î¢·»ØÉd “­ªãÂõòI‰O6†ó5‰ sÆô§gʇèÇ, Fccóx,¢¬2~x µAH‡‚-å —7© ¨fOûFNÀÛÜc3”×È¿7Ôò"YЧYeáxÒƒ¶ïUëNLYÌ ”^9dè Dø¹OIWVh7isN¢+^&³ ÈÚ½ÜÌlÕ»F‡³6wý%ló ŠÈ? ‰ó,Ÿ¸Ñ܇jÄrÍNKp{ÞºnUEåEæ¸]¨;±àÞ+ qí³^G«´ŒhP°ËÀÞMÆK…mÚ¶4JþpÐ8‹™`ulv:˜g³Üsf5§H[æí Ì[½íÑzrgö8Í`ôØû]õ—¼ð˜©åokƒöá6[ÂÏßò*¼Ã5Ç·ØÃººHM²Å–‹O¿7,HËPϬÔä}@|×sϘX' e΄µl“wˆÃ[×™_ÑÑzž~k¾é”ŠY›1Él½'â¿ãŠ Z´=ñí¢ZKâ¬Å××›0Iö¼M%™…®çwHÖ±h[ l¥`ëºk˜Ý¼è-= Ì+¯z®àŒXX°•û>C~ºmóÅÛžVP:‚*⺅»bñY˜îžÍͼMÜæá˜Å¢lgƒ ò\@‚±6@¾·EŽ vzÊÜ¿·oì^…tcÍ’„dOúìÍ™bLª‹‘ºùÍЉg¡ÿÇûHjBÖtÃFH±­¶.ÿ#qºì&†ɇ*cÞà£K¨‘}5ž0‡%JëÞQ8&ØÆß?pî…öV¿9Y:ܽ”Úfz‹Jéæù©Êނ땪ÆÇ³½ÃÝ©îhmðp5ôD¸ ùò½(+¾]{OÒVOyöp#Ã7Oø9¿¯F 軥Q5íÈ˨럆%Â]~Cá Gù„°¾ §ïÒî ó&›’ŸUFW÷á{¸QµSûú¯(ó²fÞË´¦¹ËÑà娨«g‘¨ë¿¹áPØÜ“íHº¢M X1A(xœ¾·P7{é Ç•ie7ªû¢¦–˜£ø‹ÄP@µ.™!KÒzý­¬ÄQ·Žlƒ]Ù”#’$ÿ,ø8î¸Xf„.…ñ-­­Õr¯2ø:席‘ñü;ÜåÒÜÒÇÇ ¹ÃøhG`B%{•Ðþ7ã¥Ç Sˆjx4=zaýUÐ$ÇtôxØVZiÒ±Ö¿ö®Io—f\GãѳþxÃÔêƒÌe€V¨Ó‰*ã€Ëø…gf̰¯ïò ,‡?›`ñ1gT™§¯¬1xµÌiW²'ßIR™2Ë6„ðÅp%úÇÔ®mŽ*{%±wø~jàâ9½·öp]Ìc"ö$©u÷­yªª ¬ãb;ùdì˜Xuö°Æáñ®Ñ¡ò{ªGA­~{ž™g§Ëm™Ö£õ§êôÌÇ„Ü, Žà3˜ë…ò6ÁFR•^fº ¦ÕýÚÖLk;.¦¬ÎÝò..¨@ÃZFÆ/2ø¾P?äŬ§§mTWÔò{eOýŒ* %‘ÔÆ€œzæ¬^Zg¬Eàä¶â¨mÑŽ1Yrf?Jß´„Q(ÝÔÇB…¾¾UX’|Šè¢è÷ÐT|Û)—Ñøä¼W»˜é@3ò[–mŸÇ¿"GÊÓa—¼Ú™é¬OðÙè£cÏ£ÐdÝÛ¢?Ÿð¡æ‰ªñ˜w•LŸó╟7}Ý¿¹XàÕž²‹ª$ ß\g-’Aª‰ Œˆû"Þ,O»˜žÏî¯Â3>~, 2G[$ì%ûd´&rÔÐ æ.”plü¯=ç¥tl{Ù’Ó—âX´´wúRƒ¹Ò9rNvÞ²P÷]Z'º¨ˆxXõ`ÄÎ“Š¦xÑ]ÑH¿¡•?ÂI MfåÎEå¼>îÉ·éЖ¸·’îGG8–PÚ\h;H½ÕL¯ R|Ó?Qû]nuLÏ‚@ãúwaŠ.¹…ÃÉ~+«•q )îmœGu±þ—†Ål\' fvå×–gâ%7WD±"ñ*ü»ú6Ü»1ÁÜðÒyxe¡ú‹Éœ¦³I@»aQïÐôúÃÖl‡`ß|³×U…ÍëÛƒÇÌé@Å¥UÀËAbo8¬gùF:^¹ä³*†ŽÍÑsŸ×|Þ©ÐêP§#PLAG íÌ¢4îïo›?>j¾@²ØR@JÈëY•^$(«F;ãp.Üž/ (Ç,è­Â3XAlŽwÏÒÅýÅ6¾XŽð¾ôuôÓ“ýò­ü5ÙŠTE™ý‡MNǪÌ8±¨õDü‘,Úâö‘‡Ê%_|ùÎaHÆ£ÈïUËÊ4³mïÈxX!Ûwô>UŸ m“ê ?˜9ûCÁˆîµ'D¡Ãk øþ¯”6C­·#y*]w»ÙCÎM¨·Ô 2û&ÓðQífŸ_?}sùùT†°rKXjEÙÜFÊ|¬¬Ê²R¹EXó|ºÅ˜à2¹ëH˜82 —ÇBÁñÑ\k…þ=%91ÍÁlœE@ÅØ”NrÓÜè;O)ƽR /!¥¨z/Ö‹§CÐoó !Gýdl»Ü\ûš4¸=ÌŠ@ýmâ…cd[Ë°Š’ý$ûºÌ­À`@õb%ƒUrö²¬XäÝ4„™¬f"Ä Õ\Cú•Ü«³ê¯;\¯ %Bx•Æî¬'"^XžëZ©jê`Næx}ë½×u‰hKóÄ6”öÿ¢jbU8sFÚ½».¬ð\DÅ.¦%íø ƒ8ù±¼”ëþõŸý[t¬™\MÂñû'ö(òý»Ä,°r‰õ¡›þãÆ½|¥6~‡* ¥´¥bœÂyYðJcQ´¼:Âè…ëøá檲¤ Šiä»Bíkîžæ ÓfY³h~Wçï29|Š4O$¼÷÷ ZŸR„t徎-ÑÎßž¤X$ìpÜZì±Yôx¥f¯$ÕXVdž`Ž$tù’µ~W{zú-“޾ò>YQ(~úÅf¯)qu*ÉTôñ¹g‹¡^€ã"^ö¤a0œ¡ìm@gHO›ÉƒÉ<£ö^Ž ¯ù±Mgo·ö˜nm WîðÏ (ŽbzÍðRK ŒãäóëöÙ)kZ ž¤¤Þ3¢:Ï‹Yª¶åz¬7Ûú êOWœÊÙœ¼ö@?ô—DÅ Ú‚fs;k2J÷까&ßÛ\r¼?—»— «Ÿwâ£NÊy¹§j†Ï@HãË“4îf(£(Éé?”²m^˜y^ø=ùå„òÏó*ïú)_%à4e°®«i,yFâdˆÒ µ˜|ª›:ïçJY ßé#À%ˆÇQˆ:2Ãó× %­“³r[®‘,çÒ…q3KH‘eâ«|zòÄK”BD…d©e wÜ_y+»LÔPœ Ñò{r›æþ`-Ìç4mϺê3s:é Œf¨èX (u0Ìgtb³C‡™sÁõÝ*…r2†8E'·@Ê£¶¨µ— r†ìC±åZ¯Ôe"Å9wjՏިjˆœï0Ý33Ò%O r)˨We†/c»ž ë…:ÈÏ,‹ÊË}YU$xÏh³ç©˜ô±óº³q±åýëHÈeŠ;'¥šÕ"yE7ñô¡ÛyùÔ³ ÷ädÙ×eîw/¿JJܬKÍ“;!"“E*ܺ†rå£j":7¥š‰¸Ø‡ DÊDýž„ÆÝO_ìëtJ~-Êr«‘¥¶·½Ù^ý´©øUc>‡Cô¥õ*­”&Š:ž¢ê95mW׿EKµºã”÷ƒÇ“Ÿ±p±Ä*Óî¤ò–vª;¦|â… (š-«³)Ç£Pz’x:ÈÞMóôa_IáÑÍ>PýïÔòŒ¾• œ§"®0ƒŒBÚIë"R$SÛ4?^10Ö± aÿ!ȧãÁê‘àñ…ògÌ‘I3}^ù¨† åwPÝÝ€iÄžW±qàá!¸x?¡q÷~ªF][çÙ´¾û—çh×Pƒòû§Â¨™ÍÍDvqã‡=méñ€e»… š6ÒQᡸ×3ÉdO¦Ì¾ëk‹‹>+ ýË£xÈPfžseRÏšmìtÕ䟶.!L¶ÜÓïÇ™F¬“@Rö¼ßÄ]è-ðÞÐ’cz)ŒžH7¯^Ö¡BÚ¼˜ÈÜ¿ÿ*‡¤µ¸o3Ø`ëÙY½Æ«—Ç!]Ä5rB<^úu€_(̾m}»ÕGOèñ++݇ÓO9­~>OÕÕíoÜà8»~(˜(D—\gQ8ô”Fk¡ ÆD$¤Âe%óVOY«”l±ÛÿbjØn9fÙe;³€ë‚wÓ!Ô&·)/l‰ÿ¦Ñ³EeªIâÙìJ\/ßÕÈÚ-û}Ø ðÆ]ã­E’‘¸¥[}j-ÛÂG<§j¯XC£/F<3?†~O¼¦š‚„·¬]AísÌéœØ?-ÞÄ‹‰Øõ úJzrü”g}þNƒÛ}cf~ôzÜ·Xݺ)ŠEé3v! DžÇ›yë–°_µ]Pë\ÛÕ^y•öGLØ‹{ÙC».×&Ï\ù*#˜:çÞ…Þî)ÚêwJ2òØ7È~qã€MÓÚ롵¾×D½$Bœ3¯>C½;>Ô=ß_ÔDCE/;=º)wÜT´ EPZª¦‡”RÀ }À©÷mu‚–?îOÜ~ù )#CX“›ìù™Ù%â*¢^IroîSsCàÞŸ6æ÷Ú·Ÿ>3´ù‹/9Ëb!î×û€›‡iiÙáÒ.?­{QîŽÚxÛ:^ÉL¸BÄ_Sƒø«ŸúÐåê 3…K;”ð73±#ÞYÚzüÛKkžŠ_+vÓ;î&Â^¾m¾ÈÇáÅùØRÌoÂÚªXH^ÓxKXI p6êüo“ºNÂUdÔ7ºÈ·ÑÍðŒ¿#†IuØ/æhôÂl~#•R±5ú¹YÈ‘ÏÚ¡šS&/k+ïG@pn¨¿f ©;Êž†à²ÂX©5¿‘<"P<ÍbYKÚì„o5ZŠ)­ >úbÞù¹ÛÁaU/D&2 7"eÊ*+¨ÈÏeÕkœ?”øðCtàŠ’·=•Ëñûß)ÁŽN¥’kôåÀ3>r\)3h5'•%ñr/úø cØ ·» ãbBLóù#OªŽF³Ú'Þ4òò _óî%b´|^Ÿo÷\4›ŒÒ:ãš½fÍf$Ä,}E¶Ÿ™› ~T¶3‚š/’Í;A —RYªÑÞÝïw‚–"ÿl!~ endstream endobj 272 0 obj << /Length1 1429 /Length2 6269 /Length3 0 /Length 7237 /Filter /FlateDecode >> stream xÚtTÔßÖ6!HˆH‡Ä€t)!ÍÐÝÍŒ3034H‡ ‚€()©0”"R’’Ò4’‚¤Ä;ƽ÷ýßï[ëûÖ¬õ›sžýì}ö>ûÙ‡“ÍÀXPÉá!àhA ˆ @E×(%áä4¢a¿0 §‰‚"à2ÿ‹ ‚„€ÑXLŒÆòtp€– %e€R2""QéH€*Øê Ðh!à § Âà uuCcù×ÀãÄ JKK üv(¹CP'0  F»Aܱ':ac„‚öûG974ÚCFXØÇÇGìŽB ]åy>P´À‚‚ ½!΀_ôÀî?• ‘pLÜ ¨?¸1ÂíFBXu‚ÀQX/¸3 À0ÖÔè{@àÈ:€¿w ÿî¯÷¯@Pøog°“ÂÝ ÷ƒÂ].P ÒBû¢`¸ó/"†B`ýÁÞ`( ìˆ%üÎ )ÀØÿ–‡rBB=Ð(!ö«Dá_a°·¬wVA¸»CàhɯüT¡HˆöÚý„ÿtöáø»qÂ]~áìå!l ‡zzA4UÿR°É0W !"""%-€x ¾Nn¿›øy@~¿`lA€ ¶HÔ‚ý# @½!4Ò ð¿ ÿÜ‘g¨àq…ÂIþ C\þì±ÍGB}Ö"Xí"¿~ÿ^Ùbå匀ÃüþCÿÝ_auMu•ÿŸŠÿmSVFøÅE‚¢"à/‘IaAÿ c†þMãùjÂ]é?Ùb¯é_{ÿÏßáàü3–«Z€ç?"·‘qÂ~€ÿßRÿíòSø¯(ÿ/‘ÿwB /ì·™ç·ýÿ0ƒÝ¡0¿¿¬h½ÐØÐE`ÇþßTsÈŸ¡Õ…8C½ÜÿÛª‰cA î û÷5BQ ¨/ÄÙŠvrû£–?¸é¯)ƒAá úëYb[ó_6ìh9=À>(¬$› ØÉùç‘jp'„󯕀‘H° ¶ÉØ ˆEgˆïo„…à4Ö€-/à‚@’üê¨$ ñôÂÞ;þ`…"ì}à0ˆ ú?(ð/ú§Ÿÿ†Å°0Ì õøGbN^H,ý[:جÿµÿý@ ¾'’É1„“lÄýʈ†“7J·}Wúï s®˜¿à ˜D6zݼþŒ·"3ly¤ô¬»õÖÌ’Ï¡âëEÀ懪ëÑuɆõ?ÏíŸ ­Ô“L Ò~(ØTz×ÁLÌ$h¢¸xáhúÿîG-ÎO¯»7 ò¨N|ÚÕ}ßu`¦{£ÆV W+$µIÏ1_ãMÛ„¾áÌuÌ¥g'D 2ñQîù’ S¾¸bÕzÊO´/V`µ úätÔ¶ÔDÕÌÀÁ`EÏŒHÙ;Ä ¼žªE7PT8óiÂ÷ƒ\!ëK2ç3‚·„ÖE3* Fqðš¶·Þ½“MÀåœg€îÛŸ¨–“ß×PÛ#Ùõi*êíã¨ÐoÅ@˜×›\”gŽÌZ\î?gš’þòî 0Bfé¶RÛð³Ês¶»ç“àqÔóº“îšž¥– ó×  L®>@>57ëØ™i™ æçt^³9D“ú–À”÷³»çàH¹€°ïÊgŒÀÅ«»m¸½L;9ߟ•Uïé5-ŒPŒÃ|(mïÂ%õ®?>ßÛ+`pSsÈŒâÉÍPky”;—Àm([ © Çï-”Ñ ©û±ê$-JL|ïä(×To[/ ó»*/´cVfZŸ(‘oȶ¼'Ø·^Ú¥Ù.}ä¼¾xTR¢lG³0;Ý+ó‰Qî~òÕD*"÷Q“QÈËf”~šºRÞ«ã¥Ñ6bÇ;Û&ÊÞlî5 äæ&÷Ζúš_û`4U9¹ 'u;´7ä¢'m'T ÛÞ„(Ò>:¬ ­lÔ?áÁ¹‘ykö gæê4þûÆî³ï—ŒÊ·MNòîø/à´é[bû<´Ä+³y-Þ^ •xœ†{ÊÅ6¾’~0çqì¥Kl휩RÕÓÛŒ‘Où­®ÞkÊw®7ЉPË÷oi й3çt ù©¯Æ’³ï/úg)ž±&ÔÞ+GÙTÎQÊE–ܳi¶Äå˜WUˆ1ýF<¸z.ùìå_õ\CxgÉíôX†ehçXJ6Ûø‰Ž(Ý[ëìtŠK…Á¼l]"-ˆœÖ)âˆp–äF¹©»*R¿Qˆ©å²Eʼ¥à¦X¸Tº©E^!D0Ù^©¢Õ£…ÆàpµH&J¾%¹j6Ø6ؼ9:¦1z;ù N¸¸ç&hÜÕ‡$‘’àóÝ8†#°â*a(׿Öÿœ”tÈáá{¹, Hq QÚ•\ý†ûnUÍéDæ\·ÛÞ\NÄ|ÙFQuõ›7 Ý  R©›´¤ö½9ÖÏšîúȉG™î¡N4p¦ÈÉd%Ó>Ô!µ½€b?ÓMUp é´Uè²Ê¡á #?z–±Ë‡N,œ6óž»!6uu«âúâÞlÖöÇšuyovßUœÓ|ZuŠc™g.Ù×Õ:Õ}i)RÚ›à 9OŸ2fsÒÀC¾ôìNgc¸wŒŸ’eòÅR[hF›þ[7o‹zv8FÅJY=»‘„…Ùošçf¬6wT›¨¾È°ÙórIMØÏ³ÒZÁdºëfúÍH_wÜI'#ƒvï8—(§kŠc…ô±V/Cš€â¡n©h;½ÿœWRZNôˆ$_z=ß+²ŽV²’¡+éýEó íùÚ)´N¼ôŸŽ¿Úì¹¾D—q)/=hÿñNh²éÓ˜¼ÚÀ‘ã¬g£R›QÐ?¥46 Xh.ê˺~דMÇùKùÒmÄæÃe ™ðã.å{Šoœm³‰$µXæ"üO9¶O;C8ÛË>uÓø|û*j‹À´ÍÊí/4Ý>“{­ç*»ï€édª7‰&R‰Š»ü$Ú§æÌ ²¢z¸„ñ¾W±àæð›Šluÿ“"éoô÷º¸“–yz/4ÏÝôΪÆ–õ)7_ñu¼FÝi Õ¯š¹ºØu·¾¹·+Ö˜F•Ñ”¹Ï8rŠL¾ à;sHß¼Þž›<Ÿ,ìrØ–kä4PÍ•a1Sâ5VÖ^•ÃÐîHPaT²•òç³`²åŸ›IyîÔMXÀA„IìDq8/p"îM ’(ZÚMèx–íÍ÷ð•.ƒµº¤öTcÃÏÍ)æ/™ž6’ù-ë®_I†”ä¼µk<£³Y‰õ›¹ÂY8 ï¬)ïÅüXî¤-9‘ëꎪwX]ÌZã»—^Õù<SÂ0§%ì­ZòåkfÊ æÊLAkf¼‰×fŒ»¦¡ ¹»¡s¯w(iki ëAñø˜Fƒ,¡õFkC!¾'×^ÑÛ[÷[˜ÅPÐuü0Ì© 31¸:ôÏ9%ô$y\N1†#ƒÝ’Ïj“½h¿'FÏ×+÷éUî³¥ª* >ªù•´\µz™ŠšC¤ÙFžÛBcw;'ar?¨aÐØ¾8DÌIldk86—Þ²ŠGIGãr;,•±m!§ÌOeôR ·ºPÇ)5¬Š„.á72í˜Íg#¹DÅ}(‹aþ¤«#¢æ»T•>³‘Ÿ¶ô¥¯òWØõ_½¤êé3oãQÚÎ ¿rðÃ<6|KÓbcø¬õ6ˆ35¡ý¿n§8r¶Ï×u/ˆ2æ4y§W§-•PAÄo”6¶e,Ì8ï²<ì Ú¶ô„5¼`ºQwgÜ2K¦RB÷uŵùÕiêÝØëTOêËÈ«oý¾_¹Ð1™Ë4ç²³©ÊeÎÒ…Y3´øÀA¨1ÿz¼­YPÖ@Ü5*4iÉô]qNS‚L½eÿc >ÚJDÖ¤¾„VÒ#Ô!ƒ§Æ=W °Ÿ£µ³œv¥Nª~˜Mû)A6ÞåÍàv‘¶rôÜž$¤ý}Ë kÅÓZù”uØGC§QŒ%yÁüÍQï³N« ÷…ãe¯3pß°ûp(³Œ¾¦õö¾â7jß’wáj<"ê=²ýu4Ó†žxOŠ;S˜pØË¾%›-—èy>±ìІ鍓-Ú}ŒÏI<ŸŽ·{~) UXŽôªó73åÛ²@ºñŒEûHÅJ´Ru§z"žÁx¾Ws±ÔAº W„Ý=ô$´¥pÍ/ ±¼mÓsàXÔ²«Ãâ^ñ¦A;Ú×Ú~R›†Ø>§Z>Ûú†sÊ6‚«I4b¹R4ü’A›sÝ©P­¢v‹ågÆ=åÉ^MÛÛ!Æ„ÀcÀƒá: ·›½Ö†Q:nKÁ•°‡ÆÈK?°@×ÀR½xtP–EúZ<“íµâ!:KÚ¸HE‰¤Ùù!F’“̧ò¤Ymá5ݪ÷£ón-¡h4a¾3©$«B­òSƒc¹ž—OÁÚe¹R+îÈ­M¥¿Ù‡$òº -ƒü3j:kò–4p5¸Rå®’v®A¼á8w©B³@aL6Kfo1bà2%6?¿†%™ïÃüÔÙNlù¾{©aŽº—c¾ »‰Í§fl~~չĮ^œJQ¶Æí¢‹º>Âjanzt~T]SkÙ^oG22Îy¿¯“M£i7N_㊨»ï «ýéû8ÙõèÊþýà§‹ZµÞ¹7+CmgîpL^ÇOs«¸)„J¤ÉEÓ_0×o~Óò]1¹Œ>‹8\Z"H¦ìµC˜ãVéòì'"qj^ß™v„[ÜŸv „áy3—;ÔqkÂr.‚Þ²­Tç´öl¤äªU¼Ø½×ï^·# pÛÔ€ïU³“±äqrv£ì®—ß r?uöà™‰K“g¿D‹ßC¶‹YÛѬ³Û'Í[7MÊp›Ð9¼«Pýœ&ýÈöižr{ˆ~è3ȬéÒsV¾Ôk}¡]P]&æë÷vÿðìÈ +ÎÓmï‰f²Aÿ%;ú…ÏÊñ~œ!z&‹µïÅîÑ—[l.(4¸Sk%Ð ‹E3C—Æ5gC]Â/Ô mf^xs‡tº Qr÷/µªÖ÷NÂüÎY饒iónXŽ©¼+ëpߨ¶{_¡î%a¯žqý¤zøê'9ZøñéåB|ïâÉ‚ø£·À2xŒýOUù BþUŒ«´óYQ®­â®î©Ã„Ý—êÚG²%„>›õ×–5‘ž»JEb.Jaó–P¯ÒÖÙå¶ýơݭ/”–È[̪‡G2 ñSÎ,× ñgÉJhŠ›‚˜DjÞÅ:0¦ »Îmq@Úzäµ×‘ñ½´vCE»‰v1Ø‚cÙǵ;ù½~¸õ"žoÜmÏÎð|¿kš<©W ÷oIè¼Æh6;Uº±4s<õW]¤2hMô©·Œço¼(µ’éß]k(èÈ~ܯ†OBšowâ:x(â1^+Ýb¥›‰Y¯Jÿd7%y{G8Ûoè§x/—òUY¬uEì-‡/M½jÙù­>Œ-[`–Û7rýW¡û:à:Ê û=oÖºæÇ®uû’¯îš¿'¸ž¶F=y!ç»p³¦`Uì÷¬‡2N¾víî6«‡ ÎWWþOü]my€CUg«CjÞÎìÇnF¡Îûsý';›óG|I4c†=_‹ô]"ù§šæ"²ìÄñ“¯M‰ü‡\¿¹ö—Ÿ$zUr†ÒäÚ¨,Îüfk1¥ƒxg| x]®GWâ ¢¶­‰âEé}yãûév-ƒž:Deæ Ó탇7Ž “’¥ä·x?¤iÀ³ñêŠÊ”¤Ø7T£Œä„EѺ?NQ+¯B~>Ö´ø‘ä’_œ9„¿x5pñ“Ÿjò•…ÚÖëÔ[]Bß¾²5¶±óiMKÝlž²d© bZ'ؽ?MÆÌõeRi]ëÉjÌÇõD”S”÷SõrW8$½+M,)Ý™¦/×y~%ÞÿzgM!g€ûhë¸í4Dçl¦®3&À¿F‹¢)U¿,X°®-ö¬j»Ö}„ëö¸ƒ¼ôôÔŠ¥Ô?Bµ­xCìB™žñr]wBQþ>¯œ¹›Ã²nCŒüÕx^÷Õï…m3U­ÑÀçuuäAC¯U±]tŸLº”ºÖI]è/ð^ä'¥ÉIJ7h ßéj’Sst|f³Æxql7’ŒÏ̈O*›FÜøÍ jÓF¦á5"yeØq1ø‚;ËP¬ËQÖ÷NíV±Vã^Ì}GŠíiÎZ´ÖÓëÂò=¹úW;™ÌH³¹ÐV_Û7äyw_¶TÛ†À²Nñ%M·¬×rA²·ô¸Š¸© Å±6oõ [4÷5Fú~ ²6+˜Èl+N€véÖô®H¯[´Ìм•+å­w[0# mwùR­qK˜šxg‚ÇkgL0$È ÷ º ±Ò«U£TÁýQqLjIoD©öo9ÚkøbCò~½}yiùUÂ!ôÐ>÷%>ß4;0ŽÛ"©º3:B]‘Ütì–¤&© kZÄÚÌ‘ü¹L·™ýO¼nùÑWÒ|š"A´ÃÕ6ì4D»b¦SþŸ¾w{-ƒ2]ð{' " æ‹zxÕcî’‡›fžùð–ï¹RÅ~¦ñ‘Yp¾§ðCÅ MŒÛuÏNÒÂÌ‚Lðƒb‰6¾ºTÂ{Y á`4Þ*æl`µï Œ Êo×­2¦Š-” qÁŒº7¼nUÛMÛ3&m¿ÇðtÌúsÍDò¹V¦ÍÌ;Z–2¦}Z§­)úóSò@ÂÏè¦ûÀ¡OJkÈËXšòæ¡òK†^-ïVmÖ@\âýªÈgfs‰‰™$/Î3 #ª¬gæäL[,d˜®…MM+8ñq.¼%ÞÖ«ŸQ6–Ž: oy‡ÉfokÏ|çºn²Ñ0»lçXlÞAD8ÍSÉÇxìCXz²ÎKû8y)ÒŽZ YÖfé_(WÅE‡|.«ä¬©rÛA8&4ˆDð>WÒßæ3lŸ¼÷"6S[œ‘¯/T[a|Ö¼ÐxÅ ®¯\ £ÎÞNÛ>sF÷nðK¯Ú®èÄ †T ]˶å²y·`%¨·Ì®>Z¹AÒgÁ½#ŽÜUl3´xEÕ]³¯9gZ¨z_Å ·i} nuëŠÖß9êr{*Àjp•èëoƒA[$·¦¥SÚ¬n¬ïU@Ž}¤1a a?*´Þpjˆ¿8½~üȧ93.ùL^nN4G!‚¤ˆŽ3)où"=àîx‡ÁôK εéåøWËlé%1u‹ýF™´¼Ö¾oÇÈè»ÆJuòæ)g(êÿt¦wñß™TÉæì§&§(½ý5Š•Ù‹é•J¼r7R%Ï:˜?z,+§Ì‰ê´±Ôcè©÷µ Ô4«‡#]}2ÀPÊ®ïјøÌ“mm‘9TDpV5U–Á¹pC†è‹½lQÅã„&kbY>oÓ÷—w«T(7ßAÊmAr¦*øïù¢M¨K$¢úm¹6ÜméU¼ó³°–¸Ë×|mñ­QiËΨ ©x…£Ž¨ìÞC”D1eÕÇA×–ô’W\Ê )š¦f]WtZ¾É| ãŽîŠôæâ=-‹›=²á&Â,c”"'›ç=‡¥‚,Re/spC5$5íõyç´YFº]ž¯9S3)pÒkbü()œ.ùF›èÌÅëµNs<»_î‹Õ%Âl~3Ù$zRdh© ëtÔ…Í—ß0*¶[û†Ù³°.&œm¤Ý5‘ºWÿ¡ü@º×AÊa,xœ„'?¦ êŒ¸äÒÃê‘ÙQ<.ëö:ÝÀÀ9óJk7»¸ç@hµæ“zü5›ö’ Äq uT}S‡&5šÀ¡_dEDQ*Í• ×Â’ìà•y‹‹F, óv+3ÜÎõfwckÐÅõ§æ™áÊrX^ùætbð^Ow$…\:÷°ynãëÿë, 8 endstream endobj 274 0 obj << /Length1 1524 /Length2 6792 /Length3 0 /Length 7822 /Filter /FlateDecode >> stream xÚ¸T“Û6Œˆ€H•ÞÒ{‘.½÷Þ›!„“ÐAz¤IG¤é]ºô&‚ ½wTÀ/z<÷Üsÿ­ï[Y+y÷<ÏÌžÙóÌNVX™ô yåíáv`8 Å+È' PÔ64ó á±²APPðßvÁÿ„ûãý+öÛÁ]Ý€0oÌà‚º*Z|(/³ÿEB‘p´?ÐíЄߩ*òú ºÂ?õ!Aˆ ɇ„@ÕÈÿ+ ú˜•aöŠpWW0 …Äû•Ÿ¡ÏÝ›ÿOs]`pO˜ïß+ÌÞáWöînüÆ0Èw°ºÒÚ„÷ÍŒˆHˆŠŠÀO`/ÿ¯ Œ¼ÝÀ¿Áßft þ¾np7€º °?ÄŒþÀóE=ÀÂìïûßÀ¿Wx‚‚{°;B`xÿDG›Á­ÑýG@¼–hù ~½þódV˜=õþ‡þ»ÅüúJjŠêÜJþ¨ ÷øò Ix%D‚‚‚¢11€ÿ¿ãè!òø/_u˜ ñWºèsú;e?àø3 œ€ÇÒ£• pü#t+úMðÿYî¿]þÿTþ+ÊÿUèÿ›‘Š;úçø‹ðÿÁ®¨÷Z¹î(ôhÃѳû_ª)ø¯ÑÕÛCÜ]ÿUGÑÓ sD+šWð!ŸÀÿì¤ Ä l¯AœþRÍ_vã_ó…ÀÀzp$ä× ƒöø =d ô-‚DKó7FÏп÷U†àö¿†MHDD €Þxè^£W"_AôTÚƒ½~‹Àσ£Ð.tþ8ïWcÑyòaŽv ÈŒ¾ P¿0‘ÿÆþjè? (€ßˆø!? þ5šÿ± ø]Œ`ø‰;ºÇh®+æŽüÇ ìøû®EBH§ßÈ¿J¹#èà¿5‰>‡¿×¿/0Ø Â››ƒ¤B߆¶^VÉÓzò®`/-·GÅ›÷FŠ Ø>¾òuÒÂÉP|¢ðؾ‚j(Uo¶$|bÆ–ëàrÔ˪3+h1E-…¡Ü»ªpÄ›;ðí´ÓÌ`§qKZ%9LЧ'zl‰eÉžd:s&Ö%¼ùf#ÿº¹i!± pž3¥Ð¢bå³Ûw1Ÿ™3±,£Í­ˆŸßGX¦¹©]c>ƒ<¿Ph¡þæ½jù<}ðóç÷Y}½©Â'yšÝ•¢á¤Ôd>LÙC‰ýÔä Y H 6‘sÅ’äxfê×p¶ÅÛÅLåõµ$ô »×9ê(ÝÓ}:\ï^™‘ÎîZ<¡³]Ë4úÆO@Õ˜åÄS•Ê¢ÀZiq>˜vX) Í鯢``×´ÏÿÔž‚_˜ka~ªÁy"l³1Nuù86#APÈ:Y*Þÿ嵂¨”ÁmÈÁôÓÕ£d) +©žúm&çe÷¡<|__÷BÊÌ“`g[ï[»"Žà,ôä“Añfm»=; ê"çHL¸”EQÕšá¶œqÙqS9ÙXz-íªRr³ãÌq&ÂD¹F$´61ÒtîšK†ÉN’º”пùT.:üJ:¸Q:YQPÜ'bŸ “^­Ðd“ðÅÂ4 P"ø*~Ÿ8^,4ãÃpr¨Ç[ƒÊj~¢ÈÛµdyÖMRó]Õíè¼›î3is5¿F¿èâvA°Šø=á…/üfº¢ï½åáÕOw7­MŸÐ*k7aGš?\*: o$É3›Î3ÓS>ÒºZµjºWÑTWKöŤôš¤&Øaïhu§ök\ž7Õa¤7ÈP~qR¸ŸÞ7…yöƒíÅj”Qå'…U€ ¦“à•l»ãŠ1î(â¥5 °`¾‹7”ÎÃaÂí0F•¥½»ÏXã•¥q-F2TØ”oX—º†¯€…j–êL>gR¿óvêíMª¯$7¶¨)S©ôŽáã´~w9Ž¥(®á"Ò©{Ư²|ýV¿~Õ÷ ¯«Co'·ŸŠ{a•ÓâäO¢ÕLå‹»*V¤j˜>™,Žß(6’…˜ÀkRç=š³÷e»j^0J½Èª–Zá í[-*k·b.ûVŸœA9a°ÇÃ@1y¶+K_É špJΖ'»Ÿb(‹¨Íå>E¬tS^ýRϳ´&Ýs.ƒ´Ð^}@ÍÇ…t!âõ#ž!z hÏpÐXO½ÆÁWs´dI†0b^Ùš»Ï¿çÑ7f™Ûôc–¡Q‹U7Wn7]-$<éþ£E=ö篇æ<¦yúXj™Œ‹´eÏjve—“ܸfBÅ<?RJÏë "ýWU‰’äòuElŽ„“£ŒÖkÄšÃ4Þú…!Mºœ¡µåbS“¬„awCUñó¿'ø¼&==uØö·!QrZ8{´–盞¾¢<´3ãÿý]ß\6RÈ]ñÔ{q¥Ê¶ÿÍÔ9kƒxR5ŒFì {õÆ-ÍÈ«‡.ºÒ”û7er3Æ€Äâ(Ïg=¸ò³EÊ Ìé\„b¸On[~bÂÞ»øÞ0:»5eo ¶ùÈÒÀ³~zbM"MŽ[k@6±…†vòǯ¬Øpf0­÷ N1—ËæÆk–)‚Ú ™s¥â¶’¯Üm0 £ðäENÒE¤Iæó<`óéF«¸éqÕc­Ìa%¤ÖüØ#¼þ¾‘}r9S)ÜÏè2 „·®K@ÀQ7ØÀüjíÔ—ißR’`ŒC'Vä·Òí£lFÓÇe|Šàµõr“Ok£ý!À’ ë³-Ùi|Ìý;T.4)͉X4á§n¤G—m¶ÁöpD¼!Àæ¶Þ>“¾ÛÅÝÎxÚ‹&„èEk§TAEÊVGßšÇ,ƒ„ ¾7ÉsŠ:µDo7)¥«€$gê}Á¬qÉ#ƒPëòÏ™v>ªŠ²Ì¬Á~àÏžL[Õ)#¢±Cz[, M’?Û>p´=W~0»U`Ï^Þ½ÞAËÛTÿ^ƒŸ¶ÀzüÜ?b®ƒ6fvßu(¬Ò⊦'O‹P|ìÝÙ\,hè´n N6‡Y©¥Vð¡Ysáì´>›3í+Γlîó sïäÞ‘–‚œÌ[x¤¶ÚÃ1×yåjpî›`_Ó²ŸeUŸ—  ‹ò‰ìe?W›‘c‘r„˜‡„õ\¸è˜Ö™¿ÛW™}´¥à_“²íR3ß³d°ÏñizÌFh–•XSþêzÏ5´#f”hêçŸz¿WòZ½™¼"4×û%©_RÜ'Æû‡ÜOãósz^(מx;w;Q»o÷#Å9=Å.j6ìö•8#|NO±vÛCç`“YUÔ¿pà''ÛºN0Wž2þ]Ì n¿Í*޵&“éã¥hÕâr¨X°¦­)™Ï""Çv_ú‡*³/{éáp3m@!GUwruø!µÿBMýœÏ¤V·E¨_S”Ò-†¾‡¼Dß–”÷Ýê£i, ¿7žÊ÷/G”ãFÖ¼_¦žm”_{ÑÔÙ†‚¶Wª]çZby!GµóèÃô¢¸j_Á%q……íž.Ÿ"¨.Õ9Åp‹ã ̱ã݇Á,ô³7AµeÝ&²Žû÷£|N7Åûzý: dì:{eÄu×™¸öo¤.S?)vT¤N8M8œ}לqKÂçN˺Q¤âbêisBoZø"8=×~ªDLblZýY.ܹÒx_óœÔË9·™ï.öÈ%·`ÕÌÛcünõL¨’Ö¡¾Åmá ‹z=^ü¬õ¤ýѸyÛ6˜wOÿ’0&G,(†KYäAª}Äq>üyНµb© ËÍm•»>ŽLã‘\¯áÍSwœ£?ðêüÚ)©€ŸˆÇõjzê;~ŽuËâ´!% 曉Ž|9Úµ[¯eõôìýÏ«KW2(p”Àš•l¹ðq|K‰íý]ÍšÛ»óÞç ƒ88ÈDLo>³¸Ût“#o87èòŒr÷1 Ïí5sò\Êʆ£?”åáÒÂ|(KUßÐ/3>‰jˆÛ–˜êo³ú„NQi¼mš5˧ÉëF©{ ô´¿æÃšzÕk™ô Ÿ>Déò‡àD7·J®²â¯Õ‹i‡Ý)ûQ˜ì^>Éäm‰®JÚ=3ɯí›2ý­’\#‹Zô˜#±ä݉lÀDg)nz_òˆ»œãŸä»«4¹v‚Ì4»0çMêÙ}æ,N‡åé?qÞ…œÝ«™6j}AÒ?¯5ºD¨±{x²m£)¾¶,<’D>z¹Ð(ÔÅtL¶hñÝ/#åö7“Ð]‡ ãè'zAþW“~Ò?c2пgºDtýôº±·ÇE Ïý×Ö“¸ðè¹Ýäyªx:¥ýœË„DH‚Å2¿Nã'¦TÖ¥ÎÒðmó«ÓÒ4 䥠 ²–›£1ù˜é<ÁøN4Ô„z¯Àk3®n'ðZ¹ªê•” Ÿ¶G;ò“ÂE+úäÛ &gOYŽ$”óš)â¥ñžYËʶ^úzÞ©´%¾(P9pœê¨yøR!}k-sO¾¸ìþrÛ“·cGCDŒKï'ÖáD3DäǾÑs úp·ü”gư7GôlµõÝ+D~‘eÂçNÇ_ð[ëªÄRžux]¨²üÌ¡ -ØãóÏm½7ü¢¡˜ra¬]e$ý¨ª:#!Xšª¢Ó‰ò#×P[)6ÿ¦'vO”x3‡ÜÜܳ Pc›\·›ºkjöç×2fLï]“Áǃr£P BÓŸÌ“&Šj[—/Å?¸PN'Üyä}™¥ãN|³SPÜÖËWØwˆ‰Ò©-艄 ½%nt‘W·Žà¤Ô¾$ ¨7ÌÛøiž2«£ ŽÅÆN›f+æ²yNߟÀ~’à Z¡ºbkð{´4Ú›ŸzÑÎ0A³_uÿçÎ\)÷ aE`ý£Ü§Þì®{ÈGéÆÛAnL¶í˜Eú­Ÿ¾®±êdªÖ.ßI“!Äì-yçl]{v*l&£‘ë#;§´(­sv«ÍF@ëû„ÒΜC†yNœkëYûÀˆK±·ð%|%úcx¥¶ÚE§ä¹ÒtiˆßFO¾kÿÊW9‘|° û™gÐõr:  ¹Éò¦ *ëÜÇ…ÅÅ…Åúán%9ÖÈ¡1÷{%q‹"–iŠÜÉÐéá—ç©nŒPýÊWIúéQXvËÅäün§·êN_Ñ%=iW™Dz½™–'Iì€í’êÀù™çªùÜ—ÍGêÑtG6vëɪ%DlxŒ¢v7ëõ1;Åõ³@£[°Ô#Úé—~\Ù!WjÎì¡1‡³¦Êýä啼Kï«•Y?ù–Ò1µê3dñ °!—¼šÎ6ʸ˧Ï•—-QŸu5ébõ_³|gy+MFó%øc–쎽œ0ˆ“ØZ¸”&…pgšnƒ•KÛ_®›&}» [JÑþõrÚ„[u• ™óuŽ qG$( IJÞWe¿XQ´JivãĪà<ǾɲeÌ É㬞æhúžYPwO[»¯®&”àIŸ[}åà…âÒº°F½–²ÆÓHÏÝ7ÙÚ‘AMȃ÷ŠE¥øCŠšÒ܉ ¬Û Ž÷Dj™Þ"«ŠtKpWŸBöùÜy®ªæ¬žSÍSZËF,õAÛÈ@EÜ## ŸÅI‡»›wM¥¼ˆ¹ ºõø!ú[YYpFƒ½õzù3Ëcƒ»ØDÁ8Ÿ¬ŠIVt„\ò€§pw 1á—Ä;µ'Ë;gšó¦¾YÚS‹Â²ãbK´O¬¿IšRK‘‘x0Ƈ§Ý1[‘ºªÀ˜x7ªÈŒ4ŽOoY]J6‡É(?Àw¯I±wûÜØzíMH¢ô„YôͽëD‘Úwш@m”Œ·te8×jâíö§6m¨^ZyDu.”½þ²·0ùêô–ÕÙÅlÎVænH®^› E„yî®ê#¥éøðÓéD,ƒTƒ;'óvÔ÷Ãä”.¶¡£«¯ŠOkd;4BZøU˜Eùªd6±1ϸ4õ§B¨™§Ê&¤wƒŽ‘Û‹û!^p ëå¥LÞW¢ºŸùüŸe¢v‡DHŽòLV†Jj¸ËI Ê+Þ]Ñ‹E×#ƒ3ÞÌ”ôyo®ö$áåÄ(Š\©"WŒ±{ˆE†Yâ"RcØüªâê:¢qŸ&V-]›ÏNÝ!È­ÄÖöX_âp¦D…¬.ŽÇò`Çû™Ö£Ö½ú˜Ã¦Taº³ 4‘®„|1¯ŸWÝ5°l§Oƒë“Ù=8ϼe™éã=–8Í‚,Ÿw™Iµ7ß{ÌÑ&ç/}ÇÛT¦ã(rMæ{B妷ÜFïÏ&ãå︿ÿRèV“êù¦=òV°+2±yÅ5Ý‘+‰øp˜ŒËkŸ‹5ßæ¾¶c…Ñ5‚¹ÁœpÁî~0èGÎ$3/üC 6–²»õµÍô›TœÓé¼¾ ºqMUº3ß…ˆ Š»j‰¼Þoíâ2Fê÷âžy*8Ž'¬´^^·dg2,…fÚûH5U§©{O[)¼Ó9´å†(vÑÆoÖë³½{%œœíŒB^lô°Òísnñ»ô_.ν+e¦ªsÇKS'Š\r÷ÌU!‹,NØipɪ›Š¾¦}Ù´‹ÔKsvTe½ŸãÜ{ˆ§¦ñÁñ Æ ^ \yÊÊGªéc¥C–ºyµzA¡¼ƒÃ³ 6š$‘Ö¦„“r’ñi€úM¾äKNÒÏ M4Ê F~|ŸÄLÔ¡oÚü*D÷úëDÂC.]ŸÍ| ÆSgЋ2s¶«¥…ÙÙ1Ò¸½é]±û/Ì©ÒkÏ/ßíðÈ‹ÀÕ—T¢“ù³d¯†£Ó— ¬H¾ZþÅéLBåµZ˜ªˆ€—?˜ÞN7Õší[V9îvÀ:¢ýK™FƒZ` 3L «Y›‡ìY[v%-cŒïØ%5'{ºÆŒHSâ˜æm⟫¥ÑV]F7Å~ŽO8½¡÷M饸ä£Öáj‚¿ø¿¸#6XÖ¾”£ŸÝßÐ>g‘YȲÐÍ/bxdßl¯2Ýá±0—¥Ýó;"ubÐÐ÷ÀU`§±zy»f„ŒuX´kí­ðV¥'Ž|°#å[n£®“¨ÒwE—­áƒ±ØѪÖ^’nz§Nü ¹:eŸM5K‰=‡_óEg¶Oä ¢Ò~g:2³™­læ¦,ÆwJadYÅI¯xA ” >#­ Ä:^O­±+£v½ëY1)ßKTP>rkF£½f½}ÍÓr’ýœ-ðF}êÆWõè¡ãÒ)ƒ#ËB¨;«_ bÙ{b$­2lÞ¦uÃÃP¤-½þ•E_ëxצs=‘¾ÑÁÉeO1íK:‹ðÑðfíÆ;×DéÔû  m/sKƒ‹·ÊÒõò•¾­ã0¡zνñby÷Áá¦k+ÞØ£ú{õ’JÓ›Ù5E ñˆ:ܸ2¤:OµÉIp0ìÎßòôïÁçäæÎ¦œ‹¹å¼oÀ§äö™Àퟗ ŽÄ)0¢9>Ž_LoZº ;G†Q¿?yC¥³–ÂÂY¸¢è¢BF¸‚?É0Ë«œ-¥JÍNŸ4òù™[ŸLijýú× H¬}5O-³þsšiÂgÙo°7¡KN&<¡c#2c3u£‘Rúþ±aŸHhd±ægûJ÷ë-ÚÕÏ){e–ãÛNò.SøOÚßé3kQ»ê³³ 52ä3ƒ³"[D•M7Ä–øÜ33²¾,¸>r lù9±Æ{½ðèÙ³º‘@²ë|&ļÛãøað[Er„²÷Ò{DîzE%e=þñ[I犥>#¥É$½ÛÎ,Ϭö•I`vØÜ-VrKça u‹‰Ñúj+äqy$Æ~ŠŠ¶œz |±ôpvÄ[ù™ ªö¾+5±ãׯÖN|‡4—{‘úd€(A*©sã#©nã`†ÅI­Áöý©¯¦¸Æå‡Q…1Q÷Ô÷ÚµƒµíZãØ;Æ#MîÔÂÛN okúÎi·ìg»j×ËOæõNŠàü"²SøUb&dläŽN^D\Ó•ïˆv~ÀBïðÞ á7ÿêmÍ@† CÍø™5§~ב$Iž=U~‚¥¶+1ÐÓ2ŃÀܳvm ¤P=|Ÿh\þ´Î\é3ªÍ³òÍ 9~4å’Ù‹0£hsilzpkψMB&k{ŽÕ¼8p$§(¹õ)äôKy£“Þ€!ù6Lò¹*CR7x6»S<ô©Ã »WC0Æ\§Ú¬ã¹ªdc3ÎCëwaº,¢[g[éyÝw¡{‚á÷³:Ó’)íun¸k~â«É¿æ…˜‡kH¼yš“÷MqÎáñwÂï#Y‡“üß<ò{hEAL:©âNQ„cÂiV©G"O(мW¾°Û÷Ýç¸ÉÝ!èu6\ÒxÊ@?Ÿ¤Ýš—’é<ÆÈõ¬÷ð:|”ÁéÍ›ÿïŸDM endstream endobj 276 0 obj << /Length1 737 /Length2 21090 /Length3 0 /Length 21663 /Filter /FlateDecode >> stream xÚl»ePeÝÎ-Œ{CãNoÜݽqw§qظ³qwwwwwwkÜÝ¡qhÜí>çœûž[ïW_­?ÉH2g2’ª5k®ZäÄâv¶ Uw{ 3=3@E\E•™‰›ÀÄÀŠ@N.â4YØÙŠ‚€<   @h`f°011#DììÝ-ÌÌA*cêƒukC  G€ºµ‹…±9€ÏÅÅå§‹“3ƒ£³Ã?A*@ d˜ZX" ŠZRò* y5€Ðèhh Pt6²¶0ÈZm€ÔS;G€õ€±­‰Å¿rrbøw¶.@GÐ?‰™:ÚÙäÄT…ÄäUb"Œª"C[€¬ä?á¶ 'ž¼ÆN UGýW²6ü¯dô_é¿VG·ÿH ÌÌ cÀhfa‹Àø/Þ¤lMíÿMœíÿÇôOBNÿä ú‡Cj€ ÐôogkkyC €JÄÎÆÞtÈÙ™mÿâÞÕÑâ_ˆŠµ¡í?•üOˆ¡…µûÿoÐÿõþCŠ­Ù?4Òs3°qü¶p·pš(Z€þáäè ü¬üOŸä€&Î6ÿYø?ÿtØÄÎÖÚýÿîúOYÿÞ“QT]CQK„ö¿ño³˜­±‰…­@ô·†Ž&ÿþmV4´øÏ4˜þßrÿÖ™ÿŸ.gr´pübbø×¸0ýëùI÷ÿy Û¹yÒ3³sèY9˜Ì¬Ì.V&ïÿ•®±³£#ÐôïüSËÿèÿ, Ð hŒ°¶lgÌd™ÚRî#V8[M.lÖ'ߨ·Ð¸n]Ò¬c+Qí‘‘aK²‹²%g’°Ä³5†<å(Þg&¡a{çýõ¹¢G÷b\"ëë(+ ÁI{äÚy‘uXΕôÈE¦0%Þ/ysn°MÌy´›m¹ËËIö´ÒYä9$4àûµóòæéÊU¶E©Á£²/ê(;–œ}IŽÕ%_}i4”RlÕ/¸&jV} Ô–@Û‚¹óÿ‘Ý›ÛK3béïþÕÜ=%FÍí_k§–…Φ7 ¿¯_7Àĉ܌ii#nöd~]LÓõö~ $‹²u@d€·GaZM±¶Áe•{áW…ë•{,êNÕ7Rè|¿RÍ{È—‘`³Ó1ò-È,°"u"äÊÿAÐK§üÃ@Á€ ó|G¡ÚévŽg/Ž€ÒdQ§)ÅPlgûØ2:Pæ‹@»/÷šQåE[C`÷WZîQExVNÄÂuu-Z é:2É$T{yãt€ÒÌÏc×W¶s\)ÃÖ%ûf>©Yև߯ÑÎàÛ:x ù:›ŒIb÷H^ÐO3ÏRFÚ·sàƒYšžÄ~=¾Mo¢“ýêQtYO;Äm¹ÚíWIEƒ²œAÑÙ}G¦ùe ·ÆnPé Ýþ"ÁkáÇ\J(7/èî*^&*ÏV²_éi^[Á)€ús‹p•cWÔÙ+8üš“…ßøÖoÿ¶¸G¬Š”u5þ¨|øpÚ}¬ìVãtõÖtŠ ÁÍv¬?`óÚ“¦Ÿ@ݸ¦Ø½@ù ¼+Í›xˆm­íà§{¥ö‹(FƒFQ3•ÚT¥ØI-‘¼«Kênëj?7³øïê].Å6¬3ìjI%1ËÑt|&ô§ºÓg˜Š˜8¡pr0Höü#q¹ôºI~‡fBIlHŸeÍ’ 3Н‹~Ò@âñú m:š¾‘Œh I¤Þlê·»cþ¡PqÅñüŽÆöTi?i(øÇËõaXÚÙRøŽú9räºù 0™!\¤0¦]{ËI¾k}‘m!Â@Qøtnp™°þ¦°¡¼ìŒÆNÕ€œœ ÖÓP‘Å#†Ó^þà%Ad>;=yábV@}„ÿ[VôQû7ÅQ+¬4R@dçXúį½QŸø™<ÄwÃ…»_¡¹¨ÞðU¬gµMýz„Û=` d±Ó#!ö=3‹j“åÏVˆþ©ÛŸWÙÚÂHËœxƒìZáUâ ¿ýÊs§M“HûÊN¸@ŒBËO4.ŒEŠ(+¼ìmç¡’’»Ÿü‰{ô¨G9vÜ«)ßÍõÕ¼j–&Y¨¸*æo<éxºXŽäKúÎ×b#¦m@>FHAä᫨ú\kÐGYT™ƒ]N"DÝŽTÐhyÌÝ÷µX ›*Η\ ½5Wxáó0hÇÂ_ýâÆ¢VwÌöL*+yw4ŽÞ–»”õMûçÁ5PläÁÚ6ìÉFE¡ŽÆÎ#@Û– ]Œ4òcÜw…Ôô?´õH%L•ýj˜Æ T3aËmÞÙ=t/­7 W]T`ð~‚©®9žó­ÓÆh‰i¢?Ó¸ ‚%N²ú™ô²%FEF+‘ÃŒ‚nÉa#yþ”Î…@ŠÝØÄ‘.#õé¹aÿzlþrò+IÁwçQÝxRq¶Þä\Ua²²Pφ¢ŒÄo ´¢•}Ö¹›ÿ¹kžŠ·!);ö:Ê4å5ÍsJ}laÃ<n^$¦q$ Ú Þ­˜}œ9´z&~¶ÀÕ«~+ŠVN{çPýA)¶Œ’/ 6Î'à˜­CUîcŠ;°Ý‘$:þÛÖvþÉ›€úüÍ!HíðrE«³XY©æ, /QP–õÔ‹<[÷ i¶(j^Úv û× VùmgæKºØÈº_çM Ýk.ý%ì«õVSr=~'ÏsÒº^ý¯ÏŸï¿SçzÖx,uŽÌøÇzTâàÉ÷ÍÍñïX¥/H`EmÛ=uó‹¿sCV¸læþщ©´ßkƒ™ÉlyØÌé­qsnút¹6[M— Ž«”rŒWÍ<°Èp—x‹Í¹Þ¶”½²× ³òyŒ{ßèr>ðÅöÞdG–‰vnK‘Ûô#¸£V9ó{ÓRw?µV  ý“%h8¶#_Î0Oº NÓ±¯ ´KDEœP»ÔLøµX4^$Åò-\^¤•…ØtŽðÛY¦Á…“ß îkÀ=ƒãuÊ!‡* _=¡¥q˜DTÜœßvÓÖØ ”D\£Ò°~¨gõ®q”ºŒ?Ý>ØÌP𕲭±)&܈K -ýŒÜj‰<ãr4ý1Ð4ÝÌÔ}q¦¨è\ùÇ%þMÛ`÷2¤ÃîÅ¡¼‚PÙ/M·þ㭧ŒYÉÀ—ZâG5æ}';Á~}àͯÄäé•R†-Þ¾éá™Ä¢pa%<è½Õï"á`û”‘9Ç2OÝ äùðƒrkÌ7]&gu¢Œ¶á‚ÛfA¥&ôŠ‘ØåQ¿ :ßÕãH©F_ À3Wá–…R®ÌúòþÀ å XûY-Zk}µŒ%õéÃÎÑr߸Ò*×B3ú>¯µÔôºaÌX Á DjŠ¿÷Í ’æ½[Ka•J3Gg hÑ‘µò‘Ýa£žÝxÞYåa¨£Î7×ä§(äÝÝ»aÒŽݤAYmì%çyÚ@jS*{Z=Ìå )7%Óƒrš ¤äf¾›¾ õÿÒ”óÔ,3[oî%0Á ×Oµ}dÖ VA–ŽÄYoàÖ3ÔÊIÜYé§Ä:{Q6äN)apáE÷7KþÒ·šnÏ}fEæ‚,)ŒÉÝŽƒœl™(ž3™™yžl§£wÞ_\#‹ñ6èð3â /-æÉ¤w)6úâ¿„Çn¦:‡ê4,è= ¸µ²òÿ˜î ®çŠD]ïdv…ô¸®ƒ@˜ðßg>nZdæB(+1ÕNÕ…³án™mTöåõ.¹‹¦ôò| èÓ c™&üðVç¹ÐúÆCùä} s„%z,IÖw¹,nߦr ¾1oá&ºûuÿ„Ð]#¶L™ë¨„á—-/s‹­f­®ºs…ð'ÿÄ RÍHò8ï¡€o—ZT4Ë“~rÁ¶mÓÿÇ¡vÉwa3f‚où{r@L^£òÓ76ð\â4 G«‹@’TÓU´E¸É^M ßK•ç²PÜÚ ©EÊž®¿®Özýí7$“„Çj°Ú7ñòÕLB$w;åÔl¹IÚGC'khÏÞ¬S½,´œsr œ üåý@:^¹ÍŽlîŸ=1KWØ¡;°¹–Ï{! IûƉŒZ©:µŠž{ÁÁÙó Àˆ¥² ç =Ë)a,5£r˜¼=q kÙÂG¥H#­¢íJ°È;Q5tñœC ‡‚;t[á¯ÛE† abs¤'å ¸¥yûž¡æÅµÃ”êªSÜ@ûÜÊî©÷ÿÁÖv4<,çÁ‘HéGÿ…@¤k£¨$#Ëþ”Q=’—?@ÿ£ÖwUe’’UÔnë;BK)õ5&ÙåµWq~óïüËX5ä-Ö`p›VAfhì„©Ýà´ëu~¸oã–\kp¡Çѵ>”î¿*=ó;=yËLÏ "QÝk_|”çoòµ˜Êþ \+ÇO-‘HhÎì›ôY{ÛÀÓ!3FæpÐHÛ˜¾Kªn,LýlèÆ#n^qÚíXlx-I>5ÇŽ,GMuù„Íc:"æD®)øó¡§Œ…ÜsGE7úµ `úãû,äé7VGïÕ¹øH˜ÒÔc©AsLU1ÿžì6çBAiFÊM”oqǪFT¶C¾†—(%) 6ôíBu}ªœh÷•‹ŽÜZ~ë•(˜ Èm"›pß5 +Öºp¦¤ýÒéõ¤§b’fšÊP¡g²îÁ@h¯Ì»zOaØKŒßóU5s"Ǽ,Òm0ª'T¥Ý„r’õeÎÈtb‰Òc­‡ü¼à–cð4ë¢ÔÁ³gé7oSúò5í¾útì\£#«þdWœøÚ4ö¼Gî$ j¥{LYSåp™xZǺÆÄ|Ló¦Ù9l@ÛqÓ“ÒFÚ^ß7 }{w ¡Ú5p…J—óf¼$7Y/ÿ¬:¸îÎt·"H§%ßùP;˜4k¸:b_Wêy³[õ³€'š`"þ㌛ƒ£À¯ž;ù×}Oúщ×H¾ŒäÈ"÷èGl¢/”t¬b4Ôõ`÷EÔÇ4uœýêšÿÜ÷myhü½üŒœ?’³(M”Û <ãqRH;hÌ~C2ò|^‚¢Mì_.‘òÀذæðð絩ÝD²'†È}hªå†'^K¸…1ç³ÞÍJÁDeê²d 7]J™,áBRñkÖ65&¸ê¯ëÈYÎj´??$ÚõÓ<¤ðªH+‰¾û; aµXÏç†å´æIa¡‰² [º”­m™ÌI¾$¶´`ÚE­ÌÓ{-nßFän<â³(DÙ÷Huî9¼Ø Úà‚o'²‘âÍ'¢m;§ú§ðö~ˆ"i A¼8 8_QFIq‡Ø¯þ\Ã*ãÙGŠj ¸éMLÌÄ1­ô±É6ŒÇ-9˜|âÕR5–¡XG륾j¬¢ä¤œ¢ –´IÑtÊ5CkˆÉ×¢BŸqºôî…ÃÝšîoìW\Ñ£Fé©V!ac3Crð«×tDì˜ÀШ_w;(ó'<1·ãð‚nÝ‚’wi=«Ú=ÉEXÒ"Ÿq§Æ:íq`û…;Iîݤ` ¢Sï]•OP'}W÷„·ÚÆ)ûæÄXÐ ÷¿ý?“"òpœ™Ë4ö¼G (§I®zlE&²$Ï"ëb $P8Ì=%YEe˜Ž§UgÕ›gŠªIßÜ=Zâ =‹²ËÕ¦<°ªa3²,KLé44CåÜì4¥NN¼œ­ÔG$3¿aUøÓø±û.Ì„¸eíø8”Y$ˆv¹·Ç!š"QÊÑZQò“ÞŒ´p[0)ý¹]f꘺°Žë™³e´oŸ«”«©ö«22_—s?Y÷VDø,~’_Õåô8‘êI,\¯¯ƒg|û\fqn.yŠŽ'õ˜ Ý|¶\èaÌØÔ'÷‹Õ˜W‰ìb0Ck¶ŽŠUéžÙÅz g“å–Øå? ÔÄhw;•Rˆ•®¡`#°\Rv-Y?bzX¿ùòâÿ2µédpù¦#+C›é»r´ cG.„ŒY“í·÷…©.¥\ 2üž{ ¯Ü’¶I*ØÝ…÷þ"&Z•î~ÞòÙš8>s_è¿w?ÚÎ}o99à#†~G=±|M÷©ýô¬„ÓUˆ¢@` YÐhDå4HŒ…Woð™Ð;e M}ÑJLîõ{«2!­X­XÌë ŽàÄ隃8D‹T¾–eÞF"à 4¯3u?\ô9ƒ›ÚYCS½U,ý"f‡2uŒ¥B-ï«΄?Lá¦,!:¥ãðo*Ãjt×%"x‰!XëÚ>LI¼q~oúÊË·en¸J#öVNVnÆ›3ƒjÑR:aMŸR‹JgÉÀmÿ¬\ØCnÚVýÁÿ0|2]’Š3Ѱc$Aì”ÚÞq#”N4Òoï ‡õ t'èÌ P¶4ÆÌ‚®%°È»ÚBZ¦³à’÷wC»y ìúºNfÓ}/1íN\fB0„Ñ2"ÒÅéÅä%‡§’CØ…ôäÙ_îkë0Ù>’Ãå‚ú~ˆÊðÍêc‰ÊªU\,Q"Y?I÷è¹> ¥Ÿ¿û‰9!\²iî¬gXzàõjEØyÀµcôñö 5Ýo))K(h²!(Üç DÚt}OuœK-V{•$Éh+½¿ºzìcPŠnßzJý4_‹ÌJ©Em&M9ÁÊd«¶zG_8×Pž‘àµ{ø‚â$ÑmR.Ís†úÓže³V¯§$qý• H”¬C-ËEµˆ¼a*;È-OUVÌ¥mÔÄǽªÜ.Í1ðÐ;Ɉw—þØBR¤u…pëöS‡˱‡Øl Tu¾N_Ù<õ&ê9½º†‚ÚÔçÉRG ’‹¾òåÄtµËA(páNô¥|_gBIMÞÐHÇV嚨÷ÇtäçüÖIºô8+éö#Æ)MbA|Ý*ñŠWå‹wy‚ÄøíøNªÒØíQqc_÷BYW½”Q]÷×rÀ‰¤«Z¸ð§áB`°ËedÛñÀf2¨c?»?¶”-‡_¼iÁá|¦P'ˆªª»4M5‰ïªë„åñÐk1 @L@zOœV­ÆµìLjõ§Wñ^ª…‡Ógù\&,øEIMæü‹öµÌ~†ÔáµgíªØWž¾äÍ@ ƒcÞÔµŽÑ«X:ÔxF8ŒC,.šÉïR$Âì‘!y]ÕäÏÅÎø«­š›]V°*µÐßkæŽõ°Ëo‰”û…üé„–ñ‘èE<šmÍsc†€MBi©Ì•æ¸b)³쪶nFàô%Â.§´›„ñÙ5 ñþÅœ¡«bÔksˆI ÈÙc:âx·¤í”Â2÷ï€õ©KDé°6ލY^v–ùcùô¼(ŽÚM“ÕßÁ,¿¹‹' Ÿ  2µùm¨q.#>œaM3.®ûÛÛWõf9æŽ~33ÌðÜu=OŸÊÐ)«„¸)¬ò§éÁKÞúbÑ6’Vï¿7„Iü¾:óšÂ'ÿ0çÿƒÐ]"ø¦äcIz=ì'=HzƒXo;H«ýüSÀû'<)ºÊŠt,à9¯È\'Üû{#Û_ÂÖáF¹ý!8¸Y‚ù¦¶Ö –#5àz>ÔÑÃ_µÿt·/á’¦ç™ 1–«èÓA=ƒµýô°•ƒóAÝZáÞ³}'QØÜ¼Ú5NlCg³ÚSqñ- …4à–`vd7Ž:EšééXÐ11Pcqšr,ËËpVÖ…ëi°„C»3øº‡à¿Éï¬ xqž\áß¼X–P‰bŒUëçþâ‰m0Ö:Úuå®™o-e𑉇>\Ì'-'q¶Å®»ñÊeÛŒégÉ÷R{b¢ v„ì“Ó‡ßg¨ad¼îŸÚÒJ.9è¦å.Ê’Fª ýPO%ã­Ç$þ¸JRéñ ôø!¨†óÿ¿ï(‹“!äFãˆ×³‰æßcR×ú;ó©­ßk"³S”¿VnÑFX;Í^hiû_½19ÂåºÅM§ö†_†9Å[jI–' ³—tžWñ>p¬/T._n0ôŽq³59l¤»_„t`?;ºNzu]v ÊDWœñ¸¹ñË28îÌ4ûN|˲®ásÎ7ïä/;TcÒ›iãÙ¯5±etm¸àÁH›]îN‚œæ“y‰ `º9ŽF’Ìzÿý ÅËfm 2[þjSî§TÉ»ì¬Í[/¿óê<÷—ב¢.þ¾Þ´¡w‘þž«'Σ[ƒ¥Y ¢â—Ò±™Äráàs<¼ÏÙ'EÏ?Ëp+ä"O ô ´´wƒ0ësC“‹Ø'Îk°0¶¿Œ%å{|–TV£ï³zd=«m-YtÉýö@¸FcÛW±ØP²¡©–“OâfÔ7 íŒ:X2Ê"ƒ•î ŸkÓïbë¦JñlËöÜ£n<‡KlGZR‰>d½B:ÕˆcyŠÜÎè#·KãÉ¡öäúvZ›/$–aõŸhl0¢'¶IÃI‹I·®ÕdU¥~í^˜|éo_ìê”àøW³äq¸mWð¾«6·,' ÄÈ–D ì_¯ÈEË|ƒqvÐ3Ù~×Ìâÿ&‘Ö€K ÷Œ$îlMàd‹£Õ%O(j6ké|„ñ’åY¿dGrv‚’ê/\ŠóÖ²Fk,—}Ä{xÝã­ã} §H‘“®ªH¼]tV)8)~*]ÚâÎHKèèdpœ{h6´?›¹ ü¼úîŸãÙE‰Ú¿ëíÂÈdƒ/Sú¡-<Ë*^8¼eH·Ò¹oâÅåQØý‚x² ¿bPZùó…äPÁ3”œ1’HcKfã*í ,êð}kÂÊtª2uFBÆó„®añþà©3»·4ÁàflÙeŽ›Ô °ð÷‰côý­MyÝ i¬Í5úp¯5dÙ{?ëù¼÷Ü+(é/\¿Qm¿ÊŽM6—ÙF&O2Ì{ŠÑ£vÝóEp*3}Rl™"¹>‡,@t¥­â=²H]VPø „¢(,]ÇÙ=Dhpz ©“B åGüôü}ŠÇL_7p÷¼MÓ7Rñèm/zF4¹V™šôQÄ ËÀ~1@ÛW¥gˆ ò§春æ‡R\Í+*³ï m!•‚“FýJ‘8[õ+lÞ8qÿ{ÞÖFå›=UBÅ™ëUê7r\r«‚‰²M\KOˆVäYÜâ›Jí«´ïŠ=ëžslchm4§†Q,ª¢O†R¥¶<§¬€N#`0º÷×à{´Ö3_I”Nz‰»ï†³’ózëhÃo”#0=RÚ+4¿£éM˺Kiäo2ãrtÇ<ä+ˆ hw ÃÆ–žÍÌJ¸%R˨×ÔŒæ/’<À¤|d”ÈIŠøŒ¬å‹;ÜO–Œ¼Kou ¦!°6æháHÐqPf0I3Q]’5…û¬ õ0- › ¯þ€ýÚl|Y]IÅd‘ãéàêos‘±¯>E¾q`´ÆT4ÜÄcw±M¹FBûtSná¹q¤üæ’&¿Ýê¯ÏðShŸ÷Q2+\3àhxŸœmzµ‹Ñ³ *þ‚%Wú“€P{ŸA%&v‚þ‚ÙCå±0a4Øí²´Ø´–‰ƒ|ßûîs«w84ÊLâÜ«ØTÜuVÆ‹‚øFI„¼«vÿûj~7ZaÊD%ôú¢¬fôp‹Åo«j|ú8ân±>¶S'Ñ~ƒ+ýÅ#áêQ<£%~¤ýb1͵ µÓR¹ègR ®|’ÄT(—c5°–{ùA–¢Î´Å3Ú¯AÊRç§G.N|q=x(Éù·¥îE.>¦:5Ù·4‘:Ê×5áðäS­“P¯”Êñ·tˆØ«;vˆêU€ã±‡.°ñC øÍ9¾'Þ©N”oJÔê1ì©8¨ÂÌܵNPéâÈôƒ—” †7}e¸£éâM¸~Â7Ž-Z 7Šûg¯‹:ÝŸª¼JÜ2‹Gá­ˆ0;Z‹óÛ`ZÝjgšs©Åš’G­šFBpS:2hI?õ òüÕ’bd`‘”$¾¨û(—3ó]RvFŸ„ªp¢ ÆI§G›òpÀèíëj/ì }ø7GЈ£î®m(VQ 2sÃÝAíõÁNÒ š„pQÝ„I½áb^™ '±i q|;œz£r9ÙÛ†9õõàýÓ½éx½‰>Ÿ½’œµ]4IÎâ;…°^~‘Ê¥ÊÅÙyx«;CÔSžÄ¬šö‚„’¸éÛöÉrÆU¨êddÖ7¾¯û°IàÐO`@,¯,ÛÅg|UÚ½òÚßÑ Â cÚøÈfLŸŒ#¡x)†ý‹úÈ!ÞÂ&â¹ ›Ë„4EåD( ©KucŽúaÞ›ú7à=wåö54G ‰®ymª?ËWi=æÊRÑHÌó?Ç–ù¢–1 R ñýì3‚lÒ̈+J|Ø0§=]ÚHØ‹»‡ü‘Bw(ÁeÐB4ë;]±ÖÁ2 Ú“”‹êŸ@Ö¾[ß/£Mhµd‹ùFtµBŠÌ´|NÞøÀô¤°Òy—˜ÒCœ§é%$ÛÖ5¤ŠÆõ¥‹ Á:L‘ '\k!e¬oåW«Æº¿z®«ºÕ¯'U…¼×´I@>½ÒéuÇ5öÅ¡ÏZ¯–uŒèZ|¡›‹>1Üï­QÝ}sâ}v4h Î~2dö×&|B<"½hî29éa¹ó5[Å5‰»¡Y%G«–öHC[3æ)¦:¤˜G¢Š ˆó…ä§à ”uyµa€Šï9ô7`Ñç\Q´Xãà':<»¥OY²…F7j)µªn¤œ´ÙEFY¸µ(¸ |¿7Ѿ9¨”÷ýùo“6s–¡z¦“à÷¸ÖJmÑ $œU%7RÒ:—çÂöIcfîKÏ×…ñ6ÌUÆüCÍÆX·&p}SV[©†QØÃ0 ._ —Ôa™S;òÝò³˜¶1ŒKU“=VLà[6§É/ùÍñSÞlo•Ÿ+*±­d"ïذØÜßB ¾©­|«ayÛú\}¥þkƒ1h¡I'%sx½˜ähBÓ’%EÄf¸K«Á-¥>F!Ä~ceo ­J¶³$eçÅ€=`ö½‘^{P|ñhíË€¨‹*§àž¨ëê›kgÿ1`êÉlHÞ`#7Îñ; ÑÛäóP;åBu6t]‘Ì*tŸ¬ñ¤ü  :ìq•5>2âÆ”3úfÙÒE¯õ¿ïÉÙjsêž§,ŽÀñ‚å>N È/×IÖ‡dða6üna®, Í /”W`ï²n(ÛÑ „²êÀE|¿{¥ Ñ­N-õù¹ýΊn%_:=•ViñT¾Ý ˜ù¦ýÕÌ-…³É$éhÙÇÜyÇõ)ú>N|)ãYÛ‡s ðÙ×P›È•j¥Ÿøcu«uÂ&&ïWÿP:†Øiõ-¾}áíMdºßƒ*]í+â:”õéÈNst'Mè|³7'2Aò>~j¬>r‚…,Þ1“ `”0Þ,ö£VWDÙÖsŠh/+m¢~cƽË*ýd8Poˆ s£Ä8WÀýH‡•,›(ñe&H¾À½ÜÇ£ð§×%²PËž‰ùƒÔ·Ê/] ô¢x¹ü´W|:ˆUùÂ¥œ[ÎÞ£ÖĤ+U9Zß` dþ$1æ •¿×)u UÛr>:©öZ5˜¹3P²øvènÊ5Ý)ðP›áD ü¹.Î QÅyzçäëM u "€ÔFFæ§~sÃÂMœ9¶W]8úÁÌÙ†YœOçSœw6Àš/ÌoFöW¥¤˜Q7ÒðæþAO³üÊ—Žb>×Lü‘ƒx5mn å±>þû°îè„ß¼†>ç9·põ{sѺ#*4nb?[Üjp F#ó›¹³®¸iÁV{‡t]çÉmCîJš«1rœø‹øc.ŠüHnÓ¸Ô¦öóèV°O–’0ÔÀÚi~ˆ&|dï[þÜ0ÎX&C¼|»¸ ´9.ľù ¨n£‚ˆ¡à„YÍ,ÝÎë܃.ld•Äø]Óók!¥;¸·R/˜gJ^WJÀoAkg´³-üp ÷GOehöû`|ów“óOx¶¼öG>Dq~˜º…t¬ÞrÕhÕÃmø‹EƒÀû%ã,qÛÄÞTÈ æ$t|ÕûWßEÝY¿ Õ˜#RfD ¯ó*4L%²ÜW¿6ëòÔ‹MçßܲÐU€?Eø2^âÊ.æ”rÖ­ §ûU:W¹‰î,Θ…„‹G@w‰¸Ù"ÕöNÛ$曥ÈÝä6 ýY=~ÓÕKÊWÌ&ÕNíQC¶s™óUS—ZLY•ù²=Ês,dˆ«2˜°ÂL¿¼"_Îþ“üK2±“/_»¢e "pC€Î·’"iâ4y£Lmò¥ ÖÌÝ=_E@Îxb^Uà9⿊Á‹–m{À=ô–3‹$É;JFãV‚ãÂcm{þ ‘#ú—SÎ'66fÀ1}6¬ÆÑxG~1FŽàò ÙñÀ‘} EXæ|p1ŸWÝvœ® kBRd÷‹òÕ?ÌDq—èö(–$ µ­hšÐpãAcŸï”&:—ÿ ÂcÉ|-Ìi~ÖIé1B¹;"FmZŒ¥ ˆÏg€TûÄhr¾•nI•G_2S>½Iz/x’ƒ¥V¥~΢—ò/[jóÂNûшñ&FʇSžš–‰Mú ¿%,_¹½Ø”a=`g½c C —ý>°`”ŠÓ6ÇêýÆÒ‰{g(—«Í†Õup \þ,ü;&cGìÃÛÝ“c‚åðŒ¤¢K¶÷îã"… AÑOPrZÑ'œ’®”¿Žs71R ÉØg•BÅÔYM¹“§ 9;ù›„û"# JTIÆmE$‹v·z~–À-¬_¥ûvTKk¢‡r±òºÕQ¤av¨uâ.hlžK©L… [àyu3æš»‰±,8åj}WöÊ ;ÏË S³òËФ$«°M–ä%™CÏ%Ô­‰Ä"‚g-g“¸6Ô»zsz5ü9õAÏ–!BŒ[ãTE•æú[Ë Â!q2a»'¸ã"àË S·?—D< kê-¥«\ýò©¸¬^ÃO;Õ}ܼA4BÓŒ­Xs“÷ŒšqÇPÑÙ•ýÖ7½<Š ½Tjó^ݥijI—Ôà5 Âü0*‹©oÂÑäïÚjÇŠ·ñ\:Γ¿œª®ê‡Oîa4õ ªáù…Õx+?ÀiÃ9EüÚ7¶Ó=¤ãÔ¤¦'v_y<'.x…àɇN´®™$á™5R¼_ pv”AU é½}=T 6P;‹ÓÞ;ñ—–“Lã¬%EÍJ[Ú$ì/ü„ jxÝ5lŽ:ê ìJÇ™õ)5.@‚"rÑ©yOï+aÇ…hU¡ˆ‰ÍÖ\W  ˜­Èpÿu1B¨iòqò,‚-ηÓGíš ¿Ò“kiYœ³‹=mjùå˜ðãøV‘|¥UÖ¥0Œ%vÙ$Y^‘-×·©_­GÒ8ªc’p*‚lÉï&Û^§Ž³íwÛ?ÕÔ˜û§£L ¾I²$R—¿@ßcÛOלb¯¢Þ¿Ò;1×Ö±ƒÍÑ㙎-o=yé{5^ñ‡FºUõ_ú’éùLynÄÃÊŒVyǘò#‘·t/'æø.êèMÊPPžé"ÇcfÛ!H”FÈç0µ:E†É¿Â*~hÀÚjéŽÏ/,ÐlEGÙE06[f&pT4*¨L±ÚÝ׈Šå‹ˆ‘ö/n#‰Mƒ 4âÑÏœÃd­~6:åø›GÐ2L÷)¡ƒ³œï‘¶q×_ñMy üB¬Xß]¨üšÃ«›Ü[ð ˜ójÂý¼Oö¦7Z°¾6âÔÈ(¬Ö6>6˜YìtíyLƒûAœOõç?ÖŽàoš“Á  Ù!'„¸×öÕ1^F%^.ÃRA,%+©8_OƒUB”¹‹³æ-šG¦Ogæ|ﺔ椖>Öê!¾ÅĽÐÙw˜“a0|®§i“ìÒ-äç³ðP}üRºZ5È7‚-#ÚÆöõg‘AçØcrŠî+‘ŸpÓw­ÓßÐEI'ÓüìÐþ‰©*,¦y`KRö±(Ì€ O™k%-"ŠŽKOÁáå®9–²!uú³Á«;ÿÆY®‹j+„³;“Y¿C¯«aÞÂf=·¢çKšÆf®>b@~·Ø~Ƈ DË}P†×®?l÷’ÉÒ‡…H·RÑv%5™ž£MŸÎºçݼ€B, GÐ$×’¦¨e”aÏe’CP/5DŽOÛgõÍëÈ\åâ¼y¨ßD3bê¤$F‚µ³®|Ÿ¸7”—²½ Šõ'ÄXhšTºk¶…‡V‚g±XÁÜ_&æ'«.Æê;ÊÀ¨¼>…ÌÇ|YOÐØi˜n$|Ý×{òƒ!¶»–Ä`ÿ] tèŸÃ&Á7ìþÞ¸ð˵µÓ¡g|Ô-5OVVXhxÊÀe;ÅfeûýÜêSðËŸÒ ¿ ¥R½áè0kASŠ-½vÂ[VžÄGÃyx,ñظ ³æ&Ùa´Ã6諟±DÒŽ*…ŸÏ.rowÅ, 5ý±¸6¨½…w‰ òL4¼¥#|°bocþKaš©$-¾wƒ?·ÃDî0þWãD¨(OÞ.ö“—’…0®Eδë¦9^¹ˆšá@‡:gNŒ¿ñÚ¢‚?ÓOoÇßMø½ÍrfÓ+½yÁKƒ->•@&ÛÈe†iÚÞÇ^f·‘k½uñãaÂþè}õr³Ƥ{ÎÍLýÒr6åH2õ±”w:­m¢ʱëÎjsVžçÉ05ÙdäD”^g˜!¥zYAêÞŠê'§pšÐQ °®ÛjaðŒR+,mŸÎƒkÔÉŽh›&–Ûñ‡Z(©–¹]ƒ.½ø^ ¦®=e삚7Jê,b‹J_Êîâ¸'Fôr¢öy¤¡ÉgdhëmŠ<„"6° l] †ÀüÈý¸ãË \¼$[Ëù±ô[ÑÞZd²­»¥: ÊøjøL W˜â3%ŠÃñkÖ®œ/“´Î.±R(âň[LM¿@·Àis*ˆÄù÷[ ˜€á2t5ƒóbû}Ðj*ØëTšòÕüìÊh„k0Ç! JøgÝ™“—®/£­8„³!q˜¸¹®; þ¦Y¦Ýå4¥åþÏãa27§ê£®Rˆç¨Ë_6—ò1!ª¯TB*¦0É’ ÔpŒò³'Ma„F¿çØsêSóžõÄÆîöœø’±¾a8µ Ù«Hª"7jÄB£l.ö¤¸{™=±‘tÊoµ`+‡Z^ò'¹‹M¨†.¦Iuà7iž…ñá )üõ•}a‘Í…÷C§“à‘3PÒ0Máq£‹t°@h=+å¸úü Jƒü QÜ7Øl­ó.o]ocü8m¯o14pöPÙk‡ °© ,ÆÅ¢¬n<†ŽùO¼î>ÚÇ£o>b©¾ÞùR˜ä±Ñ_H¸@ñý¿è¸’PÜ~ý¡¥,UõÏóЄ%Ie_èàG{·±üÕ”“µcøÌ-£5íàü1îæ’ih1+”{94 LúÝ9"ìÔùä {äv ‡šEÜ6Ñ?\%ËòX«ÃVßµ—SÑå—bð›À¸9‰ ÏþžãáVó ¿RaƇò'thCÄFc—,pÖð´?(uØÓw¾Sø¦jRÃc&×LjӪª0-]åç¤kýßüeÆF7½mKTå™à”‡î±n·37b¥ðËùļkeð*pC&›¶%ðœØvc¢-5¦G Û“5¿t}‰ûÅ[9þ^Å8ÉúŠ6Ä«Ž.Ië?ï,íIyà©GSø;Cn–»Æüe ÃieóÉ‘1fÚxP4òa D©ã»x¼Öè™b„’ÍÓÒDŸÝEî(›Õÿþ2#ùÙlE'¬À‹îa6ϼҗ›éjœIŽ£¤êwðDºÊkð«ŽzÙƒ.8@škÐa‘Þ•œ5vòu( ½­R圩û âÝ,‰]Be€Ï²*Èû/ 74ìŠ|x ¶Ÿ³Â¤²W£‡éÇ0cñ´÷ƒb‹z6OˆŒX «NÜÜô“8? ‡@Lzê}̶Î_;Ú<%<ˆn;~>à ³nŸÛzcn3ò ´…¢qcd¤?_•c8Þ¹sÀGô–/sùÂTÖ³Äç)Z¤,ÁPð0yèXÐ -H yUš4•¤þVHƒr‡7Cp| µ•²bNwrÊË\§h@);„^s àƒø.±ü°dù°hŠ8µÈ‘°x†˜ÅÊW€j-„ÅŒ`½û,oNR[Á›²—þ43žCOñ¹gRÂNÉ™ˆŒþ¶ p |}Z¶o±z­uЗ8?™½‡ɵù[ç«pI èÂ)K ¬  ‡ 7 ƒx)“‚-=é5tØ6?‡UD,ûÝ?’}÷·³k×MÎ9T¿^»L~5Oö3A{‡;mD\ô~úX¢p‡mÜAôFÚ“‰ˆiS;äSXüx¸'Fx¦P“æéäµíò˵‘SBlü×$îs)ÄC³—°Ÿ‚Î)ŽW,ËÊd]ºî¶d!ÃgÛÖšÏ>Ïï'Rk.įðæg²·® *E½ÚM§ }žbí¢íîÉgC Ðâƒñ§˜¢G‡Æ.®Ï6¬§4Ílª*!ù~ݹÅ}fXC(yȯ¿ñ«Ãúª¹—òÙ܇ƒ™¡BâÚÚH¡\ž''¿Ü±Š›wwmK®5h’1ÒIí˜úÖ-"!’›3‰Ø>Wš¦Ò¢i¬%Þ»k„àq›¦væD¡Œf©[mbHdAóÁëÜHÍŸ¤l#›H2ÕŠ#sy~d±ú^rë;|zߥ¬>Ïß•~»ìeH2AÕÒýª—ĥجÈ)§Yï{w>Ûng¸…àܞij÷€×’6Qcå÷¸ã‹Ÿ ŠTyÌ–åÀÇs12šoþd“ï¡Ù¡Ïtoºý–PoÍ“X>#dL'úÊ{dm|…zM¥q~A667x?lxü—AÓ»´Õ<´›¢ïtD¥Š'L,Ó‰d f†nk«cĦ »fÞ&í[&%FmÈã”c·Š_†b«¢2—;Ohõu%)Oò3²x¾»/D|»NÞëÄ@–7ÆT"A#‚ 3Vý ‹£~tÄÌ{6i?ºÉö1èœÕÂsÏ{ÞÄyrÄ_²EæÇþ k0®fI³9Vix×ît¯OËìgòf¾"‚4û„i®u#̶#1Ãîíšó‰gƒ>&³Z£f4·ƒ‰Æ‰î©­5{^¢€ÿÛG>9²)ÖD©—J¾«¢ “&N§ÕÍè7ÒÓÈ|¯JObußuÉô»äæ¦Äs§xæÝšWÉúû ·aAWÊ/öŒÁ6k6æãkGùÅL@†#Í î‹C|>bOŒ‚.Í>RØ[ :vv>SsGu(O°²Ú˜Þ{õ æ$cæ’ÿšUïFú²ÎÎx¬¥œ¸G»ÕÙÿþ=¦µ†$/)bŸ ƒï³•[îWú¢áGpŠuoÙÀ™ þË¡/g}Ÿ=c€†9<1të¦ÜÁ“ÛäÉëÖÚ–Uµ¡é>7¡*êH(†¶¯i9aZÎêÝ? å†;6bÄ¿tCV_ìW`øÚÕ^¨öüaó R3E¡/öŒŽœ'Î-'JzÖn8˜3÷‡§mº Y%Ã×&îœ u» …×–øV¥<ÂÏ$ûž4uµ¸î€ÝŠþ¾‚O ³"Ì­Ê\˜‰¸Æ£j/ý“=àP¼j@}øsãSP'lËÛ£Äw‡ÈTߺ~:éÌ#e™äì é&X«•¢D°K$Ö²¿n T\¾aYÚc† ×pƒÝ“§Š»¾ó4Še¿«ÎtkâZ „A×ÞiLWÞ2•«uÉSê aÌÂ2.,&<+ ² ~võÁ5»ÝŒ}õ=tª£}ûiúÊG oU! e÷{Π†ªEʈ2´•ÆÒ”¾ <^B³kðæäÅÀeªek•½Ä^¦Š¾«£ÝeµË׫OMXY`7„Ïś₌õwµBòP¥;øü ãŽæ‚»ÛÐ.ÓF…ðL®1sž-ǽØÄšÖAÊo%¬BžSˆZܸVZ¡j¶B&ñzì'º‘åÙ^5»ºê]*gª9J”vœ¶ÁvtGZFkºÁ'÷‡‚~O`k}…2%r>·ÄŠF$ÊHŠ£@”òtÄov7ø¢s¦V>×#tùøI ²I›M/û¨¿ä)-¦º·ê~ÐçhÙÁ-$~Áœ ™¥|SCÊ_®¶º+˜Ø ›0Œ¯¿Ó¿uw\bz“Ã6دQÁéÈhî”ÝXx*ÈhQ™:\±ÍIS wÊÕØ{ÄB>!ƒû–é–•Î$Íð­ÐÌ;wÉ÷ß ¿N{ùra»þ9ý…µYi2ϼ±ÎŸ½¤_³<ÿº ‰Ö`Ò¶¤}ÎÉt$ª¥%.ñ²`ŸhàBg/ÿ[’œˆ€¾ÞšaöqÁÀŠ$Kä)3h›l^{'Ûn²ÛÄên‰äpÙ%Ay‰ÏûÝ7W¸—\Û¢²"5ä¾_çˤ €%Ì=äúËe’HMšvηüãDªŸ+}•æ–ÓtWOhû®5¼c¶úuu˜äÃL?‹Ûlû©r¸GdPšßTÖÌ.«z>w˜b­d†%W YÆu„Ù,Bë´€ßÕ´Stâ¤k,E- â*ž”ÎâN ‡=Lω®{2ê`‚ôl Û»Êõû¦ï½DÿÎ uÇE ^éèi2¿d ú,“!?ÙÃAcÎ —Qm>ñúª…×½p²….Ý*·nÝi޾‚ŒZ(”· z*ûu½gÞùñpªÛ`ø{®ËT+<>´ûñÁÊbEFé=úÖ¦ìQÂÄLp-o|ê! ]†Nš×2ç2%0D";7ÛVvç!®^¼•<пM„ª—{¡ô6íËUOkŽä-Lh4 9AÅ™µ44wÏi2pZ? ³Yð­L“Ýcâë–& úæþ—”ƒè$Šk9KRÓ«]ŽãWi7²þüéBóølvGM^Øï%SÛ¶Í© ú•¸N–‘m ‡ïoZM ‡¶½"¸øP…žô]‘†±«Vè mdðK‚”ƒ \êç§Iïèƒç  ÈÅÏŒàÖ?«˜¢‹5_© Ý«ž=C ¼çñ ©.~åq­£¶áäV9QøYžªWÅœs¡öÐŽI–S¼5X3Ééûê@bm"ØÁÝ“kÐf_¯ño¬i‡"3»b ƒfú"V0@Ã䦱BÓóÌã9pÒôØó÷Ë^Š’}!¡ßÂñà =V6ë> [–<Ç‘hx 6^I¿.ZzwÞFõúÂ_Ô-¿Œ`ZÄ ê²ê[ ò‹¸3˜ÒÑýžGöd¼ÐÁÇw–_d‡A¬fãP±Ì}¾›£I×[–ÊÇF„–àT&)1¸³E†„ú(x¶\Ô0ä?×[EûnnoïDQË¿j¥ð«¬* ¨R»Ì ±égßøåÄË™¼”˱)NO„}]slßü >Oæ”òν.uI£¸Ý2¿‹×Ol¾rk&ô…˜7|‰hJ"éEhHA–£üPrj‘*j1å?äÙjÃíñ?¹Ûek ^ÌMså›®úŽ¥^Pª™—©Wð^[.‹¥c;Q MК¿ ~s®XÑV y°5µ¯3Nµ8Œ«Bˆô@ab3ìO䘇µ¦dïµÂH9ŸÄ4‡€Äh÷œÏ}–E\šö]HG;‘ÇÀ=2L_âe>Üv)Þ>fÝ”šÃBÝdÕ~*I×샕Õ×iíöë胔¸æ”LY›:u )—Žß·lg?Ã\ÍzDLýBnÄ‘)ðbÐÈáž¿´°$+ì2f]Yiñ¸/b‰`1Θ²ÝH?Ó+$vŸ¼Kín ÀÎn^-b±gâdÁg¥+ ,"ø?ëìNÛ^îÔÚà ëSZ¶ãùMöQ$®/ßé5óÓÑ·òc¬ç"âm^ÜouT•_dfÇ;ôùåÍÂ}‘…Ì»B!9Ý\¸_ŽI¯h×0ðk“5¸’ݦ`ò˜ ^ˆÁh¿ìu½rB¬ÛÖ2ªÜ)¨?9kÖ$o¦‰s›"%±{Áûh­ûuXÝKAROÞIˆq­è ¨yî ¦a®3ÂٜìۃûÛ, Ù‰ÆöÊÝ<ð-C­.ƒa©Q„@u^+ŽÚj~ÓÉè"^A·&½©G;GûÌñÞw^²aÍX£*l<ÆÛ©„gDÑAÜ`§ï;v6ùß»n v¨~aTì]?ãØ¨~ÇÑÊ—çF<AD¡WåÌð 6"˜õÞ.Òò°8øS̆ÚÍ>ý®`½ËD'=ù1-F³œ*ÞRþªÌKnì+5‘j¸-§å8Iãu³ÑàÌ£NìO„H²­"()·é–¬‡ÃÃÄ-œ[%Q“’KåŽ âG{W®9b„´Ü#¼#kAËwíZ·C¬‚ÍÖCxLÊWõÐ…ë’°×—³`Ô±ž'6™êkn¬¶ؤæR¥Þí7‡³ØÉ9«b­(¹›v>,Ѐì Îî{Õ—Ší•¬‰ùA «¥{Œ³ž#K䎀D—™ £sÔ>‘_;á–É%* Û¾¹•ƯëB—%a¼D¥î,‰R€Ù83vý·>ͯ¸;c—ïå°sëÔO°Šû„[²UóTL”Žî ^Ç{ pÁ'ëU¸èœ)gÓP÷_(ðgSçØªf’Hç4çî>3 Gebë0Çíé„ök‘OͳÌå×´ª§Œä×=… Óÿ6·ŠO¾)û؈ƒ¥Ù÷ôRµ#0w›%Í‚\ËEò¬Ãû`ÓtƒÉ™É'U‚÷¢“ä«fÝ›±´÷4o·FÐê]z°Gc|""dÞâòW·‡DÍu}§(7ÊŽÊ“Ëùh&¬¹1…F½Ð-6Í­ž³€ÂOps£$ (_¸Õf!í/a1¹è}i«‚"ä¦`mmûêŒmØþ$Ó+|Èîõ{TÐI‚À‰U¯BëX›âÆ¿§zôJ™Ž®¥—@U@›Ë€ìg*ÇèüÆÒêÒïµþÚµ×D6»f’E<6Ï yî7¯¯öªV¡Ë~M•D¼ó(*Pž‹}õALY+Çh \‡»ÜeŽ©<·5ÓØÿèO´Šl8ļ÷® ñéZUÇÛ°û«ª7Êñøo‚’7ÆŽ< çùIçÈ?Vø<ÿ{LïëoõÊ‚ÙæÚÑ*7ýV<¤±0U vWk«GAP¶ÑÀ‹ ƒRú¸‹\w¹á”µ¬Ÿ³—Tú¡’£d=+¢Á¼ò ˜LÂ,ñ5¼ç>`á™rUøQ!ò+ËÇéú;W:NÖŵjA§àwáøt¥‰C äBtvÍ(ÕÉV )¤‚¸š$tÚŽÕl½hÕ³<kCïã\š<òuÓnô}•Ý”É:ýu02¹2Ùâ2ü°=ŸÛ O-•hû©~*¯ã2+„Ì4r“¢£§°o#tµ1©Ä)0™ù†1´¥ÑIÃÆl!§Å(v/¬qµÐAú¥Ÿ}fžÛ½2+DÉ2^lMÏY÷ÔW’ !ç$GÛ{œæÔÝègÐdEßMÔ¥y˜§ùŒ7ÁrþÀÕ¸íT÷ªÄ„u8«_ר(A¾«œ(Ý·©¿~Õºã_]W]f}³ z7ú¦ ä©ÔÜDøm8) 58kî½™¬8}½s9È2øå6¸“â—10¾:Ì޼}ìê+Á@TÐâ=\ûØh‚hZÇA~†éÁËh…•c&ÕÝg|†º/µ+Z Œ¼×ªT“wÌ÷@X@¥sš3ØÆÙÊ;{MïàƒÌoö†86?ÁAC¦*ikŒÖÀ.°äÛ@"<ó›mqªµ¦;¾\ß-€Æø,nŒ0‚6а™_°Â] ÍUþ€•ÕQ‰?ß¿…‹Žm-î<1¼LoÝ® @ßÿÑÙ-EÚW;µ…¦ámÿ ïуÆÕ޶ õì’¬÷°º‚PêZîí6-+î÷”ž]½8—]4[»l Ê_ï. ‚¨o‚ìV$®„ݯ+W+Ëȹú»$ú´ ucXÞ2\PÓÛºDp,pÈ`[WÌWzÙM‚}œÉlŸp¹ #fYMŒÙæ‚ Ï-Ôí—ÑžÇCðÆsJ2ƒê¹¯¼É% ]ÇÏa‘kO-¾ ±±{){e2¥ìm—¶röP«ËF0ë]‡ŒKƒ¢ d™öà'a‰õ À> ëB ñ8ô›¦ÝìE,ôÕxB-Lx/dýœ¥)Ådâ¶Íþ쮢ؖ§ÃúãÑ3W–t´³jH>o8Æfî°ç Ì=¢"ò´¢T+¤hö¬ó6<@@\ÛÁÐç謕„àЇìÅäÆükyðt÷úyñìH€‘ì7-0Í­yŠ[@+¾ Ž8“4,¿ÃnVE#¥—ÇËŠ^‡!1T¼æúŽ8ô|#ªó$­^ïI$††¯*ð£`BåêíÆfF©øžä¨#QÑv¾O==aQ D®Þ ~n©Â…>åé"¤ϸiÝ;eÇà¾v£z…—gíŠé1÷¢¥ëE¹Wnþu'fz£vy“i¥€ýžŽÚY¬­UÎñ¸ÁšrúUcž³¤Ò}ŒOÉFp°ñûjVå¥e÷ȹôÎK op-CÕÄÃÝ*‘5hŸ1zÒo!(Gœîgßb¼¥ý˜Šk4Ù4Éw¨ñ‚ßik\Lq6z\ux5§1dÔ âY <Õ¢ÕuÚSÞâ;ßÜL7*ëy_Xan¬z?5ºÙ»TñÊÑ][cÅZk0{Š"Ò±Ñ~ÊP”bÛ Áì¢uSÇ!jùÀ›Âó–ÚB 66_¨VÅaÒ½æô <›R‡ÿù£¹Ã(«Xf³Xú–#†qèƒu™cÚ¿®‘åãBÜ@iÓŒ¼g\³8#¤…¯-–‹ëåúy_ó.‹:Aߎk›wŠ‹‘DZö(¥}«ÈŸ%>ÝÐ#À@ UºÖh˧'’FÉÒ5<äÓ™˜-ÞŸ.½Ië^ m´äÚn:üd(zP¦Á—sPýLxùt‹Z™æ éý”z¯aG¼6x¾ùÇ z’i˜¦n¾F†ƒj}¹‘¨ù©æRðò„âŠ.Çïbà C0ÀžŠ£é°ægÓn}ì(ËnbR‚QÛ>R»àIö×ëä4Öe_‚¶c_›³-á*dDË´ÑÏÙŠï¿-ˆˆ+3í²-Cš¸(è#´5É×`³YDzcB †|¿„â”°áò‹ ~öž¾ßÛDlr¼Š¨Ú`·ƒãO|ú”q÷?*ø¥F؉8ó€ÀVÝå³õ[ä<«ÛÒæÎEC¾J·°ê†¬ÐX—ë%:A‹zªÿ¾{îñ/@ð4}d˜ ÌŠØ-ÌLa¿ÿ,¸W´áZ¨V~m¼“½¬QS7Wr=™ºÔ…ÏI#Ú c3ÊfžnÔ¢ÒCV⨵³ª^AyMNŸHA·›í¾´‰cÏwÙ¶TžKQD°A—§,¼Á¶GQ¸þ7« mú6¢4v†’ ©yq<Ç`Ã(mJ´Óu’Ãl±—_¼é1§ «x/ nÉÕóŤoòÚsÉÌÏ_?w].­1i%;ÂÅP¸›Xõ»*û%ÜkvÞ?)úPy¯ã^D¤Yx†?YfÁ©=<Øà‰ѹ¨`Q¢Ôñ]wܸuh:<ƒžçXIÚxƒeTsôiÚu{³Ú—r€`–æz|ó}S‘a­ÓmO ¶yü jìþúxhÜ÷¿6ƒXÆ„œ™GÀØ”Øôb‡ãNÝ¡>4¯Z¡8øÀÒ¤ Q«ãÛ,”! Y$mÄE ‰ö°ÊTÆ¢ìY£óá ÌmÔ×GÓ ä7Žþ˳£5u5¨WM&Ûb˜ü8mJ0ˆÄs®Eu±Æ éæõšwÍÜ[ÙâÔkç‚DšÕ좛g¨+ÊÝæß†“Æk tÅt™fm²“>í!jï¶0öäÛ:¿mY'¾éBo‡ wö I©ÁP®÷Œ¡Dé³ GwfByÏhÀ4h#C c¶b#i>{ ^„_rž|f'q'0“¸NJâ“¿XÕ>¾Y*Y+sšWû^ã/KÑj z%‰”Ñ2¡ëÂã:ãçå÷s.~=ÿwe‹Â ‰Îì"*hÙ%\±ëMìà°]ýSî?·îÙ‘Ù$¡D «äÆ%ÛblòõIÑÉŒÅ_>ê† ê˜k¥¯1ZøiEp`ºÚ+±M|@®+ŸŠ#î©'¥ÃEš¥½@’*/u"ìÕÔøi¦@lþ†G;ò—Ì£kÞyÝ!ßé'*8…EJÁüo0H;%ºãÁ,fó`芭àè”kÉ×Ñ#§åh—øy ˆü/-(¹Fmõv”xnf"&5ûR‘è&´–G–ŸŒ™¼`—wO˜¢níAóÀ÷d›ª7ð·Qì§fZð…GJâ|\ÀIFKÜݲÀê vM¤U>9*ߨ±æÍ¬Zžñ™Àé)ƒîS½5XïNïC,¾xfbÂ>@óê\ÈØ3Яv~&ÿÊúõü‚Ì{#íûô:5'/”Š€¬¨ñË"UL”2æ»Þ¤Dÿ„+‘´å&*ÅÔíU~|RµÃ¡gò[o¾Âë™ÆbƒQìQÉ-ïÑI‰R½ÏÒ˜°J£Tfœûä46'ƒ±uÖ5÷=Þ=²§7Oœp­6¼ î”&Ïé–zÔtÅ¥>Ç =þ|ûIy”C¬Æ¥ÇQ)WFÔœ#-¬œž­¶µ¡Ÿ~§D^\b|»hÚ û-c×È/îŽÏI Q=ýÿHiÀ}#}~5‹‡¼l‹)7xûû0>Á"¬#³lîË\¢é©(‰aeë˜Hsðšêg¦””¸mxÁÖ€¥HRŸ43}sÄÈêÂÈ¿p@ûh ÒÏïÌÿ™–_:O’ö¥@Þ¦DY+’Ð3@aqRF£v–;â.û@1¦G7o7XÕ¾Dwï¶åìãýÍ«}ªeYȈ7¿AtEFùŽC;¥K‚ú^ô]Ù¥ °2ŽXU*ÎÚö/+a‰×8Þ‹5`ãmåýÓxIõ*WL“ï„}lUr•Ë„h‘°µkêÍë¦ÀKƒo$1DŸÉ€üw¹zxt¿ë°ZyË¡q³¸Î˜ÞÎÉo"º "b€ÊÊé«UåðÙ”5> stream xÚlºspfß5'ÛxbÛ¶‰<±mÛ¶'¶m;™8™hbÛü~÷Þ÷Þ·Þª¯Î?Ý«»k¯^»OÕÙµ9±„½‹š§™ž™‰ *¡¦ÆÌÄÄ`b`…%'u¹XÚÛ‰¹y@S€*ÐÀÌ`abb†%ˆÚ;x:Yš[¸¨L¨ÿ ÔmŒL-m-êö6ön–&>777!7gW'W†ŠT@€‹`fiˆ**iI+H¨$~$v@'#€’«±¥ @ÎÒhç ¤˜Ù;lþãLìíL-ÿÅÉ™áßìÜ€N.ÿ3s²·È‹« K(*¨ÄEÕDFv¦9©Êí\œyþÉš¸¸ü«;:€Ëÿ,£ÿYÆÿ³þuòøÅËÌ 0µ4qÍ-í`ÿ¥›´™=€ã?°©«ÃCÿrþ‡€ê ©¦@³²]mlŒl*Q{[W @ÞÞèdø—öîN–ÿ ÿM5²µ´ñüÿMþ?Ò.Fÿˆ!lgþ|Lÿ,%,=€¦J–.ÿèíâä ü¬üÏÞÈM-]mÿSüG“vÕÔÞÎÆóÿ¬øO+ÿ^QF]MLë'íÿ†àßaq;{SK;s€ªË?z9™þøwXÉÈò?ô_.ÿ(óÿõå\œ,=:L ÿ¦=ÿµôþo–ˆˆ½‡7= €ž•ƒ ÀÌÊÉàbåòý蚸:9í\þ-ú?½ü×ÿ÷0@Øõ{Þ«ôÖ° ?ñ_ó•4 "æm Mý‹=pÁk‰ 6¥-ºv’5^Y©Qv$»H[ò¦IË<[ˆ3îÁýæ’†ù' ¾ß_«út¯&¥rþNRñ2`œ´G§]7Y9‡\)Oì1dŠ3R·ç†ÛÄœG‹Ð¹V»¼œdÏ«]ÅÞÃþß;¯ïÞî\åk1”<ª{bNЩ)±—䘭 5—ÆÃi%ÖbÁ‹Ðbæ5§¡@mIÔ-¨K@¢,Ⱦü>šQcð@§Èï–žqjîÀ:ûŸI1h úó?¶ñ ê™8[0¬¢ ó$ìAž-nJhºß?ö•å¶ö q—a(Ìj(ÖÿpYç_Tãøä‹yRõ…»Þ®Öðòe%ÙîtŽ"„˜W¦O…½@8à= úÈcw*’¢bœï(Ö8ßýfÇþ›€Oiº¤[_€d$¾€½}l,û¯ÝŸèˆôª­!°«“„sT™“µxSSG†šFºH2 ÑQÑ4¤<'tìþÆvŽ#mÔ¶ìÐÂ'=Ïú8nûÇt[7k±PwsŸñ3EüÞçí4û,m´c;ïG(Kó³DÎÓûù&™N¯’ÛFÆ!NëÃðî€j:*¤°¥àŒ =2J,Ž Ì:O¤a•?dÇ«:¯CTsü‚ Ol¦ŠD¹˜[é^•k´E]%§(ŠÐÁÇ"Ž˜«Ohä ' ¿É]ÀÞ])ð/±|Îõä“ÊáãiϱŠG­óõ{óß·|ÌË_õ%\®®=©v{Z˦ã‹´:hïu\‚Êb$Î.#g0V#nžäˆ¬û5óHz%R?h“Rñ¨ÎÜŸ0úlr¥×ŠôÚCcÀ4ãÌ=^–½É*í8Ývo ù æ«c{¢D`Ó1ëNøá{uÅëe?™µyŒO6+é éNJªŠÓ¯óGÙüneÑi„ÞâŸÈМévÆÒe¨T¡ b-åKÿÓÂ(-ϱA'AŠŠáňÖW4^Í2H=G.–Ò?ËZð#Ïßó-ýÓ oà¤#Ÿªƒ~ÃQÈ)ÆÌd€KŽçï„“zz3ŒRD/õmèÑ §tÏÎ3N½ˆ¬»7Œ8Á¾÷ÜÕ뻬Lów5:*Ì^*Ÿ¯¬k#•\súxHy‡/•âõ_·ÉP ! _uÄdƒÌMê™ñË&KA¢‹¼—”{"6fF­àd"Ú9bWe·$d‚¯DÍåc#k,hП†– ˆ ‡à‰Ô„>jåÃŽú7ëíëÚŠ– †?é§.¯EÍniôNãC™éˆrONJOð¡y–jмWe9ÀCc¸Y9âeNƒ•3îði7av’m¨…i]ìºÂ“쨇výÍñ%+ò~ò¤w[ÁáNq7Ÿ-‚‹*»¹¼{vêè$ˆ]×óןÚ,i.BQNÐim©Ò(\Ÿ‚Ý’EÔ/§01.F©ƒäþÍbM¬7½ò'+’µQÒ5@–ÌáÆÔ‹Oø“ÿši†'hC§z5kl‰?µf¹¨Bm¼ ã*‰ÒNý'±âýY“ö†7Z„í¦¶rwð/Ü—Å·Ø<ãno¸C#EDÌ”lŒÍj!;¢¼-/6ÜÙ‚Fìû‘jš£?2ƘÃÈÃ`½öª…å"#™KG}ºž»Ïá=¾åXiÁâÍ‚ÐQ–Ñ‘tªbá´¦L>ÑV'Y霥‘ëDƒa,`ŠKéíÈj3pxµTvƒ?1çÐ;ªš„¼9Økˆ3-áµ[ÛÓk?A2ݤá$º†RÍæs¶()+`hqä±£’F‚M?ÀÎÒŸ¼°B‚­4"x¤e}P•ƒM–ôîÇš-« 6HŒD$#4™4—d’<¼j€¡ƒA»¬‰1g2k„øHHvᲫ¬&º 6ðæ$Áë6ŸGØÙYÙhUkÐ$±^ FLyUO4¢IÇÛ<oÖ-I…Xê€bCB¸ià—ˆYg>ÑÒr°uÐç®ø›Õ‘ðxý @XÞi „ÖÙ)Žoyeå,ä Ç—Cîü«Á§ù¤Ò,‘=—×¢)l•ÂYCÛmÇa¥n»ØA•“¼ÀŠŠ~`簯žy®h—åñU ,œ¬|"3y^„?r»±ÛIG3œ%´HÏùž÷VÛmÛÇA—Þ\9ùfjHº€Tù…+ñi@›Df‰8Qr٨栘l¸F£(G¦ ÿª}çB°TŽŠquæpZè%|lrýÈĦym)€$g‹¨öh#¨­jè·û[3C`YFx"•õÔõþ†FÀ‚ÙuÖËšAÂ>ÍÅw8YØL  ¬ëƒ–ƒýíòZþvÅ¢Ÿ ´rkf±q6ÐåH:ô›“ž…O ŒEP:»Ê÷Ë P&nmEPVr$[‹Ž±’ŸÿF"µ ÈêMŸ–ªK£uu?E5õs) ¹ìlS‹` LH]þbDzÎgò…n\bvf*þ23ŽÔf <4†ã¥[øž…N(°{/(úªdöÿ{qL®äÙ|K·¬È Bºó›'=g°çŒS1žå;ó—󎪰+ Ì EÞ—×õÿ©·‰p[£˜t5úCò!Vöö÷à–<Œ,$’‰Æ7“ðá A* :¦r³Í¤=t'÷…$y†èlÏ-<ܘÇz³:7BûÛ7ƒvâ¼–µ Å©&4¹¼à‡r`¼ÔQ°.€‚ß“ —V•…µífœÊ> ÞvèH—ýAÃ2ÿÍ¢ÿÉ ±î¸I6øù\@¦šÎl?\j3öükŒéçQÔá£W„R;x'·yüŒ(.3‘þ]®p¢¹m>Pe ÒA \ÖaÝi ==z<`™Ôíבòšt[Sß&Þ€§~ñ3&=8ä+¯šCˆ`hû1Âò×jˆä¹ÿÆÙ…âpÔ sñ?Ê€–^øô >H¸¹Žå@÷¡DZãèŽmȶ°·òõ*Ùe„Ü¡~X†á´L¬‰[U47·›KÑV4NÿöÚ¤-¢Avÿ_US!Ëy0eJ-øvðÎ#Ç,ÑêO]-<ÓâY ,„¸ø™òìÆ*–9K&o»æíh¯uäO«µ"Ê/¢˜ãÚ D…ºR¼Ûê™ÞNS¿ªñ‰Üˆ½Á ¦Ÿ¶»½§û*éoØRl¶‚Ä«`šE2¢×ElºÞÞtyTåÂW~è£ÒüháÅ1…ò}ðN°¸íí –&Kqa_®†·ØBø Š[Ý£v]ªPtx‡©žkÍÐLÁBz÷V\U)Õc•MHÀ,¾ÐíÔ|>lÜÄùœOÛo·ˆ@üõn Á$7‡÷@¬\¿7)I®Ó+n‰dAMBþ~,ËÅÿXȵš„I~“meÛ½ÜÀ";‘tQÿ0Pu2퟇Jé¹&_nïUÓV žýóg}ðî–ÉïKy.<†P!u|É-¹(иÑ_! 1ÎfsÔšá¼=I'EöÁf Y.qY˜6\W‘Šží üb¶¬LÏÜšÓc"è”0µ«tÄÌ?Rø÷ * èW>nøÏ6»Ì¯e•ÓŸ´ÞÍò4 ‹ª?aÜ(}ð(8Áp!B67ê»ïoåF˜?— ±­þÛó­P»<í=÷Á›©R3"¯×Ö´²D¦V6f$õ[”¬Ù¹·f` C”÷4A8¦ŒI‹°)Œðšþ”ú?¦ÞþDɹ9ŒD¶Ú].;ž{qNØßâ¨À@êë$чÍx²*nÈÛ“ÍS,¿Ö“|‚ެ(n%À­ e7´¨Ž> °ìÙÃ,þñÂ_þu0“õ\E¬§‡™éýw:¸º×)Tywq˜‰nÇï|æï‹«¬.àú2ߺAVqDNûmn2-­ôSˆÌÍe-”!æ!ÙÜöLï&K~Ú£³5ÁΦnóáÓ\àý÷ èU1Ðôº®>W´Äè˜W= ß® Þ[ó0·§:Â+¡Ê›çï -³†7º¸>‰¥Â³šŠç×öè¤Ã#µ—úÝŸî覣Ç@ÿëÖ SÝIˆÁíU×AJ{æÙj×ç u–ò[‘%¼¶šíc²úPÕm„fÙpÚ»þ¾‚àVeFOµ¾'rÒýóÓÞ‚llnÃáO:Í¿£Ÿ¾YÆ­¾°ý™ ?íÈ›`q²)÷‡›ÚåôP Îçµ¶žŸõ‘ê‘Z’¸„™úŸíé«AÎ1I /ýcð6Ô界 ý\‚ÜüaŸ4å7è@ñ³IîUé4«œÄ’S©Pæ•´+áíšb4í=øÅ¨ï‚&hÂ0 ÛHsµ‡f==îuѯâб zx‰Ådì?c?_²‰†ÂO«ûAŦs4%VÁOëÅ ‰±^ä×a-üel†ÿ ¬´É±3ChÏ7E;½Þ¤ZB$0×OEêÏß÷¢C·€_è¾\5ÿõÒ¶ÿ†;ŽCƒÛ­ÈN,Ò¸—+Y&ÀZ‰ó·ü‰q¤Ò`AQ„^§{v‹Ÿ6Ô«Cõ(qÚöžú¾©ÓN´7%Šqs6¤åq­Ñijtô–ÂNEºÕ@øþèæÃ¤o•ntœºœ™èßáñÐͺû5©Âùe Ã#I¿÷;x C©‘/PªäNá‚ þœr£™B¦½ +ý¡@)ÐÂQPeQ”u¦‡û ¿Œ·<…m1Ž× MVùJéºÒ—¹™kcôç$Xiu7ABK2†ÿé6’#Ù–┌pÕR4ï‡Ìþ„ß-gömœ{9Ýžªõc‹^öè=°="½ ÄRlX`àºqAZÓ›W¢uZ´‘…ƒbíG¬ny]ˆzcO´Àka»ÿRS‡­nkEª3” ²ìÆ/ó9aevlCg\QU¢cÉ-¯ÈŽNš*a–3ëå lóMÀ`c¤†ÈI-¦™¶mk…Ñ ¾øó‘÷LÞÊYDAöÍÚàYXÓý{ü ô‘ûCÉT=âèhYУQßv×\ÕˆítŸ4©}Eøúy²^o ì]¨‰¾++ZÎñ¸D;^1-ìó\hIü!ðw)WÖ.’:}›¸ö'ïÄú§» ÓdhpO@²GyèѼ ÿïwfÚs¯+ VŽ${ Všë½ºÏ¼ fÒÉÑ: 1ž½ìrÄW‰–ü÷ÁRðÏTßuÍC½׃mlOk“m½¸s=Õ?Êu3z·¥Ö ¯êo_õ~×,®«¡Â€ZíÈK_ÍÕN¤öº…­ù0€=ú.ÀÂÃÑQÔc°˜Òàm³Lp\œÁ:¢s íý0Œ˜ÿ$(é2ŒÀØí3§L/ð_ëz]Ç4ép ¸ÅÅÁ§TžÕ†Kd×C0GD>Ç©£%4Ê«»öŽ<¿$s¨{-ñO®LBɰѸ¢'{ðr⧤­ƒ³oºmÝF í¼ÖØò£—ã,æ3ªàJuµ|w>^u;µØ Îé7Òd'Ó¤ H_qZZÒHë ¶Y+2´a¿ ŠÖ%G¨v6U¾é”¶­ß¹@}4•‹fÓ^éÚâa;kàSçÅOô~];ª ;朒óec"Táß$p©;Ïy¿’ßÁ¥¨R¼,‰<ª{?áU'¡ÞY0 [›˜ëp‰°Õíj_„É’wgÚ–> zE­Ls,‰UœÓÐh§`wY¢&§Ï¤„m1¾Ã4ìH®ÁÆo¡üÉòºš›Õo¥»“|®Ûj³phÆÙieC¹4?tŠr8PÄþðM¼sx¢ÿšËâ6I‰7Ñ0e<¹jؘ·LW ç‹>lüÐÕ½ïÍ#ù 7¤É¦J΋à(•Ì+œža[Q|V5•ºÏ%ù‘¼KФ%:|-ÞðÏ€¡6䛳:7ÜÁaB+a ÝÇŸ•{1v*ÒŠ Ø®ÇQ U â~5 =§beËð»´1šKRù€wØ«7á+¬ËËÐ ‡ŒýŸÊ±CÙîªiµwŸè“²l$µ[à ªÚk+§æs=;}45v”‰VÃÎdíü޵~ûàOI¦qõ–)~:ؤÅÀæŽC’d°³›Ê’Ú2lœS× DÇ<»P®ØPwg(ì,×WãcÏùq±ê)Ýèabýˆ_1ÙVÜŒ±¸ •±ù»]hÄÓ§‚gÔl%šÊ®}¨mb: e 0íVæÈ•U8vQR§8³ƒ³ Qâ…l_…$°jªI’ˆëßû|éôÜoV$Ýoñ ˜œfxÚr²ÖA}|#Wž’=¯’h#Ž“=À Ê3 =eè+¢°î šy3…>1,ú*D©§~{¦ÔX\‰Ÿ’iÁG®¯m­ÜzO/ ùCB.CšüâDõ6ƒ¬Y/èÁ÷btÆ5Í!ÄVÚÈÈK㔹޹&EHŸã’ Ë±z2NBsœ=ý.Õ{è$ó'ÄÈ;G‡ù$Œ_.Íò]$M¾uÉ‘âê{4º8½¹X5§â¸}òŸ}Ëé¼?ȱc“Û*ý¨ÝÔsƒyt*ýÝÈ/þVNLæfðSWÓÜÝb£WxÞ@Snïn Úܯ|“ÙQ¦y®Úr#XsšÿâÚ ¯j>3 mßqœá~BNPqÌÐl£lõÅÔ´Xj¥ôZaC [Rð=ô±¸C=~8·Hï9Awï„k=´&xU÷˜K‡2“f†ªÖ¨-þÄqAW¢FGŒqæØõG‚¥‘ÜÀ@óàº0,fqylL”¯Á«ÿͦàý—\zm%]=Ïþ„*½¦yýžFukï·ºÑäŽUŒ4ÑëÑl¢èÿ—’œó3 ü³²\±T~úSZò¯ˆé´8âz~å~:^•ðd+%ηÉC¤'&Û…¯G…cà´Ý)¹;2@a#¹Í?Ú’¶¸^®w‰Æ%¸ Ò+Äú‡™tJ”XKO›7”º[™m°sFyxB8…)|E³ £]Â*¶ïGÑ[\B><Ñ^ê–Xas=o=‚Yݱ/ Üs›L«òq˜yÑóWò~èCÂ霼ïò¶¬.»6Ññ¡ü=þI‰iþºÇÔ)\r¬£¼à'_iÙîºÛàH}­WÙ°¥õ¬ny34¤Œ|cøÞâSªF 1/¢PËÜÑž,LVº}¾”æ GÅŒGѸö¢ …2‹Ä~Õ:U¶}r£ãq:ÍUuÿ=Ü÷#¢ª¤(wK.²ßôÞTkjL©ª¿üÅRRéVy¼Û'»K宥ý‡„®®Ý&…ÙÌ„‰¨‰¸ÝcJ¸_Y„EGD7ÜmMƒüxV{r8ð,—á”ùõ¸»†j;›w§ÉÆQfã³À4Åm¬$v+¥E$á)ìáÁ‚ÁÔßʰ[ :{#„nD|¿µ×ý¶wÜ)v´ „“•F² ›ßt—V“Džþ¢Ï—a …L3©“ê|EŒ€Jw¥¨¦±'Ux‘œ§ãŽFKÇ·!ÀAØD°$—Í Ú¬ôÃ_Û½U£ìg³ÎÎ<]“ñ ¸…àG4Ľã% ZîŠßƒI°gx^y } «0 =hÍ<ÖIzÃ÷Ÿè…bª1 ÒU±[= ¾ÃÝZªLâ¿Ô 'FF Iu…\¬R<üÖ6ï¿ÓDíŽý¨PUay×›fA-µª_ÏÕj:œ¿XÕ5ÖÝiÃvÅ'»ÀÂyHVóhQ2=‡)Vc”H:\oMóèŒÑòÞ¬¤¤V–qƉ´’󼯢²hJœ2¨=ö4µÂwÿiðraÏ=Žopà ñˆÊ™°¡•ò(ª“œR‰1s›g5Ó´€AÜHl½ÖÛºpE¢#Õ“|кËÜ öf¥D_¦+nYeÊŸý5-ÖÚ²Ét•ZUkŽ9)2;œLmÌIBw¬–’o²¡D¢y£âHò 3z&°/¾jrVwq”å&Û±§ëóÆ‹¡·¢‚B Ðó¼;î!<©Ù áìL îÜJäP€Âši  Ö®T"Ö?BV<O}Á³.X1!\÷žæ"›©¿Í³ Ó¡òs/sKdñ–Kˆ”!(bß#ñÞâÜE™°"òÀ?k³ýñ°%¼m¸ûêi8ìÃ:£?Èõj¸RµVñ»ã8¬CSqÇ{\$‰¿¾y#¹[)òüážxë¸û§ëu×Û,Sn¼Ý'oµÀÇ;©$ø•2Á~† gÌѳônbß™ñfÛÀ‘†Õácˆ•¦‹+EÜ]0ábÏEi½0˜6KjüHÑqí=(7 ãÞPÒþ)_’((õà¢%yŠlXF=×yx|%nnÆ„…åǪMàЇÿ‡éÍYo©ùoEÉVkÓf>i[Ë ŽB8íQø_ÞG8€cÂý%cÊe®=ÁñFï´1.RC„éÊðŽp-³ÎœuVÍm¥?ª4]AÜEG²ók¨}.…|»SF†à{ÏÛ•ØfS©Ùpön¨#™â»‡ÃšúâÊëoD|—qòº“Æ Ê¥èlüo«ÃÙ‘@ëK—õä»kRÊÔÚ›•Ró{뼪|>‘üJ|4ëèN*Ù˜êŒëÑŒ.¾ÍG·‹¼¼dvtû‚ë,º§üÅ yƱ,Z ÂûL¢£C6}z”?•SÖÆ)PU _züÉ0•Ì%9#Ô2#Œ i#ttx!Ò°ÁB‡[ 5'-î‰²èµ ð(º*kå­`#7»_è\"GÅ6ˆE‹ˆ¬g¸JOè¼ ôÃâ‘]7ÀÈ®#ÿeŽbwV÷ú%+[€HE¸«iG•ï÷hX£Ð>–/x_¥ö=Yë" MÔîgþ<§ÄæŒò€ü$7;XBþ·ò“Øt4ÂÓ<%Ô³žpK¹çôä§xbܹ>ÑGpóœ!‘}gü×JÒà†d,´°¡“ÖÕ9†Ïx”jâ‰YP?.srŠIƒO_Ê+¤ö•$Çre1F°ŠžmN>o\™¨òê¢ú†.©aWÿ/q ÕFã)0|.ÌÁ¤Ÿz‹œÛŒ~y|£æ¿?˜æº.ªûË©Š½›7cÍ8ïæ¶µ¾^¬M¾Z*bgUÃ<”Ö…³ô ¥ïqÆ»»Yî⑎)P)ÄÀÒ“c\ËÈ;¶ÒÕÀöÌ!JEÝÑ‚snø öç™}‰_8³a&Æ6øŒÃ3Œu1ócÝמÆû0L®dš ý¢³> mér'('¦w"ºŒÆ¾|ÛmEÞŠqøß«jf·-ˆ¼’ì‡!´fR¦ˆ@ Ñ8-,†ÚËÁr‰®Ö2_Ê”›Ñònפ3)¬L}|Ñηè&ö£2"í,½¹±(c)éüŽ+„4\‚]p«`žÞ\ö “6ØWÕûF+áî±øÃ’3$6'ü¸“"ô¯¡F([RE›”T„Üo’\Ðè"‘áç7¦Ë®O¨¨lMk× ûÌ\йD+„Í!Ë3¬ŸU;¼Ì —­¹õV¢w»sýy‰Š&Û¤ƒ<"늪ûœŸ’›„f'l¨æ®‡7@Ξˆ Ëct ䷨ϕûÞ2 È5(SòÎà¾ Å«Š™jV;û·Œ¥ävþØ@œ°t\[ĉ5Vzë ~½ÛRaÐÐ2¢&Êýaû§>LM(.ó”nHGs Œäq߈™þåÂ>ôRÝ£±ßü[PRÁT’îœßà ô*ƒŒ×¸«]‰¿†g^þ¬ø÷ã‘ðÔL—ˈ*]IA÷¦¢¬Ý­F~^Q-¡Ìpÿp²Îgvé‹8h›GÚ#½:‡O†ã|ø™¸3ÔCRá ã^&Òç½__ßcËT1Ÿ³pI‹•È…h-ºÓŒRKy8Èj®2ÒÅà ‚Xãî© Õ_òtßeO,ŸÒÙœG·4Œ¸Ðñ\Y^²šm.n‡BAbSYõ¦¯4õQ3“ô¸òíIÍ¿9.7ÕR%CòÀœ-B¤8²~Û‡ ±(Hñ­†Ë‚"rGMƪŠ/^ÓÑ1°*‡c%ߟƒ:m”Õ¡>ÒØS~•mÃΙ嗼‰ßƒl_ÓÉ@"H~'u"Âé£%UoKB zN¼¨r¨åiy™²™\1Ƨ§ÌóÏW÷W±~)6,ÍôÜF“ÿ»»²ÙM•øz|¦ÑùˆúH!-Mê¢0¾Öˆpce´72…wg_[H 17ȧÍ@ǃUÚ¯x£<•¡¬a–+·ñFø7—í)(§¤ÊÄ«¸±»Ûÿ®>F%¨zÀÿœ¿ÔâBd•ƒ. Öˆ€® •([éz¢ÄÏòÕýåâǺKšÞÝ&2Pm&]šKË,ÑðhœÚðÜè‹øÖóàI\gZÖ0$Ÿ^@±©ÅȼþÆ,Q©1˜=¬ ÎrF³kÇæL¥Û?øq1tü bБZ$7\%Ÿ‡(Ò(I@4LùÙŽì{~ñªÐ×ü¶µÄ2%Žç)¶•a1 >â|Ä9a£¹&°ð×óH§™=”G@©!ãÆ-q˜“š%I"¥ e×ÿZå¹)B¤|ô«žJ85K†ËyUgÁ½°öBŽjk!2Ž´„× ÒûËuò }Öåq@ãÌ׈ÛLzOÝ é…Ö–&ð:‡C¤óÁr Uøò>ÏTxì½%Ìê—J£WDÝ» *3ní%¶Üñ$¬—î¥ïK31y ¾øò!úÝ~Ìõº…Í7õf€¢´Á-&6L޶B‚ 7|+›I&Lî ÎA=¨¿o"’BS—€iTãÑ)†îîÉÈ,X[¾Î%>CS^85³€Õé·Ù_Ìì¢;i¼Ù„Á³µ2$*VÃzfì>Tð|¹ðö¢–؇¸ðáåƒt½ÀÂù*`‘’—݉Èð®kZ¬ü©œt™,‚+sâ#>rýì;ð¥<BöKmý^+òõ4æÆ]X…'B£là9lsÊPE]@Ñ#gÕg6rÙ¯àw“|…\‰Æû“ïÇþ6èðDÛøLjø >ŒAûu,xñ^Z†Ý¶ .·³N^Jóè ‚çå}kÎRy‡˜¸?a©¡âÁ6€¡lÌ#d"óW0xÉúžZb÷iF>…°mZþʾ`‡’rýo%}>Á؆Ӵ·Ó};oøiw¬"?=™>dšâkzý€?t9'& ^Ê‘¬¿F†t'•M!4æþ¢Hðh¤3‘/½#v?Sà¯6)[SãH”@…¹n.©0À{罆â~bwÈÕ À7G²Q5"®"@ÖmÇ2Žƒ8€Œ¤¾vôÜÖ«8!®ÆÎW¡Éë³ÔD£¼oqb[p=ðXuyµ‹ôÁÕKƒ<´ò~æ¹úƒ*‚Ä~.P¬L© ­¡×š'[¤‚­U²‘h>— úW4.¸1 éFß 4^ Ödä>9C.iD‡Ì·Ê„$µ ^ðŠåO­®Ö1·0§úƒp4bðªkoT<8ìNúÂÁì½ÝŠÅ®_[Ÿ•©÷ã¿OÙhÈð=o2Uh>Ó/ÒŒ—O÷û4J«8ÊJ_&ÍÍ:üùvo[1ˆ¨Ìöº¼¥3Õ¢žâ¾!î–+kH;G£Õ?˜¤j7 %K@;êEË7‘0=Œ+ggdPEѳ][lšIríÐÊ5ˆå{öö©Ns¨Ñc‚1›õÐL1æo«ÿª×:¨MìåVÐàu §5Ššÿl„—‡B‹·,v§ •-ž‘œ çAaÆdÏ/‰“Ê$Mp«}”~¯ úßXU•t“06~Âeè[ôM>óëÍmöÈŠî˜è@á}á B¶ÄuÅjßÑ[W„YŠ åp“ýó²Àù!§­&&/«È¢SòÂ=‚˜ðÚÈœS/.Þ$Úîù0Qô×Êr‚Ç*`÷¹‰J÷}ŠQ›:¾ûn‰kÕý‘ù±@˜hº¨¿Fär”Âä5²Õ° "Á~«aŸdu–ip¯ÙƦä:‹.Ä3I‚0 Fí³ÞMÌéûHȼ&¡ rÜ|¨aµÓÑu+ÆJeÁ%Ã%I„hU|¹¹'ý¹VdX¤ ÕW*¼ý GÓ!¯s&iAv¾d"Î|AFG‹EQfoÞÝ©jøÑ¶ŽŠ6ÑcüñcWoà•EèR~Ó¶é3=[Ms`¨JФ½/–T¶q;ußnÖçZqz®4¯Ç\±L ¬,J¥™â*@Z¤Àû×𑾺lm£E âå·ƒlþèÀIV]”Aäžúñçz2‰¢¿ŸQ£ÿïï1r¶EäOCÝ;(-í\ní›8žJì}Ñc“ê¤T°_âK8%ÏÍÕ DÈ)‚eA*0í”ILÝñ@Ta «.TäqF¾xÌ¡äŸEèckµÃ~Ârð–eZŒ“æ ž#öý^ñëJKÈ¢7û¿—äÐ!¬ ‘\)6úØ’¶y¬ërwpc¨¶´o,ÒÞëÝNQˆáâ·ÂY’PPß­ûyPaøUR­ÎÏôˆZå¹ËYk¢nê®Wz„_ÄFïe™úów ¸¹Æ•f~Œm6IgPëþkÊnyb‡GK|¥ÃÎÏŽ&¤Už”ªµ‘áöIQÒ 4.¯ ð››Á¿Öµ·¤:ͦË#+\C'W¹ 1…ô|¹uIqužo’’VÁ%t÷½±â.¥Rº‹ÙÇsÔ+}æõ%Èë$<³E×·×'^Å•JQŒ…ö™7òò×A #£œBa°”>‚¼ê?ä­‰ tŽí’.%ðG¦ÃY~ƒÃÜf?Fšåè1ƒmÙåH¿‚¥TŒùׄò$Z F,%<¼€m0)ÐÕÕ j#ºþMöLaΧӔúù/¯×Ni×$âr½ße‚ÍÑÝ('üÃÿ|*(Mæ^”ËÅOGüáûE¬ŸdË„q£hßä¶Ë–·n`Ö†Í ƒÓpipòŸëÌÐ|¥QR¶sû¥¢˜ùMõÓnYlŽë®„e/‰ÆL6.·¥½ï€àøou!ÄþâîÐ^8Ýf‹°­[›C²}3à,c£vv“¨hž Û‰Ÿ“Å9Š•cíàçæ sV­=5œªokZÚ Lôò_k؆¨õª4f}ÅÞþR˜óê1_üö/ì{¨¯[„Hs„Õ`Ç “".‘ü¥}M •'sŠ"•ÐÇ÷SüŽSífå’Éœ;®K`¢ö¹¾<\±é«õœ33–T3´ï¸-¡XYd¯¸¤ÞùãÙâÁó»ÄBËÁîl(òä*Ù¯úwVc5/³…ŸÜü,@ÐKç*º9Ïö¸“à,üÙæC2mà’~£?2éTZ# Iˆ4™Ü©9—{Æ’èâœßkB•˜¨; Ï1 ,×S<Ã:ÖÖŽ“]¨–¸/˜h+šéêxûPñûtäÎc.~¤Ñ=¦}Jw[ïÂÐh@¸\öf̨ÍΗÒÜß$¼†§*ð6$ÁÁÀšµ•Pœ9YÑ/:œÊï zlÖŸ?!dx ëë°"^®s”Úš™ëY*-„WȽNåÞôì.®†«@H#±ë½0`uæÁÃü„€ªY¯-S*Ÿ§ym ÔzHÚÅк“E(MØ€oÔ„P/ÑÇšR¾ï¯e×€\M©ƒöqÏ‹{¸”.ÓÙq‡´šÜ ÊÿQâ”&¬ËúׯGŽwpÎÀIõ]æ`°QEXQ/•š¨ÃÆ„üöîéƒþ¢Í€‰2‚>_8ÆL݃,›Ä뮚gKíÛC'Áh¨  Ä„Öæ Êó‡ÎCøÈ/ˆ"B/*öýÎò­ÃO)6#-,¬<‘þ tÖÒ¥Ý^ÐXq³-Ùøž¥rÑí,f,¶YEñwÒ{Àøt¡7æ@_=3ÊÌÉŸ\ýÉèW?÷Ìs^Æ^Æ-‡6µ#q´ÌYï«Zƒèøu¢ÃLËJX¬XAñƒ——J1 µí,™»u3.C¾ÇצáϯM¯bvaý“mÛY±a×I-¤¼q;Zª·[‹jñ_ÌC« ’}ç PAU!©§u¬(ÔaO/w:-ã8ÓrÇ©cEEá9Ïã‡k†œ©¨Ø”k®°7ÂèzŒ¹ËãEgˆÄäB÷+`;0C~&ŸFQ––Ðc,³ Oœ³"Û²BÔ ªð X°Ý[ƒeá²¥s·R-˜ìr¯ž‡±¾# ðžV¾„gú’»ÐwD%«Áµ±c‡å/*Z° 9g†ðçç à¢j`ª*@Ìæ`ú¾þý0ÔÄ.²hÙ—déÞ‚~Ë –Ö~I?¬Ü–Û>šãÊM«³>ûK ÐEì!æb„¸7>ôÜH”pŒÕ8¢7Wä!|•hUÁéfË‚¤ ™ö³/•ÜɈžÌk¤ÿPOÇQªvm×ëò7Ú÷j)-Ñ”‰ºUÁª+X.sýò)öšÝæcuÚI]hëü†7’±œE#y6ðAô×ÈlÕK>RqA`¿N!D“<ëZ¤¶“ц_÷)FP2/á+­äúZè¥;¤³ÙøꨮÑD× ‰é)0 „ú_ÂH_QæEªVýÀôP²ÕUú«'áÕäB…b+GÓ4Ðçáßù ‚Kdùºõf xãûÃJ|TáQ™5ï×e÷²Qq‘•ž²6JUÈÏ®ÀzUØbc`SøSl‹R „ûš2h‡Š8ÑWOÜ¥õjŽöT+·Üú >صENäò¾hðž:ú‹‡•©³E•äèTCŽnu/;˜1ÚXÉš*NM¾"ÉLfX›Ý Rƒ@*IÜ纽@UE²4 Ô߈'÷L7v–Û*¸Æq8uÁ…«Ô]MæÞ½Mæü—ûNd¤šªÌæN ØéɹÂ…UTÎ\ÿÞ¥Ùï`_)Ó¤bññ›"s+IçÿhÂÏÛr{ýÆnòBçò±`Ÿá$]“b^áµýƒ…Á²m·Þ¯Ü*ÌÅOhâ)f)úb‡^ ÖÁ)ó‹nÒ!”‰bF'buœÕÀFâAª€Þã²}BWd­¶2bñŒ²E™8ž)SÆå'5%/ãÕ“©ž¶ôŠéoÌ®DÆ ùÈÙ8î"hµ€w‰°Qr’•n¶HIzÆ¥ÐÅݮˣ¯÷Ïù•°ú7/kLÊØ5ëÔ㪤LÒ)£sÐÉNæÅ̽o_ye«ö˜ '·\7Ù_j2YœþíDõE¥ÐYõoÉC-‘±°UÍa‰N!O£GV¢l 1ªÈ—˜Œ¢;¡¦w¬ ãáüÍ0±ê¾‰7x—¡ªT1#Ë:SÊ×6J*ëÞÒ5¹xµ¢oy½ÈÌ3‡×Œ˜}‘,>¿Ñý³ ské$BüÆ€JN¹-™ƒð*-¦¤ÛkQ7Ïá ^0Ç ¯pˆËpʃ\¶_ëª DËyNÒá€FNCÖ] K'ŠûàX^hây mÙ@74 žn¶ûcQ#Ãä¤J]àËÇ^7îqó”ª{Úóƒ9zXÉ7¬;€ OSêlžts*¯Øe†³Íßáǽ2LÊ~ÞÄò ¤½ÔUª‹çͳ•Gä¦Þ5îß³¦|7õÀ‹—å~@eà#þ%r!5 7¬pêPšS®õZõÍ.‰ÑŒ)$BŒÄ݃ÅÀÀ¹[žùÈeÁ8 x?XÓÃÀ¦2yð;˜¢<5ÕP6Q†bc¤ .Ðã >ª8óm¸€s]žìÐn‹¡Þz©»Ðz0ü[(ÎBS»å¦â¤Ì›AYH$(DÏ ~GÃbm4ÜÈØmŽ(-Ñê?&'ÑëSù\Š ms¢Gš,îŒþ®€œÞŽñg{X@8Z%/uŽ‚K ¹À GwðN#ô£Øìú£Ò«W»XX}”p‰žj™f¢?Ô•ÛÜ-”€RofԾط­h3Ç··œCWQgˆBrÁ‡Br Ц^E:Âç¼Û³9Œ£Bz!b:Q¥ ë¹! ü)Slp¶ƒÀí/™7ƒ{â¦?pº{¤÷Ûí´ïaô§™ÉòU#¶¯ý $O/£Kù®`uÕVŸÐ Gl•-¡Â›(f¬kL 80°NfÎ_ìéÅK'Jj}6ø œÙ´ãTg܅Ȱ…hQfkôD¤:ï cúSÙ¾¨97 Ô߉+¸hœ%XE%_¯`%`Œ¡¸³»ì“B–ãù–‡}¾®¤±B™ù¸/M¯¬œödÙ“Õú8 ¬é=Ûº³•i9?ZÝ%½úkm%|ßìEEO¸8JNäµö›øÒ8çËpÌáDèow<Ü3!#Íua+ÚÖ‡¬MgÆà‚×ä•-ÿ¨Æ¬ö¦´ý¡Ò¹ &w!Wdß­_™M)H,òó ãžGÞA§9è§Nj[§ç=8ö‚iˆnllhþ‘@¹ýá4/ÇÍiv–K/%ƒÙ3¢Uá*W“K»¥â<¦ŒßìŽ9~¬†×[í{¿f¿ÿ!‘cÇ¡u£ÞäJ¯êÆZ:ñ`šx¦Â¹ºŽ\ãk<á+"æ1Z^è=­JXšXA«dÀ¤$ð„ Ú©'¹¼õnGìÉ׃ˆB%1òF…o»+>pPå_Šï㥶ÃÃDY¡q¼3„ŒƒÔâÝ óÉ€©’ç¾8,d)þ^ Gónfù!¯Æê°ÉCcµJLÛý‰o4 LqŸ¯ CTωø6=Lº!Ìmuá_cNÛ>^Ëäòä3³†ugX¦/l‹Cì‘|°©„2È>öå,+§Ë<›Ý²CßЌډ2IŸ4ÛãÀ[ Ú§‰€©Ò±z­¼BèLI_\WY4ÝnW·· ø»ƒM½ŠßôÆ1eE i¡ãdqn©;¨?¹‹_ÒÜê«5H!w¿æúÔÄ{ûªRXbîOK8÷ûRþ°Ñ}‰l¸ÔY¥­HG™ùYõÅ‘-Îi Náè„O¦íí´¾ ©•´o¨ê„ô …3 x-údxì1âthÝÚÏÛ‘~[L ¸c·9[‹`ÁŸÚ²0EÀã˜âÙ…'™Sß–.˜—ocÓ¾óo®Å_û©Ï…$6¨,ÏbäóŒyRXŠDD;‚èvŒuö`QúPå„ÉU´eY²ÏW¿×^CãíqK†•u]P˜·§3‰bˆ†Î 5X©YXºsÛü-%„)'ߎÃnì‡Úé­HÓ]'GÇÊ9J¢a¤ÝT6Ý¡ÕÊÃ«ØØ”¯'¯ž¶©MÑOŸ2Û-»ËPî%` Râð…&8u6cúcCc]k‘´{Ò§w·Lðƒj`Ôªt¼4 ±Ð‚”¿;gë1ž^ ŽtgWî\å² s¦>ý®{’¢MÛEê ˆ ¬Wt†;ÈcF!=?;rOiSsG9w‰¼,I ›Öp‰~ÍÆaÚ2j«e0f轌qæ©áÓ¦€¦AW#_×FÀ6Ö½Ìj¶y7ÇØLTƒW±‹?IÜì% ‘ü¾ Ez¬Ê²\<¯ ¾fûœ`<(ük³]}T'}Â)ÑÄŠЕyzûó—“p*I‹å¬<Úͱ‰B¥à¯ÜNÒÏõQWÇ­;mI‰Ö©×r›‹„’²àœ$ZlqX•¬>Å…˜ sݾ¹ðž´5v%‰%ad¾ÔÂ:Ý 2Í›˜(NE¸š~O®ª[7\PY½qAËØ–‰Re+…Ý'ÍìœòGþHŠ«‹heO\C…¦+Y²åËIö²ZFaYim2ƒâ;‚œ Ô póaóDËÿgÜ$”,,c¹ð[.å8ÅÆ$-Ò‘s-¦±ã‰ ÖÅ訑ªÊN{#s3}fŽ¥(ºÒ¥ ®Q£K ­Õ…h8þ>B5"ì°?gSQe‡ú`EO篭ˆÎ¤#S;þ†¥ÇSL©·²¿™H«¤øSÖÔûqÆùMŸÐdA'ÎØÎßâëLÄÍ;µ ]–û¨ƒww;øå¬g ‹uå¢÷–¢JÄ!üÛ}ëhØFŒ*Äüâ/~¡Ý¦ØÔ«:h€²B»[1ç°¹ D:õ¡ ­kí 9˜ÛVtd)PÙµD†/A¾u©d†€¾çØæì­`íL… åì@M[ŸJ¦Ø?ÒÙ7¤nª§iZØ1¡,‡¾;gf!ÓéD2b=›…)¸¹!Sw`‰o°|l9à”Ãå-UJ[¿õãVúÞ‚Ùæµ7[-Šþ˜„róy8þžÍDÍ;¸¯× ´øru£„‰âŒ6jËX"FÖ<\sÚ;UFêµ –?ÁÕ\Ðî è9;=`¹óâS¾6ßÎX¿ôç´*ó£Ìé+R¸›ØhÏ­’Tú 1OɰጓEŠ^ˆŸÊù)­ãj~±×ìšÍW¾÷úšÅmÚVÍd¿åì%³9q[ùò!<§…JÍ÷+V`TœÆOßbGibÊn£ûÍùB4vÊ£& ?“Åÿß%Ô€ÁI Êm|P”@­2\l'¸å)¼Â‚©â×¾Û‹ãÀ"™ â–økŰ£ôDFy=ØæŠiÏ<RlÙcF¢ìµÿªýÍýÇ`®gßµ@V·°Ã}´ýþÏ;&ê}gO©(¹Ôž›Ð•-TºÓ–;šÇ%³ÆÕý^zu/sp…¦5˜…Z¿/íË=¾–ü ÊÚ®¤ yó4*ÕxææìÝ|bÅÞÖÍw&¤´À Ž Äž ˜Ó°qxbq~U‰öø)yÿP>x6¥6ú­5‡¤¹·atÔ-öŽ!MH½ NÎé$]ïxBûèL£ÿ;&B²•Ùó©ÁÙ—TDkߌŸWîÏýɦ¼ÏrçÍù¢7æÿGÆ75 ýë9¶mÛ¶mÛ¶mÛ¶mÛ¶mÛè×ioÞöäb'³Ù$»ØŸ›ÖE* þú»ŠÞχ1v7ÅPáßš¯e´¦缇SÕ? ¨%+£P*ÖOÕ-éŠ žW.Õ ÆJúÎnú{Fv7 V¾û „¥÷Ù¼)üÕ*Å ·??á=t±Îøt^ˆÍzDG£ÏdYÅrFUþÈÙº1(]Ü8~¨\ÕUV³Cb×È­Pðª aílÌ8,ø/ <±û¤çþk¿²XXÒKèi%#X¤tÊp‡ù rmt-žµ_³÷£Ñvê"Ì z¥yG úEAºaÎ5ï³®·ä?N)óçƒC™¬ à »q©Ñ ÖŠ’è½Û?4éÔŠiiùÛ•Ü¿%¸ÔŽ^ ‚:‚#G¥)à&²~4]_Š‚ÜÐà tq"e·2J«û¦+å­HeIf.¿6ƒ¸xz×7`h˜ÓxëÐ3ÕÓéñ4S—|].@>ç#¢ãl†ÏÌ^àÕÄ3^†o~øÉq\Y§O6q{T˜rL-‰õ¾s¸Ž'˜Z8U޳ælo @dÈË^«YYÁ!ë|²"«0‹={PÁøØ F“þ}»»œ÷-Ž[|åk_¬_Úº1ÓŠbÕ«%æú†åiÙ_àùûÓ–ÚÝÐÄoòýÜÿ&T°à&›lŠV ÝÀ‹þœïèÍ™°žVÛîñtâq!Û)ñ^ÿÕ´ßB.!^ïx³u!±ùæ2¬‹Ð4ÊóÍ¥æOk!åþ·0=ÀÏÃ(Ǹ€.›æ/ù‹û5-6tH$,!Æìß4ë‘yš pÛXç,Ä|åÉï|g^öÂÀ^ïcHýþHtì¨úîêJ^s×ì1¾ì†žªÿ°ÌXðeX±=Þ~é…~ïoÏ‘Óø ßÇ"BOjm4Å±í°£jB±Éa’pú««âøâËæ§\Yi}:ŒKÌ»kìnßÙJ.nm1ç!ƒ/|Ѿ+q-=ÖYXµZƒKî  ÞU èG;=héOÈSkG%kÎ?¾Å­Žer½ŸB@m¡ ˺/Ìçï:_Ãä›`åªAc7ä ¨Å Ô×Î^Ù~A*§ÐÕpWC5O©Ïot£8½ˆÿšùôSÞÉÆÍ®·F·+Öš‚‰Ë_îN§›Kå6Wænæ¯Æ>–ä鈛©ôý÷â>ðT•ä l¥ŽÄX.̓> ²ÈË'šlU5»€;Æf7®§äFWO­Ë ¯wÓG3ÕÛ¤HXæ.i•ÔIèS„+jêlaG`Z:ìt W·°KDR÷Ji­’ß/5V’Ïòé÷Y@Ebˆiâë1ñ˯øÕŽŽDÖTàhà9›zÂÔ¡ fíP=xOùèUXÙxPqïÍ&©-ÝØ4SS`7C=º¦ðoüäˆFŸæåµç‡Á8ƪL™@6[’ \ŠÉíãu0Û™‰k¨k®u‰{Å%ƒ‚äjÇpÕ±Dà^È%(÷Eоw:Ÿ!ðqçð25n†]ÙFÿ¹ g¶óÛɬKu·§°_îM¶2T{&s džžù¥‰Ñ18`~ÎŽ+“èc´Â¼kþ8\N×z÷%ùYÂö½.œÛ¥’ÉuØ¿³79Cëë¦KNèÚì ¡k¨OÌÄÑ3?!öº}’~Jn‚ç0“f·;ÃÒ,ilqè3À©r93Ó–ÑýÚl}QÀmÛ0Có'ßaÍ®wé°¡“Óà·Ò²ZôãWÁ•K€ÎÂ4Ëê`‘æš{[3œ®ÿ5Xã/kªWʳ^¹ÊàÒ4-lµH(™<_œ5Éft= Bš(Æ_C×4sâØÒ–¶©=E¤ï/èi®gÝúÊ:ij2J×¹¨õ á_½Zj`ä²XßM3%yg*k3§šy*L]mq߾޶ÓµBì)©×)±S#oÔ Q<µŒ ä"ž!Ó»«éŸ|ÿz'I)`ô¿È×ÖYj˜Àq/B8혭Ó5 Ý»'ú90ªØ@Þ%ìRzïC¿õWÓÄl¥ÛˆêvÏPÎmqÁÝë›¶´õpýwL!])°âu²|x¦vºkVŸí¥Åó —ÎhüÙ=fÆ„/gúwi,L*! ##ö•èDÃË ×¹&è ä£`wpÏýqõÖœdÀ”BìIú÷RùdëU åYyeì®°µ¬¥ó¸>+fp{dì‹÷X9ðk½]É¡›jjö-ïBAŽ¢z•×À‹©Úgn^ ¿jâ»@gñ4EÉŒ*W†oª«iì`øÌ“ÆM}3QfH™¦KqÅ¢Y;^ܼEN]‚i“ƒ®µ“ ª/[²)o¸¥ Û‚œ!_pÌâáëðZ;\ÞçLj‘P¡;ncM )‰Â[ý)/`Ÿ2í–óÂÏQiç'!%?!xŸ…nó˜uU¸Eh–H @ͳ2LT½Íú4—Èýé%LTÌA|@CsTS>ö˜ ÃÞÙO(v}Ðë?®¯¦6âIÃüöŽÙ3`MïŠ Út=zSçYÑŸ 0½hû9±X1ä7v¾Kðq?ïk[kqOçãpõ·fZbéë¡°»8r^Tn¢+u·êRú>s®/ P‹§*6+>ö+a¦ÚyÛ­ÈݯŸüqµiFèÂR›D±^z÷Ü™$Àîž6@Õ‹Á KXÑ@_ƒ4Ëܾ}„—©m«Ü3WL‘Äm`^[\ðÛœ¦z¿&ÅÛ‰«–`›w•ñx^Fîáfkü&ž|3-7 lï—Xq :ðdÖDiÊ„Hu”b¦þ5hÄ[oÈt—ºõB=4–búE½Ê¡M>:¿›’,w$ûBnßÐÍìy–å`½ñ·ì€5G½ñl ^­Ì/r?`Ñ^‡d¾ðI˜0zÙäeŠ&¥0ƒª¼_:~0bœ¹Ic§ôž "õß“SÂ%Ï$>¸3qd6/rá¬&5åU-—%zVÛôå[ôBë-.p˜Æ¸),!iW=5×^# üBE -¶×¢ÐÞ†'ëòëÒWš/˜¥¬6…²´íÒcí>üÞ¾FqÖ Ô®FÿøK³é+P2K²éž©Ü„¾Éš9³_?ÿëS>_‘{sTÝn#´1 Å l»¾ÉHà ‹ž°ü#Ç.ÜN·7­‘Un§ ›'ÆÙü tÎe6¡H¤8X ûå‡äÀõ¸àœ¢á 1;%Žý99©Œ3é`¢&/Ò0íÃjÛÊ_w ÚD TrðaÒ÷ªª«ÔuœÛ¼¹Dn{…,)ó;Õ°0 ߨ‘ù¥D¬bÁRe„¥Ž4™dà*Øí|83‰%|¾UÅÝR µBÎoðvH•ú9N¦ÙA²ŠH\8ßHXbòšÃ_ô„Ó¯X–º§^êøàJ¥o_Þɱ6°†WùÆŽ#/Ø’ë§x‰¿ ±ŸATåê»1Fše5´¬íÊB‡(Ó„ª;ˆZò¡(êþ¾ÔÇT=‰2º>8² ©dh:@ AÒaÉ1€äÌxÏÇöàŒb_Qþ<½»ø]Çèm(Hc)ÁlUê‰lT§Ú¡mœW»W É8“^¦:2®M”H²·Ü6åU¿O’‹2'GÇ©áàäI0Ž•†ÁçÎÐõ’K9à§lPd$ÞÄÉ"Ïbo =.ªôtA[lø`Æ”5vî$ãµÊb}­Ó†@²làòËË¥Ýv¿‘]ëšå©é ú€ù6š'èSýbì.~E[Æ ÇÐ r² †d”à›ÀŠÃb±†mz!þ#† ?2Ÿ¼Ñ´ÈÉ`7h›v¾Ž]£üÖæÚï;ðc(äR/ŸJ}ëNß Åí¹gü¾Vì;(žÎÍÜ)~ÔŽ–nÚ±ªßŒÆßÈ7)éô8_1ô^.[ ºÿ‹uÈé3:Fž“ÁëMƒTÂ0¥9MÒ ¨E`ÿrÏ¡¶å†Ûµpaš¢úÙ¼+Vš™ŠÂÐN¤žÏ‡°â7³ˆ?n¡p©Pyïöås¤ñk b*´Z¥ mµó=>fV `±íqFi“i—Òà_º³ Wï" þlƒWÿÇ“ÂÜž¾ÕdoR9a¸h.Ö®nœ³$[¾ž Q×mÈ—PôOž$c/h.Q`{y'êµ®»гWU*ÙÇWDp>²Äq0IÐZÌE1+lÌSEŠSY@#‚çÖmnd&ê/:{Šuñ@»—§Ýœüá·ãnGþ EG K°„A]¢P]Nb1.¥è{Q;ÿ|ulËÖ#–K>ÆÏm|H àK1÷€„¼ËD’¥Ÿ,Jô4ê+›E„eÓ€²ü¡?lA<éÈúº~Œó¿¢R¡ õqU”6üÛ³'²Î"ª[>…‹X<ÍÓÙ°MnL’l³j¨ä ùˆŒ»?ßãDE”ëaL2j¿DRîï¥Á¿ äö²óäO3Da‡ sæM•%¶Å9,32¢§<`ÕkâÒ dFR‹-F‡šÇ+qŠó$wÍðæÐ‘;]È7Å À<¸B7¤îä'6سâÙR»§¯-]§Ýíñ¬ßŸåR0EûZU|€‚”v`x„émã†Ã¿ÎšAþ%@bøu¢RWG?¦¤ŽŸÖVg£†X '›ªY#\iƒ"”ª9OÎÒL︎üJMó  _M/HÃЉ¿—Ûü5µ3¹Ãc<Þ~EN¿ºž,&#C{]9Pîë:ÆéM^ÈluQËP» ?"-æ?DMâºz¦Áhþßû¯p&ÉîOé†ÛK˜Nç­zݕ߾doÔßUòë³9ù“³ˆ<ãù5ØŸ¼–[£YµJW|%ëÚ-8˜ñkƒŠ˜Œ8œŽ@šÁÑ4¬É“—Ñ´DQÌÅ’ÈμÛ1ñ$Y@"2; ÍÏ?»H]Ï×ïî èÄ?0FºÁ1 þNh³rÇص Ïlá8ô t³w©LAs:I<y‹AÝ%ûŒï+bÂÎîšj³5o¼.›R‘³^èe窟 “5sìÁjG–øÔ¨HY.xl{—Aô ÏæÉ®Ý']Îò¼e™6Öí¶Ì'†<æ!»Ô_Òf8rÉÁy9öö6ì,@]"6VØãGðÁ@2°Î®†ë·rUG×nù–„Þ¥*ÒªšÓ÷ Ls™;–mRr áD¿‘Ø*órñ˜A §°µð— ’?P–F?A@†_ËÀªV!våHY~a9¦á#ô“{¦€‹ò®ótËŸŠbk… s¬?á3|-TÀ¬!ë—~05d¼:‡ÈçÈ}‹›¬Vc9”Ë1÷Ý ¯,ŠÂz!¢ª¹O]sD±»f€ˆU«PeÂR«<;MfO2ØXY#¿Éˆ‹²§/°upŒ ›°(§îâ!c5ùj±÷È¿à¦E¡Y 8¿Y(åâIkå~ÐC5‚à=†Ói£õ|e8 ›»:ôŽìkiÅÖí¥i½ùâ¼WžêôEäÊ&öÚ–õ„bŽïÈŽƒ¦3—àÂðÈ¿Ñè{’Üãgnɦ 8rUŠƒiªi /]ë+åøSPpÆNIquq {Iïý|'¸X¬ÔŸAµk¹l";ç_Ò#IÔÅx@·gðÇÆ<(è¹>J`2)5kDnYl!yÆ(Ð6¨À–Fûh± ‹wÉéÔÒN {Ð`†æJpºHLªfVIZB f;2bÈx¹Ý ·P€£ 8yЀÐWAxüwGZßuÉ_jîæxNA»wÆú †«îØH¨q…;imÀ)D¹e¡Ê«‰Xþ.DÉæ¿ckû›`ÝЫHt5oóü÷†˜ ®Yü £(ÿ¬ €Åªëºâ‡ãCº­šã¿¬VÄ •eªþz håi,Žgô_W '•»Q¹NÀD…]´ëÖÞ)ÚˆQE³,¿Ö<¨¹î]›B„)†9W€´{ÙÿÝk5½‡ÖçÝ$Sü`.ÉO _¹ÀF%%¶~yûÿÛŽ3Á¿´…vÉ ½Õnt£çâó3iÏ臫½ðÄ/eÊhŒå·Û€2èŸÃi|{B  #7›Vc[ÔCHp§×(®è8iqÖvöxLKã îÖd´8>ÀÊd°·a^ _®bz•¦©Ð =5ôD͉Ñ>Ý×õL/{?™¦8»sRÖÕèC,SŠaGe侈8ùç¦UÁú7ŸRD?3=h+w¼¾ÑÒm^£#ÌŠ%MeŸbUíS5ñ.ØàÎ>¤(Ž4‰£IâÞYЇü _!ŠØ"¹Êôo`ïIï‰2!ܱFãh ÏÆ—ø¼«Â)V‹^±ëÜ(ªê­þ0­ú†¹ÆHþx”Â%ŸCk›Ýî·ÑõT˜ÍFÆÔ`ûKÆ í œÃsuó<(»w°ël=ó¯ë‹£EénÖñã5«ÇF÷²“HeeH4DKY©BqM³k<NíµæÜ,ÖBñˆ˜líy+G®°ODþs j3_d“9iŽ{ÛG’KT¿í”… °p^Ûð‘‹=ßýæuÐN?hŸý¤B×AvÞ(VELZ0}-Áuˆ|°³ªœ§*—ˆtY Ì¡dcB¥øŽ(ó`?µ_aG2Mµ‘Û Õù#t´L×Ý#ÌC{då›|ûþ0 ÖÓ‚RBLØJä-EZ©Ä©ÎŠ'"<×…]ÀæÐ];é¢Åp†Óðß8ñÿë¨ ¸© q `é¼’_qçÞ-?€ÙB³C±JΜ¯»ÝËZüÄSèB¡¹s¢¤úÿЉ@ wü§(Àˆoh~YöA æ*Œ&EbœÒSÄ71iUiüÙÜ=óU•ª,Åâ[¾«)OEÆ}>²M½ÈRVÓ_7‰ÇUw”ùÀ~ø4¼Ùѳ¿zÈ#;Þ9¦A²5ažiPmê¡É•¸½™o÷CS†Ôd#^íÆS-)a[†ÀYW?ÏP÷_¥=¡£?PWxy0½rØX8ÎëŽfݾ=£n»†O½Ù+GSh…®Ó%ìÿg‘ã1÷þQ=Dêm14’[ÃÊʹÀÕ´ìh¹„·åŒzt"jÑ †ÂuuºTˆaGP˜VÁR³ðSP ÕîÉyê3#) ¶í;ºÔ`‹]8C[Æ?w“¥"5âèŸ[§ËpÙž¿œq"h‹ë¡dç¹Ô«—E„‘e¸šiên…xî“E%ÀD¿%傲u¼dðíj?GjqãɦG›#oÝï¸Êúe†í.ŠÔŸŽíüq]FóU!³žLfφáH¼ÓàAƒIX £öˆêÈ}Å"Y!R#?¥¤ïk€ú%9¯8Èzö0|n¾EQáÔ è%ÑɉYÇI…U#ªÐO˜ê†TèòA/XfŸ{i96¢Ïì¸òÿÊnM;sÊŸoÐ8TbÜ>ûx$ÿî^ß<‡¹ÜTmÓ¶~¯Àj¤¨bƒ5ö†DÂ|'¯ÌT5ŒŒµÂm€ÿ‡Ù€HæÆ¥ HU ÞôÁEßð€ßp‹LiñŸYþÝù%ÅœkšyhÉP¸­ˆ üoÕãâ æ¥ªIüsæ—ø§õÊòsNJ‘<ÖÜ+í²¯¶„N{XÎù?x"$W²}7²eúb‚³b(›£†7 è¢BHFÛþ°ÈPCægÖ¯E(ªÅhÇ •¯°Btéæ! éC=Ïr*~°Q?åÂæ„²Ö4Mo¸õ(¸3ªZþ ,Tû Aleþ^Öêáà<Šô$„oÉŠ]¼oØ÷xÂeè¯Îö®È ê­éUa~‚±[’ØrëÃ욟 b’à Ɇ–Ž _9AÚ&Òo¬ÛƒlÂ¥d[¯úN‚ ¢CÄ ÒäÛ}AÛB5ÒÕ°Û²&0n§é¡UÄ’­Ýî¡­ð›ÔØoš{r'·v$C”X’~ ÇréuÎ(ü"õ¥´‰—øIØy;èÿQæqHÙ4–&`Ç#¥‡›Lgάº#Ú›´ÐdC0_Õ„†Å‹¯'ßÓ0©¶À¯‹ …TÔ±Þ§YÍòšŠ:ï~ˆL“¸‰ ^,¾ÈF‚É=1Ò§Dx­•2Quûu:öÕHÄ~Šð¾èY`êló-ÿÍ(«ùÆ|èœ~âa.±O£øBö6Z<_éÎàˆš;%A¬ÉÔ’“cO|ðL[Ê515ÿÌ$rygG“ö|#(¾á w~B}oæ› Öà·äjÊäRg¯vÂóQ‡¼ä°?K¤%‘>Dt´¹w½­Ku†à”â‹™›J=ˆ™Ý3×@V„íûWC^¬Ri¥šÃÂa)1i½¤ÿe¨«6 ¯SÑGìMÃß²¢ÖÞä=ŽÐ± íA;‡bÄ l2L3_£˜G"Í™â\‡¸!†DˆÿyfÑÌÒõ.½÷„\¶¿Ñºfá»ã%bø'#fpÞ"üèâ kÀy’“¦ŒtƈĊ%Èâüäîö¯@—ä‹ ÈéY»H@n×5ÆD'ü1¡‘ϳÁ”¬H¤Q®èvÍèæíù„ìvûWðÎG½Ã(Ã*øÈ¡ÚöEªÁ6I8ù–¢Ä­I«i ¿®ác¼«Þü7¶ËlDª_øu@f™e^TN;eêa<ÈEsRUœúþîÞëÜÏ"râÍ—%_@ûç’Âù¶öœ~8(jž3ª!ñ¿Ç•ýBnF¥vÝ%ò\–ÁïŪ˜|WÉiMj¸6¦£ù^ÀÞi«%ÛG¿ –@˜}g3àõ>J`wÂÅâxÛZ‰ºí Kj‡P˜PXW@þ2¡$™¡Ê¢õÅiT|x#Ãrz+zaø9×2JÑÝyU )ý{È'$„qÊpÔ×SÎÓ†ªþ ‘5ȼ1ºŠCB1sÏMÄ3Gx¹ûÀì¹(— ¤«Á_ËɆ¾@”EùT„zœÜrU¾’©Ô”ÿ›ßr݇,ˆ² ^R5P˜ˆ`¹ÆkÇ*ÎPü]Uƒ‹W‹Jm4¾‡2qÓRÆö©fÏ_×|É¿\9£¨’i0œ±é©ë"AöÉâ éÐC‰Å"«âS…ü¶Ø¤k»VgPûÀ5!ç8û©ýù&ûj(²=!š¨‡]΋©Âøbì&EæW¤¢æŠÙXÖu`ðüÜJ¡Â†4îÍù}òVTĤ8FÎa´{wñr%>‰8¿ŸH¾»z”ŠÎÑ©9C-ÿNyöjÐפi}‡±O‘6…"£KiI÷wf`']Þ=Ã;ë²dS˜ ³î± ¹C]x1F&¡kuKϾ§C(«ÖAô{fLÏa*pÚŸ A\”iÀ©«§•gv°ìÿ ºmÁ½¤TAÆ=ÕÛâ‚ï #<á`mqzú) ú\HŒ²ŒØ¶Ç ¯Œãc}w¿&5ÿÄêÆ8s‘£b¥|[0ðÇr¡ M"(wùA&{ ÈÈÓ _t_\.—€o.¿ùNf%S½<=679µ«‡›\¡¶èñŒ+œ.^šÌ;NW+m-™§–5â\¢ŽQÛÔLz+/õ4›~ç¡­ÿÑ‘;I¦’œÐÿ0ÛAt©7à,º…²´“¬¥òo#Zce‹Å%íy°ä$Pèv†Rµâv˜ ÁÀCÚ8¿…¾ýGÎ&ÎkK€X~ž•Nw‹À&nj ÕÁt¯ø:_@üœs†Á0·—Í«ž0®Çk‚¬¢4UÙêÛµ–¢¿»Ó¤ŽÄçt,š§5^á/ ùŽböˆìÕ±¥ÖÖÔ|ð‰ÊB§m]Ä^y»˜0ÊZ/ÿÔ4«†]Téªï”ȱµF™ ‰Òßýê…ÑÏ$yäÜ× ÝScåD4N± S-ÐõGy‚.GlwhCˆ¯¸iÔŽìMïînÂ+ØŠNŠ©b´Îa¶V»-ú®÷g·–Q™°ÛªêSP뛼ô]Ä"H„O£Ë-'ß?,hó‚y=p­B4‹éDx-P”…XcÐÐ;™]0À†îÈý·i5°×ßà¼<›iÈ·êXT\ ÙÝLôY”—Þ n·zö¯éÇD Ël}ô^ehF:ºãã4Õf©õ§ÀÇB¼ \%TQ<ðû ÄÑÝõw’.倪4ߨו‘XupNu$ñ¦¶Þ•'%`·‹àm¯€\¶$ioͱúä¹Ï–›/¨¸ ÕM^±loÏ t"Ø?/¹û.D«pÙ̳ëš¶Ã*ˆ‘ÛSóŽ8¼º=ú;½rÆF'H(æž ‘Ø4æi Œ<$6úMSBˆoaªHÓ¤5—LÝ7w]ýéû¸´IŒŠøŠz=Sˆ¶¢n©¾AÅÄ §ŒÀ€Ÿüâàü7¥@&÷H_¬Zfpaåßb)ª®Ï<Ï;Ý•> 0eìŠ+ýš¡Ÿ©ßé¤3jP æüݤ¬ÆcÁ`Ænup#ŠìuòÙ;HX“Ùê.×±ÊG”x yÎé;g’¿ÃHiϽõ ù/ çNo€XJÚ‰ESøP¹ÏžœÏе!ñ3¥²±¦x=ÄÕÖ§ÎBˆÊVw³Bó¡8þ [ÐËä(Dd# c¥/L ðzºSmýÀу°ž8GºØ¾éeªf¸, ¡{a¡›pT¹ólÁ{þ³\hÍ·ï^¡‡såèkÄ’oÇ‚—%^ÝίҋÿÝ~)rv! ,œ´;ht1 ;rã2yŒ m)I{Oº¿õ…O¬]-‘ä÷—È™HöuhwæMµXÜ¡¤À¡È;×±ÿÛXFÿ^Ð.þ,[‰ù¥âÛÖ³”ê£cäv UÚ«ÆYDw>J¸¸el½†’Ãó„óð¤/’Èã±2M!B츙ˆÆEj½–žçKi2&ü¸rUÜLò‹èÚKð Ï…ºsÜ,oÈÀ{5ÈekØZG:Ôˆw—KHY*äO‚÷·—ªmŠ.È„Þ;«HégÃÎJùoÌ¿«ôŽLiÂîÉ Ñ_€á!=Rj–P2ªßlÕVQ ¨k KÖ·Ÿ8tœm¦DûãVÁ6ÜÙ˜.a¸Þ™Ó˜•ŽRhœû†³HCNoŽâ Ä¿øÝ-fV·ƒ„,áM;pË‹'±šG°ATè’Š¦.cŒñ߯â8 Ú¦÷H +4YOŸö[‹Ê#ÞÉÃ0iÕ/jU‰æÀ­<ŠÌ=oº0ìÑ‘²ÖZø õ‘t_ãuÏb^·3žFjðçíÌ6„§g(<­}Ó:‹Å¬y°;”ɘuÐ l¿>fxYn¼ ÔEhâP“{Dž`·|z Ê”šS=¤þcq¹¸Gª,”Í/Ét~ŠÊ>RQ~@t=TD&¼ ·‹­ _Žnú22Òš@Vý€1Qacãw$"÷ÙÕ‘ª9¹LM'‹* Íד1^™5È‘· –Àrù¢ hˆ®ÈÜå[ºÇY¬tMÃ2è=['r:ã(c,ÙƒvµÏ“u:²Èot_n>i\«ÎÜ·SÙ*¯C ~é/IsâóÚ¿UóW|ªe /'G'lÚ¬2Ãö”2–(Ê?x ±bƒÆz×!Õ6}KÁ«Se¨Ö„±ŸÖ¬Ý g|¶ÎÁsVÂF2¸{ççÞç¾Y ;6Ȫï@GüÐ^©â‡ìPBrà.ñ Ðî§¿°õ•0ž7Y_ÿ¿ðú(Ó/ýÍð)q0ítül=iÆõÍ& ‡™zÛIb W—"E÷xàÕä_„Ðè/a¼»(_êAtï•ûºÄý…0>ÁšAe)œA8{š Ö7µŒ8TÈ!±,Ç¡µŽûýÑ–bV<€ÏF4T?rÊS¥‡$ Ôžt,‚ßMçýhðÓ( s{‡JÕ;˜¿AD^Çþ•æ†tHmrg^›¼qçÈù|œX9 t B IƒÕÖ5â‘Aó¥1Ì7ŒžßÍI…ú^ñþÌQ¾ò% ,1´ßåK‰ê~+‘¾òM2̯ŠÕˆ‹( ?P‡ ì³ÕÅ'£ˆ`éPŠô¾B ö©è‘p‚­¨w:Í”€‘Î}øÚƒ4#]@a,’ïšO–Hcûd^íá•’šÓ½f+aN¹°CHkfüIEzÿëÂö€E\>_t\´‚z?*ôyåMÊxêI-)Øóþƒzöezb äEh¾3.:T¯…Ln_ÒüàŸž›ãÎϘzèQüñ'ÌÅ’žA¦#+ç3G8š°åÑ]Ñ2çÔyž­^¤“ Vê5$Úlßr`Ï‹>©p/Å—D£CvY#¸¥ØQBR¯RÁƈƒéäåØF§ø6f´#(b¾‚‘<âÐjØË؆pï)Xºð;D˘Ta #) ü…&¨|)ÔA‚–5qÐaÄìõJ»÷éÞ‡åZ[ ]S~®1‰ÈoïŽ?>í…U¤¥úohqõ„‰Q“œ4Ô„Ä*¦ðtW­6gfïä€àct‡8²~KÊ’µV¹ï‹áÕ ÕJ=nºêœ7#÷ÎDÐ)Ü‘P¹ »Q7çàÝU°£Ë\æjòÜ?¯-Ft¨Ø½‹*s¼2ú¾/é.5ôßz×[B†äêÚ¤oð/$|îT˜Ú(ï…ö´Ó—6”'Æ G ÝÜ¡±É/Ó…4pÇÒ¬YƒDÝxoyDµÏ5e7uÝCå„ Û:BᶈU·%æfN„‰„؉Ãô«)ë.º3ÿî2á±ÏÈ‚T6—±†9N>ë݆MéK‰E-úÍ·Ì„…Ši»¸à EÜ&¡MZ É”,²ØÇ7¬¶;[h¾Bà’bŠ‚Ÿï­Å­¸zP8ÃÆ)*©r¨OE–(!aèîäyJcÿ:ûQûé‡ h0všäÊP9¸¾ø ‘ùÄż\×6@!æíº¬êge‹iy§ 1ãI‰I‡„QîÑJTá•uYQ̧Ãa†R±¯utL7[P=³9úrš¤U¬;äYW~]Í9«¡>¢Œ<&YÿyÅÞCu‘ÊÚs^´©´Á N;{Üéžñ dáêäŒÈuÎ[˜Ì¾B¯Òáî®ç‚ ¨·{†åÔš$¤ñ8a²q! #× žõ®Qœs—ü}].÷ñå+{ „v„Ö.㸜ý—{:Ëš%çïP²mf(™Üèš&AL? ŸÂjXFšy¬jwÂÊcz{—óìXÃøÇ<=ô?ÀcL@¬WSèâ±2±,ô½&Z¶_O‚‚/ÿÊA ì™Ã”øÓí½Ø ²¥'qn®2¼ÀðÉs,Ðí£¯¿qWQÈv#÷*’cþÃi¬V½Œã¸²‹Ð߯z‰¦‘Xp¬ò^¦<…ã;Ñ]]ûø3ͼ´æÄÝ|äºì¨hiÈÃãAN´Ýz'u_Œß_öïÈŽ|¹[ŽM_ĸLy¤ï¢°CØÝ`Å*—¶O«pCG «Y¢Ä"ò†Zw8ÿL.LÌŽTà(wtÉ<@«´©6†:‚²JÕWJ7‚léáòC çEmõFù–cJêÑY»—šnÓ²åu>V"ò¯®éñÆTJ˜÷½ý•û‚ΙÏnm³ÔÍ“rÖÙ«s*§X‹ÝŠ&fG^†—ùææ"ÿT$i#©| —´hæmŒiW gv<\ZõrÌ<Óu+ÀDt–é¯õ‹æ{Èxü‰z¿8_‚´à7l¯Ú{$ƒ5Ø~–&«¨´ý†±`ˆÝµá [­.wK2£ºÐ š æõ¥m¹@ {~nqÿXíu™ŠY±±n¾†ètx“Èò‹ß¿­ã˶B}ù¸&úf#l#l ÇÀehT ‹ÿž‡£2|³ ûPoÈxZAíÔy$øÓ-è¶ ˆ¾òíìF”b¹Ç#ÒX1t>‘žŸ´üVþÊÐÚÁÆÄ7¼n¸–h\]ññ?Wº^â7؉è«°ÞσB\ ;:ï&J4u2aDû¨â9–ž…u¸H` ºZz¦ŒÝé±(âÇT¡jªx ïpmu€JnQ½ñȨ¤hrÑ­ÏsáþäíZ¦ˆèÒˆSøŽ9Há‹ãÊ+óò7­ù@R‰ &€{ÝËVºè{Z:[!þ´Ëµ¼†Þ1=©mæ½¹TÍ$î–­€luâ»Ëµ´ßÇrìT¥ÚL[ßxI*Àµó BÑôŒ¯ûrgËV·ºâÄ™O.dU'äÚÃö`£]òÓá{¦9r+˜á¶ýXŠF)æ^ÑÞÐèÏúјd\ÙRºé)éàõ°ÁjÁ8[‚ÖJ¦dP/9ëŒàߢº½–ƒéÓwôW™~źӖRt²ù½@lدÑz3á°R<ÿ…½é œ¢éß©Ot+Ó3LñY ÷p0B,®1à£ÚÙõö˜’”>³MŸ†Á<š}Ç–ýêC IcAvŽÓ<˜ª±œ¼ødŸ|©:q¢¢  DFÀ0°l$¢¨ƒ°B…ÚxSÚ(_¢ÄÁ,8AîŠsþµ=£+e,õ]T$6¦BHè°Ó”LÑ• ŸH^Ä\·š‘\ Æ!W°$HÙ%BÁ¥ì%j…ë0/Þt˜Rµ£­û:žóÊìÑäÁ=îå'½èLŒ³¯®c|_ª÷äu>óçj?Ë80£›„ÑN½¯M< BC ›+¾Þ$pºÏ ÒK×T¤sOg0€ïÏñƒ“4-P‹ËÚò¼Âå‡ñà×ÿu. Ç¡.>(XYMÛá5S¢´ã7ÊÛZzÊÞÅÐeŸH.âZN>ØW[ÚÕÓvåÃçÚþÇ:-Ørפûù'DÿÂv”I2×@V[Ä-4eǤÕ4[ù)¶p4ÝÆPÖXO°Ä0'@AÈxÊtèCä©ù€úAÓ=É+©»u:PUºªí}éÙõ$•¡†rßÛ…¨ÿ”˜nì”OÓ@¡ËV?“³13|<ÀûÇ=tÝ\âè_ 2Á4qèŒOñyëØÏ`÷6Ýéîí%‡{*Ù¼ƒPW@QMÛßêù¼aý1×”ô¦¦¡´gN½¿6ñ‘净ªò2£ÕF™O&Šá™!+…’öuó"VÃ>‰…¥SÄÞ4…mƒ°¨ÐËó킘ʑ(Îým UmÆÖé–5í>¬|ʃ,Â}ì@_Ü/¡ŒGVg6 x#…çì½lH䌴ûÁQcÞ‹šlÝìŸÆx>¶¦¦õBÝ‘ÑÁžY54•U‡UäŠ{UØä‡W5¾·-–Dâ9lHÚø™?OêNFEo€/Ós}ÞBN=!O‹õïUÐf*ã­LSÌæ.=Ï)Heé¶exÝVqÍhot%šLÈAÃáÁý— 3¥ !Z!:&ÿÏ¡EE­ð‰o±éL0nÈÎQ‘9[qêðiø©ïnÏ PÊDZBùÜ q«RºR› ¡+|&%<‰`ShŸ7µ:–&[`6êHT5ÑCŠ€ŒÓUÚ‘”í¢5ÐDZ&yZÄœ42ì˜ýߦæP‰œ05yÒ×ogÙvtcÑ&>yD®<æàxƒXn(q¢¬ J¨1°<œ:zh‘R´|ñîÕ[~¥0aùÀ;ç©-;\WP¤é=L3[`Àß_k‡m›\:¨ B½ ‘q÷ä¡ZEˆÛœà4×ë-Ç€væûL®ý’&fùZoËøýIì‹¡º…z«äz@2Å!ïû-ëV r¶ ±EC«œé¿¢%Ô7éz ~ œ®£Žî9Œ‡–Ï2ÄyÎàÕj×å‰]“Cü8yм£I™„ì.e”× ‰dj\¾ o&Ï7´\‡fȶ“Pq«ÕÝè…X…Þ—hÉIâsȃ]IäõéB47•+._Ì© {æÏñÔÈp×¹½í&Då‚™©4XŽŽ9™ï+WÔå;â1‘wGãŒf×D¥à)Œ¯€@`%'Pˆ®1og›VÞEàìt9Õk>×9ÖØ‚‡úψ¾uÕ>;Zé_Áê;p³%ìƒv/µØë@PÞóGƒ8×´ÕIë3¦J¥Íçãæ1jçŠr ƒk››¤?,T{Ø÷{i ÕgŸÃÉPad¡XÇéÌá„¿uLÁ Û…«É%ÄP÷2;ûÚ?à1:E(éS·äjÒP9YZSß6Û8÷¸Éï>ãëÙ)Yä××h&ž;é x@qXmÉW-ƒ^VI„N~ù-bȽ@Æ  âø¡âYh{5òá/)\È@y výγWÀ½e$Îá]›!èM‡™Ôzpü¤7ˆ³£&ßV;|㵦ãÊëÏZz5b× )`Mùõ ç„4®&z¶,G LÔ>Ä7l»£xB-ñjv_ '¬½žŒŒ¿0‰$Ña”sÛ,ýÝÛ04˜Štb£È- l¹µÊ‡ï§øfľ#¥²_¼ëÄwÌvýTjFÉ•ü‡¬–Û¿r)J¿O­ž™àlœHïwß0oîˆ]í”ó=_xI×4®=Ú²J¨P­“¬Pccw ‚–J–àÕëøU”O"CÔW?£àø ~:*둉#±x¿íõ˜þåü‚—z±ø0NÊgH“MNãL`[¾NÖ*ÜiRg’3c=àùl˜:4ªã» ”Ý_—°“ÑP6ŽÜâ3KnD쉆ÿ,%`ºo$g|,ߛӴŒá;“ÍÎkçǹåv˜O‘-Âß6¼Ÿ^‚»Ÿ¬ …‚C̶{0_”^ñm6‰`°¶¢úY™Û·Xlšg˜ÃÞ„šÔ #,ók1M—q\žp©LL>vB¤V¨ ÈÑ"íãXôæöš4¶i’¦ÏÓÛ¡]X˜¶á¢®ûz‚‹e©û¸>þJ Úö9Öæ~eÛØŠÃ­jZáhs5)ÝѼŒŠC€tô #™!#ÔÍuKJEt-@He Í=5š»1’×%-#8W[´ôš#WÂ$T°ùãËg¨”Ox–Ü÷=þ5C>EQ<0dîþ| ìàüRÇ< ãƒ:íÜåaâ…ÎÎ3Ú·Z:Zu/6¤îÍCÒÈ 1L,l@ç)Yv¶#G4„DØ ñTÂ1Ç+è4½ö`¤Šà™¤ÝáÛ܇}ä¢õpÜ Ô߬¾æêbAu x<Ó^7ëòã‰à(·6‡Þà˜âø”Àcú Á‡þ­ï¨nz±ïÒych[TFñ¡rêÉ"úú}I—IŸTJ¡«O!ËfâÈ»ÉÆxV«Žd gî•ZÑ“F µâŽÍŠ}»¤ÀŠc Ç™<›îyáº6µŽ|\YUnI~c4¯÷sIܶ Ô…ÛE²0WüÍì3‚‰  ™Î'„ØÎqˆé3M¬ël\<¹ãI5tjDز¾}¦Ø²3Ëàôn»ìãL—a7¦öü ‘ç'‚·nGà$Ù¡uC%t/D—ÛPwOÏB˜ï‡ª>8¢4zÜ”ažÕÅOÞl%&æ’ë~.àëÛ2 UÏr8§(ÚëÒŸ›†aÿTÚâÎÏMÇqT½¥>'¸Ad<þïÉÿ€Ö ÝÃ`«º@$Ä\³ƒãtÞ?Íø>ŠÙ¾ö8|ºdøéîá ¾iE¡ˆÖûQ 1¨ìIü (Jdl‹ùÓìaa__Ò%.ù õ{ýNai¦DŒ=1èþ+2´a$ÌÝ€5L„'%~ûX*FÓcÑâËtÄøhlù»¢mÁÌ™;`ºßl™[¡RÕk7Å­•œR©£ NÍÔ÷Œ÷ÈTÐÖP«ž4”…–fß…Ëë°pŽ€/T•ÛîÍg!…\(Í2°°d=èKÉFNNsòAÀ¦ù…ý©1ˆîh܄š'H¶ÀˆCbö pOÊŠƒŸÿD{Ží~Ë"Œ6W.m EjfRýé‹…þëâ¥ôO¾›Æ{úÅîg%SB!â…ePÌÑÛ,ÁÑ,°NF ˜[–\0£ÚržßÑH6´õ²”¼œ¾u-£ºÅkÝe’c¼œbÀ£H­æa>q#  8iúnÓFGrnQÅ; Ðâï¼^× Ú©Ù轌÷ ÷ƒ–‡c:ÞèìX’‘ùyLñ¢~q™Œ ×€.NA$4REMÓ1ãœVé}ýtc+ÐS%– Ÿ4ö°Ïej«Ï™Ç²›?6ÿ·¨snQ|S3ºd§pI­±p`…Z£Áä‘^ŒÿÇŒXT•úË?/ãë.¿Ê‘T¬^@¦z¦­L÷‡ó%ÑM HÀc[‰Oþ¾ßˆÕWj¿ÆayÒr'­e™8ŠæÕç .OÓœÜÝIB¨ªæïI[b=4Áû›—nAx*$‘³'ÂÞfµÈ¥±Å­cXv©vy¨5Å|úÃÏ_`^­äo¶jÇa|Ówtè4ÅeJk4ôY``“pd¦‡Ì4<<ñZµ<îÓ·f¥A¨›!#Ïl ã𩤡x[Uã¹÷›†“€*ŠSÎæ 0kÖu·±M“Œ|fÚA j!¬iwÀ¶C™^ú×MøŸâd /yÑÀÝa{­¡GIÑ6òõtÑ;ÜÏ<Ælœïü×MXØÃÇ •ÐB^\•0pz\ÉÏ2²òl¾Ç®ByNÌàgÏV¯ÕX,µÅ0BŸ ë›LÀ„¯$«‚Ô±’F»+,°'öfY‰=Âzƒ”¨ì+6¦Ì•W •õJ}¾YBEB:6«a¨åye^#÷f±r¡Ç•ØA5@Óif‰ŸQçÄLÙßn¯Ñ­Ç…!̽àK› nÆÑ}§¡Ô~@ÎA^Ñ&cЮÛr6š™cn*´_²º×x°–ŠŽ–xvݹÄÆ>=ABÄÞ"°úD¦Š¼"? üp|W¢õ\…)A °qÿ h ïW9%¿‹žµÿ½òÎôÔ¡l¯„²1’5Tçý¨=^….Žïpïî4ŒÉâ/Ú0Û_¡k®i×z‹AªwN°Íè|RàÝ5ád (1Z~€ù©±?Œ¥{àÓíeºÈl\ ¾þ”lcÉ\t¼ý†_9õm“(ý|-3ûøl~T[Ì!Ê*ÊHè&Oðò÷¹ôž#XÒ~Bµ2¨7YÁšÕW])Ræ~šÿÇ0êÈϕط0ï¯ÌY–5"ï‹9¬Fþ?ÓY¦š·d8¿¼7ÆYå)st³´Ü<йàù¿ÎMÀ^ܨdt~¾âÊ–L.j¯'””ñíñŠ*ŠI1í ʈ*dÌÑ'ƒ‘é?v0–T›žz~Ðÿˆ¡±Ñ4ÇòJm¬ähWúÿ¨h¢q6Ñ’xl«Ù£Bø¦JFfí=¬iœOƒZ˜O’5Ч°“Ñá EŽB¨bÄYxR7n9÷‚5$ :ÎÎ:뀕ëa  KÏÕP3φ›Â$x`Š<ŽfÕWBpR˦€,Õ>.GˆsXÐ !ʵ|éœn}ö¥ºìï‚K°å› SgkcÆ6‡èš%x쥡éT ´ñ¡1S¤È4Þ_´™"‚H«¾Õèb²À5ñ’R÷øŽlŒY3ÛÁ<$s¯íbÉí91È…áç…ðßÕ¤‡âi¢ AÑQû=Ìåíé]~%\s#m«Œýˆ?û¾ƒÜë@xƒ÷ìNež—ᇿ¤Ž’S½‚‹Õ†µ*áÈÆ7R 1˜Žö¥ôùZÚS[©ÃgpxïkBÆðÍŒ7ýGâoõ•óÇß,¹]\{3+IŒ$·r­$Ž ‰_Q•Ç•"ó endstream endobj 280 0 obj << /Length1 725 /Length2 34645 /Length3 0 /Length 35218 /Filter /FlateDecode >> stream xÚlzcfMÖmÙ¶ë)Ûì²mÛ¶m[]¶mÛî²mÛ®êûÎÌïÆqãüÙX¹öÊçdžH2"1{;OS&:&zF.€²˜Š ã/6#= ™°“©¡‹¥½ˆ¡‹)@ÝÔ lê`b0322Á„í<,Í-\”ÆTÿÔl M,m-jö6ön–Æ7777gWz'W>ú)›š\,Lf–6¦ayMI9q¥¸œ*@ÜÔÎÔÉРàjdci ±46µs6¥˜Ù;lþãŒííL,ÿÅÉ™þßìÜL\þ!fædo U“—Sˆ 3¨ íL2ÿ ·sqæúmjìâò¯êh.ÿcÙþeô?Öÿd<þcÑÃ01L,]F¦æ–v0 ÿÒMÒÎÌÀþŸ°‰«ÃSÿrþ‡€ò ©&¦fÿ ]mlä mM”Âö¶®.¦NY{S';À¿´ww²ü'ò_¨¡­¥çÿü’.†ÿˆ!hgþ|Œÿ Y:‹Yz˜š(Xºü£·‹“«éÂê¦ÿYYSKWÛÿ 7ýG“VÕÄÞÎÆóÿÎøO)ÿžAQ^ZZE™æšàßiQ;c{K;s€²Ë?z:™üOàßiCËÿtйü·£LÿÏ—5tq²ôh3Òÿ«Eÿõü×Òý(!!{o:fFV ;€‰… ÀÉÂèû¿è»:9™Ú¹ü[ôjù¯ÿïf25õ05†Y_±7æ±Jk «ð-š«§2oKkê_ì ^K¶)mѱ¯ñÊL‰²#ÞCÜ–5IZæÚž@˜vë7W7È;Kðýû³ªGûn\*ãï$/ÂAsxÞu—™}\Á™üÂC*?-6 qi°CÄq²™cµÇÍAúºÚUì=,8èÿw÷ýÓÛ³|-†BKù@ĉr"%9öš £L®æÚh8µÄz@$x2Bļæ<ÔTKeâ(0¼/¯zÔ4Ð)òoKÏ4˜(Õ¯À:{Õ¤Tú½9è\ýúAF„t«hƒ\1{ W‹»êîϯCEÄíCœe(r³òõMN뼫€jlŸ¼SOÊþÑÂÐ`×»‚ÕîcžÌ$ÛÝÎQøóàÊ´?ao`¸Ïü>²Xdßò$(è—»ò5ÎólXû x&K:epùˆ†¢ X;§V±ÁÒñ´úóîäßµÔùö´Óƒ°O*#³s£ïjêhAPRI6ˆ§À:*šf‚gNÝ?X/±% Û–Zx$çXžÇc7]wtp2 t¶¾“EŸà|ŽPϳ.RG;vr¡C™›_Å‚´_>ÿm¡’j÷*¸m¤c·> ï (§¡€ ZòO»€ÑÚ!!ÇRkÛ@­sETùƒw¼Ë¡q;D0•áË.ðûÄfx!‹•‹È±–T¹F[ÔUrÓ# l㯱/b‹¸ú„FÞq0ó?<”šî©ÀeßN¾(?Ÿ÷œ*yÔ:ß~6ïäÆ\€ŒÚ7rȱgØð,î8Õ¸âo­ÏÞ82¿¨]³Ã~‹¯¶Ý’†ºNõH}ç(PÀãå8Úà³™§‡™H脆ÏK˳´ùôÕÚùoò'A8$aiªGaÇ ÍÛ+ΆXÙîœæ'¥ðNq ¡q‰RÿÉÙÅQÃ÷{6X@Q‡eì² Þ c»iÉQncNÁoÐÄ)<·³ k?ƒq¿6r”½"•¶ê 0[ÂgŸÒe§àÁ8ô¹“ÜÚÜø(É¢„c¹«ŒómØÛ!ÇÓ")Ä,Ï“Œ7Üõçt,EÀ¡Ÿ*/ï¦RÇÖIö˜Yˆ3ŠÝžwóæï"ësU”˜Ç¤½ÓfÑ5d35©Óå‹ÐÎï€JzÄìó¯ØJïfï·øãÛOZyîã£Flm÷ÅÊ¡Ðh=ÅÕGeN¯ÅR+ùb3è<°*tÁ£º#äNE_ Ø6w˜µïæÆ‚IÞùšI{nçÃÎ7&#Bá¬ç~8‚êÑ#_Âmênð ÛKy:T’N7µI£M÷Z2ëÁÊÔ N_‚‰Œ4¡›%ƒ@nÐnÔca,™­ÏƒÆE0€O'K¿gõ¸ojïm×°¤S áëå3®Ô/Xd½J§¯rt`h·‰a;ZʘŒoç§ÉúTx‹·í@¡hÁüÂG´Ìp°4=E¨;š–,Ãs2Øñ.:@…S}ñ‡™–Ë ìjáÛcÄ$ðƒT[ñô‚cñeVü‡çæ²Vv°@E³ØYÁWÔPíï8é aþÚï"‰øÉ÷$Œ¡¡<¢­xÅÒºl¯=Güt+­Mõ­¿]‰ûSya0ZO1åÌ„ÓGš™`8² ‰Q4<éß%¾Œ…Ö'<å%V0q}-ÐYXrG ÜÉÞâ #4cQ@ ôÈMÿP!æ`ë¬UH‹N»µð,Ûñ㽸O=ˆ•~Û{Km lé=„Ù¤S)´ÇT(äH—Á¸#.Å –ñinþUx[µB#>€×µé¹Žìª=ÐÃó„¦V\CzŠ¡ ˜ZJ±°È…FЖ°ŽêŒ3®_ fûpw¯J퀭"!î'ãU£È8)``‹%‘¡šÉ‚W~@÷ó æã®*ž¼v4KˆãÁ“Ö1ºzÞ”ÚO㟦‡ÕïJ0úÀ"Ï¡È|¶â—˜.Õ@ì,hE&÷k}#P&º`Í;Ö£&g]TX6Œ±Ð…}½ öö´‚ƒ\«bÙ»mýq¶z*ÒÑÛÐRº]°ô&ÜU6qmøG ‰*èéÒqƒÝé$yU‹‡È¶nåÀy2ÙkýÎü˜£íìAìÍäikÔ!Ýâhùüa­wTGM`º+¶4šH=ìèsbö $GÉ5Ìyñãeøk$:¬QÃüqÖ€­:£¸ Ž@ꥮá<Òr ’ÐöêH¯ Ùý ÀÆóåC qóWCäþ>x½Øç6(AMÉž¬#³’Óêï y“Ç¡^dÈk„ϼ¡í­:C«M<ÊÄop¹{^SâáQé<+³$r 𸚓ˆlÝÈça„¿sI—ãÔ>¤ŒVù.é5_¿´Qøï@±ò‡¦k-©B±Ñ¼áãÐ}«çéL÷þÎ'U%Vkÿ,=—¤|Òž€©k¢•è¡ÆMáÐ˦ôF¼ <ÁaTã"O¡›Ža(Q0LòéçFb1gî– ÞÇÁ—v²`L.¯þž®y¶vîQ(Z™²² hqºîrò»¾‚ÓeÎs ³Ü–\@y=Ywó5ÕTùòNš›Ôö=“"_'ëu.âÛ¸‡Û†E‘·ÄrdPúc¡š¢ñ‡p 8_swÄG`TE&`“;ÜÝL¢ƒqäæ°«lq=: †e™Ó{ °‘‚’qEœ>¬Ð ¬Ú+²×Õ2{Çlþ;4âøg9Fõö |¡8‚:Æñb¿=YŽ’­$NTr·¾Z1çÐÚ?'Éj¯íƒkŠ÷t¼'Êï2¤e]ö ‘7!Ù'ybIœê¯Vð¤È¦¦:ý ;Ðv<¦…p+*‡{mÒ6á ›QÕ¸‡æýôÁÈÏ´€Žßs0§Kø7Èç'¿hèX«64YHõüŽi }–W#&ýK„b“)ð£MË]™[«¹íÍl­õÛÎá³ùŸï*?ß™ÁíU!ƒóþÀPn¥]sòâ«×®»nÿØ›#Åø,—ž˜’ç-±Ã‡¤ŸºAIí «·G¾R>¿YfwÌT¶×è9S‹ . “¾#ƒ{ã¾8 ?GçÖlL³úPut…±ä·†‚ýç„‚ï¶;° à®±“XǯK¬[ÏíâœOÔj«uíqÓs‡.ÔÿoV)†ßí€ü±ˆ|Ù['hÂþh”ú_Û~"¹á?Ñ ÓdAF>ð&êH¨ÞéÝàMÎàg°#)¹âÉ Áqú&CÖÈ "IIî 9äV? :XÙÚiá1É,éÆà‘†Ûå³: 6ý÷tÒvÀ½Üª;þÌ4· n­5U픇|lâöìj‚ 7†+Ü´«Ž¼¬Pó^YzÔ1û÷É é”\(‘EÖË ¡_çã/°ÄW­îÒ†m{Œ=Œ;¼Ñ¤“á1ýð‡O^0a[ÀºÝþúµ`6HÔR5’zÞR¨LíLò‰ß@@;àÛ@–sé=•SâP³./)ÕÛL…rÛaÙXxж Ržêm\Æ¿ïŦõR1É"ûÄ5¾Á›NTË*aÈ^H*ß·d©õHQê~ª×åÌ&²µ~E"PïAÛ³+ ìAòb’ƒ¯úU»ýìT>Ž6ÿ°f`7öÊ1~Ô4Ä€~bJ‡xø§c Kÿ`&ŸÛ73cQ.Øè6ØgÒŒÍ8GcˆqNŒ”ü³KAFìc"‰„GiV"<Þîöö8R[‹îèÚA c‡ù¨#çÐäöB*U`X+Àzc9Q£ît-€ÞR?Z³ÍƒGv>Fñ‰x$°6”ÆÝ Vz2Dµ60ýk™·—höå¦-+Ö‡(éÑ3¢LÚl kJ±÷“½ñ7Æ€bÕUæbå@âÒ~«¾%K0Yçà¼ÊéQõ‚ÄØRá̳ÞUòÔð›ÿ};—•i•ÎR|W_o(H£E@!ÿœªã%–>Øa³‹*±'±ÁÖ÷,•a¥iܯãK¤b_JçÔ tf[¢j)ú Ó"º=œ>´&ÞA"ègv]æJT ”ÞqÍha†cq—=¹…¹¢“µØ’QÔ,A©ˆÎ3¸BvªœRY¢hoS¦†¡´Š«Ü¥îåßêN_L —Qˆ7§AÐO¾]Øyº3øàLy@¹µ^ÒñQ-ƒXíÈÎâ}´È‰]F,òn˜Abj¯–°ƒUìþ°±$褦Qîë‹OT›-ÛtwHgš³ÓÓ'/5"¤Åîìg×â `ŽD1™*~Cߢuc£PEoͦ8A3à #äé3ÅPKƒ~qW§´nÇ+žùIÇ!ìøèž.)’!±"0SWê)ØÌj œ28º-î#6&ûqL "?û)’ßÕkSÝ1>ÔªAõiÓ¿ É+v?´’\L¹šŠ/ŸVûq¬w¥á {ÍËDš°æ³î`Ó‘ßз>½{a/Öµ#­Å×íW3‘Õ`bÖUýaUAH€“T¢1²ƒƒÀ¢4h?Ÿº‚­Ÿ?TÖRæýµ<“QÆ Ið:{48ãÿ2Ãæ ž‡Ï eÍ4w{–Þ/výÎË6%nÆ©R1kY|º²Üga…`ÆP.¡BEP’­y iƒœ¬ß¿.ã¨cÈMÎÕÞeHÀAxVÝÁƒkm:` 9¸Ü’w]¦Í¨Ì.çÀ£nç·`"¿=U˜jF߉rõ\€*¶œ´6Œle 0êZLnÕÇšØèeƒ ì§až›txÝìI~€˜Î`O›W¿^_­Wyʉ]ð³.·ûÞ¥¿C¥R'9ú‘É#tôº•ßLÑÊše®Ë×Vh¿Êãô$®ŽLdˆ&U±4ÍY²ç«@¡~µ‡Ÿ 6x)ÑjB.l ÈyxÝ^ÁPÎÃL£Ý<ÉïeÁZùö$/˜ d"ÒÎb'Ka§¿m‡ J÷*o?y6tNùjó‡&¤²9Ú4:‹„cªË. Nf£}@º$Æ”ã{ª~%Ïä© E¥6¼ë‡kÚp‘³à üŸ+³l¾Ó<Þ„h÷bæ²Sˆªƒ— ≤NT\¿u·O¢öSÛ¯‰‡äEÌV®Ÿ`Uý²æþÂÍ\'ê„€¥fïx1¿eØäó›0èžx/Ñn±žŽÎx²à•¦W$÷ƒ”ñ‚XÈT¶°ÄWÂ;¾aŽùvGøóVYú‹âººqÇ DmD¤Qr¿¤Ž óŒò÷†ýø‰¤¢cY%ÅÝS¿ãAå{œvªWä xÖSåèÆ”™°ÍvpœLªxd° €¢ç9BI_px 0é›i@óõàpüw¸9ú%Å52•à_oêîGÏÑ€°ä=¦Ì%чàbê«\^Û0É^¯Vt‚”OÆ* T8‹Nc)É4GÙ@D/¬GT¥•ÉÝ‘,j–E¶hCžŒi<™ºMõ|0a/>š1Z°LÂç= |áÖ¯E d¶,€òõcëÔ±$JGëÄÒeÔsIƒº c…}ê¨ìÌz:ø¿:'¢WºuQPv1¢÷ªßã´l™ª_‘:Š,¢dÏ<ÅjØï|QuJ$±à)ªé;Y=2˜­<>˜å¦EÓB¢)/ 8Ý€ÖŽŒÛsykO[aë×C6eÄ(µ{C…ĭߟxeŽ“-¦Åâ Ø‚dõs»i“µþ ï>vØ•5^Kë„f- ‹É© Ò‘9yÈ?ì§læÚ1¯¦u rFû:E5៬]y処ÔY¹jåFî–Àô~³ 1Œúî+ŒÜ˜l"Ø×€D4Z'od,0dˆ\óà­oœ2»"hw”Ô~}@­ßÔ ZþNdÓ öŠíª_ªJØÍUÉøÈáã‘ïåZ\^u¥Ž#„“àIhYkÌà&Ø›Çx€[m4 3v×/Ò?ÅHm×(Ÿi^îžš5”=š6Kè¥VL Îɉ˜Æu„QÇ õ’õP"üÁ¦·][ÑF˜s/YLbœ”r–[³ÿQx0%UG(û-ð§!÷±ÖàC¤Dš^°ùÈ ØxVo¾Š§µÂ!B` ü$›2«i¨ÛY˜ Ç‰ßˆP±£IX‡,ë.9î±XG¯}xz³†ˆyˆ¡_Þ,±ÀŸ¼æ ™—Àû*©ê%£ÜÒNþ·eÀ¯8WñÛ@–é„éJ"Ö|[ÁÏ>‰?zùE›Öªâ]q ‹wªþ4²À½–Í¢4Ç<ŽA S€É§Åª0ÜÜ+º…潤_‡=4—˜@ü4g».¾ÏdcÖ%K?ÓÞuc$<Ÿ¦è-¹®í‚§é't5*ô‹ÕRá 0´“"t9Xí`›²Ô©N(½%×aCÉo?õ±ã‘ѹ+é# ‚ǘ"‚seò-ä3Úû°pá˜BÅ¢(a8;ù†Z6gç1†ß_¬i@õAÑ,êÛ›RõõÈÜe•µ9ÓÕàWì1¶Ÿìëtw¨«Ûè–¶¥ŒsÐg¨,`-› ú‘XgÑ_2ó¢Z™Q™ÑËÎÔÒY‚¹aHH¥Í­£æâ㸛~Ô¨E¡L¿cUÂCtç²`•0$çCRUésðÁ×EåÐnÖ!}ªÜ‡¬z¦!<Ä|;ÃéÂ08PžÔWßk^ îþmo0²ÌÝS¦Ð8în¬"ÞáŸÉ¤ªÝæAúÃHg6Ò[‚…#Üír¡Ñ{Yjj ¬x“ù”Xö}7®Ønó·±ZòÒ=[«¿Ñ ï?T.ת6UkÎ~Œ¿HNÖUÉD=piÁÿè¹_Â(´ªå€ÓTüïc¸³h<6idW›shVÞ0dÎâ=?mÜ4ÅŽèɨ¬f‚ Õs!·Y-xN3T[}SøU{ÖÊåGjüÁ>œè S«ur7ÁŸq«6(Òvñës“–+MÛJ–—ÌbX[ÝA~½õñK¬@¾A;¶USÅŽ2F’æRŒ—øQÕÊzX/Qg© †ïÒܶ2ÒÉ ¼5÷ʃ:ëã$ d—~dÑÞCf%¾ªY Çw6G¤œR€GyÏÚ¥C£, X[4³·]JŸ€Á¤­%JŸ¾ªyVõ9¯oÃïj*yô)š Þ¦•]Â5Ï©á«ùÏj¾Ÿn9á¥Û»Õží J‚ƒXZ}CH¾¾˜zéȶήµ G¶vUîÎsÒ¿^í.˺Ubf·`¬Ò6ø„pì€×2DÑ[™ Ve½ç¨Â¢âõòmZ&Ä4³Sb¼=S‹n¸­j/t0ù²Ð´*L)Áù¿ÕF¬Õe3ìIãb˜@VÚ ‹dÍ45 Õ%iÜíû‰Á¡HX¹iTë¡»v_GêU»áê^7š3ÍKÁN žõöîm˜,b~nº„èBýï©3e±¡òÓìØ!„®Jì„2¾7ö¦=¿c<ö…Í}ý&Zx}ÛÈëúA½—b€§â¼g€M4íë;?7­ÿÆ Ï'·•¤ &ômJ¼&-Õ©»$o-ÓÎ?îÊ[# ÔFÇéî »…Xô½…Œb˜£½ÔUjßÓœZ*ìl¼:tŠ{PÙBÌrDÒ e¾ÓÕzM´Þ±h¿Ü ,ËÂ¥’=¼¸â‚¨ùÁêÀ¬ú“v!Âî8Ù*rh,¿8HxÕÜì=SUЩ‹$$øVãN~½¬^šæ!âéÌ×2­WÌzOrZºÜÝ)ª#3~C}ið”É.:þy+Ñ?ÄG¢>e2ÅMœ y˜ïûcLJF‰r¤Sâ^SGqœÌr“>c”8lÆ}— å]Kžœa!r–«Ñn1òR0ÔÚßFLK-rð'é†8*HíϳÁua­>šêí DÍ¢Ôð¼öÌä 3ã ²±riîíb,L÷Åíä¿ÀÝpHEÉ" ÞШÀ.nØSXÒ…™ ¯Û¿Þò<³8ãôKL=·j«!^ƒ„bëÝ:™œ Pc,cž)ßÚô0¹nN;7ná/U¡©—`+–¿y‚°ÆëÁ ƒÇ«—ÿr\UÔÐ=—;Ôh!Àí~üœLÈU Äi+ioy$¿vjª'¯J"¡Ú™ó%åÅ"êC.Ó|Îdˆ·˜6”Ǻ‚Î8'l¶o"Þ .8ÿK3•ƒð©M«R¢Uªq‚áÿ­ÚQQ‡NN{ÿheúæJ8¿wû•š‘4l"Þè*§…žZVÔÙ7&ŽRßê£ïŠ&JÙá•ÉÏÅÞN­Ȧ³f*ÁSYPJ ­iÝJmçVÞ³´Â·n|«©Îá,Ef´%‹ó-æ-ªÎ楘ثS°ŽC†HÂ(áJ¾âEÈ«ª1šr$ (Í*Û  X߯¤ËÃi3¹ÿ{lõ@jší…ô+\6ø"ùpàTs–nÁYZ ¶ž>.¢ó¡|,Æþ”q}qNš®×Ë`ÝðI­_`( IåÍÖìñŠ¶à±¶¿y$»ò¼R÷(&á'™ÛsÏ O’XAéª:TŒ'›TbÍãCP1¶¯=Ðç²’ÇAæ°$é/ ˜ÆÙË~‹à‘onµ\"vG·/‹ô®Îò9ˆw uÐ_Áq:î'ûI˜àOÿ*y, ¹H‘,„ÅPºú°ÎmYM~ÏDðVæXôq–94R|£+=¶EmöÛ¬ ʨ&íGeºi HÂÒŒŽ½ë?êWò8þ(ØFÀ&a´È²Í¹ŠžÐhþ=?A4¶Þ¸“^`ão”1œ]…Ëç‰"‹±¶'§M1PÇH²B½­€i¬{›Ñhón0б™¨K¿*ÕPÀ©ÙÛüD)Òl¼«×æj¯ZüÄÂÉ÷ViÖMJr˜Ž9\{µÄŸÑb¬Rºóûë锸¯s¤¨—×XÂ’^÷¬˜ ¤Õ7œÜèÝ7KØ›J5Q¼ol¾ðRÜ(;B=h\ÇìíÌ¥²gޱû'/¡Õò†`[¥‘'zaÏûæýVdDs©7[OUK‡Ÿ€Å®XÙ;ß|é7¦ý8*æ+&ÜYéfÓÿÀÙÝÀGÍì8Bm@ÂŒ¼WT¤( Eœ’Ö,K z»¯è ñN`étÄ -UˆnOY­aÞM|ûÛkcß J}=PœLgçc•« R…Â$]üjfYÐ0·à¨ÞŠ”¹#ž^KÕâ-­-±¤èEnŒŸ/¦`˜ENupéUÆçÆõ´”]OÉ2{ðæåDÍhó¨N]7‘õïÔØµŠæŸn5äå&}Â1a@e¡±Tj—e¡q¯ýÓÍsHªØa¡&¨ÌYÙwfg÷ò{+E—këêÏùf‡v~MgâÏÈßOÞDYî,ã1,o¢–²‰®;¼®…ë/úÒ{÷ñ¥‰"TÝùsÈœ?u¸Z(cgÜÎð[ô’vÑ-“%zóO’Rí  ¥¾zxO?= Ÿñ´1HÛaÀÚWãýq~®¿ëèAÏxŒá‡Èwk 8޽߰x“ž˜xÑdcßì.½k¯N$»šã9q0lÏlféœ>r×Û²‰Ìü(d0Xÿ4áw3‘…¿êÁ÷yÀ‡.T)À¢Þn[B@æßÊÈyfÞ”Þ¾ ™'"EãQ^¡{£CQtêNÆY‡uIõv˜ˆ3uXÅÃýÐ-­Ú‰Lñ€V áCæóÕ§ål=h7¬mnX·Zê¢ñ˜ôàbïk[ÍW!Qf£}‚‹ð¿²sç’ßWc@òµGäë-è?b-èÕ§l¢aªy~'¨ìâ($½ â±éÿ‘[Ìζï^EÊ+5|ZŠú˜@Y"Q,#±üNE–utÌF†d¨Ã®fö ™OµÉjNh"‹¦{c†ä ‰ˆG®"ŠR½„Ü¡¦Å@¸á|b±ìö„<÷oºMqºù&´FÑÄc–ë8+ß©‰Ê%Q;ŽïÂU±Ma33Z&à-¸g.ó³.]3CØ´£ä$šóÈ•bóØ$Ükëi’”bwñn©d6Œ'§!»MwÍ™¶üq‚0ŒB #K6ëdVmY‘Á𬰴õ¦‚Ón"(6q¤9MMÞì­éª3ˆHlЪ/D“è9ãì0]Ð\ˆG~/V/åd§«!… Q÷•)ˆK¦ Ò7 x%››3˜FÆÅ¨˜ÂúCÉ(šŽâRˆ’ JÁÁýî³áWh«KAûŠmèç^Væ³å§µ½Èd„r}² ÃÃuÊè³€²¥K™S¹“ ™çüÉI<–N}Þ~9>èˆÍ´èD vã IÏ/hVªé@<ô ]5§>éC¶­§M˜@ƒ“Çá[² A ò=›ÛuJ*ØíÀÙFo«zÐf:ÀçBÉÜOóNfô†{ß fÊYû !ç> ›/ÑÒ ‘œÞ <$ò +|?FaýS²¿¥8]N×ÄÓß ÎK³èfC9TþïáúûÏã¡ÖÓ¡ô_My,ÎèǹT<’aÊ2ú®>9Ë‘bN²*¬À¥=¶ãŽ3îƒk<°˜aÓ“’îh~ ùÜ'p‚@¤±ôµCþ!è2b7+Pê3Ž é}øõá fšµ».(dÒo»!1b–›sãW–1ÇGn$~í÷Å ŽÆ"—¾Ô „< Wdд q©Þa¨úô¸g°ð¼)=å_ÎäµòŸ`̯÷–(éåÚ^  LZØ\3Û=•Â0ñF½šàï  k #%¤ï“ŒÃ˘"ÅúÞÞf0øž¬SÓ•°v‹V—v„º±i›…†œfÕt¨ WF$.îÙ<Ìzä,)„Ýô:ìÛ›½šÌ÷8žcÐ3ÑE'ðñKƒ»YíÓb ¾“÷Ëù+ö+@Üx@»©H¿éEïn÷¬-ØK#z¤æc“è–×NÎEÝÔKKU €5ÅI3¯ Þñ Å¨é¶ró ¿ìýŒIu%ï-äaƒ×ã®i$?ªÊÕ'ÆZL«ý~.Ùâòw˜×ÇëJÚÛˆA§ªG6R8šÅtìß“+cõ‹ A<ÌëÕW8æX'€¹9®-Ý©!ý™u&f —©I6XwÔÁp4¡8ÏÉÞöû¥ ?¨_Ͷ ®,àb<Ð;Œ¥Ãµ‰¢ú‡LJZxÇýg- b@×0hN²(Òº ÙABÕµÑø§ß¾ûQ>&V”ïÆŠê/ª)^ÁßxyÂa­e“ 0mbK8`×=GV(usuQ*ü(zïC×êø=¯ÍH!ÜÀò>­u¶vª¢™™ÞÐâS½n>×Oº±®Í3~‹G‰Hê¥Ër[;ª(Ý:M³ª˜X`Ÿ–çý±°[‹c„tX|¬SiŠ`“þÂaËIEßúϹ7–¬)hÙ;)Ç ¤ªvªVš-Ô ø?‘yêÆ>’£ÂQä.l x~AN³ z—ÅQrçUå>3ö!¤ÛñQ@Á.¤ûÆÍ^^Ü%z‘'äÊÍ f°5±â_u©”m¾1¾ë CO(dV4Y€ç»‚müÅ;5OÊÉS[Öh„HDn)Ï ÇtFlöËÂfLÚÜ=×kb¢­±ì]¨C¢…‹WZÞ\ÍÓ#LÁï'^k|à:üæØèX¡èÑ5 -2[š+-9]ËÎ)TfFÄS’Á67Ò•ga<§®_ÉÑ9S «ñ#K%jÍ”$¬lO©æ+D°ÑB™ }mô‰ÇÌð3°Ã…vÕâéø~•¬†W1O'ú¾å°Ëà ™$u ˜ócç ÓåÔTΠÂnNwA'A. qËüØR£S8Ràœ8Ð ÇÌ÷=_rŸqg_ù/ ¯ÍZx8C°#® +ÎHYÜÄêÑÛ¾ÃY¸ãÁWúv€?Ÿ½UƒŒÎ›ûb&1”í¼ &Žx3¹Þ0UÏ{Ê*NËà=M!žyj¡Ó°Öî ºŽŒÔBjZ¼Ú×|ÅXÜ,zÌ ‹A‡&ÁB `á½ÞíäùÄv°o»òš´_ÍÚÆ÷fþµîw”:FÓg.û‘³„ÃŒè|õÛüÀ­âC+[/ÈÌ:pÅ/.}7©õ„©Öýëà-Ìchú15“¨W ?\¡Ew˜Õôÿ†”ÑgÖïr /{½cÁžsǃ°]Ö&ʵú„NH¼?Æ.p ?yñÆs ¿œÛÂë2Ig×éDãö»T˜¸_)“Rî6þˆuáÆ</ÉžÐf9­x PÎbsŽZœn ä1Îgk½ÛÝP’±Öa’âøÒzÚŒ ”å}ØféæH}Os̨l ´Dé]‡ž]8-åp±Ç‘H9ú¿¿¯ô™>½ )Óæ×"Aª„/CøžNœ%SRÙ¿ÒþÐAgäÆöól)¤ÝäTäì-æ ݨ§Œ†ò˲¸¯Oñ ùL£^Ãìgmn?Îñ.+åêg+EÁË ÚW„€µk™Ð_D}eVh,æŠ×;:låæwKš›zÉúLªÐJ_,= ÇPß´ˆs®ÆûMžHùŠÒª0••æ²Nœ¤Z&¹BHÒûÌ~ÓS&KŸëvÖ¨ªÀrK9‰"E¯0?탞(‚g/H“½!ÎâÀ @:mŒëê98鈽R˜î±ÁÐ?Õc…T›¢÷JÆ› ^7çªÎ$–”Éôľ!nÎSà:/båq»#›ä–âïêó\(Àh,à¼6m,F'”ó-ÎÂQ̹–£u±Y0wù)W= BäPJúóöGD_ÙhzJƒ|m†Î9ät©Œ8òÿÄA9TÏTò# ­‚|¹ÝÓŠqfF’Îݺè"`ã[N_(J‚dŠuì·d¨ÜÛ–¸g+ŠKðë‰5òÓÿLÍR kš¨ü˜Í5hи/º“[*cÇZÏkœí0Ù&9†xšhKsâŠ#Æ-„/´b-õ¥MJv0°„ÈÖ%ƒ}xà§Ü@Sñyù/‰Ž|$½s!·ý³CÀ§ï_`ŒñÝ6„UùRºé8 ±7íÏè xé.zãáé8ælûi–iô¸úÅŸð¯èRˆäfœ}Äy¥Go@[ÖaBz5íÕ?×K½¹ ÃUñוÀ“¨{(<Ó¶ÏZ½§ã9mïis2É[Õ%A4ÂaLøML°š}ßÚÉÓðÞ ‹´ï6O3¡3\Ï‚’²¥åÄâÁëÂS SÅÃZa§5ÿvë>G€öØÅP­løœ¦ÚѨœ‚×.¨Ì2R9öHQ}‚žËÙµc™‡^)§å†3~‹Åfq#ʹâíõ©¦íð¡X û×EAã-Z±Cå$L¿°?7o^$=z0–"‰ës8R-ßÞ¯8XäËïñlnsiß-|ƒ…Ü¿ã°v†¬å^!yiaZÌ€¢±_³ÐÄK꿦õaU)P[}0à8š+ÝÇæÖVÇøRÙÒº`ÁLüÜÔ^¿ù8•–!Uá}ûõ8])™ô£ˆ€Õ)ÜŸƒ#/)1^Þ‘Àâ%`—ŠÜû!›”ãÐ;þÌB\| ªIí@BIÀJuŠULÂÊ`…ÍòV“aGP½Ï5;s©MJ‹j†|‚`$¡ÉEîQmkÜŠ@ËŠå¯]ýÝLòÏ`@¿W¾Ÿdà‰S^Ϋ„µtxŸÌðrLNôUÝPç•F4^Ea뜮œd$À{ÓŒ©ND|Ší¯Øsüµ ½À<*kÍ];›4ç£ó•a­‹Œ¯3ªù#K|1RO¿¿1aaÉ^Ò•no¢'¤Œ•ÔÅUjÉSº-Äur@ÓÈÎcÖ\7ÈùâI®¼: à¾ïÓã$:³içì€[ÅK3x­_ eïjz5EöR˜—Ëz];!üΩ{µþ Y,PoÖµMs5sÁí†óYbT™÷Äñ=Õù@ü—\-šÁ?²/c®UóVgð¤ש…^!lPàYðoÍ`N{AÑD'ì‹h]áþÁí_¾Úø(9Ráïónˆrí-NÏ2ÄJgVÂö°J=Þ=#„Ó‚!ǦS‹â ¥Ä¤Ž„íHt½HÖ°›G(>éŠ,Å`E3yÝ1èŠÆ/‚µ<ÄtQëËòÀI6læ]"¼(OŽ”á’½+JÞ÷zžy¸ö/"Ch\¹FXV®g‰ø”®RÉ}ý&ž®b£.œ)^¶°µjÁªú[u®¿E®2Òâî÷c^}Ájï8F„ˆI÷ø6Üh]H³ÆÝð'©üìVzÚ¬çàJ»v—©áåé,ù 6;OªÉž÷j ÉŸPë^¡@ª1@ I0T™Óƒ ðd ˆQ³m¤IO¾›@$Ig§õouº†8pŸúÒÚ¯¸AÖÿu!¼¹ŽÈ³.|.c²âæÄ+hƆV:|¸ƒÛY¯&ÇY)h÷¥s ·òÍ5¹Š bL?Ä9ŒÉéG@zbúM¢øgt¤d ¿×ý`yŒ`©¾–¢úW ™Zÿ»I–žiÈ©«ñ>læc¦­ÃSþ"Ûj‰æ¦6ZÔY¢ÅxÕZõך+p¤t)Ùh™ä™¡ÀiR*½öU¯S® ’ñ(šÁv×,hÄ+þ¶–G—Ä £%Ç•Y ¢õ ·çÃrŸÀófÝd…:ŸÐ™9.Þ¸?ez±?ƒd Ìþ‹>B&§»3iÌ{e¥"ë†d£B5^#Á+” 9úr–å&·ý7«N(,» ¬•ðBZtêêL+Æ™ßÖç ºõU’¶‚œõ˜¡o±þ¾ ‹7'Ö‹G£”>IƒHE¡Ùé‘ìËc5[Ü$á‘gó¡fèÏ¥®TæêrYâO‹g§5Å&ÇNÕã o€í9ŸnÄÆ>ÊŸøh³°5Î? èN¼ð]$Ë/sÿ‡ŠsPŒàÚ¶ñÖ¶mÛ¶mÛ¶mÛ¶mÛ¶•¤rùÿ:÷©¹tÀ˜€¬ÅNpËx­ãÙ—Ô‡±q©yÉè™æÕ@o-)óütÈh3©/à$­‰á6Z%€“lTUÓ fáw ÀÞ¬° A›Ç“ãOÁBÁ‹ôw­p’ÒRÆjŽäX™â¼vµÙ®²DnÀˆXfÀ‹yÌáÕ› ØåO­OÈ¿’[“«]b~uâVr<Äa_…ƒãa®ÌRÊNÛ'a÷@‘ˆ÷ƒ4´ Ó,7ˆ.¬Î´]§æˆ0Sp·Jfù€-ä°=Ÿ¡6Ûc3¡Ë-®T˜ ¬É¼zî’‰ÌÈJì‡;žÜý„5 wï±R06:ê€sË ‘üÿƒ­ô?m»8Ntê&¤ßhÐN]=›Ùôº ·ü˜ïëe¡Å’FI¶¯Ûiu%\~çÖ¿)ôÚ4 ^î~åo´šÙi_9%ŸKîÎc´2¨¦3wÄpv¹ØÎ(ì¡îBq­"{QnC é pë.[Þú³Ù—äN ~´41µ2ŠÍâaç•ähA`E¢”Fkí–¿Ù6BËñwPŠ8u¤8÷E›ÙT·V¿w×-'÷©”ÙŠ-¶„•A Êð/ß«ÅUö­ëúÅ¡Ù-·ëŠÏ®t[:ì7îŸ˹`©Šií™Na_ c(ïås“ßæ×ìV[’M<·¿ØcV sÆš{¥C‰ 6êôU‹ß'®ŸC޳»ç©[ÔKQ‰ò²¸Ún¨ëµRÏRÈîÇà{sŸºêö†$a@~ùk¨q ¿¾aXC_§óåÕ7 ^ŠŠ.?º¹a: ˆqyªSyNR9BT×! å•–•7Ƕó|¨8SÈcñáë›P_ÃÑ”Ìܳ•'¯ ú&iýQžTm]aݶ \Ù‡™ÿ(¼8"Ñh°èöÏ/ZbŸ§Ÿÿ©eÛU•=-Úz¢S9·3Oóƒg¸Ñ¨+’{õdÔp"ú«ÈƒŸjuûc¬Ëþ•l±”ȤË;µHd åά9Ê«„Æd”VMºÀ®îÍ ³É ¢‡,ƒ»% GðÆq‡-ÑkTª ±ËÆ+öŠT3§ù-òÖ±ýêvè¿רVŸk)|C&¼ƒ5þŠpM( «½¢É€Î -ÙëY¸±Ì§! -Wƒy^P@¿ÀdPHhËÔ&>ic“­ËGy©~9±‹j¿ØÅÝÄ(`÷ï”UiÂÆ§ÂÏv]Ÿ]yRq¯/9íHö,›Õ'ß¹§eX¥‘ƒj” %ßsÿ;íNKÁ§Eáä¸ñŒxDî, ¨oä_9ÏÌ;cÉt«oD f0éîŽövS•IÓ“ûŒJ-BD–²p×J_(£ =â›}Þ“z °á?0„Ç Ñ ;Óˆw'\ƒÆã– ]+o¦ž©N¿f51{ýWc: ÿ¾xõ%¸«‘øã,À+Û¬»`þ®”8*®Y “^ÔðN¸RЂox Íà”"e2“¿6lÁ]™ñ!‡^ûjö…å/ŠÃrÈ ^o›^´‘x­®=ÌÛbµ!ºá§ŠTœŽ¥QÈS™ÍìÍýA¯NÓ±ˆ …Ù¨K¥~GÅ­ó }dcð¥*—Jí¡Âæ½±’k3&¬ÍXÝ,ŽòAë†5å^ÏÉߟþâRáœý­/jG%W;—Æ¿8YrÖ~EËÿ!Á¹GÖ|eÃ÷æÜÁå”<ò,Ïr%¬û^!1Ñ ÙŽÜÈ"ùtu‡ôêE· 1gšC1(«ß@¥•Îq/6 ƒ‘…Ž–I @yn ‘å6A„JÒ,q£ÁD¬^Öjãp×­D«ÓKÖýÁDÉ"Ûì×\d!ñáäÜ ‹«Ö‘`ŸvlY ÆÄŽI¹Nœ¢ñ³©8ô3F©ÛëÛÛ_Õ÷í36¹No»«ý7‚@åÔZ:ÅÖý«RZÑo’bº@•!…q]3ßéE4ðöÒ·—)Ã(=9ì jÖæR×å¤Þõ'e‹”Ïdº.¤«ycÌ;›esÑC¬˜ŽÚÕJަ÷{ËL}G\oPÆY·%gé :‘rª OYœ‚0Qpám•M](ßŽÄ Jûå$JNÈÜš3’D^Ê<Ž—”ˆt•]ÿJQ]UÒ¹éÁóÄD,Ðì…z‘o™olîU" Ľ.©ZëyxÒÕ»ó)é{\[ŽG£œ­´g³tP³ÜÈxíö·ÍçXþêH^×jÞ…ÐÆ5eAð;‹—© Ý\m±Ñʼn_òn‰‚åU…ã—PâåæQ[1„ÖoqPžóLëÝÿaÍ/žví¹ÅjÑ+vEU½Õ¦U¿Ãß*°§¸Kh%c¯rtw¯8?¥xšEÀ9T·ˆo±×gŒÐгaA]»D^1OÇ*È2qr”ßÚ~VsáJ†žÁ¬ÍfÜ_©ÓIÜš¶SÿvjëE§O#wëio”øk+ü¡y]…«= ¹óÒ5AÐ^e¤©5Ú/û®Œüjö™×åÊåÓ†\Ÿl'3îíóì°»uP4CçÀÇÛw?fožÞrO‰7 4Ä|¿2Ž&ÐþØãñQžXÜ«ká×JïJ6S+Äùd‘p¢â£ðÕÃÂ%æYØ–`¥¸‘"ý‹¢pü³&«®ëŠÔ©64àkª6‡Xeå™/E$>k. ˜ú.¯¹û ¥ͽ)ñ‹Sµ\³#Ì£¾¡WËèÙ6^J ;ê°Šö<àÌ_ÒwÈm¼2­7Ø©L&žæócTãƒù _ÜlÏê3QR:¶aÐ"|V6_^W›b Å|\·QGЏ‹ë/š/§"yÇbà´¾6º÷áçèÄlò`?¾p9¶gïp`sä h?0þTÞ3è?fd£_ZðÎ=7”IC…ÿäjâMYºON‡E>ËÌð'1÷¬³á§g ŒZèLúfÇ£UcüÝÐL?äzµÎ ”š†‘ë7\Id©ìª•®*Vk£g UŒ™Ù¥ÍÚêóÞÉmz v£­Í®¿² èçîÏÆêȦŒËõàêð#4pŸj#é§´¿ @ú pÛO¸•¦n>ßv/‚Ô÷¬üœ03Ñ5ÅHœà˜ÅLbGÄ›J+î1g¹íJgé€Mìóaòú’½lÛ『ƒŸ¯ÊÆY¹ÜÇÒ7ôÓ …ùÅ®b¾2YlI‰CÏ`@Œ¤‰„rwÛo›E8Ë”h»ºÙ©l³”ê³¼ƒríàñWC`²4 <^ìôãµ¹vëÔ’Üø€”‰­ ù­½qd*Áÿùs°0¶‘¿AŽÛdT¬5C#Äq—½y6³ÑÖžO~5nˆÁÚÈÈN%¶|5zFCÚ?È 6¤ûF½º†Ü›×0'y'zB]³Š(–¨<Ó-F±ÇŸyƒÝËS®A´`rÆÑ»üê4“×=ìr—…_¢ú<&…wÕyÎë@!Äîòñ`k>ØÛR¦ÇôKRiaISIÖîÕå;i•¹Í(Sá&säM¥%?šùWuQÏH˜ À}VcžÅ3â=¦Ï…ùáá@°26·<(5,CñCEáók¸@¡pê ›[B&«XÑWüõ‡oõkĬQ¡N»é™" We.Æl6¶*µÖs¬Ï™g!5êp|Ž˜NãŸÜ{6ÀIË,IV†VožØy›C⑈>DY]^íÜ“TÚ»-=Ó‚é*¼ÉÚçGÓ¢1øïëc‚Fxì.„‘4OVå ц±,Íò¬ßfdÞÅDÄæˆÁÐÍ5|¬SÂqüI_ÁöÄÔ}>¦‹÷¥Æu79 Ê(?Bó52‘í./>¡§Ã³K˜#ÅI«gÑ%DãÖ £É’â0N·sCw¦Ùú‡EFFl'„j0h øŠÅ穟×A¥3FWΛ‘vïSlY™…arN›ª™LEo&z€ˆíÍoë†w©ª7Tæå&r–oÞoYkFó@Ž¥j(%!‰È”0éfLR[6úižÒ‰Œòá¾#¾ø$šî0ž÷®/šw““Ð}FÀ<@¼ 7Uœ¡õyð(WUövµ‘_ÈR…£pü¾otÈ–TuaJÐ~W '”¦»v¤Ž¤ÀÀbw€.R™’î¥ä‰tv7s"þ†ûŠXþe«8mß™"êh"m cÆö^a?^0ª[K&ú5Ì3Ä` Fû÷VŽ|aŸˆüç@Õf¾È&sªúÚï®YÖw5@šý†è³A~؈XapP&)ˆ¨Dç”.ö8D…BÊ2j¿Ê_\ADqgu}‡{Iìú*í볨ÆÀíVå]™Õû-Ä“V¬ˆo=Š1±[1ç§­7“¾§ 5¿§nѦúþ!š…—¾È<9BáüçQ]íˆn<°¯<ºT;îG.M£—D÷D¿·0ÄI¿p™§Å2ñ9b +$ ÿÂöæ; ûgËÒ±m¦Í]”SôŒMï¢æäü]ˆš½èÕûh=”ßæZ2‡=7™\ã›ÜÙÊz*^ï×Ðg‘9äŒi> ‚eé!Ÿïw; Ó†MÇÙ1Òí«PNŽpÜÑkbOwŒÿñ„g9‹+<ÿ Y' ¬Œ âêÞ¼)mÄB ûÑ”¢ê>ë9JëkòÊëæ2TÃËTl¯üXõ(4ãíVQ뺼ïŸ<¼ªš½˜É¼Ó Én¯ÈFj1Rµ„&ÈÆhá¿. lký»-V>Èx6è ÃS8©¡kØPÑ ÖPÿ¸ÄƒßÒ¾1‚¤Peè;wãØÙAô×haó&lUYÉÖjˆØœÅÄLà¶¶Ï¥ŠhŠÏ¨Q¨‘Wg.×·šñ²Z1í™ìCžìt#ŸW±õm¬øÿ½YVÙ¨ã¶èº¿à½ßP6µ°÷!¤á¨8õyÎw]£ø/+Ù/ ±ñ~A?˜Óç2q³º"‹Í…S³±`Ô~hŠ]Ø`,Ü%¿“õóAƒ©,CÅ’pf[°^ްö̼glƒ‚ùËkq‰˜kDí‘»•<>I$`6Ip!1àË&r|ÏÌ$ÝäšdÚ#V˜x Ü²?,Q^f•'=xv”·Ö: œ¸qžÔe‚UzЬQðàrfÇ“qªôÌS^……§õw%oÈED’¿NøO•ŽÕkä€gˆùà\çÊ=¯ÙýU¥Ž‚Þ½¯ÓC¯€aÃxo9lù0?Ë7`_?mÍ} àý§¹Suµæ5.4ý’»©köå ‡®w¶ 6Ð/¼×VÔGiJ[™#Òd;çÇ­Gjˆð¦ ¬µgMŒÁd™€ ­A ®â[šÞŒ z-0¼Ò¨–¥äËÿûG]¦äÜ}û(+_ÌÝ]FÂDŒ¦ÒKá_½åE¾‚þä ·ùÓ®º×lµº´ Ú–j‰™$7hy»#Wç+ùZ«r”ðÞo:¿òÖL '„P+zþ™ ‰³þJib6²7îvUñåG¶î>&€ÝÔ¨˜³§ïóE…z‡D:(ñ #gðIæaD”æ·$]¶.‡2•ÍÆwz\õù#‹Ë?N¾’%¢þ`} ÍõÝ)Ohþì› ÷Þ5õI§cfGvIO¢AZ¥XXꬤº_\×9CˆçT7"Æ”á·=`@cÎN­ø›\Û‚à^éÕ«‰\Ú†:’œ.m;_ŸFÔ^3Û­åŸ,^­æûúoh= [åÆZ´‘°óil›ëhçÔ²àNà1]áÖ2Éü(2tk+ð;*/̯SH¹»†øSuð8²„¹z›tÞ›J¼îÄ0—„6‰Úåë4âá;xrhÔìܹP¦µcfŠZÜQh×<‰0 ,mÐŽ†‘¸(÷¬ÑEæóF‹Ô›œâã A I²÷×ÂTàí·ª1á_·½»Jp@Bµ—*{WàʬC-m© QÙó…lЮ„O»Î2gx¡jð&`lA’ùKï…øäÀ}Å­M®¶ÁÜç¶R²Ð,gîËõáÐvñYQf+ê‡R^‹“ž;û„¿þñFÕg¤ÿŠáßHqÞ›-›ªëŽÇ=FFáÑåŒ> Y=¸-”¢€Š4g @ÒÚuWlÜNŒb 1ÄÑywRÞÈW Û8¨n»ß÷W>_Ó1·.ÜaLÝÛ«¹þE’.¾Ò%˜ü¿™h=ð™Øñø_LYy *EY!ÉNé1QóØéÁv‰ñšÅ0<Î;k(2!lÄY䥔/F|†Ñ¥ù€âx¶Ó©øUUr‰ j†D3Xï~ˆb'Ýåun„!™:ÊJo†9kš·ïö3šñ×™˜¦+‹ßŒ’8ìO\0HËQ‘säÓÈDôë@zâ G¨s¦I<írì@oý‰¸H (•ɤÁþ~qî9ሕëtž˜wáý‹_p£xHˆU<ºPÀP–ee„U93ùï(ö1ü’£ù—X$)Ÿ‘9F“nðu‹ñ%<-®ËäNðlCœM&ßöC®ÄI Κ½¥¢/M|TU, دý”HZ¾vƒŸôayH"sUspˆAHO$Ûs§k}h6÷ò&›˜Cõ-bPæŠa…OíL ® éæmխݹõÿ[]zêÝë…kœPãÕ7N©ðöGô*Hu}7ó$ew$?°‰ âžó)2åÚ†½ƒS.Úb‰îºNg˜Ë ôÃFQÒZ0ã!ÝC!¹Xí¨‹ç1™XóõKÈœ+"{yPçÂåüN ßËçb|³*A=UÂ’î¦\ä%¿-—½ÿÿLnûаû´‰¿’ßOýT:DPÄÖͦLK‹Û¶Õj˜èýYjÑ–!>y‘´ßšë÷Zìs‘c£j&:áꮿSjZª¿z‹ÍÔõhY‚Ë]:ƒù÷k¶Q÷¢çcnÐ=RÃ<,áηùÝú”-ÙHwÛ2J3ड़ÏCÍÚ4ËR½Þ1Cu¾ò8n“ï¼`~ }Y‹Q‡ôÊ6ÀX<¢áå†ë\ôòQp;‰ÀG¾è<Ù¿8U$Õ;óâ@| ~Òý8bsu‡ïÁ¬Î ܲÐí¹§ˆGDüŠO€rY¶dŒWãø¶v¬dâ³-±EqVò;ˆ£çLpO9/§¶Ñe’Ý_y’Κ(/Žý îE@BãÑÍjËcñ=:ç‹zB¡óŸ¦ª(Û?Ë‘*¾»²úl¿Rµ°¬aa+hú¾* >ÎÓÒöTùÓm&Œ!Žb\ÝÍ?Ì<ºóqŒ9w† æè•³kÌÑ*âåÇi]B¥œOà\¯ûÎ}˜Ÿáj‘4Ò‘9昷*FYiHEÀ`f_wþ)ÊÀj;5™bÅ¿i5 ^éE Œs©ÇnD,¾2¯õ¨X꧉WÒ©ßé‰nè=$bÄÖE«ã¸V.Y#H<"4Ç3úd"Çd€õS?ýèɾ2.ÖIIéœ#–婹i- ã#¯ßöòÓ; s(Q-`†”h;C4J,9« .éú ¤Ýü¶ýw`>ÄÑõ.Ç$¹(÷>w‰öÊ L0R^\Ì·;©ãâ–+uh·o"o’-ùÅ«¦Aþ*h3Ši”eÆt‹ô}–,o“ÿÖ'ù¶Qõ.y/†¹Ôm΀-x³î—ÉÌõs¤í„ʸ8©ª¾ÞmÞwH§Ò÷ÔÜè.½Ô/>L‘þpë,°pUxÞ=õzK ”FV xÒ(z|Y½4öÍêÁ]¢áÉvm–n[Z lƒð#{Ómm©ëÅ<Áî™@©X¦œç‚:^ëÿlÒZ†ÅÜȲąèÙtfsÆr|Á1àìˆqÛŸYÅT‰ Ñm9òþÎYezZnéQçÉÓ¦·SxÛ.I?2¨Ôbq]#-09¹‹D’Ýãˆð–ǸðWŸ ýÀ Ά ´X|ŠÈ±qpÖæ¢Zi:âúL6]¡ÛšŽ³ê·‹ž:EõùÈØm7“7°û qÙôŸý¼"5Á= Å6±g{º@ESÂþ%¡nëqîø$¾¯ŽÚ%ø`¿‚à€fSÍÅ¡üïš½³i€òRõ¬¿¯¤rí±jΘÂïXk¹¹:ú« Þ˜R­7ÍÓ¾°Ù!7#Mçõ&õÈ5H¤[[’2T'“èfKñ=Áè¢Âg^–;›‡ÂžN%¤  ²b>^ „HhÂlüÓúTš}´*é¥ÿÌ\ÿL-3Ïê¯Á]2æñ"vp>«K¼Ðÿ|÷R»?´!"¥4\G¼z^çÆ8õò™Õ21×S¶ªì ñë|â]ÀZ$J¼½#åg,‰!J¶S•Ž Î(hgÉCÒFAg8’&ûê{Þ6jÁã‡8Ø“t–õÆì¬'ê[úuBå…䥸$ÔF nlÛ8•§«Yµ0ÏT3æíÎ ñycΫœU)ïø9$ ÍhØ©–g„é("f(Àé0Lͳã8úë£ÛMfƒØ±ûéë+Ãå•N“Tì>eìo›L'Dž·¼ÞˆM'ˆ;fÔØ°µ$é-© p¾¯¶ã§røE?O¯@)þkÞu"ê±€. ʳĂ·ˆ†#SèçJäÀ"øö ‘—¤ÉЋ붗gÑÒšøåÊ»V "àYIùüW£ÆExõa•È\ðUÀ¹ð‡#£?žÃïn{b$Áú{Š­ÏNT=ø¬Ò›øÁ7þ'XÙÜ'ñP¾ ø;B2“²œøÉ+ÙÖý§IáøÎÒžÐ?¢±Ç¨Ôïç]))ôý Îs«ß9x^ƒõùGŒCí‡1'B «¡Õ;•¬ž“¶èHÁNFÕÊ.Ré"†œ™Ëñ§0\gô¶ï­à9Ñ#«Ó:ߥˆáGÖ¯.ClS?ÿ»;}õ xµ§ðóFþ÷]*‘•òÅvó-Þ ód‰x½ÙÇÎ:ølé©£¤—*˜»woaãçÐdxÒ®;²^“–?V¸v¨‚BÍN‡£“6 5ö²˜Þn¼Që¥Ñ¡oc±Ú ØDïWõ͘®únìØûIyÍ öVû`¹}–‚zšˆºÞ>Rã¾8g[™˜¾Ñ²£Uã;ZÚðM) ã œ¹Hò;…Åco«tT[Û}P5œäwª·<ð)o±Ó`m³(CÕ!l÷cÞs5[XÌë˜|ëOë¦àã°{ÉÀgvÄ å]óZ–ÑÑ~‚é«ê8 ©ÔŒ³§/Še«Š2D¶·ý‘98×ߊFZ=ýŽ!EòïÔ8DR  ƒv –v”£ƒ!ˆ -yoXá òQŽô¼öÏ”Ë.žÕO‚Ó²ïvÖ½eD¹–qÔ$SÔܨôƒR°rjžr°ÂƒÑoȳ h7ÇŒIäà¾ë³)a!ÍZ`ŸV0¬–ÙäÞA üCyãTïÇVd¢p]–ZHmp;'[@Å7þBAÙažÃ»ú¤ X CDÅûû¯?6SÈa Èçjs{;›÷Î.ÊŒúÇ ÕZ÷ñ¾}½Ù؃P¶×áÞÂϲVëM¤ja_ç|ŽÆ—y=ù”:Û€<VY*Iæ•lœgiÊ]ÿåoiy¶Òó-Ù™²i%ѳEHb]SPÿoÊEõ²ôµ¶üƒ áS9…ž1@ɉ6¯–ùüú•¨UF’f˜äã¢a¸\!$hðή€dsºÎXãòŠÞóÝï¼õó¿‡>äÛ‚ ~¡P¿áûnX´²2ÑÄl·1ëü t=òü“V;!šˆد+1|- £×Úõ|?µž¼¹Îo|êÇ44†?Ž?w$pæ‹^FÈ×å%š·Ú?üd×Ò¶¿‡žÖmè³jhYdˆ†ëˆ ›ê:èr]Æãp7ŸÇÉýᘭ’Äq*%lX¹Îìyø¸Bû ð+Elª²Óó ƒÊ÷)´!L”¡0Ö_&_À½Ó•CiàˆLÜPk–WoVGæxë†ý|þUÕº:_H÷ÖÆe¾½*ø(FA;dºWP«mÂo2ߤςŒûÈI,Äsüú1[a—ýÛ¿’ýŒˆ‹rÖÔ7L³I³Å?›9Á»ïJ†ë­É¨ôÅ-ÙÙº©óym(wÃÃ6iZ¥:[Ýw®MÎ r ªÇ^΀û:®†ßx† '<~aóÖ³#]ûKûÞ~Ò1©ÈÇl'QqÅÞÛ‰Þí»}BüãHH»ÆURK¤œÙy‘—x§ÎÅJ„Ö=ÿÛT94}-2ùœÜœÃ$è›ò§ôkÂú-j‡Ó<]—ŸP}ùÁ¯”õªd§œú¹*GÙ[ì)æSXö§•í`ƒûalÊò¤ æ±££ÄÕÆé÷–©·LÓ~[¶®GšúgŠEsÊ+DKU¸CJ­{ ޾æ-Ù0Ül­óñįT³¬á,ר†VÏM_:ƒfig -Çm-a¬cÀ}+l„ZòPMÒèÐ%”Ù?`ZVì;X¤Úg¯™>>ÅTI¦ƒ”Ò÷y× ,þxbåÎeâ‡ÒèîÌ>ÊøÊêƒÏ=”eÆ=ÈÕ3nMË´$HÙû!Æ)››Éq”„¨Ÿ»ÉøÍ2u=³˜Æ2C°Çܢ͋;«SœKÐll´ÆóÒíbqkkgœ‘¯\›U5Ò›EŽ=ØÄŽdæ9RƒI~þOŒL-éT=K?À@]~),¾/ä4'²‚ɦýadL|E’kêCä*Ò¤ígÛHL´wT2ÍìT­Ó£;÷^ªää3;-¦6µ]›F_ Œ6Üïq, 4<.påÅwʦeR^¹Æ(ä¾Â/kUk:Ž-<쨿ÜR>d [H÷t°Ñ‰›”Jo±ðØ&¦ä– ã šLŠÛ”8eb:p UÊk➟U¤~GF:\Æe²Ñwùƒ&À`)CUµA¸%“ƒŸ=¨«è©yÙ¾ô£ÿàçÙÕ˜œ¬l/ŠOêÉK±yÏÜÝó’¿ŸØ@›qO­—~!_Îu”ñˆŽr‚¥wj»öm˜èÑÊ=Äî…|c–à¥Á˜Hxu t MZ¨<ú°Ñìš¹¹à6ÜÖ_½×L.– ¦²üìOÉ‚X“ºøZNÕÓµù4$á|²é|ÝBúÛÍ;ó1ùŒÞމ)GÆÒ»p–ÀmiŰ‹íؾšÄÒWv[…ŒÄ£ž_×î1çyÚ-tšŽQñ·ÂCÂTã’”]•ÏÑY *g¼,O¯ˆ6 &Ë}-XX5ZåVÈô8'ˆ£'#ô¥—¥xaÊÇç;gtµïŽüV£nƒÓsòìûÏw …"â¡u˜¤Stšh9è`/@!ù&\Oú?à–¤[”ß…kÃdK n8åòZ-®©„zgçt¹¦Ú“!:J…ÆkÜ…¾6ÍÃãé>y;-k š4ºíYû¢XN=€®Šzl$ Ùi8„›\•O¯‚Åïåu~— NI^èÁFÆ¥å>©Åšóx}'ªœõLÿ¾Æis2Zô„k=›AÙÝàAeÆ»û½ö™³KÔ•gnØÇ‚GÊ™}¿Î75ã ’7þ5Ý GbvÞÍÒìá/_"kÏþ•¶Zm1ØPü M.`#tz¬Äìâ"+S ¯´wn#ɳÑl_›â8XW×9MzÅÙ"&ŠIŒ|ËÅÛz%4ÉM£ÏŒZAe[?NÛ-߃5óu/_Ô!Ü?IÁäÌ1q/H`h®í%öÀ`ê’s ƒýr“£ £¹µ™^¬Î¸THد}È—,øn«É®Q.Ê_0í¯mBh§{gXlRt÷(¥°ÑZ¢±N/dZåP˜$;S* ,ÔLaȤPÂÅ#t:®¤£NRÃ¥.‚ž¶„B±Óî§\÷wpäá ¥g¶BlJaßl%Í€QKR}0ÏU^k¾v'â ðzÿ³ù äûÞ„Ÿ|ûà YŽ[½E:[‚ †ÅÍZÜ’¬@w†¯Ä%Ý…â³Õçâ(ïŨÀieœkʹ"çslj¼5ÏFb?bMÑ?²ºá|öº+)XŸ\õP;³ÆÐnùC§vÖ?{U‘'¸CY–y dM¢>c,Ý v>’l” ðJ"ðó¤12ŒL³ NñÂJßt:]«# AÞÿžJ¶ÅáÚÀÖJ#¹bP¾¹Ð[×ëâ¯+Y5ÆÀåðŠë£4€4)½Räêûʤ¡Šñ’±¬—]-‘^™[)6#ô¸lF«l¥Zî6”ÝóÈÞ•ö†’iñÂäwfS2éYС±j^Dù©ûá˜k{ËÆêCñ;1–ô ½Ø¸Ðó8 ³E`£ôë•™Ä8Ú¨:cïòˆ­`÷ÖÎQ6@p޹Kæá$^µ‰‹ƒù—@ÏÏ^<¦Í£ö'Z+y)fi+-¨vÝ÷4A2D*‡©I·ÐI\VÜÝ×^K²/r·0'=ÁOÞŸŸû €p>âcŸÿkªäyŒA“,?¬ ÏRn€;½×2c{Vî„ØnÿZå×ï TÆ=Üu›×4›»bö`Ñ¿)^"ò¾KcÀVÙ©>–FH¶½(܈¿1 Òe2|YŽÃ³gJoW"cužkx’Èîã€NÓ’Ž#Õ‚$ª±uöF«ŽƒÈýÆ88Â6ÐÞûlùàŒ—ØqHÐðÛת_òËÖn6mÄADÛ/‰ù¦ÕZäÔUrÜÈHÖ¦NJM&Û ‰ ´š_6#²›Õ]’‚ÂĽ¤¨¨qfצÞ €<„¼,îŠtÈB”Îlaùxnõµxåü7 ­ƒ‰ ÑRÙðWÔô.ëe'“pÀˆ jò¶ya ö­«†ÐØÖ˜f3ã ÂIo Ãçâ,ç%%¯¦·'Y‘7V€Æª!oBÿé»Ð’J @òÑœ”-ˆÎÆn/M“õ«jkÑ8»~t[A¼ô㤉»c¤ýÕb™Gš¸g½Lºà󀆅·ÿ—ÈX0w ݹķ"s߆¨òž,Jo@ˆ ¬àLå!ÛeÌûÉÇOYò°æì)ëSøÅ, vGdÑËY_™ó©-«ICÿõà wȶ¹Â‰L<ìØV<ûIl7mäÕton¼7ÆgPæJÿlH>ðª¯AËr–ZÐôý^ÊÓŸü@Ècð*seS¤RäÉ÷žòásÆ’†R-qLEñÔýpEÀ´ è,Mˆ_‰Û›œˆP¿v0¾‚‰3´çVH™¹›Òþý;‘ ÌlM ÑHiE 6ÄýGÏѼ*§bt]¼:KrK}t.Æ:(ïš÷®7FQ<ŠÛ‡•LKú¼¸QÓ°º2”à^ß"ô6U)Ÿ|8À')*3¤nóãɇ̧¨@H—ÍA—Þû.+÷íÆ4:’ïDrµûøí0¶þ¼ü·Ê]·H†8Ÿíú0¶zTÐò§±ŽÎ¥âO`±™òBÜ,›j‘Ó éß‹ïkÏn:°„ï®òQ¨élnÀ¿QoŸy ’‡;l'Ô?Áœ!éeS¥¥HbtËÃâñ/f§Î -!Ø*b+xBÉÊ•Óøï@¬,W=èè^†¤;ÐzÌàÀ_hfˆ£çì¿€Ø)‹ÐçZšÎÞ¾‰Âùž[,—Wáæ8_˿겄ÔY6ð‰¨ÔÆÆ•¢T›ãÜ»ã„UI·_Åß!äQ¯°Xñê0¶7¤)¬ø},(ÒJ2Qf…è¥êX KüU5̶¾›#„‹ þm¢‰)Ì7–tLתIr1) ¬¢š‡Ã§aÇäž½hÞg"}òßmU0Õ -qÌ¥$Ë}˱òÀ´'h5ÃüŒO€šáöé=r§ÝqbeâÀ²„}áò9Ûß Oâ–-¹xR,ÛìðR~Âhý°(n½B, xMZÊ+fdÌ¢XI¬ŒŽuï¯NÌp² Ð¥‚¶ˆFWªj¨õ‘ïáé½­~"€ØÁFÃ(û±¯jºFöO!ùÍGs„Óàß|¼y'»äõk» ÔÜÃC;¿ä¥O4‡”ì#d/Ôc§#œö•CͰ•ÊúÌ ;[ã7:0Ò·iÊÀŠüÇ…Œ3/Ÿv¶Ú6›öV²Úâˆz² /”Y1·AYÊ3øú ô.Õo‘ö–ÀÍ$íˆ|º,)6[Û q´A ây0i±ÃÛA‰Lq›OüSi®JîŸ'ÿ„F‚at·,e&â$õÒŽ¢rÚÚ„Ó‰êˆÌ MÆ1 ­ª!ŒsŒŸ6ƒyþ6Ð÷ ¢OûÈQ=ªeq>ËP¿"Á$üvóa’þe AÁª£Ë×|¶|ñ+gÇ c‘# dð¼÷¢ÌÛû°wYïg<¥¸¶¾”S•L2ƒÏ¡žP¶¿âhÚ Xm’ü˜Gƒ«¡&o´ì^(–½´Ç7‹ÞÖ8ÁÄV¡iWYÖ}«¨‘^S–·Ï?h"—¯Wë_¤0€{u×O¿Ü ¼Ù["›ª}6…Um~ç7þ°ÜËR£ßÕ)Ž9B ”˜R8u–Øñ½•Œ–­,Ä/gBúßx¹Çç*Æ¢ìàšÉ¿¶Ë4JHìB) —í··×––,¹3$ìôôF¶so¹ˆ”=Z_…®Ó|;öÉLÐÛ˲•Sâjç]ͺ ˆ÷@Ü‹dkó6挴ï9p w1»¹êo„QÍ,!„â› lv<½ÍK5‚Òª ~ïã~i”¢ñÔ(×-v§ª3âÐÇǽs-/õ^áG­ÿ¯gì—bÕìr¨†äoÔ‰U«*Rz(vš Lý÷Û«VSh Êxäã\ï° ³™Ê˜U­/qîfH+îJHaÑü”(à d`…âÛô(`¾N@QÓ©õÐĨK 9{~©¯¾‘óàþc,¹M|ú=·ôÉ ¸O~TGwVš’ˆƒãQž¿•,¹@xú‘§uø;Ã^ºëû…óPÿ IöLi%ÚK½-òæqSæËÓR]:U‡7?”)+FP5ž=çófÕÎÄXß°‡5yšYg±ã—ØÜ^Uw$;ù™·î‡Æˆ×]oÏ'xÜJêõ°J26z!z{‰eµº4#ËO¦ôç!V©D©êÁ1àéhIꨪXR;z­ü΀ú†7wDƒô»?6a¨ ¿n½Ý‡ÈX¢Í…±“®3’ý;tùM±g5Ï¢™3í—Èá>?ÜìǼîP¹WsfÂ"Y£Ûð´K'õÉZÛw €¶Ð½‰|ÁÞδäœ9”\SF[¯~ÃyØÖMð·ÚË(©è܈Íå·•‚ÍiÉ¢¯t‰Š‰"Üá53w++±ŠC¢¼*z€ðq¸Kf¼nàß“¼€ï$~@ö‡ˆöUì ý$+ h‡«â+Âí©[Z2~¿[kõ¶¦´®Ð,°Â ÞVª{ñ-°gÿÑ $ô®…kέR©Ý.NÒ×bX69–è’m鼯 ¦~ry‚L£³uФK+Ý–Ø=4|TƒÙþ¼J9¯ ½®f~±MxqZZöÒÞ$¤ºX œ&óÓKv€1Äø×Iè)éT…UAu¾½]+¡O…(²+£/oØÁ÷ë‡+*¯b±ËI_jÜÑåûHÞA^V  eò9h‚®Ñ¬ÓÆÓôîxïGÕ ÚÝBê\ΜõK½š ©×Q—sJÜÇ¿n‘T¯„"Xõ]èf… ®ð°aB>XÁ‰lü“mëÉòÕ¼’æÝG*Ü”èI Ü>ª_± æ_€Ìy 5Y’¡ý˜.Ì™:¢rx$Ÿp™¯s>¾eÐoNj” PašþôAäú”ƒªþýóÖdôjTÈbñ.åñWÅ™ÖsR}šief‹È¦åâ[ÞHï\ÉEOrRâkS…7àǶ›r!¸% =’×0Y}hÒß]¢ä´´ÂøÒr\KçAô:P6wР™G²«aˆß+ŸaU‘ËU÷Èdõ¤K‚Pª“UG¾.…Ç…•vüù¢9bÞ¸åRÄŸÁåqbvêKÒ£ú-»cð¹Ü¹Ê}¥=JNi@ì¦ïô=¶?PÍË ›‚,a`Þ^dËøk<Ç€ŠÔÜ8àC“57šmŠ:Zå1°Ä´ð~Ùåª#ÍbÜÃá Œ½œåÔº71ï•pš£Ä+VˆÛ~MtÛŠáaºïó5º/FÅ<»û@ì]Ñî±NÝzÜ …ðiß,Ü_˜£ªLå®…ˆÌ0W+Ó°ƒ¹Ñ%T·å˜¦–²?1­ÿø´QŠÎÖðkž ‡Âc yé‰m³Žì8Ôß•ŠL€ ðêøì8$¢¡õOíãÕ KþBÊÆM‚¶àdV¼$îK)ë|îñ±÷ö,Hzk¶8¯þí¸¦Ñ=žx¬Ø~6~|ùsÉ Ð=ª|ZÒYX“¯—¥³¾_:7êmÂ!†=ÐËiy`½é±l°Ãïó‰ÈixÇÍ7j ;ú’âPÿŸŒßwˆª±…3dÝþ°™ï[–uxÁÖeíÎMub)§®#p.Wvc²Hñ‡#J„g¨íà:©‹·2Ëm£Ž2•4¸BÅiµKÃ^5ÂWEësûû¨¦·n³âQR+=¡`”«õéÇ5=ãï¤ÐÚÐZ=vDê»:(S@uÿ†£nO'Vi26#7Ãʡޘå¬Öf74ˆ_á’üKf‰´O¡tÁØR»¾QJä>Ò!aÄ#Ó ¼©¤™JµdóøÙ›CtGGš¤‚óC‹ÛÀfKÓОz°cñ™ä ­ÿ@ß=ê™B :ôÛ§ß}¯¹© *ŸÌ5u¸½Œ7™¤»°ùþ*ú«tAÓÞ’_$UÔ}œüq¢C¨ÈiPŽpNyS¸"˜w”¶ût™ë‚Åh í /Lì ³-r—é¤þÄõ+†¯´mýô=›€ú`œ¡½h÷ ÜPæ9~oG°à‰k§>„5·©NU<:‘ Å j¯së³L©Î@åÏDßM`cvr+!*^]çÀ…{§ƒ<Œß§Q²¸xs—üKvO„°Ã†óbŠIF€¶ÅG¸¬éÉ=lÈn²p€*[ãaSky¾dΈ Iü1ü]²*õš°6šÇŒè¼Ì’«;|övùÛwµMí\‘w»J+¸ïàÍ ðê´¾ë‘ Å]©uLa~éTG%ýÉ-´‹: K¶êЪ*EVR¤ÒÙ6€ÑÌëÔˆ8£ mH!l0 *_9ã¸àô ð6ÕºÏ s4ùËDx£2lPËâY2c»5Áë–-:¿U/›¨prI„åZïåòÿ'ªU÷ÕºåKÈmi”y†Ó%ýÒ{Ùi$&ÈÍ1‚ýoé>]ˆn C™ÐˆW¿¤"0f¡RåiPþÑòb¹Åfš¹?ã¡»‡NË«e­ØÊ ~Áp,”˜[ôÜq«}±ÕßÁ™3PœnEŽï3«1¯)EéÜìoÊi6;šÓü¹œ8ÇÙ¸‰Î//Ë÷:H´›f}ج&4)5×à1ÿ ÈD¿ò¤èGÎvŒ ¯A´ÂÒÌû)¹¤Ç­$sŠÞ \ª"KgúKšt=™VG±jÑ» k³èùGž\„^é.šu½Æs?çÆÐÐ…øfê:ûáѾ¥kwg­˜nWW$[ˆÉr^—©JEZ¶€ ´~ãÌ}È ‰¸ú±¥ß<É–|÷±õHÜv6 -gmcÉo;3ÇL7“´Ã#Ÿ7FJfkPàlßõ÷,¼ži˜BNJÓ^2…‰3WY›8÷¼Òþ8:Ã`„T¡œ6Š›MŸ%ä\rŒsb¶»ØÀdôÈB>ù±Žx|‘çßÏAÍŒJ+iÞ4¬ð Ÿâf=©&€u¤Â2r®et"Üá'ênÝ ³–ò&FônóØ½ƒbÁÔ;â‘_K7š*ö®m’â+®V$ 3ߤ,î„¡¾l¸‡!½€×ÀޝEÿyZiñ41).ŒRGxð‹~È‘G‹œ”i§-@·8Àyr’@á.4ª@ÇÿS…±Ž 6i21…&É´-_ƒobÿß8ͨU Ò1h<"Dt%ó¶>Þ•H$ý»&×b>¶ÉL‹¬ºOÌ1w)3,›i€F­‘d»O#—D:L †bÕãZEKš·ïUwç0YÁLæ” T&åœùšˆÿ]X•Ù=ÐØ7Ùž/\¼ôå*Äfñ¿wóK¶Œ]J þ3Í«!¿¹˜™#û,óÒ½¡È*uW„û íßþ, Ø×EGV[r©qº Ð)¥«@1G£|õˆd;W[Ô-¸LN ,d‡Y„<í5„Ü®#u4;'¢ï îSÞOÔý~ ÃC7CÑx‘´»­»v 6©e½‹»ê ˜]™'"úW? a®}Ò¿´õ¾¼ äWÄͱÔÚÞÙ×€Šý—8Ä êêôÂûyNï?!–qâ×ÛæŸv¡™­l|òÛ¿'If·Ó; ÔBù½‹LŠq1M¼¡¡n×f¶(§#ëpgG?'uæ£?•ZÆÜl'û;[žïb/s²_¡,EßxBüÚÐÿpw$ÅbldìH¹Å®ÄI³Xöœx¦Vç1]‹ÌˆÃ‡ãÎP üAÂå‡L‹.>:ܘÍKš‰Æ[ciZ„úƒŠÓÍë06ÍGãìÕœR\ßïèˆq¿ú™ì1rÖ‘/hÿ3|õ>„ËGQŸ) dÝyӞÎ1Aøý_ùéì2Ykñܧ4ëPêkcŠ×ÁØÞHíJ‘J÷µ¦m ‚-ïÄûÝ!~ê.1ñÌ~&ˆ(ÅaúoPçâá=Ën±ïë‰_eoF(I+KÉd”Ì4€gFðßÀ‚úR»ª6šÒ.”öëMΟ\I/]— §âc¼¹D1ͧ§bçnÿ œæý½ÌÛ}à•VÇ[KDãÉ “,µäçÖ:V…u(úVBç¾s8SS°ðíZ-‡FT<ë16õy©Fi‡ycù ó¥»çíUïüFV‰ùøIæM¦lSýü:¯âÊÕot|ÕŸ8›«œ¶ÉF5ÖˆB¦QŽAŸpwQ¡ðkôŠÛŠ-Ì©ÍÍ´ŠªMh®–• &GI•ô|>BŠ®ÑÀ˜îdw½^7êTëã:Æ红íöf(XÚ4å†B•º$ú8¢ÙDï²]FÌ2 CìÜÛ1CjS7Û$¸»‚™/8"õñrÔÃò cŒ™×ùî96.¬À< ‚WÖg »YEÔ®VHáß‚”%µ«Ö|éÐâάNƒÁjòm]…¢,özcXò3s'’Ú7k»+IðšL,ô ŽÜçYmEc×-=Ç¢À‚=…RySs†@lgý”ÜñïæàѯíIª•$”¶¼YŒ_BêêHúül+ÃidW×¿Ú ¤µ.JM®ªhÔC÷×F¹ÆR•Ö Ìhm@Á˜åé°iµo÷Ø<•Q^0ѤdþÀ¢Hk]ˆiÙz:Ä''‚†ÆE˜{ÎO£ &öZ*ûúž$çE³›Íi¾ìÿÞõÙm…†šî.\K•ç¦7îCXÏÍ6n5’ ‹lŒ ý¦?‰3ߪQ¹¶û§ëƒ»ÄžEÍÌËqOÖX%µ¯—Æ©5ƒo°•§K:6 –ë œ“I­†y— ãme‰_$“drgKò^Íî!¶V÷únÅÔðŠ[tñ ©TÄׄ–”ÌdH@Ò„òm9?]ÕÍÞ›“?•¡^ÛÎ`1 ÓU€®™ªEkÓ ©)yáÊrÆÂY„åR:buã¬Y®úÏ™ÓIüŒ i’$Û+M}îɪ€1é}(Dyè·óWE™(d¤?8k{‚#ŽÃÍc`ãÙEñ'“¦ §AH¶¸@w—öó~;?:! Äü‡FÙ*áÊ¢Ü$zé`ºðîïE8õÁêmv;mgý[n¾ß5¾ÖRH<@ž7\†¬^ÂüZY\„+ÿSs˜¬D)ît¢›×Áè3’§ö^K-JÐ1øäpQÞÆçxŒ÷W(ò¼7¤Qä'ZMš=XUEœ<Ÿ¨kï+{&×YX´|~9›ô;ØEãdž޶àR 瑘È2ˆ©Hû|²µx:Ó Î:e{¶™éÙäÏ™6é½| ¯{£ñmr™fšªªôÅÂ÷c鬺6ÔeÀMfï•pT¹ÑbáÊõÈa0„3œ endstream endobj 282 0 obj << /Length1 725 /Length2 937 /Length3 0 /Length 1497 /Filter /FlateDecode >> stream xÚmR{4”y¦%)Õ!ÕþÄ”KÆ Š\’æ"-3d4…ʘùf|ß7}óÍšr+§Db+’²i•léB[*­]%¡rI.•6I’ý˜èì9{~ÿ¼ïó>ïyŸ÷ù½dŠàÜH)D³¦Q¨NÀÅåÒl©T@¥ØéÉt âã0Š0ø8äxøAR@³…¦CtT‰ÁâP˜ ,ÆA°AÂÂá06 T B‹B¡X­É)˜|…hòƒ €‡B@K @çølòd{s¶?ð€ãK€&œÆË>|X}AZ&. оçÞ|ƒ• J;êØ›ˆ6g­Yƒ*wXÛRmµÝ * ÙÙÓ€£íÊÿ‘+c„à㦻LäãÇAJH Óø8ïK/NÈßÅÁB5C{O[^þòÒ×K¯éå¢àùuÚKDKŸ9nË~sÞH•Ýň4/¯ÌÙ/ï=Y_àÜá’™ÞrµrænqüÙô ŸHRã7•·a)y$˜lª?·»…S ë¸ÜðÅÁK…ƒÎèþªÇg>2lî KŽÿytA@yv¯ Go(€·ª50#Ψó쾬‰µ½…˦è1}:kñŸ¤ÒüËÅùþ½º+â³}·‘'¿¤NZäâYc7pOüL®Ù4?³ödÐó—6#‡˜tUí¯½9RYÚ|búÛ+ƒ¬¸ÀÃÈÏ Ìoø(žft¸ÝZá—®¯å»Uã¤e¨Æ³“-%ÚNû‚ÏEk•±ç8Kchgz?rS%šÍÊc°ísÛÎÉ÷‡žu Sf¯nZذ¢Öˆ!WíÙ×ë`ë*èiëÏ…^˜pu³ÞW}\ß1ðúz×zåÙûá+íþùƦµÈÞM‹–{Íd=€œLsM¿¸7A”ó8(4±ñ6¼‘rOë”þ§žWçÊsÜŽ²úºýáöÏRk]—y•rÑæÈ†º—}ÆS[ÜûU}œøô›¥‰1U /’³C£ë‘£ÃùW-_4>Tj*ª;ìÇŽ7£7¶dŽèvÒ˜½<”ž0C4·ýNwZiVaêΈ.ªÕºùZ_ì7Vrô#SæÔh›ðtýó²õÚRÛû††úóÅ,ì|7Ó ænlô±œFë2÷ÍUˆ¶Æ¦¯$MzõÈ.W¾¬_Éz{éÚÍÊ'JÕF‡©ÚŸ–Ø2â¢TKçÏ ÙÖ3|#B/]ø¥ÞÞéRê&y±9ÞÞZA¶˜[ícњ⸅·KŸÄ1µqi»fà•~×:ÕÊ÷é=’kÆv¯Ø6ݬs-éý€³èjg”U/ÒõaŒñ‰”íÖªõÚïÌj[1¶4Õg•íþ‘#½Š endstream endobj 284 0 obj << /Length1 1144 /Length2 1775 /Length3 0 /Length 2500 /Filter /FlateDecode >> stream xÚuS{¨’}⥣°Åu|uɤ¿Ž­c» í`£ù¥›ä½4—©©çGK>tVâñIW——=ƒ¦>'“ö_Ž÷)èég»NÜ/>­G;[ž©²nx¶Ì¶)Þ‚YâwD'm³Ìž]j6o “ÜÚP‘«äö!Rþ¢ÙöÍï£ CŽÙÛˆ¾z3O—>²l÷qŒúÑÍ䨮À1)]yCJ#´Ø‚¹AwRŽ5¸ji—dGVRŽâášÛw1läRzGåo›”ÉÉ¥J ¶%,+ßg¯v2¹ª°s&¶ñ"u~Ѱ}§tò`²íûaÓv{A£ƒ?Á±¾\ä­`T«5ún…Hw5§µzƒ%Z* #ʸVkž§t©¦b@B]ËógÖ\µ>`œ¿ïröpâÈ,ñÉEó:áâ„a®\‚ìóšÕ_®½YËèHS,}V$œh’ç‡ì¬³Õ!Ž}ÈÄÄd!úþsƒ  ËÖ¤UsÆïɧ5úù’­ÖÔÛ4¥ù oëÚ: ü÷$úWÈl«jSÔN}Ôñ«OôhiŸ§]¸:ëèŸ^E{/ê.7±Ò—O ’4Ómñóøýõ{ãåŸB=ô‚ÛñbeOïåf>ðŠh!~#¡SDþï½DM¡T g>‹ÄRe„w²kjÇCyJuLh¾Ë[A'¬]Ì™™é:] -jKЯ0«›Òú¸ØŸÐw³Ô–w=ý²Ö˜rpAFìÝʽybÁ{ª/®“Ÿ¤±¬]ÃÚûó¦k3‹q½O¬KW{mß[0ø2£;7#¦×RÂ}Û*™ßùöâãâu:ê)GJº$¯•I™âÞœ?ýü‰ö•b&>JÚàN]…Þµó0n™ÍÖ&_·ê%Œ¥¿?ÌSÓ¨úå3ãÌç[Ú6Ìn¾umQ¾ÿL™Pgq^|éÕÑž·¤å¥~ËI«’²ÿQ93N [¾ìužw=‹3q›¨ h „ud $üµEcÇe±Œäž”&«T{ñЈ¸SÝñ‰ÁV·ßXæÒ¸ì±¡¢ûMÑúƣ΅ۘ¿ë5ÏÛ¿ê¼Íe‡¿½ÂIÃÕ1AJÛ:{múy^¸ßð%'D²Ñ9!ì𧇂|wߥ$ù­L¶ õ¶Ç)ÖÎZf½ÈJáógmXQÆ#5ÔÏw[/ÏÒ¬Ú|Œ-·é°**îµïûâŽ|£¥ÇìŽ+>›ÚٌΡêN¯Ø¡²æ‚ô¨¡Z"¯gù+­Ñ)ÍK·Î¸d«S¯)ÙåýuD$-}ð½x¥\Ñexí^êdÓ±ž—L¥#– '®\€•£rmgTµŽ¾?!?=£›n-&öàÙÙž)gûÄ%W0ý. úxÍC-ê³fù¿6Žé´u~\\®š~­1Øv±__…Sç ®K=t%ÛíqÁ8%έ|öÓ ñƒA÷p1->6šÙ§¬Ô¥­êïë?³ôö݉š Ö¬ú¶•€E꟫¸-Ÿm?8ä|øÃ}ב L]ØlúKÜUñÛÌß%78ÕÒÐ)yÌLÄ~‹6Vs0m ÃÒó…œòèë¬Ø•ÖÊ®]÷ÒJ2Þ>úÁ"ÌtÀ}`²EoÏQ£¸R\§±*ñ†Ým4‰ô­·„i娵ò<òSƒÛåfÞ/åwñuskedk×?³CŸ+½Ø8»”ÁÑž=½:º ¦ËÍ1ÑÅí‘´fe¦oùˆ¤ÌibEl–Bm_ã}Mª ½¦U¶z‹X«ïàq¯Ž•)M½þSh&p4Sázñ‰)øòÇCG­º:`1GUÙ4o0ð_‹ùÞ  endstream endobj 286 0 obj << /Length1 1626 /Length2 13599 /Length3 0 /Length 14441 /Filter /FlateDecode >> stream xÚ­xeT\í’.‚÷¡qww îîÞ84îÁÝÝÝ݃www·@p·Ë÷™9³Îûgîù±×ÚoéSõÔ[«{“Ê+Ñ ƒ ¢ GZF:.€¬¹µ¡“ƒ"ÈZÄ)M+46|ÈYáHI…íŽæ G @ h ˜˜Œœœœp¤a­›½¹©™#€BEQ’ššæŸ’¿L†nÿ©ùðt07µ}¼8­@¶Ö@ÇÿkG% àh˜˜[Ârò²b 1Y€Ðho`w2´27H›m€”=Àê€ÈÆØü¯Òè>b : ¶@#ó7 «Ðö/ Àhomîàðñ0w˜ÚØ8~ôÀ0·1²r2þ À‡Üô7 [{Ї…õ‡î#˜<ÈÁÑÁÈÞÜÖð‘U^Dô8Í ÿÊí`þ¡€L>,AFN•ô·î#̇ÖÑÀÜÆàtuü+—!`lî`keàö‘û#˜­½ùß0œÌmLÿ‰€`45°7¶:8|„ùˆýWwþY'à¿Uo`kkåö·7èo«ÿÂ`îè´2¡ƒcdúÈiäø‘ÛÔÜŽþ¯Y‘°1þ!7v²ýO3ÐþïQü53” ŒA6Vnc  ½,Èñ#%€âÇ2Ý¿äÅÿ‚ÿ-ôþÿ‘û¯ý·Küÿ{Ÿÿ5´¨“••¬õÇücÇ>–Œ àcϤ-'ëÿËÅÀÚÜÊíÿåô¯ÖjÀ Yÿ«NÂÑà£%‚6¦´0Ð1üChî jî 4–7w42˜X}ôëo¹Š1ÐÞÊÜøÁëß-Ð220ü‹NÙÌÜÈÒæ/Xÿ¡Úÿ+üªþO¯©ð]NRúX®Ê £²›í¶ÿ(Edü_‡¿Â \´ŒlZfÆ»÷ˆ“áÇÿòï@Œÿ<Ë8Ú›»´>êf`ü»úÿxþyÒù—0ßmŒ@Æ’£ñǤý—à/µ‘“½ýÁ_þªÿóü÷Ì®@#¸åw€EJzªc VöÀ˜ˆVO#Ä@ mq½rAžO¨Ó;%d‹³\ÿ¥:®a‚ë­ÅmþÄöuO’j¨ ÓŠ¼3 ø'ï1ewÊ:Ù/vê}?zÝb„ÔßjçsÒ›šl ªûÛc ŠºE/Pø¿˜íaÎï)}ˆó|ÐIîl½Œ’ë¢1ÚÀPkòO~“ÅÝß‘÷ ôw^~îÞåΊ†%å6ÀòJ&°ôó“JL×}äOGÈàáƒ;¸)vVúšÏ’Ì5Í¡¦]h¡Ç`´%R®,1Ãî¼L¬‰“¾µ†^¬²/|†iûáÀö›îãO\BAœgiîK¾CH†P+…êe<0—‘ß~-:a“{§dqIçp®¸S\l ¦@ä B ÜpÇÆQ«GUnra Þå¿ldsÑVM­XÀºÁaM˜¯, §îo$©ß˜VЮ¿óâ¾/úãÐ>~›+œ–¦>#xE–3ùéÝ2<çÅ/!(ØŽRq𮲴8`Pãuí¤š ¦8vcõ®cf}Ú6'ËLNÉ9KN9þ6G×!VGåø,Ã"g¾€š˜s¸ªìçæëěގ×/æˆ[l75³Ñ gƒŸvz`Iׯ-ÐìÉæ-@zÓPaæã„Öî Ó™ª|F‡§>=ñ3–Z`FQÀÃ\œY÷ Vw=&Åjê}ZGÜ­©¯ÆŸ;ÆböNÔXä+w$]¹ª„ž¾öŒJâ-ÔÓ]·ÿ*G´cL¦ÃÉ/“/°=6c|Ës6GÏ›w`:ošQ7±?=3bª7MØÅà}F·ÊéE úùëÒ/ÃͨõÞL:‡èm“+F¬ÓŠnêo~^®ÿa¢Uúz?ÒJzf1ªôÄ \ч2¬Gv¡váTËéÁšÂhuEŠÍZê 4ˆ¡ÔÇO:+av‰³Àå姪±¿_ùJ"ÐÜ)¤´Bìe[ìÝAx+Ìé¦Ç|¦ã³›ü d³žá§!^¨ÅüªõT±ÿú¾ÛƒÝ©‹¹Y`ü#–Vÿz‚GG5™â=ÙÌQr¢x_Ê×½äsáú¹#üõ6¸ÄpO~¯öç¯jW± °–.bSÓFj šn³ú–H°ÃÏ€?ˆY>;L=ë<2r¶gF£tFØË>ÓaïØÞ(–RŠõq{(NoK‹lDa/^á¥BÆ­µ52#0¿äû`¾i壟ŠlÃYÁĸ uÛáÕr³HeáÌÌÐ!S°Ëá¥l@÷™U7¿ìºÃÍ¿R7›è”)u\"­ÓHר •Àσzuk=©Y.«é¨å/†¾NB ¹”BÔ-!3H‚–*3·' y¿Jî‚¥ý…í`øÜa8Sà9P”îT%b9Ê“ËoÕ|ÚÆc…¸Vk#%e56¿bã+_^[øÉÞ½ðæ-(8ˆé— :ÿœ ¯Y9µÂ!ÃåüRCÓ¿7”5·Ü°<Ž^/x)™U ¬ÕĆŒ5[ä¨Â|]>1Q6+]2;Ðé«÷øh\'šòž«&‘ù²üÖÛ:˜« Xf B}¡¹S‹;v½åË-1ưG1½±\`‘r]Ì tһŮ˜ÁÛþMˆyœ*íF@ø2 vÊ:ÁŸ`ýÃGûxUQ‚Þëäì“:¥í&‹6ûuÇ›¤ï{tšäª`;Ó< fÎà@ÃîÐdÊt3ýTš&Z;²Qd€Ý¹pt m!eò×z¢Éð¯žMmÿ¢¢4ªvP¿ûUüÈÆt°ž¿‡9@ú®HÍð<+êÈ1ÔË‚uÈ ÖïÊ Ô¥0lÃð^µJR«w'7«ƒ’£½MRpĬoŒüZÔ±´úÃ&“Ä€ZŠ ×à¡á¤= xéPÑ9)â”Ó6†¥h÷}v©`_8Íð€a*œv=ÛTC‚¹©sZ^ñÊñµ2'yèPmëìŒyÀÔt÷à!!Qÿs{Ð+Œ =Ý/‚  ](²f¸>,µKFÓKôX–è7‚|ϳüt^JŠÏFú2c =Ö¼Ú'Zݦ·6WΓóŸÛ”ªD”š·>?Kj]zDß‘¼ÀX å°Ï~’EFÆpnÈ8¼œ!æÐ‘é™ïÇŸ<¢Àe'JJÚg!gŠ.b¸œp-µ»©HŸ®Öæµ±šOa)QúµlïÉ’>§ÐGðýN»¡S¬kN4c÷Œ9|e›¹jµXu&+Ø<3óR¸@|,¼-a몧 .»à™}$ØCÛŸJdÇ”>ç;pc£Ó“ÈF¸*ëLy­×»¡¹—H}xæyÓM‹±¤—¤Nd?.ùP°ê"Ê> žg!E-Ëjk*#ùÒ÷.ÕåÈס2þ]@[ ÑnÞXëa\óôF+ë8÷\^”6PĪÿ3Ú”ÚÆQ:/Þ0š@`Ý’_~»3½6iºÏ\Bóóï&¸lÿS(¸E«ÔÚ°ê/5¼v³>˜`ÕDc¬‡¼0"•·sÂde¦ÒZI…Xäø"b°šH㚎vAP‚b+î'7öXB;¬M®õ¶àõ|Ó˜öœ”ýVùƈnò“\}?b>£®Ç¥P€Í§JÞ[NY ¦W ΓÛÇÖڞ˄’¿Uûž}ÊXß”à;i9Žâ‚s—bŽÆm®Iתí´\ÜÀ"±&g?™Gv8òʘ–gxÒ¤t¹e•ÒÔØWi,6JÎ!"†GâƒK ×͇Qk­C»à›Ä^}ó0Ò+#µ{e‘žð⟠Xâ¡AürVÚÔÛ[v)mÇoÏ4e¹h^«Ë@fÿÂŽ?Ï›ÃZ¨gs8ÓYáå‹Í?.”u/å¥ý°P…ùIÁm¬â6ÎU+Òn#SÔ0'>+MDVûí†>¡¹p[.™[´‡ZÄ-}Ý÷—ÐæÓW|²Õ}]< "Ø.o-4íZÂW.ßv"eŒêïNƒ FY¥MGntYX²sæÐ·ú F[Ëûo5¯_†›/$‹+V?Käñô‘+|F˜T>P4Õu¶À­gJ @@0ømÈ$莫ë{“0^‡k•l`ü„ÄDÓX·‚ˆ‹fõÈ;[ý’†à}'ϱðÍΨ±xï&C5Sýý†voÅì3#ڜИºÜÂI,ï=ææld¤É=”yz ÂóycŒ;ök£Í£ÇvnwDÄ㱆AÕºW®FáÍMîÀåŃsûõÈ…\„šGñ]b4×p•˜SÇcØy/úŽGKe€oÝo^Àò­¸Õ‹8ŠòjVRÅ$~wŽ®åÍtÕ‚e’žVŸÜÄ\Ð'YÑÙÚçÐÕÖ>±\!õ"IåÀîAnÓF×ï½²dÍ)ÀµÐÊéxGËG8Z¨ý'õ«¼–{¦75[cÀ|L¿T”u VëUyX8æ~e•ع 5½ Ñb¡HÇ$,øMOèþ«——!ŠôÂh¹BÇFhçI©ZY;|;SƒÁÓ›fl­ši<™ëútÙuµ‘}ËÀ™/éª7°åQ8wHTÙb±Y98$Àñ É@æJ èpVp‡U4wMåÇy€ÉŠ\-ÕYj:)ïÈiì¼ t@ÈûÂÚb'd¤µ«œp=Á&®cüšÊOa2ŽBw[vhW½»‰oÄ; ûÔ¹Õ4]¤ðœáR©¹0È ˆZ…dÒovC-PšÂûºD{ßÊE— nœÃÌÉŠŒFãyÝ4×õcµ¿ äöÍTú(£¥ëµª­`,éNä=7›Éõá®Ë‹6¿Ö¸ò˜)ïNœ9« lEý,5É|p.?d€P’<©¤B/çÇÍçc©Ri$‘€µE|ÇMlàAÍw¼(ŠK—K¼)JÒ[îAOzŒW¡^á2냊ñ†³?‘c3vM±dXÙ7ýëÌ$¶yѯL"ö`GÁª\òE¸ãÙ@ÛÛ7ޏ£˜ÈìÃÅ›R5pEL@iè£O.`š¾þ'‚„ù'ÈA~ž©õɲ»£e‰^ÜÑh¹úc -ÞÕ€ŒiIÊuã7 {Ú¼“3¢6컎˜á\ïéÜÕ \ŸuÈ›=äIkÂ’€¥Xöø8Ž w«i FZøŒ»Vpm‚¯X)Û±€£¡†ÏçKÈn°ˆvæVÒUV ÈBòøòæLpyA˲î*Øw ܨÃý¼þ†ÈˆºÒàìX¹[üm¹­/5NO§„±Prw–>AnK‚¡»[ä)Œ»{.9hak{Ijc½®XYÀ …kTÄÕº™3°3ø´Ó(æX¹ 襜¡]ÎZÀUÛýƒz —ûÞF&˜=J4þ^ï¢P®—©çe¦-r[]×…dUwv–-gsþ«c’é!hhI]-!Á¾p܆K"ÄžÐ|ŠMœì;›·—;j%Dm™]Ê츲 ï…Üo22þŒ¢†IF*?¿ £ïh£uØ[Û¡¡µ ­BXùÚlÕ\½b}{P1hJ†Y+Zaåò*¥) æ "z WÝ1ùa1Ì*•/B·¬0\HXÙÚ¶þÆ“5X€Æ·äøBL®É“Õ¯Ù“[§8Ð ^ mâ–Ô°tÛñÅìÓÆ UžíOM6]të€íŽg߇ù¥?¿¡u­¹A`ÖžšØҴïtÚ­éÊ Ï÷‘ªÊ"øl0Ó«lÜÛíÎÂ,r@!5ùßZÞæáD*ÄØÝ„Ñ¬ ü½9)²á•\ i »B¸Jê¿G|SI!oFæ’Ó;ÀD‡ùÊúˆð¦ñ=U°¡^³è–4¹´¯LßU»J·JÑ!¥'äQ×§£Ø³\ Uú|ÛìPÍø”Hb—ócFü%V]+øy…)6b±ÙœÔ:7®Š*ýEhìÕoûlž$ŸžP¥‹R!¬ ­¬`¤­c€¼âœ×Áij<$Ÿå2ñi2Úè‘”a­êö‹h‡Ê¶°ú¼‚ (Š_e£ös¸$б? é íª˜«ß +(ps±oMâ²VUìw $iXrݧ¡UÞÓ“úVi_r§3&ÚTâ-œ´3G º[¼¸\.ÞMZYOœðnŠxKúz]Âůí2ŸW-í˜?oÌÅ­ÊÚ£·n­™¶ Ó‰Á Ïò9_£ •|Å2Ú#ô¨‡'cÈŸÏG"3¹>)¾d®Et ¶EÌ.xcý]ë!él•a:¬©&›ÖŽ•ÐÓÜ«]Ëm ðwQÛ§v£DÀµ-J qwŽW2‘(è}4¤ú–ÿŠiÞ[;!¶¿»S°e6…)=h¥÷B“ÁdïÎmiÉ£ÊR@Y=ó“8T jÝú}¡`ƒî±{c¦»u}§–Ý )öŽƒóhç»v¾gÒYH›i÷i1 (vF0‹Y:ùx%|5ÇèjŒÿëqà«úDÍP·Ì.4¸&œ×[bëé*¿ÑÂÓpA0ØÛéoœÛÒWE r#ñmo1õ@%¿XˆÇÉPŸw‘ý©H/œ”4õ.“j%åqlF‘r§¼Ñ%–„t¸oœö©½—-æl»f;{%¬|}KÅA¡`„)ôVðqóV¾jfÔŸœàæÄ†-ó¯#ŠùÉûQËucù"/…èÎ/t•7²¶Ö[¬³ šÎXdÁO5¡)llj‡cÖ·R¯¬»*9@¥¡•—>ö±Þ†U„eNBz-SÄí¾;Òin—wOHVº6yï,#Ùr¶õQãpV3Ÿ"±[FÀÍ)u¦Wìû&/7üWøJ!KÓùX0­ðÓ„„&Ž[ e¥Ò£Òhú*Û§HzUK‘þúÛµW®ôךׇÎç»cVýî¸ïÆÑ·ŠÊŠÏ‹ÉKÛôömàV¾_xFvfallML† Bb¾L=ÜΩ‚ ÈÜ2Iuç÷»Áƒé=m—…9ôWït`²IÛ~éÕ"?°ôøÜ8½©ŠˆF„¿Á¢Þ˜dÜ^°+hÏ£ÓÏ_Âå{ÝÝžIOÇ c¥6ܾՎGîÓÁOPl 3YÏ>¨gWÀ=Ôjúìp#n…ËmÎÖº«t§óøBmo[Ÿ!ë%ï}(öbcàb¶:‰¼DŸÙàÃoÐ;ëµÂzµÓÁÝfUx8!&g8’Z:¦bH탄ˆ+ ¿+âgh¹¬Ëì¹U^¬0d€€|áZÁ Jç¿K? xt¿¢¤þs%çÁ×»+}Ç`:š£ ù¥D9Ôœ8à^¸ÃòkÞWç5=ËŸ™èHXTµdíÌ‘îLA5ZØ¡`\ñMEPéÎñÏâ,ß-líÖ1®(á8´«W<„„ð¼ƒj‡ÞWƒš4‡vi Øcp\:•|¥¬Îbx:—±Æ`Á8ñ‹W y¿ÁÑ?OýËY¸,v héÎ¥ølOy™ÆÍ¡TÉK€À«0…K)UnНdúeý§ådÞżã0ãÂq`ÌBˆÇŽE.ýò£?C|Ñr ¡<3ÿjfãÝ*D¸ûû—#Í40/R[ð V^%ÅÞ¾ÉwÈìÍ;L.æÙÃÛ¥þær8ßAWÌÝŸÞqë÷ ´°1W›Aà|£ÙlYL…m?˜VÏF/ê#­ËP,rü&ô#oSN°F}ÁºùB›Àæ&PL9+ù™‰Ûüäcð\¶sÎv¦ÑZ&JèyœózðЏ^Ì’…ªø )ó7áz_ûÝ,…ym|ÆQ•H–R.Cà«Ï( çÏ\vÉlPNÆGRmù kÉ)ã~“ªˆ-xtëŸAq‡ñýF=oò”ò: nXÄ´,‡F(GÄ„4ŽóB“â6L¯ç„P„/`òm‚Êv6íõë9k@Û³ ®r™··‰Ø¶åÊ̪ôãLÝ_?õ¤E?GBÌ,«øBÿÜ/ÂZ„ß»­É‹#3Ölá9Þgôƒf—·#í °izÄ,+ V:W§cЫééÍÑ¥Âlÿ é äÈ>•b ÇA¾þ=²™_ºg%l}šsIýÄ„9í/’/FGÓìøª“ó,cÈý,+¤ò´Ï¡qþ "rö"u&ÎRÏ£z À7†:`êÛ±H0TèQ ‡•z~ôS¥,œŽjÖ=_öèܨÀp`9#d'cB „NÂÝbð2 G¡¬âaùÃed‰=¦Ìôgêt´d?–Ú¶’É÷+ç#7m+ËÏk“ft!q‡ ‘ØŒOé÷ÎAëABè` ™j¾+·¾Ž( ‚ã ?@ø˜¹¨‹V¤K”Äù»l>o6þ3X¹»ð¥V"ÓÐþÒË IĽ\Hn–â ¶ËB¶ú]ºL©C®9|Cœî2@½Ü>E6®SEíµ+“ÃóHáêEĹ~‚f±Øw—diþØ´,+ÝY®!Çç/gÝUÌì3?|Çs¡kë&yS©q‘«]œÄõš_tŽÜà×Inæ‚d²®pé×XÚšÏþ倊¸?¿ˆ C,ÛKŸÌÎP4Þ0f¢xEÛŸ’'¿#®úKôÃôãW´{X Ó_²¡øJ‹l®vÛÝX× m¢ÙO2œ†ú‹ååºW5›QôU²…ãROAId„‹BoÏìê=Š{ÎÜR|ÿü]°‰±,|#S¹¦eØügÔÊ¡ ÝãL4ÈòTÿ4°H\ b3UA3ý~²uÈðñ[4µ–jvº¾¯#b>'¿±g’ò ü`Ël#\ZÇÀå{¢v¶zÝŸ$y";px¸¡{ªÚèÉE ø«Qs¹àõ©D q@2Òh›†7}FbºyBã¿K¼ÉÙ5 rœŽ¾v«c£¦m2aÂ_Ø&Km~Ó-IÅ è’éó¤s±At?36?­›Æ'OoG<÷ƒ{’|P#f~ri~Eô?¾KJp¢ÅÓ”ƒ_ÌJ×[âÑ×·+¥ Ã{ФC¬ÞéŽM\HÓáä1#­Në­—kïöQJ?Ômó.þXØÚ÷†sm¬Õ`e_¢2ówãòV&ÿšø‘/pÙë§É––ÿ‹ì„_äPŠóÕ"éXË•gÓÀ¼ÙG®v¥È›÷SOÃ|«Ãò’>ýìö ’¹¢5‡þèÙšúýœÿÈò¶ñJ—ÊŒé+‹Â6Çngïr°æhcÒ¹¬¥¾¥Ðª˜~O~×»IBÏNÏ>T°Ä)¹ÎÒ¥iÛV1±Ì%‹JT{¤‰5Uü³c 3¥Nq.](O{\ of ï×ÝçtÍ'žûcYœ¥bÙŽ.sr`S³Å»0¨ºø5DÀ(ÌM’í·‹n ª_ÝÐ-Ï×aV‡íP¤pdð˜‹2ÌVA‚’&[ñ.e`³ß¥¸ÃÙÇ4]Ñvî·J­m1¯ØÉ!ÕC‰8­³uÛÖúÏjÒd̽ÚW„ŸJ`½„ÒÝ¢Œ±‡¹%Ϲ„ÔðQ£§NÞ[T~;µG„c4ÆÊ‰°¬+'òàämM€;Áš&Ʋ€)6KÆu˜ú¿I£D$ܧ­R j÷ÇW%éO%#ûej=¿mZJ}›68Í‘Þቊ#ÚÑ/W€]E÷^$À~lhvƒ‰Ò¿‹«/¦{òž®°)øEhe} x ‰´aëÂ;ÍÃÙ9ür“Pêx/µK¥¿¨8§%¦&ËÝ׉iŽNuÇ!ŽÕ@*ùÒZ“2¥„ ¼µGëvÞ'Óêq†¯Ûr$Pš<€žˆ6Ë$Fm3<¡ ¢!™jèoèåñöiáÀ|ìPcÿþhzò&(âº"/¦+‹amÅ.9Ïu1°1ÐèöðÊ\pPug•EÈÕ3(KQ-ÌšR<®cxÂ^v±²•ïöîlow_Ùzf ±Vh!ç‘«éņNѶF%½¢úe‡êä5mšrJI#2© Cð Y;¾!R•z˜5ví)ó7é`JLëÈÄÆ7nc1Là!œ²ˆÓx*Àšø6Ù%K¥¿:0ð È™ò ¢že ²âûI¡P9Ë54™Kí·Â,Œ †~¹!ïiwSï)»úœVˆ¿è¦ÚÇü9Ë?ù3öNÌS˜mÞnù£˜Uc*¥“œù§1|žß ËËŽLÃ~˜ºK4ßg@*Ý|ŒŠ•‹Ë>¦.„ð¸P}qäÏ,Z9rrn €#ówˆà(Ë~ºÉ—jyv|+‚ÓŸÊŒæ-!’xåÝ® V3øÅnÞ”š}yOáZë€÷ñè:»ô¡#ð¯-Ý~{Yk/Jî.²Ñ6ùíõZ‚ßY•ý˜]š ÁÙJA0w··4¡åêi˜d²PçdðjiHȼ_M_:ãR'é."© n¹³+ RyŽî8‘þ(#ñ2o9Ó˜`õ ãœ^ßåqSS-·S:ú‰=VGEû÷,C:è46ù4n³ žÆÙ«ï»AìíÒR¬!r¥À¶pËˆäø‚õküɽf{[iˆdJz‡«fúwgÎáKžØA^DÄ‘o3pn±k )ÀL²ºØG„‹ôŸØÝuêìf8aGgÜ»IžQš ô©=¿½ˆ}÷+a[9rz˜ÙË5Ÿì—æ:ו”í·¸ÒÉR|FïðÜ&Õæ~,Lò­‰,Êj}^£C)‹Ð*\¥Ÿ18ÏéGÁKÍyEYH„ZÚ5–÷Õt4j Í ?§r|Û7|#åÍøZQõÍÈ„ÂyÿëM뿯áa³V]îéÅ í&ŽÐÌoÇg-CèˆB¡¯¥NîjÉÈ»‘Ò‘îlr„)1$B>nSF?+öë 'Îû+ÚÊÚŽÅÂTéú5¿;Ú èó÷Î&œ¥Ë¨¥·æži‘ÝERýFÎô‘XÑǘšîÇ?fëâãÄEqäm¬tÓü©7µãžôg›Š“³B= ÊDÅ Ü]^¢jPÔãòVæ†nu=(’9 ÓÿÐêÜf£ˆ$º…çÏ;áˆm2ÃÇÛ°uú#âÂY×ÈZ%¢ïçèÃwùž‘ä„ò5EÊ'«|Un —ׯšpÆÕ†È ¢wí¬NÓÆ"£'dz,¿û»È… oUÄn룬„еÛ> ¬h,#ƒ j\Œ©ÐåT¤•X…‘…,l5·"mÞñæúµ¤EöUîör„¾$¬õXoLˆÄò Ñþême‹ñD*RŒ˜§Ì³’Å÷C˜8~Sbޏeù ¤ûTgˆ^8ùç,žë,èokÈð¾Ã·}(ŒG®Ÿ©‡ÎµuŠ_NyjÙÌæ†ü@²äAš¾¶öç×Nc2Ðʰç\<óÍpZ'âþÏÕ";›ºÝÓרã¡falãR±Dª…ñZ–ʯ#C|ò9’n?n}Váä‚V{®ÙÏV°û{Òb,®%Œ –]l|ï~MÄ›rÜ&œnØØ‰Wëɧvi[*Lè%>0 á\$§€mx–2ðŒîâê“Jõº ér/}]%ë9^p¸—~àa0;bH/FÀ'0[˜|U­'c¢y0ÄB¯Æ®ð¹*ZîÊ<¥ã<;A¼Ök pâ>Z„p5)dÂX}A“ GÑãhì„È›§ïóøb<]ªÙkRîªË”߆eF|©zŸìðôä~‹ñûþŽR¶b%Í”NmΛH¹Ï›V·މþb‚¾_ÞÛXÁªyæP+TÇ磫2ÆP2MÀïæòÛtùqçs†:úeÕC1 }|[Fì>›Â:ÛH {ûxa}>Ö&ÑÝFs3lI1Àe2CtÔé|¯xˆÕ3ì:Oãà8Ö+/+³ÆT}޹ÛA•¾± ':¶[ŒÖ^OÙÜ&œ>ZVZòç5ØU2Ø]¯>í¯×ÈÒù¬~Ô‡Cu-aYÄX"gHpy”Dç'½Ô&ý[£„Ç¥ ówN´²†ÁTOJøöìT“¡–TÌ/àŸ\‹ôùöGâ*—ÍWͧ®:fñËvј‘‡¾Ÿô³z0c0ÝtY—<”ÏAX5??=—ÑÌÚnZê.À\y£Pªödž'ÃìLbãõ ȸ£çäèL±ÐZX_ïxº“ÌEÏë´ƒ…ƒ\+HÆÕâ© †W‘0”¹Çî“ï¸ç ªdNxŒ Òל$È£Ûñ¸Ò‹N<ù,É%ïû‰È­àö°ûcàg«Ù»@N­59[¾jÃÔÕk¸4ºtšöh!˜Qb\¬i_Àá86ñ5·½‘oLYçÉ-˜±J,QêÌñ¾yy΀à‚Â?·&:È ”§zºf„Ûð®ªP…ISwrž±uýuÇž»/¶‰‡™E;]ŸT1RúS@eÅu%º¶Uð+@𬳛ÜÁtS“Í?D ¸ã¦‡i…*òçËàe ,óƒ|+Öõ¨E#4hî«DŽæ’›ƒÌ~ô.Úk%ÿZ3Gq—‚v­áùÔÛ÷5ðÓ²j×—=!ú$!qb¨Ó&°W¦ßóbø;ŽMâ—ä6zcp°{Q="°—#ûÈRYô?¾Ãù,e0ÂA›€†M RŒíÛ²B¡¢åg¤+5ÊWjä-ƒH¢ýš‹»,×T^r[õQôZ"Ýi‹A5K ZÜÄìü7ò nµâ4ÓÔQ¡Y󟫳æÑM#Ѫ—.qe…kû8@Ó.Ž@¬~ËeDô/¿ywÁ k* JY^Tk3 ¨w¡bàÉÅcuiWðMIÝW¾ÖòMòffT±!qJTš3ËÓ4 OÌÄhI¾]f›zûa%×<¸ ÞeªÈ$]& -õÙzP^¿¹JXë;ÿ“‹ø¥;~}¦üœXÄycÒ€Ê&CÐv2¼ì‰¡´³ùˆ÷5£¨)ÊV>xR6àâ`þŠfJßQq¤<”oÙÓÔœhøLÞÃD-×ðÙ10‰Ö—“æ d}a—ÚUnœº'Gó¢Ì½ ¨]·™Ê,?àN&ïÿÔ4ŸòzùT,Pá!ø)íQfxÑ*H#ÓYÜ:Rà†vøÛ ªmYÆô2©²ÝèHú©2˜°U8•Ä»v ÿ3øX•?ìñ;újþקج9(ï‰ZhÂFÌyê´TUî»Î/eˆôBhH,ÃNWë­8I!x‰]:AÊ‚&a;{^“Ð8K;á„–h&è­Ö¶Ê>gxãyuùˆh3n¨RÔCˆ×ÀĦÈQ,õ%in²*Ý\¥Ü%íýå^±å$}‰J¬¾¬%ÕÀMcà„ûª:²5iɳžVeüé²Ç Pá÷Õæ—žZ´ÛaÝ/ú®â¿N?Cì¹ÞVT ǸÞ\¡r½ú;{…édÕ3B±]ÕŸþ‚}s_hîqÙub{ô„h‡¡ü9ÕçR[ ˆÕTq:ûNbhÉ?ÉýI;GmÅ²Ë FTŸ¸^ÂÅè¼ò¯ÓÚ:v¢˜Kú…¼ÑEî Zt?4w‚§EáÉ–²´,Iƒà#\Œè¯ÐàÏbä¶t–©F[,h³¸Øícw¨jh_Åà Æ}‹ñÆâNFµc½Ru7_”;Jok´-K)›nñÇk­¡b9Î ÏK2D´€ô×¼ðªSñ…Ç#Çßp‡zgÐÁpv4åôÑü$.ƶj/™*²dÒ¥ë’gÝ4ñ;ñ²{°ÐvP_¸¶„ÿT^XêëÕTsueØ‘o>¥u> Ý7TOßôa6ØÜGáü.nß®”j©”G|“¸×$ðV^ÕÃìaú¾­›„arXÁÙª“zÎÃÞå—z+ô‡¦wˆÚÓ/®Ü!ü+§þŸ® _ÕAj„ü†×ÀÞ·5çœÂM>‚KwTéXŽtyF…°Î­7ŽœùÜix<„„a*ï$•¼º*K£—ë4‹Tý¨Î¨¹ï+Ò†ùðs­€ÔóU{qI«ÈÒ²ž.Án,þÔô7” |T4ó°F`ö£½Ó›Ýʶ¥‚ªQÙ‰¾itY9ôVDÆ$ ŒÊB^ÑÏ4ÀÚZpÿÁC³ÒÞ[ÉQ®T§ŠÝH¦õ‰NÍžIÝЧdKЄþ$ý÷L¼ªEèùŠ>'oZ†ÖcªÒLuÓ9sŒIsо®K¨*ýå„ ðOà¡UFòw¨4úœ¼, ´âFx훯(âãõzŽxZÓ'.aòröR§"Zù|CÕÏjUüŒÎ4M& „ô¼Ÿ[ˆ,Öð;ä2Ò1\ôX‘:é_Ò_5ºÔýjº ŠdÕWûºwÖ]܃w-ÛVH,²Å¨—ÛæÞ5i†§Þ9OC4Æ~y7ªÌûóJn‘¶›<ýkºâ£†æ/HˆOmTEvpå)p'nÔPŸqš;õ40¢û ÙZöÒ«M¿åˆsç¬ÕÃi)?S#N¾¦’%ÉĵKJ¼®öˆ°¡:À—ÔþáEFD®?ÍF~N¢¬VEÆ©0jóýÉH»GKÆh¬'®ÛöÀ+Ÿ”|6ÓÉ= Éûõµ¨(ïz­Ö¤Yyo]( JÉê¼gMßx†·jªW/zü¤¾õÞ" He½ïè§âgßZv9‹8Éw÷»ÜÝÓÈöºãE}…ðRkÂí2ÏŸúSNŒ•}Ÿ1ˆï~©¿rEðÑuU¨Úyx½£[kãF;ÚòÕ%)ŽÈ«½ (7çDQ;8`Á#¨Kâ/ÐÿvÄz²Le&k_ƒê©¬õºÊlMõrŒ˜Ä»·âÆÁ?ŒÙc–KËòCÝÉm ¬ù~ú&FÄÐŒ¿&$5!m¹öÃK]3#à ŽÚšÆŸc‘}I©pJrf;N!{ù0iP¡‰ÇþŒž²M-.Ÿíù v–è’¥ x¨¨Î•˜ÜA¢úœ 3ŸvêhVu,I3ÅêîmôÖ‹kí ?y|Û÷Z/F­û©ðïE/ž7[õúÍÓU,Bͽ(¶FÄ•ufÏn"G«1\ä¸<ñ›¢uðw™´–u.õ×k{ȳvìvõ»ŒlléoÑ Ó[<¸ß¼h!]#Üñ ‚A·}Ù«'»ªA<0;(…pçÍ~Ö9út‚FÌ{ç ×zTÚRî×¢é°É@ä4vqÑU…rez@ /,Y0ù)·K"se>R*êš[ñW÷Ó¼I>h_!Ÿlgå€s ð½~a9lLˆ²`·Ú ˆUIB<;ü§¿8Kû\ ƒ3f}Ô(ê,²c°ªßwsÙÑcðʽ¼;Ï-iÎKZ{]Jn¼kSLJë>asÓÀ=Ò_4Áüv üv” *œ,¢’h]á; gC¨"£øD}‹rðR?NÖÑ"e›£Y¡9ð¹ihOq!MÂZ‚mOè+ Ìú¿|²í6”̯²ö8‹ò-–Ó¶?=^ÀÖOÍÛ…ä|–¼—áÌeËn{9EÍœ2߆]÷ñ£MØR¨:uøÁi>—àÆ‘:b>i¤‚¤ŸõÈðÕßE£7Y>÷ª—4e©Lö ^~n÷.}9&yk«RмäšLŽ–n¿O›ŽtÓgÈu×u…U²*¿ Ù)25â×ÌûÈ4ãÐèMúI»Ð ŸCijh •%O¯”³Ó:Y®êëÓÿÔ)fÑV“’É}K!ÏÓx-Cú¥‰$$E½÷xÅx Nõ ÝÜÚRï4ý¤›œÒê‰ñ|{hò¾Ö"œŽJ 与319Uîš>|=L¨ÔçúÑøÌÉ®Q¥>'WµÂÄ6íU"ñGØý»SÚì;™N³6 îþ|‚ǃ+)Çw7bÜC¡ÕVñ¯)8:1ÀHÛmÎUƒÖ†nZ}jö`úÝ·Ȳš§É õ’ò³zã7§˜ið‡íH’97Ò«ùæ{ž°Ì?ÊÑ“ê¶ÕÃɾ-õ·þà.¥®±râÇsîÍSs4­¿zòíìR €ê\Î]¢ñXú¸Y.çââUÝ0³`ªJØcá"&ÚåÐ#²h *«`”Ý—QoUð9+êÑ é õÀ¨ø¬’GÐYrqIå=×"еA{¯÷ÚYvÈøîÎÁS dwN]&»Œ\ƒ¯sŸÅKÃVJ8{JÏh¹n ä5`šú…}v89lePRɸçfýMqÔ•1‹Ç£p´Š$€áÃ<Âülh•ªsô¶FB‹¾@Vîv—|1“.³¢åÎQtÂ?bp• SEY‡‰ž¢ô÷ÿªœØ‹hŒø<{æ`-à×ϰtãAvR «{ö=§ån‚‘›ÍV0*É'2!Ž((xðGºŒìT´)«Cóa¯ËÁ ^gþæ7¶-ô’Ìàüáîy ”ô{.FœÙO˜½êN©0G´6Ǿ\/&Q>ãš_S+-½ßûtãgµ[àêï|WQ)ÉfÆÛ¦œ[êâß–îi]ÒÜ"_'›v2Ù L,ѼX­Î¦Rs'…£P`š·DÃva‹óg{!N+\iºR Xå e=ƈœd@:M=.½Þoæšy³cÃM=|[ôÓ{ejœ­ÌjĶ߸ê7Û 2C¿5œ…œ ì¶iÂÄLT2MK1íÚ¦´Ñ_Ë|k£¸ ü„‹=Øêí9XƒÔ Ÿo³±p¿HÈ}´ä¢T/‚ñÈvøÖ—Èã­VüøÄºÉL9›©ŒD™ s©Ñ¯Jè·ŽV>@âbPrË2‡$õ+_ÅÁPAfNriæD$F¶,Ÿ¯7úG¯ËC1Ãû îh››p.K·’b”ÌQ!ºÀ‘A-_œ+¬~…/œ%eÌsXfw°‚Aìx‹DÃÑeÁ´ñ(­–Blz³ˆìÃF¬(9âôÞyì¹ÿ¼B{§ñц†Y endstream endobj 288 0 obj << /Length1 1630 /Length2 16639 /Length3 0 /Length 17470 /Filter /FlateDecode >> stream xÚ¬¸ctem·&Û6*NŶS1+öŽmÛ¶mÛ¶m³bÛþêyß>}zœ¯ûO÷ù±ÇX÷Ä5qÍ{®56±üoZAC}£_6ÖŽ´Œt \D²fVúNŠ6V²6œÒ´ŠF&NDå¬0ddÂöFG3k€£‘ª‘!‘ˆ‘#''' ‘°­›½™‰©#¥²¢*ÕÏŸ4ÿ)ùÇ„Hßí?4=ÌL¬‰Èÿ>8YÚØZY;þ…ø¿vümdDähjDdlfiD$,'¯.!+FD)&«L$fdmd°$’wÒ·43 ’630²v0¢"2¶±'²ü÷ÈÀÆÚÐìŸÒèþb :ˆl Ìþº¹Ùþ£¢!²5²·2spøûLdæ@db°vüÛG"3kK'Ãø+7¶ùWB¶ö6-¬þêþ‚ÉÛ88:Ø›Ù:ý*/òëßy:šÿ‰í`öWMdcü×ÒÐÆÀ韒þ¥û óWë0³v r4ruü'–¾‘¡™ƒ­%Àíoì¿`¶öfÿJÃÉÁÌÚä?3 !²72ØZ98ü…ù‹ýOwþ³N¢ÿ¥z€­­¥Û¿¼mþeõ?s0st0²4¦ƒadúÓÀñol3kúfEÂÚØ†ˆ‘áßrC'ÛÿÐ9Ùÿ«A”ÿÌ Õß$†6Ö–nD†FÆ0ô²6ŽCQþß±L÷ßGòÅÿ-ÿ·ÐûÿFîåè¹Äÿ¯÷ù¿Bÿr²´”Xý€ï¢¿K`MôwÏIý³h,öÿ?€•™¥ÛÿÉë¿Z«ý;Ýÿ˜„#ào[­MþRÃ@Çðo¡™Ã/3W#Cy3GS"c€åßžýK®lmhdoifmô—Ûµ•ˆ–‘á¿è”LÍ ,¬ÿ!õß*#kÃÿZÁ_ºþ•?½Šš¬„ ÐÏÿÍ‚ý—¡üßApTr³ý›Ûÿ¨FÆÆðþ²q%ò edã ¢eâ`ü{ÿþ&ÄÉÄâõ¿ ù/ Æÿ<ËíÍ\‰4ÿÖÍÀø¯êÿÇï?OÚÿFÔÚÀÆðŸÑùí°6ü;mÿSðÚÀÉÞþ/ÉÿZ«þó¿æÞÈÈÕÈfmÙÆ€;Ð<5#ͱ3gxRD³¿—t8ȶ¤A©0ß·Ú¦Ç'5ôg…ÞGM]ã4×W›ÛÒ™íç$õáh/†%EO²ÑUž U_>òyûÏCzø´sÕHëEé0 6•ÃÝIEâüéf{¨ëg*_ç|_4Ò'[oƒ”úôN¤F ”Ú‚³sò„“ç'ŠÁ±‘ᡞ[ð¾ÜŸÙ1ÐdÜLï¤3âDG7=û‡ƒ/ð7gv‡Ê¥ÌÕjäewÜ÷e'BÒÇè?¨Œi—Ì&ß‚Àû Ëú1R.W!Á°ÑL…ñ|4„ãÂ3J’:uËç«lëõ|\©«œÑf°GËb©$…¬Û_È*”⃋Áq†â* Hi ê*¼3ì,u8üd¢|µ¾c剻EQ:Ž^P¼Ý@UJ©uYçò´Ã¼f ´QŒG.áv< êæÁÔç‘OoŠe,Ñü{<8 É[BåSæ•óÃkàü©MÑ]È5.RWûdÌoØ!Èâ[V„\‘9d÷ž÷I:-=š]Ý©¢¬þð üz3ÇýRÅ»Pn ÃêâÝ—@¥RÐ|Ѳ¹Þ,I矋ú5C4š'Z*p3Û…’3zÂÙö¹ñ3ˆž®Y0öÈù•ó’Çáƒ]Ã-¢‡jQ$Ç€uéM,O%«Õ ë‰¸;4"°4ë_òÂE­@bôWw}¤?¦6!…ßAT|@+\6sÛl#ÈÉl÷¡=3–bssªÐIö»–>z›<’€1Õ犴lÒl7gœ!27’cM õ-F ªñU“Á€Q•¦øºš$qË\sœ]•,¶Ÿ¤3&lŒ¤ÉT#¹¥<öT‰’T¨ ùˆ×Ig‰T±Z!Yù—ê¹Ö9¨ =9»Ø¢1>æË3 É5s>¨!‰ Þ ^ª¾Tý@g66TÄÒ ÌÞS€1Ì•]÷k­¹|Š—£Í­z9¸b±fvеv5Ã`Ùt»‹Ù0áë3ÿ Íw¡P@bøÞ]ì˵æ«Ç“ÕÎ>•ÒºÇm=9 ¹Û+ËY ÖX”m£FXHïMÕ‘Ôâ Ã(§µàæ´95d$ÝTóÙ†^X59½Þ–èØùd®•*<›ºôk8^xîÍRÑ0D©døˆöë%.Å’WÍ™þhE{þ”x;MUi¾S˜éeÃ:U‘PŤÌÈÎÆ³Ùþ)ðóæ"vžÑ„?L…ÛëÀŒÎ¸±yæU/ 2fŽG3‹³Á<[Ëú“Õ2!Õ{ ÀN4ós¿Îp¸°€ ö/yL±ÖîLf™Ê—|ü“·‹Pj £ c'ÂNB½°5ZæÊ&Èxæñ‡Ôe庇´nò.]ð¹Ñ«(dÍ“$Ì…d˜£t[ nãÁò9å÷'˜Ó‹šÅÎü]cñ«‹\Ÿ§0!AM™†/S‘d×Ç£ÖK¾+£Ïs,EÄ[2®¾7<Ívbªv$ÒN§œ@ü®#ýé3ß*­–…‰ pd§½ª'ÞôÍú2Ì4ÑâÇÆz˜ø]fæNêÖWÙÙ~ýI÷'4È™UP˜&“¹˜þJÊŸòx½¨gŽ—Îoàžú[Ÿ•xc™ä„¯/ß~Nèy4€¨CüN V|ÌM|m¿¯=JFëß~olô#á³ÖwâK™ÆƒE§5Þß åÊÎSW6Üœ~öM™Vñ½ [ëYnH3oR6¢^Ü•3ÎAý)xÌC|7!Jé×î<6r§qþî9q Χ—ºÇò{µ›v$s>ç¦ ¹°°Bª~z`u8?lMÖÌÇmyTwMG"¦ðA"u&$‹+Å\¼(Âu|6aº}÷vˆ’ jœQ7)¯”XtÅñj–3§ž%†E§È*‡ôU¬íZÂdñ¼zžµ‘½e  Pw­¦m{×/—žŽÁ.Íb r®p Ånã¡”FŸõ韚f<>§+ø\sÙ‡^£ZÌÃR ì–îÞçaM/ EÃ³Ú 6¾ÌdPuøˆ{xÝ”GÉ@…*ÑÀvßœCˆò‹¬ÐîÕ8ßaÚÕ7ĉ•\–tE°$+cÓ 8B3ø2RùlXê)nŸ‘d?óËßw·{2~PGìu >â{¡¯ýšç_3w¾?±T¾Ôà«lã×q²I,¸#Àˆ'^âŸôVà^tÇÛÓ.HçfNçv‰¦ÿ`€®n¸“ð–¶mVDPS™.\}4ÕR(¸ÉX©§¾+ÀHpoYõ¿u‘¯°ò€\´ªŽj|]ã°nRNÍ‘âŒYõèÿŠ·C«qÅxØú°GÑ-òôµ²Yð(íÌ9{#®¶äüÄp‡êä<»Ã¸)%‰Xø‘‰õ @¸çQœ"–O¥>v¥›è™ ÓI‚]8NU\f½ÉDôÒ“nýå_€Y·Rlô„Ì3¿×Ö½†|Î/ô>~µØ^‘¹Nó˜Àõ ò©LÆ'´Z)^4xÝ…²0†gÂsk¤Íòz|åÈû¦ôsy†:Ü©Qìcl*~@±X&J¡<ï}£ (¦¿îÍ[L—€ºuƒéª¦¿c`äA8QsLŒl1Óú(¶ Bš¡ç¹šÓŸ8âaTÛ‰$…0uR‡#F…E0ã7 ª„þÅ\é2ÄIBK¹r®¹œés¬1›²¨‡ëŒDd–ñd:¤$)—N¹ “‡ž)]’ˆeöYç.Xé6ër¿þ|Y¬>²!¤ÅŒèV`M¼@RFÀ—r*©?TÔàì₺ŰK;ÒòWõP “ð™ÄôŽùÉy@u¸p’‘˜)ñ K¶ÚæîŒÈÕžô–ÚÌ€/Hºog ‘ò/ÏÚ ¬éuë\œ%Ò›J ¿…}©Q›ÔÖ2ãmâ!ßà£Cg¾7#øŠ~öeq˜;$d4F5 ÷8Þ]1aZx“~Æ÷§îÐØZ縌æJ)f}v¸°Ì»¿å’´y²y^SXÚk:<íQ‡v $c½§xî®À_™*I¨=ƒïuY2èŎ ;$,ƒ½ÛÑ úXT4zÜNÂË X'Üé¿‹‡/õQÊT%ØþvÎ. zª\ˆý”h¢h¢IÙ¼s®¿qj¯HÑRÛÿö'!¬¾ôT8H€{qNl7ãfü|9Ĩ¼ÍM\îcà Â;ÐxwòÜÀC\‰° ‹àƒËl¹¢µÈÜ×ù«É4´*Oš“î2'­³ˆè"`)zku²¥É»X]ÊW„_¯!ûK ô3:Ê-Y[¥¶lÛ¾Å÷ @£‰ª„‡(_z™5JÛVË%û_×ßA–úö¹Æbù˜P'°‘³F/Që­˜ü”½RyÖ]ÐFÏãpÏHÇZEædâtIc%ˆ¡Zœeà€­ŽÓÀâŠé)²1ž™ŒÆWâälŒ,ÝÁdg^¥:•ŸóÄÞQ $uH‰µò: K«ù„à3É-¦¶þ”©Švû° àÃ^Ô>]å­5t¨ÝâÌ H‹b‚ñ¯×S>´’Œi¸`9œ®A¬+}6F\ª"X.oÂpè€ I»Yv Òeؘ÷¯±€‘!_bë(™Gût/¬h{ÄzøýîuÚ:=«Ì”ôcýÔbÖô}©9žÑ»ÃSܰ¹šåàÆ‰gÜIž¢bÔë}Ïã½ÿý^6¼”¡µì›“O ?€LçZ˜& ¬ßÂÎ3î8Qk6~Ô©‹ìjTÃöZ/‰O\6eK`ü¡:²TKÒ+Fé² <¬–æ‡|ëßo˜òäxדpcê)¦ä¡NTŒßQô æc"Uî|³–äã]X‰ ZìåÅ{êéÜg„ö%Ý]‚êýL «Gû‡<{2“§ÓµÔÛ¡÷?Þ¿¡là2KëÌ^‘OÍËïTûÞ×.ÃÈCÉ×/….‚_¥â#äšhˆ³Å‚ÒW—Üg—×ù§¤(‰€Õ'8Ü•‡ùÍKÀ%Rj_$ñK0©Z’ì\mÁe8±·VÜdkeɴγñxy’ü¦‡¹ÆÙ#]¯à³ÎÆ(ÎçýÕs2|cäbâ/ltj­¨W?‘HhɇqšnÕЭyfl»Ã&¤öqý…J%6_C, g>Kb8a-SÃü^ݧ7ž¤ú P!¯#±‘k=e`ÐøÐÉÌæ‚_¡š³†*€ŽÚóuÉÈÿ40ž7îåÅ"&¼ò2‡×ªþm¾ºÑ†Là ÑÜ µÕóÄPk^¾ó3DŒŽ= Zn¤’„¼zëàÉ2_»/†F¤¸Út¿'~A «`÷à¤%^®—­F•tÖlÐÂ3/å]ô—%7ÿ>¥Ý9·‚É-Š…Ý÷¼õºyÌñõ¥™¨“?‘~¶Ñ1s„Ðw ¦ö=nh ÖoL³ )¡ºð¼hѧr29ç:â¦i ÿâ?¦MÉp¦,­3£¥â5ahOBªOÏ –Ÿ—jbä¾ÖdÂ4ŠíêI&<­4¡H°°Aœ¹IØ¥œÔžÜo¦QÅý=‡µKfQ¾ñûûT3ƒ{ ¨GAŽRUmæ:“ñ:Ö¥HÙ 6K|mÚêt 2`Z [Ë™ï3a%Oò.†i J‰¯þû?¥G#Ò *¼qï#ˆ2¦ ð$B7?o^ÜN¨trª";ÚšQž÷Ù‹×1]:Ñûá{‘Ììø>(þ¶¾çó‹le]–ÞyuöÈ¥eài€þí¨“î¬–Ìfû$M§(@$‘}tbØäœÎ¦è®ñt'ý§{fcÅŒl%˃@H·9¤€¯ðÄædœ—Kt3í¬ø`¨Dt’%Ôð•Y'ɹîÑûš½ç·SŸ6ÑÔ9ÿÅ­(_’»HÒžd’5⥰aÔ¤Â]"=;dä#È`YD2~#(æû†ï¾”h ÛíÞ›(\ÃK“ð©Z÷.=[½fo‡mì}‘Äûà3õ8:=Á±¯ýoþ0 I.,³nqµBM3hMÉ\ªŽ©»Cò¢YR+Æ;ȉ0ËÞ*ÖÏçÆæþn3Œõ«À²Íƒë‘°MýªÖŸ0Ê]*±ÚW»µ#M}ÄHFг46×”–Š–ÀI(Pä¢C0i7jÛ¶}6‘ˆŽÏã?Õæ|Û>g=‡BŸ’¬‹8_f™òY˜WË»ªvGAe¾Æàù°…N©”í‘|= ¶WŽ:~üœ~HP'•yù@­­°æØ‚‹Î—n¨ŽžÜÓ¢¼ hèØ†ãIÓñËÓL 2ÝMÓo¦«qðüAà=P¦9H¬Qêc'ݪßBÿæí¡²ÕIÙ¶½›Ò¿üÕº„mt¨Äé[€ánl¾ëF1žùìÐ*”(]ÞÏ?<»Ë²Oäw̽1ýF”JéܯrÙÜáTG •7„7Æ¿à‘¾¥e£ "É–;.\P¦ØŸ¶Žäñ›‘'wØ•Ë~žHtÒ…ú»XKãÏUµ{KòÖ –Š´b¢ì)´·?þT)f$b>C?` B’}ðÃmìÑ}¸O/4n!!¤®=ìâ†usi>+»Œqîè.üÿµl³¬´öÀkN\¶:™2ÚðäÚB„?óô¬Õb™PµâÆ÷µá+Àdm §4bõ S¹×tÖiï®O'WÕáÇík(iÍ=·©Ræ¾äÖò~þƒ}{ýCõ”vt;9ƒJSõåçÁ9äø’»‚þŽŠ§íÝæÞaþзªÀˆŒ¨‰mòä÷€«wІܧéUåÛ¸j×]¹Å 4æÃpqªl~„ö±ORÓ` ¶ƒú dV[Ž‹™’ó§.{‰j¢æ)–q°i ³jÖIù ÔhN’Ú³lÆGdW¥|ú_I8 w¢äo5Ó5$H Øu3\„Ðk&TJFÉkÚRºœäSb/Sü(³“Á6hhܺvÕÄ›e Y¹?‘½~R,#¸UøkýæT•;®ÉÏܺN>U(/k½jxí,¢.»4[.s\n'ŒçöHx¤>×öàùL¥Å¢ n˜03†JrÄMd”gõ®<]@œÅ‰G¤ô€ðÃHý3Ú[¡ÝÖÚ=nÈPÖµ$Ø¡ö­ëõL×–©h§8Ã7¿ÍÛ¦¶¦j£MÖk%bqø[èó-+A–Šun\Úç‹z0ZVÐ*ž9¬º.íÇ)º*e#×AGQj=ðch‡WK÷䯄××¹¹TÝ1!ÍXÿg~¤87þètuRÆ4MÕâ)SìV£·!!ݾr”ÛÖ9ø«t[ö = Èñ`|WÒípúé,×Ë ½Åܳ‡°¨sŒ¤ëž•Çm%TWG€ÂÈcßPîÔBžåÈs˜Œ$¦-¢ŒfÙ\Xgô…mœëðï‡P¬-ç‚;„¯€{rà™"Y-ßê_(Ü›Ç xXÄŸL[Y²g£”-Œ#B¦JÄÓ¼ª¢r{ß»‘¶ƒ·Ôĺ›-=¶>Iñ½¡!Jñ` k[?î½S¾ðƒo;™ˆÂcõr¢/”š|,’åú’&ZÔv%Qþ~ þ×P4ð¡V§3ò§¨Ïͻ䓂·`†ŸÏ¶À`(´1±ÉRGc%ý!Ì#ßX—ߨ‡VýOwI´Â-1µU]¡%WñZSìø@ªÇ4Ìo¨Ìø_U3àN®Ø²½‚ÎuJúé%pRé¢8ÈiÂ{ .[ÊÆVΓÀ|Kû¬¿éáÒÍ*‹C‹—f ëÐ!3 ÛFB£h]yÓÐà„Áà#·ñPB3w¬WüŸž„û÷ßF–c@‘ÆÃò€-gÝ ÞÇÍsÙ^ ·ÄaèIÎ(ŽÁÿ˜ËÄÎ|”PÈ[cî^ìKòX¥™M „Ä„ùa rõ¤O«Ô©VnQKmýx¡›Vchèe¿o–/ù •Nн{Ÿa¿!+„â†%ø…§ÄT>:OÜ^ªu{g ÍŸYHP¢/L=ù ä ä…kùvÏGâë›´ì’ž`ÁêÚ“IÀ—~(• ³; i¢$}}›…äw/ûñ{¢ºàÜØ\ë— 'FŽmyí®éË5õô]¦W!]ž¢nšDÆ» Pnùm€vÁÄ5Í ©Ž‚¾æAÝœce7-a­ƒØVÏáwÄãÒ6 éÉ#†ôUzNa ›ºöÕ$¿¢r S¦ªL΄ûJˆt_ëBáÐC¸bù½ä)VQó1OÆú$sdeUã ’ì—¹*ä\Œ?ΘUNýôGܺ2/¶h`T¨ÖÌYBÄ»€µ™xÓ”ÂÉÇѽ׬¡J7µ´âZ4 ÚÒdE-Lº‚ÕJt£Y©ÜïlõVÑ–üOy½Ì©­aÈâÂðœø­=jðª¨ðö jŸ…SOïÀŸµb/UËA?ÈÉ&ÐC]PqÔóÇ 4‹í«Ó'à÷8þe b«ª±lBήm9˜¡ÏÉRp0|IJ  0Ý>zîžgy|1 2í‡Þ_iŽõ£>EŠiéØŸ†Y ÙlˆÑÜm§ÃÒ„€®IôúZȃpñéŽÃ8¾‘æÁ‘âgtÒ‚‡êT%LßM ¥óEÙX𫳛K(»a3œ”W§‚G±p—9ž‰LkÎO›/ˆ›Ú„:éõ`¶Õöõ½*‘}4 Ã>­ËcïŠÞR‹ƒÍZ‹Ý4&§ ÌD<Ö<“~ˆW×¢• àÆ{wª1"ÃÂâj¿šWj1ß·‡ZOßÀ…Ó8“K6YF*HÁªQ¥bçïaêÏæñOó«ÃKâ¾7û±è¯MSN—"»®,ØÙÅG3†hîµpXYŽ› …2®‚n–'ðGsŠÊÔ†‹JxLL޾»Üušvë(Í&·ŠÝ.;YÂs±¢CÎß(þâªÛ {BTÎÃ45Ú!ý,BÅÅÂzfÆg’Ù¸…¸æ{’õ ?MbÙ×'ÛÉ$‚ˆ„›Ê¸á¢.†Î<úÐwÅŒœ.qGùAôàèiIqž`ÊI.€ÏÒuÍW1q¾GØh×Â%»ü©:l½Ó8-°*›UH ©vf˯_§ †µ² ‰ su'´½æ§mx—ŸÒûŒ­ïçW†Æ|Ó¿†¿ÎL,Ѭޙãî»ë9²_?ªoMw$?¼jÃj‚?†*yøÇ•eøåQW6LU%ìºð§Å| UÚ_¨$5bdÄu4¶CvºR±å±öSYaÄàXuÖ* -@ÑyÒ‚ç%Ú‚#m)G0ëȇl²XPçj渽ÙFÒÎÇÔH£yq˜a(e·UÇ™@¬ˆ¬ãb;ÒÒ–ûà5X'ã Nkü1ƶ»š?01î‘vÙl[hc…%Å÷ÒxwtwÆö°†² s-‡„2ë÷‚[8º)°÷8MÕû§Ô§’¾vÚšÙÑ~LÍÚi-Ù¦wÉliºvO&ƒ«jL9ô—úg¢güU¶ÛÒ‡aÍ*ih6 U«£êXâ‚òåùŽs½0Ò ÓhsÞ`¥Å9‚ô×»¼Z|gÑýb)Å Ó—Ý•VÅPÀѯ%[¦ð¢„ñò¾PUÞDC’õ ¬:Þ8áã'ÞDTáž+²ÿü0æößS’´±ÄŠ®ÛÇ€¥Ë5]¶È{²CfÊwÿN…ÙÚø¨ao'óm=ÛHÚ–¶6¤^™‹äW:™n]À _ù¹+õ†5ÙÆ»ÃÆe¡Uz0Pç)5ÒòK¹CÈ~ ¿­°bŠÕ>aŽ»c5m7nѱ3o}YÖ8_ªï^dâò×Ö]ÇU: }cÌÍäd¹úÙ¶ ¼RMÏäC¦—ÑØ¦)ËË>M×H@x"Òq½’›Á›9Ó[+6öáJ¦—½CÞÓŽý ;²øÝ:·˱øÄûoVöl–Ã^¾9BçþŒÿñ~ö9)Ø×§5$ì\#õê\ä@j†7š”EÈk‡)fw8^-ðr,}“Nt‹ûæ ç(1uƒæ#?h¿Ô”«z9È‘_=ÒG|qO~ß§EB×N×ކ€AÚ#@êªÀÓ‚°µ²iïʆ­o¯1ˆ,;×éûìÁ¯TBêYÇv‹r6ŽD{~ÔÄÆ#[Óa'q’–ÝL\þâPÚw~Ú+*iP‰„ÝáaomtpÆôwd®«ôM][4ZÝäo\ûUl²ï}ónÚÄlñ*D;ÆÌТ§Õžam‚zÖØäNúÆ(?™6v:«œ å¦Önf•­¢å­+÷`:ür»¢ØJ¾ÂpT?ºÇ2b•£:É鳋ŸZ³ÏrAA™]Þ­¯þ?EìšQ¸¢«á +[¶€ôç©âd“G”~ʇ™Õ8Û'>RíSBÛéU‡Ò4Û®-™€ÂzbôÙ°/ËÜšp8õ]¶k¨×²Í㨟›Ó«‡£=$î;šßXº5L&?dœU¾n‰k¶°/µÚÏð@äFÁŒÏß7Á Ý{Ð +艎´>¥PûK'ºÒcT‡Míù8šÛŠÒ¢,îÕ±7È)pl?• ×uðCé NåÑü–˜ë¿2fµ—¢¥Ÿ~IOrW÷™w;Ù\éd&g\~T¾g«»Uš”ªÑÊr^ä+ne9û¥Áà‡¬Ö%dÚ~ƒ1<›_€f(¨ô«ùpSè9Éû¥Ao ÞùDyÉøùÍÆœ€T}m±žËnœ Ô¾Yb´¨nûÑ‚56~õ-gtø·MÖAÈ·~Kä·=!¸ÚƒmJ\‡‡õx.¹e=Œ,XëÛÔÅSŸóÒay?’eVÍϼþ³V_T7g_é«á¤±s¿Z!¹÷W¥o ûÖêV.®…­‰©>ânÐîµ$k;†µt’AÑ1 _1ÀóÎŒî)Év5š­&éWÒª ŸùýŒ±½à&óÕO˜µ™Ä^éETq7O` êÆÐhÓ`F«G÷ØíiÛ÷-Fá&åúhÕª}¾WR½*œµnDäYsö.Æ;P3ÑæpŽó˜|=’S6l¾Ù8;N‰ j?o±žYþ€±Ë+5MÓ¦oX@”.Âlt¦âµk­“4’/çV^5lZªÔ¼êI¨Ù õ[8hˆ¤/ˆ{ðûÄ•ž`}ÃÏoB„oJÃ7Å'Ù½–Ûúþ2 Ùa×ö‘SðÛp_Ûˆn¬íÕ6’v²}†ÿÙ.©2¬ZÓN%#Ø‹¥›û3ºã†W° =ßÚæ‹*7dÙß]¹â….ŸÇ,ÄÍÑ\E¤²|¹Réæ:h ÉcŽ è”ìIb'²Ác:/U5 7v Œ£®RœoƒÎù!X%NïÖqûWÌl– îhÝ@ûçf€[uÜNª[xé¬k+“ÖÚå§ÄIl-m3ã ˜šÜã*0¹¢BDUåSú³ÏLà ÞEsPþ4>†‚ÔTÙõöŸ•L³~k÷Ï=‰Û êGìoRoHê;ªáB[äõœu¾"Âaª?ò óaë¦8¾?» @šoy• Aá|UÈ+庮p²$u×íÇ ò0ÍVÒç\ »iÏŽl¬`bî‰ F,Û'ÖñŒ~9`Ãi?BÑô7¹–)ò3Æ“‘¡ÞwZ–mŸX &4瑜àâNµ”r!ƒÜÙʼÒô£â¦vËþ0n¹®?Z÷·JÏ#ʬS£l–}E$GÇiú$ O×Zݳ|M,Ñ…hç•»E—¤tЀ8‚…ú€@Á¯'ô6W¶G@o+yÀìÂÿ]Í3FÇáÚÄ…o´•T=~:‡ôbEm‘qqó‹zE qBÏ–WÀ;/‹¶ƒq?XÌá*Úr1D‹øù;>îUf ²m@uÒ2j¤_û=;Zˆ³=Í%Ã]%Õ¡ÆcJN„Úý£é´Â_fÌØz5¹S‡À+%‹t<:®F¼H.vBÆÙ¦9-9>÷gï¸ý©.¤Vw¦³›'®ReðH§ŒÃç¾øzD÷‚ÜI°ý’yídeÙçóЦÌi‡C Ì X³Ï¼—÷ŽC˧LXQ3þ¶]sÚPÑ«£îÏÒK\@NÑÓt xŸŸÄ"^<®½ŸÝË)ºž£~!\jRx1_,’ÜKìo¸†QÜ^c'öX*7 zgw@B’ï[çðGÑç×t× š£S+¥r‚m÷Ô"½”^½!üþ“ùKOc‰å5DNƒ:¥nœ¬XB-7D“-Îßc‹ðª´@h¹óN˜k£¬fð¾™?DÓÞ±Kþ¬ œ™nWA w<üÔšåÛîÍÊÈ‹Hop‹„†ü þ5ù ÎD'$u޽žÞÞ|™ŸêT\h£“Cªv„R* XoáNËwP9pži¦©Ó¤Æ‹Rù\Ày!öf»¾¾O¶}ÖZµ§°‚×åQ„U?­GøÒbM+‹ÑC¼f iBá‡[U˜fg. ì¶ fš v²i*ҙƀ%óõEtÝé*Ú{)Ä^SóÅFbgT8 >º„({ò"gPZ”Ï÷ùJž–®ÚÏèØ}YPo)l‹[T4´éDo´“þz¢H^x·¬DnµBê^\: oëà÷Íѯº€Ï´<ФŸŒüùƆ ÿ;Š<ûg~IoUïÇ`áN‹òQóìbüÿโ¨ ½Ÿ¤ãºýS°ð&ôG'Ä4g[<Ày±yÁ¾Ë]gDitÈ…4·ùýRÈ>Æd\4¢ A“Å)âOBœ—{?*§Ñs¯úæøšbÏ g![yUaš„-~DÏŠa‰½1ù}¼ÜeJ#©çf>JäÆÚÐ’FäÖvÈ×VÜÙZ±^€–/†›¸¡¥¦^òÔÒ]+‡ÎÁœíC’'ð¹,«ðU/vÚ4VlCH“Nùø:$Y¨ñ‘kѵ8Æ>™X–€ÃøÀýù"Ú?HVƒ.«ÜsÏËÙüÖŽßà|ÛgÈSÒ÷øc‘A´Ã6ÞœmŸµ%6KÛVÞ ·É^­‡œ­=¡Ä£¿Ûñr¹š0Mø°æNu6oÅ1êwtëă ‘'q•¼àòôåAZflÉUßâÅ•(*dVa u˜Ç2ÈÝZO¥Ä—h–I¶2Bá—|æWjriÝìÍÿ­<Â\¾ enu’¥ÃDQ ]x÷L š^ˆ<û†w¼ná Ö“SñÎOõòDe&ñ Óà ê]M©ÞÅaŠ(1éü<S¬dYõ,yPl,Æ\ÌÖÙp ªI*C-m‰ïš°;RXètÕû—êÌ0°ÝT÷hrbÑk>ž\A®E12©îf pÄlq¹Za²ºÜzùkT21r¨1³î•~t 2šKOolTÙ…Z²±†npDŒ*®”mk¡ høvœ¯èÃë1—XuܼrÞ~W)ªo¾”C1]ážžk à^3Â)ü.Ks‘U!,Œoô‹åçbæeØ|ÕƒÓnnń٥TæÇ{ô:/ßV¦±°E´1šávŇ{NFU„µËÏ««µIF[bšE!¡+=Ñê°;D?¦öï ØANˆ·F–Üî3¹}VLöç›|½íX¥Õ%"Û¿ÏÎïÍó¸N|)û˜„mKŽä ¡…Kh%Ú2û…¶Ä£MŒíƒ±ˆ²õìMså•lªíÔò´¸üÂËøÇ—qÃÔJ0NÙÔð^Çj ßq%|§Tµ6áÆ¤Ò-b‡ìSðg ‚6§¯JŠéò²›Eï¸C¹¡*žwZ¦;ÄT'åŽ1º¬Iañ.E ò,cdo|v‚ʺ‘qIœdh¾}4lGñ°Ã˜êeîC3äT\U‘ÿÓóª<¿?ðMÌÓñÝÙßkz”E¯ß;ÑlûÈ/f܉©d)I‡31Aåww¶'·îµýžuÔ4ÛÞ¿üeÁ×… ~f0ŠmEM¨°:'Cbµ5jе€ eEÏ-´å h‘ <›Âz´›‰*“B¯;uS¼:”3v§Y —p$cm-TiBRÏ1%Uwù¨3ÅÑQ½Êq³ÁzÅ7g‡Ë’¡ö|”07µcž0ìIg{ gå(›ç¨.P Ýdw?YyQÊLÖ>/ž UIÛ[å }e…lÐ$[nîãóIx~a¯Ðõ—óêïªa*½úžSx0+¼•äĆa)#…¬¸4¼i0‹Å¤æu÷ݨAnÂ+¸ÓìŒúÑMki‡ Ýàk×±¦Øoòz©TÏYùrÂu‡â¦x/‘B ýúùŒ +…Vv•±zD¥P‡|¹{j’ÅLàÔx¦öq>öš­úD[í bôD|oïÅÀ°:²\ÁÚzcá[?šl÷)vq]:ÛÀ©m 9…ÊD=VšxQOó¢ ›Ûq8Ü)øßéë­€gª¬ÀvaŸñô¦Ùb‘n:q‘o±µ:@ökúc5´¹ò8F¤WPºØurÃ[õϺó×ÝÏþÇë2íü¾ ®?nì,ýA¨Ýg«ÜÔ2<“Ð↠œ*• ImÑ÷=Išv¢Ú}S2}"ÚN›ža.ÕrBÕwZŒvew˜ô„(mzûv3KnƒlPòì”Æë]Õè5æ¨ùÉMTNõ-Ü÷&8é#êÁTÕRI½›;>WÇÒì\…ü,à?é1RTLíbƒ÷kZ\‚–ºžaòÖ\Â7ÑJâÅŸv° ^Ï4x  Åä’Š%ioÛºzU¶“.ßv8 @ø|[Z‰öð³C fx¡ÚÙü'½é…œòƒô’ôhÿt àKľº–¾—v!^nŠüÕ£‚°Ü#×Z#®[ú´¦Ø5‰H3!8ïè23{1ÕÍn´è,ÙQhDéþWÛ¡wßä=‰,˜ÅŸO’†êÄ]çlwóo*ÁjVWÀn°¤€¯:aïìÇÂüÒ·XªD;Ñjñ†æ•øÓä~ú"u>Zc¬šzJÄDZ‹Å×&q…G¦ðÒËÅ;v?„v{ޝ>^ÐÅYO`ˆ ÆFU¸ËÌäwÑ2.rådÆ^¾Ä‚ï¹¾àXn©®&hïx¿OÔ=èĸå[¥D˜¾ÕÒI\eV ™P ãâQO8Bc¤פ}3³2ª6ÃÌvÊ«C&·…¡ý²y+xDØþ5©Ù@ëDâú³¼câй‘O&íŽÜ7VÝ ‚%ªÏnþ^lŸ1ûðÈŽ)NõÝ3·f¢©V»z82É=àôjeò%´b™âËg<‘OÁxÎ*îÁæ= ÇþÏ+´j¿›ëJ7·šR1µq`érÃLè /·[j}öÓŸ„ÑõCxÌ É_ÿÔP?È´¤‡'HÇuPd%ë2MîQ/HeLÌ& oãó…™–ª¼ú7-ë sH[Þh.·ÞCDqÛ‚^Ç5‹áþ_k3¿ÚÿD_‘IbZ4^„oCD>Åç½!MÖ"âT•CKi ¼f¯òø@I–·Ä†ÆXQ×QôŸIè­0 „PÈÈ&iC~ã™U u%`*‡£É|d2ÜñZg¨`8Ê¢%»^³[»ãŽáð|ÏjŸñî;Ü.†åjÎÜüemëËAA'Ø )´Pé¼fŠßn÷³ÈdºÞ«ôvâ’—ãvÒ{£2íè¡ ¢cÈA³5;†*ºÌ‚7<Æ“BwÐN11P)pH±É`±yù”>p}q\™ÞÄWSÙ²dŒùYˆšs‡P>¥ãæ;Ó¼õƒážyvb4_³ …¤™L?Üì#hD'–ù÷¾ *' ±%矫&«¶³XÔþ¾e6Rîa8±èùO‘£še$7ÚˆSìx?®eÊ{'S 2ã H&Yeãnq)ºÌ÷u!ÛN«"Æ« ûº‚ý†ÕãP¡öá—/j·, Ë"M?{H“,’%ͧ£Q”RE:Dj/ægc¯úzÿhÚ½C>*:4{é ³æåvý’myœù«´ZÌ–5”_dèŸ GFWºÎÊúõ©áj,è™”œ7:º+—5zI“1n³ÆbÐÙ€³ëæYO¢–_d¢\’.IB+]»¥£—š=è÷´]’l$5:|ü<Ôà)<[’¤™¢w÷ƒÍÍÿHÑ Á•~µßšذ 1t9ž’fãýˆŠˆ=“ºk6`jddTlaI¤óÞ¼ö~Ï ²nü Œù›~áÓ®¥jà8TÛgþ£Åj„'ÿ÷ýwõðE[VÊÓÚKžÊ#}£Râvˆå·?P!§Êž00¸Ë2lÑBl]˜÷WœX€«'¥!êÁ·˜5T¶ùR”†‹ÀA-|ï_Ô[Å޳롧_®Ñ‘óÞ4w¼v{f¨T–¯Ð¸÷s˜e,æò3,K2÷o[裾Ã;–_'¡ ÚèŒßS©wß“ãÕÝ+!E9~b9³úŸŠ‚~ ýæK@3Gá«„¯©gX?4öls‹Ž¹ý¥ö*S‚ýÜÑC!‚w¯Xä1MU×^g_>¯<Ã÷ "Ó(¿Ó¢ø[Æ›§³ÃÑܯ熛ò&QŽLš sMÇH|E9¸1Ý7×pF¾Ø•ìÐbÚgÓXøÇ6Š0³ö Wë[µyO½²Ø„áDéÔªG®°BUüÓ .ð/X¤òn‚¿!ãìOŒ2øgZ¼¯³$ùÛHOÌð“ìŒüŸéˆ÷e·òö žð =™Á·†r­ ó@­5Am& })l¡#<å¨övÆýµÅï/^Ÿ…"G~u¤rœ¨@\<Ö€‰HÈ—š¯S=¸nÓ?r‹þ‚“I‘…\ƒîÌ ¿Èkʨ¾pxH€ì‡<7ˆ5ð Éo]nñf©ÈÕî¹ðÂh ­X·N2îZÖÎO)v½TÆÕÄëBùã~1v'­0Âß–>Ï5Y^WP€Ylš¨RmˆDâ}ÂöHäc{ÆnÊNqTÕ[¤¸°%¶ÝÏs¦´n"vÎ8K³l¯ãæ<çqÙãÓWð„²|Í+jTwYöÄɱ|›÷ëÖETÄä’Oýl؃GXîª)´ˆ2¼piW'MiQQþüóäà ÆíûRl¯^çÌŽ2|Q- °j¡¤Þš–äukzŒECxõÊ ÈŸ¬y×y„»ãðR f"õl%O«/§,#a¾h9.ïV¤×ö+sî4=²‘±-Êw;¬Ž¼-Üd4ë×¢Á¨fþqça2ó]=}QŸQjOu3‹Óéí ¢—å¶“èSþìjÛr¸ŸJ©L夃»Qɳ›bgÛBõþ ‚¨j‡Çó¸p®[#tNh=¶êCõ¼h´±Bßç|wU‚[}ÚèË­Bóœg–*ÄÙŒ«(vï,Á~¥Ø„ǘCáƒH˜U¨¦Ö#¤Wé-̨ûê§Hq(Y\¨‰¹Œ¼ìö§· ¨c”‘©ŒƒKLõ`ü^Èû›ÉyD?êK2ܲÀ(Ú ‚›N9±’TÞÂÜ}Ðm§ó|{¦"<ʦèkŸ*.Ça¡ÞVÿehó­¢_Ð&uµ´Ïæ4ÚFì´4ÕîÚlÝJ¢µ^âü¬yt/pÎkÿÁ@/Ö·«¤=rN´ös*“ ¤Ž·é”Ÿ…‘O¢‡êĦwH‹¥wœtš—± ¸æUc¨6I¡idªÞ$=xêhRfó\'*¯ï^Ô¡nùAê5·žOÙnDèåNbXåWߘ‚ŽHÆw>V˜ú詇°»úÿ5Êü‹[PÙ~…zÔu8ÄJ›@ÍA¾vÇsàWÛ˜dçéÚ;½ðxKGß^ו£ØJ”“'¶º÷˜‰É/J ª"²/™égX³Û¯¹Kȵn<Æ~Êj ÞA1ª1T¬ \IôY©Wáòìà˜û6\Ô´¥ÿ˜ò—ðòׯ,Þ4õ¯ ;yf»e§MòV˜B``/“öÏИ Ò‰ksÁdÃ-;¯æ)+ìÏPddû=À(:aFt$–0ˆë~ÞMŋݩƒõŽß3Ìrºj=À/kc2Z' «='ÔËUpÐåšQðùgã‘¶RY-»î%¼QêÊoHémmä¢ÖˆÃ6eì$'4¹7&àØÐÁËo-æ?-Ä-ÄæõÕIIÛ(²ˆ5B€ìýO¦W3ñËÀì„EËöx°“Hš\¬3m& ûζüt¥ÉË,—çŸÀñhH½j3ÍÓÓô {^ûbø¤ÿ‡—ÄÃ0ù!6dð“\Ä'‡)޽£+Œ,¬‹ª£ñ„}1Š|ñ¾eô‚ö‘L–ˆ†fyÕm1;ª#îó¹q®Üˆñ |…®Ùìr)3‘vr;PvÔ7‰QÄït]ÙbðË?—§7ò/Øñ-G_+<‘%/Í5³J?æ²a!(ÇKÚ-©‡¨{îvõïXžj;ÅhÔ‚ø«ÈðYŽç±Å>XŠé îY¸j’ªë~ö=BŸ­àž«(O¸%°4V^I¯Z7J°Ç’Î$Ñè°ù?™ t™ú".ž¡ß~Hþíå³$]Ò’K•ÍSËðCá4)¡‰Y Ø§prŸï{¢>Ê~Œ”ížžs–Añ—kåñlêYiêÎùÄsÚåÜ¥¯ì”û¤ô”š,ºK<•í9ɹ ™úqxƒé endstream endobj 290 0 obj << /Length1 1644 /Length2 5483 /Length3 0 /Length 6281 /Filter /FlateDecode >> stream xÚ­Vg\Ó[¶¤£Hï%Hï ½H“^¥÷’¡$! ½I—"HéEª Ò»ÒA@iÒ®HQ|Áûfæ½ûf¾Ì›OùŸ½Î^»¬}ö/¼\Æf¢jP¤ L ‰ÀЂĀ #¸·‹/Æém„”75…¹ùpvir^^u4 Œ…#`,L`ƒ4`€„$//OÎ PG¢Ñp7w,@ÀÂÔJPXXä–«+—À¿!8O Ü àÃ}øÁ¼(o‹£ø·Í`0Öp…{Áêwmt´ÚFm†{Œ}]¼à€C``‚W$àõçA" ð«Ò0b8.5 À `8Î ¡®  †ö†c0¸opCƒX\°Hñò…^%€³»"'„B#q7¼qŽÌ‰Áb h8 ÀE5ÖÐú3O¬;{ÇÁ¤+î& ñ½*é7†£Á¡X0`aØ«X.0ŽAyq±qd(4üw¾8ÂíˆÐ070êÃ`p48î«îü£NÀÿ¨ŒByþöFþ¾õ÷àX ÌËUŒ$‹ Áâb»ÁäâW³¢‹pE@À?íP_Ôß0?úwƒ®fF—ŠDx 0Wrq#$ ðï©,öŸù? ñDàÿˆ¼ÿ?qÿªÑÿxÄÿß÷üWj-_//#°7nþÜ1Ü’#¸=0\-/0úÿø€½á^ÿÊ믷­`¦û/Èt±`\[Ôn8iDåŤä€òpŒ<5†c!îW°®o¿í( íGÀpúþn-@þ3w‡C<WBHÿ ÁпV“ìw âÖ¦w5Íl„ÿï’5ó ›HFöOcÜX`ÍQ0Àdz2DBÿ~¸"¼sÉÈD%ä@¸×ˆKM^B*ôŸÿMúÇÙŒEÃv@1 „#½ú^Åþ»àðM ½$3,ÅÍÞß W0ÄÆIþ{àêÿÛù÷+€Á`ò…9$D1Ú#;7[ÏX08®a÷²tm0UÑh^Z|¯Ùž}]¾ÚùüYŒØ‹ …˶ÀÙ]ÔÅG=¡Íá^/þž,Ø~[(·`_1õ _‡¬ðf¤¸cÅœ=«¤àƒƒ5B[ åæûqSÇòsbö‰I4éÁ©à=n¿â{t<'(Ê0È£ç)ôT/ðhêKv÷øÒ?žð÷ ô|%êûÈ*œŸBÆ«f ËÜåÊÀ:£!—Dg~²˜šÙ¼«:êt ÿ ÖŸs¾œ<ÇÉë´ œ/’n¿Ôð?Uç\Rôý÷ãb)’%JÓ”E8GÕ'Íõ:çt÷ÞÉ,~~®¬í™ûN>N±õ"qN;›»Tzõ’ÚR@U§&×66ªc ”£Ê1±±LTš”•j`QáÕT¦LT­¿7R•ñ^µìc6”ƒT©¯Ö<ûUÓ=cÑA%ø5Ñ -ÿ„#ŸÛ@UUX¡½¤’3ÓJ©d•Û,Y+/îT½ö¨y;¸@D¢’Ý”ÜEýÌ_ÿ¯äsµÎŠ÷ N…$ÝÞo!ß2[z캺³5¥#oL«8On¿|¡_þž4°qÐF§û ÞS}2åd£Â0©LÛ½ Ê—g/^ˆØ%~²_¯fÍk¿“•Û“ ³‘¡Èž 89bØàóS±(ʽàI9Wå5&c«\‚‰K°}rÈ-pEæXN̺ŽO½lõ¼B›²\øá:ßͪãÊ ´y}ªSЄ`ÇZi^(Rúuuz­„HVF±øåö Õ³”3í½Ü&ö×ø‚¬½IzÐÒònèsƒÇ×Fâ=ØD¦˜YÞ%JNÕK K{¥g‡-€e“ ƒ¥%2Gly÷šà±¶É•Ì"üq0TñàÒõJ£ JF­Ë1¡Öês²Ÿèü¾æÇ5·2 +·–¢G“M%XsÇ'Y~½ò7óoíX<é{(¤p›Yzb«âcPJeÈôΘØm)$‚=“RY$}€kx¼Ú ¬µ÷5¯t‹Ãpâù"ÓÐ};À¾¯*‹f«”¯ [–Kð¸øètxvmèŠóèÝ¢.Aûµ˜‘¡ã²¡ˆ”õéÇ–-> >ªz·zb·®3}Ëy¡Ìò”·˜?ß.Š9ãB@®‡ÞyŸ¼Ÿ–N(JXô¶{töðs „ªìÃ}¿lŒu9‘ÚÒ J±tKŠðƪO”Iò]¾º¾Ñ~Ýk¼ˆ‡Á:¯FÎLu÷) ×:Ôëº_«ï¯;#×ír çwð‰öiü‚Ä™ò‹äL_çörÖÖMeòu\™Ê‡åY( yCßäXE…±ÉcˆÜýaÝ’ŸªA’v,:œ–¤ôœŒ3Tn¦Â]ØŸ àŸÛцŸq~uÜTÚ †¨UûêҹܭÒ?l:/Ñx CÁ4Ûú#úc.Ö0\gäC¾GNívÝâêòykg®õøw‚»¨°… ëDE ßÂ$–8—(h+{C¦ñ¬‚ErÊŽ(Ìx“<²öÎbËá'>ωà¯Ù½²!:ßåÂâo"¦ NY\íù ÷µTvÕOý@xË,†'Ã-õÌã þ¼·¡‹¦[K>Duº×¦Øn0¦WIÆÊ)Ñë7mÕÞ "áNêñwnÞ‹zå.¸:Á…ÈËgòµ&5Ì›!=_ÞPѲ=¯J®ê5Âc˜0”=}´¢¯ ØeJÿzxÀ1`ÆKâõ™—&]1ké*cÍfeüŒq›ÓÚçÈ_Š,êé§–ª(Ý!0ƒ D¾îL°£XïyúÂøTËÎC\ܨˈAÌC鸅m•y%ái *혡mdißh1%ÈÑ­;RÄSÉ8ökŸ›ÜeÂíôpgš3dzªU(:mUüRŸÖï •f­.uÎ|]ÐÌ5ÞáUf]§ßµ6уih\^ZÙ³ñžÇ)Ïn“ÝÏŒBÇY‰)ùH"»OÐLü_©îsoc* uÎËÒœµ•Ö¸+ñ¢r œÚIÕêÜ¡ÇYqßq”2[5¤ï¡j[zdº¶7˜cDdE]7s7•iCmÆg7­ RÌwÅR2n$i÷]³Nßx3X«aDX›»"üxòÕ/é¼a×Ѐ¸‘®¦kÓj?ýŒXˆJçîNUc!,ÒÜ„øÜú²Pã±Gœw™ß³R´w„"¸7ÚÜa1|-Úüç ÐC:¢ñ#H™kÊPâ­‡é†kT¼SCË4&NôJTo¼!† 1KL'”|™D»ðRR”· òcèÀ”Zq"›u”´é7,~ Gp7óëðBý®ñd=;Ýõ㙾O*®´zbñÀ}3t~•' ¸Ùúþþ±¡¸êGÒY¡Î(ŽÕ'ö•ŽQºˆd׋mªÒ;ÃoÉm¹ñi%#Å>Q&Ó¤… Ñ¹i(G -z»í|æ½íñ÷¢çLKÈo³‰V²Î=&½“lO“ŒÏO¸ú'耔D‘ìd›ßï¦*›ÿ°L/[– Y›W$ö5í2^6»ã‰˜?-³02»V!‰a­ãœ¨ñî}UÐÏþ£—d+v%Sùþã(MCECÒtßñ—~Ç>i·eßS¶`AŠóíÕù¡SÉ–mqÄÂMhÙŽF"™0ùÇ¡fV ;/ßDé¬âY2ú¯°5 šô#ÂFæ\Ý”ÿý­ñ1OþWâ@žDsª¡ÁýfQåÚä\ÐÄUYrQ× "¥’zøÌ-õ…êÆÇ„óOŸ>–¹àÍ<9üùùH—¾'vÁ–Lƒ^:©²ýgü³îC’ü°Ú7¯CUÀUT41TN¥OÇ”6;D¦â¯u0ïl©$÷ö FYƒ56 Ö›O2rÄ ½3)UñèAçöÒÓüÈP—T-H{ýÈ3Á#¸‰ˆ´>Gs«Ó0ÅÝ¢ªhÌ”Oæ^Ê‹‡ÌUsº%0ÙØ˜VÛl¾±"6¼£Î—ðamãŠÔ‡Üö¶YfÏu0Û;«'†¡>oòl iì;½çoŸ{Ê’kÛ ÛžqN¶¤H­}¢Ãëð[rGsù«î1rùÿ7"Þ܉Rkn÷¼18þùq~sÙ"ëwóu2‹“Æ7ïïB³&¯¥Ú7 ª©¦1ŸܧwõtRÊ'm)2 ÐD"†LgDmæî\„·BmºnRÕzQ+Ý¢îkSªúÊév(Ä;SÇÏOçPô°ÛwüÕÃ¥ÖPä@ ¤ÛçTÏѧõܹ¯HŸä F˜º=ɹ@˜¶+¢tKÓÈŒ£*R|úGÈ=(Ò2¶£fù¬PXÍ*Ô‚)Â2çtý6µ>/ÌÚvü–ĘŸn‰Ù6«Ö£Ÿnè*ņ4%¿¤¤b+.Þd.ê·¥{µØð=›]ª¤ÝÉëÌñøã΂µY»A!MäÝ‚·C*ì©öy-úì-RE¥ ³äc2…Öè€Î¢'õ\.Zé‡ô©nɪbCJªP‰dúÖ4N¹‹æCƒR«Ìå-R.Õˆ$JV¹(yýÊù†Fàü…`Œ í@O Â˜ÏÝÜÀ`>W$ 5ÆÆ½‹’X;EX'—2—O~¹\KzÓŽíu»[, £ë#Û½:9Ÿ9ß¶Eí~xt½jFaqÿá·~uG}Ãar~ÔÛµ­t ÅFy¡9àטJƒË"—Ñú 'V{FÈ ·¦€™÷Ì%„«:†U,îY¿á/k,ðÄ®r>:ŠÖ̾üb+m¡‡Ì%|Æái¢øÃáÝöù‡§Ô‡sÁiÆ£_©qÀì&ÚhU¹gΊj­ r yQ|÷.×ìÆêvS {ÖFÊ¥ÇTv{ê>mZÛGni„|3yœÿkM—ê'£ZjÍy¦·Ö†a»ƒO¦4,Ói|7x¡6lt|µNGwëת]§Â÷Nã?ö=¾¶IÃÊä|ÝØ^;B†ÂÕ›A î¶Ë½ŠþYô*‹ìdï—º§¶œ»áõr]À=?µxw¤£í4Ìâ Ãgåv0ì “{K €Ã'*Êà†{u›Ú&Ê¿µhtÿ}ï@ÈÏ—)¿F,¡¤èiÌgT¬÷÷.±Ánc}v1~ü3¹îÚ‹•÷ÖeÍ)x›ÚëzËW¡£fT¾Ä·¦>†–…7½™ a&΋öÅ€Ak«ü´r†;9VTÚ6Ý…§SN)aJ3ÖCåÇ/{wâ_ýtx@ëó¥Õñì#ºò´§+¥R"†øãri6Ñʆý¹Wlu{+‹…GN0÷$«i¤øDaN ëüu²nš_£Þ@óQ¯øû@´òÑÆ~ái'ÂÞþK‰×âÞuYò*-­8ZÐY†ïÔãkÂ\RÕ&}‘5ü‹ãÓõõKEμétaªß L–.û´Ÿc}¸˜òFêÐйúxgé|P©ìãÌ<^wŸ¿kÇ=ÍâyKP–Qe‰í)È2°šÿ–&ÍíIƤ?‡þ YÄ.]W/×›êfco‹#;~.¤`Ò=Ü‘½Ò@ÂzvSxk°¯!U]gfQ¤õ®KÀIn¤Ð`‰¾ÁùÕÆó˜ŽÉ÷Äý™,=ñ‡F<ɳòcÖßÇ+cxê˜â<«oRF+®oŒ¿±¤¦í,Ök«æk'Ú–¼an)Ѱ g—¬Y:†@´Ö‹ËÉoÜ^Xpz²†ð®È·Å&§tKyô”î#/ïœé<”Þ˜¯Ç¾ V£‰o½TkzH9±}¹ôµ6¾¸…«£AæÖŸËL…ÅS“SjLkÓïQµxüÓ™´ÏÈ|K¸‰`>ª×JØo'MµQß7„ÈqžL³É?ûtk¦È¿Ëþè›—PëLê;6ñ‰Î,…Ÿó¥G†ÛR˜9ôdŒºS%Å_ÝJSëee ²¨Ôå)ëÌ‹(­ÔžŸäÎ$ÆŒJ{>Mù@øƒH1Þwk¸oôѵƒŒÚÝÉtJ7µwãŽ(Å©v„~Jš£¹œé&-öûsÉÒû†ªM½„´TîQCƃô_ÆÆ×n³–Y²‘·?5Ãín8õCæBH³VƒQË)7[&ÊzÅU>ÉŠŠv¸åKì Þý'‹ˆdú(ì®â;Ö9øƒïI¡MÃÒ. ¨ÌÛ¹ˆ5fœ#®hê´vqÊýľÛ~«pÙþ²åùÞÁs<9›o‘4ÐEÛÊõÛ€¬v‡[¥÷\صiÆž¬·›Dg<¥XâSžœ@û¤Ë2™vÈöQ}~ŠðFYS=hxü²vk&Í„OêÉ:‚ŠÉ½ûpG*“ÕAõ4ã—T”§ÙæàP—f:¥–¢Qæ(&o¿røÿú§4újö:‰*´ÊLO蘦ï°Ón¿€ë=&Ç”&·öû`îÀg‚ܱBMÛôÀ±‘/éO0ÂþÌ7¨l}¢šGOóyÊÎTÓæzøMOOÔî#èÁ´®Wa÷dÒñ»´¢Èu Ý8JÎH¨°{~ ¾ÔxŠpo º´éréêQªŽë·ùåá‘ñëiB6*d4|]fÆzjª9íÉ7Ilh^{GyT¿{¢Å©ñí€AÜ®Œe³`·äÝh¼#Ò”^r½äx’ó'6ÅæžÅí””E)¾˜ïÖ«*f_'J ¤9v¯ÚSЦµbñXÖHÇ5îQäPõ ´ÜOÍ¢ƒìrp]N>‹çZqéLª¸€±|u‹×¤NèøLúµf6;÷£6;¥äeò×|¶¢¨ŽÌV¹ž‰S«Q³X—wžŸkÃ|3oË”YÒ>+ß>]x y.”ˆ†ý´²Ô%Í}½<ÚŠ* ®ò™5Ò®¥&=W oꯚ•ƯBÒù ±5k'èàM‚ .ú÷D ߙڤ³b\Ér .•ö­R?÷#h^±Š„+oѳJë;mSpÕsªå%k°SŸÔùç#£—ý|o—š;û [î?}qªYÛŒ9Âñ¿fjé{[-¼mHŸŒÂe’}Áý–{¢îkfvA³5åø~TP9i­I7±õ.Þ/þ:>(MWò' q›#ª~”šÓ=ñ—'çZ}Ÿ˜ØY}àìÃWj-6kõƒ¾<º¾9CÙ¨±ùV)`ÌövÈH­Æ¢<³X‘±W ±cÝUZÇgG)æEnÞ$·qÈgešBâéÓ¿-Ʋƒô—ÿÄP6“¾¬M-ý> stream xÚ­yeT]Ý’-Á‚ÜÝ-ÁÝ5¸ààBpîîîÜÝàî Üßwûöíqßë?ýúÇÞc¯š«fU­Y«ÆãP‘)«1‰˜Ù›%í휙ؘYùŠ ['U{[E{>y&U …‹Œ³± àãB¤¢AövâÆÎ@~€Ð 4°³Øøøø©bö`…¥3€VCU‹Žñ_–¿¶L<þ‰¼{:,ìÔï®@{[ ó;ÅÿØQ 8[æ  @LIY[FQ @+¥¨ÚÁïE(»˜Ø€Lò S `nØüc0µ·3ýUšó;—ˆÀàä4½»ÝMAŒ Øääôþ 9,ÀÆvÎïgàlÙ™Ú¸˜ý•À»ÝÜþï„Àöï;lß±w2e{'g'S0ÈÁðUY\òy:[;ÿÛ ôìÍßwšÙ›ºüUÒߨ;Í;êl ²s8ÝÿŠe˜œlŒ=Þc¿“9€A§áâ²³øWŒ0ÐÂlftrz§yçþëtþU'à¿Toìà`ãñ··ýß»þ3³ÐÆœ‘ý=¦©ó{l "Ë_ý"cgn`cý‡ÝÌÅ៘+ü÷ÑþÕ3tïI›ÙÛÙxÌ€æˆ,ŠöÎï!´ÿ3•™ÿ÷Dþ_øEàÿyÿÿÄýwþË%þÿ½ÏÿN-ébc£hlûÞÿ˜3€÷AclxŸ5yÀ_ÃÆÆ økà€Lÿ/Wc[Ççüﻵ€ÿÈú?8ÿþG;‹w…˜Ø¸˜¹þa9I‚ÜfÊ gSK€¹±Íûáým×°3‚m@vÀw‘ÿ>ßw'VÖÃÔ-A¦Öv©Áõhgöï5¼ëöw,RÒ Šò ÿÍ´ý{³ò{W8«{8ÿIKÁÞì?Q‰ŠÚ»¼˜Ø¸ùLì<¬ï—ñý:ò±szÿ?ÂþMÄö¯µ‚±3äÐeefee¼¿ÿùük¥ÿo4v¦öfõ‘š³±Ù{ëý§á/ØÔ ~Wüïið^ù?×_ ÐhЏ¼`o*h•’žêü/{p\\··› z0È¡¸N½ ϷʾË'åû_¹Ñsusý$ÿk‹Çü±ÃËž,ýþp7® MWð,—È›‚®'cº‡aߟŠ%õD+Âë|N~F‡›Us{\EÕ èŽx²Œp~GçKášç‹Myë€úÍ4¹6§½óGþñ uüáÝ-MÿÈÐà@×%lÏ!CVô*c¼o‰Çd ÎFàë:ÓWØGW$7/¬Ô ?;ò{±Ï™v_Ú¶â«€I=Ñd§ºeËzVÏóÁkK1! @QÐsÏW?ÉQ¦Á.Ð÷znÐX‰7d5Ò:\¿øÞÔ-%¡|•d¡åH;•qÿcœ£eü…Ó²I@r…Vu•8IíVÔE¥ñЇ;.7sÑy|0wº+’´ºV®§®ÐN‚&öð).od×íPºè«Âú†M ¦glöãùí)XTµJÍœåÓqÍjkQ¹ÕrÄÏçZKéo“ªØX¹X3Þý2_‡.YîšØ«òÄM®ºÄ6:ðK³V¸§ƒ*¹¡Îâ³é…ŸU®÷`´¢"/ªŠ¶? Ïôb½$~L_Ë—¥~*zfÆ;kþdR^‡‡W7µ0£Œ _FdF¯ü1Æ2Tå›Ñp+’tËù¬$AÁ0vx¡®n>ç&¢¶×ñCô‚øË'þy„?ð»L¿™ Ê(ž jé®9Bš`og¢A#…eU•|'?K^j}ë`Qeâï½’¡I"ÁOGÆä6hø~¤£;ñ‹a¾áP²ãº‡2L½8|ÒvH¼¿§ªÁûÚa‘Y’È×ãò°ÓCÁ …jŽöy´L©òÓùfƒÚÒ³ö—ð8*`y^Gmæäd!•ÂâgÞðÙo—6¨94‘ǹ¤ û¶•õ?ĺÜIp(c»òæø˜#îrôÚùøKYˆ?T“€.AàfmüÐb›%¨³RÛ£’Ðe_µZ—‰Ê{%ÅÔ€ô¢¾¯5cUä¨7îRÜV8÷Ü(òg³lËú·™A5 R-;ªÆãÇø(y—?Á9:èS×{CWjí­~Z¼ðަÙf4¯m§eËô,Q·vw7‹ø‘ÑiŒ"›R&öÆž¶•’FV‘ªÍ85C¿£2—9‘,Å3 ÄÉÉ6´Æ¸ƒwa^ºBûvPlŒÆr†ð ¯~èT.ÿB½å€¥<¤çׄ¦ä) ræëÂÍD\;ýÔ²×ÍwÕ'Àb 1žàõ“ö;Ü™W'qAÍH gJX§¸K”ˆˆ¯þDý¦±c£Œo?N]j¯XªuCPßËøzþ´<ËPm®Ê˜ =m"¥¿/-¢i¼> ’)ÎÉTÛLWTt5Õª€­EÒó$ F|¤‘Nì U;–\œ³E># ‚÷çÅXVóëRä)u•ŸÑÝ|ÄÍ"B‹h<û­½¿‡“ßÀnC-q%î8qÿt?'j/UæÑ¯9£dO“FÑ<ùŽ˜=Üe8YOÞü%”VÁDpiÓº¿ò‹¶d>*aÆUõ‰öû£‹$|MÆU“*…$'øºM » ×`(ããÕ½7ìt(I®¤jw¡ß?¹VFöÌÍ€ågç>çãùÈ\·ð7=Œå*Y´cõdÊõÊ^æç\­{ OK&6åÆ\¾¿=º6 ?Ãμà­* ¤P‹˜…¦Í9Ò§N©lÛáuÚ.õ´éBÑLËívïB/CŸLìùÙè{š’äSûð>"°f¤(Õ–0t©óS7«Wcït-ÖxO0›œ#NvΙ§è1{¤¨€¥EÖyõ•ŸIO~É`–8ç°ÇO‰åò>c$ÝÐ̲TVØðÒQ~I"rõ É‹AÍO–LÂla§ °EYåC~ÁÉô!¡âU¾·Ï§åîø]Ô½ÒPv‘») ×nÚ}-Nø uÖèß©šÝ4±››³jñ©ÎÇÏmêKAæ ;½™ g—4.õAAÒËfs ß_N‹P„š/€ÓÊ»ËâQØŠ_J€ržëRKÞ”ÛYÂÁa^–~ëÄÀá¨|•fhµŠ(ÌÃw€tÞ>7žr>¶»„Ù©a¹ã˜ípµ¢ßgSÛí÷8씜ÅîU±Ëýþ°µFvU6Í©‘—É2SŠçkÓXR„ºžw4ï„öªn÷¸ú_‡Sy‹]Q5K±~´v§Ë'Ü× )ÕZð«è’I7ß¼\uï¢Cªøn~yü¤Ãû*k•ÚNû²ã0V 2^"zfb½¿I¤'xÁ·‘ж~Ét·r TsÇ”ùΞó§+°³¬.¾Æ?eeúcZô@ر[ŽÙÁ+ë)D.»Ë¥mu+¹Ž¾ãÔÿõ ë{3E·ü,4nÛ°YŽ0]7áÄH,¾3ÅüG¤¡2Ar›Î! “Ñ´V²-:É›Y¤¡J¸ÒX¹‡µ~"ÝP³Æ²ïO ǵe{¤°õuè&І{£ü!+›åÜÀD7ÐxþK,1j©SÆïnñ/ñ RtÅ߇L¨iTº£_Šbn\Ö¯íEæÉòßzm[‡È®/{Sf•x1æ×‹¯„°¶Œ]í8Ì*S¶9ŠEüß~ ›êŠyžÙäùÌ¢©#’àyÙ¿ ’¯{b$»SÞ™ #(í™"\­xé„(—ëâµù¥ï¹ºÌJÚ?½~c5 5ðòDÉ$ ÞVýE˜ÂËgoŸ”aÿ³3ñéx«@aĈ„ó÷†º"žwË)rçó’—dû%K©!qÜÅðwdÏr{›SÙÈé¥eÞÎÞaÛÚ³qjÂ÷xaÎS0f‹v+«| Þgž–Y›&þ¹ G¬çJB‰öfid(§‰¬ÙS%»8UÁWâšî AêHë¾³kܲÒVÓSùø}HC+'„™üÑÄ~E¸¦‡Ñ»LbX®WÜ ¾+ì¦ÊM¬®$Ÿæoà“š2çRŽ `Š©Ë:=³;xk”|†6Ëëº4ã°U¿´ZÓûÕ§Æ8Ž—“LŠ>j·B Ð)9‡izÄ‚à Òã*«>>úWœ.αÄÒOG …Kç2ö>&&¥á j5JV?£¡ü”S8É'9P€£ý=¢À?𣹋‰ñtÒ@YΞÁ¯|Á“Žîã&xšßD9*”‡CC©w G¥æ±ð3-/ŽÍÃ÷~õžwJ)±ûylj £IwËÌñ`3GÜËY*îåß¡’nš’+WQ4×\¾¢`AúQ^–x(›^ _H‰AÖRFf4w^»M`"Ý÷]tÑÊ% a¡—¦Ÿ™–¡“³™Xn '†ž_ð#פy?Ä· °UtSüm¸ )Ý™3x+_l!Ø}q1»qãà†x¾_ça,ÌÔd‡w\¬OýIð„Cê]ç¾üŪn€•ÿ›Û{½´(Á¡»|–ŒÈ’»ü÷Ï5§«îf׃:ÏÆ·öGL­‚ø $Rá•ItŽ^3ØåÈ0¥šê´Œ±9”¹Ñß×Ù=õSóÕÒ%±ä}~B]gç&·KÏ‚‘à²6ž= ÚŠ{Êi˜]æMó¯Ì¡1]Z¸ò¾?h»*'Ï:”Û8|,³pM9æÇ0+úSe ef}¡@^§C2uÛ sÖ,äitì.k,— É}Ƈ™>–6ŸhËR4ZNÿÀM>Üyl´6Ò_šE§'f‘x ‘’‘1R–}(¿ÿŒéé7‘æa‘Ä«;‡CSþ"ú^B™º:Àú…Wî |»Xq ›H«ÿ`CÛôY<=]Ópýj74Úý낤¨&‹t<@’‘V±µ9ák(W"l”þW‡é¡”7ÊÖÿÊÏÞs׌ g^•´²³«-w¨’À‰[à´ŒRN­ÛüNìc,¹SGY1§ë8u> ÏÁÇîxÒfpξLòÝXÓÛé0K$NtÇ«IŸ¦ Ÿ4ÆçgÆß’¡çÇUð$"yÍê¬Ú”m‹ê8C?®x|øGÐNa)™º®ÛÃ-ª^¢@â¤Û¤š{!(’Nöp2k%Ïã5”ÛëWóÉâÚ¸ÁtîNÜþÁ°ý—S·xÀÈÈ·,1ÿůyã@4š ߉Î{½†›bsS±†_6‰¹éŒÑTìþÖmr}Æ —fSÝ8þZ¿­æ„ß±Glê6õ,Í…ýŒ‰Á¦D¨",ñ&©Gèž–‚#nÛ ¼©Ô‡öå4PbT°×ЯH³Åë5½ÒX•W™ÜõÅîKÔ1R_#|Û^»5‰P”Q3s¤%NÇèúxóëLâêF;{8—9ïÜÕ’Úo¶š.)ƒNr¾ï¤S§×Ö]­#TÇHƒVñTiM³áƒ\/c÷!ýŽÜ¢ºÞw[×gÞ;˜9ýü¼¥N4Rn2ôã—þÃ3NÀógcožl@4–ÿºT‡q¸Ãù†±ÊWÃúf´ezŠ­‘Û’_râ“|J®w»¶âN Í`\ÖÉYa†¹¬X¢â'ÁîÈÌš‘ø ðêJ̇mÖ®S¤>FœÀ³ wVÚ.;¡”-Ðz÷À¯A^š0úd´HÃZ@ÊktÎLW3ÖÐÄ¿vb55ÒеÒðF¯Éd·:O¸m´JB× ^z)4ò›%w׺Š*)á[·×ZK ɳѽÝÔû{] “ÚT1Ù‹ü³“ÃO6ækg2ªEåêò6ÚwžÒL xÔ¬åwÒ¾õÇ"Xt"!^Ï=;èÚ724¢6l'ô~A~]û2‘ñe»¹–PÐ[É£WYG¾ÄùWy2siJ)Þê~—E*)ûǺÈÊeVÕÒ™OÜîÓ÷‡ÝpÈL¡Îe}*ôiCûc/FKvü°3]#mec¬ÔG~ÏQ†^‡½=˜ûœp»<€ÛËÚÅ4 Úz)(õáKzå·Y\ºàþ„ØŸß|ŽU9Æ”rbõ™'ó†½dÅàZê(`<Ý~9¯O¦¹}áMòÖ×I·²zRyŒòUzg¸ ‹VÏ>‘UÛíã¹(£:suåÀy+ØW+¸yËË¥gž€eöÚê°a!ÿ¾Õ¸þ5ÛÕ!xÂù%ì2ëYkäT6‡¬X¨‘gyKäGFï,9êóö˜êMÚÆ“*ÀÝmìfÃ4\™jöÛ¦]CëC†Ð’6ß©‡ÎA>ï'¿÷’¯SøROÈ1Ë_a¼‡=dk!¿ÓÔ’ÔáCeÛ[Œ.‚DÓÕ½+Þ:‘îF(PøÂKk®y¨˜˜{Ô¹Éú£bÜ*Ÿ™·ªìd«7¸jxpúIÑ0Vc ÷²Ç´‘AP†îµU6è”è{·d‰´a]f[DÍúwÝÖéñä´µ\oùË+@Ó…“‰s 9˵ªœ[¯*˜õÙd(T^_Z ¾…´÷'“Ä¿ºýt‰ûbFVø“}‚!bžtçz&. óG¸a,M˜¶Ã4r*ï ¥i}zœ£Ã*j>Æ™+ç‹Ëèqï5F©ï}Yg%€-ܺ¾7¬¦¥°ìɧE04ózjª“Mb1ïsôq-RL°j#¹5lüÞ­”÷G‘±f‚Ž/ÿøaê  ®àÅ]¼ÕWÅøˆK }©'li'kce•w8FásÛ Ý3ùcî@íÂíð§@>†èõ («Å#\‰‹é è‹3£‚å¯mÚ{ð:IÜÞêÎ+Ë‹µé×b(y7d!_·òG(… ỗ¨ 3 œž×I£Ôª¸}qÂMAߣ K`§N|Q:®Æ‡âê騧è{G¿)(‹*"ñب=[½jJºSa,9„*…ç!$ÕI>o|ðþSq1•§5¾¯lużî'ZhQQƒy}1 ÖG$Ÿò›ý ;åO„$¸údF}Σ°° 6¨ßí1@¾)vŠ…@™Ð¤s*Ü&]öŠZ_$ovlÕå <¸®EíJÐ1äBGŠô&X¹¸¨[ÐË9vÖóÝka[ì‹ô’ Äl?ccù-â87˜úÌ Üë©5ÐÌã¾ÝA þ¦Ù@Y ßcÇå“ZêõÕò??Ü¢Ô8kí]a?îXùpq?bo)ŒÁh'À’a :±j»ÅAFþù*ΛïR$aBãº7î2B:Ò ·XŠ …ÝŶºV(h<Ü÷\o{QÃO;#­3Ýç[^<‚-´C1±ö‡Ž—?ž3(úNwB¢l°ÙÚ/¿Ùg†j Æï¹7¬X¥ÅóA‘˜ííS1Wèœà8ç2„–[¢ß{Ô¼æ–BY´ëw÷ûõ!¿‡6½¾cG©](È窙z 3…´÷šþ5lнe3{`˜dSÆÇ ÌÁúŒp‘ü´w«ÁN‰Tè&èý\Jré»UTýÃy^Q!eà`RÛ?RG}–&™cÝ¢¹zƒ1b”_ÊÊC£ú±åkñŒa™žU˜aÈR·ÖXˆj¬ãÎ8º8zC fv¡êW'9Tš¡ÿ¤EÙ2cË[6òbžÏ¤zÍf¯†˜äütºÄ&øÕ"åÑš_µ ™ 5LÉ1Òµs“ Á#ƒX4áCHåÜ'f E$(…>³ß+Ö4¯à”?9ôWc#«ûݰ² L¨xWù°Åæp#¨)CdÐÚv%âýœf¤á{ ¢‹Ú“®‹˜©\–B<´¾ÑnÒ¿‚%Œ" ÉýÄŸŠy;÷ð‘ѧ‚¤SS‡JRïŤËb ×LÎ[÷ƒºÜ”ù¢ ýƒ_ø—×(@½õcL7#ÁU/¶PÌ¥p çÉç‚<óŠŠ”pVqyÈÛºë%jŠÈruÙ…òÞ.»ƒ|ŸŒcT»Oèß%ŒÎFÂ.?‚üŠ´Æ9óNÛî‹Y6@‡¡»¼¨øÓÀÞ<þ„‚ÉŒŠMñ¸âO„ï?)?ä¸k÷ ?·*¢›ÈZAd£Qä+?p4d°» w&5Óu*g¿6É5©Ò{C^/x\P J¤Ài”bú„à`Ð%zFŽŽál#ÕŽ¨h%¾³€á¤|^ ØH$ó? ilµF2wÏ,ÐM „ÌŸðKÞËíðL-Šõd²1†¤@æ3Ãwôq4Z]ÝÙJFý#.´U‰~ô³\}g¥'ìGhà«Ù—pí6qºÏüÕ,á :ŦvÅ‘q{.üÇSØÙëŽÃ¸`wÁU1z„ZÏÛÇsïØí<2ê¶ßðu‡xÕ _’¶ÙÓ·ÖÂi¬·Çbÿ$ºá²Ýºðã)8«âí½¯<ãŒv[ZCíuUWÏ)Èؘ²â¸<Œ ÿÜŸw‰qÞAÏ O-b.ÕW¸—Ê*ÅDá·‘“>Œd¤®Sàޤ嘘BðäÆPAU ¬·Ž=‹§Â“¯øØ$4Єü :e&D‹j>ÈÊd°2*EµÞjWÐ(N[oðÀ\áîä9á7z×;Þt/×g@ßNRÔ`y +ÿ¹Ip/Â/ßGeåéx;ڮܔ€=zñôåØgùž«'šZÖ«'Ù°; øãc'•»áUÓà~Ûßr3 †6<œ£åþ:ÍLÍ@«¿bR2‚Á1ÂÖÞÃ$P·Ï6^ÞÃŽ­ÿÖÎÿÙY%ú8Ez¾,îüx<²ð3Ž×Z¥³ /ÅћߗFŸ…R…Ebezäú•‰*Òþû¸¼‹¸ü=í":V}l&"cækd·þ4h|±âVò„îSC±µ¸ºôþÚÉ•­ïíŽæÚ¡Õ‡ëYHøâ5¸“z‡k×Cß/X§éç”õº”pw7¤Šè™:î^Ô·s‘‡¦4æ*Ë ¾Œøˆ±z­”à´µv3¯Ö‡¿Åí¼Fí|Hº¡µœŒŽù¦FuITí•}ÌøU價_“#ÙÎÌŸÎN>Š´U)Ÿ”à&(e2 Ùúw‘j¶£ºOx3«-éEjp z¢˜†æTŠbq]tÅääðà\ÆÈ.o©½öŸÔ~ø‘Œ_a Ö<ÙZK¢7rÅ„FêÏ=‡uãÀ¯ {¼€…ô3æ  ×ìŽ1oy3mF ¬³wý¢MŸ=d= ¡xG÷Ý:\‚<Ìã.¶×Mn:ë¶Må±ä®¼ 2e'÷Ä0Þ—¶Kn«˜¾ú@$u%ÁWóò’]°É0ÙRBP¨[茖*H  «zZ[2JhÁ´%×.å.y±@Ke4Æ}îç+{U‰ýc‹»ÿá%yÂwòs!¨|ˆÈÄ‘Nw—€ËºØÚè««ä’ÈO¨–pÖs\¨G8í®… ÒãwSùˆßŒ»Ýr4t èfh'y§Qfh÷3À€Â‰rÆ']Va&Å63Š&é…ÊëßÔßU³£õÊæmÊ£µ_Ñœ´¼ ä¶oÔØ¬¼¦NÅ/‹À² X* Ñ«9WuûƒÊ š“ K}h\;h)! »Ï=¹^ź™ âÉ4¸d/°‰tfÙ0‰õ»@q°xÔj0¾“È=©ëKêBÐ:°qS8ì´ú<ø„/¿yx‘…–Ûç†à·Ô$ó{/«©vá°Ÿ„¬9I¾P­¨+{Z9%—8®c<»ïßE^ýx|tŒ2Xw¬½gSxkăøú1pNl,Å#Å¿ëüÑí[(‹®×¬ê®Æ¯=ø ²Ñ¡ÏÓ©ß‹4‹Êc!?Ýd'$Ê(”Êö÷7·’ú­|FÒlÈA·³Ï.Xà ^ÏÑ„¸ªFÈŸ‚7–£þÜgãäÎ_c…| ²L0Ð}UQÆÈ–íG}…AA^vš6Ýud¥9u­ïSØÐV™{ä°e^M·•®ž©fNäƒ~ÎE£×vûÆòf>½¾Bù{=Ιµlh^×o ¤‹lë„h¡É×3œçŽ9¶Ý‹nD]&“B¤"}ߎ'Ò^²äÎüA\Á^PÚ¯p¨CÝsÍpV)âHV…íIœ›aÕ߃Ç¡mPUãÕyíQhÑZç*ê¿â^÷}ÆÓö}—p ¹U‚‰É†â)âV¥Ø#âË»§§]†³bcÓbmŽûŽ®EyŒkHnÉ g]‹Ë(@¨™ëUk Ý·WzušÏ@”&¿ÙÀH^Y¿Ê:‹ÕáçháöexJѵŠFÅÝCmWÞ„yž ±…lñp¶Ò¨ Q.Ù‹T‰°²nzÜÝÊa_Ÿ s~wI9Y#oj ܯ«‹.ã^ÀE\ßEýŒÖM¼Š™à¥€'ÎÜ‚Ay×îUM‘8öe’‚‘Nƒ$Z´g}r¥{ë-cˆ©·<ï˜ >ŠÏ^•gVºš^çQc°< ?q« VGå¢7éÂØ}|êaMÇÄaŸóØð .oÙÆP}‰8²ÚÿÄEn\jÒç©G!Ÿ^”k+gŸy‘Ë|ÝÃÃ=ÏÛ£_&êOï%D™r ƒÜ™‘;«Ö·m3ÆÜŒ2Uóøú³§iP,#—# –¤-@‡²xTT#ÆÀ|g3ä{^Kfê/·©€úýÐO“¹žÖØb¬Á_Ió’΄?|„{ œ½F`‰¨Ì)zcalhì&L(ÿ¨U¹jwt¦*eG³#*ÿ‰ûx›ÉU&­˜L  {óJ˜_ðó¦æJofõõš3È*1b¡6‹œ€ã‰%ßgÄF÷ðœÝíaãY¿ÓǸl† V–9¶;ùXút“ÉK"{Ö€WH4ÈÉ…ÖG/¦âo/“·BÛÉÖ.p_¿mÇñp!I{÷*çž.‚—¾Q4d ›a‚oV…¦ôÒüÄeÔ±ôÓë!¨ì"°ÿdWŽ¥g`: ê¨È6ùôl_Š4˜—¢·¿/ª;šÝˆ<ÌÄ8ãÏÜz]G˜$Xoº=®Õe€Ìfì š„h3Wi¸¾¶vVø»¾huübwÔN2·s‰ûõqnIkÿð§åÅ‚f[HŸyt‘÷à´ôòDOübØE«äÒ9?E 1ÖÌ$.Æðå«7Rl÷ÊT½(”¤ìy Ôun~“jJQƒðÀãÒ= \Û‡hñL<6,H[—TŽš/d’%ˆƒå Šw^ÜêÅí- Àª«'e2ÎuŽêë¬hüFT=j•ꩽBE`¹ƒwÈb|ùMV]µD0¥SÙ@€òê:Ž*âòò¤¨®Ÿ‡)Z`¹Ú<Ù“×,é§HY4z|*”8 l ÿô¡_{šÓœ>@†¹mË„ê⪻© ƒkgî>á íÓgýq½íOøeœOóœ.$ÎúuØ‚º—«4Q%ïÂGg³•ø3åà­_§L{†`©ÙÚ&ëï–·-—…g™ŠÑu>á&µÃýJ~ŽéÉl•Ê76;C‹¦þø€ëWã3„@œÇc¨øSRÍë´*|£>•D("ÆæÈ›èhö(}EùkÿówyÏñb?^>YÌ­$&S]¿Ã»åxÔ)€ð¬kÄÉ€:±½;^ø’»h¤EŸ• O]×äÏüá3–Ó2f}¬!¼Š.„Ú“íÜ\²¦ï¯µP~BÌ{I+×O™—ohJôö!S}}ŽDõ f!˜´{ž;¥~`÷æ0@ é$É„­l‘á5òQ3T&p >Ó~Ç‚ìãl+ŒübÅøj×}ÙL„‡Y”Ù§Ã`:å‡×Kâ‘A‰a¬R)PŠ0pJzå87£ÎïwN{¼ækÒ·(•»F™Íxô"”>Ÿ3G†¿øPÖ<ÆåÈ$3Û9½’ôêEý•Àƒ\¨RÛPbõ»”пüb¬Œo¾Ò+âTã.æ÷<5.’^?Æp¾4y«fPŽAêb$(sg~äÒgº$7h÷=9„JÃ<I«¦NªK‘"Ð%h¯ßýê,L{ë^¹0(¢úVuÒfø„ÎìÇŒ;pmlá!:nÐq…¼.Üʱ…Óc³º¾°âÿyJ¾ÐÏõqê;,¼ŒozV rh0$ª†:øj ï0Fy‰J½/¾ OæÐ&†ÊýQ ’)0ÍåwÔ‰×˲êÛ–6QÞõ·Œ(=:ºŽ!í¯ì擞>~çŽE0…ƒ¶Ma>œ×^·A&ô6n9>1 L¬Íb6U*O­²,<Ï‘:/ªt8¢–›Q­C4úfSª¯Cb “¹œÛ—DÅKÏîÓÙÔ À*`É=¨Å˜–?κ ¿u÷<ļÅ(Xã©Ú;zÑ0Ä#oÎHùÎ3—çÚëoD[Ó9"z•Êö¾¬ˆ'M„wЩ‹@ÊÊŒ²U[-N›j-i[ ¾Z°(.>Ç êtóö@ç#Ù­¶…ÊQѲÉvhFCS"\ùŠúwyB“E/²Ø¦œ›ÇëÕ“«(Ï‹yÂ@9r•vÈi´ü—-u“ŠqM«¤ã³[†ÈN mX¸^¯h«¥ñüöI5ïÖŸ%³ ¬±’ìPq»wPg¿Äâ5óªÀˆâÔ0或×ßÜβò\C™már»ZÔÙ-I)D‘m>1>ëÈúDÞ.íóU]Ù+8˜3†¿}1B£ø¹\­}Æà•KEÓò’±¶'%…‹ñ›œ¬m(IXÓŸzÿ†%LÂç²Ï©H.u ²{ŒÇoÊLÇ]'ò’[ëOÆqô·? H›£«—ÔØâ$Du¸ëÊÛ’ýˆúßë¾ÙaÈ|x•¡”m¡*j•Ò@ƒŸß@…’½Hyça-ÎUz%q—%$(SÇÍ–1Iôàæ4>Àt ˆnÖ½Ñ2&ŸÁ,¿*䳋šÄ<ú欀 éPñn¥y#ôBbbú£B±ï8#Æ!ºUf¤>¢¥ŸÝi3BZ’õ )Ä·Æã;ˆîÀL^†Õ¤n.”Ûä ¦ ®™µúUåkÈ/äá¨Ö­¶°D– +vñiû5œ£-`YâöªHµ¢jèíS¤1xm…l Õº³­ìõf‰Ç—J1¥°3A3]Õ D¹F¯€þ}Íÿyg4]²Â–Þþ`qæíÞ`¦yN¯]³7`l°ñÎob´Q•!Ö§–°>8’¤³ë±p쪙 ¡.á£4*OŸŒ°Ž{«kDH]SÙèRÇä L9 Ñ‘u¥]„gü½aòĉkRa2m~"%b×-"ÎY"[}ðC•;‹A^õ­ä–Z.[X™ìØ–ùõ}Í-ÚÞô/aÉKpº&xñ·¶†Ås³9|5J¬:6¥“\*§"ó¦~uïºÔàIS¸§9*²ÒMýfŠRÎ~`I̬^Ø=2$4Ë ÞïP,}ÑV#i0}ÒL{v*xXðkÁw PΟ]éSš-‹$NÊϪpǬ\RÕ{îÇLHŽ:úaj4Õ]›8ÀÉé úÒ”é£4rÛ?âÛoÄ3¤t¤¹‚ãù6zµbû™z@±Öõ žƒipÅÝ‘Þîe¸{zî&S's¡Ê@ÉKç°26Ãò¶°#0eÜÍðÇs×"?…A¦ÎÀ®NûH<Àu”† ý~Àx ñbW&¸;‘Òš-XçÏ'ÓÁç#€˜Ã1Æ‹X™Ö[5…WQ„“݃s%96k¯}»d¶Õì›Ë©D8Œ j]ô¿Õ¨–ýàS؆Ë<î§#ÜKµÒˆì9<ª¨R~l¼ÔÓ™îáòÍ U‰ºÇ£Îh¤ÆÅæ#ÄÐ1C'DvúHSv›—÷≦_ëGwIôtÙ•"tÃgƒ‘…³Ð…æ‚Ü¿žÄ':œ~ÑÙž‰Ü¸dû1PŸVšôO¶ènÙ-ñ矽(ÆÕÝ=Ž3Ö©ðß;üeo¡?sZ’Ä»4ûX¹™ë±o%«ùxò[s½½‚±£ÙŽy¬àEK~îq-'žïÆ>Žâº™ïzªu쀡¸Äð¼yÀИ/!:à³ë…2–{Ú Öi»X5]YBÚ¯Ï\Õgq݇9hnÓ§¼‡£ª29A¿“ߨ^I„‹,4SÔj7¼.]Çu#zÜ<¦ÜZç(›½WÖ—3%ÙÖ×ÌÝcþ<6ÙÂ_Àãlªjk0Õ*-¤|ö–´”ª†Ðà§Õ'y™»œ‚v»žÓ•í$àì0Æpw8ߎù³–âfb¡ûŠ^mø*îôúBø²? gzxÐÿ’=Y endstream endobj 294 0 obj << /Length 696 /Filter /FlateDecode >> stream xÚmTMoâ0½çWx•ÚÅ$ !Ù ‘8l[•jµWHL7IP‡þûõ¬V=Mžß̼ñ s÷ëu;ÑU··õÈÙ›=w—¾´“ì÷îÝÝå]yil;<[[Ùj<=?±×¾+·v`÷Ù&ß´õðàÈ›¶<^*;²~&ûQ·‚>ìþÝþ”MS >Ù_êãP·ò{=éÇsæ@öd”ôÇöçºkŸ˜xäœ;`ÝVY×`Œs4½JaÓQÜ¡n«þª‡í¡.’Uu9\ßèY6î>¼ý<¶Ù´‡.Z.ÙôÍž‡þ“4>DÓ—¾²}Ý~°û¯ÒÜÑör:-d0­V¬²WÑÍÿ¼k,›þ8ãóþy²LÒ»ðºÊ®²çÓ®´ý®ý°Ñ’ó[Å*²mõíLrŸ²?ŒÜÔqù¥ã• â5F8@ šˆ=@Šð)&°  È8Ô¹€ÂÅRx u€Dº\j2H—†ª¡ÐVÁ¹0CzL]ø Âb°ct‘I ©g$`htÑ‹0œÆ\F„áŒ0ä†sê‡á jd< —Iê6œ»õñzgóñºË»þê W ¤qÈ’£+—Ÿ#ö•ñÌÇkÄÞ .‰bªsré…¤šáæÄç†bïmŽXú¾„Kß7ǵHß7Géû„û¾nb§>&jÊØµäuœ¯¼ú•ñ1ÜV™÷•âÜãâµÇ‰Ou$ÕŸqWèS/%1{\øxB!€§ÔK(hH©—TЖ枃»J©Ïϯv×ÜëÁ=küÒ2ø¥UðKÏ‚_:~é$ø¥Óà—ÖÁ/¿Œ ~™Eð+7¿èË¢/ ÿlì¡ÛÒ(/}ïö -+ZXukoûìÔE?Z„ãæÅÛKýqíƒÄ endstream endobj 295 0 obj << /Length 739 /Filter /FlateDecode >> stream xÚmUMoâ0¼çWx•ÚÅvHU„dçCâ°mUªÕ^!1ÝH ý÷ëñ#xÙö?ŸgìÁÜýx]OTÝmÍ$|äìÍœºs_™Iöss îîò®:L;<S›zœ==±×¾«Öf`÷Ù*_µÍð`É«¶ÚŸk3²¾'ióÑ´ž‚}Øý»ù=©½à“í¹ÙM;áà¾7ÃÞr¾›f¶ÆnjÌ-ùeúSÓµOLg~¼À8÷ã ãâþÈ)okà çA„8 ö$`I\èÎ×3`çAfŽã<ÈZ]ƒÂ!‹„ê xNkÇyã¹ãÐð"œ7Á¿ _¥ã“§Ìq âH`òáö•‚nú¥¤kÌÂðRONH=CpB:# =Ñ%8“ˆ88QA~¡!*ÉzÆœøÐäT?!~Ž> étw©8éÄy*ás£¤Ï }nÔÌçFE>7*ö¹Q‰ÏR>7в¢ G]¼;~îó¤ŠÛ<©ò6OšßæI‹¯yÒòkžtèó¤g>O:òyұϓN|žôÜçI/|ž´òyÒÚçIg>O:÷yÒ…Ï“.}ž2îó” Ÿ§Lú> stream xÚmUMoÛ:¼ëW°‡éÁ5?$R. ¤d9ôMðð®ŽÄä ˆeC¶ù÷³k›m‘CŒÕp¹;;†wŸ~>Î|¿Ž3óEŠ_ñ¸?O]œ5ß¶‡âî®Ýwç]Oßcìc]=~?§}÷Oâ¾yhÆáô9%?ŒÝ۹׬“B|Æœ‚>âþ)þ;ëvÇw%gÏçáí4Œ3‰ä§áô–’>\ ‚‚6ý§ã°¿ õEJ™€õØ7ûÆ8ó 1¿’{Æ~ºðÏ`W(-ú¡;]¾è·Û%=°ùñýxŠ»‡ñe_,—bþ+-OÓ;qü\ÌL}œ†ñUÜÿI--=ž‡·B«•èãKª˜æÿ¾ÝE1ÿpÆ[ÎÓû! Mߊyuû>Û.NÛñ5K)Wb¹Ù¬Š8ö­iÇ[ž_®¹uÊ•MúÑzQ­Š¥Ò)V†€Ú(TØ€àx¿àÞ¢ žjy‹°°!ÀÐÔ•µZÔÀ2àP="¦ZdÔ0\ÃG©R\¡·”).–2*ÎШa!„U¼Ä,†³ÔÛHð° `+jÐÃ.¸5Nα@èâ°èÐVK-àxŸ%ô˜Ü3š% A°YÓ€z¡ÎšÔ>kP#¬³¦õ™5m0W£oš¦Ã¾žj­®§Üý·.†ÐZ¡ŽT$X/©)n)æ#W—„o(æ“oÀRZÞ $K¢p4’ŽZ¶-bâ\­1¦Ü°Jä æP"Gñ‘XÔQ¬‚i/8ºkÉ^€ÂZqŒ:ZsŒ½š9”d š­Bù Ž)ßsLù-ï7½æx˜ÏJ›¡¾Ò`¯ažÉ½)f¥É$†µ’1™¸ dÑŠcªCZCù<£7Ã3JÊgózÌnøþHȰíáÌYÉšäTœ¯a…Šï¯Æ,_»œ-Ÿ—Oë87Ë}êÛKÔ´Ü—Ll¹oKñšò+Êg­JÌâ.¾GZyóº‹Vðc­48¸’ï¼äØWtù]Í:P~`áŒñ±–rZŽq.nÍ1]Ç ÇàSÿæ/©ßP•ýïuö¿7Ùÿ¾Ìþ÷Uö¿·ÙÿÞeÿû:û?Èìÿ ²ÿƒÎþ&û?”Ùÿ!dÿ‡&û¿1y–¦¼ÍH·œn5þ¹ã)º½ÝyšÒ“Bï½x#†1Þž´Ãþ€]ôGoáõñÅ×Mñ?®Xê endstream endobj 297 0 obj << /Length 851 /Filter /FlateDecode >> stream xÚ}UËnÛ0¼ë+ØC€äà˜”¬W` $ ð¡ME¯ŽD§bÉäCþ¾œÝuÒA6†ËÙÝÙ‘D^}{ØÎlÛ?»Yt«Õ£ûóиYù}w ®®ª¾9]7ýp®uíew¼SCßlݤ®ËMµéÓ'oºæõܺ ësRá^Ý}Ôõ“û5sÍ8dzæ8Ï'7Ì&3ÓHy:L¯žúKù-õÙ–¢?Ý0úîN™[­µ¬»¶ìl æ"NÍ/r÷‡®D¡z†ÞÀ„ª=4“¬è¿9z‡¼}'wÜtû>X.ÕüÑoŽÓðFzo‚ùýкáн¨ëÏzÂö|:½:ˆQ:X­Tëö¾®÷åÇîèÔü‹©ß™Oo'§BZÖØô­O»Æ »îÅK­WjY׫Àuí{FRž÷îÚsuíÿBå«`ilB ˜„‘„­=öÌã¸æ@æ )UÖ 9yŽ€IÁ(Ñ¥âË ŒŠS*0Ö43Ö`Ô`ÔÌðÃ]¦È—©šß»A 𭑦 ábŒ±tX&Àá #êq,úê˜ãpÂØ§œ›g'~ι5°å8|Ô÷%NÉñ¸b'QÓDœ‹¸a á”8šìg×"Øh¸~ †ë' ~X—kzŽÕÇšê¬ÿâ_8õ¿1ðBx.BzҬÀ›hƘ'•g 2òÚxk=6Œáu2†¶,bŒúÙ‚ñ˜¼6äE–0Fý,eLœŒç‡†L¼ ¾ä…YÀ—¬` ÍYÉecªOó›ïDV3†ÎœõÇ蛳þüœõÓ;”³þzrÖŸP.ëO0{ÎúSâ³þ„ø¬3…æœu¦xÆ9ëŒ(—uF”Ë: }6ì³Å,V|ÆŒV|ŽÅgâˆÏèeÅg¼—V|F_+>ÃO+>G|ÆìV|†~+>C§Ÿ1»Ÿá›Ÿ©¾ø ýV|†ÎB|FßB|¿ŸÁ/Ägè)ÄgÊŸ1{!>_|&~Æ'a9i0K!þc–BüÇ{XˆÿT“¿K5ù;)¨ŽøNŽbøPq<ŽðÃÑ${„y¯ªå„¢ 1®÷“¾9ƒ¿èž¡Sçù¡sïWÑ©?!‹~t‡]®Q¬îëàiàT endstream endobj 298 0 obj << /Length 851 /Filter /FlateDecode >> stream xÚ}UËnÛ0¼ë+ØC€äà˜”¬W` $ ð¡ME¯ŽD§bÉåCþ¾œÝUÒA6†ËÙÝÙ‘D^}{ØÎlÛ?»Yt«Õ£;÷—¡q³òûî\]U}s9ºnüá\ëÚi÷|§†¾ÙºQ]—›jÓÆOÞtÍë¥uësRá^Ý}Ôõ“û5sÍ8­õ¬9ÎΗ“f£™i¤<ÆWOý‚¥ü–úlKQŸn8úîN™[¿ïë®-û#;s§æ“Üý¡kQ¨ž¡70¡jÍ(+úoŽÞ!$oßΣ;nº},—jþè7ÏãðFzo‚ùýкáн¨ëÏzÂör:½:ˆQ:X­Tëö¾®÷åÇîèÔü‹©ß™Oo'§BZÖØô­;ŸvvÝ‹ –Z¯Ô²®WëÚÿöŒ¤<ï'îÚsuíÿBå«`ilB ˜„‘„­=öÌã¸æ@æ )UÖ 9yŽ€IÁ(Ñ¥âË ŒŠS*0Ö43Ö`Ô`ÔÌðÃMSä‹iªæ÷n|k¤iC¸Xc,– pD¸ÂˆzA‹¾:æxœ0¶À)ç¦ÀljŸsn l9uÁ}‰Sr¼®ØIÔ4ç"nXCA8%Ž&ûÙµ6®AƒáúI‚ÖåÇšžcõ±¦:ë¿ø§þ7^ïÂEHOšupÍó¤ò¬áQF^o­Ç†1¼ÎBÆÐ–EŒQ?[0^“׆¼ÈƨŸ¥Œ‰“ñüЉÔ—¼0 ø’Œ¡9+ã¬bLõi~ãÈjÆÐ™³þ}sÖƒŸ³~z‡rÖCOÎúÊeý fÏYJ|ÖŸŸu¦Ðœ³ÎÏ8gå²ÎˆrY§¡Ï†}¶˜ÅŠÏ˜ÑŠÏ1°øLñ½¬øŒ÷ÒŠÏèkÅgøiÅgâˆÏ˜ÝŠÏÐoÅgè´â3f·â3|³â3ÕŸ¡ßŠÏÐYˆÏè[ˆÏàâ3ø…ø =…øL¹â3f/Ägâ‹ÏÄÏød ,' f)ÄÌRˆÿx ñŸjò·b©&'ÕÿÁ©¸W *ŽÇ~8šd0ïUµœPt"á Æò~Ò7—að—Ý3tªã> stream xÚ}UËnÛ0¼ë+ØC€äà˜”¬W` $ ð¡ME¯ŽD§bÉåCþ¾œÝUÒA6†ËÙÝÙ‘D^}{ØÎlÛ?»Yt«Õ£;÷—¡q³òûî\]U}s9ºnüá\ëÚi÷|§†¾ÙºQ]—›jÓÆOÞtÍë¥uësRá^Ý}Ôõ“û5sÍ8dzæ8;_Nn˜f¦‘òt_=õ –ò[ê³-E~ºá|è»;enµÖ>°îÚ²?b°s0qj>Éݺv…êzªöÐŒ²¢ÿæèBòöí<ºã¦Û÷Ár©æ~ó<o¤÷&˜ß­Ý‹ºþL 'l/§Ó«ƒ¥ƒÕJµnïëz_~ìŽNÍ¿˜úùôvr*¤µaMߺói׸a×½¸`©õJ-ëz¸®ýoÏHÊó~â®=W×þ/ÔQ¾ –É&¤€)ˆH8ù@h€ÐÚcÈ<Žkd>€‘Re€‘ƒ‘瘌]*®áq°¬À¨8¥cMC0c F FÍ 1Ü4E¾˜¦j~ï1À·Fš6„‹0ÆÒa™G„+Œ¨ıè«cŽWÀ c œrn œqœø9çÖÀ–ãðQÜ—8%Ç àŠDMq.â†5„Sâh²Ÿ]‹`£áú4®Ÿ$øa]~¬é9Vkª³þ‹?qêcà…ð.\„ô¤Y‡7ÑŒ1O*ÏeäµñÖzlÃë,d mYÄõ³ã50ymÈ‹,aŒúYʘ8Ï ™xA}É ³€/YÁš³’1<Ê*ÆTŸæ71Þ‰¬f 9ëÑ7gý1ø9ë§w(gý1ôä¬?¡\ÖŸ`öœõ§Ägý ñYg Í9ëLñŒsÖQ.ëŒ(—uúlØg‹Y¬øŒ­ø‹ÏÄŸÑËŠÏx/­øŒ¾V|†ŸV|&ŽøŒÙ­ø ýV|†N+>cv+>Ã7+>S}ñú­ø …øŒ¾…ø ~!>ƒ_ˆÏÐSˆÏ”+>cöB|&¾øLüŒOÂrÒ`–BüÇ,…ø÷°ÿ©&+–jòwRPñœŠ{Åð¡âxᇣIöó^UË E'b\!ï'}s Ð=C§:ÎóCçÞ¯¢SBýè›®Q¬îëàŠôàY endstream endobj 300 0 obj << /Length 851 /Filter /FlateDecode >> stream xÚ}UËnÛ0¼ë+ØC€äà˜”¬W` $ ð¡ME¯ŽD§bÉåCþ¾œÝUÒA6†ËÙÝÙ‘D^}{ØÎlÛ?»Yt«Õ£;÷—¡q³òûî\]U}s9ºnüá\ëÚi÷|§†¾ÙºQ]—›jÓÆOÞtÍë¥uësRá^Ý}Ôõ“û5sÍ8šPëYsœ/'7ÌF3ÓHy:Œ¯žúKù-õÙ–¢?Ýp>ôÝ2·ZkXwmÙ1Ø9˜‹85Ÿäî];ˆBõ ½ U{hFYÑsô!yûvÝqÓíû`¹TóG¿y‡7Ò{Ìï‡Ö ‡îE]&ж—ÓéÕAŒÒÁj¥Z·÷u½/?vG§æ_LýÎ|z;9ÒڰƦoÝù´kܰë^\°Ôz¥–u½ \×þ·g$åy?qמ«kÿê(_KƒdRÀ”Ä$ˆ| 4Àhí±dÇ52HÀH©²NÀÈÁÈsL F‰.×ð8XV`TœR±¦!˜±££f†Çnš"_LS5¿wƒà[#MÂÅcé°L€#ÂFÔ âXôÕ1Ç+à„±N97Î8Nüœsk`Ëqø¨ îKœ’ãpÅN¢¦‰8qà Â)q4ÙÏ®E°Ñpý ×Oü°.?Öô«5ÕYÿÅŸ8õ¿1ðBx.BzҬÀ›hƘ'•g 2òÚxk=6Œáu2†¶,bŒúÙ‚ñ˜¼6äE–0Fý,eLœŒç‡†L¼ ¾ä…YÀ—¬` ÍYÉecªOó›ïDV3†ÎœõÇ蛳þüœõÓ;”³þzrÖŸP.ëO0{ÎúSâ³þ„ø¬3…æœu¦xÆ9ëŒ(—uF”Ë: }6ì³Å,V|ÆŒV|ŽÅgâˆÏèeÅg¼—V|F_+>ÃO+>G|ÆìV|†~+>C§Ÿ1»Ÿá›Ÿ©¾ø ýV|†ÎB|FßB|¿ŸÁ/Ägè)ÄgÊŸ1{!>_|&~Æ'a9i0K!þc–BüÇ{XˆÿT“¿K5ù;)¨ŽøNŽbøPq<ŽðÃÑ${„y¯ªå„¢ 1®÷“¾¹ ƒ¿èž¡Sçù¡sïWÑ©?!‹~t‡M×(V÷uðõ¥à endstream endobj 301 0 obj << /Length 665 /Filter /FlateDecode >> stream xÚmTMkã0½ûWh…öF’G*!àØ ä°miʲ×ÔVZCcÛYè¿ßy#9햅ļÍÌ{3ú¸úñ¸Ÿ¤eóâ&ñ­O®oÎ]á&ÙÏC]]åMq>¹z¸w®tå¸Ú߉Ǯ)ön×Ù.ßÕÕpCÁ»ºx?—nŒúÐÚ½VõgxÄõ³û=ißþt¦›ÐO"î¹Þiýû’ [\lÁ¡¿\×WM}'Ô­”’›ºÌšt÷Ñ4p‹é¨æXÕeˆȉ”eU Áâoq¢ yÿÑî´«M´\Šé-öC÷ÁÊn¢éCWº®ª_ÅõEy÷ç¶}wP d´Z‰Ò©õz891ýÞÔeùù£uB³­¼š¢)]ß ×êW-¥\‰åv»Š\]~[S!åå8Æ&+ø¨™Z‘c¼eÇ"'‡2„•¥ÖÉŒå5çIÂä@Ä|놉"¼àB2AQƒhíSlLØÎØ¡28a}„ŠÉ‘¢Fšq5ÒïŠnnìbfÇ®Š·CG= WêÜ¢íe$ôg;þ´A,½ˆ:“sŸ‡¶¥ñx l=N×£O™ñT”Ƙ$û³0ó«²óë˜ý_¸س/vЧæÿú Q%~ú˜œZxÎ pÊX2ÿÚû™Óë¢]$œ£^œqnØÆa¿ K‡¹ƒ?‘£?ãq FqMyíc0Ã=) &l(´™¹ßmôiü,3Æ|’d &å\ÖcÖÞ †·]͹&ôÓˆ9wã{dÞ-ãtÚÀ…xö•õ¹ì\˜ \¨cΜÍýÜÀe™kžqL¸àJs?·<œ@>q¸hx .×·8wÝl~1øÖâ¾Vµ»<*mÓ"‹ÿü﬇mômDaš endstream endobj 302 0 obj << /Length 664 /Filter /FlateDecode >> stream xÚmTMoâ0½çWx•ÚÅvB°+„8l[•jµWHL7RI¢ý÷;oìÐnµDoÆ3óÞŒ?n~<ï&YÕÜ$¾—âÅÛK_ºIþsßE77E[^N®«\5®žÄsß–;7ˆÛ|[l›z¸£àmS¾_*7Fý?håÞêæ3<âöÕýžtÃé`ú ý$â^ëáÖ¿/ ²ÅÕúËõçºm„º—R’cÝTy{‚îs4 Üb:ª9ÖMÕâ9‘Ò¢ªË!Xü-O4$ï>΃;m›c-búB‹ç¡ÿ`ewÑô©¯\_7oâöªŠ¼»K×½;(2Z.EåŽTŒz}ÜŸœ˜~oêºüúÑ9¡ÙV^MÙVîÜíK×ï›7-¤\ŠÅf³Œ\S}[S!åpcSŠ•s|T¢–äXoØ1/È¡ aeé£ušC£¼æ> stream xÚmTMoâ0½çWx•ÚÅvB°+„8l[´Ú+ML7RI¢ý÷;oìÐnµDoÆ3óÞŒ?n~<ï&YÕ¾ºI|/Å‹;·—¾t“üç¡‹nnж¼œ\3<:W¹j\=?ˆç¾-wn·ù¶Ø6õpGÁÛ¦|¿TnŒúÐʽÕÍgxÄíÞýžté7ý„~qûzx§õïK‚lqµ‡þrý¹n›¡î¥”äX7UÞž ûM·˜ŽjŽuSõA€x…œHiQÕå,þ–'’wçÁ¶Í± 1}¡Åóа²»húÔW®¯›7q{UEÞÝ¥ëÞ-—¢rG*F½>NNL¿7u]ÞtNh¶•WS¶•;w‡Òõ‡æÍE )—b±Ù,#×TßÖTHy=ޱ)ÅÊ9>*QKr¬7ì˜äP†°²ôÑ:MÈ¡Q^sž$LDÌ6ÞaÈ‘*Âs.$S5ˆ6`Ñ>ÅÆ„m•Ãë#TLŽ 5²œkd¨‘­}WìXssc‰»*ÿzê¹Rýh/#¥?Ûñ§ béE$èLÎ|Ú–Æã°õ8^yŒ>eÎSQc’ìÏçÀ̯bÈV̯cöáNa'_ì OÍþõA£Jýô195÷œkàŒ±dþ•÷3§×E»H¸@½8çܰ%ŒÃ~A—s*=FÆã Œâšó0ÚÇ`†{RLØPh33¿ÛèÓøYæŒù$ÉLƹ¬Ç¬¼ o»šqMè§sîÚ÷ȼÆ tÚÀ…xö•õ¹ì\˜ \¨cΜ-üÜÀe™k–sL¸àÊ ?·"œ@>q¸hx ®×·¼ô=Ýl~1øÖâ¾Ö»>*]Û!‹ÿüﬧMô±Ba© endstream endobj 304 0 obj << /Length 665 /Filter /FlateDecode >> stream xÚmTÁn£0½óÞC¥öÆ6„ØU‰@"å°mÕT«½¦àt‘@„ú÷;olšv»R‚ž3óÞŒm®~<î&YÕ¾¸I|+Å“;µç¾t“ü羋®®Š¶<]3Ü;W¹j|{º}[îÜ ®óm±mêᆂ·Mùv®Üõÿ •{­›KtÄõ³û=é†c_›~B?‰Àçzx£€oïâBþåúSÝ6wBÝJ)‰X7UÞaýMƒ¼˜Ž†uSõÁƒx£HiQÕåVü,4$ïÞOƒ;n›C-búD/OCÿÎÞn¢éC_¹¾n^ÅõÅÑ»s×½9X2Z.EåTú½ß˜~ëëãýó{ç„æµò~ʶr§n_º~ß¼ºh!åR,6›eäšêŸw*¤¼ÆØ”b啨%kà ó‚e+K­Ó„òšó$a"1Ûx‘*Âs.$S5ˆ6PÑ>ÅÆ„m„ÊA Âú‘¡F–s 5²µïЉ577v‘ر«òϾ§+uaÑö6Rúó:¾¬!,½‰É™ÏCÛÒx¼¶gÀ+ѧÌy*JcL’ù|Ìú*†mÅú:fþ“vŠuòiü©ÙWUê§É©¹×\gŒ%ë¯<ÏšÞí"áõâœsÖ0û_:Ìú©ôý3x0ŠkjÌÃhƒyîIYx0aCáÍÌün£Oãg™3æ“$cx0ç²³ò<<Þv5ãšðO#æÜµï‘u7Œø´A ñ6ì*ës™Z˜ Z¨cƒΜ-üÜ eYk–sL¸ÐÊ ?·"œ@>q¸hø|ÜßòÜ÷tµù›Á·÷µnÜÇg¥k;dñŸ¿GãG«‡Mô€@c¶ endstream endobj 305 0 obj << /Length 665 /Filter /FlateDecode >> stream xÚmTÁn£0½óÞC¥öÆ6„ØU‰@"å°mÕT«½¦àt‘@„ú÷;olšv»R‚ž3óÞŒm®~<î&YÕ¾¸I|+Å“;µç¾t“ü羋®®Š¶<]3Ü;W¹j|{º}[îÜ ®óm±mêᆂ·Mùv®Üõÿ •{­›KtÄõ³û=é†cßš~B?‰Àçzx£€oïâBþåúSÝ6wBÝJ)‰X7UÞaýMƒ¼˜Ž†uSõÁƒx£HiQÕåVü,4$ïÞOƒ;n›C-búD/OCÿÎÞn¢éC_¹¾n^ÅõÅÑ»s×½9X2Z.EåTú½ß˜~ëëãýó{ç„æµò~ʶr§n_º~ß¼ºh!åR,6›eäšêŸw*¤¼ÆØ”b啨%kà ó‚e+K­Ó„òšó$a"1Ûx‘*Âs.$S5ˆ6PÑ>ÅÆ„m„ÊA Âú‘¡F–s 5²µïЉ577v‘ر«òϾ§+uaÑö6Rúó:¾¬!,½‰É™ÏCÛÒx¼¶gÀ+ѧÌy*JcL’ù|Ìú*†mÅú:fþ“vŠuòiü©ÙWUê§É©¹×\gŒ%ë¯<ÏšÞí"áõâœsÖ0û_:Ìú©ôý3x0ŠkjÌÃhƒyîIYx0aCáÍÌün£Oãg™3æ“$cx0ç²³ò<<Þv5ãšðO#æÜµï‘u7Œø´A ñ6ì*ës™Z˜ Z¨cƒΜ-üÜ eYk–sL¸ÐÊ ?·"œ@>q¸hø|ÜßòÜ÷tµù›Á·÷µnÜÇg¥k;dñŸ¿GãG«‡MôñcÔ endstream endobj 328 0 obj << /Producer (pdfTeX-1.40.24) /Author(\376\377\000C\000h\000r\000i\000s\000t\000i\000a\000n\000\040\000S\000i\000e\000v\000e\000r\000s)/Title(\376\377\000F\000G\000A)/Subject()/Creator(\376\377\000L\000a\000T\000e\000X\000\040\000w\000i\000t\000h\000\040\000h\000y\000p\000e\000r\000r\000e\000f\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000/\000\040\000G\000A\000P\000D\000o\000c)/Keywords() /CreationDate (D:19700101000000Z) /ModDate (D:19700101000000Z) /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022) kpathsea version 6.3.4) >> endobj 255 0 obj << /Type /ObjStm /N 87 /First 792 /Length 4211 /Filter /FlateDecode >> stream xÚí[Ys7¶~ׯÀc4)ûV•šªææØ‘eÙR¼–ëMµ%Ž)RÜ̯¿çÝMôBZtfòpoÊf7ËÁw¾³h‘B)ˆPšp)ànˆ0 î–H¯áîˆîžíˆÐ’XψöÄI Œ8 Íگ͉€.‡C;g †n,2œp £…h Ðl‡Lîˆ30»TØäˆ4ʟ㉠j,'Jsj%QVd®¼Ã XQ¼õDkÔÆqbó§1Š¡xMŒ °³Ä8 ’'V0èì9±ÆA:r„!ˆš´!Nƒd.5q^ W 0³ œ4Ä Àè.5 *„>á‚ ”Ã@ï€!8cBƒôp¯J`® g­Àu0(È™çÐa ÒAÑH”Å9ò„qL䚣†Û$èá\qCÀŒPƒ(€Ü(ìl€u‰÷DbgkP‡ÁΚ€0.Nd°–V@A©ôh¬BóK†5Rƒ` žƒg€dTB8°9¨ˆÁ¾(AJa ˆ3JäQZPWr䨇:˜RáLL•°0‡9”RJ0‡2@µDŒÊI}"á‰klH škdD ˜CK‡ý`­À_$ÚQk02¢à:¾%#N~úé„^ÿþš-ËÍ ½Ú~Ú„çóÙâË í/W7ùêƒàaéÏô)|àáᄾʧò{Ù³ÓCêã=X€ãž÷úeä§Ÿ½"ôÉòzIèüð0¹Í{ö”üýï'ðÿ?€AÚž4È ì9´‡R=‡|kÕ³VíÇ`þƒ˜ìifpœžðè[ ôóòDëŸÁèžÆ``ºçf"<ú{Ïò?ƒâ¾ç0ö9`Álf{˜Õ ÜæÀѽè1ˆ#Pÿ¸·« ]ð=Hõ¾ãåbfÃzaÐØb6)$ŒaY°,”a ½\-§W9¨EèåpLèuþÛ†q`èé'¤s=H?áªdY=‡ \¥”=Y”±í±‘Èˆ× f³ÍºdÎ]é1WHö» ?ìBÃ¥»¶œoW“tÞ=i¬¸vvÅ9ö„Äg‹« 6ˆW4¡ÖºgŠkìT¢'Êk2Îf=¸/lC ò)À• •÷p• =¹C)^á<æ` Wå@š7ÎC\Ȱ d#à *ã†ã¨²8ˆx à  ¸z§B×1ÆÁÕ U)¹÷šPËVOu\KöS—…cãžMm¸J zþuýsÅÔ„ ±áʰƒ­–ÿòˆÿCvNm\ÙlmaÅgÜ=ëšm°?âB_¨‡:ô ô¯ë_×ä ~GýÒ{óíUøàá¿ü`½a ?I6 ^Zx-ŽƒU±æ¥iß*ƒá\1‹…çЯÈlø‘ÎÌxWЧÄUbÄ9Ê{ª–ñSÖÛblM?ç+ù¥ Ĉwø`$(xx›‘43ƒï_° Gb öa{þa;w,¼x ,±êˉüJÓðB&ö?ÖŠ%(£ü N/89°¦TV”áíJa¢Ø,­VX8µ¾ùUþ‚ú’“ ¯ñ•Së•÷Ôºö¢l;ô.1¦œ¤ÖÖD¾± w­xb‰²GmûLÄ ÏÄÔ;µaá!Dê0àÄ–†ÓPõÁØ’¬bµs(b!îCÆß±m]m¥VIäÄ ~"45‹v¼\08˜¥¸§õÕ˜¢ìŠrÙ^ÁKÚfù˜œ‡ñè8Ì×ÓÕìa³\Å£äÅäZž¿¹ _ý8xþü)gÐ0ŸÜ®‰Š=úýåoäÙä ÀœŒ­ÆÓr¶žæp5z&?ç³Û» ¾.„mÛÎ86>ÝLæ³i¶¸çPW›üþ5@=¡o‹QJrr7YáQõ:]ÞßOèí*Ÿlò}ÈW³å ݬf”±Â§Ýx2E<îÖOÿûµ}òôÉøý´}µOYÅJe™ÿ#ʲRUã÷ªšÿs;™Ó‡É*_ÌóÏ›X *Ò‡ùv]×S£çËáûŸOAÏ«wûžœùðB”C¦±z§(hý}VUl¯ª`½O«ÉôK¾ šî£ºŸ&+šÏó{˜¢4}$ç~¶Ø®é"¿lfËÅz>YßÕiQÇÐ2|ýæòÝàÇ«ñÕ5g^wÃ!œÎ¤ o®qÅL]€ó3øX1#„h0ãKbt–ótŸ~ Š®Csú™ÞÒõé‚.ér‘Óº¢kº¡›»UžÓÍ¿–tK¿ÒÕÉ0Çñìõõðݯ@Æõ5¦®=^ËgAPí¤û^2Ø#¸ÈhŸèŽèxÁ÷sçô‚¾ —ô½¢×ôWúš¾¡:YOg³él5ÝÞC|e¶þB'àE4õ±šƒMÜùr‘Pýë3ý<û |/·+ ¼Ì:wôî÷‡»|6øV˜çëu0Åb{ÿ)_­g·;«tGoÌZÿÜækt[(,7ùͧy°á:¿ŸE0ëÙo4Z~³³(ýþNÿMÿ¯–u㺣À‹_~¹¾*Œ»ÏÓSh\üƒƒþCžþxãFÓ¢aŸ¦}Y÷ }·Ï¸ŸÒ(9lÊ[°ÞŒþ#. ŸC† f9Æî¨Ugpýìåå“h ±?ÒDi°…rÂÿ7Q±Y×ê¨5æÙåËìõû/f÷Ÿ¶ë«ÉâüìU~»Ý“S!yœáŸ™ ÓpâµLV.RåÂãN9.÷(çôN9-dÝÓÐÇ.몵N¼9zñ,+T{µ¼¿Xúó³çùÍlv“¤*Þö¢šnêk)>î´c~v¼¶”~l M bÊ8 ¼½+åÝ9.¤·DJ/Ihä_ó˜­ZëO :ÕG­B¯ß^<Íú ª8RµŽT •Pm]j]‹náHJc=z–ð]O[ÖžOÛù<ï\‚¢U7˜uÐ, ËT‹Ð?ö˜èÐÚÐJ±µ±U†­2_—y;òßQ‹ÑÛW/FWï:l|v5Ÿ,6ÿçÿÿ²µw[±ƒæ3×ÔôÇ.~=¿8ïP‘ìSvá"|Ç74uñ1Ù…Ëæ.\Wg+—h¨©£LèÄ—Á›©âs‘ÊÕ³– 6àÁ)ê4u¬£Åty3[ÜèÙçϰ_Ló5ù Àʼnô©Kvy1/⤈CtStÇè§ÑcCÌ„è Þü:†Wˆ˜ÒÝ Ç‡%4&Cð›®('Öt%Vâ,}Cœ§ïˆçi¼/k!k@~‘á”Ûtwò¡ZR[E,¾Ì1?||½Ríöš»Í*̺sE¹¿úctíšÇ-s\oÊMuµ†z‹ó=Œã†¿‹ðd;XKµÉæ‘xû-æñ?mî?¶ã=ù&VBLõ'ë<ü=¾õ¥–·±06èx¶Zo0a9?¡ç“âÁÀnçÍìfs·ß ]¯—¿.€ÆŒ¬=Û–C€ï8šxd KñðíÚxôñxšï"š€tPЇ3“òm@æx@í·MH¶Å‘J1qŸ-Z¨ ÈðU¸J{<Êöñ¼‰Ò7QÊJ‘º–y J÷Æm3(?èou”ü1(ýñ(Û°&ÊVTx‘ ô Hm¿ R2ößwžjbmŒÑ VÇBu«m¬üx¬‡HM¸ö`¬;€ ^q<ÞC§Œ&ÞVX¥žÀuJ¯{ \ù)ü;Éd/¿Aq’Ô} æïXv·Éo"ç}Ù¦Àåc€w¬O—“Û| »àåwÕ'ð¼Â=4~?8 ÿev;§(žÄ?nÇã›x.ÞeðŽß3×:ʈK0ᮘ#nŸáçÀïSc¾oŽâ»„Çʲs‰#nQÂW§Ûc_l7sØA¯ ‘b¹C‘rÃëjà öh¤Læ)÷äÂ/WùW¢ë xZ¦Xª UEã~­Ñ°9²’ÃjrÊ‘QŒkT¾©LçÈ0§#u5RÀ.jrL%žHq1EAñ™hLVq,ë‹TAÙA±¬(–êÀH‘ T ËŠaÉö‹.Ó…FTt Ó)&Žì [Tt‹Ct§bJF¶Eʶª9ô™jÌU±Íël§ºòõxE6Wû¦\‹®yÅ5g{¥¤LwA©ˆ6]"â°š+–y7ÉtØ”W±‡W|o‰è‡árzvµ™¬6§$®©ä‡óÞ[ë¤:/ìÈBQªSü¡@Òê¹[nGzØw&ƒV›ŒõŽõYÖwÊrÏåð¿ÕºkÍD¬4HfÎ198ÅA$­fìÝxèô˜A¿Ñ)X^ÇÔHÏg÷³Mrç˜MC§¾RC9tlÄÆN#d•(”ÆÛÏgj0FPñ­ulí{‘²‘Í}à’’½Å'­†CăL@à³@šIëˆ ä {– -OÃöªVk,LkW6i‰­h*ÞBß9ºSqÛ×Ò2´ÚP1\Ý%ú¬|ßfÙxäB ˜Â¦Ó»ÉÃ&_ý­þïe£´,vev«÷ÂN¢+pÛ’!-Ê& N•Ì6y¯?[Ýæ›Ñ&›3t6Î’¶óß7ËÅÕônûð`-Z$y‘oï'‹…Dc•6Ìòù:_`µNª¯fù×|µf¡Ë< ¾f÷¶.±ý~í1¸YüÉLüÁÐglúŒJy•ÖðÓ𭶤æµ>€Bèéµy«ž-x¡d€øŒZ—¹;T tî’ Nâ2èd<©@ÄMtŠªœ®ìÓÇa&щ0ŒNWZçS|…û7D©}­®Ç‘SÛ¬ÃøäÍJÔQwƒÙkýZwÈK‚@Â6+ƒäÍJÀ u³dʆL‰2U‹ÌŽZç½eãÈöS‚çàRv6!ƒJt6!Ju4"¸²MA ß§P@ÙÒÖªÞ#˜”w·†Ò®³ ]Ù°Î&tj#:›Ð½îlBï5mcµ°¶Ç}KA ã;& Âm×*49ÝÙ„fpÝ£Lç;›‚×ëo(èO;ÆU ÆÓ?þ 'EZ”EF—E¸Êx?>>°÷íXI ùE¢”1ÒÃÏ”ãÝ÷b~î¥øýŽXLSlë¥àÇZ½‹”b+!‹L uHùýâ†ùzKÑñ>j0ÙLæËÛ“øZf÷§|Ó’œª‚'ÊÝ™ø6¾¼Éé¯ëüb¹ÈaÈC¾ÈÂüÄT§¶ÿºE]D endstream endobj 329 0 obj << /Type /XRef /Index [0 330] /Size 330 /W [1 3 1] /Root 327 0 R /Info 328 0 R /ID [ ] /Length 795 /Filter /FlateDecode >> stream xÚ”7oVAEwö3˜dL²1L2&ÚdLÎ9›`09üzBAGECqAB!QÐ#! Z ¨¨hi`xç6G³óÞì›7÷î–RJÖRj‰Òÿ¡íjûˆT°‡Ü^¢h¼’<¨ãÀxp‚Ün¢v0œ"Ǧu"˜ΑÛI4LÈí êSÁMrÛ‰:Á´ê&·åt0ƒ\¹­,g‚Yä†ÈmaÙ(ÓZrÃ,gƒrëÉmf9Ì%çlbÙ æ±är#Ëù€OÖ`!X¥tz~‹Àb^^VƒA° ¬áéR0ÈÕå`X («”UÊ*ÿQ]F÷u çº¸ñþ(ñÇwnÜî‘xV¢§{ÃQÚ¾ºÌRX7DN·±Ÿˆ&uXéÃà8 Ž3à`”ŽûÞê8eîù$‘ÿí4°³0ØYî` ŒDéúçÚ³à<Á%vY˜ZöSkÿ]ŽÒ×î²+à*¸®ƒà¸ îPÆËÂÔÂÔjEqÓh\”Áç^be!·0°°­°­0k"”p¬ð©ð©p§ìN<)<™¨%»iV” ¯¼3NÖ“­‡á„¹ä9÷FÙÙá÷p˜0—0—°”°”„<¦!¬¢eQsÖûCAa­Žr쵟â&a$á!aaq „_„_„_„_„_„_´)ÊÈ=ï‚U„U„„„„ðâ‹c/ A4ÐWœ}!²8ñBi¡´PZ8B—ª U…ªBU¡ª¸„´BZ!mÒZ"m"mrK%.IŒ‡£\øá÷Ð7×Ekà»—>«ˆœˆœ}}“Ù'"'"'"'"§EÆ9Ùè{뉷êŠò`ÀQw”g?ÍŽòþ—£žˆÎâhNÄ‹•ŽæF]¾ÑQoÔ¡GŽæEÝòÑÑü¨w_:ê‹úî’£Q¿Œ9ZõïÉ­2Ú õ¸Aû“[ ¦¾i0ãxƒ®ß z¾5èýÜ ïmƒEO½¯>|>ìÉä°'š'‡=999}º}ËûtûnGäDäDäDäôÈék}4Zý›ï*ÿÅAì1 endstream endobj startxref 210880 %%EOF fga-1.5.0/doc/times.css000644 000766 000024 00000000261 14413016355 015142 0ustar00mhornstaff000000 000000 /* times.css Frank Lübeck */ /* Change default CSS to use Times font. */ body { font-family: Times,Times New Roman,serif; } fga-1.5.0/doc/toggless.css000644 000766 000024 00000001672 14413016355 015657 0ustar00mhornstaff000000 000000 /* toggless.css Frank Lübeck */ /* Using javascript we change all div.ContSect to div.ContSectOpen or div.ContSectClosed. This way the config for div.ContSect in manual.css is no longer relevant. Here we add the CSS for the new elements. */ /* This layout is based on an idea by Burkhard Höfling. */ div.ContSectClosed { text-align: left; margin-left: 1em; } div.ContSectOpen { text-align: left; margin-left: 1em; } div.ContSectOpen div.ContSSBlock { display: block; text-align: left; margin-left: 1em; } div.ContSectOpen div.ContSSBlock a { display: block; width: 100%; margin-left: 1em; } span.tocline a:hover { display: inline; background: #eeeeee; } span.ContSS a:hover { display: inline; background: #eeeeee; } span.toctoggle { font-size: 80%; display: inline-block; width: 1.2em; } span.toctoggle:hover { background-color: #aaaaaa; } fga-1.5.0/doc/chap2.txt000644 000766 000024 00000035473 14413016350 015055 0ustar00mhornstaff000000 000000 2 Functionality of the FGA package This chapter describes methods available from the FGA package. In the following, let f be a free group created by FreeGroup(n), and let u, u1 and u2 be finitely generated subgroups of f created by Group or Subgroup, or computed from some other subgroup of f. Let elm be an element of f. For example:  Example  gap> f := FreeGroup( 2 );   gap> u := Group( f.1^2, f.2^2, f.1*f.2 ); Group([ f1^2, f2^2, f1*f2 ]) gap> u1 := Subgroup( u, [f.1^2, f.1^4*f.2^6] ); Group([ f1^2, f1^4*f2^6 ]) gap> elm := f.1; f1 gap> u2 := Normalizer( u, elm ); Group([ f1^2 ])  2.1 New operations for free groups These new operations are available for finitely generated subgroups of free groups: 2.1-1 FreeGeneratorsOfGroup FreeGeneratorsOfGroup( u )  attribute returns a list of free generators of the finitely generated subgroup u of a free group. The elements in this list form an N-reduced set. In addition to being a free (and thus minimal) generating set for u, this means that whenever v1, v2 and v3 are elements or inverses of elements of this list, then  v1v2≠1 implies |v1v2|≥max(|v1|, |v2|), and  v1v2≠1 and v2v3≠1 implies |v1v2v3| > |v1| - |v2| + |v3| hold, where |.| denotes the word length. 2.1-2 RankOfFreeGroup RankOfFreeGroup( u )  attribute Rank( u )  operation returns the rank of the finitely generated subgroup u of a free group. 2.1-3 CyclicallyReducedWord CyclicallyReducedWord( elm )  operation returns the cyclically reduced form of elm. 2.2 Method installations This section lists operations that are already known to GAP. FGA installs new methods for them so that they can also be used with free groups. In cases where FGA installs methods that are usually only used internally, user functions are shown instead. 2.2-1 Normalizer Normalizer( u1, u2 )  operation Normalizer( u, elm )  operation The first variant returns the normalizer of the finitely generated subgroup u2 in u1. The second variant returns the normalizer of ⟨ elm ⟩ in the finitely generated subgroup u (see Normalizer (Reference: Normalizer) in the Reference Manual). 2.2-2 RepresentativeAction RepresentativeAction( u, d, e )  operation IsConjugate( u, d, e )  operation RepresentativeAction returns an element r ∈ u, where u is a finitely generated subgroup of a free group, such that d^r=e, or fail, if no such r exists. d and e may be elements or subgroups of u. IsConjugate returns a boolean indicating whether such an element r exists. 2.2-3 Centralizer Centralizer( u, u2 )  operation Centralizer( u, elm )  operation returns the centralizer of u2 or elm in the finitely generated subgroup u of a free group. 2.2-4 Index Index( u1, u2 )  operation IndexNC( u1, u2 )  operation return the index of u2 in u1, where u1 and u2 are finitely generated subgroups of a free group. The first variant returns fail if u2 is not a subgroup of u1, the second may return anything in this case. 2.2-5 Intersection Intersection( u1, u2, \dots )  function returns the intersection of u1 and u2, where u1 and u2 are finitely generated subgroups of a free group. 2.2-6 \in \in( elm, u )  method tests whether elm is contained in the finitely generated subgroup u of a free group. 2.2-7 IsSubgroup IsSubgroup( u1, u2 )  function tests whether u2 is a subgroup of u1, where u1 and u2 are finitely generated subgroups of a free group. 2.2-8 \= \=( u1, u2 )  method test whether the two finitely generated subgroups u1 and u2 of a free group are equal. 2.2-9 MinimalGeneratingSet MinimalGeneratingSet( u )  attribute SmallGeneratingSet( u )  attribute GeneratorsOfGroup( u )  attribute return generating sets for the finitely generated subgroup u of a free group. MinimalGeneratingSet and SmallGeneratingSet return the same free generators as FreeGeneratorsOfGroup, which are in fact a minimal generating set. GeneratorsOfGroup also returns these generators, if no other generators were stored at creation time. 2.3 Constructive membership test It is not only possible to test whether an element is in a finitely generated subgroup of free group, this can also be done constructively. The idiomatic way to do so is by using a homomorphism. Here is an example that computes how to write f.1^2 in the generators a=f1^2*f2^2 and b=f.1^2*f.2, checks the result, and then tries to write f.1 in the same generators:  Example  gap> f := FreeGroup( 2 );  gap> ua := f.1^2*f.2^2;; ub := f.1^2*f.2;; gap> u := Group( ua, ub );; gap> g := FreeGroup( "a", "b" );; gap> hom := GroupHomomorphismByImages( g, u, >  GeneratorsOfGroup(g), >  GeneratorsOfGroup(u) ); [ a, b ] -> [ f1^2*f2^2, f1^2*f2 ] gap> # how can f.1^2 be expressed? gap> PreImagesRepresentative( hom, f.1^2 ); b*a^-1*b gap> last ^ hom; # check this f1^2 gap> ub * ua^-1 * ub; # another check f1^2 gap> PreImagesRepresentative( hom, f.1 ); # try f.1 fail gap> f.1 in u; false  There are also lower level operations to get the same results. 2.3-1 AsWordLetterRepInGenerators AsWordLetterRepInGenerators( elm, u )  operation AsWordLetterRepInFreeGenerators( elm, u )  operation return a letter representation (see Section 'Reference: Representations for Associative Words' in the GAP Reference Manual) of the given elm relative to the generators the group was created with or the free generators as returned by FreeGeneratorsOfGroup. Continuing the above example:  Example  gap> AsWordLetterRepInGenerators( f.1^2, u );  [ 2, -1, 2 ] gap> AsWordLetterRepInFreeGenerators( f.1^2, u ); [ 2 ]  This means: to get f.1^2, multiply the second of the given generators with the inverse of the first and again with the second; or just take the second free generator. 2.4 Automorphism groups of free groups The FGA package knows presentations of the automorphism groups of free groups. It also allows to express an automorphism as word in the generators of these presentations. This sections repeats the GAP standard methods to do so and shows functions to obtain the generating automorphisms. 2.4-1 AutomorphismGroup AutomorphismGroup( u )  attribute returns the automorphism group of the finitely generated subgroup u of a free group. Only a few methods will work with this group. But there is a way to obtain an isomorphic finitely presented group: 2.4-2 IsomorphismFpGroup IsomorphismFpGroup( group )  attribute returns an isomorphism of group to a finitely presented group. For automorphism groups of free groups, the FGA package implements the presentations of [Neu33]. The finitely presented group itself can then be obtained with the command Range. Here is an example:  Example  gap> f := FreeGroup( 2 );; gap> a := AutomorphismGroup( f );; gap> iso := IsomorphismFpGroup( a );; gap> Range( iso );   To express an automorphism as word in the generators of the presentation, just apply the isomorphism obtained from IsomorphismFpGroup.  Example  gap> aut := GroupHomomorphismByImages( f, f, >  GeneratorsOfGroup( f ), [ f.1^f.2, f.1*f.2 ] ); [ f1, f2 ] -> [ f2^-1*f1*f2, f1*f2 ] gap> ImageElm( iso, aut ); O^2*U*O*P^-1*U  It is also possible to use aut^iso or Image( iso, aut ). Using Image will perform additional checks on the arguments. The FGA package provides a simpler way to create endomorphisms: 2.4-3 FreeGroupEndomorphismByImages FreeGroupEndomorphismByImages( g, imgs )  function returns the endomorphism that maps the free generators of the finitely generated subgroup g of a free group to the elements listed in imgs. You may then apply IsBijective to check whether it is an automorphism. The following functions return automorphisms that correspond to the generators in the presentation: 2.4-4 FreeGroupAutomorphismsGeneratorO FreeGroupAutomorphismsGeneratorO( group )  function FreeGroupAutomorphismsGeneratorP( group )  function FreeGroupAutomorphismsGeneratorU( group )  function FreeGroupAutomorphismsGeneratorS( group )  function FreeGroupAutomorphismsGeneratorT( group )  function FreeGroupAutomorphismsGeneratorQ( group )  function FreeGroupAutomorphismsGeneratorR( group )  function return the automorphism which maps the free generators [x_1, x_2, dots, x_n] of group to O: [x_1^-1, x_2, dots, x_n] (n≥1) P: [x_2, x_1, x_3, dots, x_n] (n≥2) U: [x_1x_2, x_2, x_3, dots, x_n] (n≥2) S: [x_2^-1, x_3^-1, dots, x_n^-1, x_1^-1] (n≥1) T: [x_2, x_1^-1, x_3, dots, x_n] (n≥2) Q: [x_2, x_3, dots, x_n, x_1] (n≥2) R: [x_2^-1, x_1, x_3, x_4, dots, x_n-2, x_nx_n-1^-1, x_n-1^-1] (n≥4) fga-1.5.0/doc/chap3.txt000644 000766 000024 00000003722 14413016350 015046 0ustar00mhornstaff000000 000000 3 Installing and loading the FGA package 3.1 Installing the FGA package The installation of the FGA package follows standard GAP rules. So the standard method is to unpack the archive into the pkg directory of your GAP distribution. This will create an fga subdirectory. For other non-standard options please see Chapter 'Reference: Installing a GAP Package' in the GAP Reference Manual. 3.2 Loading the FGA package The FGA package is configured to autoload, so its functionality is usually available once GAP is started. If GAP does not autoload, you can request the package with the LoadPackage command like this:  Example  gap> LoadPackage( "fga" ); ----------------------------------------------------------------------------- Loading FGA 1.5.0-DEV (Free Group Algorithms) by Christian Sievers (c.sievers@tu-bs.de). maintained by:  The GAP Team (support@gap-system.org). Homepage: https://gap-packages.github.io/fga/ Report issues at https://github.com/gap-packages/fga/issues ----------------------------------------------------------------------------- true  You will not see the banner if FGA has already been loaded. The LoadPackage command and ways to disable autoloading are described in Section 'Reference: Loading a GAP Package' in the GAP Reference Manual. fga-1.5.0/doc/chapBib.html000644 000766 000024 00000010472 14413016355 015532 0ustar00mhornstaff000000 000000 GAP (FGA) - References
Goto Chapter: Top 1 2 3 Bib Ind

References

[BMMW00] Birget, J. -.C., Margolis, S., Meakin, J. and Weil, P., PSPACE-complete problems for subgroups of free groups and inverse finite automata, Theoretical Computer Science, 242 (2000), 247--281.

[LS77] Lyndon, R. C. and Schupp, P. E., Combinatorial Group Theory, Springer (1977).

[Neu33] Neumann, B., Die Automorphismengruppe der freien Gruppen, Math. Annalen, 107 (1933), 367--386.

[Nie24] Nielsen, J., Die Isomorphismengruppe der freien Gruppen, Math. Annalen, 91 (1924), 169--209.

[Sie03] Sievers, C., Algorithmen f\accent127ur freie Gruppen, Diplomarbeit, TU Braunschweig (2003).

[Sim94] Sims, C. C., Computation with Finitely Presented Groups, Cambridge University Press, Encyclopedia of Mathematics and its Applications, 48, Cambridge (1994), xiii+604 pages.

Goto Chapter: Top 1 2 3 Bib Ind

generated by GAPDoc2HTML

fga-1.5.0/doc/chap0.html000644 000766 000024 00000016246 14413016355 015202 0ustar00mhornstaff000000 000000 GAP (FGA) - Contents
Goto Chapter: Top 1 2 3 Bib Ind

FGA

Free Group Algorithms

1.5.0

4 April 2023

Note: This version of FGA is a fork of the original FGA, maintained by the GAP Team.

Christian Sievers
Email: c.sievers@tu-bs.de

Goto Chapter: Top 1 2 3 Bib Ind

generated by GAPDoc2HTML

fga-1.5.0/doc/chap1.txt000644 000766 000024 00000012611 14413016350 015041 0ustar00mhornstaff000000 000000 1 Introduction 1.1 Overview This manual describes the FGA (Free Group Algorithms) package, a GAP package for computations with finitely generated subgroups of free groups. This package allows you to (constructively) test membership and conjugacy, and to compute free generators, the rank, the index, normalizers, centralizers, and intersections where the groups involved are finitely generated subgroups of free groups. In addition, it provides generators and a finite presentation for the automorphism group of a finitely generated free group and allows to write any such automorphism as word in these generators. See Chapter 'Functionality of the FGA package' for details. Chapter 'Installing and loading the FGA package' explains how to install and load the FGA package. 1.2 Implementation and background The methods which are used work mainly with inverse finite automata, a variation of an idea known from theoretical computer science. An inverse finite automaton is a finite state automaton over a symmetric alphabet, i.e. one in which every letter has an inverse, such that each transition between two states for a letter corresponds to a transition in the opposite direction for the inverse letter. Most of these techniques are described in Chapter 4 of [Sim94], where the same concept is called coset automaton. The method to obtain this automaton is called basic coset enumeration, and in fact it is coset enumeration where only important cosets are defined. Here a coset Gg is called important when there are words w and v such that wv is reduced and denotes an element of G and w denotes an element of Gg. In [BMMW00], the connection between finitely generated subgroups of free groups and inverse finite automata is used to transfer results about the space complexity of problems concerning inverse finite automata to analogous results about finitely generated subgroups of free groups. Chapter 6 of [Sim94] describes the Reidemeister-Schreier procedure and a variant called extended coset enumeration which yields a presentation in the given generators. The FGA package uses a variation thereof for its constructive membership test: it leaves out the part of the algorithm that fills in relations and interprets the resulting extended coset table differently. This algorithm might be called extended basic coset enumeration. Some word oriented algorithms in the FGA package use basic facts about free groups. These can, for example, be found in [LS77]. The presentation of the automorphism groups follows [Neu33]. The algorithm for writing an automorphism in the generators works first at the level of Nielsen generators and uses relations from [Nie24]. The theoretical background for most of this implementation is explained in [Sie03]. 1.3 Integration of the package The FGA package mainly installs new methods for operations that are already known to GAP. They overlap with methods in the GAP library in the case of groups of finite index. In this case, GAPs methods are usually faster, and the FGA package tries to recognize such cases and to refer to GAP. The methods of the FGA package will only be selected when the groups involved know they are finitely generated. This may not always be the case for groups that were not created by methods of the FGA package. In such a case you will get a no method found error, or GAP may try a coset enumeration that stops with the message the coset enumeration has defined more than 256000 cosets. You may then call GeneratorsOfGroup, and try again. Please inform the package author if you observe any remaining problems. 1.4 License Like the GAP system itself, the FGA package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You can find the GNU General Public License in the file COPYING of the FGA package, and also in the file GPL in the etc directory of the main GAP distribution, or see http://www.gnu.org/licenses/gpl.html. fga-1.5.0/doc/chap0.txt000644 000766 000024 00000003334 14413016350 015042 0ustar00mhornstaff000000 000000  FGA   Free Group Algorithms  1.5.0 4 April 2023 Christian Sievers Note: This version of FGA is a fork of the original FGA, maintained by the GAP Team. Christian Sievers Email: mailto:c.sievers@tu-bs.de ------------------------------------------------------- Contents (FGA) 1 Introduction 1.1 Overview 1.2 Implementation and background 1.3 Integration of the package 1.4 License 2 Functionality of the FGA package 2.1 New operations for free groups 2.1-1 FreeGeneratorsOfGroup 2.1-2 RankOfFreeGroup 2.1-3 CyclicallyReducedWord 2.2 Method installations 2.2-1 Normalizer 2.2-2 RepresentativeAction 2.2-3 Centralizer 2.2-4 Index 2.2-5 Intersection 2.2-6 \in 2.2-7 IsSubgroup 2.2-8 \= 2.2-9 MinimalGeneratingSet 2.3 Constructive membership test 2.3-1 AsWordLetterRepInGenerators 2.4 Automorphism groups of free groups 2.4-1 AutomorphismGroup 2.4-2 IsomorphismFpGroup 2.4-3 FreeGroupEndomorphismByImages 2.4-4 FreeGroupAutomorphismsGeneratorO 3 Installing and loading the FGA package 3.1 Installing the FGA package 3.2 Loading the FGA package  fga-1.5.0/doc/manual.css000644 000766 000024 00000015754 14413016355 015313 0ustar00mhornstaff000000 000000 /* manual.css Frank Lübeck */ /* This is the default CSS style sheet for GAPDoc HTML manuals. */ /* basic settings, fonts, sizes, colors, ... */ body { position: relative; background: #ffffff; color: #000000; width: 70%; margin: 0pt; padding: 15pt; font-family: Helvetica,Verdana,Arial,sans-serif; text-align: justify; } /* no side toc on title page, bib and index */ body.chap0 { width: 95%; } body.chapBib { width: 95%; } body.chapInd { width: 95%; } h1 { font-size: 200%; } h2 { font-size: 160%; } h3 { font-size: 160%; } h4 { font-size: 130%; } h5 { font-size: 100%; } p.foot { font-size: 60%; font-style: normal; } a:link { color: #00008e; text-decoration: none; } a:visited { color: #00008e; text-decoration: none; } a:active { color: #000000; text-decoration: none; } a:hover { background: #eeeeee; } pre { font-family: "Courier New",Courier,monospace; font-size: 100%; color:#111111; } tt,code { font-family: "Courier New",Courier,monospace; font-size: 110%; color: #000000; } var { } /* general alignment classes */ .pcenter { text-align: center; } .pleft { text-align: left; } .pright { text-align: right; } /* layout for the definitions of functions, variables, ... */ div.func { background: #e0e0e0; margin: 0pt 0pt; } /* general and special table settings */ table { border-collapse: collapse; margin-left: auto; margin-right: auto; } td, th { border-style: none; } table.func { padding: 0pt 1ex; margin-left: 1ex; margin-right: 1ex; background: transparent; /* line-height: 1.1; */ width: 100%; } table.func td.tdright { padding-right: 2ex; } /* Example elements (for old converted manuals, now in div+pre */ table.example { background: #efefef; border-style: none; border-width: 0pt; padding: 0px; width: 100% } table.example td { border-style: none; border-width: 0pt; padding: 0ex 1ex; } /* becomes ... */ div.example { background: #efefef; padding: 0ex 1ex; /* overflow-x: auto; */ overflow: auto; } /* Links to chapters in all files at top and bottom. */ /* If there are too many chapters then use 'display: none' here. */ div.chlinktop { background: #dddddd; border-style: solid; border-width: thin; margin: 2px; text-align: center; } div.chlinktop a { margin: 3px; } div.chlinktop a:hover { background: #ffffff; } div.chlinkbot { background: #dddddd; border-style: solid; border-width: thin; margin: 2px; text-align: center; /* width: 100%; */ } div.chlinkbot a { margin: 3px; } span.chlink1 { } /* and this is for the "Top", "Prev", "Next" links */ div.chlinkprevnexttop { background: #dddddd; border-style: solid; border-width: thin; text-align: center; margin: 2px; } div.chlinkprevnexttop a:hover { background: #ffffff; } div.chlinkprevnextbot { background: #dddddd; border-style: solid; border-width: thin; text-align: center; margin: 2px; } div.chlinkprevnextbot a:hover { background: #ffffff; } /* table of contents, initially don't display subsections */ div.ContSSBlock { display: none; } div.ContSSBlock br { display: none; } /* format in separate lines */ span.tocline { display: block; width: 100%; } div.ContSSBlock a { display: block; } /* this is for the main table of contents */ div.ContChap { } div.ContChap div.ContSect:hover div.ContSSBlock { display: block; position: absolute; background: #eeeeee; border-style: solid; border-width: 1px 4px 4px 1px; border-color: #666666; padding-left: 0.5ex; color: #000000; left: 20%; width: 40%; z-index: 10000; } div.ContSSBlock a:hover { background: #ffffff; } /* and here for the side menu of contents in the chapter files */ div.ChapSects { } div.ChapSects a:hover { background: #eeeeee; } div.ChapSects a:hover { display: block; width: 100%; background: #eeeeee; color: #000000; } div.ChapSects div.ContSect:hover div.ContSSBlock { display: block; position: fixed; background: #eeeeee; border-style: solid; border-width: 1px 2px 2px 1px; border-color: #666666; padding-left: 0ex; padding-right: 0.5ex; color: #000000; left: 54%; width: 25%; z-index: 10000; } div.ChapSects div.ContSect:hover div.ContSSBlock a { display: block; margin-left: 3px; } div.ChapSects div.ContSect:hover div.ContSSBlock a:hover { display: block; background: #ffffff; } div.ContSect { text-align: left; margin-left: 1em; } div.ChapSects { position: fixed; left: 75%; font-size: 90%; overflow: auto; top: 10px; bottom: 0px; } /* Table elements */ table.GAPDocTable { border-collapse: collapse; border-style: none; border-color: black; } table.GAPDocTable td, table.GAPDocTable th { padding: 3pt; border-width: thin; border-style: solid; border-color: #555555; } caption.GAPDocTable { caption-side: bottom; width: 70%; margin-top: 1em; margin-left: auto; margin-right: auto; } td.tdleft { text-align: left; } table.GAPDocTablenoborder { border-collapse: collapse; border-style: none; border-color: black; } table.GAPDocTablenoborder td, table.GAPDocTable th { padding: 3pt; border-width: 0pt; border-style: solid; border-color: #555555; } caption.GAPDocTablenoborder { caption-side: bottom; width: 70%; margin-top: 1em; margin-left: auto; margin-right: auto; } td.tdleft { text-align: left; } td.tdright { text-align: right; } td.tdcenter { text-align: center; } /* Colors and fonts can be overwritten for some types of elements. */ /* Verb elements */ pre.normal { color: #000000; } /* Func-like elements and Ref to Func-like */ code.func { color: #000000; } /* K elements */ code.keyw { color: #770000; } /* F elements */ code.file { color: #8e4510; } /* C elements */ code.code { } /* Item elements */ code.i { } /* Button elements */ strong.button { } /* Headings */ span.Heading { } /* Arg elements */ var.Arg { color: #006600; } /* Example elements, is in tables, see above */ div.Example { } /* Package elements */ strong.pkg { } /* URL-like elements */ span.URL { } /* Mark elements */ strong.Mark { } /* Ref elements */ b.Ref { } span.Ref { } /* this contains the contents page */ div.contents { } /* this contains the index page */ div.index { } /* ignore some text for non-css layout */ span.nocss { display: none; } /* colors for ColorPrompt like examples */ span.GAPprompt { color: #000097; font-weight: normal; } span.GAPbrkprompt { color: #970000; font-weight: normal; } span.GAPinput { color: #970000; } /* Bib entries */ p.BibEntry { } span.BibKey { color: #005522; } span.BibKeyLink { } b.BibAuthor { } i.BibTitle { } i.BibBookTitle { } span.BibEditor { } span.BibJournal { } span.BibType { } span.BibPublisher { } span.BibSchool { } span.BibEdition { } span.BibVolume { } span.BibSeries { } span.BibNumber { } span.BibPages { } span.BibOrganization { } span.BibAddress { } span.BibYear { } span.BibPublisher { } span.BibNote { } span.BibHowpublished { } fga-1.5.0/doc/ragged.css000644 000766 000024 00000000231 14413016355 015247 0ustar00mhornstaff000000 000000 /* times.css Frank Lübeck */ /* Change default CSS to use Times font. */ body { text-align: left; } fga-1.5.0/doc/chap1.html000644 000766 000024 00000021555 14413016355 015202 0ustar00mhornstaff000000 000000 GAP (FGA) - Chapter 1: Introduction
Goto Chapter: Top 1 2 3 Bib Ind

1 Introduction

1.1 Overview

This manual describes the FGA (Free Group Algorithms) package, a GAP package for computations with finitely generated subgroups of free groups.

This package allows you to (constructively) test membership and conjugacy, and to compute free generators, the rank, the index, normalizers, centralizers, and intersections where the groups involved are finitely generated subgroups of free groups. In addition, it provides generators and a finite presentation for the automorphism group of a finitely generated free group and allows to write any such automorphism as word in these generators.

See Chapter Functionality of the FGA package for details.

Chapter Installing and loading the FGA package explains how to install and load the FGA package.

1.2 Implementation and background

The methods which are used work mainly with inverse finite automata, a variation of an idea known from theoretical computer science. An inverse finite automaton is a finite state automaton over a symmetric alphabet, i.e. one in which every letter has an inverse, such that each transition between two states for a letter corresponds to a transition in the opposite direction for the inverse letter.

Most of these techniques are described in Chapter 4 of [Sim94], where the same concept is called coset automaton. The method to obtain this automaton is called basic coset enumeration, and in fact it is coset enumeration where only important cosets are defined. Here a coset Gg is called important when there are words w and v such that wv is reduced and denotes an element of G and w denotes an element of Gg.

In [BMMW00], the connection between finitely generated subgroups of free groups and inverse finite automata is used to transfer results about the space complexity of problems concerning inverse finite automata to analogous results about finitely generated subgroups of free groups.

Chapter 6 of [Sim94] describes the Reidemeister-Schreier procedure and a variant called extended coset enumeration which yields a presentation in the given generators. The FGA package uses a variation thereof for its constructive membership test: it leaves out the part of the algorithm that fills in relations and interprets the resulting extended coset table differently. This algorithm might be called extended basic coset enumeration.

Some word oriented algorithms in the FGA package use basic facts about free groups. These can, for example, be found in [LS77].

The presentation of the automorphism groups follows [Neu33]. The algorithm for writing an automorphism in the generators works first at the level of Nielsen generators and uses relations from [Nie24].

The theoretical background for most of this implementation is explained in [Sie03].

1.3 Integration of the package

The FGA package mainly installs new methods for operations that are already known to GAP. They overlap with methods in the GAP library in the case of groups of finite index. In this case, GAPs methods are usually faster, and the FGA package tries to recognize such cases and to refer to GAP.

The methods of the FGA package will only be selected when the groups involved know they are finitely generated. This may not always be the case for groups that were not created by methods of the FGA package. In such a case you will get a no method found error, or GAP may try a coset enumeration that stops with the message the coset enumeration has defined more than 256000 cosets. You may then call GeneratorsOfGroup, and try again.

Please inform the package author if you observe any remaining problems.

1.4 License

Like the GAP system itself, the FGA package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You can find the GNU General Public License in the file COPYING of the FGA package, and also in the file GPL in the etc directory of the main GAP distribution, or see http://www.gnu.org/licenses/gpl.html.

Goto Chapter: Top 1 2 3 Bib Ind

generated by GAPDoc2HTML

fga-1.5.0/doc/toggless.js000644 000766 000024 00000004205 14413016355 015476 0ustar00mhornstaff000000 000000 /* toggless.js Frank Lübeck */ /* this file contains two functions: mergeSideTOCHooks: this changes div.ContSect elements to the class ContSectClosed and includes a hook to toggle between ContSectClosed and ContSectOpen. openclosetoc: this function does the toggling, the rest is done by CSS */ closedTOCMarker = "▶ "; openTOCMarker = "▼ "; noTOCMarker = " "; /* merge hooks into side toc for opening/closing subsections with openclosetoc */ function mergeSideTOCHooks() { var hlist = document.getElementsByTagName("div"); for (var i = 0; i < hlist.length; i++) { if (hlist[i].className == "ContSect") { var chlds = hlist[i].childNodes; var el = document.createElement("span"); var oncl = document.createAttribute("class"); oncl.nodeValue = "toctoggle"; el.setAttributeNode(oncl); var cont; if (chlds.length > 2) { var oncl = document.createAttribute("onclick"); oncl.nodeValue = "openclosetoc(event)"; el.setAttributeNode(oncl); cont = document.createTextNode(closedTOCMarker); } else { cont = document.createTextNode(noTOCMarker); } el.appendChild(cont); hlist[i].firstChild.insertBefore(el, hlist[i].firstChild.firstChild); hlist[i].className = "ContSectClosed"; } } } function openclosetoc (event) { /* first two steps to make it work in most browsers */ var evt=window.event || event; if (!evt.target) evt.target=evt.srcElement; var markClosed = document.createTextNode(closedTOCMarker); var markOpen = document.createTextNode(openTOCMarker); var par = evt.target.parentNode.parentNode; if (par.className == "ContSectOpen") { par.className = "ContSectClosed"; evt.target.replaceChild(markClosed, evt.target.firstChild); } else if (par.className == "ContSectClosed") { par.className = "ContSectOpen"; evt.target.replaceChild(markOpen, evt.target.firstChild); } } /* adjust jscontent which is called onload */ jscontentfuncs.push(mergeSideTOCHooks); fga-1.5.0/doc/chapInd_mj.html000644 000766 000024 00000013057 14413016355 016240 0ustar00mhornstaff000000 000000 GAP (FGA) - Index
Goto Chapter: Top 1 2 3 Bib Ind

Index

\= 2.2-8
\in 2.2-6
AsWordLetterRepInFreeGenerators 2.3-1
AsWordLetterRepInGenerators 2.3-1
AutomorphismGroup 2.4-1
Centralizer 2.2-3 2.2-3
CyclicallyReducedWord 2.1-3
FGA 1.
FreeGeneratorsOfGroup 2.1-1
FreeGroupAutomorphismsGeneratorO 2.4-4
FreeGroupAutomorphismsGeneratorP 2.4-4
FreeGroupAutomorphismsGeneratorQ 2.4-4
FreeGroupAutomorphismsGeneratorR 2.4-4
FreeGroupAutomorphismsGeneratorS 2.4-4
FreeGroupAutomorphismsGeneratorT 2.4-4
FreeGroupAutomorphismsGeneratorU 2.4-4
FreeGroupEndomorphismByImages 2.4-3
Functionality of the FGA package 2.
GeneratorsOfGroup 2.2-9
Index 2.2-4
IndexNC 2.2-4
Installing and loading the FGA package 3.
Installing the FGA package 3.1
Intersection 2.2-5
IsConjugate 2.2-2
IsomorphismFpGroup 2.4-2
IsSubgroup 2.2-7
Loading the FGA package 3.2
MinimalGeneratingSet 2.2-9
Normalizer 2.2-1 2.2-1
Rank 2.1-2
RankOfFreeGroup 2.1-2
RepresentativeAction 2.2-2
SmallGeneratingSet 2.2-9

Goto Chapter: Top 1 2 3 Bib Ind

generated by GAPDoc2HTML

fga-1.5.0/doc/chooser.html000644 000766 000024 00000007456 14413016355 015654 0ustar00mhornstaff000000 000000 GAPDoc Style Chooser

Setting preferences for GAPDoc manuals

Unfold subsections in menus only by mouse clicks: no (default)     yes

Show GAP examples as in sessions with ColorPrompt(true): yes (default)     no

Display side of table of contents within chapters: right (default)     left

Main document font: Helvetica/sans serif (default)     Times/serif

Paragraph formatting: left-right justified (default)     ragged right

Apply settings to last page.

fga-1.5.0/lib/ReprAct.gi000644 000766 000024 00000012745 14413016335 015201 0ustar00mhornstaff000000 000000 ############################################################################# ## #W ReprAct.gi FGA package Christian Sievers ## ## Methods for computing RepresentativeAction ## #Y 2003 - 2016 ## InstallOtherMethod( RepresentativeActionOp, "for conjugation of elements in a free group", IsCollsElmsElmsX, [ IsFreeGroup, IsElementOfFreeGroup, IsElementOfFreeGroup, IsFunction ], function(F, d, e, act) local wd, we, le, ld, id, ie, wecr, w, pos, pos2, conj; if act <> OnPoints then TryNextMethod(); fi; if IsOne(d) and IsOne(e) then return One(F); fi; if IsOne(d) or IsOne(e) then return fail; fi; wd := LetterRepAssocWord(d); ld := Length(wd); id := 1; while wd[id] = -wd[ld-id+1] do id := id+1; od; we := LetterRepAssocWord(e); le := Length(we); ie := 1; while we[ie] = -we[le-ie+1] do ie := ie+1; od; if ld-2*id <> le-2*ie then return fail; fi; w := wd{[id..ld-id+1]}; # wd cyclically reduced w := Concatenation(w,w); # ... and doubled wecr := we{[ie..le-ie+1]}; # we cyclically reduced pos := PositionSublist(w,wecr); if pos=fail then return fail; fi; conj := AssocWordByLetterRep(FamilyObj(d), wd{[1..id+pos-2]}) * AssocWordByLetterRep(FamilyObj(d), we{[le-ie+2..le]}); if conj in F then return conj; fi; pos2 := PositionSublist(w, wecr, pos); if pos2=fail then pos2 := pos+ld-2*ie+2; fi; return FindPowLetterRep(F, wd{[1..id+pos-2]},w{[pos..pos2-1]}, we{[le-ie+2..le]}); end ); InstallMethod( FindPowLetterRep, [ CanComputeWithInverseAutomaton, IsList, IsList, IsList ], function(f, wi, wp, wt) local init, initstate, final, finalstate, state, n, fam; state := FGA_initial(FreeGroupAutomaton(f)); init := FGA_TmpState(state, wi); initstate := init.state; final := FGA_TmpState(state, -Reversed(wt)); finalstate := final.state; state := initstate; n := 0; repeat state := FGA_deltas(state, wp); n := n+1; until state=fail or IsIdenticalObj(state, initstate) or IsIdenticalObj(state, finalstate); if state = fail then state := initstate; n := 0; wp := -Reversed(wp); repeat state := FGA_deltas(state, wp); n := n+1; until state=fail or IsIdenticalObj(state, finalstate); fi; final.undo(); init.undo(); if IsIdenticalObj(state, finalstate) then fam := ElementsFamily(FamilyObj(f)); return AssocWordByLetterRep(fam, wi) * AssocWordByLetterRep(fam, wp)^n * AssocWordByLetterRep(fam, wt); else return fail; fi; end ); InstallOtherMethod( RepresentativeActionOp, "for subgroups of a free group", IsFamFamFamX, [ CanComputeWithInverseAutomaton, CanComputeWithInverseAutomaton, CanComputeWithInverseAutomaton, IsFunction ],1, function(F, G, H, act) local AG, AH, AF, rdG, rdH, statesH, redgens, i, AN, tmp, conj; if act <> OnPoints then TryNextMethod(); fi; if RankOfFreeGroup(G) <> RankOfFreeGroup(H) then return fail; fi; AG := FreeGroupAutomaton(G); rdG := FGA_reducedPos(AG); AH := FreeGroupAutomaton(H); rdH := FGA_reducedPos( AH ); statesH := FGA_States(AH); if Size(statesH)-rdH <> Size(FGA_States(AG))-rdG then return fail; fi; redgens := List( List(FreeGeneratorsOfGroup(G), LetterRepAssocWord), w -> w{[rdG .. Length(w)-rdG+1]} ); for i in [rdH .. Size(statesH)] do if ForAll(redgens, w -> FGA_Check(statesH[i], w)) then # We now know that G is a subgroup of a conjugate of H. # More ugly low level computation could check for equality. # Instead we postpone the check to a time where we can work # at a higher level. # So if the result is fail, we get it a little slower. AN := FreeGroupAutomaton( NormalizerInWholeGroup( G ) ); tmp := FGA_TmpState( AN!.initial, Concatenation( FGA_States( AG )[ rdG ].repr, -Reversed(FGA_repr(statesH[i])) )); AF := FreeGroupAutomaton( F ); conj := FGA_FindRepInIntersection( AF, AF!.terminal, AN, tmp.state ); tmp.undo(); if conj = fail then return fail; fi; conj := AssocWordByLetterRep( ElementsFamily(FamilyObj(F)), conj ); # Now check if we really have a conjugating element: if IsSubset( G, List( FreeGeneratorsOfGroup(H), h -> h^(conj^-1) )) then return conj; else return fail; fi; fi; od; return fail; end ); ############################################################################# ## #E fga-1.5.0/lib/Index.gi000644 000766 000024 00000005734 14413016335 014710 0ustar00mhornstaff000000 000000 ############################################################################# ## #W Index.gi FGA package Christian Sievers ## ## Method installations for index computations in free groups ## #Y 2003 - 2012 ## ############################################################################# ## #M IndexInWholeGroup( ) ## InstallMethod( IndexInWholeGroup, "for a free group", [ CanComputeWithInverseAutomaton ], function(G) if HasIsWholeFamily(G) and IsWholeFamily(G) then return 1; fi; # let the gap lib handle this case: if IsSubgroupOfWholeGroupByQuotientRep(G) then TryNextMethod(); fi; return FGA_Index(FreeGroupAutomaton(G)); end ); ############################################################################# ## #M IndexOp( , , ) ## ## computes the index of in . ## If is true, checks whether the subgroup relation really holds ## and returns fail otherwise. ## Some of the checks will even be performed when is false. ## InstallOtherMethod( IndexOp, "for free groups", IsFamFamX, [ CanComputeWithInverseAutomaton, CanComputeWithInverseAutomaton, IsBool ], function( G, U, check ) local indexG, indexU, index, rankG, gensU, gen, w, genwords; indexG := IndexInWholeGroup( G ); indexU := IndexInWholeGroup( U ); if indexG <> infinity then if check and not IsSubset( G, U ) then return fail; fi; if indexU = infinity then return infinity; else index := indexU / indexG; if IsInt( index ) then return index; else return fail; fi; fi; fi; # one more cheap test: if indexU <> infinity then return fail; fi; # now we must work harder rankG := RankOfFreeGroup( G ); gensU := FreeGeneratorsOfGroup( U ); genwords := []; for gen in gensU do w := AsWordLetterRepInFreeGenerators( gen, G ); if w = fail then return fail; fi; Add( genwords, w ); od; return FGA_Index( FGA_FromGeneratorsLetterRep( genwords, FreeGroup(rankG) ) ); end ); ############################################################################# ## #M IndexOp( , ) ## InstallMethod( IndexOp, "for free groups", IsIdenticalObj, [ CanComputeWithInverseAutomaton, CanComputeWithInverseAutomaton ], function( G, H ) return IndexOp( G, H, true); end ); ############################################################################# ## #M IndexNC( , ) ## InstallMethod( IndexNC, "for free groups", IsIdenticalObj, [ CanComputeWithInverseAutomaton, CanComputeWithInverseAutomaton ], function( G, H ) return IndexOp( G, H, false); end ); ############################################################################# ## #E fga-1.5.0/lib/AutGrp.gd000644 000766 000024 00000005206 14413016335 015030 0ustar00mhornstaff000000 000000 ############################################################################# ## #W AutGrp.gd FGA package Christian Sievers ## ## Methods for automorphism groups of free groups ## #Y 2003 - 2012 ## ############################################################################# ## #F IsAutomorphismGroupOfFreeGroup( ) ## ## returns true if is the automorphism group of a free group. ## DeclareFilter( "IsAutomorphismGroupOfFreeGroup" ); InstallTrueMethod( IsAutomorphismGroup, IsAutomorphismGroupOfFreeGroup ); ############################################################################# ## #F FreeGroupEndomorphismByImages( , ) ## ## returns the endomorphism of that maps the generators of ## to . ## DeclareGlobalFunction( "FreeGroupEndomorphismByImages" ); ############################################################################# ## #F FreeGroupAutomorphismsGeneratorO( ) #F FreeGroupAutomorphismsGeneratorP( ) #F FreeGroupAutomorphismsGeneratorU( ) #F FreeGroupAutomorphismsGeneratorS( ) #F FreeGroupAutomorphismsGeneratorT( ) #F FreeGroupAutomorphismsGeneratorQ( ) #F FreeGroupAutomorphismsGeneratorR( ) ## ## These functions return the automorphism of which maps the ## generators [, , ..., ] to ## O : [^-1 , , ..., ] (n>=1) ## P : [ , , , ..., ] (n>=2) ## U : [, , , ..., ] (n>=2) ## S : [^-1, ^-1, ..., ^-1, ^-1 ] (n>=1) ## T : [ , ^-1, , ..., ] (n>=2) ## Q : [, , ..., , ] (n>=2) ## R : [^-1, , , , ..., ## , ^-1, ^-1] (n>=4) ## DeclareGlobalFunction( "FreeGroupAutomorphismsGeneratorO" ); DeclareGlobalFunction( "FreeGroupAutomorphismsGeneratorP" ); DeclareGlobalFunction( "FreeGroupAutomorphismsGeneratorU" ); DeclareGlobalFunction( "FreeGroupAutomorphismsGeneratorS" ); DeclareGlobalFunction( "FreeGroupAutomorphismsGeneratorT" ); DeclareGlobalFunction( "FreeGroupAutomorphismsGeneratorQ" ); DeclareGlobalFunction( "FreeGroupAutomorphismsGeneratorR" ); ############################################################################# ## #F FGA_CheckRank( , ) ## ## Checks whether has rank at least , and signals an ## error otherwise (helper function for FreeGroupAutomorphismsGenerator*) ## DeclareGlobalFunction( "FGA_CheckRank" ); ############################################################################# ## #E fga-1.5.0/lib/Intsect.gi000644 000766 000024 00000013403 14413016335 015242 0ustar00mhornstaff000000 000000 ############################################################################# ## #W Intsect.gi FGA package Christian Sievers ## ## Installations for the computation of intersections of free groups ## #Y 2003 - 2012 ## ############################################################################# ## #F FGA_StateTable( , , ) ## InstallGlobalFunction( FGA_StateTable, function( t, i, j ) if not IsBound( t[i] ) then t[i] := []; fi; if not IsBound( t[i][j] ) then t[i][j] := FGA_newstate(); fi; return t[i][j]; end ); ############################################################################# ## #M Intersection2( , ) ## InstallMethod( Intersection2, "for subgroups of free groups", IsIdenticalObj, [ CanComputeWithInverseAutomaton, CanComputeWithInverseAutomaton ], function( G1, G2 ) local A, t, sl1, sl2, i, nr1, nr2, Q, pair, g, q, q1, q2, bpd, bpdi; # let the gap lib handle this case: if IsSubgroupOfWholeGroupByQuotientRep( G1 ) and IsSubgroupOfWholeGroupByQuotientRep( G2 ) then TryNextMethod(); fi; t := []; i := FGA_StateTable( t, 1, 1 ); sl1 := FGA_States( FreeGroupAutomaton( G1 ) ); sl2 := FGA_States( FreeGroupAutomaton( G2 ) ); Q := [ [1,1] ]; for pair in Q do q1 := sl1[ pair[1] ]; q2 := sl2[ pair[2] ]; q := FGA_StateTable( t, pair[1], pair[2] ); for g in Difference( Intersection( BoundPositions( q1.delta ), BoundPositions( q2.delta ) ), BoundPositions( q.delta ) ) do nr1 := q1.delta[g].nr; nr2 := q2.delta[g].nr; FGA_connectpos( q, FGA_StateTable( t, nr1, nr2 ), g ); Add( Q, [ nr1, nr2 ] ); od; for g in Difference( Intersection( BoundPositions( q1.deltainv ), BoundPositions( q2.deltainv ) ), BoundPositions( q.deltainv ) ) do nr1 := q1.deltainv[g].nr; nr2 := q2.deltainv[g].nr; FGA_connectpos( FGA_StateTable( t, nr1, nr2 ), q, g ); Add( Q, [ nr1, nr2 ] ); od; bpd := BoundPositions( q.delta ); bpdi := BoundPositions( q.deltainv ); while Size( bpd ) + Size( bpdi ) = 1 and IsNotIdenticalObj( q, i ) do if Size( bpd ) = 1 then g := bpd[ 1 ]; q := q.delta[ g ]; Unbind( q.deltainv[ g ] ); else g := bpdi[ 1 ]; q := q.deltainv[ g ]; Unbind( q.delta[ g ] ); fi; bpd := BoundPositions( q.delta ); bpdi := BoundPositions( q.deltainv ); od; od; A := Objectify( NewType( FamilyObj( G1 ), IsSimpleInvAutomatonRep ), rec( initial:=i, terminal:=i, group := TrivialSubgroup( G1 ) ) ); return AsGroup( A ); end ); ############################################################################# ## #F FGA_TrySetRepTable( , , , , ) ## InstallGlobalFunction( FGA_TrySetRepTable, function( t, i, j, r, g ) local rx; if not IsBound( t[i] ) then t[i] := []; fi; if not IsBound( t[i][j] ) then rx := ShallowCopy( r ); Add( rx, g ); t[i][j] := rx; return rx; else return fail; fi; end ); ############################################################################# ## #F FGA_GetNr ( , ) ## InstallGlobalFunction( FGA_GetNr, function( q, sl ) if not IsBound( q.nr ) then Add( sl, q ); q.nr := Size( sl ); elif not IsBound( sl[ q.nr ] ) then sl[ q.nr ] := q; fi; return q.nr; end ); ############################################################################# ## #F FGA_FindRepInIntersection ( , , , ) ## InstallGlobalFunction( FGA_FindRepInIntersection, function( A1, t1, A2, t2 ) local tab, sl1, sl2, Q, pair, g, q1, nr1, q2, nr2, r, rx; sl1 := []; sl2 := []; q1 := A1!.initial; q2 := A2!.initial; if IsIdenticalObj( q1, t1) and IsIdenticalObj( q2, t2) then return []; fi; nr1 := FGA_GetNr( q1, sl1 ); nr2 := FGA_GetNr( q2, sl2 ); tab := []; tab [ nr1 ] := []; tab [ nr1 ][ nr2 ] := []; # empty word at initial state Q := [ [ nr1, nr2 ] ]; for pair in Q do q1 := sl1[ pair[1] ]; q2 := sl2[ pair[2] ]; r := tab [ pair[1] ] [ pair[2] ]; for g in Intersection( BoundPositions( q1.delta ), BoundPositions( q2.delta ) ) do nr1 := FGA_GetNr(q1.delta[g], sl1); nr2 := FGA_GetNr(q2.delta[g], sl2); rx := FGA_TrySetRepTable( tab, nr1, nr2, r, g ); if rx <> fail then if IsIdenticalObj(sl1[ nr1 ], t1) and IsIdenticalObj(sl2[ nr2 ], t2) then return rx; fi; Add( Q, [ nr1, nr2 ] ); fi; od; for g in Intersection( BoundPositions( q1.deltainv ), BoundPositions( q2.deltainv ) ) do nr1 := FGA_GetNr(q1.deltainv[g], sl1); nr2 := FGA_GetNr(q2.deltainv[g], sl2); rx := FGA_TrySetRepTable( tab, nr1, nr2, r, -g ); if rx <> fail then if IsIdenticalObj(sl1[ nr1 ], t1) and IsIdenticalObj(sl2[ nr2 ], t2) then return rx; fi; Add( Q, [ nr1, nr2 ] ); fi; od; od; return fail; end ); ############################################################################# ## #E fga-1.5.0/lib/Autom.gd000644 000766 000024 00000003316 14413016335 014713 0ustar00mhornstaff000000 000000 ############################################################################# ## #W Autom.gd FGA package Christian Sievers ## ## Declarations for methods to create and compute with inverse automata ## #Y 2003 - 2018 ## DeclareCategory( "IsInvAutomatonCategory", IsObject); DeclareOperation( "TrivialInvAutomaton", [ IsFreeGroup ]); DeclareOperation( "InvAutomatonInsertGenerator", [ IsInvAutomatonCategory and IsMutable, IsElementOfFreeGroup ] ); DeclareGlobalFunction( "FGA_newstate" ); DeclareGlobalFunction( "FGA_connectpos" ); DeclareGlobalFunction( "FGA_connect" ); DeclareGlobalFunction( "FGA_define" ); DeclareGlobalFunction( "FGA_find" ); DeclareGlobalFunction( "FGA_merge" ); DeclareGlobalFunction( "FGA_coincidence" ); DeclareGlobalFunction( "FGA_delta" ); DeclareGlobalFunction( "FGA_deltas" ); DeclareGlobalFunction( "FGA_TmpState" ); DeclareGlobalFunction( "FGA_trace" ); DeclareGlobalFunction( "FGA_backtrace" ); DeclareGlobalFunction( "FGA_InsertGenerator" ); DeclareGlobalFunction( "FGA_AutomInsertGeneratorLetterRep" ); DeclareGlobalFunction( "FGA_InsertGeneratorLetterRep" ); DeclareGlobalFunction( "FGA_FromGroupWithGenerators" ); DeclareGlobalFunction( "FGA_FromGeneratorsLetterRep"); DeclareGlobalFunction( "FGA_Check" ); DeclareGlobalFunction( "FGA_FindGeneratorsAndStates" ); DeclareGlobalFunction( "FGA_repr" ); DeclareGlobalFunction( "FGA_initial" ); DeclareGlobalFunction( "FGA_reducedPos" ); DeclareGlobalFunction( "FGA_Index" ); DeclareGlobalFunction( "FGA_AsWordLetterRepInFreeGenerators" ); DeclareGlobalFunction( "FGA_States" ); DeclareGlobalFunction( "FGA_GeneratorsLetterRep" ); ############################################################################# ## #E fga-1.5.0/lib/Iterated.gi000644 000766 000024 00000003625 14413016335 015377 0ustar00mhornstaff000000 000000 ############################################################################# ## #W Iterated.gi FGA package Christian Sievers ## ## Method installations for variants of Iterated ## ## Maybe this should move to the GAP library ## #Y 2003 - 2012 ## ############################################################################# ## #M Iterated( , , ) ## ## applies to iteratively as Iterated does, but uses ## as initial value. ## InstallOtherMethod( Iterated, [ IsList, IsFunction, IsObject ], function (list, f, init) local x; for x in list do init := f(init, x); od; return init; end ); ############################################################################# ## #M IteratedF( , ) ## ## applies to iteratively as Iterated does, but stops ## and returns fail when returns fail. InstallMethod( IteratedF, [ IsList, IsFunction ], function (list, f) local res, i; if IsEmpty( list ) then Error( "IteratedF: must contain at least one element" ); fi; res := list[1]; for i in [ 2 .. Length( list ) ] do if res = fail then break; fi; res := f( res, list[i] ); od; return res; end ); ############################################################################# ## #M IteratedF( , , ) ## ## applies to iteratively as Iterated does, but stops ## and returns fail when returns fail, and uses as ## initial value. InstallOtherMethod( IteratedF, [ IsList, IsFunction, IsObject ], function (list, f, init) local x; for x in list do init := f(init, x); if init=fail then break; fi; od; return init; end ); ############################################################################# ## #E fga-1.5.0/lib/Hom.gd000644 000766 000024 00000001475 14413016335 014355 0ustar00mhornstaff000000 000000 ############################################################################# ## #W Hom.gd FGA package Christian Sievers ## ## Declaration file for the computation with homomorphisms of free groups ## #Y 2012 ## ############################################################################# ## #A FGA_Source( ) ## ## returns the source of as group with special generators ## DeclareAttribute( "FGA_Source", IsFromFpGroupGeneralMappingByImages ); ############################################################################# ## #A FGA_Image( ) ## ## returns the image of as group with special generators ## DeclareAttribute( "FGA_Image", IsToFpGroupGeneralMappingByImages ); ############################################################################# ## #E fga-1.5.0/lib/ExtAutom.gd000644 000766 000024 00000002110 14413016335 015363 0ustar00mhornstaff000000 000000 ############################################################################# ## #W ExtAutom.gd FGA package Christian Sievers ## ## Declarations for methods to create and compute with ## extended inverse automata ## #Y 2003 - 2012 ## DeclareGlobalFunction( "FGA_newstateX" ); DeclareGlobalFunction( "FGA_connectposX" ); DeclareGlobalFunction( "FGA_connectX" ); DeclareGlobalFunction( "FGA_defineX" ); DeclareGlobalFunction( "FGA_findX" ); DeclareGlobalFunction( "FGA_mergeX" ); DeclareGlobalFunction( "FGA_coincidenceX" ); DeclareGlobalFunction( "FGA_atfX" ); DeclareGlobalFunction( "FGA_deltaX" ); DeclareGlobalFunction( "FGA_stepX" ); DeclareGlobalFunction( "FGA_deltasX" ); DeclareGlobalFunction( "FGA_traceX" ); DeclareGlobalFunction( "FGA_backtraceX" ); DeclareGlobalFunction( "FGA_insertgeneratorX" ); DeclareGlobalFunction( "FGA_fromgeneratorsX" ); DeclareGlobalFunction( "FGA_FromGroupWithGeneratorsX" ); DeclareGlobalFunction( "FGA_AsWordLetterRepInGenerators" ); ############################################################################# ## #E fga-1.5.0/lib/FreeGrps.gi000644 000766 000024 00000015512 14413016335 015351 0ustar00mhornstaff000000 000000 ############################################################################# ## #W FreeGroups.gi FGA package Christian Sievers ## ## Main installation file for the FGA package ## #Y 2003 - 2012 ## ############################################################################# ## #M FreeGroupAutomaton( ) ## ## returns the automaton representing . ## InstallMethod( FreeGroupAutomaton, "for a subgroup of a free group", [ CanComputeWithInverseAutomaton ], function(G) return FGA_FromGroupWithGenerators(G); end ); ############################################################################# ## #M FreeGroupExtendedAutomaton( ) ## ## return the extended automaton representing . InstallMethod( FreeGroupExtendedAutomaton, "for a subgroup of a free group", [ CanComputeWithInverseAutomaton ], function(G) return FGA_FromGroupWithGeneratorsX(G); end ); ############################################################################# ## #M \in( , ) ## ## tests whether is in the finitely generated free group . ## InstallMethod( \in, "for a subgroup of a free group", IsElmsColls, [ IsElementOfFreeGroup, CanComputeWithInverseAutomaton ], function( g, G ) return g in FreeGroupAutomaton(G); end ); ############################################################################# ## #M FreeGeneratorsOfGroup( ) ## ## returns a list of free generators of the group . ## This is a minimal generating set, but is also guaranteed to ## be N-reduced. ## InstallMethod( FreeGeneratorsOfGroup, "for a subgroup of a free group", [ CanComputeWithInverseAutomaton ], function(G) return List(FGA_GeneratorsLetterRep(FreeGroupAutomaton(G)), l -> AssocWordByLetterRep (ElementsFamily(FamilyObj(G)), l) ); end ); ############################################################################# ## #M GeneratorsOfGroup( ) ## InstallMethod( GeneratorsOfGroup, "for a subgroup of a free group having a FreeGroupAutomaton", [ HasFreeGroupAutomaton ], FreeGeneratorsOfGroup ); ## ## FreeGeneratorsOfGroup are GeneratorsOfGroup ## InstallImmediateMethod( GeneratorsOfGroup, HasFreeGeneratorsOfGroup, 0, FreeGeneratorsOfGroup); ############################################################################# ## #M MinimalGeneratingSet( ) ## ## returns 's FreeGeneratorsOfGroup ## InstallMethod( MinimalGeneratingSet, "for a subgroup of a free group", [ CanComputeWithInverseAutomaton ], FreeGeneratorsOfGroup ); ############################################################################# ## #M SmallGeneratingSet( ) ## ## returns 's FreeGeneratorsOfGroup ## InstallMethod( SmallGeneratingSet, "for a subgroup of a free group", [ CanComputeWithInverseAutomaton ], FreeGeneratorsOfGroup ); ############################################################################# ## #M IsWholeFamily( ) ## InstallMethod( IsWholeFamily, "for a finitely generated free group", [ CanComputeWithInverseAutomaton ], G -> ForAll( FreeGeneratorsOfWholeGroup( G ), gen -> gen in G) ); ############################################################################# ## #M RankOfFreeGroup( ) ## ## returns the rank of a free group. ## InstallMethod( RankOfFreeGroup, "for a subgroup of a free group", [ CanComputeWithInverseAutomaton ], G -> Size(MinimalGeneratingSet(G)) ); InstallMethod( RankOfFreeGroup, "for a whole free group", [ IsFreeGroup and IsWholeFamily ], G -> Size(FreeGeneratorsOfWholeGroup(G)) ); ############################################################################# ## #M Rank( ) ## ## a convenient name for RankOfFreeGroup ## InstallMethod( Rank, "for a subgroup of a free group", [ IsFreeGroup ], RankOfFreeGroup ); ############################################################################# ## #M IsSubset( , ) ## InstallMethod( IsSubset, "for subgroups of free groups", IsIdenticalObj, [ CanComputeWithInverseAutomaton, CanComputeWithInverseAutomaton ], function(G,U) local gens; if HasFreeGeneratorsOfGroup(U) then gens := FreeGeneratorsOfGroup(U); else gens := GeneratorsOfGroup(U); fi; return ForAll(gens, u -> u in G); end ); ############################################################################# ## #M \=( , ) ## InstallMethod( \=, "for subgroups of free groups", IsIdenticalObj, [ CanComputeWithInverseAutomaton, CanComputeWithInverseAutomaton ], function( G, H ) return IsSubset(G,H) and IsSubset(H,G); end ); ############################################################################# ## #M AsWordLetterRepInFreeGenerators( , ) ## ## returns the unique list representing a word in letter representation ## such that ## = Product( , ## x -> FreeGeneratorsOfGroup()[AbsInt(x)]^(SignInt(x)), ## One() ) ## or fail, if is not in . ## InstallMethod( AsWordLetterRepInFreeGenerators, "for an element in a free group", IsElmsColls, [ IsElementOfFreeGroup, CanComputeWithInverseAutomaton ], function( g, G ) return FGA_AsWordLetterRepInFreeGenerators( LetterRepAssocWord(g), FreeGroupAutomaton(G) ); end ); ############################################################################# ## #M AsWordLetterRepInGenerators( , ) ## ## returns a list representing a word in letter representation such that ## = Product( , ## x -> GeneratorsOfGroup()[AbsInt(x)]^(SignInt(x)), ## One() ) ## or fail, if is not in . ## InstallMethod( AsWordLetterRepInGenerators, "for an element in a free group", IsElmsColls, [ IsElementOfFreeGroup, CanComputeWithInverseAutomaton and HasGeneratorsOfGroup ], function( g, G ) return FGA_AsWordLetterRepInGenerators( LetterRepAssocWord( g ), FreeGroupExtendedAutomaton( G ) ); end ); ############################################################################# ## #O CyclicallyReducedWord( ) ## ## returns the the cyclically reduced form of ## InstallMethod( CyclicallyReducedWord, "for an element in a free group", [ IsElementOfFreeGroup ], function( g ) local rep, len, i; if IsOne( g ) then return g; fi; rep := LetterRepAssocWord( g ); len := Length( rep ); i := 1; while rep[i] = -rep[len-i+1] do i := i+1; od; return AssocWordByLetterRep( FamilyObj( g ), rep{[i..len-i+1]} ); end ); ############################################################################# ## #E fga-1.5.0/lib/ReprActT.gi000644 000766 000024 00000001647 14413016335 015324 0ustar00mhornstaff000000 000000 ############################################################################# ## #W ReprActT.gi FGA package Christian Sievers ## ## Trivial cases for RepresentativeAction ## ## This is generally applicable and not needed for the FGA package, ## so maybe it should move to the GAP library. ## #Y 2003 - 2012 ## InstallOtherMethod( RepresentativeActionOp, "trivial general cases", IsCollsElmsElmsX, [ IsGroup, IsObject, IsObject, IsFunction ], function( G, d, e, act) local result; if act=OnRight then result := LeftQuotient( d, e ); elif act=OnLeftInverse then result := d / e; else TryNextMethod(); fi; if result in G then return result; else return fail; fi; end ); ############################################################################# ## #E fga-1.5.0/lib/util.gi000644 000766 000024 00000001022 14413016335 014600 0ustar00mhornstaff000000 000000 ############################################################################# ## #W util.gi FGA package Christian Sievers ## ## Utility functions ## #Y 2003 - 2012 ## InstallGlobalFunction( BoundPositions, l -> Filtered([1..Length(l)], i -> IsBound(l[i])) ); InstallGlobalFunction( ATf, function(l, p) if IsBound(l[p]) then return l[p]; else return fail; fi; end ); ############################################################################# ## #E fga-1.5.0/lib/Normal.gi000644 000766 000024 00000006115 14413016335 015063 0ustar00mhornstaff000000 000000 ############################################################################# ## #W Normal.gi FGA package Christian Sievers ## ## Method installations for normalizers in free groups ## #Y 2003 - 2012 ## ############################################################################# ## #M NormalizerInWholeGroup( ) ## ## returns the normalizer of in the group of the whole family ## InstallMethod( NormalizerInWholeGroup, [ CanComputeWithInverseAutomaton ], function(G) local found, A, reducedPos, states, s, u, ur, i, gens, redgenwords, fam, interesting, conjinvLetterRep, N; if IsTrivial( G ) then N := Group( FreeGeneratorsOfWholeGroup( G ) ); SetIsWholeFamily( N, true ); return N; fi; found := false; A := FreeGroupAutomaton(G); fam := ElementsFamily(FamilyObj(G)); gens := ShallowCopy(FreeGeneratorsOfGroup(G)); redgenwords := List(gens, LetterRepAssocWord); reducedPos := FGA_reducedPos(A); conjinvLetterRep := redgenwords[1]{[1..reducedPos-1]}; redgenwords := List(redgenwords, w -> w{[reducedPos .. Length(w)-reducedPos+1]}); states := FGA_States(FreeGroupAutomaton(G)); interesting := ReturnTrue; for i in [reducedPos+1 .. Length(states)] do s := states[i]; u := FGA_repr(s); ur := u{[reducedPos..Length(u)]}; if interesting(ur) and ForAll(redgenwords,w->FGA_Check(s,w)) then # generator found if found then # this was not the first extra generator # Print("inserting\n"); else # Print("inserting first\n"); A := FGA_FromGeneratorsLetterRep(redgenwords, G); interesting := w -> not FGA_Check(A!.initial,w); found := true; fi; FGA_AutomInsertGeneratorLetterRep(A, ur); # Add(gens, AssocWordByLetterRep(fam, u)); fi; od; if found then s := FGA_newstate(); FGA_coincidence(Iterated(conjinvLetterRep, FGA_define, s ), A!.initial ); A!.initial := FGA_find(s); A!.terminal := A!.initial; MakeImmutable(A); N := AsGroup(A); else N := G; fi; return N; end ); ############################################################################# ## #M NormalizerOp( , ) ## InstallMethod( NormalizerOp, "for a subgroup of a free group", IsIdenticalObj, [ CanComputeWithInverseAutomaton, CanComputeWithInverseAutomaton ], function(F,G) return Intersection( F, NormalizerInWholeGroup( G ) ); end ); ############################################################################# ## #M NormalizerOp( , ) ## InstallMethod( NormalizerOp, "for an element in a free group", IsCollsElms, [ IsFreeGroup, IsElementOfFreeGroup ], CentralizerOp ); ############################################################################# ## #E fga-1.5.0/lib/Whitehd.gi000644 000766 000024 00000015701 14413016335 015230 0ustar00mhornstaff000000 000000 ############################################################################# ## #W Whitehd.gi FGA package Christian Sievers ## ## Computations with Whitehead automorphisms ## #Y 2004 - 2012 ## InstallMethod( FGA_WhiteheadAutomorphisms, "for finitely generated free groups", [ CanComputeWithInverseAutomaton ], function( G ) local ngens, ngen, combs, auts, L, R; ngens := [ 1 .. RankOfFreeGroup( G ) ]; auts := []; for ngen in ngens do combs := Combinations( Difference( ngens, [ngen] )); for L in combs do for R in combs do if L <> [] or R <> [] then Add( auts, FGA_WhiteheadAutomorphism( G, ngen, L, R )); fi; od; od; od; return auts; end ); InstallMethod( FGA_NielsenAutomorphisms, "for finitely generated free groups", [ CanComputeWithInverseAutomaton ], G -> Filtered( f -> FGA_WhiteheadParams(f).isnielsen ) ); InstallGlobalFunction( FGA_WhiteheadAutomorphism, function( G, ngen, L, R ) local gens, gen, ng, g, img, imginv, imgs, imgsinv, aut, autinv; imgs := []; imgsinv := []; gens := GeneratorsOfGroup( G ); gen := gens[ngen]; for ng in [ 1 .. RankOfFreeGroup( G ) ] do img := gens[ng]; imginv := img; if ng in L then img := LeftQuotient( gen, img ); imginv := gen * imginv; fi; if ng in R then img := img * gen; imginv := imginv / gen; fi; Add( imgs, img ); Add( imgsinv, imginv); od; aut := GroupHomomorphismByImagesNC( G, G, GeneratorsOfGroup(G), imgs ); autinv := GroupHomomorphismByImagesNC( G, G, GeneratorsOfGroup(G), imgsinv ); SetInverse( aut, autinv ); SetInverse( autinv, aut ); SetFGA_WhiteheadParams( aut , rec( gen := ngen, L := L, R := R, isnielsen := Length(L)+Length(R)=1 ) ); SetFGA_WhiteheadParams( autinv, true ); return aut; end ); InstallGlobalFunction( FGA_WhiteheadAnalyse, function( whs, elm, act , len , val, comb , combrest ) # [w] * e * (e*w->e) * (e->Int) * v * (v*w->v) * (v*e->r) -> r local l, newl, wh, bestwh , newelm, bestnewelm; # Int , w , Maybe w, e l := len( elm ); while true do bestwh := fail; for wh in whs do newelm := act( elm, wh ); newl := len( newelm ); if newl < l then l := newl; bestwh := wh; bestnewelm := newelm; fi; od; if bestwh=fail then return combrest( val, elm ); fi; val := comb( val, bestwh ); elm := bestnewelm; od; # not reached end ); ######################################################################## # Equation numbers and pages refer to # Jakob Nielsen: Die Isomorphismengruppe der freien Gruppen # see ../doc/manual.bib ######################################################################## InstallGlobalFunction( FGA_WhiteheadToPQOU, function ( w , p , q , o , u ) # w * g * g * g * g -> g local n ,g, whp, word, sign, nik; n := RankOfFreeGroup( Source ( w ) ); if FGA_WhiteheadParams(w) = true then w := Inverse(w); sign := -1; else sign := 1; fi; whp:= FGA_WhiteheadParams(w); word := One(p); for g in [ 1 .. n ] do if g in whp.L or g in whp.R then # using and possibly combining eq. (12) and (11) # for V_{g,gen}^-1 and U_{g,gen} nik := FGA_NikToPQ( g, whp.gen, p, q ); word := word * nik^-1; if g in whp.L then word := word * o * u^sign * o; # eq. (7) fi; if g in whp.R then word := word * u^sign; fi; word := word * nik; fi; od; return word; end ); InstallGlobalFunction( FGA_NikToPQ, function( i , k , p , q ) # Int * g * g * g -> g # eq. (8) local l; l := k-i; if i g # follows from eq. at the middle of page 171 return q^(2-i)*p*(q*p)^(i-2); end ); InstallGlobalFunction( FGA_ExtSymListRepToPQO, function( target, p , q , o ) # [Int] * g * g * g -> g local rank, word1, word2, lastshift, i, t, f2, P, Q, Pperm, Qperm, homperm, homrep, perm; f2 := FreeGroup("P","Q"); P := f2.1; Q := f2.2; word1 := One(p); word2 := word1; rank := Length( target ); Pperm := (1,2); Qperm := PermList(Concatenation([2..rank],[1])); homperm := GroupHomomorphismByImagesNC( f2, SymmetricGroup( rank ), GeneratorsOfGroup(f2), [ Pperm, Qperm ] ); homrep := GroupHomomorphismByImagesNC( f2, Group( p, q ), GeneratorsOfGroup( f2 ), [ p, q ] ); # first get rid of extendedness, using o and q lastshift := 1; for i in [ 1 .. rank ] do if not IsPosInt( target[i] ) then word1 := word1 * q^(lastshift-i) * o; lastshift := i; target[i] := AbsInt(target[i]); fi; od; word1 := word1 * q^(lastshift-1); # now target is a permutation, represent it as such target := SortingPerm(target); # decompose it as product of powers of T_i, compare p. 171 while not IsOne( target ) do i := LargestMovedPoint( target ); t := i^target; perm := FGA_TiToPQ( i, P, Q ); word2 := (perm^homrep)^(t-i) * word2; target := target * (perm^homperm)^(i-t); od; return word1*word2; end ); InstallGlobalFunction( FGA_CurryAutToPQOU, function( p, q, o, u) return function( aut ) local fg, words, wh; fg := Source( aut ); words := List( GeneratorsOfGroup( fg ), gen -> gen ^ aut ); wh := FGA_WhiteheadAutomorphisms( fg ); # use Nielsen generators only wh := Filtered( wh, f -> FGA_WhiteheadParams(f).isnielsen ); wh := Concatenation( wh, List( wh, Inverse )); return FGA_WhiteheadAnalyse( wh, words, OnTuples, l -> Sum( l, Length ), One( p ), function( v, w ) return FGA_WhiteheadToPQOU( Inverse(w), p, q, o, u ) * v; end, function( v, e ) e := List( e, g -> LetterRepAssocWord(g)[1] ); return FGA_ExtSymListRepToPQO( e, p, q, o ) * v; end ); end; end ); fga-1.5.0/lib/ReprAct.gd000644 000766 000024 00000000634 14413016335 015166 0ustar00mhornstaff000000 000000 ############################################################################# ## #W ReprAct.gd FGA package Christian Sievers ## ## Declarations used for computing RepresentativeAction ## #Y 2003 - 2012 ## DeclareOperation( "FindPowLetterRep", [ IsFreeGroup, IsList, IsList, IsList ]); ############################################################################# ## #E fga-1.5.0/lib/Intsect.gd000644 000766 000024 00000002104 14413016335 015231 0ustar00mhornstaff000000 000000 ############################################################################# ## #W Intsect.gd FGA package Christian Sievers ## ## The declaration file for the computation of intersections of free groups ## #Y 2003 - 2012 ## ## These are all helper functions: ############################################################################# ## #F FGA_StateTable(
, , ) ## DeclareGlobalFunction( "FGA_StateTable" ); ############################################################################# ## #F FGA_TrySetRepTable( , , , , ) ## DeclareGlobalFunction( "FGA_TrySetRepTable" ); ############################################################################# ## #F FGA_GetNr ( , ) ## DeclareGlobalFunction( "FGA_GetNr" ); ############################################################################# ## #F FGA_FindRepInIntersection ( , , , ) ## DeclareGlobalFunction( "FGA_FindRepInIntersection" ); ############################################################################# ## #E fga-1.5.0/lib/AutGrp.gi000644 000766 000024 00000032637 14413016335 015045 0ustar00mhornstaff000000 000000 ############################################################################# ## #W AutGrp.gi FGA package Christian Sievers ## ## Methods for automorphism groups of free groups ## #Y 2003 - 2012 ## ############################################################################# ## #M AutomorphismGroup( ) ## InstallMethod( AutomorphismGroup, "for free groups", [ CanComputeWithInverseAutomaton ], function( G ) local n, aut; n := RankOfFreeGroup( G ); if n = 0 then aut := AsGroup( [ IdentityMapping ( G ) ] ); elif n = 1 then aut := Group( FreeGroupAutomorphismsGeneratorO( G ) ); SetSize( aut, 2 ); elif n = 2 then aut := Group( FreeGroupAutomorphismsGeneratorO( G ), FreeGroupAutomorphismsGeneratorP( G ), FreeGroupAutomorphismsGeneratorU( G ) ); elif n = 3 then aut := Group( FreeGroupAutomorphismsGeneratorS( G ), FreeGroupAutomorphismsGeneratorT( G ), FreeGroupAutomorphismsGeneratorU( G ) ); elif IsEvenInt( n ) then aut := Group( FreeGroupAutomorphismsGeneratorQ( G ), FreeGroupAutomorphismsGeneratorR( G ) ); else # n > 3, odd aut := Group( FreeGroupAutomorphismsGeneratorS( G ), FreeGroupAutomorphismsGeneratorR( G ) ); fi; SetIsFinite( aut, n <= 1 ); SetFilterObj( aut, IsAutomorphismGroupOfFreeGroup ); return aut; end ); ############################################################################# ## #M \in( , ) ## ## tests whether is in . ## ## Code contributed by Max Horn. InstallMethod( \in, "for automorphism groups of free groups", [ IsGroupGeneralMapping, IsAutomorphismGroupOfFreeGroup ], function( hom, aut ) local G; G := AutomorphismDomain( aut ); return Source( hom ) = G and Range( hom ) = G and IsBijective( hom ); end ); ############################################################################# ## #M IsomorphismFpGroup( ) ## ## returns an isomorphism from an automorphism group of a free group ## to a finitely presented group. ## ## The presentation follows Bernhard Neumann (see ../doc/manual.bib) ## Numbers in the comments refer to the equation numbers in that paper. ## InstallMethod( IsomorphismFpGroup, "for automorphism groups of free groups", [ IsAutomorphismGroupOfFreeGroup ], function( aut ) local n, f, fp, O, P, U, S, T, Q, R, rels, moreRels, o, p, u, s, t, q, r, iso, isoinv; n := RankOfFreeGroup( AutomorphismDomain ( aut )); if n = 0 then fp := FreeGroup( 0 ); iso := aut -> One( fp ); elif n = 1 then f := FreeGroup( "O" ); O := f.1; rels := [ O^2 ]; # 6a fp := f / rels; o := fp.1; iso := aut -> o ^ (Order(aut) - 1); elif n = 2 then f := FreeGroup( "O", "P", "U" ); O := f.1; P := f.2; U := f.3; rels := [ P^2 # 5a , O^2 # 6a , (O*P)^4 # 8a , Comm( U, O*U*O ) # 7e , (P*O*P*U)^2 # 7i , (U*P*O)^3 # 8b ]; fp := f / rels; o := fp.1; p := fp.2; u := fp.3; iso := FGA_CurryAutToPQOU( p, p, o, u); # Q=P elif n = 3 then f := FreeGroup( "S", "T", "U" ); S := f.1; T := f.2; U := f.3; rels := [ (S^5*T^-1)^2 # 19a , T^-1*S*T^2*S^8*T^-1*S*T^2*S^-4 # 19b , (S^4*T^-1*S*T^-1)^2 # 19c , T^4 # 19d , Comm( U, S^2*T^-1*S*T^-1*S^2 ) # 19e , Comm( U, S^-2*T^-1*S*T^-1*U*S^-2*T^-1*S*T^-1) # 19f # wrong: Comm( U, S^2*T^-1*S*T*S*T^-1*U*T*S^-1*T^-1*S^-1*T*S^2 ) # 19g , Comm( U, S^-2*T^-1*S*T*S*T^-1*U* T*S^-1*T^-1*S^-1*T*S^2 ) # 19g corrected , Comm( U, T^-1*S*T^2*U*T^-1*S*T^2 ) # 19h , S^-2*T^-1*S*T^2*S^2*U*S^2*T^-1*S*T^2*S^2* U*S^-2*U*S^2*U^-1*S^-2*U^-1 # 19i , (S^-2*T^-1*S*T*U)^2 # 19j , (U*T)^3 # 19k ]; fp := f / rels; s := fp.1; t := fp.2; u := fp.3; iso := FGA_CurryAutToPQOU( t*s^3*(s*t^-1)^2 # 16c , s^4 # 16a , s^3*(s*t^-1)^2 # 16b , u ); elif IsEvenInt(n) then f := FreeGroup( "Q", "R" ); Q := f.1; R := f.2; rels := [ (R^3*(Q*R^3)^(n-1))^2 # 22a , (Q*R^3)^(2*(n-1)) # 22d , Q^n # 22e , Comm( (Q*R^3)^(n-1), Q^-1*R^3*(Q*R^3)^(n-1)*Q ) # 22f , Comm( Q^-2*R^4*Q^2*R^-3, Q*R^-3*Q^-1*R^-3*Q ) # 22h , Comm( R^4, (Q*R^3)^(n-1) ) # 22j , Comm( R^4, Q^-2*R^4*Q^2 ) # 22k , Comm( Q^-2*R^4*Q^2*R^-3, (Q*R^3)^(n-1)*Q^-2*R^4*Q^2*R^-3*(Q*R^3)^(n-1) ) # 22l , Comm( Q^-2*R^4*Q^2*R^-3, R^-3*Q^-1*Q^-2*R^4*Q^2*R^-3*Q*R^3 ) # 22m , Comm( Q^-2*R^4*Q^2*R^-3, R^-3*Q^-1*R^-3*(Q*R^3)^n*Q^-2*R^4* Q^2*R^-3*(Q*R^3)^-n*R^3*Q*R^3 ) # 22n , (Q*R^3)^-n*Q^-2*R^4*Q^2*R^-3*(Q*R^3)^n* Q^-3*R^4*Q^2*R^-3*Q^-1*R^4*Q^2*R^-3* Q^-1*R^3*Q^-2*R^-4*Q^3*R^3*Q^-2*R^-4*Q^2 # 22o , (R^3*(Q*R^3)^(n-1)*Q^-2*R^4*Q^2)^2 # 22p , R^12 # 22q ]; # finally the relations 22c: moreRels := List( [ 2 .. n/2 ], i -> Comm( R^3*(Q*R^3)^(n-1), Q^-i*R^3*(Q*R^3)^(n-1)*Q^i ) ); fp := f / Concatenation(rels, moreRels); q := fp.1; r := fp.2; iso := FGA_CurryAutToPQOU( r^3*(q*r^3)^(n-1) # 21b , q , (q*r^3)^(n-1) # 21a , q^-2*r^4*q^2*r^-3 # 21c ); else # n > 3, odd f := FreeGroup( "S", "R" ); S := f.1; R := f.2; rels := [ (R^3*S^n*(S*R^-3)^(n-1))^2 # 25a , (S^(n+1)*R^3*S^n*(S*R^-3)^(n-1))^(n-1)* S^((-n)*(n-1)) # 25b , ((S^n)*(S*R^-3)^(n-1))^2 # 25d , Comm( S^n*(S*R^-3)^(n-1), S^-(n+1)*R^3*S^n* (S*R^-3)^(n-1)*S^(n+1) ) # 25e , Comm( S^-2*R^4*S^2*R^3, S*R^-3*S^(n-1)*R^-3*S ) # 25f , Comm( R^4, S^n*(S*R^-3)^(n-1) ) # 25g , Comm( R^4, S^-2*R^4*S^2 ) # 25h , Comm( S^-2*R^4*S^2*R^-3, S^n*(S*R^-3)^(n-1)*S^-2*R^4*S^2* R^-3*S^n*(S*R^-3)^(n-1) ) # 25i , Comm( S^-2*R^4*S^2*R^-3, R^-3*S^-(n+1)*S^-2*R^4*S^2* R^-3*S^(n+1)*R^3 ) # 25j # wrong: , Comm( S^-2*R^4*S^2*R^-3, # R^-3*S^-1*R^-3*S*R^3*S^n* # (S*R^-3)^(n-1)*S^-2*R^4*S^2*R^3* # (S*R^-3)^(n-1)*S^n*R^-3*S^-1* # R^3*S*R^3 ) # 25k , Comm( S^-2*R^4*S^2*R^-3, R^-3*S^-1*R^-3*S*R^3*S^n* (S*R^-3)^(n-1)*S^-2*R^4*S^2*R^-3* (S*R^-3)^(n-1)*S^n*R^-3*S^-1* R^3*S*R^3 ) # 25k corrected , R^3*(S*R^-3)^(n-1)*S^-3*R^4*S^2*R^-3*S* R^3*(S*R^-3)^(n-1)*S^(n-3)*R^4*S^2*R^-3* S^(n-1)*R^4*S^2*R^-3*S^(n-1)*R^3*S^-2* R^-4*S^(n+3)*R^3*S^-2*R^-4*S^2 # 25l , (R^3*(S*R^-3)^(n-1)*S^(n-2)*R^4*S^2)^2 # 25m , R^12 # 22q ] ; # and finally the relations 25c: moreRels := List( [ 2 .. (n-1)/2 ], i -> Comm( R^3*S^n*(S*R^-3)^(n-1), S^(-i*(n+1))*R^3*S^n* (S*R^-3)^(n-1)*S^(i*(n+1)) ) ); fp := f / Concatenation( rels, moreRels ); s := fp.1; r := fp.2; iso := FGA_CurryAutToPQOU( r^3*s^n*(s*r^-3)^(n-1) # 24c , s^(n+1) # 24a , s^n*(s*r^-3)^(n-1) # 24b , s^(-2*(n+1))*r^4*s^(2*(n+1))*r^-3 # 24d ); fi; isoinv := GroupHomomorphismByImagesNC( fp, aut, GeneratorsOfGroup( fp ), GeneratorsOfGroup( aut ) ); return GroupHomomorphismByFunction( aut, fp, iso, x -> x ^ isoinv ); end ); ############################################################################# ## #F FreeGroupEndomorphismByImages( , ) ## ## returns the endomorphism of that maps the generators of ## to . ## InstallGlobalFunction( FreeGroupEndomorphismByImages, function(g,l) return GroupHomomorphismByImages(g,g,FreeGeneratorsOfGroup(g),l); end ); ############################################################################# ## #F FreeGroupAutomorphismsGeneratorO( ) #F FreeGroupAutomorphismsGeneratorP( ) #F FreeGroupAutomorphismsGeneratorU( ) #F FreeGroupAutomorphismsGeneratorS( ) #F FreeGroupAutomorphismsGeneratorT( ) #F FreeGroupAutomorphismsGeneratorQ( ) #F FreeGroupAutomorphismsGeneratorR( ) ## ## These functions return the automorphism of which maps the ## generators [, , ..., ] to ## O : [^-1 , , ..., ] (n>=1) ## P : [ , , , ..., ] (n>=2) ## U : [, , , ..., ] (n>=2) ## S : [^-1, ^-1, ..., ^-1, ^-1 ] (n>=1) ## T : [ , ^-1, , ..., ] (n>=2) ## Q : [, , ..., , ] (n>=2) ## R : [^-1, , , , ..., ## , ^-1, ^-1] (n>=4) ## InstallGlobalFunction( FreeGroupAutomorphismsGeneratorO, function( g ) local imgs; FGA_CheckRank( g, 1 ); imgs := ShallowCopy( FreeGeneratorsOfGroup( g ) ); imgs[1] := imgs[1]^-1; return FreeGroupEndomorphismByImages( g, imgs ); end ); InstallGlobalFunction( FreeGroupAutomorphismsGeneratorP, function( g ) local imgs; FGA_CheckRank( g, 2 ); imgs := ShallowCopy( FreeGeneratorsOfGroup( g ) ); imgs{[1,2]} := [ imgs[2], imgs[1] ]; return FreeGroupEndomorphismByImages( g, imgs ); end ); InstallGlobalFunction( FreeGroupAutomorphismsGeneratorU, function( g ) local imgs; imgs := ShallowCopy( FreeGeneratorsOfGroup( g ) ); FGA_CheckRank( g, 2 ); imgs[1] := imgs[1] * imgs[2]; return FreeGroupEndomorphismByImages( g, imgs ); end ); InstallGlobalFunction( FreeGroupAutomorphismsGeneratorS, function( g ) local imgs; FGA_CheckRank( g, 1 ); imgs := FreeGeneratorsOfGroup(g){[2..Rank(g)]}; Add( imgs, FreeGeneratorsOfGroup(g)[1] ); return FreeGroupEndomorphismByImages( g, List(imgs, g -> g^-1) ); end ); InstallGlobalFunction( FreeGroupAutomorphismsGeneratorT, function( g ) local imgs; FGA_CheckRank( g, 2 ); imgs := ShallowCopy( FreeGeneratorsOfGroup( g ) ); imgs{[1..2]} := [ imgs[2], imgs[1]^-1 ]; return FreeGroupEndomorphismByImages( g, imgs ); end ); InstallGlobalFunction( FreeGroupAutomorphismsGeneratorQ, function( g ) local imgs; FGA_CheckRank( g, 2 ); # we could allow 1 imgs := FreeGeneratorsOfGroup(g){[2..Rank(g)]}; Add( imgs, FreeGeneratorsOfGroup(g)[1] ); return FreeGroupEndomorphismByImages( g, imgs ); end ); InstallGlobalFunction( FreeGroupAutomorphismsGeneratorR, function( g ) local imgs, n; FGA_CheckRank( g, 4 ); n := RankOfFreeGroup( g ); imgs := ShallowCopy( FreeGeneratorsOfGroup( g ) ); imgs{[1,2,n-1,n]} := [ imgs[2]^-1, imgs[1], imgs[n]*imgs[n-1]^-1, imgs[n-1]^-1 ]; return FreeGroupEndomorphismByImages( g, imgs ); end ); ############################################################################# ## #F FGA_CheckRank( , ) ## ## Checks whether has rank at least , and signals an ## error otherwise (helper function for FreeGroupAutomorphismsGenerator*) ## InstallGlobalFunction( FGA_CheckRank, function( g, r ) if RankOfFreeGroup( g ) < r then Error( "the rank of the group should be at least ", r ); fi; return; end ); ############################################################################# ## #E fga-1.5.0/lib/Iterated.gd000644 000766 000024 00000001215 14413016335 015363 0ustar00mhornstaff000000 000000 ############################################################################# ## #W Iterated.gd FGA package Christian Sievers ## ## Declarations for variants of Iterated ## ## Maybe this should move to the GAP library ## #Y 2003 - 2012 ## ############################################################################# ## #O IteratedF( , ) ## ## applies to iteratively as Iterated does, but stops ## and returns fail when returns fail. ## DeclareOperation( "IteratedF", [ IsList, IsFunction ] ); ############################################################################# ## #E fga-1.5.0/lib/Autom.gi000644 000766 000024 00000025421 14413016335 014721 0ustar00mhornstaff000000 000000 ############################################################################# ## #W Autom.gi FGA package Christian Sievers ## ## Methods to create and compute with inverse automata ## #Y 2003 - 2018 ## DeclareRepresentation( "IsSimpleInvAutomatonRep", IsComponentObjectRep and IsInvAutomatonCategory and IsAttributeStoringRep and IsCollection, # [ "initial", "terminal", "states", "group" ] ); [ "states", "group" ] ); InstallMethod( TrivialInvAutomaton, [ IsFreeGroup ], function(G) local state; state := FGA_newstate(); return Objectify( NewType( FamilyObj( G ), IsSimpleInvAutomatonRep and IsMutable), rec(initial:=state, terminal:=state, group:=G) ); end ); InstallMethod( InvAutomatonInsertGenerator, IsCollsElms, [ IsSimpleInvAutomatonRep and IsMutable, IsElementOfFreeGroup ], function(A,gen) FGA_AutomInsertGeneratorLetterRep( A, LetterRepAssocWord( gen ) ); end ); InstallMethod( \in, "for a simple inverse automaton", IsElmsColls, [ IsElementOfFreeGroup, IsSimpleInvAutomatonRep ], function(g,A) return IsIdenticalObj(FGA_deltas( A!.initial, LetterRepAssocWord(g)), A!.terminal); end ); InstallMethod( PrintObj, [ IsSimpleInvAutomatonRep ], function(A) Print(""); end ); InstallMethod( AsGroup, "for a simple inverse Automaton", [ IsSimpleInvAutomatonRep ], function(A) local G; if IsMutable(A) then TryNextMethod(); fi; G := rec (); ObjectifyWithAttributes( G, NewType( FamilyObj( A ), IsFreeGroup and IsAttributeStoringRep and HasOneImmutable and HasFreeGroupAutomaton ), OneImmutable, One( A!.group ), FreeGroupAutomaton, A ); return G; end ); InstallGlobalFunction( FGA_newstate, function() return (rec (delta:=[], deltainv:=[])); end ); InstallGlobalFunction( FGA_connectpos, function(s1, s2, g) s1.delta[g] := s2; s2.deltainv[g] := s1; end ); InstallGlobalFunction( FGA_connect, function(s1, s2, g) if g>0 then FGA_connectpos(s1, s2, g); else FGA_connectpos(s2, s1, -g); fi; end ); InstallGlobalFunction( FGA_define, function(state, gen) local nstate; nstate := FGA_newstate(); FGA_connect(state, nstate, gen); return nstate; # !!! end ); # "active" InstallGlobalFunction( FGA_find, function(s) while IsBound(s.isnow) do s := s.isnow; od; return s; # todo: path compression end ); InstallGlobalFunction( FGA_merge, function(s1, s2, Q) s1 := FGA_find(s1); s2 := FGA_find(s2); if IsNotIdenticalObj(s1,s2) then s2.isnow := s1; Add(Q,s2); fi; end ); InstallGlobalFunction( FGA_coincidence, function(s1,s2) local Q, s, g, s0, s01, delta, deltainv; Q := []; FGA_merge(s1, s2, Q); for s in Q do delta := ShallowCopy(s.delta); for g in BoundPositions(delta) do Unbind(delta[g].deltainv[g]); od; deltainv := ShallowCopy(s.deltainv); for g in BoundPositions(deltainv) do Unbind(deltainv[g].delta[g]); od; for g in BoundPositions(delta) do s0 := FGA_find(s); s01 := FGA_find(delta[g]); if IsBound(s0.delta[g]) then FGA_merge(s01, s0.delta[g], Q); elif IsBound(s01.deltainv[g]) then FGA_merge(s0, s01.deltainv[g], Q); else FGA_connectpos(s0, s01, g); fi; od; for g in BoundPositions(deltainv) do s0 := FGA_find(s); s01 := FGA_find(deltainv[g]); if IsBound(s0.deltainv[g]) then FGA_merge(s01, s0.deltainv[g], Q); elif IsBound(s01.delta[g]) then FGA_merge(s0, s01.delta[g], Q); else FGA_connectpos(s01, s0, g); fi; od; od; end ); InstallGlobalFunction( FGA_delta, function(state, gen) if gen>0 then return ATf(state.delta, gen); else return ATf(state.deltainv, -gen); fi; end ); InstallGlobalFunction( FGA_deltas, function(state, genlist) return IteratedF(genlist, FGA_delta, state); end ); InstallGlobalFunction( FGA_TmpState, function(state, genlist) local undo, oldstate, i; i := 1; while state <> fail and i <= Size(genlist) do oldstate := state; state := FGA_delta( oldstate, genlist[i] ); i := i+1; od; if state = fail then i := i-1; if genlist[i] > 0 then undo := function() Unbind(oldstate.delta[genlist[i]]); end; else undo := function() Unbind(oldstate.deltainv[-genlist[i]]); end; fi; state := Iterated( genlist{[i..Size(genlist)]}, FGA_define, oldstate ); else undo := ReturnTrue; fi; return rec( state:=state, undo:=undo); end ); InstallGlobalFunction( FGA_trace, function(s,w) local i, s1; s1 := s; i := 1; while i <= Length(w) and s1 <> fail do s := s1; s1 := FGA_delta(s, w[i]); i := i+1; od; if s1 = fail then return rec(state:=s, index:=i-1); else return rec(state:=s1, index:=i); fi; end ); InstallGlobalFunction( FGA_backtrace, function(s,w,j) local i, s1; s1 := s; i := Length(w); while i >= j and s1 <> fail do s := s1; s1 := FGA_delta(s, -w[i]); i := i-1; od; if s1 = fail then return rec(state:=s, index:=i+1); else return rec(state:=s1, index:=i); fi; end ); InstallGlobalFunction( FGA_InsertGenerator, function(s, gen) return FGA_InsertGeneratorLetterRep(s, LetterRepAssocWord(gen)); end ); InstallGlobalFunction( FGA_AutomInsertGeneratorLetterRep, function(A, w) A!.initial := FGA_InsertGeneratorLetterRep( A!.initial, w); A!.terminal := A!.initial; end ); InstallGlobalFunction( FGA_InsertGeneratorLetterRep, function(s, w) local i, t, bt, s1, s2; t := FGA_trace(s, w); bt := FGA_backtrace(s, w, t.index); s1 := t.state; s2 := bt.state; if t.index > bt.index then # trace complete FGA_coincidence(s1, s2); else if IsIdenticalObj(s1, s2) then while w[t.index] = -w[bt.index] do s1 := FGA_define(s1, w[t.index]); t.index := t.index + 1; bt.index := bt.index - 1; od; s2 := s1; fi; for i in [t.index .. bt.index-1] do s1 := FGA_define(s1, w[i]); od; FGA_connect(s1, s2, w[bt.index]); fi; return FGA_find(s); end ); InstallGlobalFunction( FGA_FromGroupWithGenerators, # gens -> Iterated(gens, FGA_InsertGenerator, FGA_newstate()) ); function(G) local s; s := Iterated(GeneratorsOfGroup(G), FGA_InsertGenerator, FGA_newstate()); return Objectify( NewType( FamilyObj( G ),IsSimpleInvAutomatonRep), rec(initial:=s, terminal:=s, group:=G) ); end ); InstallGlobalFunction( FGA_FromGeneratorsLetterRep, function(gens,G) local s; s := Iterated(gens, FGA_InsertGeneratorLetterRep, FGA_newstate()); return Objectify( NewType( FamilyObj( G ), IsSimpleInvAutomatonRep and IsMutable), rec(initial:=s, terminal:=s, group:=G) ); end ); InstallGlobalFunction( FGA_Check, function(s, w) return IsIdenticalObj(FGA_deltas(s, w), s); end ); InstallGlobalFunction( FGA_FindGeneratorsAndStates, function(A) local Q, Gens, nq, q, i, nr, freegens; q := A!.initial; nr := 0; Gens := []; q.repr := []; Q := [q]; for nq in Q do freegens := []; nr := nr + 1; nq.nr := nr; for i in BoundPositions(nq.delta) do q := nq.delta[i]; if IsBound(q.repr) then if nq.repr = [] or nq.repr[Length(nq.repr)] <> -i then Add(Gens, Concatenation(nq.repr, [i], -Reversed(q.repr))); freegens[i] := Length(Gens); fi; else q.repr := ShallowCopy(nq.repr); Add(q.repr, i); Add(Q, q); fi; od; for i in BoundPositions(nq.deltainv) do q := nq.deltainv[i]; if not(IsBound(q.repr)) then q.repr := ShallowCopy(nq.repr); Add(q.repr, -i); Add(Q, q); fi; od; if freegens <> [] then nq.freegens := freegens; fi; od; ### A!.states := Q; A!.genslr := Gens; end ); InstallGlobalFunction( FGA_initial, A -> A!.initial ); InstallGlobalFunction( FGA_repr, state -> state.repr ); InstallGlobalFunction( FGA_GeneratorsLetterRep, function(A) if not IsBound( A!.genslr ) then FGA_FindGeneratorsAndStates(A); fi; return A!.genslr; end ); InstallGlobalFunction( FGA_States, function(A) if not IsBound( A!.states ) then FGA_FindGeneratorsAndStates(A); fi; return A!.states; end ); InstallGlobalFunction( FGA_reducedPos, function(A) local i, states, n; i := 0; states := FGA_States(A); repeat i := i+1; n := Size(BoundPositions(states[i].delta)) + Size(BoundPositions(states[i].deltainv)); until n > 2 or ( n=2 and i=1); return i; end ); InstallGlobalFunction( FGA_Index, function(A) local states, r; states := FGA_States(A); r := Size(FreeGeneratorsOfWholeGroup(A!.group)); if ForAny( List( states, s -> s.delta), delta -> not IsDenseList(delta) or Size(delta) <> r ) then return infinity; fi; return Size(states); end ); InstallGlobalFunction( FGA_AsWordLetterRepInFreeGenerators, function(g,A) local s,x,f,w; FGA_States(A); # do work in the automaton if needed w := []; s := A!.initial; for x in g do if x > 0 then if IsBound(s.freegens) and IsBound(s.freegens[x]) then Add(w, s.freegens[x]); fi; s := ATf(s.delta, x); if s = fail then return fail; fi; else s := ATf(s.deltainv, -x); if s=fail then return fail; fi; if IsBound(s.freegens) and IsBound(s.freegens[-x]) then Add(w, -s.freegens[-x]); fi; fi; od; if IsNotIdenticalObj( s, A!.terminal ) then return fail; fi; return w; end ); ############################################################################# ## #E fga-1.5.0/lib/Hom.gi000644 000766 000024 00000005372 14413016335 014362 0ustar00mhornstaff000000 000000 ############################################################################# ## #W Hom.gi FGA package Christian Sievers ## ## Methods for homomorphisms of free groups ## #Y 2003 - 2016 ## InstallMethod( PreImagesRepresentative, "for homomorphisms of free groups", FamRangeEqFamElm, [ IsToFpGroupGeneralMappingByImages, IsElementOfFreeGroup ], function( hom, x ) local w, mgi; mgi := MappingGeneratorsImages( hom ); w := AsWordLetterRepInGenerators( x, FGA_Image( hom )); if w = fail then return fail; fi; return Product( w, i -> mgi[1][AbsInt(i)]^SignInt(i), One(Source(hom))); end ); InstallMethod( ImagesRepresentative, "for homomorphisms of free groups", FamSourceEqFamElm, [ IsFromFpGroupGeneralMappingByImages, IsElementOfFreeGroup ], 23, function( hom, x ) local w, mgi; mgi := MappingGeneratorsImages( hom ); if mgi[1]=[] then return One(Range(hom)); fi; w := AsWordLetterRepInGenerators( x, FGA_Source( hom )); if w = fail then return fail; fi; return Product( w, i -> mgi[2][AbsInt(i)]^SignInt(i), One(Range(hom))); end ); InstallMethod( FGA_Source, [ IsFromFpGroupGeneralMappingByImages and HasMappingGeneratorsImages ], hom -> SubgroupNC( Source(hom), MappingGeneratorsImages(hom)[1] ) ); InstallMethod( FGA_Image, [ IsToFpGroupGeneralMappingByImages and HasMappingGeneratorsImages ], hom -> SubgroupNC( Range(hom), MappingGeneratorsImages(hom)[2] ) ); InstallMethod( IsSingleValued, "for group general mappings of free groups", [ IsFromFpGroupGeneralMappingByImages and HasMappingGeneratorsImages ], function( hom ) local mgi, g, imgs; mgi := MappingGeneratorsImages( hom ); if mgi[1]=[] then return true; fi; # map on trivial group g := SubgroupNC( Source(hom), mgi[1] ); if not IsFreeGroup( g ) then TryNextMethod(); fi; if Size( mgi[1] ) = RankOfFreeGroup( g ) then return true; fi; # write free generators in given generators and # compute corresponding images: imgs := List( FreeGeneratorsOfGroup( g ), fgen -> Product( AsWordLetterRepInGenerators( fgen, g ), i -> mgi[2][AbsInt(i)]^SignInt(i), One(Range(hom)) )); # check if all given generator/image pairs agree with the # map given by free generators and computed images: return ForAll( [ 1 .. Size( mgi[1] ) ], n -> mgi[2][n] = Product( AsWordLetterRepInFreeGenerators( mgi[1][n], g ), i -> imgs[AbsInt(i)]^SignInt(i), One(Range(hom)) )); end ); ############################################################################# ## #E fga-1.5.0/lib/Central.gi000644 000766 000024 00000004140 14413016335 015217 0ustar00mhornstaff000000 000000 ############################################################################# ## #W Central.gi FGA package Christian Sievers ## ## Method installations for centralizers in free groups ## #Y 2003 - 2012 ## ############################################################################# ## #M CentralizersOp( , ) ## InstallMethod( CentralizerOp, "for an element in a free group", IsCollsElms, [ IsFreeGroup, IsElementOfFreeGroup ], function(G,g) local i, l, len, div, w, f, p, pp, c; if g=One(G) then return G; fi; w := LetterRepAssocWord(g); i := 1; l := Length(w); while w[i] = -w[l] do i := i+1; l := l-1; od; len := l-i+1; pp := PrimePowersInt(len); f := 1; while f 0 and w{[i..i+len-(len/div)-1]} = w{[i+len/div..i+len-1]} do len := len/div; p := p-1; od; f := f+2; od; # return Group(AssocWordByLetterRep(FamilyObj(g), w{[i..i+len-1]})^ # AssocWordByLetterRep(FamilyObj(g), w{[l+1..Length(w)]}) ); c := FindPowLetterRep(G, w{[1..i-1]}, w{[i..i+len-1]}, w{[l+1..Length(w)]} ); if c = fail then return TrivialSubgroup(G); else return Group(c); fi; end ); ############################################################################# ## #M CentralizerOp( , ) ## InstallMethod( CentralizerOp, "for a subgroup of a free group", IsIdenticalObj, [ IsFreeGroup, IsFreeGroup ], function(F,G) local r; r := RankOfFreeGroup(G); if r >= 2 then return TrivialSubgroup(F); elif r = 1 then return Centralizer(F, FreeGeneratorsOfGroup(G)[1]); else # (r = 0) return F; fi; end ); ############################################################################# ## #E fga-1.5.0/lib/ExtAutom.gi000644 000766 000024 00000016064 14413016335 015405 0ustar00mhornstaff000000 000000 ############################################################################# ## #W ExtAutom.gi FGA package Christian Sievers ## ## Methods to create and compute with extended inverse automata ## #Y 2003 - 2016 ## BindGlobal( "FGA_FreeGroupForGenerators", FreeGroup(infinity) ); BindGlobal( "FGA_One", One(FGA_FreeGroupForGenerators) ); InstallGlobalFunction( FGA_newstateX, function() return (rec (delta:=[], deltainv:=[], sndsig:=[], sndsiginv:=[])); end ); InstallGlobalFunction( FGA_connectposX, function(s1, s2, g, sndsig, sndsiginv) s1.delta[g] := s2; s2.deltainv[g] := s1; s1.sndsig[g] := sndsig; s2.sndsiginv[g] := sndsiginv; end ); InstallGlobalFunction( FGA_connectX, function(s1, s2, g, sndsig) if g>0 then FGA_connectposX(s1, s2, g, sndsig, sndsig^-1); else FGA_connectposX(s2, s1, -g, sndsig^-1, sndsig); fi; end ); InstallGlobalFunction( FGA_defineX, function(state, gen) local nstate; nstate := FGA_newstateX(); FGA_connectX(state, nstate, gen, FGA_One); # nstate.W := state.W * gen return nstate; end ); # active InstallGlobalFunction( FGA_findX, function(s) local sndsig; sndsig := FGA_One; while IsBound(s.isnow) do sndsig := sndsig * s.sndcoinc; s := s.isnow; od; return rec(state:=s, sndcoinc:=sndsig); # todo: path compression end ); InstallGlobalFunction( FGA_mergeX, function(s1, A, s2, B, Q) local s, C; s1 := FGA_findX(s1); s2 := FGA_findX(s2); if IsNotIdenticalObj(s1.state,s2.state) then if IsBound(s2.state.isinitial) then # don't mess with the initial state s := s1; s1 := s2; s2 := s; C := A; A := B; B := C; fi; s2.state.isnow := s1.state; s2.state.sndcoinc := (B*s2.sndcoinc)^-1*A*s1.sndcoinc; Add(Q,s2.state); fi; end ); InstallGlobalFunction( FGA_coincidenceX, function(s1, A, s2, B) local Q, s, g, s0, s01, delta, deltainv; Q := []; FGA_mergeX(s1, A, s2, B, Q); for s in Q do delta := ShallowCopy(s.delta); for g in BoundPositions(delta) do Unbind(delta[g].deltainv[g]); od; deltainv := ShallowCopy(s.deltainv); for g in BoundPositions(deltainv) do Unbind(deltainv[g].delta[g]); od; for g in BoundPositions(delta) do s0 := FGA_findX(s); s01 := FGA_findX(delta[g]); if IsBound(s0.state.delta[g]) then FGA_mergeX(s01.state, s.sndsig[g]*s01.sndcoinc, s0.state.delta[g], s0.sndcoinc*s0.state.sndsig[g], Q); elif IsBound(s01.state.deltainv[g]) then FGA_mergeX(s0.state, s.sndsig[g]^-1*s0.sndcoinc, s01.state.deltainv[g], s01.sndcoinc*s01.state.sndsiginv[g], Q); else FGA_connectX(s0.state, s01.state, g, s0.sndcoinc^-1*s.sndsig[g]*s01.sndcoinc); fi; od; for g in BoundPositions(deltainv) do s0 := FGA_findX(s); s01 := FGA_findX(deltainv[g]); if IsBound(s0.state.deltainv[g]) then FGA_mergeX(s01.state, s.sndsiginv[g]*s01.sndcoinc, s0.state.deltainv[g], s0.sndcoinc*s0.state.sndsiginv[g], Q); elif IsBound(s01.state.delta[g]) then FGA_mergeX(s0.state, s.sndsiginv[g]^-1*s0.sndcoinc, s01.state.delta[g], s01.sndcoinc*s01.state.sndsig[g], Q); else FGA_connectX(s01.state, s0.state, g, s01.sndcoinc^-1*s.sndsiginv[g]^-1*s0.sndcoinc); fi; od; od; end ); InstallGlobalFunction( FGA_atfX, function(l, lx, p) if IsBound(l[p]) then return rec(state:=l[p], sndsig:=lx[p]); else return fail; fi; end ); InstallGlobalFunction( FGA_deltaX, function(state, gen) if gen>0 then return FGA_atfX(state.delta, state.sndsig, gen); else return FGA_atfX(state.deltainv, state.sndsiginv, -gen); fi; end ); InstallGlobalFunction( FGA_stepX, function(r, gen) local res; res := FGA_deltaX(r.state, gen); if res <> fail then res.sndsig := r.sndsig * res.sndsig; fi; return res; end ); InstallGlobalFunction( FGA_deltasX, function(state, genlist) return IteratedF(genlist, FGA_stepX, rec(state:=state, sndsig:=FGA_One)); end ); InstallGlobalFunction( FGA_traceX, function(s,w) local i, s1; s := rec(state := s, sndsig := FGA_One); s1 := s; i := 1; while i <= Length(w) and s1 <> fail do s := s1; s1 := FGA_stepX(s, w[i]); i := i+1; od; if s1 = fail then return rec(state:=s.state, index:=i-1, sndsig:=s.sndsig); else return rec(state:=s1.state, index:=i, sndsig:=s1.sndsig); fi; end ); InstallGlobalFunction( FGA_backtraceX, function(s,w,j) local i, s1; s := rec(state:=s, sndsig := FGA_One); s1 := s; i := Length(w); while i >= j and s1 <> fail do s := s1; s1 := FGA_stepX(s, -w[i]); i := i-1; od; if s1 = fail then return rec(state:=s.state, index:=i+1, sndsig:=s.sndsig ); else return rec(state:=s1.state, index:=i, sndsig:=s1.sndsig); fi; end ); InstallGlobalFunction( FGA_insertgeneratorX, function(s, g, sndgen) local i, t, bt, s1, s2; t := FGA_traceX(s, g); bt := FGA_backtraceX(s, g, t.index); s1 := t.state; s2 := bt.state; if t.index > bt.index then # trace complete FGA_coincidenceX(s1, sndgen^-1*t.sndsig, s2, bt.sndsig); else if IsIdenticalObj(s1, s2) then while g[t.index] = -g[bt.index] do s1 := FGA_defineX(s1, g[t.index]); t.index := t.index+1; bt.index := bt.index - 1; od; s2 := s1; fi; for i in [t.index .. bt.index-1] do s1 := FGA_defineX(s1, g[i]); od; FGA_connectX(s1, s2, g[bt.index], t.sndsig^-1*sndgen*bt.sndsig); fi; return FGA_find(s); end ); InstallGlobalFunction( FGA_fromgeneratorsX, function(gens) local gen, i, autom; i := 1; autom := FGA_newstateX(); autom.isinitial := true; for gen in gens do autom := FGA_insertgeneratorX(autom, gen, FGA_FreeGroupForGenerators.(i) ); i := i+1; od; return autom; end ); InstallGlobalFunction( FGA_FromGroupWithGeneratorsX, function( G ) return FGA_fromgeneratorsX( List ( GeneratorsOfGroup ( G ), LetterRepAssocWord )); end ); InstallGlobalFunction( FGA_AsWordLetterRepInGenerators, function( w, A) local res; res := FGA_deltasX( A, w ); if res = fail or IsNotIdenticalObj( res.state, A ) then return fail; else return LetterRepAssocWord( res.sndsig ); fi; end ); ############################################################################# ## #E fga-1.5.0/lib/Normal.gd000644 000766 000024 00000001132 14413016335 015050 0ustar00mhornstaff000000 000000 ############################################################################# ## #W Normal.gd FGA package Christian Sievers ## ## The declaration file for the computation of normalizers in free groups ## #Y 2003 - 2012 ## ############################################################################# ## #A NormalizerInWholeGroup( ) ## ## returns the normalizer of in the group of the whole family ## DeclareAttribute( "NormalizerInWholeGroup", IsFreeGroup ); ############################################################################# ## #E fga-1.5.0/lib/util.gd000644 000766 000024 00000000576 14413016335 014610 0ustar00mhornstaff000000 000000 ############################################################################# ## #W util.gd FGA package Christian Sievers ## ## Declarations of utility functions ## #Y 2003 - 2012 ## DeclareGlobalFunction( "BoundPositions" ); DeclareGlobalFunction( "ATf" ); ############################################################################# ## #E fga-1.5.0/lib/FreeGrps.gd000644 000766 000024 00000006526 14413016335 015351 0ustar00mhornstaff000000 000000 ############################################################################# ## #W FreeGroups.gd FGA package Christian Sievers ## ## Main declaration file for the FGA package ## #Y 2003 - 2012 ## ############################################################################# ## #A FreeGeneratorsOfGroup( ) ## ## returns a list of free generators of the group . ## This is a minimal generating set, but is also guaranteed to ## be N-reduced. ## DeclareAttribute( "FreeGeneratorsOfGroup", IsFreeGroup ); ############################################################################# ## #A RankOfFreeGroup( ) ## ## returns the rank of a free group. ## DeclareAttribute( "RankOfFreeGroup", IsFreeGroup ); ############################################################################# ## #A FreeGroupAutomaton( ) ## ## returns the automaton representing . ## DeclareAttribute( "FreeGroupAutomaton", IsFreeGroup, "mutable" ); ############################################################################# ## #A FreeGroupExtendedAutomaton( ) ## ## return the extended automaton representing . ## The extra information is enough for a constructive membership test ## with respect to the given generators of . ## DeclareAttribute( "FreeGroupExtendedAutomaton", IsFreeGroup ); ############################################################################# ## #O AsWordLetterRepInFreeGenerators( , ) ## ## returns the unique list representing a word in letter representation ## such that ## = Product( , ## x -> FreeGeneratorsOfGroup()[AbsInt(x)]^(SignInt(x)), ## One() ) ## or fail, if is not in . ## DeclareOperation( "AsWordLetterRepInFreeGenerators", [ IsElementOfFreeGroup, IsFreeGroup ] ); ############################################################################# ## #O AsWordLetterRepInGenerators( , ) ## ## returns a list representing a word in letter representation such that ## = Product( , ## x -> GeneratorsOfGroup()[AbsInt(x)]^(SignInt(x)), ## One() ) ## or fail, if is not in . ## DeclareOperation( "AsWordLetterRepInGenerators", [ IsElementOfFreeGroup, IsFreeGroup ] ); ############################################################################# ## #O CyclicallyReducedWord( ) ## ## returns the the cyclically reduced form of ## DeclareOperation( "CyclicallyReducedWord", [ IsElementOfFreeGroup ] ); ############################################################################# ## #F CanComputeWithInverseAutomaton( ) ## ## indicates whether we can use inverse automata to compute with . ## We assume this is possible if is a finitely generated free group, ## hoping that we actually can get a generating set when needed. ## This is not always true, but generally then there is also no other way. ## DeclareSynonym( "CanComputeWithInverseAutomaton", IsFreeGroup and IsFinitelyGeneratedGroup ); InstallTrueMethod( CanComputeWithInverseAutomaton, HasFreeGroupAutomaton ); InstallTrueMethod( CanEasilyTestMembership, HasFreeGroupAutomaton ); InstallTrueMethod( CanComputeSizeAnySubgroup, IsFreeGroup ); ############################################################################# ## #E fga-1.5.0/lib/Whitehd.gd000644 000766 000024 00000001375 14413016335 015225 0ustar00mhornstaff000000 000000 ############################################################################# ## #W Whitehd.gd FGA package Christian Sievers ## ## Declarations for computations with Whitehead automorphisms ## #Y 2004 - 2012 ## DeclareAttribute( "FGA_WhiteheadParams", IsGroupHomomorphism ); DeclareAttribute( "FGA_WhiteheadAutomorphisms", IsFreeGroup ); DeclareAttribute( "FGA_NielsenAutomorphisms", IsFreeGroup ); DeclareGlobalFunction( "FGA_WhiteheadAutomorphism" ); DeclareGlobalFunction( "FGA_WhiteheadAnalyse" ); DeclareGlobalFunction( "FGA_WhiteheadToPQOU" ); DeclareGlobalFunction( "FGA_NikToPQ" ); DeclareGlobalFunction( "FGA_TiToPQ" ); DeclareGlobalFunction( "FGA_ExtSymListRepToPQO" ); DeclareGlobalFunction( "FGA_CurryAutToPQOU" );