pax_global_header00006660000000000000000000000064142110241050014500gustar00rootroot0000000000000052 comment=3f763bcde1195e23ba119a5b3c70d7c889881019 candle-1.1.9/000077500000000000000000000000001421102410500127365ustar00rootroot00000000000000candle-1.1.9/.gitattributes000066400000000000000000000005721421102410500156350ustar00rootroot00000000000000# Auto detect text files and perform LF normalization * text=auto # Custom for Visual Studio *.cs diff=csharp # Standard to msysgit *.doc diff=astextplain *.DOC diff=astextplain *.docx diff=astextplain *.DOCX diff=astextplain *.dot diff=astextplain *.DOT diff=astextplain *.pdf diff=astextplain *.PDF diff=astextplain *.rtf diff=astextplain *.RTF diff=astextplain candle-1.1.9/.github/000077500000000000000000000000001421102410500142765ustar00rootroot00000000000000candle-1.1.9/.github/FUNDING.yml000066400000000000000000000005731421102410500161200ustar00rootroot00000000000000# These are supported funding model platforms custom: ['https://money.yandex.ru/quickpay/shop-widget?writer=seller&targets=%D0%A1%D0%BF%D0%BE%D0%BD%D1%81%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20github.com%2FDenvi%2FCandle&targets-hint=&default-sum=&button-text=11&payment-type-choice=on&mobile-payment-type-choice=on&hint=&successURL=&quickpay=shop&account=410019747904658'] candle-1.1.9/.github/ISSUE_TEMPLATE/000077500000000000000000000000001421102410500164615ustar00rootroot00000000000000candle-1.1.9/.github/ISSUE_TEMPLATE/bug_report.md000066400000000000000000000013441421102410500211550ustar00rootroot00000000000000--- name: Bug report about: Create a report to help us improve title: '' labels: '' assignees: '' --- **Versions** - Candle version: [e.g.: 1.0.11, 1.1.7, 1.2.9b] - Firmware version: [e.g.: 0.9j, 1.1h] **PC info** - OS: … - OpenGL version: ... **Describe the bug** A clear and concise description of what the bug is. **To Reproduce** Steps to reproduce the behavior: 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' 4. See error **Expected behavior** A clear and concise description of what you expected to happen. **Screenshots** If applicable, add screenshots to help explain your problem. **Example files** Add G-code files that cause problems. **Additional context** Add any other context about the problem here. candle-1.1.9/.github/ISSUE_TEMPLATE/feature_request.md000066400000000000000000000011341421102410500222050ustar00rootroot00000000000000--- name: Feature request about: Suggest an idea for this project title: '' labels: enhancement assignees: '' --- **Is your feature request related to a problem? Please describe.** A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] **Describe the solution you'd like** A clear and concise description of what you want to happen. **Describe alternatives you've considered** A clear and concise description of any alternative solutions or features you've considered. **Additional context** Add any other context or screenshots about the feature request here. candle-1.1.9/.gitignore000066400000000000000000000014221421102410500147250ustar00rootroot00000000000000# Windows image file caches Thumbs.db ehthumbs.db # Folder config file Desktop.ini # Recycle Bin used on file shares $RECYCLE.BIN/ # Windows Installer files *.cab *.msi *.msm *.msp # Windows shortcuts *.lnk # ========================= # Operating System Files # ========================= # OSX # ========================= .DS_Store .AppleDouble .LSOverride # Thumbnails ._* # Files that might appear on external disk .Spotlight-V100 .Trashes # Directories potentially created on remote AFP share .AppleDB .AppleDesktop Network Trash Folder Temporary Items .apdisk # User's project preferences *.user* # Build dir build-* # Binaries bin/* # Idea .idea # VS .vs /src/debug /src/release /src/candle.vcxproj.filters /src/Candle_resource.aps /src/Candle_resource.rc /src/ui_* candle-1.1.9/LICENSE000066400000000000000000001045131421102410500137470ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. 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 them 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 prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. 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. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey 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; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If 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 convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU 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 that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. 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. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 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. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. 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 state 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 3 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, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program 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, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU 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 Lesser General Public License instead of this License. But first, please read . candle-1.1.9/readme.md000066400000000000000000000025301421102410500145150ustar00rootroot00000000000000Candle ----------- GRBL controller application with G-Code visualizer written in Qt. Supported functions: * Controlling GRBL-based cnc-machine via console commands, buttons on form, numpad. * Monitoring cnc-machine state. * Loading, editing, saving and sending of G-code files to cnc-machine. * Visualizing G-code files. System requirements for running "Candle": ------------------- * Windows/Linux x86 * CPU with SSE2 instruction set support * Graphics card with OpenGL 2.0 support * 120 MB free storage space Build requirements: ------------------ Qt 5.4.2 with MinGW/GCC compiler Downloads: ---------- Experimental versions: * [Version 1.2b release](https://github.com/Denvi/Candle/releases/tag/v1.2b) For GRBL v1.1 firmware * Windows: [candle_1.1.7.zip](https://github.com/Denvi/Candle/releases/download/v1.1/Candle_1.1.7.zip) * Linux: [candle_1.1.7.tar.gz](https://github.com/Denvi/Candle/releases/download/v1.1/Candle_1.1.7.tar.gz) (for GRBL v0.9 and below use Candle 1.0) Before creating new issue: ------ Candle works with CNC controlled by GRBL firmware, many problems can be solved by using proper version of GRBL, using proper configuration. Please read GRBL wiki: - GRBL v0.9-: https://github.com/grbl/grbl/wiki - GRBL v1.1: https://github.com/gnea/grbl/wiki "Candle" main window: ![screenshot](/screenshots/screenshot_heightmap_original.png) candle-1.1.9/screenshots/000077500000000000000000000000001421102410500152765ustar00rootroot00000000000000candle-1.1.9/screenshots/screenshot.png000066400000000000000000004621421421102410500201720ustar00rootroot00000000000000PNG  IHDRY sRGBgAMA a pHYsodtEXtSoftwarePaint.NET v3.5.11GB7IDATx^ŕ?<߮m1` d!rFisY3(rYPY D6k{{t׭0wfN=ӷ}~S9 f5k:o⟿u( ( ( @ 08_ʾu}٭3ZoࠑcFO.?rBZtJ>vK ۵/¾>Zd/_|0?ϡ>%O>!O~ի]mW\+}|mW>r㏯|䶏?}e]C?ۥ޻~\{ҥwKyٻ~=Xv]RvQ.n<{7FwurY(%M.}pɰ1є>ߑ~w#3u8xqs~2b&)]7)ӓlz>$ ?2W\ᇗ=?Y`%cĐ؃P"*W}6m2{tg~.>DjoX?̂6kѹGFt3Oӧ_xu6͞3l3Y9>6d&ٌYs|d֜Y.>sˊfi%L+,`L?Q0ljQ ۔iOVzvv({$1l'}ao#<O<2\+vĩz[K'_o${{wÕ >"we弫+}mռOm'bv^tOW;󯮞1V/zzd^袲7W-rѥZ{L1s5^{mzq??3簗84cѩ3JsPϬyfϙ^۬9\6ti g}i%6kZLXt2 œM\8>q급SƌO2}qG 1zQdc8d89_  C߳}߻_6wof x|i໴ kաS[k6mxBVʃh(F4 m{hz=쉆MӳYdߠ%.gܷqӎ|V1@agy~!gU\kuϗaB r O{7!B؇|N/Xu6Eu۱qF.w;]nv:vwnQM ̮.sA;w;*Gi1JF+m%5-K7nz}VAnA z׶]Švk h_;5 65kgvt8mvs17bZӳzAuul.׻fwtZL֡nr]}K]{*|շ{~.{/(@?88t#6-v'|7]-x]rQݎoOٻ\v>3G[;7ܒ Kޘ_痼ŗ}2+>ʢ; kkxQ1a/.xqGK./*`QJUxs7ϸ0kg:ƻ7}~ۿ}> kmԮ=n^װ6_d% /[x%-X̲Klex/^6Rm.%6ggXT:':*=6c\)*eiSHq5Q3uڄ)d +< 5T3~qdo~<lZ{~F B֟|7L?pHo8UE {ho`􈮁!fCn0oCo`辣2z4{:vvdG~3Ĭsû3[ֶIKqO57-(th}\C~I8]NBz#OMLB(wt2C!3Q-8?=t2@3m[X$4Zen>` /Mv7˾A2b=Qvw)AG QڕgD^pEwOONw6޺ݕݟ}%tD<1s]P^p7d 3껩d$z;/5hԜq ex)ڰiKo+ #VDAD@nOa3kkb͐)geapҵEtz{ȑ]{n6[(fzo =w7/ڳml{سl/A}`&;tFoӿmG>o0X>tN}_kԟbUk#٦4cSfN97sS.̚򦲷7kʥY?5Y/ɗ hdeS}<{eS>v)MT:ҩNҩfO=?{꫰YS̚zq?Wz{|J w;"[_v";<^g:`Ix銥W-_z5WXndXXnj![neVl%]tE-Ym2\lՅ@_l%YBz3+p=BgEg̞P{)!+"k@yx(P~rmO:dO6ȳIl G%G ;쇎;dĘd  y!bor} wP$=Y^OvA/`zøڸ'`z*+{"eCrnCqĞx{t0о3x馢}Z11v7KD0p~0Dve4rsELӧ5S1aQ7 fSG2lnpW3UpwwdN <묧bȢ RImThx~nqGK.ySIobwXT$`v[1|w{vNjwf1vgtٽDwGοmö$AŽ]d;ɶܽ}َ]{vޫmdPs/yuF+li[=f~gPǞݴlkf2t,۸e2ܰ 7(?8z?LOn`OO<Cyv>fϝ"1Bg,} *2P( 6;d^쵍0pO|ga$cN3b8ѿax(I׆ X pQρ (E! g@WrCn DA>~QNa-Osf̤uVN"eW9- xטTg =n:y9&1 ѧ9ʀM)Iོ-Sď)ڙ$QP jr`acԻr;oJ(nۑz)HZ^v{(OX1zL*eǟznwi:|18]jN"s1[СGVR|enj߻c)etU$ ;Hw>kvqmb3ϼzwԋ/-[ |jVY)hzWÀIo`pۈO.dmش/u͋omܴӖQFGKy94ϑ}sbDߓ#ό}vdz6z-M+3io֘>y]1}΍svtWFyiTG=5wdDsWֿob_o5}]aOղ_-S_/Exȿv=.r3?/<^l߹kF^/Y_zM}s/qL=o|}n^pٖm/lyyeiۼLw Wnf ŝ]{})|V_LgoTl '=Pl=*={/Ups==L%T{$\L8ET>apm!# >~v=6 vb6y DQ7#ׁ!O@o օ#M3[c, #s%ƪ" Q{ ٢'Y;dXʺ3 !Vz6]SRg"2İǟz?㵇1>հ19 wv(#S#QB\p7ڊ6s4Va'Uem 2Е қ$or+bq5? :9c;Fx:$.Gp$dী=D`⍈ 1@-7zDJMaѨZ3}WOSNe;gMiEƸkcf(03!tw13p9*;$zQƱ0)nir b0׬[oۆ߀Ct7/_SevUUk.O=B{fϾj(0u737z +wj۽oe*WؽDz]{݆B `?a6=^Cs۫wF8q4WP~C1| ''=x{{ zghZ;|;d*{B|N/>>FO|6'2$Yo%v"|ج.L+hNĩН;<Ax뇷w<-paDZIJ=nNoDHʮp#ja)t;Gp KஒRX3>y)#[p}GJSx+3{tXe _tL8ceZPmf!bm;g-TX NwmvB[s!& 6)ds 8ҭZ`(*C8s zlچ{Vq׎$nQLGGǡv 1<8զO#)qS͈vC2q2uj=@no׉"u}Rٝƪ&3fr;f& aww;;;;wwc5p;=<]346y"x(w]FjWNap}}iwV[!@vD<`_xЁp<5kࡘl{ Xkvoؾ]{iTDP%y @? >o{ AXP>⽈H3"<߻|CT=Y8obcd`NJ/ es0Rh*>{mo|O^|)ܷbxboDg2.0z`EKO E3&)8A>0Hhp]斻br?PHEؑL`- >wNst=0hj?i _HOȻo8M'E ݃1ڑȰ I͕0pMSnnOGZN4䔉.#csQ m0cS4<-@1dNTuqSDnp;=pswN2μfM#j] CCEֵE@v y ޏ~#T=ҷҙ7)b_]W jiՈrXIi8?[vM[AHּmċRΙuT3:Y!H!B;uʙJi:=70c>ۢ%:d݋` 6/Y$+)i9)kH,҆;9vC^GyY 7 ]BqlCd`:f*nQ`~aF vYYrc3!yv!hoi,;U=Eի -wJe~GxǸJLq,m8BXR|vS^|NoýJ1~6kpԏ`%ԙLҏP2k.43"Zaj^x!Xxa)E!pWqjGN3dž*jxEki#vӬ9VP;o ; ޜJL-u85Ν/NӖݙMعMtXlA' ҩ`M|7*Xx|*@^H{̨Fy88WZ#~p ]y)m@Ri%EqO 1熊ٰ;Qkw[X ܡglp# zl<<2uip/35s ܑUQsdwTWb_L?vw a2PH2R vpU)22w"|GJ7ӊ1p2#$C F9f8:ec'?iʄIS&LB6ɲB4:qԤS i.X[LmP0mQO+njFlmȶƏMjZooz=ܬuO4bz/7wyWBmrChJzlgZ;ai+-~/|Tˇ|H5xG4dgG7}mk&YXo8nXm@j_nƍ}p]~]. KqVN;7g:i3&^ԡ.=pܻu9MHiGp ۋ4d ::!#fw<<`Ľ$B}#ဟUzE[4sj)SUR{_PziAa֫F7.瞞|캜jݧ9҂mg!ch+ ?zݟ.m{ w;*w{o N87k"~rҊ=~0:$16w;}4Y )`FE˨n:݃d|=Xv=*棻-#9-s:]Naa6Z`wnlYl'3tQ!4-fuĻwG-CfšU[pƫԍu1 ` cԮS2dq2Q*felvWQdMb);9ݭimΆѤQ&Q{ A~ytbM+Hxr v=}6SOr״ef4oݶyvڷhӾefkߩMXyuF}:wҭSd=:wҭk^.^Cu[>zuO*vrL_2̻Y^T .iݾ˪߾߾mk޶ݽ{w׺h<Ccͱ{o56Ȏwn;xmm}mkl7[SV5kY?z7Cc\jQ Nl1jgsvDn*9ڟߎxM|L}烇-k1L1̳eϚk[<7@ߝcLR e߁dzobf 0bxߩ؝iN,j0jTnnOkC>WD;=$:%|nVz|~39挓͛adUּT1l,T "plSyy YgG5.zBk0|N=[N[Z)Vz~+ׂtW#k &B~IL݌H뎑:xO4hBA2ڮ2?;ԡ)sOM{ڠv^n-]34Nwõ2)e2Q}ǤbkX*ԀPNSd&O$2kA)顨/ºM7hBC$9 h$Q&S ޏc4ftөǭC kÏ? -0R5]UoԻ !43jZ,[lѥVAΕ>f3`EX1O*EPZ4!F6ALs4w6a3u QLLL)Nگ/8`~wIĚVr'(!JR݋Xjٰ#' 3/ےr"Z_aU땈sNU6OSæ-Qw5o՘fhj d'jo٦qKI+8۪v۴'CL-wؚB;Өwھ rD_~nԬqVMZjڲe6kEߢ Y˶[whݾc@|Nm::uiߩ+ 5w%S>8[0vӵ;'eb,mY^ЭgYo>:CwlFw񏿻.w6Wj{jǁq!6r3fڎOooo 5\ooM5n]WUn[Qen[zmFuGvn)+c7c! vI<0y`q'\v;h$6?v{;nP^Q͖K3{zg|9}'E+v'p)AGnޢ3Gk{_N}CnHkڇ.T -wk*kr1gT%OqDlQL#|lY^V9+-bO>3?hǴ.F"sMRkNX0-fG]%X3yuJf#c&"̀#8Hܑ0!;d; ϻpxvfL_}o91,:hTR!%=dt"H+=MSl8\ 1O:ƨ?C&L}&d |M%ٰohcݤnv.뱞` o5je> )A/GEy;U}SFZc+U]gLWfyaLi}bN.fRjt`uy g#y3/<3M4JXGHwZ[VO Po- Йsu2bzן W3atrk^װ.G#4k^K}*׵EݞWE&^oKފvwE-( ZujP<w aS{7P;| -~iF[M[n[tNh +݈ݙwl6 ~뚻w7WζjiS" >`ڋKLû1?b)h2pv5׾ww_o>mk_a[H.gP,bwDp8_({II?\纜:EE*u c_EV]5Fcsrz.;kkQx!?Xrxf=ȢwAm?>|~t* ׌ilG)6+Z2 w|.ݰivM5z5]9g|5Qs?tK6\+0B)餕z>i+Ҳx"0}ɀ99͚+o~N1K&GIWFi+ut`mArlaߣ7g,o<6po[crf/Uܶ[7Tusn5>TG oa?rV̎ΡZ9P;j}gW0j~gk[7ռm]o_vF;S, Q D7`n♳8u ϵ3!ڏLEbY^-U^#/̍p9Ѯơ0!"(ȱO:qKWBj%}Y~{鳌WQ=O'~|c'-_u ~mvͲ>kǵlS C8sz !4)@ }<0iu'?)#qEus'yhz[7NçXݧ[ l|_nljrl=je䌷.yPMnߙ\<@8)kfTjuM*bi>qOmNXOGxK]Vci:YDU[NqԣX*/]1j^K ?SO|5}A?4pLEY onZ~b\Y\$'9:M $d@Ǐ4ͻ3|dG& 2hh=)n͟L?4#Bg|I\֟4չ~^:&歛9egW:Zf?oL3(`tQbT# ֌YgtaO"ya `z5UM)/6!{²z?lXǞ4XGPkz? {䉧}c~O4xɧ=L|HT6ؒFXpt oSP'u PXn%p>6o^xeFE#?et,. O~pu<` w}1gjoDO,.|x Z˞nҌ k~CD d h60<$mclp k&c܆k xa}z it 7{IFM?ڪm(hTR%jJ$4tˎ=t#˶ǞB eBex&{GhwE(q+N)~Y~wOC 9zqث!O7R)<9= 8u+^T_vS;P6j׻ ԎvG!xJ5" N6;o`C]} SF{~pbsX &X Q0H!sKwҟܱ'wkzdž[cCw|khiX}W?Vѱ:߇7X;׹`;׾sw|sۃwn~΍޹;WU?sw8M|wKȟnٌY7xcÒ/ 3:|<ɘisoV޼e۞{wܹk큃#H96ϩ[ŗN)j%LKf _ j[ye)dxlj‹ЫM^خ]<ߜ8 y' j`+ _2T)rf+-d"+ y`yy`=(lI)b̤yX#/1D%0SBޡxb,;|10xwds<)o6f~~$WYD!f[%fC^sL(o9I'U߯^7Xpl7?9cRV \ f8茁WQOjHx4wgqawiʨq3p&LԽw?[G8]N2~N<ךV /Mb*a&aikh5<.-Pvoܬu|kަEa_6M[챖h>BWҴkӧ17i ji#˄6)_?ȴnwάG/)<˴I_zK/ZapEx땭OoQzHu;q9Wslj=TA=2P|<"j{{,9CW7 UFۧA*J/kxY4Du;1슱D3ԐG/wXqӖ#hMiAޙ7qȻ 'I߱o1%<~r[U(>x>RqoVO8As?׮P(56}&r[6WA#OAg6v.yj|#g4LpR8dQ1Ҿ0Idbvࡽt뜏~ zWn{d!T` 8Y2W<3ޤ{#k(L;p"O~#[}\G\WmF&2BIT`?QTJ mlVGp .=$q+.\d x5Zo {5ٻ&{xڜWCʘ Oa!1*e賒.IL;b kcyA ÊLf PruJ򳋟Z MYIxh;e+Ю#*YIZ(0hn'oPʭMnf鎄9~|7^;$n3:{A= I6gߡ oXwXQ 9G2fб@ ǯ3 ε km~G> cF4r4~iamN qXee7m_ʅk]׸u75lӺ6B;ռusUc<)dlZ^H"Y*d=KNcnde.jqU.=; z[D!z尧Q}ޅ 53k^AeV!pm]_!/^=+xzO!N4{⛸OCiՠd;H9ڄ_ *a"}+8f3t±.0 c=UK7ҭtP٧?qb<<-[ܥ뺍&5pĘ F+6z´1`caM*\>qLؤجI&͞:tjYAќnԤՋ/ZX<6d>hll̅^D6m!Kf/6-QkojlǮc׹oǝ}:aow8Կpr`yhW:͹v~X(vfX3ڟa^YޑAy蟷6}_\0sI |%ɟ%f[@d`˾17Fd1oRQcQ[ ]b;^2b r~}U ?y%߼o?¹ԙѰAzwn9׏*;5,gՆ8#$`}4N?v>޹{>tMdeщܗg1uҷ6m-$:FXS56G1Xi;BsR%/3G{ʹ=k՚UXBmT*H:r5֯Y9jee3(TKI\U: X5U$(t9H"vܽC}cO9zܐaxI7OA"̀+.Ox^*J>Ő3*l{bիvs̳sAMk8}ƂHF)S㦹Z o;M2!#`i;we::t|.1kOcÊ`v9q?Sɰ2Դ1Dl)i4Ȋӂf֘`njg9z/πsXYoWs,U2!aB$ڄvoܚG&F`ؠXFW4JANp- z=W%ah$̏)<0'z ;Ӎ-Yu7dlz!cYWukTb'dЫ/YQ,|tOmu:|bϾ{k;}dGaaa`ԢvkGx7EȨkGBĢC\| CRFb y}e o׆[oM?|Mfw|nm~-M]+^}k s~5{f}dofwۛwyi~G+l+gntbԮ#d\16DYbI]_ \FD_ S,qpRHBS| e~Sc:U99`JL*A0;V%LG>8mk&ЬcWzaN2a<`]e{C Hgnɬ٘`铦0i䘱CGh>1t^"x8 7(' X.C; Y`_#kFńs9]8/;(Ļc{m[vlϏoMu͸~E Cb LO5W;띝ڴu:]wxMGΓ̳vkJy'zm/rJjpp͈#+/TMZ=׳s~we Ϸ+l U&ozf"=91] bzcï$F~1j;bk_.vu `{7_CٛdoyE[loV2+{7Ȑ$! O6|76WO{]ah{ݘ]B0zDCL-/Epkf!|AԾd#N&|qP42n8pgXOFk=i)ϺǏFPrqюsn썈Lq9Zv~99?|=G>uYߴe]j9ԭ/*)E#|F|;zed ~e-^h҅ f|ޟc3RI ą,8*7k׬#rh|tts!5ӦL)6qC>p0ҵ٧ xv G;Ys}csW#Z ͟IX!Y`5ְZs'Z#6fLji1oRD⴦FhJ?kLTLoE8Ih$ZSqe1P)%Vҥ'+$d5 qZ=Rܵ;dq]o@`[lWރD$֏}0 6p0W :b0C:|԰#F9fܨ1Go6v$OW&M0y !V0m:h:~֧cKf`Yhn$j#}o{wď h2JTd_SMjwwjM#{0G p,>WPvOڽ .jǟw5jK:݅& jpw:wЙ;EAz;BqŌ*!efŒ-]a/ρأe|v7gw>hACG CGfv=} `ww$h؝}Ji!vF¢bjЙwfw,^y mp'|̤i!N  j;;]UD8oB}$[h"rcߢ%lKݗ,ܗ/[v_bjxU+nܼy֭[mh|*&]ڱsX{} نb4Vw(l'")dev20 ٠ٶ> #&'qFlkSjErBITh$MGYHWQ%#_?6ffS@eLt2vsלXޙ}}>+}Nb^_(.&_XC^^dur:㶱C'PwO^v8cֶnW6qƬu;dY6A?,Ӭ%1kڢך4ǔInkܬxuqh4 C lN gAPJ6DXB ERKOV2ZF4 t ʢoE:HݥƍOތ9ަȮ=l!G֓rէGoɔ߽_p 7OxM6~wr#n2wAC:|䰑𻏂+mǎ"v7z1b\ Fw/(eZt{r3PDdwB)R|/%"R*'ڌVO靜5~wbDnW/;QfzN4 cP _;%kWԮlb/^}1}%vev\rjW]v:7lRe+h|9RO]Ɯ 8`7v Jy޲moSΆfg1-l7'GDV՜pUdU`8Gl Ka9ulR9H_2W @W`qk甂B)nӉ{lMlxWR6nD_KeԝMd,0ƌ?zQnjsa!ÆI{ӽ'vYAhȈ@IZC,G-@ ´s+ 2Kk jog:ݶvey;0iDDNlƚpztp~R,VK~7NSЁ7 :kቡ]ܫHg[kmʶ5^ `q?kҬi6p|\ Cq 8# &WƠ5! ]RJz2 R/h=KcU yed27o "8x   rp|Qt5D 88ԝ0D>͆͜+ӨD#'*?nVa{Et,n董q[CG1ʴa#F5|7f,-2]8_~ :l0=& 8} ݧoOӀA>w dW^e9PVmZ&bF(}e8M_ OG-baq_@W 'r*WD ih Yx8}!$x!x`/ӗ棠<ŝ&35'o &Ey;Ef_(DIW($OmvUuMC/ΒwwNDNߙxKN::uҹ{.vU-f8t8|ͤv j'p 13> Bj(!j'w^Dh+^O"w;ܗ0P;xija!l/V4m:LE"0[ȮB4+XvZ1tV,;Aks4`n{ٙ'kHu2Py6( ѾpE(k_ _;tRU/_x\z5k|֯۰a#l#BhȬ+aa뱟2GA0T +[7? ΃jڢۆ7 8:/9&Nv!8unÊ|v)Lufͤ lq{\>MUÔM-m76q$؄ Ozر{xAqO'{Aa0p ?ַ_O4D]UD{uz٫wWE-K!G- 'M[ˆe .A5kq `0\#jp+.ppDn;[׺wQԸFŲ3bݺuZ~~7uoZ.]Mܹ ['xu i[nWepv k 6xֺuZjmZ˖\֢EK_k޼x3ޝāph C lg3 ,Q VK6\R-g\%5 uk 7W2cn =]h|* [N]J痽{7xx Իt"^߾C~mɐ:y5i.]{tǝN{ѣgBֳg/~@a%u`! $l (PYɌ3ffD1 G+ OP7]ZVZ:a}9-KnP5r3vliʈo%ڙVal -pWN1@ae6s9COg2^I^dةQ+@eAr[A +XP@TEt76w޼9sfD?Zhoach煸L 6q 8nq'+p\` wpBw*`vvDlW%^W*,X1:Wug"m n!/3EV!B>i)_;:v[ww WN^9a ͠ m&FW<誟Ӣ+KN6=]=:M:]@0:]u 5Ã3(CTnA{J~=߈=;[> sS'LA'Jhu}ۤ}6|+quBJXj|\A?-/Oֻbr{ =~Gוu{}.O6zw9˗ty]q=._;鴯UBp!/fB:Ew f8Wmx͠^omV%LBPnX2V |w {>5qq5}GgkΝ;u :xe.M[uiQ.`M[uk۩{.;u!+djq `_ӧ/(7"8cydH g}P=T_ #_bvvڕ[lSr@Y( 6 Ar]~>urtgK8=0*&Mɟn9բU,;zav1[I)Nr.>};FyS."gH+m\𦾛V6QQ^YU@ Uy./]Nr(rY=zDêR]޷OC\pWv[BZ> Q A7})_/Z: 3_1RKQ.qĻ+ѧqHhO\ʮݏ_=>#}Zwoq.~>at&fP2:d#) RcKEh1M󄌔SI"2Uu}"5.&ٻ=v>c+ܹ}8Մ7&'T'p,.ѐc.F!F# KX TňŸES3,03zz%/ke{-^F-]Co~|r-)( ( T rkUfM5k0LOy;li[ ڞz S>7Wa5W^Z{~=|w?~]վgY5揪ռFn5$VMXY r -.zvt P( ( ( dF8kgdwQ_ob( ( (oOyϟWLDQ@DQ@2_ZVjß*& ( ( P_Fe;?( ( @ӟ( ( ( d@?Awf_ILDQ@DQ@2ԎڿDQ@DQ@DQ  /[nX!闿5svmVvZrIPm\*12ۜ|m!5toQTMZ[.( ( d@~UVj_9w:!|tvXGM<ٔTkTM\g\#nJ%( (  _{5 GD?kR"}i+5( (P `jG.G 2Taj/lAK>5W6 OUj;Xm߼YNNOfKi[ܤM}+Ub4[E%SM>DQ@DQ@ \}*}ݠ_ylt|j4wͩ6u7WzA@ATO jpֻ۩v`0A*rQTrj(B5WƖWr<ȯQre}:ig [ >[!B EQ@DQ@2Q NjΟ?jl }9קزG 9JG[Z _X.#W=yKqڙKX\:*YA="}.eU2F*DQ@DQ@HX)jܜI Nwϙ;W[9L} [:O͕eRZ9G ު?%ı??q Ԫfy`7@eO 6ϛEQɳ>xBUDQ@DQ@VOL3_e霹)-%jϭUǿ 2Bq]+](wǐmuh_D-W:OaeǜQb+,qD!#yT݊󲊧hJ^V]DQ@DQ'jysg3HtmD޿;R`Yj_˪&IcDQ@DQ@R/~? fF-j[]6kveJg*=w|͚^f0 8U}?5^x#n,( ( T ~?Zi\baj9ԴWϝQ3'_e+T!$DQ@DQ@Hv8}v\,j[vmƬR@k~DQ@DQ@DQ  ;~Va0,lϾzZ܏?( ( ( d@_ px-g93>}lS1Q@DQ@DQ@ȀLgϝ/UOًfbj}( ( ( dFvnڿV4T좒Y0P=5r-EDQ@DQ@2gŠgaڗv S{ӊg9+Ԟ#DQ@DQ@L swfw..( ( (ylj .jFv_!9( ( (pOT(S \MمDQ@DQ@2ky45ДwM7ŵi3M;s{j|C刢( ( @UիrJf>/望nrS{DՅګ #'. ( (P ==[P\zWGvyd?hBQ@DQ@HRR'cm1pqE,e Zlֶy9dtxړ|( (RHv#9y؇cQ{X7K΢l {ťvĵ2k񵳻]|xH( (v[yyw:Q~Mt4!fHr4T6 svA:#}ҤI!cEvDQ@D+JjObA%Ng<x$o>{nr,U~Ojuokp 7jUhyV!7:_^F\jNΎv?eBQ@DQ@H^RV 7m\'5ԄvזZ0k3jUd@Z?hٛ*Q{ sb#gc=vsElbK!Ԟ$#BLnn";_2?\Q@DQ c t i;AGL-fFM&zjc@nzrswk|̄ccS@$vuvL8Q=cY9( ()UIH?b];chj;=̊Ԃ7Gk]gLڝ1CoP *D> ٥F@vt8ibeNo"P;z/GNW"ݓ!̏q2(1_;Dqƽ!Y&ۈ( Y@j}oР>>IR{jjD.\9 @D_9 Ad;vP{<( @DBuիOO}rrn=z@e4Qp43LDkױ1oF|f( )`TfY S[4ۇ XcGs J/z]vF*b5:JUNMG~j! 6\Mw}Mߌ_9 =V W~&3ׯ_o g뮻"CݒB킼@ԎNÓF^v Q2L>4J@8@~ڄix%LF6I Z\}xӤܘ;ۣkjRO>/=a-Cg=zbjGtyW );^wu.|3iӦw~Qt_=}Gj*1o`P8';Nr-9O? {yP{$/gC6S(oeH3oaG{o-W:cXy͂2 37k *}dLԂ`ݘj.:;;[WGOUB핟I )믾 %>]=ܓO>o} .}DH/~ TN߿C#~NB킼@_;nutv,a#Gf<gx(.~`Wymc8?YR{P&!jxP#lǭr;ϽwPm܁AouWjR:k8Ԯ ,h x:JE=_o\ /}={\tt;ӟĢW?;v.zDvŋW>w/B="ЦMիW# WfSKVvtk_;;ځ(Ѩl;# &Fž7=Zv$,jg ʣjnpfvL=m4rn~;z`UAC_{S>n)j}Ѫy>sϤrvP8;xoj0sIڵ k _rzKv*@Dj7?B/FQjOʲ8iQ@IxD'W~©Ǐ_z+5) 6Df+^UN6sss:aP8a'NdGLڣUb=Q7>8\P#H-dQc.N(Sͨt=Z;r*j2=#돣^Pk46=V W~&3@jt0Sk7\3E]@J)!c";Beܾv!3|ڭbxxʹTbwgK׏b॓43^c0uDv%b;|O*>G$yjAӠj#Ή v'`>uPMzrjGtyW@K~/ K?r-X6A+'=W3JEvvs8A[]sGdOaŐ&*\F`EWqrOg<-jP{gR9x 'DW~y`i\͗.DrR\Ԏk 3sxLyP{ ]#ԯYfm;fU>^C 2t!C;[+hCȈl|2/QDQ@B`&TLPzaL}g~v]fc]~}:u0o,XQ]}ӓv+vu:Q͊ڇ >xAC|5s+Н!MDQ@ S;?ڵk9 ?ꫯVfj1**|!G(_uNnCg] O܈*]wզ2BƧ3r4L+i.SpqoTmtť6Z&C: f`h7xc7rO 6p?oG^C=]&( ١@j/CK1ԮPC@=v6{P  2jiyz[ZNd[H:|vOZɖkׇ#r}`P; 馛\w>7g߁=zIZ;ygja=;/lIE=z =jU6jY~ƚ샨X~Í7|*`gz u?P{?( @DSE,S#Ϛ{blj!iNNţ<ڍծ'{R ݺUMO] _s7tj^ХGNv~\]=R6DQ@]LP{,=0vsb~jwEz#d΍>oa؞rÃ{?`<ug&jSF'Og@Mߺ_Խni߹Oν; GeQ@DQ +^%QCl.jqo՚ Ila]Q%SnYz7гi; gCJ" ( Lɺ81+RtrpKÏVc\IwE;o#XeU&55q׮}hػ99{5kkCw]( (M =8y :X=v\:q"_LGjtxӠ@tԨ#ݎ0X\=9Q{ODH\{6=-( (v#7ֹ#Gv5ڀ !jy 3kG'fW=\\ՈƧPH#J)#ŵ_"N2kjg( ( dg٩ǚͲӫR'G GƢF_䐑̏Yv?KsDQ@DP{Yv+ +BfHv81I!ܨ?`e ~Nמe74GDQ@Q 3Dv Hf4(1jGǖ*LˎD;{ȝ27j/( U^5sf UGfJnjrkGLN}v&k8אY&(  'J~ w/.'%4Js(_;s;d>oQQ;Fү}W?xGguf( jOڿW"ZWʪ tPh6_叮tm@;u߹{]?#e Q@DQ ;jOڃ G֋V 3wj馛(叮v1s]{ ={AP{v<( @Sw_#uH?b G̤~Q H?TQ飏v=[A= wP=^Fڣ}z߾}&{w/^tOTtQ](e8X~MD4tĐa#1l'Njςg4ADQ@ =z8.Cz-ѩ=Gj*qgk񦛯~a# ^>Y!G8yP{l% ( d^F RO>|0ws0J5_{(.[ K/;oOLd*IlxKDQ@D 97yWDP}zQ0B8+9Yk[rnQHI i 0\|푟( (P kРH7pcuC=poǡrH:*yw͓N_}q?c{D&MxDvAJ@\jbQ;H/ˌѣ+-DQ@Q/^?T^}ܹ_|/DBF=?3_Hz={0 mڴg4W^~ 7'\ʊ#|8oʚAt!awמȣRDQ@Y_jsw3`l%xx ;:$]v9_rmD[T 򶘸GR^ZGtlyz cl@e}q쫉^fvc .gΜ)T j7`o!ei( (ࣀP{7/qPmVΠOugg۪{Cpzw͢6)c/aw\x)aW*53 _DQ@T i׿oőŵc L]kGXv6lX#46bF\iȨ>EϲQ#:OHG4 !w:X|L%P4gq]Y!'R|Y.'# (Pp_WLԩSnEOAQ9i{+W` ݮ]\^jw}+VLO.j'tDX[8^b0Cq:&E/N徏kIO=W,OvlDQ@l :1)&+E[o㻋w |22ǴfxM]w&Wjժձc?&tQ:CH {j#dŒ!ð{E 1wIAvF\ (.I3.={v*Ev,iVvd~jlo9Q@D*@^C T~:u`z#M~v]^}w>)oGvD툙vhSI/kkfl}XѨf:={_}ˁX7#s c|db-0{"2%F툕q$*DQ@ S;&C=u0H~WqO5vH؁`/2#f9s l/ ҲR5U1nj8+l&VwJ#\mL!xBATTBBq ( (P9Be8$=GL)' eR_ $+F^,_ox_&Q]DQ@DR@݋A, d'Q i"R{QNj/gWDQ@(BBIT Rj";ԮlMKDQ@(څ3rB3Ti r`R.^.\9( (Pf@i*AMJBמ41J@tjvxݑҜIMQDQ@ҤP{# iR;;^v,̚5M:;0vU"dđjEQ@DQl 'MRA+Afj/CDQ@DQ@SZR{^>O#9( ( + Ԟ41J@\j?lgq9fwvyf( @) ^)-HZ(^Fwj0 gsJ# ( BITP Dvfwvy( @ER ~+쎊eh3ZrRs5CT uLC"=Ƥ( @گ\q͒= |gA.'?Jť^{m*s 2IM( @P 󳱦)夲G+_Zs\XFvwgUT~oi9@eR@\P{^&O(jwrj/õ]D2(X?s`>_dQ@KrQ^\d/AL.\X`8ݕy"^#0a}"+(% ˅j/pДP;] .@ 0w30b*+)T_ylߴ7w&[3^^ZGث˿K<^U6l ;t$B WZ__,_ k(7B(-GH }*YH#Eʬth50й6v7w_Ŋ ],~;v̫V#Hfݟh|Wu)JQVNTRO cghV\:ϧ"|RsRvsqAGyiv 8#21DS y:vQSu`:pD *^g/sU\Evn/>&g!+TP{ XtH=Z*3㛵Y+CTNzPNFv" etv䧩rqH_j"{_pW{z$˩Zg=16rHI.zj7VjJ۞I%xtwvOZ72]ietA)b( /! 18TAquR9AJ^jXv:\͛^ǸWj 6܀>]'!١sF0lOE=næCzO&㛵YvGe q#Ա x]*6rص[a G!=ʉ잦CDiFJqQ;Xv9veb%>nxJ5vD(ۍ]ހ55Lp@mg *'F6g?/3 A28#>٤J@`uXI*&1s]8%qnusw5"P{`)ވXC$0 JIE>zSoY~F.REP{}rVj=z%){tdKQ [܎fIk\IG@N rϲ'0;Rܶ;BMp3n/AAO؎ /=Yj_FԮP{zrUaS4ym.'edOT7^Hc_6V"[# -2: Oć^=.}bl Pm=}_58:I;o#7UX,hԋ/2v$ȎelPHyS_AxSG-rjC 2UB/dy]ܫ/[[Ӣnߤ&8{  Fv瞅{FàQ}P;R-idDz]Y!=(Cd 9;g#Z&(̣Tn9 O]' 91p&Q6aP; ۣ ZWVjFa>u65[w̨!v zװ1v|T8γKIyu.jMPS}R8TxAfj EifH"peo3/o[~@EV[ֻL4Z&nvqi2xFݽgR25B&vnbLUꤢP;,Mf^Hd cz}RWPG iM^WO>$ &Yי{*q %1 s|Lv$pf~t;̏#)#M=$LU pFʫUzk8n&U@|`2G u:x?] Q*dd{Ȅ+- [qypjE+qgY[l1OKϲ/"(P ʐ"FG˰+=n0L{Sӄkv>?#\~m9s*60os3_plBUfj:a" ^|垐vUs/jy0N=4RO)FWƈCNLȎ9G8T=V Ϡ}]jOp*w]$LaeJgIBe =Z&dlA;Yp*ܨ YȎ|jwjς4! h;y*^&%()ȎqX͛Ǽv,~%O.FT 0Xd2 W(2C`!g3J۲V(R7]#U1vU|3'~a2O]x*%p63+$_׍0 HN>zULJ͢@PR|sS2ϔxߵT me\AےPo]aiR* |Re oNgnb_;C;fkYړ}U 4믿γxpzGx :с1f0:'x%YUf(@PscD48ǷPˊ&p\AZձhq}EvMՏR$o<|bFEl rpG]ݮc`}KRGQ45)ðN<ԫ&33S;w |͂z!s 7P\ iGD;.ԞSEvMY58΁DѨACQt:u+w_ЗѨi)B̧Hw,HIBRenC_ P{(h4׮4ǥv{bS7W"bWroGH$*kȪ!B vݮQuH1FM(5V\8mȩgΜaPȀy@pc"| ;&x=60[Whu7W2_IJ(PE<FgN #Ԟ{,Ծ@'}Zj vO+<둦kGa vq/i^GnH YjOųEH6uVji:<R5cNw8nǟ2Qx@mt rWN.Rd1fЙ<͌+E[\ 1"֍,ϺpK18p&QԮG+e12g|U)AQDe $ ש燱kG@95k]  ΁MpvFvbF蕮lqT)_w/& % spH%q+) c'6'P+0`rn9!1Lq2&+cՎA~CvBv; kJ,w2 dS}Fo_0 v x|>xĎ<|)?e_Qr*3Ņcrܥ$@j=Z,ڪB+xi;c|$0[u jp3+toذv 9 ^p!S^9NrtQ {`jpk={թ-jj ~UY,jLjT,wv#9ޅ+32ۆ~ILy:$N 4ֳh-ˮÛh:s CItR{e@Y(2<?JIZv\*JPWq툛=,( S8^#G3q=1m)Fs2l ƗE;@&k@];v*4p~t.yx%ԣc]q7o _, XrI #CQSzKVqjJ( zm4*0ㄳ8u+F=̭@ 9,)bo 2O.=;ͨsǛ,KTiG  FƵFzTqrwUEN a79.%i8gQ:iJ {C&g՗-R6TOeo6r 1A)^s̊.v09c|oGݣSCz$Tl, Tf1 d|<}%BI- ĥO?%kǒ+z#^IxyZ3U1s:2aCV-?szY?L ON c/Zn&~GD;yDE*Gg.CQSw g xJ;P #YS)mCN^07lʹͩ x@h? eL[&S`zuG233kghaw~{Yd7B~T^Yk sX:eΜ9$ bFf;A bvG {{|3ޜqM| Gpg@fϝ#- PT daj\= V]E(8]#;S5eېS5m9^s~t3'B ᡫ\Ѩ@<~L[+2U#&O e(j.k׿5$YG@){wfI#@\^Q%FXrE3/2{Tmȩ>sx.mS Nt5(c=>E:}Om0sl̅ Lfv7sp֔y]G`=#>;́:j=r@(2B 3dځChO̳)6؋̈A8+M&2ݞCQ#CQS-{}K~c!\9,:L)]n"; )ԞL\j5O<$į`t0c3s gRG~92Xjp!8;泜4ID0#,}O7*-ʁ[5`SNaCyS=ڙu5Pwy'C\'=VjO ziRNjVħv P:IrTӠsa_+WB_fX4cUtx1OA:#oܯGr@ˇΕ=hqb5RptOd|v5PJ6*P^CNm\ P`@h_=DzKqNw<f˵ aq/\OI#~.IR('p"vˬ)@>o[,l 'JV[ӣԚu wvkgj!4P;2|':Ne)8#J jg9@ܕ{AmXdxvϛt x׈U T5[^10ٱ`Uʼn$#*#@ cN(% $Jl/j=!TpO{|jwż'C3 mOc*2?TϚtx#en" ]o"q7k@x z:7"-Uu*ws4j"XړeQ \ΘIz[eTS;#,FȄF$!k C\j),1_;\1@2FIh{w<(HI,qs$ Ѩڮr<ϣJ ?}ǡqKiʅ9ߥĕN6D2*CQ3晕dJ/Zn*Gr@jG"l#B vOڑQdWi 9(q,:QN-<< ^g4SW='A=3cl!0:cQN-6zTY\(y.:ޝ在Lga&Ҳ(@PߌB)F|B9˟[n%n*a9Y!w!ԞjJWԎygϞEPvn L8OWU^=IjT=u_ؐSWaG? >y$r kNr b_:VkuG՞xvkw>PHz } .{@sD hT EAzg@,  mx@6 d> ϬT]{B勛r( /:th߾};Uڶkw{ݓ$M$ӫZּx SA,o3Zjӧ ;ُÅ214'jwEIB͍H 87ӯ\$ʓϔ=97SZK**@ӔfPTǕ6SBRI*ځX}@~7" U-[Qiٲe-00{R@rm6(Lgjg $55g3DTeI; iT`Yܚ(ǿ%fn^v1q 8(p[8\;&SWv{1 Qv|޲EAw}wvmW$@99Jnlwizu ?Mˈw'ȮYVդ$Dx7R1Er4Cp=_B wOiF( d8 2Հ1 ͤ?/CۗZjad ۽{7 GjVEvѮ|;S;Kϭr3sٷmzzSfn8p f< W 7_8|_\spImW ow7dGޗ=/Kj_ '1gE2)vfbMg{hCko,oan^޺Mɨ8+B&%ԎfIh{fJYNqiĦf`>u+U˩X ` o a,fvJb a0ʏBdk7}G.BCmX5&s*.l, Tf8 c&:pv* OWd$!J%8"_~\v)=YJмڵi޺Mk4 U) dϐSn"M3T0+(!ڏ7ڌgr0̦cTTwxj7c/{8%3ksG7c oR͢wN ;mp UKrI Hz>t*ZjGKQP;8Ν;CVey +tv䐡2۷m۶{vd4B mu~|E}QFot0ʙ9Skf'z 4OFw4c;䃷̌`ԭpu2`x-]kW %5Y{3_2+j/ ۊR2e7І j/=[XWvjGv?0#$#oo,rNqLi,rז M^4:52Uc:Wۭ7n ]Ԯ{>6CZYj.)t2( d8 E} Ԟ:b1Έ_VdR.ױBԋBofP{|X.]g5j$CȒQ?S{rq:񑈴AXߝSc i'،`{_Q\Nn .4la*enמl:=NvӭD]2~쫃Z=wD(g% EUj$ 'vѭ{w|{׮5k%#׿4A,g y|CVx2GqiRolisAӛ\LjXL3=/uI|!r>Mo S{x#+pwbQt0Í8+dP{.U925#SS;&/;? vibjT)D;IT6-Ԏ=zu 777UԎvW,g o6 5a}L fpfP'\Mv:u q،D:Fh =[-;ڹ- nrV484o`؀fq;Uޝ6Q=e@ d> `vp yHx߿SN9rçL7HRYBt;v D%F9hmvz; ..͍3:СCjګlh{9m^`7Yj9c7n]+0ᤨԩSL~nߠPW:u(Gh v0&~,ܙq DgX#s:g7fLk"EL9(Q8L&Grv\.Ԏ-[ g>}ۣGC5` SBxG=`^~3L_j o$zjiid̘1P| =w/~mP 0p5߽Ew )W9䔑/r{k8#D xQ ]y*S!.Ӝ=ɕ|Nw 0 22śv3?LԮ}Șy4*M,&wfxrY~}'ȇp(GhXgdg:`K.T(Pv2Q3KIvda/Kd (g傠3gho1Ԏ -Aé=c-D30NU2h"a=x@?i$ƃSٍm%H}ܹQRnd-T/5'wי?Y2ly2_&d6 +'$6Y;0Klb;MC`pXĪ]!$Ŗn;6{nuV/sս}ONY\5 q-oH<6-vxB*L;t=G\x=z(11" BTWR;@`+0 pdzeu$ %`ΚVp@#d2vSBzzqD 8J_A}{=5{եBgBNqi = OTj2 %{@v6CO7_UFݍ'K2&^CdƝK.SN=Fxgɚ$?? ǵHLG@PHƎPқ[i46DedaJɹ6ˬM ".!sΨNJT O,4&-@g`{y0/YY5ce$ @ 4:"Q/lb}3 :iP;HDh S(3)չ-D50A!Ês.<@~[ j??G96Nću¨wƪ-Xei̵Q t'O^x%3֋tbʩy #'1ҜC vq>dnx(ƌlՇdf(t S*"]q+mS.<؎<2(gL\ f}tQ5Jq'HKP `ps)"v)JFoi}Ҟm`=B_5nӈy¦~-Ff|J{jha leN_|ݲe36x?΀SN!.+SN-L Mb]"d2!$*hlt39>C/H 7jz~K{b. X8QB!.r8t/|:ǓJq#sQ&z"ZOeMH5 r\6@vMXjAN 0Q78j`B˫:Hw/0/6bk -Lv4&i:G΄ h9brKǂp`v3 LQ܃i4MVm^Q-F @Fu*hZT KɊ#6pX$A؈i`q3 #[2n4ԎAi]C d$A.8?9maAb+ m %:gE^|êq@ y.Ԏ H!j?9g*G(ud̽4[;J _ELp' C]'Ƶ( b~ty ;&Y)хՉE]H( 66]W,Ԝ [`49G}LO9~u-/Dr<M-[ 0Lmnou*jS  ksTٱ@&CI+Ha 5p+F$zZGh xA86ѴqOHp'3a c.€7w pաŎRbS6;-7y*ԽdlJϴ[)nJ5Ը w8K·-Xx#`pB#bwTTK-Dr f-ĺ1}neayҀD t*av>xoRc| N+tq@a)gש^jUP)I'PBBp S;X0(;Y#BZ:[0y,01fQz!AKЇQ]TmLO#<ArCX]_l`)!cܩ]D2C]/v?\8)a?NENis!bR0=[;u:`nqZnZAU>2oe%ys)ٞ|IE*EÖp a]2Q 89(d|l-B)t5<djʪvPcx´N"{ a" y2?n*Z =yj!v@a#!-Lֵ'D(O o,_;ri@revxte?F^7[Q/,C0c$2\v)ț -Nϴ8zG]dM>{8f/~ZZ@-aCדt*j=vRKA {AIp_z饖5 Hp#@;D)A8ړ=ё㚇| %ZK7 N"m1[\\X<jǵ Aj_޷ѕ^f_7_f~|jUCK/[cNB=羵SNqs)ED c0ekSNa .6vg:wڱ lC7j/SjHZ"ep\\dE&pvsw>m`GRe 9i4 y\V SQk@vW`3{+&]77vёBZB)"&Gv/ŀ8qQ[?ZTjOm^*@&}?Kʣ7_CnᅯIfz i{Y,2N91 OU#PWp*МphʑS LjȃjoČAa62e S֩,n>[@69HBT옏20!)F>|e7y.QXBk C9;]S?#r*4cakJ8T nd_Q02 9^ Qj(L)b"l8kSߢv#Ni+)h1WBАfHGK7Oi@sDiK@d(gǫEzurLiet|&'@ =| g?YqpG ~dɬёړrB#C$odH[o ~2 Hsn6,D7 O]?yn}_|m^=>cDǜ?nG-)r GC ZdDm ,R}/zSb:w$=E!U:cVơIbˎ)|^0,$RdY),s2i!j^Y2: jO^Ї :28-)0^v뒢4H.ka R;=\5LeNO kϔg榛nJ6υ1xm_1];<>c c?2Lrj:ꦬt(RqH`ok,R /C7 3C&{SB "Kn!#Tgr?ʄOZj CT+B&YLjchs"-At|'c,GL89|zA-`:pVYJZUPmLU>HOdH.5 N܅=GPx-8kY1q*x1:j+L2 xx]h%jIm^*$HC_;b|fo뿙S!''e+b/1E;*JqB*/k֬! B@@tfxA'cs$%C/iذ[4UZ.[l 0q1\^ fat]T9 {+.A/r:dnOR Tntmsم+?<`d*w^O 0N<ބFGj/yTB.Ԛ)]h'9tfY{,Dqdr)LRBp>_z ⵯ|msR;)q_hIDAT^T?/??k/j ;ZNHʱ:h$HIڹh+VeE" 1L_]^F`}h ͍&7ӛna:( 1Ff$xZ5B0IimXedPήSQdK ųØ5:R{Cl!&Vj60sv }/vߣVWXymƉ̻6^="Arb×IY.Cd'2R-$ \,"l3hcozCFBƜCY?kzR8"jȄsi Z1r XU/.#9:,SɨUȔҒ@Վt*jsW_)=O Ш`^Qiy n cnRk۷kw^k&rڝ̕`-7[2djB(K L^Ƿ H;SY3N7r`!RN+#́\ VQ).GGS=r!DN9 adDN?#ǥjcʸ: @j SQ /m-oaכJ7oF"܇~v?rUO6LȪBiISN %W".r! @/!~t*'w$g'\4A6̨)9xt[F &RM<^{,`N6U|a[ ^$uQ1*dQ_b]j4 0 5$j)jHFSq,SKc^жs%K>'۳wռE|61^7o>Zen3kv;_GN9]єL}{ycQnu3#@NF؈_>h}-f#B2nMH65_ZУLYW],Ƹ:9 w~3]Y-p@aA-P"[AT^y422.Ԉz8k\M5iy {мTj߸q… Mp߻wԩS'Gt3}fMԞ5ci09"~r8U: lN$QفNhgL-VlTԂ ( 7޷4ADˑ2\KW B@YL89ߛQ;TrI5f)W vTJg}d t Q/hC7ۼLn cXwB픶ywrG{ZUWaP2$H\=LdzJׁv:L< >m/ |\%b=(#Ѯ wK7 ,3M鼌 S.}FzΠ֢h΅~}2M[7tDu&cPojLvypN-Ԏbs)hkXѬ';-3|j(!kINMHwdoI%7Uj,9| ·< d~"~<|  Ib_9el 4/)3 svsSʥD/ZZ \}EԞ m?4SW??՚`jIM,X'^ OӒ俄vG tʑ 2w;͘WLd'VNP'v=cs)=ߝ%ș)@ځ#t:= >Q}tLxEAw;u#f"qB& UYa8DmL8E(eI&qvʓ^r"=JxZRLZ 5u*jR{&:@*A&=i9/ޗwդ;WƒH評'\Z r}B*sdtN&O]j?Ìmk>V(qё/#+VJ!I)LJ j-Pg 'kjcEpB1EQ)Y!}jlʧz `~rV//>a"\27eTevHeE?9tzUdMkF ӹ0iu)F(J6H hqQ ua)$|aq8$G>LԠ AvO>ة劣~ZZ3NEm5P.gSV±w4#uYǰv~{;І5kdS[G&.7Ylevp7)K ;b2ZXIȦ#ċl:z8u AhY}ERW4Xc#!6`L8pڿO ͯP dW;Lדd**@f_ypSP)jU =Jo~5)XυO9dv)ik]@G/rK"8(e:,mqQ4pŝlP[H#0`Hex/Yg\XQeҰX,{:hsZ.=qZ3 CLꪨM_%R{cFV'u1k ->o^]G|D!7CPCsĐ!.% H "'JjǷ]'HZְ vg >ޘdƱt>%WR l p:hR{k$ q9oMQ;}hF\ ^ol׼f lw{[}C|@[+L"aH2> .qV"撇-HC}kN`S/f:b"%G{ZZ@-Pj UQu*j.wJ.8[VTLYu(g|%yӧ}hiS$~(Fmۆ`2a C]tE<,C#;Mǹ# NwMpj2\r_ ɹL疮urtG@O,N@C?J]rˣ^Ķ W>sL~AfPɓp_haZ`ƍ>P.a~=w+"<.xxe*J; ,P"}#fh"ULߝ~1{X.5f+oؙY,\d*jԜA-(d:Ȱ.Z脕sԎZUj/hX0u6j*^ ~vĔAbHHݰaÑG"j7=\JM}| E":gG7 ;"bTEQ{-ejq:|, >idžՙC=:жĈ #72B2g-n8ĩ4֥ I VSQ[paI퐼~#y{޳k.wzÜ7b\O? w]wԦVBvr` }.j'_)H$jak`RCuZFH&r";YxSZ$l| :ވ&kpAp(p: 9x ThAu2V5TVty*HoXI0[g&,;/}L:٨X׬ xZ9/Y?BbNmd(HXWbt/|{Tȼu rtq{~o#8u.5Թ`STvǎ N##C ,3/X&R42]Y-n:śN M:ٝ'=lNSS9xe1@{)`VjH vF-Pá}<C=8Ri0V'laȄv4)MX>rgQGe!~0Tk#CAj(/;N7OK׾0wx;oEi#B=}KE.r,3l0v$$WZge'ٷ~pй(&'wSS<{)^P ,PgGc]S׬Y/0/ /;3q} |Tk3&`1vLqvע: c0MDCA_ s=.˭kǘj8YK.H+E8gSې°9}ykѬmcy˛??q~Ԏя>t3޹Ņv Ic8qS# qlƹeė(qlIڅͳ(e!AceeӪ^I@!kڛ v܅6=cfj??oi-/?Ν.AvqjA:Vs}Wcs<+7.y(AM8;_9-l_裏bX5\vveT^g$k8nNj$ܡc i=20b."ZΑ#QZB jхTT9kGrⴎ+ ]q/~_DEzAF؊o8ID xLĂBÞԎ)5B`ɮ qLf"{.*2-- G5jQLv6Y\$=ݝ2P j:p=TZ %Ԏg?+Bv^T+̝dI947C)_dǛ__ŭ9 ep~ov#bqn_;L+I{mBR5C )q5m׵\vU$s%l̸C%M#Q!u8$'(jr˒fG m~:uGZ@.SQnԴZB>9 !`钩.7CwGlW l /WʼYc)&4iӦq__7Wj)3 72z*"OH=wFmu ȩv.%k#2kj-z%cffSQ Ȏ%TqEZӱ-oϸ4hYDюB2{uiicgz:YKK/5|/;WAO>$T=h6+dpԎ݁9DZv< CrkvE]wIX 3OO׎Yƈ޿wV7^Hó$u1t3D ~fT|$ď+S^L()#h$_;ˇt~k^_W?15.fj\I7=SJxPP!aÆS JN: k;k֬} >,-~NU0* QKb.Eӗ2tAR^mTPaa(8ݹvq7,W/|0nٳOkǦ@>eف D/ӦMO)obwJዷo -&b:--o~=3m$;Nu(rP+k-@mdtUԖqUP{Rjg'B.-jl!bM" kBRnN(>d*H {y.bHjJLHTN^2Ϙn9'f8ǣ)Cjރ ܼys~j/ș$.Jفe"0JSNXgC((]\좊y0ѣ\Nf~ ԯ:=#5VJё!.Y=b$ŒG ~}ti 0ڡ=eeҝSLgL]'pg9n֜cOkB uIK.9}vrI~䞣*In*[" H|&Za(, .ǧyhGkC-7 Pw{ ID'^M G*gյnwXi 0N|#e\Hjdj6}Ƶ=aλO׮]'O2PȔI@dH3!rq {jOTv`ʑIᩕ[$LueW>!6KGfg K-+ @s^FFS;,PGM_g0&@;Ӿ/"FGjkg-jl!䘧++*sy~_IGHi4υ] GXvQqf"OMi3nix~Ok݇GR;y^,QҡP~#6,Jr=C-rn3塊z2Rhk誨mڪv5kReR˹"y "KF]HXT~jgB0=]| kQ|wzّy<jw1`cx&jO^2yo\cg]'vxm SQj/<K,RKf<" rK\Y:k}L 8EZ@Bȩtj\+˛O-@S ѩ|E|L_{Hw{[o5`f8];+uqGy8IE 믿zqZtOԿ^v__o>n4υ] "ԒSLoC#\ຄj*=9 U>SX?C:S5k DwFGjͬO|o>,7kaB2cN oXAh'5ڌ4υ]sObX@/;=H6L^:vH!j^djGbǫ2U*شJ,`Z? /f:8Wr^ЮX2ǀWSk,P!j&,N㏃RKchf/|~B@|̴Jc¿ԧ>w~~~u<qcE岎<jwo^&;'dN E$7R{k~ ߷ͯAc˴ˮBK^WdoVgڨ16R{}'8*5rX#CXdAS~S$J=S 6f2! ToK\=S:2Rݛmw"5!٨TȈ_{/Ѷ8V2X_MWbrXmQD])Њzk Sz`UP;) a~}\VNVHPB 6/NL!G~wϖ ^W}JWȸWM`JGVbRpι PknKjF)O .& TAw}wYXktm۶9[b6VHPB 6/uUNkǼU٨m'E;2w:2j/G;h^gP[ P& N:+d:?JʰDžl^>j?z׮?ēu} Nf}:XFPkնZc޸ZupkjJvDzau]ՕPjX'ANjG%:B sS-R{#L솵m8q)kcM2ukgv q߲ȏm;%uUWRj̈́?4VgjiDraq᪮طhIjVZ4+U'VSQsKuaZ+(RG- uF{Ԡqgf@%S3ׯpsT#jDzKQWY*/^{_f;Z^Zv 㪵y (^ @F{Z[JvC9]vmB@Ʀ`q>9,Qh9Q4e@%S;|̝ɧc큦}_׾h/]-[fLL _G}_IZ6YN:yZjN2 @+TdKv` }M7ARg0&PovPs:@Ls=9wy q-5`nذSyyzܹٻw% ,צ͛{jQ۰kK[we,A.ڣeڨ],ڋ]*-A0. ;A_^g0^PM0zԾqy{>e={/Z pFv:8?o5(d>%4M eT*SeZ2\Uȴ2+jtH7h'j?J P [x%k⍛nUw;8+1T"k+h^y6BV Ta誨Ue*7ȚZuYpvڽjN3SE?|7 H usqNEoTjo(,@j_h)kP 7=cpRqu Ռ[-hh<}j SQ[)@ZEj7O9uyxt|LK]q*d2] ,{]P|ucVϚݖcG=d3wpڛJ PԎR{A], ZZq"W4L.|Qh&]|S@O{sdu^we}TIscV .sxl}RPjo(,`Q;=@'9iI'p)`w#exs9^oX஋1{Ŵ6PrETthRx|^]@md8 /MmR{ ԨU4k+ 'Sv~uœ |?eG+;(sӽ] jmh kW+jjvNEwK+\efRkI'O޵kNY7[Դk/gr~j7=vݿh zrz\w-BN vV (@ZEH?|]o{ױ8wwNq^N25 j=@ 04 htz_m-К3KIVj Wjo(,H]Ǽo}oqoZ{R{y "$,ڭ/ZPkGf}hct*j iQ_4{{PhVYza=so~;yǻnG2.O0?UByI,[̤2dd}n\_[څK!jp|-* 2R{&_ѝ1opxQJ%`d Y5j9Vjm2=XBtYh'›Z ;w;TԎ\MP;몟TTB6[`[ߎ>zEB^yYfXT_{< d^ ƛ25\u,SY@Bm eZ[cZQ=d8 Uv"M%)-ᄃkz~:[,5mzac|"ϩ?5S;X}a.Zi^y ;$4\Z]5 f>1M_ڜHlkQ} uOkn:^>aֱf߸vӕ혺Xƴk8I P-s@- DA*I[i2Ҋ2,'%lр_Sμڇdsl\U: #S[ /[L#_Sv}NPLjxs}'ιiiJt^*A!4b?T-E 4"W@]v7GcjTDZMww~̃ux _ko+pGhn^zR2<, <%}2k=dt*j{*ڕ{`j_|9]]}֭Wjߩ8]K q!>,< Gx};uUJM]RJ=`V=LNpWj/ `!u Պ.;~*04MoieY +'DSvT 4epRI'`^VR{_TfA㹄j='\I}[jŕvseA-JM[]D2J𔜁e}פt zc`ԷTT4uJ%ՔR}֭+V |SxY'l֮[?]gx`R[R*檵: Mӱe éKWEoF)zK@qj?eIR{/w֝mPd UP̡lAOS>n)A1..+L54LE%󯦎X@DvԢ#C.vSN4eTӜO1_Jt{m ;VbSk/4mxZӘkjz]TZnʔڛMD Nk֭0cbZkt^O+Xp@ k2<|:=jƁڷ6oknԗ`.D;|'ϝko01S}{>TvU˴Li  3ܶ v,YZi$TZ.|}|ʶ\˃v9X5jX~&jNf}Ϟj6(wcO%T_xNX]Y0KUBhF2y*M_CR1vr5xɷ|˯\sM>l={Lk52w<"Vz#e%& Ym,0rB - ]Sw,ޝsUkK#~55_+\D _O̗R{ZkR tʦfk@X{ڡhR{7[孎vxفgް}#~d4@{aQա]}7-H#G景 7K nC-&@,Kvtj,fP`zk2WSw,ޝsUkK#.v0thZ *E՗| }0mTjb+^)ZL,`.ڱksXZ<`j TwJ>^ rmvهT];)lfE`KՕv@}`eUxx}'=OaO.}WS,P&^{=-v|>u{}V}D'ckS^߅V]M d U ^Ţ%b:(v}ZڡB|uOu*j[wvAD;{CRCHo0ԧk:N'y#3;܇>e 'd$umNT u V]\u6Fi뢨=㛈ܶeߦ 8-Sc8-:ϺƋd\}O4gΜ_c8#{DD~SHr;BCv9SOcζ#P.vڍ3DDmc4fiҖ3{3" c?J+|ԖeDxgeKn8[e6힕;fR?裷~ }뮻3̭>lT*dl_;}'"nݺ3f(u15\ 0b~jÖ꛰ӽ3PK[-y4V؝3Vu*e'5scMB:wn| ƛGR~ լ?5J!36C}+w >O+b'OdBfɠNrXTQ ,!+2f  m>M9F1Ec${s[Q 7ҕ;iin0R ʨ}C 8gyvS _mš<~=.WFq_>q>|…tκqv/nSݻG"|ӧ뭖kVv m?CGmӽ9u9EÔVkEiX 10͵'SeRU>u=}.H1ۭ5-T*[Ɗ˟\/Rº;'oK,&{eԾkqH{ڵk ]>`P &63pSo:vknڴ 9_իM:C# ِ߾=A O?tEn@׮ԞMV^ܹ{o.O=q*+SCv ̅oB=!D вyZ >b#Ȇ3όss.,]}k*dާ8X8?/et qn8bK/w 0wKV Mv74?}`0#=9m۶mh?r ]iޢ[t2Ԕ||Eb#BaZ`?\BFVG?]bȨeM"VPO EJL 5XUteBV$&Ҷ5*F*g7]UK(AbHYnDKS @衇^eÒdw!ԎӁc5:|9D- N>jgGI_~9_gg̳؈̽> jd׎x>Gev!.B۝]B5؏.v6}axCLq6 _1RQ(AUN~%XF qgʨ achV|׾ 6DŽڟx:`|~g cB*wN?tTa F| fEʩ5Q;FV3$/|cmT8KY\[ÞX?0D{MFwrοL$ׂ#@Zj'S'Å¡'>%Z8"50 lšnP#VuÄxqiR?Գd-_NxBǑ /kvWȀot/]t޽^AaS~3fhǚ;#X_6lL!  >Z ]OM:#^xԾո~ H򆭆=c0tRj$sÒK ˭gMdw@J˿ ~H1PqR6c]P;葆=܃0_җ ~qVWȀo`G>9ĂX]%>uT}V+iÆ Ju-ewEDY[Vt *l7 4$\llA\XJOs̩ƚt;:4uV/xc*>uSFDq2׬YÁL-WƷ؈} hY 3Rjk xBũoUF{Xk>gΜԞ#SV>ͱ<Q˴?}r&\!V~j)."]P;^XF ;ˣX2P2H@$;9HNWjc]' A d-&V@fcꪢ={o7*WqL? ŏo @p^ҬPqPZHpEf^^g's朌s朴q  #zRdEpc|}r:u$"#͛ RUÑ'VXHX{|y,iMKIkݥY@P-͔0KH'N-aA&>na'- d71"ƚxG;7tuζ \񌘣S4LQ9ܘ{zYgm HxC;ׁ P;VA?gxO;O5=3?*Zf,2+gpGSҸ~dƏ@"6Eɓunwv9}2QoSI ,xR8.ssSJϙpj8-u>[Q#@JnZ g0_$/sGt2Bp|t T?uA~W5Y]qj 2&ߕбGp}NPZ3no%V %LDmNH49iL vXhpȔ`+QEא4 [*BɜŃF"BL&x .ZSyG8 {s?d;3˫yTR˅?,!b>. x$)oGS \NpWj/V5Ӈ}E%T{q  SZ7rd|h ͉/Ceic(aDv9XhRw.x9;R9ExNK%F+o~Z~R,p}GNkd[pI)KE3.^W8?pVOOZ| kwE@!xqٝ40D5j[)!PD{sR-ιЕvW *^?XOKLKœt p^8v~cvD>-SbuE+VR?Uu%/FG2w]B`0%",YԎ5Ά\43fFs ~ph1S]KR)POΩ8^ 89IȀ%Q az$n-~Ň$ gؒr}U4Ƴ̳3P;&S'?)d[|yVJ}ݩ]bVWa%܃(swc#f/pg$5Uqu\Btc@+[ĕk^Hv 즛w_nC8`ۣv7X[`L8 jG~Dp'ӳ G"[.gK BLw<k7g,e2DJӢ58ɦrlW]uU=O>s=S#kAu /[w:񨨧ee<6=cWڡLSlmnEEUfR{F; -z<}Xk ~kԑ]yQ)d 'S;HBM%O- )gİ(>GF\_{7u!#*Q;lGz ˯:o|jIաRT˾y13gį.ޑ>[d`#dDU 2/A$o[ѹ9j1)erNa;iO [R47_9粅Ro7xeb鞗}N1%t T0C_s;3I;" ;he"E+Ep UiwQBpZn@yܜT\6 o/l憛>t=gް w="TJ?rpS>j«K.5J;`pX#vfo 1njAvTb+%E!"8"he*ђ:2Q, 4Q aD A'hq^a|kN0+.1-4%4rj`p+8.az3_-ܱ<*$O0;?_ZHWCW wͯ_s\SԎZMpP\?]u.}扵@O Zƒ:@Fk;-vpG,6'Ԓڱ;hc:uÌrj]` y-P>_|ݩ!-ߕKxJp.Z ctḁ~fHEq%Z{m˾/{Ծi&NMp +jKxگr.pS{W햅=D&Nw~ CyFd~$8hcJ8DzI pc,Ib7;xt/톑c$q9=޽[ A/:r*igZ;![~Z:?ULmZm$ /w{7Sqt վ_c}|CA /)ҀiӠj o/ewq˛gR7j7aksVwLy cw'#KơQN;Gm ^ (xEJs]Q  mdAuRL źatCXT">^Kf290F2P%yB'$#9\pq&:%|C?sxa^ ۹)]uȀ0od,b$moL\ PysVjoUG4*ˠ~x\>~DܮBDv KY˸E|8ܝwr$񦯗_DjsM߲x"q K_\Iv-L;Ʊ9V-A, ':N `Yȉ䍑 s%:Tj/F,Jм (G{J,C. 'j,ZU&@[1tJq%h+o24F}<@kH&aqW]&¢NcĀ\B$W@rJ0,04; ̌ nܣ`S&r/S<ӶYJ˵ CnەS{Xk"I,at:-@ZƄfƱ͠K"e;ߌ)Id2^D-1#+JqlFЌ0eBCƬ%vF^>SæZ^N-U{ c1昇oJ$|D@<[s0l۶$wķw>v8+ˏ9ij8 ĕ̙3MpWj/f@2b7r,YBHW^ZR,@< JD5.L< Wd/wrt'zS2i&[zyFa2߷ĴGG_ćݾ};Ew L s`$9ԕvBO9ݮ16ZS @5p-ɈXWbjط꘢jpJfG"ĥBC?JHpOY@E{AꭴJpN)o I bȘdpne**c~0ss/NP+!w:CSB ozG*P tB&edT]e |HK>=8H!TLt2~3=Z@9ot2f^BՖXȉI r9.?)H^fSc.ҳd7 <(k0`qL?NA؂؈o<2 -@v"~}"6mZ@#7q`3JYL . G'vIkUˌ5^"NJZ+yqD6Gu0\I[ME /dC8ws4<֠a2F E3C:#pf ;(+ b0C*nZEF I#glc=:ԣL09jjzɈweL;$8Ζ]DZN_b {#N3~tmy$s؃sEUE$/Rj͂cW,ڡQL]2!|v#: xVQ'Y( m"[pa'pHk,Co1IIAQl(n '0*2[r7F)16t=90?: 4-tStRi|QS@ Mw;E,`R;D2*d@7nHXo1nj;n(t q)X&Scۭ%T3L͜jF榿 s*9'3#d,(4r~wѽKRX )*1d8DA5CZ \@u*6d.*%Dp9JCxOppC?R{'SYJx'%.dt >^5;>FΌHϱH/X2X 'r%P @=7W=*b#"tTf%ߛ=E݅ "8[xA.b<;JP|EW=E.C{#jqC~yď/Bwo?-vdT!Duȴ|}>p/8Ljݮ!96ihE2 nR% nZST1?2wI ؅i#q?&~t2@`8딚)y ] w8'욼N G͹C`:b<}8d%2&xJPvXa~OqZ/$FELj' ٮ-*frn MD~pe3nHՠ %䔸1t[i)X8+/t؋37JԄ QH\'R;$_7^=2XBSQ!O$Pg~j"~g7%LqL(ҪZEkk_^]W\]̵QڋvQ MelKG#L9V=iJ .eQ[&fEyAp p9Ny Q ZLJh<AuqSQEÇ! r;~,t ã7?dPtܮ[ v0hw3swM=4 js8q-E;3X2q ~eKSQs4m+igerO{L8^ d`le]mꉡxfmqPl31t#-41c2QLv99-a nWIDf 76R| DN$~= !JIjx^&lrr**vaB7ׯI_>{[BjOL|(1Ktvc𾉄SQqh sab9D Nw7QX]JqWR i' ހ.kwѱ@Cctyz {`m 2c`u*~ ohhf8"B)[cLMXԭ+ߥGPvlʓGR~ݴ.pWjw 4O](ݳNp Yڊz'_9$ӑOgEY'i5IdS:ee>H1S?4hI "r**H@Z#JGD_D'G6UU2j ƒh nw)J2 ,@`EG;1.TT<4OAN9a>$DL,ǚ+s͐fzQs~x\v)NX@ѸDvX:]Bu|~'9]Ev'3%q́iJ40tMt^.} f|eG@}vs0МQ2 (q"4Df>1$ѵQ;7R}|>iY.M]2{YSc:-j]n.*n ?&Gltӡ0#ǝsb4&|KLt[,鰧NwОbx &=c3c8bKE0IVG|qs5 8SƠ D}n ZE02n0':> Gp+ĝ(17lUl)QLwv4?k:^=tYrQ"6r `b ,ryf6Y77"JTwEݣ7R{/Pi,O֠p@ ;ZIWǝc4|~FdŚٷNp6KpsP;޷~Cqfr9?5M\Ϊ65gML9tff@:!^$4E)d)9fLq3^<}ڃzF 8G 1*-ʩSgHh3u>R*~D(AKpm#kWjD54=#-BL"Ɍ50i)w HN ttK-f.6"Q^\'6("E]D2UC&d١hS@v*d`"lG"$~<9ade;Ԯ$ S;.k]vS'3NgpWsR,ē{6^s GL@!Ԟ=H7=սɐt%&.͢u &IN':]k:x$^B&pvScT)^|f*,i֔X=_njRdGd3LS٤`gs!j$?asVȤ=Y}19:OzXݩMjG*v7 F%%C戔X /c9Iɥ9ݩBy1"rm۶<|x -!1g⬁Ysn.<܂o1vg )d8cNQe~sVjaPʩLvBjvNLVipiH\( `HgFT #Qw7RpmS] Р$ `A2*"qa@2 9S"H'or{d䘢Zu;wsIT{0q6'!C"t"y} S gG Ó;qF[^8&cQUN~#"x"Q_Xu9Rؽ/: AAsȠw xA|SQEݎ̦\0:a*QbLUFjRjګb|Mм̛7v={L:u]} xs;RE<>܎&$6jATB (y"v@,*!nhӕJ`*87!xZF;XY)TA|LDAoKf:FΗ B40s-^ LO\OyګF8Ь^_! >qz,wyK23S FD4}.AZ(Cd$)K@wdR;10<`=efk**ŌoaK;c521opʷmɧJknXK R{'Zjx FZ}X2Zdģe.t ղLat"ȚI$9R##GK7mV^G8A4`Mi?.;s hX<yo`|';ݑO Lx L 35w.$q? G:3r2q9.R%\Rj/vdD'3RݻW"XkwkY T'#B ,ZiӳɋBjcȠBYEZFr$K21E`3EG7:eMa~"oqG#Ze >#{J"G\ƍqK}?`ГO=>̳>gy k/Z>nWi^){*j_h ѥ<;֋u'BT-AOt[NJל&>](K)~^DiC=(繗6KidjJ0)rs@t<"'j$:{Ep;㬎AxY>R(Ğ%?p٪g{>sGҋ/ѝ=T>}ۥgRH/fAeݷlC[ۆ^"g/j+w+&g T'Cc*s~C,sƧrS*IEQ0p|NH4@~:^! yDtc#b ؎5J cGP>98sUex b0Œ`g&DmS3su /ҏ /~ǝvd 0gf,{ڽCPqwCr۞Ŏ䭉u6jz9=D P\հ&:ҧߵAk|+e+X`8 eM?hBHNCU2n%Ovc0$BpͩTJ'3#!A2ԚP{Dg ÷\z:d.SE ?z_?OG~۶??@>G}󸏋3ۼC[rGW -کnڡaU '0c,vN'k! Qs HǶeJPsZvj'>tc1 X՚ A"mY e :\J>G\D}q0@6 0@p]KS?IgG9}_xGn2s}1>t%?jKE|PHϙ2Qm"?ۡkC-ƍ۞\9מ7ѽ:o8vNg@[dG≋VȄ|~`)9>t齯n09&F<}3x&N1Cj<">|zٓ|+wOӶ@$Z'SdZ@6 @B$&]bgewQPɍm6*I3_[ApҝP &J ?L h,'f$C&M++!a [;p_VEt%`>kAsg@Ծw}ܳ юS d,LH c6)6AlKĔVZ]=Kyav3LqU^=gPa5DZv=D .NwNE` !eFǐxnu$ݜ!1rBk8VR?o[o}ǎ {^>Pwnж!d3^&jWfר}$1xz8z}p=Z׮q,^IUEbS!`}81RB ҄Qaw9X8}aH ٚ^Q8jTTF4u2@SQiTTc ޳,AuV vNE~`w.$U^5bKǟ|d}~;(y2)vn{ݣ櫺P{/`2ڃյ٣A J;-{vG0Ɠ1ϋxjJ2wrko誹 tөh;M sdEWVHtQQ;cBj0aи|HCQ7)QԎ9gl45?RpMBqԊZI#J? A ;^ ٨<#P Յc2%{{ݒɴyQhjpWjBna6ޫŘ"NcҜT"ar[jk|  oAf.gUj/vܕګ[|Z@-m⠸i&[H Ą9"!2P>G^koonEd璨A"US"o ͩ2 Bz lI SGiyejLw^U[Dj/TR{g8 +WݷhjZ t'OtKwȬIUYa^#=MMD3qqN/]h'D11<X>7_KdȢKR{P 가Mpą (\DRw M";8a=0<_'|/*ǀGh>&^F;,Ӫvv?5ugu)ȔqgM#3*7byT-ď(b57xoݑ[-SZIWVj֞3ne<{zte_;"cĊvx1VS)6wTj1 #{ĝʙ3gb~)1LP,Y͛7OLLP_94Z@-u 0(Ĕ<-6rSFtɛQPcCPj)-NpWj׮R-p.npN I2Eal .w SIEڜu_K ?%XvcL0)+#䖈:8y5.saNE}ʯ^5Pj5XIt2v ڙ鱨j,asX; (Jt/)u!!Pёw;P5T =^ctf;eE;?L;1f"|d!*l Acic"Equ|Pj(,P)Qj׉^jXgjD@F,3 lTF4yk[q:$FI Lj=J)1wW [~q# JH$:^ȺR{ LUTmwjL]2Y;ͯP Jd.ȩbkwg| _8k1Ҥ&SCIW>v"̡YL8?L֛3 JBR˯YA쒔ڵ[T  Zmĵ!edNjTTB)mW.~I44(ayhPjȃFVc>͠ƔjұLn̙K/^^{ݮ]y,.Ծh":ڙǾSm9W2CW¡X }Cp׾Gd"*v?ݓNy $nc|LP ߇Jx 9R-O>Í7j# 1pYfջ0JfVj0E({|*A`b7 n.uo ^b/F/eR&U1s^sVݥmh|ѢYfZuYg}39sN9sNڸqS)m(JKQt%Z@-i KB0Tus$7HdV^7ytHey/.mǷ-=1P9d(8`Tqw6G>2`K,W$<{{GpwoCkLzͬP j]BslTPnI|x#可k˞}˧ -yv{v84ݥ~ (=H_XvDAԧVSyߞֺ x>>휓{"Q-%T{| 0\8?-:zaOsٟVMQۑb# RAG<&ۇa v4"3{]DCR{=AE1^-q GP J´jYDEuezpf9ɜ-lܛԖ䶀#=׮qhNZ@-0-(@!SŽ Hxkr*}w ~CTc߲(8<;vX~=Q` X=7)@Vj.L۬P \֯晘 o8i2:BxЉ>`maDFdO GK҃F©TTLc5IY&<#<YQJIQwlR}-.nS+hgRjoIP , 0~H3jVoF=97XdGKp`wܑӔ%$ww$bW.o~$}0R{UP Tjz[u J^8Ne߿?$rd(3v]VbnIp/>wAcw{4g,ԞuX '&&6"#"?[ݖV-0%TGq6GǎSfY6jV>I{ɕ)n=rFF~za4zQT[yVjs=-Q &qeƙB}6܅U!Sm- U^ؖ9 tR8q"5@Ƒ%+8Ź**F"3 ;,e d@J-p<0ݭJ#@oڴt/\pϞ=SN1J-ij{#P+ZHG#KTT5d0u2Dvvภ#c;dO;b'LEmDZiAқX B[bB1XA[#ϩajZ 4L&svG1CMΒ;m4Gx]0߉(dؾvZP SJL"gZn[Q]UjYԞ2Um}G-P нN CFyva% 2ױ#KRm;9UpoѴa-!Ԧ泀P;#?ֵ^gj@-"\.Nq,$v~0&Q:Q2,_t貯Д! ̜9}3ݕڵS j<CDP4R۹r!#: qSlc/RqНc8ps,2٨=kkvP*Zt%"֋ۗ!dsj)P[8WT.!1##` S^''_b(Wq[XR{>Խ:d3]"?1d[7ijR,@pD*4-M]D{1([#wwd`|*B =t;D|1cM/^Hm];&JBFPW-c BēP!JprSB':I30nG6 29Nw>%\! L>}ƍ ,X8HGFUjAP *L Ld'".3p<2dJH WO566m}|$;eISNDDww Ӧj:-$LI\#wPECjF9$dV<jJN5裏ްa\S={L2ŦvR{':/mZ@-Nm =#KGq[p04K!c3tZc-)QGaS|vQͤ[mij 2=%LBR8\TNE/;-y9*ЩYO8o_`X}fI 3vc.})CǨP Z@Br Ma Dipر¨ xŜ*SQItύxe<$Ԣ'E-`Y 7JZJgCC!"?瀾@6v>mWjP-w p UΞ[[bFU7aZC9hMY7B[k0KQ%I@;݃})iU +d|]@ ەQ d丩e P=:Bp11:C=im3;"&56z򵧻SsWq=d0fHw7nLDe٨kמQ-g Z{pBϑ1L\ z! x 㻹Ō]wyYaܾ0 ݌W]^B^X C>3nstZ@-[ P({jg \5Ɍ"g @ݻw#K_|S#xSlgiJ;VPsaBC*8dj*K6mWXZp6(ڋu#Z@-tr'4HDԎ``txٸ8ݹRX.7r `NE2hbn2ylT3 f2U@oL͛7/Y%~›ڨJMt>ZZ@-p.rd&< ,NqAne+E*&#^;8ҭA2``E&SQJRwetک}1’^j%٨M=,L3f̀;c0LS6V-P g2"HzP#15^NƐR}EL;.X</`*\L9% @׎JF8}޵vj/iAMt׾Y '&&.&;ޢK:u`mUV*K}j10"y; sq@ci$A淸a ?/h&]Z@-P]BLdgˍCC6D^GycG >(A:n'S#xΡxAv>0RtEϖk (]HRR@,MɨBםZ@-[B293Do1gr ) fo;p\lT) uYbzK*"r1f Mi{,ܕDz3ԃV R, jNF"Nub:#wGN8ё٨9rt zaC2NGb<NE%#TTPj$S;bȈ]"(vA-P |ۅ l3OMX{p**mLedQ8SET \t2MEU-{P}Y?NtƐԛog9䇭P lx)hvUH!b!U>1*u93([^JX1Q檨|3Y@?:GړtJzͬP Zh1e$G7@Z!p8 #t꘢]랊҆e0.ws+>21'yiImRn=)[ijpV_Mt^f٨p I̶mjc$U#r(GR{uD];7Z@-ФLx}AWE_y=w01#D'yC"nAHc )POsB*ݹ*y]+otjmQ;fkLϯ[gWӀ:蒒fK-h8oxx~t^(s*p{HNaS0C1:Clf~4erN*xsPwQ XQ;СClUdрN{k BvR{kXU -y~9:N;N#.!^)niipTd#32D/;EfƐ.ԽTvZZXQ;W^.<QC@Tz*БMpW_jZL x_Sܽ{T.|Dv_U%l**x%vH<@d }s*P;Ŏ%FMԲ17jj鍊nkӀ~3)kP Jd&pqS6CE;ʼԜ } j#cr,7Hv:x|&٣<1#p$z ia)+je7q?s4DP]{:Z@-дb~\crl #vNj8i^| uI"&e9Uf}ZZ cH.k Ѐ.wkP ʳ=`q; ^A3 5ΧނHdS6c%r<^Ŏ6FE&Y@6Uj/hfv{)ɪCF{MZ@-fD')1 "3RHwy' M|CdGCpgG&Rɡ"xJ=-L-a(龻R"s3N;9pr凧9o^p6],Wj/+۪\jFyV:mUvajuf>@=i۶:ȘS3u9%wZ<"gGѽj pv)}'J'z C1Dϻ{9#cIз 1 m۰/VB  H @ķ d`Y7u2ͳ$jcX~r֩$xqUI< 78敐vtJQ}wvw[K3fغu늕:mU{2%k'WK> I[CͱK-~ ڍg1G> qi j&=]vs> cDvzs$hN1ڽl"g$Gxى؎ rR@9L%SnzmT|U.q[hco1Q~;npKnnQjOB/ȎwWjmЙ#{ĕ?} ˗XbKܻ9jg͸S{ō\֯S. nߍΚ%OGQ=R{;Yx1xӢ`m.gMF3{BJ\rf lᚦீ;m؅7l<$1[6NS{Ji}zIѷ}9G(龻RO>}-K-_lŲ+Zt}rSv葿WxŎ?[TŻQ>R֝|T54HP Y:Ͽf x8-3aPE!øjbM@1wjjYFe"1H/9#Qs-r]U;Z)Nw[LtM2ź*::vo"|O'VNܦ+k?zڴ͛7/YtRܗEj<ŎXBPzH~ɩOsIGaO[M6S@_Dڍ]1u;xQ):[Z 8_ӓ~-IC2X_Gv9R->A`thc(aBGwΩ•S~:5PJȎk}Hqe[LbxJ%|֒>Q%xO owQjg=*A!sGoڼyew %+wxS> g8Y^~dҢ7r=A5Z`, w`+t1=ԛT Tahx}z$:2u>u|Npxp$Aw0Lk--_N>fƱEyRvO//2v8~>OtiC{n0rHnj? ԾiKݾd%-Y? 8}.RewڋW-PFa]"hH@\gܘ:c֦N/gx*!T;G~*j(Gd 0n=p(gSS=>KG[N%ZJI/;]=Tf̩o_pETkoG=*NzRT48|[\p?FfݱYF`<;5 Id%ͯP [!/s$E6`wze19Ȓ%>G{ 4 ߾};@{LSҥKie˖=H0 JQȈS |#k8:3 f djO:_$ P{rS>:P" Q-H'^ s>(Db.2F;r>+Z$:Px`wTd Evc|/j2Db[o1a5.ϛ&rv?{G'E+tޗοD{&R;384 >vo6/Xj,nwMJ@^SPnJe SQE&zp5p1EkOdž Ak*g5SQ 6"m Zn=, {&xR?MwYgL>mt?!`Ky؊6B-P c[s@`bQ.ml$3t СC^|)CC(OE<^$UͩEV U͍P|Xl$kTf 駟&2==7O>wk_/B76jZglNA޲(.Բ cKI0fnx 3ĭ٨9ZƖᣃ~jc[kO=TXˎiOymMܱKBOԞl@y7!;#cQmt3fغu늕Xu劕dJ,#תj@6FhŸMboP5StǠ:7笑-v efTDŽT$|9%&NT}Ư|ü,̔4`<=ŋ_yL -pG/1jӽti׾}A̖c{\=1=!ȣJDlࡦd_e Z`,adxu ٩ng|FazyɖE gOeaw=gYHh3˜*/hPkLxJ3nǓ1S%M_;Ƅ3z뭢qwbY]=ـx%He1`2Ϝ9rDG 7Fh2EzU0}+ss zfC#gW=ڨZZ]tK6X* -K[>/bk+9H\hS^ ՜ JkHu_e x`\:]^|w.t&@==XxRu^x2뮻r³ >YD>Q S Do|/?֏|eS{<*tIV'~̚%=^ B/=[wd;Lv596xzPDU"1y\PI N-H[`<&8}旣q(Hi$oZYO_޽{S O6P{hڇKf"d_xf#`5̒ԗspGM5J˖Ө)Ν; \owNdb-.`ݙB}|A8^. A]Ȋlx-)UWD?n:Ԏ:KԢX]mw8ƒldr c{ch>< ;l)O"CwW ",@jFN \5Y,vZĠYQzX%9FF=E>Q{ 8.d.f ѓ>w̌Q:?sr|$>j2Xf\Pf !ӣ{J, nuoN^-˩J8v }ݲ丶ּgp~֕& 'R}47DjO%DpvlG㯃|0KDm3`}\;g=nZw_;!\\T޽a1~<kU!S@G 3Es,vսY Aj[v:$|Ĝ\NLv9H} ͊-qj@ x`ܪwrݻ0ˑbu 0Ԏ=S"׿~E jzɥq]Aź1:O*“lyc=}ܼuVb:B`f*#S^V8Hav4aJ#N#i gZu<r"?Yu]ՒPCꫯn3(]fn,nwb U$< :pb \wU b-7pC[ދlN xEH82w1r IY-.YqTw}Vc+_u<+wN#RKɀP*=p<T!5`'YxV8CGZl0cힱL/Q;1.ppC=wa؀{w^z:kx ~t%5b%.8Mn,?Ns0*]v-pRok Aj>sS{÷#f:buRv3ğK*R]{kOOW);04E ި<WLzsPL BBf"w+u|,ѻY2CE![!i)MZ Pn5om2UqH>Q7r)qۭ/"Ru^#\j j ς9#BiQ3fKtڛnZ@-P6Np^Svyt$<9b+9$%ƀQF$kMZDj':tIw4 31yQjG5j ȺpY"4~.)w.oԐJm"1J'0,@4oybb"΄9wsJ:aW3  gCl[ɧ]~rRL1&Quq*6 jqe*Ap#! rݜV2w9!UtMxN>Z;$[[bnyn1cM&Cvs=Hibu;R;{wk=zfXa6by { Qyyu5Z`, jN }혍jFqe**2pj*p}bJvɱhBΧ;ƛg}ey |keJ*A jݩ2l>ljǟV%W(@, Nwp6gU:U. xFGĖK<[bNngHiVx,7;t݈ {jD$ ǃaf(EdSjρ%j7~k:klAr/c  }PoȱӅeSjo얩D.N|(TGuQ]:=x2ofn!nę\ G(Sq1[F(U_{Fy{F!wBf-N!6xc QՅ!YN1ŢeJP@J@"qg{|4]hR @.HaXm$裇~q_Ej&&WVUjj1Gj?=xԩ7 o *^&eNKڔW]3ΦB{sX [:2^Ҽzc:ي-|cfF0x|dv3d;^Bnjp+=iwVxS{@nm5tۥa!Mp k)#3"/S(Bn[od_a`ͣOq+hj.$NFg⒨xYGZ d+?8q[L{}Ϟ=_V^aÆY&˾0 (}4Iud۹һzⓟ$}VәHjrHZ?w~sG0*IfԮݠZ@-P @ƀ;L1d}H+VXM̤1jZ@-b TAk$E@vVV's,5Ew{>jw1caU>@\9}^Ge˖ݻwɶ]UmZ@-P b*ē  5u27Q{FcT+%"'S[K."XWjP-P jnX jwc|:V?jw1IE帘XWo Ϙj%-Z`O)wVjZ@-P:t₵gʰQi[o52;6'ڧOe˖% @yNŚԮ]Z@-P @~@Bș~zUX]݌wqG>-y:\TLӦMۼy3F5 =b_0޼SN9vuS_{G:*mZ@-P UP]Hy"2_K`uvG3b~k4OJ9ڸqHpϝ{I'ޭ>ݟ@-P @Ԏ-sq/Օ@Og}':Ov1Đq4#fbIXYeea3s&SG j^SN9yΜkPgMU jX[ je6AW6mr/vݣ zJ޸  <Zv.ft?)5L77l8唹vO>iqUjO^-P @ԾsІ˾aÆLY]j<ڇnLGP?=:pvw3>S]vի/ra|b|%װWa' ~I'>2j/JZ@-P j*, UqlU.;j5vuFn@퉃7joS${U RF Q dD86Zuʕt7OLLĵ aFvFkfZ7q- 8׾}ڵk57HM-(ERڃ!kB3F$SQ~a VYRjoij[K.[!^#1V!;Ǜu{MP e"~w rX]j7^qmt4'ڏ>zڦ͛{iEH ~J퍜/T- /~w+sZ@-PLg(ա"Ԟ/S㵷ӌJY}ڴ[lY:HKpMM-O lܸsf~_6CfOQY Y{K뮻n%"TJQW_gPr%jo˻J.)ڧO}xjmSR{GS ȣϺ}MP X c!+`h11*Bujo99jqFڧLڙsE-P jF,ڟ}Y'9:~рP{ȥRi Ϙu4wuv2.vkv,ҥ_Aϑ9jFJyIDR;"B~ k?[LUMqoj yx%Zʲd\xJ%6˺5.7u*}fOkr&Mzӹ[eҮ7&'f8,_\2D.S j;ɿM=io-do RR{|d]?wC8^6Zp :صz>G )ٳ8}{`R{A̱R{5zwߔ୥c/ь{ٗ\WY.y)uj5Ksg]q/lY[.v Ajo7q8`HjϚ5k}{KnCBA|{wܦE,1\*cqriH[K=og;)gaI:9~kӹ.P4Zk"+ho<ڭߢ.ˆl|YzX NPBv].xlr?ULӱ g]=dR]ؽ+ߛE.o`zo-NǕځ7C3Rx'>--ѿq:fM񑑞/-n8pvG_OWT~Q0DWw}z~Ӗݥ P:" : kT\'‰'lva! 8nNt>1(BFIvƉQ#OKv%B /w֭ukp(#=kG`[zS^6;¶:ٜ5`?{SIٽ@OU?9pP.m%s>H\HGg_>m祘''q8lZz MoLx-C?T_{bpG/}g]gpˍ2[vFǗevƃOf9ej\T(kYlDž.;Ķw>FuKFwh'BlWditsS$NCh6gk XW\in݊q~dρ%v?g/_.z`)?pf+Ga#g7܇x=<+g?:f{'}fv O}/Zk{~Յ!2Kڸ0 WEE׷:ig1r-Qv8w(0Rd꾢 {vT PjwLOCXu!96`|"?eԽ{-]|mٲu2?_ }\;damZY oM<إ`=WO:tgKr(իW mumYTO~tے ԎnڴIF>lr}[lSj2e$/Z|k ^7m2MScz\E-E />6ډٻcJ.gq/"NȮ6cao}[17O6mK,Ye~ڻwG퓧LٳwE,^>x-ZqӖMkO_ыz{Iך! kSZ@_ވ\P_#=H^0&>9.(ю S~~QGmܸq!ܢEOŐI5 ;Ł;rjȏo<7̝;ן0iϞ=Cj߳K_f[xR{mmjf-؈썘͕*:sx$-Ob@!?r(ldjްnݺ9s朄t =c~k߳w% ^KOd͹MjZ@-P ,Th Bq"{@?R;;ٽ{ga;>]L<L#8o:O,O<:ـξ!jًH"F]{2-/yjZ@-P 4evwjU<'̀;C];L _u",䭲Dv_qy7hjZ@-P ɄB[ ffu}0+c`6)SYxق˄7nrT޵QHmnsmS o䌨1{+UjB۷oϴc̬O6&SoxHu^!^ISL/Y|勖,}Ѳ=-ڨ]즻66@,FΈRL<-Ԟ5^xZ™Y]mL7 Fg5{ʒO.]t }|ߴy˴3z*K]즻66@,FΈRL<-fڱ`fV'jo#ܰa)=HAyO:u}-_lcwl2]=M-b,*-4S B^s>Q{ LG}ƍӞ={&OQ}/_2/^[l1c"G}Z@-P eZ@ݝ>du}0ڧMyŋ/ZEC>~ZY֭['&짴,Z@-P T! ڷmۖiǂY]mLӧC4@3ڙV,D]|$6yׯdg2WYeY7(gi;ӎ3>Q{ B˂)E|홺$3-[7蛌/~aIRkGgy2)P- j\Z_}կO :x֦mvN&55:sjE^キv Z/> l8f)Zg͋4MVâ2\6Aĝ zK߸.o:-TjӤ{ɴc̨[hdj1c|˃ jh_{y\L+x1(!]8Hh?9*naE 980fEn77OȆ#Rԉ4x{ d͟pKΦ9 "8#o{o-hY7."a|؂M*jIJxz͚58_/jIաRT}Wgjp2ր}vOa"M`uGVމuvifQ@},ѹ5=a(,БڣG#3+ڞ{bZ̞`aOd *٨P=L(JL",e v^0e=0+n{$fiH0oƙQ%iyla>/ÈQC@ fQ`qF\}H&Q]Y-ZgǙwB?)QB٨v~v~kX~x@mf5dW!{F%.ݵ" (g;K tHg#Bl0(t[!C el#lrvv-dsŦP`8@9o6'ÚmL{'Fܪ".+?'0كcXƝߊn,6fq=:Ɖ}c/v./'Ӂscau|lҁ`U!KՃjTj[N&,}5Z=o [!dSnZ t_ uf⭯O=+i^Z@P_Bӝ9EjFJ{ɠzPY-^[K!j[@㍜"5{#fosJYNJ텺)2h7)R7bWQ{zP,"joyS jZ) (g»6g~gM5k֬[g3QKmR{S֫P jT!f 62CN|5<pGK-oy mCkR+/?Lx]|$6WRyGy$U*I%`GR)'IRJ)R$U,&U1clY{Y.N*.e 2)9!طL ގ6[ BlٖlY.h=-HLO=;=~^μ=O{O?LP` `wҮc.D1'fꫯ^pavvvĦRT.~ȑ5kwh^m>ԾqFiTqlNj.'5t$ϛ7;Ф`}hs2l)1I@NdPP鶽:WDiT:[5@˯>W'e<6(>Pjސ^J}I@/GeDsդ߿d}.XF>A%gDM+|@NdPP{_NťNKwo͟ ,Bu]4=%W/ZrW/]6lK*F<_6(PCL(TR%vw9.+-r򅋗/^z59oxmg5 P` Ki @ g]oz 犫_x9ׯmoۨl @((((QY;?.7M)%1$(6v:Es$;yu DxIGj~sI}ˮXJ^}W-#;5 A `Tbޔ'Bj稾g&B;7IZ=՛%Z&;Y%_=d}Ǟݷ=[B&v݆Z޻5 A `Tbޔ'fj?{6}=&KIS_=d+/{FG<ˮ\J2k@탙#Q(8=0z 5ĸl1CYLF׋!6']K9MOph!מpiwy˒yejQ{b>ڙDַUk|íwM@Ar57mԌs}t,:ʋˮw |Xz^|*.*4'/KdVn)Pݶ1Km=|ۨǵ2^ڇ4.P @(@ DK)`FJ+mL/qf}ffjgRm[=jOFFMcjF48P @(0"6} R .<"奍i2߹a%4nnڏ|ƞ>dn_;+ OnS˯\|WQۨ Q(RIGsRac۷)>Ewx^]n8wNQkwYXYn0Feqe2mEKkb(~k ;?<6(B>*HzވCʤԞĚ1Ď6iՅ8ݻW+sodnJfR< =S}GdFIDATN0eW-I~biђAC%Q(މ1OjW^|gkU^(4|\ǷQwڥ {KwS2+ڍq=dm[=j"EKgҫ, ~5)hn-k2 Đ)%OoiK]Qtƛ[=RZ˵=Cfǎf7G_*2%G-vy] W}uo{njQE]֯^~]=ᡇ.d VC2~& @(hP#d|Nj-NsV/[>AW''y}i YA(w"6R(NDrt7we۶z>7''yUDh?QcY:QVyS{Zj OMM=zW_%t&E%RT:팾f+.Ӿ($;9u:D ބٌLNN5+ M#n-[q5 R!]xJ@ړy5=8MZR'q _kВ'>y[8և/G؅5 >bmӧO4wأ|,ѫٹyHb'ptѱLwtBi_{nWO(|.-0f_m6VT (g#)-ܓ^Z6^=E.nfW$- qjggJGtwK%Atۨs>uxi{QA1TٙWj I^߸q#EȰɐcڃfO7,>;<7lm,~"Ps`2~۰HPB[yF.jgJ],ºx|S*~W}EZ=KFH/5=vMeVB؆=Ǫf5PS페utFwb]%2[0ε6(7D#hD~q4y.iyPҬBy*յwjTzWXcX. jÔ1^gn࿨ V5&߶^n)L{M<;5d]ːws6 %Ӹv=aߛ(K!!A¤+Dޖ2d(Qu̬Oυk4jp^EWV3Zޟ-2"(vjCFj!" "l@X}d|֗>Sfj]xtk7ȧ5<I䈐CnsY[K@άr=QLdٍ{63E|ZF"Q*j= EDzWRG64YoG6* =JTKo oc|%j+kl;Ev]|kv-+#H=&vDK+âC_BGjY=d ~VA%2SYJ gCôy:ulIvh;()j avrX]|N9BjYo֩]bs-/Yrk@7D {RM\i L.^n>Ss.sv qM\㼀n_ݻgéK&{yG(1BAlF M_3o%P3*^"M²quALPs3f`yV:%{ ye/%Pye[x:|lbZRiy-;P$C^:yj kۨB$LQM$D.V[:%ƉJ4cz-l r%VâPm!P@,^)UԸZCk_?; C{%CqԄXq8 2(G~U~/T}5(WDQ<I[Ff3QoFU)6, Av1TTN^= r7W{BڏṆa^Kkyt{y({h+(Vw 1-}-Eb mlbd^(:̊l"n3 mٚՖB` [\о$u=\Δ7cj|mX/dFQEmս>׭WK^:I~ر{);̫eoٮƵ_P{=d*h%}##(0 `wȐc.4*j'/;!G۹nǑ3nn5jJrVne1dW/\0;;۪1zT"Ko|ҏ<Kםpk q+1I@NdШo|\@xJ*lUF,$tnP t~R:kڗ/_}q!i6ԔҌ :􄄅:fR-RŋdP{lP @(:T =dN>Y- q#YXd^ U,MkjTm ĵ/Z; EC(RL'-:eJ1Rj2=ڣ)|M vmP;wSLj_`0zzFFF88#d9A$u|Rjc^btZ#+ڃEdh<_Bm[~UW{Mjk2 Đ)%O~JlY^AXsΡ(B; B(F9!wRnj<*M0ϸ&sH_qڙǽDhuT 4xd}T4QQ_&G>pHRdwݭիo\pCtaʕ0ϿwuH spBqPI+CNdШ}}\og3ꇔ@%RT?Я:z諯JG۠'\*_f T:j '#Eȼ}c<<6(B>*HzވC$*j[]}>jVKPH' ;T>*4Cƨ׮][m>N}B%P`l!{'G^h>ÞQ;(Ьdj|ڃ@c"F׾{r&/v>O~/]3* I$971xSXkvEqP ْFqIJ,ri\ 5AVm #k.isg',ڛU-#APP1 RnR!MM`J3C@MM7*LMIe.%exb.Z.\fi5_+V\HBZ{=F\IWj-=rɦFOq.c}.[P{][@AlCUjA2n9tlהpΪPN+x>oL R]Z`HSͲnmE+V.Slbbiz V$K W޴;*A7kP{G=6F*^ 4CP{[x>51YvxnB.~7Vo6/ޜ"ڭ<`ʛZ}X-F"R4ЙK=?qih,v=h&,G|XD%,HW%}z~LqXb)I,z%AWߚ^P?!P|GۨP페.bocx?nx-NsbZ,bh zpB(.6hu4GJJL-J1 >e̮?0Pvy䄌-wL$LЩ=%l@MWi&\?&Wr)L2خeks-}o|`0+b('svWa;QgsvT"!Uvsju5BjA0[t5. v"[dD _E;shn$@׵ET P,删V6Qfq!#42ִDfKYzCζxUmp"lGYv"+ BU&~Dw4{Hx;Qp^6J̊HU.ߪL׈DmuuX~Ia,}Hss(/5Jdx+  )1C@Բ_r_o#k2f6/v VTVO҆Zci_k5Ivh|d>?Gh1OPP1 R`n)$;_8^{^K||S-c&Ͳټ|zV:˯*fݐOfNAӱ}e/Xƣ)fck[++ weyve qqi0֣v{Kf>a ; q ڃ@8kL\vWza_;wN^fSdr\ǖݭl$KŅ>K84]]jtjDOk5nW/&qQܔ#5 WMie]KoSO+]Gwf$CB:yk 8F̙3⟳Ν~Ťlc}5TCz@]jXv^C&ݓ{_b.XfjWlֳ}f̶%i,ƃVB A¿mĶ(w݃}0RʥFTRA+2B{{xa8ôiBF UFUӳ>V[y')u[6mT~?=uU&j߲eʕ+o/})7m6P{O!f+ ŝԟ 2nat gQ~(l) 7;|czqN8QO5b\Q\ӈ ڥŋXR#JKIı ).1DKvurMɓڳq;FpN!>g1o( 2BIZ1 ڤ%-!d?|x)=NljffN?>sYuPIy,BQ_.SԞhUhxRej#/`P @(ЕqR{iA NB'4SdQ yڔRejIq_fMFj"@P @(@ !C1e'dOb^y> 7e==³ɧ.=!'Xf~(7I,;epMyHCѬ)&*Ē<-hmy^mP 60;iމ1'S ;EŐ:Gvvb2jOֈ:[1i7C,j#KпgOjEEzB(Gl3\dQ|FK  *{X\{M_{> ۠@l `w"c.tԮ{S#)Vf[JAނeW?=~"_` b1⼥h5ltj[P `wfc.4NjcN,0F OJɗNi=T)D\?Pr6ɸFtTC-ZBBZ(?0;i3މ1!Ӿ#1;ANmOYNYĺbj nx1 " ]Cm'=Gly4B&A(*2SJkَ1 ӯP;qm,Y !v {'\H>{vS~>yO<Ԗ-~OlK7\bHa6 w+%Aj X,۠@}0kX!^Aa_©~!3ǎ?rO?[߶iӏcon;P((zqsΡ}ݎaϛ78dD %XQÇS8{v=v3ܼy]wլ}@N^c/l|}46C(ƸP&9oڴ"^?6l}v2 `w= {'\(9tбcN:EC1a? }̊ZP5d25}}|$GcaMNZw"{̅]!u@ !)jkǭ%YA `װBhþ>$D]*+jR`  ;c.^pv$sqkymP5d ڰ/ao!3$0E] Q; po8>l `k`Jޠ V|n-øPx'}w"{̅>BQAP *ORϴ4|%bG[>>1˰ Ħx'-;=BGOF (@vR]0G<.ʦoO9?kws5^>xK~[6)"7)ڪg o}sD +[?kT}m!}VtiA1{XS&+LM$9U[j.L&;+QP\N(^L+oR-4GESj=&RSSExotm|cGLf^i5m-*'y q\.˵ɄC=3jA+P;بmmT%o+k8i#fsn]ux?Pkw4SI+>y+Rޱ1y_@Mo\G;awXkb'q[72b!T:cVǵ;̞rXрQb _6DyŖ}s4[oMoiמ?7l^dlY D ]A2Z#ϲq5?RGϻ2r-6R;DvqJ ۣx gE{G0x 0j:=xtk+5k̛7f(mSOъo_1AFHw٭䎞v%͖ֆr]zWw;vEl(_,mT#q'r~Sڊ%u*TV$V;UקI*n^٦\n\,ZmO8QݡgkJUۨG@;DjsΡGu=dRBSʿ{pmmx7_*^kl[ulѪc6j R1]"VZ Pȳ0R'j.Ezg6@hn>ANdD Sfo5 ΞS._ڵk;C2),۠@}5d ڰ/m1E O+xHpgc<-e-c䋇^pgԾl2h/ס>8+S}lPx'}w"{̅FG)2`Y z!윿/Yj$I,^p5+W@vP{̳lP Tcb8LߙQ>:\wۑ M >y-lnrW;"d6*SB5:!?މ1 TaFݓ΋dE|LL#-lDǿn6 Cp'j_~=EȰ PJ*<6(P_VWmؗbL<̅x.H1jhwFK.v: jG@%{Q{foܒ E+b_3jBEy.;jڃsR;sKsr`{g+o*k+Hw S;=f^cf(ƸV 9FLY C%\ڠ18Wv~?jkB%;?>lV/jCK,!d7P=d1?P 0މ1+ ,(D _;Q^?ث8 < `)PJ֭#_;;ǽEjݾ<{g9 PGqOLjLQU>ԾxbA[K 龜@NdPP;P NkA25#db2һ&P H J ٛRr0P|,qLP @xW:tرSNBˆtΝ~Ť1y鷇 H TP_;Q;:w9jymP @(@ G(,J|}Qz P{1k1n38#Pc|"E@NdPDDɐ0j R;{[i6j _{l=x@*1IANdШ"dY+EO O!SZb x{:rs[ %MvO.#S &w')\߹rk bs5.ڐ!iUүZSJXͶI^  $')儶k3u\,DAV 6^]cXX,S2r.ͪ%yƓO[Db = UB@)I75a>Vbv6ś+!s:\@VaS@3+E0B9h$l2LUBkŊ -ja3%ƛBWG,41I7P] ^JP%@P{-d"v"BƇt,T<읏rNW^j 2 ֺ)Ȫ%_8VT%jgiFͧ=R\+RLD)l #]7K >0Pd^UwCcv##(0Byq#l5|jjO 2ҴsCf'Ryn;o)݊P/+庯UЗZrI|Q05L7SGuU4.k4%7`)yf*8%(]S}ڼ5; cڵͳ]cWL5pW3ǁ("s69ew٥GȰ۲͝ߌE(R+bh 9諜 2kա0A9r+IʯM-ʶp3a Tʘ]jZ-؛< %V8k  y#%;1~1=?s\2fAڴf!SS@\>bOU Qg-ln2 ,\l Jˑ 9nMrpiN_p%" %lJe|% l;cY4ieƣ۸zuiF<8üw#l+H 慁0e帤2XvZFȩ=[mAD`t DYȌrP_z%_bޠ4mr}< #obg?R;+-ja [V!avIlOLXehu}]R%ukƽ±vr!Y-iDciiG":7:/+5ᅥ0v)סQwON(lHlma<إt!טقMR8, [}mmC8gREc$>i|sLsv[.>IQw)i1xY]YֱiBxCtO1oTL6sw d.dzP{#Hxe}Os7/>jj_n|Viv_S~R ~D䌐I]"<[u\t,|8W\+o#Q' 2/dUlԶm;U|[xh2jC"=W05OwjcwWV{ڭn+Kk$d&cߴKf}GYl-AfRĄL]P{LvBw݋->n}ۍqmN x'- ;=B{F>v}tzLN;P{{}k':7l?"d@ >^s*w"{̅ڛ𵧘ͪGHQ]$|B~_E=%'N9qѣ?OZEj_(k׮7om@WLz$P @(8*jVmr- ϝ;vv̙?ܻo3~OK77Hq| R;=k&a @ q-ڙgΞ>}S{?v쮧͏? _{wm5 A `Tbޔ>pjgg1d?~Į;۾[oڴGA-ZZYC {'\(=ցmR;v~DgP` ;i\މ1 ju`8R;Z @(F6*:FGSP @Q*j(ç>>5;".cx' ;=B!s6]P{[6AoNˀ {X>2kJ/pg?O _w}YJ'O8I{w?ܮ;{晝7o뮻Zm}|5P @(pzV8Я 1ӹs_1)&vLѿ񒃇f,G1TMW?6laAP GPpr jR>dϟO1/̟ΏsΡ_'1芨"#IcCNdPw |1xjqkU`hN 5IAée#\0G<&X0h )OQn-i~RIRri3f<ϊ:J먜2TQAbh$l}\4kcm#xQքzO1qBp73T{t^R@GY,ybG@=jј j()@풒t@)J75a>/eJWظҌ&jWQF̶U_@ؔ MH"^BM:؊S]+rh΄|uTH0>)r 򉡶BBjJVE EWh|Ǹ]&E@uU@viWڰ=<82wڰr>US$hӇŌ|̶T_  ipTm[Q Ԗmk(*g6Lfs3L+3gTB1ĺZkJ$P{SJ"+P̀FU]G6j =$b:dY)hغla WnEjF+QmP/av)"*ӆڅv47Z4بmM͟H*>.ɞsI^)!.0v  ^h?ǗGɁ1=( ZC}\BSWs2vqƈX?WKK$H0t38T2s=Z)o+EvطӶިP4 ゥ?s UgmWUh)yĆ8KḤ: !CK7M韾wvv7x#})hp,MMH@*p0-B u {O1bvLJo[Lγl+eXnluM/Zc~R0W͖B{M2HdPKhV R2_6p>FW%ڙ~%K+Vz#5w|'vm7X$I|]pIs.RgjwtoR{nAER55 B4m}٨x Jl|]٬|Lnh{ڵE{:Ez'yS͡\ c\hk Ff 7\?`Y='$.7{uޱ5w}Rx^ۯ(6ڨԦ?~;h,dޝƷQCoB\DFȤӃ3fTː;Xt) C9]ֵݺu6/UZGCv[v--vF4]ٙQ<jWXFu3yOU>!2v ڳV[ҩ@6ֻڵE#ZiCţ@/ S0 ʕ+̙3#vW')g'-L@jJ[q~L);n, (2!{̊ ӗ'~ P{$cylN2}_ډZؖ=wugecvu|ڔٶ|:n0٨հ'`Yk{6/ٹ \ V,wZR+»)3Y ^ܙc6;1ot ev$UVYf4咘5mP)1pgPg)J!ōw5cP{]Eg+lRT0P{qSq"C[s2FL} ڃ <5̰^փr_D㌐)nFcض֑@@t>EX8 UaA,U|&*^ꪖ5Y#pKzʿxGګ{$!1HnH⍦H$ i(Y,Kbqσ?33,}N *mkO.y/2+lj.[p"#kEtרht[K+"S(4dD Nv><[v9~- j7.f;?rHpݧvݴhW~4/^~֭7oqՎ#7"tmy^mP 60;iމ1ʩBu`uhny %m9q6UqMU_;YeJ/$B&ͦ\ukkh-j_dISޑ( @(]A:(mjW_*'-]v.kf!lxe׷5X5奀Ec5pLQ6URl^ҍ$B!P{P @(l 0j׉LԞ͵TOs I๼k?tw/xkwponՏ.DsK*ړbOy6phq@P{GC-R;8D`…P`H Tքs^]jodt#(P`8 Tv"CSujgq2#d3&P @(@O@=ʪ:|pqkGܹs/X~}(-P ĭ=uvt(P`Liڠ~P @(j+j-!2iP @G0ƭ= @(S@c6P @ kK F}tZ$(0 ٰ[Yu߃!HwPC 0jrr>:)@:8}7FFAi/" GS}+pkys{Rt 5lXPT7/gCMF mU7<{VݏO P[P۷QPڋFVcAP` ܹ?O_ H [sC(A @)w򓟜 H࡙'?Aj /65 J{ P;(б|x 2dak[ByPC ƛسړF^4@3 V0 dPլP䏟1;K:ڇjoj{QíZwe 1u-sΡ_KcͳQȎ#ozÓ tMoAE>P+j6 Q=a"R9"d >^ZСC.ߦy)cjݵj%̥UBv%%+qP(d,k4BfjjS6HGODE֧vBK.dN~ܫun#G9v /OԾgꦏ44I KdԾu灵gc(Ш}ۊys7Hv$nT(`YY:>jއ8s;gq9;}=q… |Qqdgx߯_RvFϞc3ΞοK^~'J}ko"G#P9oyb<}綧ϡ/|7<=u۶RjO藎0=UUqF^h/YJRmOCҌ\(n\խ!V[vJ9:H"K>xC 逸vcJǏn˿L=nS:Qs~٩׼5*(QN=GvϝO>_| ?>yꔓSbtwm%*Ծgwp?w|Q{^؞b[puްkS$8Tj8h"IPƣ#5t^}u`k*D73'Q%}NA6W'O~+_-o?wi3d<G;󩧞 *(Fj?C4#D_y%AvxOqP{Qk'dz]{;p~a_Z={w 3'{AvD)PRfٍF=R*m\Pn+ U@{dkj'(i*(G%n2o7P{1m_:܇?+[_~BwH۷oW];HB$ WCΐ3g5ĵ'n^g>CgTɗ!p>] HpBz͝SEIIEFRE$lp&1fcv>w|}{ڕuΨ)*\9SM,+3b6xYHzAbBKwX_[} + n)k%QO88|lO>x:!YE1h3Nj/`]v3=(\~+oYxz#=Z9P5de$E>Rz*$29JԮ0k?£#J15|hQƎ|Μ?1o'/3?7n' g{%yg".O`1t@\{jWF: a˦"Rk_;QӇΝ;)71F׾?RVCjոvG>֎ _&*_r;KQ|{qgΞࡧ}מcm9<V\*'q5_Eq5ǐSGqJXBAN/Ło'a0*%!s%I4 EI2)|%u#j@D){ Pĭ|v!enB抗V +sWxRN0?ψ'~瞫O=裏RVܵK_Ez5ir?ƈ1ֳU}&:`(7Hlvbߕ|U΋s ƨ}j#Wǿܲb oyMdQU'8vO_-joS oAcH풯FPJkTPDJaY`̝5Y#_3R lZH?Ku Wr6!_?a yvi,oC*^@]uS}VZ^'?I0oo vwk/ܰae_5"z i_v䑘~ dO\v_9ة65"p)vqAeXƨީ G^8o^?%^E_t+f;Ց#G2RTyRn`{Tw7 es|Fbp vʱ ӚyB Ok3 Z#*bv⒆.#'֫O.0'ݦې<P蹫Pk?OPx)租~!# oeOUպk72SJkَ1 ;w=dHm#1%ޓ2|_y!rNETZ }+߹K\tmw}w~=zǫԮ Oj?GȔ YZ-BWv{"dXb9z2V B(qEEthi o]'3jx)3[mJ{Q;k2Q_N-9}ٗu>KR,N\29φt@\{W<=rnwww}ҥK/"<{>(\˿KBv gy~ d[]ZwO&O)|&lv_}v(wf /WF=RW_jO3bvԗcKWfʘ}-CfԞx }gl/P~&; ˄@mAk p7RJj?O}w~wGo^~7~BEdRdҫun3SJ/;m|D_2, Qeǻ,o斻 ^(ֲ!ddN1j=ǎ<}sǏP,;Ɛ4Py˗ŀƨ a6V?e+!ݔ?` |aJ,씗d_1:zD lSwkW"娖>#.Tk5$9h[Ckc?T57;SOg{/jWdvcz'i C⵴x_WW?iBo;WPgZkRbQxPo5(qLÖ(*[ͰV6 !;?R>x2|djwO}S۶m"^DL/讻i 5SV3iAA`Gy>dv40|5j?,Yjo\|ſ|ųju>8:C1PƂ}liXxC5jj 72|}Ų QnݓzF 07jD(zdOomDZ};!xSF58ܪuWPg(иWi(Oj2q-aSBPCT('O|bRt 5lCtڏ<[.qI P[بQPڋFV|S 2PPީu<m4Jq>Hҁ԰uź&Bp Nw_߃ H_>t >(@-blߦFAi/YAv*ג#]A$HBy\~Rtp vgLި^D& P{A(QޟI\nل?>&";wD>跠͛g%P @(XpWGP{p-P @(c@=n3>~mC(vt)jQcT(PI@MZV޲ @(UP{- -P @1U> j#S@X P UzK_[tvۺ+t;?RlP @0";c KݵjLɽ @(+vn ڼ}.P9(P @(ЁDGP @(P HP{\H P @(:Pށ( @(P )j P @(@ ;EB(P @ @Ar!1P @(@P{H(P @(@0Z<P @(RG |#Yr";wD>>nT5MSڡmb !?jx8c@{<*okF5GRRw2O:cE1@Ij\tg 2[hVM3l;|#LsXbu?cf=ML~ 7X}˗/W}.^X1UǕ~ʎMÌ"I&IGte˖QSqu~L55qOl J4ά{*tn3~eN`x1dcuu7@TԐA/ƪF"EƁ9LH6ðx⽽B? LF8HIG}WZЌZ*&OZM95K|_|~SKçvJ hjǒ> V9.pV``~Mɨ ԇ41{٣vnjWM"i6l݃/S<i*m/*%4_Elɤ,#8Wj¯Dpڹ_Coʲ]ݷ_fWJwl +(:#;_0sp{ X; 4$jiC`"r|Xo}t7 )d>֗BOcxv~J v9TcʓQUTK\JRCFgnQz)ஸ-p g5ٽh]"zH=B?Pmc0h;[:VwznWgN+gnyAjv*йj,]s{vAǽ$lȖJRVSbpN4uvǵJ<(ho|;9)'''o'whBx$D~ xF AHQ9q2h\dDp0/Nq2}dJf{N4NF'sYΘB>#[Uq2{'N/p@dd/Uv=/";q2TI85yVP2d-MVJvQ_zYsSa*"?頹gni괊O/mS;M:4q2ǽjQeypKpsry plc:Pq#] `Q1MPCv1A]Iϳw}[։q=ը]Քӝ߹x'3w{ntwG8=}΃ }3d24-W,O~e'>'Jkv-|zy)To-epa4u8cu:绚"h:v ׹}S`W#r14qt,l|ATó/S` y )4Aկ~??iveP @(P[=y>1BMMIENDB`candle-1.1.9/screenshots/screenshot_collapsed_groupboxes.png000066400000000000000000005643371421102410500245060ustar00rootroot00000000000000PNG  IHDRosRGBgAMA a pHYsodtEXtSoftwarePaint.NET v3.5.11GB7IDATx^UI7Md`MI"P{Į` "bE+i$_k{y^_Ogܫ͆Wͤ>=S˻緧?@6PPPPPPPPPPPPhp>M>gi*=Ϗ:߫8x/b[VZ`>~z?{<{ѻ<{{Nߥ߉;;qz|+^ooVxfI}^ۻ^{z7zU^Tz-G?o?)V@Ek_Ry}ɺJ؈}coD}+߇M~&yjJ{=ruD__sqlC{ݭ{V|e%|&|%GF O{U_>rO{l۽ԩS'^/4{:ߏz\UP[өП'vU&ѿ|:,OgG~u3s贳u2??;gxꙥt"Otq8B:t8S yNzdkS^6% /w9|.Drs}ZD>oN=D+ۨ~y9$_Od[$ t"V]Wq|}Ex3Du 9O;tO8;8Nٖq_~&+;74{:pr">a_>D &NdsXs{`_G?9͟r{ +'|_u$v=$v5?W%Hqgapo}#ιC|݇^>?=wݫ L><~Qfp5kׅ3gm0zFog[+9ts o1z[EVLoxz1Kg}~xw^,wnwXodzhzKẉ݋ާO9}ꌙ讻hiz3'Wa!s 㞰Ys4fp@4_i&+8T4HW0(L>?*`&1C>'MOYhhPppuC} 0 v\ |X ~]Oаt:.HԽ ]p1 p |Ѽ/t w|a>/Ґv/~bi7 Fͺg)+ ;gEo:ox ^gfp r7@h:?sD@,WRYH7p< 9 =ytB yn!(+g 6s{ /ˁs g5$MAo!Rٟh.7r \`6CoB7ͣͷҍ,<|E5O7r7lOn\D@gV3xEg,8i%?!<̓w@;:4q2](uv[`h}]Ⱥh2‹#n#0GoP?.^8} 6{wD{~G1#_cJ_] @v0vqG@N e" 1C*"}oǣF?6,,Sy  /N9zFO ?De u\L*.ЏyB}8ePE2,ǹijuHdv_qUn"s,9+\鱐ddGc9ùD<k%yZW)4oUkd yAFCQW/nFk2zr#לs@vj="rEϣx`D' 8w#~ Bsx~ @|(ՅY+nCsg"nz4ZN$ލt3sҀHz\4݅t7癑8Hw"61҈9 DHQt+d^y-"6~!_Y9u-#kՋ? p~kךp$im4݅s?D=(8wЯ#툞1#$oi#gv^{f q.s7MY/^ey[FS=OyC{?ĩzt&5xVwDݽQMdߑ KԻO_Sody{?`+]\-֔Stԓe͜@XϱvϚ@/yzY{g7YoNl=oU=87K : Pn8p4Vi=zU֣H/,ya@Ǎmk'9O~M@zD]=C*7$"<7՟㽤:uȃ5v@ͥpnyN~ݹ y;d2O, +G|90W:dSEt/=\dB;3@E߉ِmv"Ar\ԞMq/`-i`Ƈt?>C^! 9 u Hzse#S aHHz4@:u!Λ~}RzQO-G˭Y=lrWVV*4H}xf;^yb9mAY[<4]X/^dzupz:ka&c{oLkZ2x)4NA^2EnsgY;'mK?@2Qʞ=9st:΍ G݅gsc7G30гf`H@3rƷ3~=ҝſ{_L-^B=ֽuu׽PyVw}7,xf`Y_dt+2xͷ"#?x (E4zn'G<_>߹i44B@z,/B?D0C·zfv=~in£}9 _`>rIŗH><2>h Fс ! , eƯ Y<0ݹLfP5ta M$.Uҙ1 s/ƭA@KBDt$$ijz)s:7`kz0gE<LY7M&^ =#=/4sjQ,8/]v{xPOcY=75iH ~ں{ ${pZsSoS8zס8гsn W8.8@PzDyuit_Vy\tFlFZР=WY&/@^8A? KY0g@tp@:"hz{'@{n##QtKwSmkǐ]ηlNw2/ sʲ7Fsn#u}`1A>1ݿA%K ih ?7zzdqmtukLs:ÏG9l+I؇g^\==/=3id?W^u5+t?3??`8^xAzjPZZ;=0'm҃6N;vuY/^ ?i2>$zgҞ=J* e ]{Na=h˰ih/ZZZ;wqO_@Y8? pL;~:Cl:;slt\A<YjS:r2Ȥr$#Q?R#QqJ#1zߋwsG@v%>zn)Wpnȴwix2K܁ײo2/2C:%.St7c$ 6sI2gVz,\wԢDxPwqFr ";>W\y&b=?mFc&v<~t1Zֺцm؍ F;XFϱ^`e~Llj~_{^r e~ Y~|6:0;CwZZzt?uQR=`NZ֓L6ɦH9"rtǖ O,_8? fbAFCy/cÌy?Lњ|(OGzR/5R?O@wVl#Gޤ[N9Zo籷"&z/{l{  Q/sscA_e_ 6(C=0:"HGJ>RJ4+:~G0;qC*46{px}^9̽cPәgt_֣Qt4<<dHw^18@={ID"&ˍ3z@pnrW?on]빹ߨ.|ם+;6P$]@0'BS1W]:,uw^)0b;(IpI)Gjݨm\sK ]y ax?*i` xwY -qC^zɃ`Qy,?%)&&6t"?R;" ,l*}:i~Ƌn@;HmBiM m30Sa@7͝LwgmF_o g ! a0vd`!uG;ᡳ=a9t7=D21ƚ_Uf: %vw?e#&n=:XL#3(:#ROiRsg{~8 ݛSzI^aǴa XF,]*he lX gh6+|sG~Ҭ`\J!\Et~DMTݛK/xD42)ih$יҝ../t_i+;G?iNkyjo_gh7$@*y|ym!ksA7?n^M/{_n=]r1}?"_| m#.Ôw=&BM/]?{ԟOOh5k kmkh]i=k3kkh;k瀫ik7O/c&]yuɾb'qy=2sO/#"yO;q'/u5_7>nta?95n< Ο`L8G"HDQW|#UOTV1O`0;|k;E,(V>S#m) B IH;dA}I)tNG{.ޫPfxhgjRbG(;~ n$mޫ}# }^!Me>{ӥމ›yezt\q7pJ>ˍޗܟN+8ÔTOӹC?.HsΝ8כwL?4$wykֆzLw3Ч{Љ%!yu7 >JD 4hqdnycڎKKv"_Uݩ{&BJ0(3 4~tGM9%t=_=G8=vc`QpEFx7T7];'VCyX+.v.{pnRM-UCΠ9OLmw B:nztA/g:hy{7 온y!ʽ&aXօ{'EC-NFE+sBzZ$݁tݝmNN؉.a]3Oۙν-]:qj}'.偀ΐ~] u9ٯWr7+yP*N]=YǟpZ{5u7A؏Iq|7s<=OI߹H^lKv}ϚLZ~nc-h}ZĺuwmGK|iZ;XO]zF~Zqu?n{=cֱf=ZZZʟ?z衣OtW;XOZ5?st2}֟BpgqYHkG P7mFFTI'^O9X1GUÀ o? j#aͧk iy[8@B*e:&ε&u'@MuG}C4taN`9۹ ԪONoq 5z u_P {U)[_f>uO|0v/v#5RWXG=5/[nk-sM::lhjMIuK @n,&lVH)ugx5q3ܑYy;($ޟh)n<-2ԓSc\Kwwwuھ igҳvtw2B6<tq=Y%y歗sh& eAy؟ 8q~3oߑ5K,sTЃs7ut̑.pΠ ),Iq,#Qm9"7ss:vE/XĐdjы 3 8€Ut6G;&*t8.wοpmp?}t#^ 8G 8a>5՜]e9pTzBN z=#N?#)ͨmeiùIahq=f_Hg@#Αq+]u5Xhu4c/ p~ o)Ѡc;?B7aC{BMf87]:`Ttzԥ LdMl'xu?hTaetooo#ڻ1ֽi MCy}mbqO3HmۺM=X5u3{k^N>2I֛Zc]fYEdFypܳ /۞.;NYV;x;&n2w?y9̍0:# ;^fFFToN(o&SpͿӂ1d6Hq9seD#=LfZA3.RCS)`rB?ɦ;j`Ѹ_rw%֢b^'E}x.yo3tV;tY:FIuc6 K~߭Q& HDdSߨ" 7l8*(mxmE⼨\bD PtjG&>Mk݈{,O6ibHu^NzЇ{Qs;o v }P^r!8;5@[tu/XuHC\je-3:s۝ D;Mt2}LM %'YPy[yr7Zי37pLĜK 0 BI= ,v,?b8Fk|{HB{u2pqȅr_Bώ?4"loVu ޭ;IZ;:op|r8rn Ywj]wiqíEK9:OVְ֦ xܱ$mVG ^Zz/HoӃ~HGz\Wz"?z=u+8?_|bإCisWO=tZcr!nNgxp~ie^Dm#Ut߄,`׮`6lLN6y={ {zcKi"؆G-7~?:5xД; vNFu0顠}~w KM pivݰn&7i}I{os8DU81-"賮2|V88|gs3*(Noqy0o?>3ӧaNst+Gؤf@(CMi-q =x%{ D!zz>"L=x}aFYM>w=<i~m?Ծ݃r:N}?DuAŨ]ի[&t3..]c;;ܗ+y~6ZGLøX^el.8.4 c8_LUӭ ~À2GSeZt~7)tx#O0?}mwՖM?Y2}8=qq9ܧFvhb7#?N١/C<(042njߍ,c:;6{~y7 JxM= |tCMysx#܁smg\{s%+V4E!˺43||gv8\f6R@D /Bmm(m4䗞 Νu>s??i|lЯܸ:կ`wO{ԋMKzy.q0#B4`0d+1He@V(%a ̽P݈pgIjtIOmzD^gv)7u&BnM: AStjҭ8o>"bOGu'f=ubsZZy|sZz0k1~ֽ5;ޜ`-k4clt5o8-Dݦs{?V4 狹AC r#˗r?Wq)(jQ33i)&{:`}̃w w ?i2x9 k'ާ KJ=?.4)SaKC^Z~\v 1uSyՃ@UکLs9?HNwV :ۺt[>iǍg8Ҧ36\4}qlh&EG8:\[8tIuNMRiOs$SΫt#@9p~ץsHC'nvn.:Ov;4>0qoӟfb7/hԅ[_Y籃2 :hEs7 x 3\{6}Jrti܍sȫiOI16j :L=kyT9?K? _^i4'.£4ȚVy| s蜓 q\,7&|l[Hq"Ey4k axj 07vunG LMgp|D"S9uߨ.f=~THTq} T@ *FQk +ӐbZt& pq=Ggq>Aa@9`=.FgjOС24h߶ {q#.wЅy:3`D ߈tq!>n%i%uLH]g4D Шl]ysjUܵ&x[ufnlWttD7]ѽG½fktMj1妦NNI?a|?|/eWv;^~FwzseqFeSϾ83ZS8;f7o_d4`Q+{Tk&rUOn\&&m{ێ+gfqK7=tH 3invSesNs^e}ɋ c*6[SI9.֩[pwPs𣍮G׳_¶;4ijޑV3whF=[_9XL#}>[ymFꋦy'{2JmVy'\o=G=?#w]iifnQ<%\}p_| >pThIt"<Ե-Lj.g۱u6BiLkT5}t!g b8ؗu3)]vSEE@oz:ݜ@׺'; JUa2)wpw%n%y>KJ\39of/e=/z+|p)wMWp];Lsi4Vӕ:n:;̯a\sctđG,z4>|{y?Wę= 's 6wa3ĨW_hõU\8`8kFP#{D'B{+ ܿ= GCxχ9>r"Ҩ*h~sy}!oe'=Xyyc-$ZzIÉ񴁵)U'ld9E3hmǓVw8l2=ZZs?z)ijkZ7g ʙ[<~1p(u#soG7*>ݥiFWqTFQs-HehRD!Q)n\}t#u6vz%,7n_;LYNnd:^8`1Q^iSΣyFbR^z.O2sfoQY7Nь)sz E#JI77yR@'7;mA!RIcQD|Q½~8ws+g  p`6@ͣ$ew^Tal/$wp&n&@¸0~t^mB>̣N?<`OzDH<r[_jη)N㳼m֠<_Wk ׁwa]ļ^6ͼfvC9 Tr!ܦ95?JFV1P0ӟdE}b4e6P={ ,=ACY ҃g@=HCyI Ɠr1q9v k*{4 ްq?j 3f4jyGIyEY>|x9 my` !×cWG˯8V_ B.BFr<M<_.%z@+Mk2iH0"‹sD'2>gDmShr+i) '̤e[+8zE^5{Qt/5ރ8ucs[Sx;H{6rnhX(:Nk7渱LV9&wnR޽r}-Cf<7ŝb_{y|fm"]BYs4kPJ^`s. 9ulD̑~Is{ss}:C8ʃr{7H:xT~$=ϵS P;(lqq?k mFym;Gׅ˶YﬣDg_y ؁0{mmz;9 ç|,_1BHsFiCs\ɋ=2D)j(i!rS6y7rZhRu2iGLyYi* rM鰛 "ѕ⏗FA&ӐD7ĩ+ r{#p{9Htig 0+"oTTq0ݒmed岏Y`#bp7f*~pƽxiNKl(W@f"8FM3< ĥjKdh۹_;5}%<.#qjG+BБqPb Xh@]ܱ]ytIhjh(Pjh@=zĘ)F#!Gƥhi>X0z&f8^xdsh)7pﯕtsټY4m7Ml4u-%6{b^O}kt}Q'Ӵe[Jإ^^L8D΃^thլoM)'e;{:i*9:‹&rA]4!ܟ:y^/^[kզ{wttqn;׹OgP>stW\&:R}l۹WX8x5zAd[pCvDp> &-.ntGYM투9ݤsvY s#cyG%~9r+kpOKPO)KZ*Y/MxNM-ϣw.ECg&w%j!97S/{7r[D+t>|'FuٕuS#KuKu5dB.@dվRú#G#jǽDDr$]uaoV S;)a{ǃc stΪ{.e[tϥ95ˎHwk2%5fK]%loAsd^vp8v+:s 2TL-CΎ} _YC[$S>rGHFɃk~܀ynf5e,N>N-ZK5Oo`\j-=z-gVAOAVzjzYa]kzkMVz3u䒳w`oqyT6me627m/Y.iNolLYH߻v߻^%~2Y,חF/7=ŏIz?{{|z˩x7Y{=xuBz EуwڻMcF?OE:n?7 Z8`R- ccOK6Z ù9_iڽfpfns"rn: pƃl2EGeNuSW^=fm== ID|-Cv>#K3&:7܄a5 5m\!6ZMV>ukz.C~;tq1ZŽ(9d Uԑ]ٹ~~nrՌ߁:pn.Q"KΛr)x҂fp۹{-Fo2WNE bʹܱ}OLa&i3fѤ)9h2Oԥ1ڄfCM'uZc)3n 8kd} (FkF+aZ$VDyIěz"SR~Ljw9)IED^K͈s&#T"Iț(6AP|M/EEVJT(EAϤY'(kV$=>+ YMҚEOO=Y-s)=EcXO;wE77#(W&}r܁\\jKs.wsMT;`n{ s7tjP5d _¿cvvtGFGBmZБZQGyj-Z1j߲UVԺu[j&P6GϏ;9:Y:)NEX־~]tt/]oх?61'ߥ.n={u8̤s\d" x-p]ѳ{v=|X?O=;_𵛟~E_/𢧗K/2ˢW^dz-S. ˡ39<=$|&ˤ?:i/GHU8͏se|8?Kks=&pޜ8_2t׉ѭnno=ө=z5;*ן)EiHz𹕙)\nTK:"7FMyD&m"aFy.QoL{&Sȷȃno>nȏ3˔hKM#M _d!D8"q6t ~uYi0m"5_&2 [:?,Drcu|Ǻ&$UdM\$?/vt;"+#O|~-(5x6Lyu2?2Ԯ?͑ F3Ǭ~y/BgjP:s4_I1鉞:#M1ː:F_ %*Z{Y^n gEKjlĐs$(2\]݈L" iupFt)@%ӈ:HR‘` חvH1хH?NwO>l}~pl8V6`CVl\ ^M˸s螷'-E[%Wҹ$rUyy(-;Bz9īS̭@syǨf̚C3}s'{igwEf@Sd}\;x0lsdY:NR>nQ\8Ot4W8(#z"8DpBs[# Ɉ"zzg:rEvDїD$S!N%@Ds|4u͓ Q8Ot?jpƥp{ yMhs#|&wT|I~qp48%ys8Ҩl;xO\eK]сJ<.>7r YDk>^>_u-4EQiб єw. #γAz#!}HDG1.w}H@Pe{-sOBT:@ceϒ `rt󀥋z X ͽ3͜Vk}ܔjm/0 2og@DhG$b &cQRN^5Ԁ\DWrj78MX& ~m^}Dm_~`6)KZyC2pC&Z]їLT&mA!~?ж]ﺗ; p)lgqhsxli6=oPmFg|~#" G!Mz:LFf0 b,~x>'ST8gDNFj#wFU—.*%=#cxD^@9FS9Z޷7T)V(yS bniѕr#r՞.7Tr'7r(*KbuF|&U1QB*w9di\&\gyi4wҢvM'M4&5O,F]Η{^p}LWweH/Y9.|uu #j(qX\UΈ&RD:\sXwB4tD)..l1GuE9]RNlO }Ʊp̰ lbk\"3Ϲ>9t[Vܹ,\ϢI| 't^CsU+WAe\'|_=0`Bz]>*F݈z\tGػqvH:齹GWtQ_itMG"1 ĐuC8>a&p3tάf"xEs$.-:GYh.RWMt7,(@ ,GBe d\i`%r6 }|f]} b )FуxXVA4=`H͆\\8rn8EM#t7~+-[8m")Ӌ&ͽ9{ W@ # $llx#,2`C?__B4ۀ6!XӋӉ)~qV77/cȆ`/ȯGFJ97l{+12i |ss&GnGdb dٸ Hsj _hx?44OfTZ5ߣ4Ƈ ,.|0GNZ#q5FƲ tM !HB"Q{y ӱPoz¹@ C9e|%((`<|WDd `&ʉo$+~6%嵋+\ŀ'\?tyT ި.tzuե <.aPu #Q@#\DIזc0O҅ iCQ},o@gDѫhCz΀Eѧ0G@0GeۓsQVs^4!W YxeFfrZX:. _9Ӡ݇s0`ɑ/s/:D8_r08QtNb:{`@s 8͑%.幩j>>`s = @DMD hNᦎb DMڜ^2S{(3lKj9%fƦTٳf΂q:GL$Qjs ?hka+jRFbTT"7{tO9`{w#! #C9ΐ>yb8'`XthGs-4 9'j}*C4q|`QX d>n$m|7He=nȉ`ndH)w^-zdSGeۓsf:p. J]8݃s*@Ղ'h%= `PȐ]{#RcecA3q-p܃sF_G \=s$ڵkzgIsNvk 6nje_7o&W6m"ƍ ڰaCHywѺu(g9׮5ziS症)D1|VZE'|TSJ;'0`eP?Qs]6k>v\E((l}縨;٬|חyZpcw%vqmꞏ0\sZ\sԿ|T[8f1re+=_+1㑯s"F[5x))\|OiDdsjLjj>+hebc~;O+G*@A3Gڥ` JN_Tj>u>`99sfZ?Jm>>>>>>>>>>>>>PiIs~Jz(5;蠃?ӧg-ZоO]Qfa]r [^B:l72%~xcM,qOY±=EufFj# O:ڹs'uQga;3ú,gA-yp}iZ㸪l6V kSr첽5y\+_}@}@}@}@}@}@}@}@}  =W>&O\;vGQqU[5jֆg` M76?Q?VPPPPPPPh> p{P38i 秵p󪪪m߾K{?yܲ]0:{y륽P;^oK޾oӬeԝ|Zɶ>ܱNfݑ}eg<${6wn*uu=joxs7lvlw'N40am۶ߙ tg+e`}weoαk1|nK׸I^j>֜s7^Q0w7KYׁvijE? ^%/Zݬ*\a?KCΣ#e}Blt\{=?tm?uyQPPPPPPPPPM?p~M7շ~GY墟^/w[sl#krDw. #6ZVѓo~2mc~ ,>/9%>>>>>>>>>P}y97{e6]E? @y(\Tf%ԞS.[6d- ߅ns>}|ۮMVpg[y,YvŵGeYm6TPPPPPPPPPm?<]!z ogá_߱\r^yuU9oTQˎ=Oy_ G%ǝy|Oüo;Yo5r|'|wmH}ϫՆjC/&p~ܹ4UTj&Vq*r>N?dʀۨb~@Iʳ/eK]N#ǔ} /yҰuϲ/;?Q얽s4]¶lu|P[ҍܛ|p~|"sn#灶yI6N W߇@|R۶Gs9CKHiJ+5yھ᳚~]?υ]NoJQPPPPPPPPh>߿+iӖ{y3}ɧt!Rȹ17tpNk/Tj >8ol8?@s:+Ïw}RU붴h֜J'&r~ѸqhxX~c8/Uj>; zf̚c5_ oC3v\DimR  N "ߟ1=FcGK#q˖Լa*@>9|tۏ|>>b4|(>r4m޲~Ҽ9wS g3Mu[97· NC8t846mL?¹N@> p>Ńs|Ai!4xP<N6m':2RH'M?xϦ)3ft@zMz|AJ7nD++-Z] @ 42AAW8o\5:S}@}@}@}@}@}@}@}@}@}@}}Vi ȹIkIjsGjEw>K`@,O!!_֎@DqEi횺QfFc<>pD ;j4̀>E>343 ᆙvmΖtx8őm8u G-O1(x*5n7P:!ÆqMpXηф)ΧДii4۟ͅOzh?=z^4oc-Oy8Qh$ȑ[a5K4f\2(+Š ] tFJ}`UܓwYz>P>89zs4F !:"畇%P޶v9-z-¹jG7>z>>>>>>0|=9ŻG/^ޓ7(Ҏ =9"&ùw%q'aIUC/MB0nFNϓ@nF]$ؽ{rczOD|0SsK#HkG:;ԛn͛WFV* mIqRoB<.vۖԜם0 #Pe 8 L- o9>^Y MX`զe_S<Ͱ@T8W7&w&-t5z_}־&rC&q3 pnY<9(gewxn.>{i:%.! 5v>-`ݦ7 E3t ܵ+B .EKI]Z~m |ȅ$+-'sb_ڧhT㾓Ώ!vQԤ 0dޗh۹}F운[5yG:F4jS RsCCsl?"gr4Dx.YhxPm)6HL1*g?8OHΡ{?xucfUYOZ'vMʹlպ%عLl|9<ܝ}p8}iwGdd@b,8/+K[wIZ{ZJ}:15ܭ$Ϭm3}^/EύY 1U;@oRG۴#ݏxAc261b= g=f&~rD|9Aч~HcƎc2K[n#j/-udAIS^2ZE3XtӦiK֞0[l#6s\ELՖ~M<V.nz.\@//?@٠U}'ucsZ>[\_d&}8oƋOv9g8Bp~Ӈ}D&L?Ǝ@cƍ[Q2E\pk+>Ԁќoyu@ϵPԼd@/4OCMu-|j-|!ĪIF&V8mNZrȡ Sդ)F'M }m۾ZipA8M#`z񩽋Zm>>>>>P> u{~(pԩӘM>>>>>>P>z_^DMY(G;h*9 k?8=zd¹j}զYBi.OajG|Νtyf@Sq<=Nثԭdyݞ}4=g&p>i$Sw?B܋5_@ys09WPPPPPP> 񞗬d ; l*nzs~d߮pQs~>>>>>>>>Po| /*st|톳]Ѓp0ZYp_ytqyQPPPPPPhz> M':P<7󪪪@ܼL~?&LH09yݞd> 3zݨ]My}8?蠃?1c@7}D9?$@d¹^Cj~Q8Ȭ 8w݇8Gcƍ M{mvJvOI> ;z]M&՜d8!3FGc{)ѣGJm>>>>>>>>>9]RU{Wy4jjwZ8=Dr| 4;jZ@-P jx `B\a:߭] h.%]%93v,sηmXZ;.4O-P jZ@-Hy킕ڻ>PΣLLfj9r9Lsm 畚JM\ jZ@-P -|Wm֖v5 ldF9¹sp C-P jZ@-Pk 8_ҥ5k[EBͺВ<,IMO>6DuH B) exTnE鈜' TvrvsP jZ@-= JA$\wna@zECu!8 5~ª =oRp\'q zyx0gӻvSC'D2Cc2tq]A<#}„ %r9pn#c|h˖ڭź%Z@-P /"Յ Ymf-87%Yv %8F3˥ոglwe_w¥[BsGNiXsi@$!8Sm٪pujZ@-P -H+m<̳L]W E˝(zH5sI<6Qjybj{mܔw kz( 9c=νzsD5r^kO-P j@@}_NݹԛK$ӯ;l8lzY2[jǗ$/ꮱDq(=9GC8c;| 5|7?zjZ@-P *k uj5 N=(*<)m: o3e S jZ@-hZ(?3z뭷{afe6\UpEn]0:KX>KJ-!EexF"%~=e}Ϲ;nN3NJ- y=ߺvBӢ9]+_$_)+*ݺs@zIZ11rk$mڴYZ@-P jX(?Կ~@puYCї_~ۨygw_ V}1? Ho/sDGr>|y?Z@-P j@y s=t)7M/:^}7ޠoγ<~)+)7,.F΀Q4|MZvtiKN-P  X[ v[wR- $A?ڵk.r[ ]o|tgh: &_pްLAZW|߇:`>D͇N9rަ.<. p'KyvT0kݥl߻Imst!krgmuր͉^͝?qv?:\ۖ:ߋwnJ38)t|ŷQȯF![b AL5Kmf}^8D?eGu?O8F7kօjFd8FD//7G_W#7X\8p߰|(YRkԙz Dn ` ۛpofћ?E6vy˻iOSo#_ C(`؛RR6m Au$kY9^;@(o0k?yq(;˺Z1[ 裏gAtPnHg:r)_pu~)7,0SUηnJcyv4:$s5z(۷̇ѐh𐡴a#G۴n(-[XH[>8OJg ƂD@ s\&^֘!Cyyuܙ`->1>7اܔ1 _mxg)vsGn[&ݢc䚙tf9oŽ5y7N~TP8yu1@#@(/+4l0+_J,#~ʕ+cŲ/g-SWp߰|oٲp99HE@|87 ̇CiԺ^y>uQL_w6HYoe{Do[$i֒o۱s#R6(|]y|7#_zL8yc/մQ֦c=kYgm4 t8dڏ~q yO.h/L.#駟N?!JwUCn^+1^x'믿nïZ?_oh@T,/~)7,0SU9oPz 6|8 AC~jݺE3[nP,:p6! 䈚S۶ۈK>Do7rn;b3ڶ@ON9η;0D=m})ܢ]_h{=pްKXW>PG=C|4h0هЀoӢ 2_ҩV=PΑsAC_/Syf?uj:y#&.=4@N (/ ~=Zf=-yhYǝ`jdHWۦ(K},>Z>QV3NcE%ߴGR:eՎcEyZv,46㦡Kms<{n ~Avx<;kϋ_m<q1c}ϲQ-d}n:1s_~o3ڏ~v Eji8O~8.p{0k6p>#ݍKj{?0)2^}g#{kj*]ZsƼ>&;o?%;?W渊Op+vlvl+ }:~;о%N&D.کmy_2 :(y1[Ff=_?Ky8Pd]u$Hmq(7{_=X@'7Ew jx7Y~ X֜1ԞC%5s7Q =}8Gڛ71jl|t@#{Zs4۽{wɞP-9ӿo$6yZsL6hР6RSJWj~Sr5;޻/༿9W8oP,YZ@-P,p^NZ,3WX žk׮_,W.c6nHW\qxP~1N}YYp^sl[M)9d`>R87GԼWԣw_Z[:ӷ~fZ@-zSޒ]cP-jzl4P?A9ڵVZ88_|~%up.+~4qDwK_W}PWoC5~)ל3+9Oζ(6m20:t|^p0ך3sԼG{F3u55jZ@-P Ԗ2/ ٳ~iZlpyeokl32G{餓Nf4Ikon_m*dy(+9Y~S%@!C>Lv `ާMi`޽G[QwjZ@-P ?C| }Gz-/ TmY_WB I]b lYtl2rVv6gciބSkr-W}/:6cgیJd<$׍Aʱf}n2S mӱWR0Vάϫip.@>x`4p dtApQsnysNkW8/@V jZ@-p,H+m<̳L]W}s pPJZp:g۬5D[E\Նm:9OkcF}֙yͲM~8oc`>` sGνFprJ;wjѫ=mmf[[Wc.-w9H^gy,jpp|~ԏUMJ;"L9W8tjZ@-P g WU_\|* ~uAOcOmn̊^ˎԔDYw*hm7q&"&:f4oy9G:K}1Wp^7gvtkW8tjZ@-P { Wՠ܏ǧ:gVt9Jkӣ`q"~'սu%=e]lٵdd3Wϊ961xMi}#pn9p74jܤn9yt1Z@-P j BY'.)π@C}K1)eMJ}jǰd(~r//Yμc Q{M*%ɫ-nzsk г;󬋄y`1y# M9#?ך#r޻w r wsgLS jZ@-P T sD}Z6pZOpR FR|@ıƧǁ|: ڢF<r@9;<5o 97Cܤsw/ 0Ϲͽn֞tbjZ@-P jXyf'&;7ަ]cdU W"\GK;'zYA[(d`Sw~C8gj95Ow怯Zkp.s 9HK;99< 5}ujZ@-P /6,S6|)߼kK6p^i˂,s8r|C6z>Anw~: jv@}y*>\{ޛם[kI]`jZ@-P Tue5G,{^p?m;G>S$G6) Ç'a Ǔ ާ/=p^ɿM.Z@-P M )O Yw}>#Fxpn!tŀ?:Hd֭6m[{+P jZB(οKH ImY&n5_#rts?Ձs=߷σCp>p _ڶU8/AP jZ@-`,P?#ڽ{7X-[F6mwyyfe~yQse zE#Fxo>982d(AtΏάyjZ@-P 4- oꫯ҆ hҥcVZe@O>F̳<~Is?ȹBp.P:<8Dž < Lk. MZ@-P jJZ ؟9m۶| ^|9m޼K_bw5xכ9)7,0SUq9rѨQ|/>YpiR jZ@-Д,3NM_f +%,k}$jб]<3cWaXa@p.?F?Ԝ M6?MkoJbXjZ@-P @(#eO?/ςqu]vqqʅsV QspS \[KGI-["戞¹[kԜy[gH%jZ@-P 4% d{ھ}+OKgǍoI_SMM|9k/cs5Ӵv,뗏sd6f̘!r^p)SJNfR[GZR8oJAXjZ@-P TqYge`O5DƍMv^^z%FpRuk%{Ip_zw}74Pd0xrqƥDνx)"puVcǎ ɇ:y>} {6B-P-+JWP jZ)Y _~ej֬? x駟/s!b0Q^xbps?i:MOگz:uD9믿>y$jGԚ{2r6kKU(5o y裏6 01px {{E==֮]KGuyS ǪP jZHs@ %[E(s7hR_h{?L89VzsDϽ9_B]v+E$~N۠&;(IGT,qOxJh0_Qw\8"\CQ jZ@-PP89\ʥkݚp59w-FЍ:&`!` c6/o^ Td},T;_X97J.|/fp^|0ر&Md@5=p9?_-Z@-P  8ͱdù@(Z^ %B|H5IZ Dgw,X3>vw:@,YO~}2mUJ3>7u x\n,o5JMkH=Z@-P i887Is4i۽{w;9:շmY5"nРApG蹓9<%Z_tGS)J4Zo_'F{_)Y%`Z 8/do?_j#kp:F+7Q'OLQ]'W"tBz3,\'pn;N",-'[*n {u{O7vm{E>#| _6l-Zhyc ǢP jZ-?kw]Wz/_@oM\8b>sEV Azο~G:tuџ|֛;ߨ+8CL$3WcT6m-[*0ݔZ@-P jd<H{/tI $iLgyО={˖-#οgo3f~s~fbHതҨpYs?>ڀ-=_Y ߲>dӔn?!\MZOjA}m?op%n̛4P. чC9Qh$ -[P֭3wIH.4O-P jZiY /U׿Da[oE_|E!fe܍}'qn駟_Hg7%3E#̑*QpRK%`iђXvLW=4Hmky-i*>)mW43ru 9^q8iر4f nJmڴQ8/tՅjZ@-P E!˳k,3t9FcitTVZWgZ@-P j@@Fzy놢%j.!~p^KXE( |8?#Ɣh-tQ-Ϋuu/jZ@-P ; LgV}Mƞc@@\02O* x! }mܴ;yкZ@-P jze̪i9t)E瞣ٳgȏ[8GhyÏR8ZP jZ@-P,Pqc@@\02O9sr!݇8>|mش~r ꯉZ@-P j@,S)[M˪7y.`=y|\8Hc `8ysn:jZ@-P I]I7Go^<Nj΂-M2mmSY8/r0҆Mtg.3iΎ S jZ@-P Թlz)}4xa&רm\mS}8o4|s`P7pNp^ݖZ@-P j@e29d5y\m7s$O?saՆ ?yS1~O{P ^3<\ȳMJ[=Xym6D:d裏&D@= 08я!ED׬P X ȟy=GϩijZ@-P^yP.o٦ypǢ w鍊oM7DY8<4xG7G yD{s9@Plkyk_x[JGοD`>!}Pn#u@@Kܴ!~jZ@-Pzs|?u%na6 8;m֕VFfeAf͎Y{Lkݺb{iֱu; fdWj3+u"klrYghj6qt9=Le3j_[sѐLݹ/oD\~Q-H@7sDZ@-P eԛ{sIs:zt_bqGPJZݮK5Yk* =5l蹪 uss96&d3<>ep~뭷RTon&rn|aшA}#Op2j@ rYR-uuZ@-ȴ/k_;#s-~ 5&lyqHokCK}7s39Y6ڦsm(aÆM c]@-H@gjZ@-Pm xYp(8pϩ0eFУ#Q@c.(i)mTwYUgGcmj"8P*hm7q&"&:fU&oj·a#`]tj&irlIKr NIZ@- H7OK9"s:/./'sxyq^zxYp+9/,Ȫ6 );յEsRŖ]YNA4s^i(ϟ?*9FI#Yx>bfMkyt1@S@ԊcrMzjZ,tvDνqpn7:_:Xd>2n;1E(3]jh5 }fLS 4I TpiMҘzjZ@-Ppͱ<sY|U;<۬o'_\\ 4 9/? 2=6>=㜫ȶc_QD;#_(g}d٦Kp}g!RC͹4(8ԩr7]L-$,2y09˵~O-P 2-ԛXQyf*gtggmmgAVq%u4Mc}Et=5ksw=9~F.pozpn`vD-gfu?8t0 jirL"ER֓\0W0o{P " >mggYf}9Ђ=] y3^1.szZg~YZs/p.8`n 3L|MR 4. TY~P jKOΫ sۨwxJtˇĊscuQzrr)2A/[eؽɜsc,s9^p/^ph &҄V=m߾~C.f@Y@(Nztfoy߯Os‡HrӺ+9߿yOj@#+Э \\Ve&^yYWpgk'Ӄ* k)7kl#4]W_focǍlw}tڵkMS jFh4ͻe9n zu1/3op܈ImlMm={{-Q O̷رC#oRӰΞ7LfoJsGɧy7md>y&5z^ԚZ@-hH7Ǟ'՜G40wߩ/ U?OxpPT!8G)SJsNwGwQ-f"M=C[@`7?HI/."h 'tDZjZZ < _5vnr75֥p }F|iM:j4s|jCLg32fo%Lj#+l?裦\XGc9x? }E˫j:͑/(Wzl6+@6=s^s\8Hǔ>p'̙3Kk. Ni'P Խ(:yӢI{64#-`GgE͝;O?Dj9#ZwX8G?Z@-h z/VJim*D)mk9`<*7p>gΜ=sHWf]ZX@:#]h9s mw{J7.7j5O%*Z@-(HgG<_P.giɳMsȚH]gU8iɒ%%|O?t\\z~nO~p^+O-PpI8h<5uHf4Y #]@ք7|3ԴF4ߕ)WSǦU j@J9 P ey![o~yڠ, nsdh>C%okk1o~7ֈ /@;L<*jѓ0GS7. uq)bs׍5 p}Wv%jZX ޼Z{T8<@S * ?0EH ҂aKtG(4{iE-0O2;L y㦴ނ bq[n }tj@ó@Fy( 3"yp^3pK)>Z~Si8tww): yZYmԖٛ[C7O9:ゆtgϞPShc8F;Naҥ)^mf֍Y+GwwTu>-oC9wZڵnM-P 2- p`j޼v|UeD>+,̘me{NTur* -_Doit#!\+. v,{+ӟTHIGqDqsXG4rCKTM4F"\_en$\"ؖ;Cn8}QjZ@-P'@zyRCUo^ȹmhZxwUQfmjW(v9]`;e|I¹ +€_p ST%pb Hm5舜qQ#h/\Fpj@-Pfo߃Gre-Gu@7 ["X՛c {8_B]JҢ%]"i~t=;q}oI>KD 8G<{v ǠbqX&爜?d݋Λvy.@foS!m`l.`%=w\E!e 5DEFyqw4xwS jzj7`@9RؽzXMڵ+2Yp]._[U8/n @u^8G]uG [5tW5%rGPj;ڛ7?\἞jh\j%=inCfp<-ߴiRk]Ў֩kC#T ji50P;pth۩1ϛ.W6m-wߛd܍x L Iţ5O<EsLzCR&o5>K@-a3|M>2dZ4IGC8i !\4]ޅwԪK#8yte*5txoNP «{Toݬ=8wS'ꦯ'գ7I89Y֞&镆wy|C?&S_{uWbW @Cn=L4XI;@ސ\!iӦX툢㽬RoveѦt#jZ,T^I7p󹺁sIK%6C[^ȹDvIk/#JMΥ=yaUVhEw#KYCAG80^s9\Ȳ@Cow|;vs,9߈Cݻw;@p/?ܨ Kt[Ez(Ο~P iWg֋:s@;U_iҲ@G9;yHtùMs9+ 縷 Gל>ytt?:\UrR Z7{;pDB %r x9航ct9t-5Poõ&]ݏ4UNmtzb㥭#wC0~iCB WTGa-Ѧp2Y/ojΣx2NΑ җ# {SUW $X14{ M5[˥vuE" @hc[2-tgHy:Z@-P s 4zZs֝tuSjN*̗^ ӡhz(^:[(jp^G\|@kcm]i8Ck֬)|-: Mz,ИẸ)x- V `,xta=9pX4[ٱ;K@>rޠkR jZkj{ls|e+BLa-Pp.P%pr$Z|Jn6uTKЕ55 4foqPg37] WRۣs!.R:d}XV xG  M"R尿|MתǫP 4X .JzsyeIs1Y&\g1Pqs'zߦ-Z)WBk2foXMxP;}xOu,+V|Ӗ>9Gu8"㒾v)nS77\jɓGjΣriWP  ]oqppQcJOJUI*$-[V8 q[7{M8}<Dz.˙EzG$N:!7Ru%]ݝhS~>=n_-܍VBJgV EO.t-Л}&-kl@2.( lHG]=wuP $݅~Ewϱ{M够uf#W j;i5= 畇o-X*A9>$oذsџΐZ7Q ϔr-[7{C[To@2!EG_ t#j.q09Rx.ӣ)i5i#Op-nN-P 4m |&m=.u%.SvENW8<׷?5%.5OAR8o-ЛHn4SigB:]eYDGˑM{w7#Xgt߰_;ZRw_P 5h$&kdP8o\ g8߷omܸD%s>Z8o?{Ks>\hZ1Y6{s|1 L㵤 #裏H@^2 po۶D~\gmG":)wD7c}юoXj@`9.Z+7~S`o\(czb༴k Ϋ{e76 4fo8h1 Y@n.`]eqG|MӤMꈎ< |DN\@^ OZ@-P 4A ]b+{I5YouW8o\ gQ8߼y3E_؆p9[Dε漲W{][C@Co&vGT5n5 ऋtJW pCuCvsD݈ԇKC6Dơh7܍c@pօKM|C3oZ@-(`ڮ7q^^Ü{:E?-[(Σmqp^.(-(6h1_9" "րhr ԺPh;|X:$)HQzб^@=α֍H4m'IuҴM裂ˀ6qkP  Z՛#@qx?E|֭U `a3UVZs^.8,ЛŝԷ3"R{D lQn.AtTǣ۴-$.!>`Yw_Q[ú{8~{zjZ j9[mכ;\s.+46~hs\;˲79G%7oN|Ik p޲e iCBtb-jf-"MHS# .528 p|PK:ϐ޽D]Hv[:w,+(蹤 K=ڴMo nP յ@DWguQo 2TGW j9~c:[o-ZP8^۠,Qv@ 4wDѥ&=\`^Rι tj~G(W7hL\5D8`Kz;1.}Q3Z9;h\"+\ӜF';P j ?s8;w8pN:va gFTKhpFuވ6#3ppY4rY6{) ]"2( )(&;Z@-P 4 4zs+g2Bk֦r^؊ʇ8 hp޼y6k!4fotbII1 2I\tvw4i'56cx6lkB.P 5m7ȹhSզvO>o,͕<}۵ 5E_[hhޢis4lÔeS\n}w=[ 7n2 Ǵjxm eѡ2h0w\=O*zmwݎZ@-P 4B Ts6ʿTj*BO\ἩAkS9Bpa¹7?iMb7DpzˤK7 XwItq n ]>1>< FΛOLV-P Ծj ʿyxj"[9sM8 Fsц 7Ҿ}!^rt@chO2,ͥs, 8ww͈}w)@L&X/.#4{<VWP {Kο?,IΙ33g,qL@8՘fɘ̌Yd2!q2!f11AtC6n" `#"($'zR}ykynUݪ۷>{<p].`y|ݠu]dk_|\۾ͳw^N0ǓwwxYR7`[{9.6<=+ƛkyAȳu@@:,&ƭ+Mi-ᖗ\~+ +YUěl IA?V׭>tM ^Ԏn^8Ї>|^;;rڻߨk-W@,8Ћ{_>wEWsŵ>:uHs $p:P]T;q\ٹ]8m8瞞 + #P 'NVo`s8w8_7h]pwixҏdG|duiO{y+~.j7`҂k 0W|z.xv^ŊW>caxs!γY1^Fs^gڹ|÷5kQ~8p\)Զm&|挄y8ٶeGr#S'pCe@NfRxGƅ/'p>֩CMBXP[6F/skMO ^qfW]qYe5yS<KcY(P[7}[[&GWȱNWWpJ)ś$[_cK5-@ἒǦS<s 'xbd:k89ٛՖ WA%kU_X_n3;Xy&}/{ֲBZ_^nwYL}I$K ݓUw\W`" GP5 +=-/J>׻dG(eAklGee P OTˏ{\C'>$p~gn)&aK)0dotLVD &5.C ܑu^sAus/uY׶YKM"p\W` @R*7ϫ{ҋKObޡʁrš1| o`%,[+Ҏ>e)߰_X[(Ns!0-ܒTTmZZIc[o>pG' ­n8Vn K9e8&\=PY%ڴ` m4k-g9&fl +PC" w[l:z $;.+ @~0x[ooúx1k|\8; /ȫ8'$[oݴ_n}9l|z׵CMVw䦮dkZYpb嶵(0qm';@luyuqyw>[뼵JΦq]fOVmƱG?p\W` t xsG? PyN+Y>n {z^u|ny"_wץ;]b:k]Y΁|sJzns$rYq5 H1[:۹N1Xe9Ww0|hV u]j ]+w\W` toν +}J}KJJ֜9HXΫz,׻m)[ _ Ms mvJ#oGnK τr7A,Mde nˡQ׭k%n,{^92Pn傏]&y]i&5+ Qݗ~ls+^zT*yLHDĜGAs^SupC~θ2~z-8ϫF6cα{Ro瓽xް[xs&fuC6؂k@\ցr! qi\Z봅xuYeAK;+r6{/[˸ui_[dc+ +Paq9s`洬?8$^n  s<|,npmݶid9ϫtIf:h)lxy^4doUn .j{٦2k.IzgϞ cUfu ۜ]ϓ+@1N%ekc۽ͮ+ -)0x\Mu΁ꍤoՉJ,yjq8_7K[saKo۶58ḵ{yKR#Г)iJnro~s.2Xq<^ǫ{Bn;.z'.ʜ1 Pٟ ͼX@ld`_(yf;8WJq;K 2k)`>zX`u:cFWJw ]r6k?zhڐ> XhW ƁlŚc:?y]6^gqLE67dj|0ן7rϯ3F~+ pިEBSR88uIos.S^v>wkrn]=UN)>BF}ѐr[fFS4P.M?-+;Z.[׹ l"O}໨9Ίg vZi~?Wp\8nIQ-iRg "; NU]e@S8stw& 9[!VkwuW^)9tvś+){ 8[խK-i~u^fQ- hY~Wp\!)ЅyQ}s2Wą7yE9T~qznq]9jGw<2J}H`7/zL;j`فF2k([ ksLepw +:eMw>R ?,Mg"TSvN%,us]Wp ͼx~A^vt]ծmvqŅ= Hc&oxkU|;nYzCH K٬Uoܺ9Vzʫ)aMˮ!<mpg'z+I2\+ ͼx ¢_ wqG7nE1 J{I }` )滬wLZ.7vYIn e-U~Z1CJV}]}y!%چ ` 뫪3oWp\ D׺sQwhX: Vs`Y8 Iw {}ߚPJ 9%j} ${Lr4B>n]eŚ&.4ٕ)<5s 7e6i&r'|\z}s\Wz]]$a5p,,Ρ:p 䅓/Ĝ_Nnl>}sRǝCMf cqUQqrJNf=qϖv7OkٗK,\jk[0;I҄E=qٷrhW:`wip\W` Pv 8 Y@y` z/;9O| ;a[|K_J>'Ї?{MN:VK}U%|{buc!]ŋ!MR76Z롛v[8;.9zhsdǎYgJۗp 9p|![֒2@\bYPƎ5{p [.,'fy6~]5Wm=E @@{)>/}_!c}\WXk&[{[QqᵚSˀ_0yw Ο'g%N?OO^~i/Nݛ~+ kqڸ"uĝ;8ꫯ4!j#0do#r,ZVY%k7V61kEZέU[/ T[ϫ\Vr-/FRf6!\j#ov< gDOCkR9.09zN8_xv]p\*PT|]߼|pN{,B /j`,}ԯ)UlZlqəgn۷w^JMﯸ߱}Q)${*WĒ eȴ'e ,D[qupQΰ%lQzgT?Ьɤ.֐'7&v%(K/Jp8u? @ 4VśNC U;u!vmi}jgԎf@=:+wcd5$'xbJUӄp`]țJ7A(l *PWV `nxneb,® rre/,ƛsНٲL h-^aՈs[46=my`xc˹6\X3=&^~YzWp\HmGoNzM)k]T+K=z4wܕڵ+B߿8jTKfc݀/% #Y99,%ro5ts*nY,yYcy%k+Y~]Sf\DZTk%.q-r(nC+ejk*X.ݮ+ LNě7ssky~5~8׋WBR8?㒻;ygg93zI'un9j ޹#/ 1n,',s!W5[H m% < fDW]:6[63[){mLpN~<ȨpB^kW|cń1**mMϋ^ |眳;ٽ{wrfy睗ρd۶m[;j ޽K. a9P+909kcgk_ ?aw;r1W6\~1.gX\-cX@/(sxJGB]lKLNK?p\( _e !9`9{Mɯ'|+[<)|wV2D 0i<~}{_+nj=ϱ۶c4zK_igmݺ5y矟~a_/yC=w}Ƀ>||3?'_FY;x`8yme\ﮟJ3Zs bg_I ν28kM`a\jSQ8rh+2 wQy2klB8kMy dzz=uK-?KAeHFCB xS|4ͫDqBJ3 gW c(Zl‵|\Wp@]p__̴r:t('>|#ɀ/rYq//e`T>{)}o1;ӊt[կ~uN Oal~!رٺ )y ɟIBhr-}[/O9_t3 s:k;t)0do5VR(9e1u4ZJ'Xʁ2Y~+ @ ,iumIU}jI#q  >J`馛׾5bPibA'RNFxx4>|x8a;ߙjR~J u )̛v1L4:xmo+]18}be9S:wU'T+\g-͝7 \ٕ({:\`DrEga<0[@w,9Wl,ƏrgAmuņsFpPZ9G2x~-v=l̻_]w?Wp&@.L_"i[i qm3k,Ty <` KՒj/VXGM༪_&; C9 @Mg U3+3F+tBZ.ƪ3{=˿˙'rK7y(xaV/O90}ùT$Ra-j. xN[ܫ.3>{ zN,@$M0f!S5p OH® +:g7k}!o/[^E?,^ \Wp:S `.7ͭ@}^Y q;X3: Vs[Ϋ?-A۬ܜSN@.ʱjH3(P'.dհ(Cw;Uqay գ*gVNgX$azĝeJ9֊8 "Hg-`EqC:quՅ+U]VGŸ + 60Y3͋5yHpe #n$ ![o; Kyx$*ÂwUyUX ^1C-\'H}߾wk [n>-@ުǪcv/N,Tp^%řR*%b;`[PEYIRQ 6es+ܪc>a &,tڎ %ӂnlvڑ^njYA~Z(J ? +Ѓms-d!q?1$x`\o,.WιfW/ Cm&#O~jaQf$qr=ٺ!u&# ,:ǢRG] cWR#[;+C1/7doyyV碤pXYM_[Y)\f쬐_Eny v_eY.kA9d[`<+WTS^ǀt-md.thZu_]`G^~p\W` <<o(pNL696 h@: $KkK-x:5фlU@[缨_p.B7|+c@2wge7+-Uw?v3T0'~! ]p4sӑm6۫W%{jhڒVP Du#U(--LVk]XulH&,|yr`LXέ.K<\$½=ǘ!Ι[;kwNwA97b/M >dj^2do- mbZg]a]bU)/ܨ*MNyUja,bHxFo'O^n81&J$F#*A]hM|^ei=oŎ +бm[7oCwYfХy ,O= =$$: jUp^/1>|V&PZg}v&EpBz!{k`Y+sYd=g^e^(A90\%բ?p`\rnntlz<_<ˍ:GM  Z5ƫ7cWn$ A2Y~Qy%A @YMOׁ>qVt&yGy i#IT=L+ T kv[lP;wf.! )k^Gl?yYh/qɔ|S-p$joCW K =CqB6ԵGoU 渹/R;I mI_T>EV!+23dtyp\mbHLy Axap){>|Əd}3ƢcVPOu9,umN<9*;sSJ܀.r/qPh捸X&MEVtn\rIdo2E mx&+kksq߲~aZ@:. -_UpNRfǿoGέ* +ou\io:IGߵ@a%\e-gNQU"N K=}$oekJi8 C"˺,X')<T}3\SU qnu->Ř[6j\[6},+/ζ56Qa67/^*ig˺oSr9P"k=:yb\Wp:Tmkv-i"b0.\Qb 0"nZN-c1]M ¹,/ˣOjE}e<_xl$Gcl8zjxiJ YD{1pk5l_W-=jX`=V'rB'8_%\2ko~~11}ӧsy=m%v1Q\ĘuP.k8Y8Qfce0/K;DyVtr[5UBMel jYll4<[q=GVۺ[h}uVS19ojv B_YfWB8"4| m~p\W'Zמ|_cmn-o81XHExk ldryf0$:?^}=9k&dю# gk߾}Y<6ֲse}RI!`ٹGpǶNJ!JU-k^Zhҧpn]sNwW uct%8)%{\P.fhE mG> 533*;҆{7˚喽KWv[ y=%LP'!x+Xvy ȵ\[,جz=s\W]X7[s1p `>-\ 0:zz 8%e g} ]M༬O<;_W|#CW 䜮Ɗ},YyMsM>-9tK62,ZKoznc[)%{lT[(Xp1,r֚ (sOkXfXd<Kn;[o-4˅}X0;}Yb;׆0E 2!š*KJ1澹+ ]Xob972ZyЂ .Ȭ'k,o}[3p ySjU}SW[p ߷m*j+$x{:عTuT{RR9pLhh]|^Y@_B?doȌe7fH-uUF)@͕0f@V.o<+vn_,Nd#A~Zע8t v~[p\WeZZVfbFhC}_J#@PCI?VXRyLhÔ¹B ]g,cMl= 1X1H;n~3tN>Ձs8}x0{UZX"}Jޤ'q1Z]$p \綔xsjXu,/Qܻm4j/yF[ Äo!$--_-Y T\|ۚyo7'C!K\Wp@zu e B2 ca$qd&bx2b#p_2R92Y>?jW8bү E:;y4n໙]񴃶1l:]:} 0WEãCzyx6do*Xo zavjUŜc3kc eucڹ\< O eIB(?ZweσslĘK^x-pn9+š +7Wp\5Q@V6wy sBb29Ýn]uYYbWՙu-}sծ&p'yLsc zWX8xߟVPK-w7tU?L8?o+ @ xy}yYw 49wq,ejW8_E?~UǪ>Յs&y÷K,Lf 5foY8Slk^]Pps?CW<˹gcDZLd&h~-I?bxliٲk)K< 1s#7cnOhXs+ V-e<ͭxs74ULծ&p>>}Ϫ>*8øcAzJSm#6}+蒥r_o7z-wj J 'XWsbUq2+x_Lܲk}qiQ@"I^RzTyyEYCsڹ`\ 꺵b^Շ~+ PLXm{麰o Ip.z{]M|}B)kT>M 縶[ڗ /qKqagcՠF ʨό;L \IXqmǭcSo=WV]ݩrwtZKUR8 6[W272ĨkA!k`, $8`Wp@>w+}Cs O}\sM"8JI)n7j_eƺtFn1$fY{ 6)%3M~CvA(M[(>#H$Vzca&cA#L%[ӎ~|>_*8K{Z>1s|ǎ N(\qNVy*} zLR7@YD[W2?qA񪮕GݰRZUqeSW{O%ړv~J))u) `]BVxclhDd@_+co+  ඹś.V.H_y Cqe}1`.pzxZ>5s,ro%]Rmdo˼qYcGf1EIrYEng]5Xa\TZ`V[k;lŹYe jX.cZ.(W&uu+/KA m>OGgYxZЂX +boŠֻFs.uY磅V-(./Z7Z:vJʺe-$龸h랶tey`.(R9}DG[uuZ8ǥctIe>tiqs]8T`K+[,E@ 9-LNV%+h[Wz"w"(/[tQR6`е^{6 q +0@(CwyDz|ܠ栽~WZ"8zOř8t@xneV's>5ZiYm-jkq< \OYؤprŶϰ.U^{X˽]SƂFv5q_XLmI4OW8Jy.5yZ֧̟_ +.m!+C׺gdwp~g$!=zt|j)%[W|[`2c1nƂ㸜Zl-Pyd,D ?MQR[:UShgCBׯ`hй+yYSO 㺧OKs\Wpnk+涟C{ùt[@8ŀG YM^$ĘnSM2li3s 7weib 4)jk@?&B(uj!E/xu9lW:(DAV{19jSݿ%7y]|Wp\qAr-/޼t+_[Λ[Q1X(AJé=q|q=Pfd{_9̈́J^C:,>j8GG?Byjm},{ny:Ùlb)σrSVpŃ[UYlZP//-˖Z Cbu;<E ;e/W,s-3e=e򖹟_ + xy S#m v}eT,`cvm%}k['ͽU85sk==gSkz;if>gAAUh Rx@22fy y3+7ykuQTC[ϋ6!+^Y ƜvZh-&m24a֪yM\"hEoj_ ~+ h;fx}i6cK8ˌ|Wľ&F,ܴ p/ۧÇ'[U٧Uq 租~ܵ]> 8G $k"Ɯu@9?wYWo$1\nQk䕬6Z9_yIܔMX=4AcHwe.@cQFʐ|Kgd-#]Le;w#"F?p\W@k~κgL}Hp|oUW+X/U2ԧqjIK_M;p'W |{37ζ Zgϩsc[> 6Ylvu/p3[ۖR94f ZЇIǔnaMʰۼ6QJl94_2:PΜ \˘Zo QQg:kV'|[+ D7 %CO `b W}\F.\b/Vi,c;N9il,Ӏ0l\yD[lL7,%RyefY$Y;u/s_paH@#n+ ȏ _YC(61yyYo˹,cM_vE>^y[:.e˸b{9cdwkC4ٔ^2hi0Lpihc•I]i3Ut]uvAFj<^UD~p\W` Em#w!B_;l P;H] |,*]$|u{]kkK>x`-mb?ߞ_Urg0c_k j!Ժ+8gμVcǎ,?X{Nՙ#19˵}nOdrqi⮶6sl!ٺ*sypmu. ({=fWcb.˱Y6_ȅ=Aoˤ ~5ncWܚ u]+ -+64oޅ?Bڡ{dusMY>:QS׾ 5.CJ?\Vڵ+:۶?C q7eL?c_/pOQi&w^R1$yVx-smV<-zp\W` tsm[#_~Bk=bܹs-8j Xeq'>rks3wdmb!7'>&sݑ?y*-)W.{W]mݖ<{{qHggo3i<7ycm뮻Ʃ 9D CE o}[}8V^{mBVVvo42뵞\z\avms@'+be]uUh&%[Ur9#-V.M5u,a,>cDr&s48aӼZvzWpNO<|Hps\Wp+0xspk_69Cu{z? 1!pzX̭;/8α@j;Z]+:?_pя~4?.^m3??}jӭwG>@:1?c{^8uճΕ 0Wٴ2Lk׹Jƿ?x؁uk]ea@1&UH#Ѯ[_!k„pG]!6>)w*p\W` .8rj ic&oLcw]^WzSVm@`c1w\WpzQ(>7ucsJ%5\qu Fp&_8tqs^P4&8'I7N8a~ooH7Wއ>rlMz͡*8G>|X 25N'nyqiҵk2hpCV nUZKnfֹozӛ?Z̹eIn J. 6[[h m/ ޮ])u\WoރDy#ɟIap,Mo837*)9[zs &8w& BO9}G7!~-˥@ ~.1(¹um[˲l^ޜeVY5 %6k{UUao[`>$aw- %>/sAtͽ u+ @^=eW}jypXqqobce@{~ےr*Sxy@UYuo OxBV& 4l#/$*6n{srPOš:p~W'~o[&[B+۶^9zU8,,TdEUCo3zYiVtSZƂЉ?Ė[Ļs\W`Z (~rΠ6`D{ṟ6UĜp +_,߱Cࣦ6~~!e6?9ϙ4ۿ%rkZX ſe.m=ouA<|nj_8Յ38#yq /~}=ByXrA=.umF%Jf-Yhm1²jVM;5̊V!t{= @k 5\n+]Aݱž@Xo( AI튁0|ٚd-]://#=Ω/k9/}᜚UmSyxOߘ>|8OuXQʯ 8e:p~U3_l?mc6ŕyV]ݲ^c%WlqLh+S`^Gs8z4.[63Ԇn/e+ m[osp,X8{ߛ/ǂ;1$۳gOV $]M༬O1m]y~Y8/Abw?#?2?'0SS]8;VUp΂<B/Ӧ8ՃD4ƕSOٵ7YÚJfk3fe[5YJuMk+LNǭ'  >mk~Xֶu{bc)]v5eUն~Y8/ u}ғ_UEiCɸN:iL/r} uǪ sry,̓: N>9ٛgP'/|i~]J=-X¸r,moܳ*\Ks_{o^/n`_i-_W/| -oӦJF6{+ t@qem. Cn(kp^f^%]k5 ֺp^/JU_5_f$σT≟(t} uǪ >,sWyqm)*y!PӒ`~ ^4NGvۀL\y73l٘fse-n=X K0ǯk|5+ mmU߼v7}yYU¹qɮWYWnj[l,kIH'mՃ^>zŇ>ՅcU;vHnSn,>L: '-ٳwoȟN}Qt_ܙ>n%pan+mmU",[<+g}ر6,HzKxMap\S>۶7{Y: .},ʬ:WծX>ծ&p@xY",j[l, 6q.|˷$Dr)$e.^"oTU@eV9Rgbi'ʽs^O`Iɽ9-o }ĕK}xc%6<ˊ?=Fac3ewQ}7?p\WmmY58io}wm9m@Z瞛LK]@Bߕն~Y8nK[$c^ziROZ]{wwoiTΫ> Ι,$߿)83NpO?)y&? S;p'9B_p:9*W5o=zo6Vvo4 [3m[kko];[6)jTc:W!ͩ1[m񎐷p\+vvY-nO., [7qpF}i_}+]k(xNm헅~]wuw|w,f;,&[IW2-|/^X.Ɏ[3pmUl>X8\W{20?5y֏??y֏;EUUŕ}31QYc,וv>Vrk^n#mw\*0Y'{(pNOJ !~+0|nhnaȘ=F3)+ H7o7z뭅e///x~2v,Xh.d+b->T8WbeN>g..XW? zjhTQsΥK.)_qH{N<l gY8%S=6/Y'S(C5d7Wp\hr7oIoRt,X;qc˳D1ЧvBs<,!ܯگ-dfqWW3/ u;'1?`:'}sœ}.퓒*{9`~}cq>U9g^<^os~J5 *Uʉ%bw@_H yo+ #U t[4ޜ? dծXp~ 7 O/ CS]8CڂuʽO>}Q~]J|spaG @9.aDц9?V*E2P6۶0}9C#}7#PhgE CS]8C_'kUs_yfep~\o֭[8弅wXb2rs}sP to#~{, ~+ Ux]śeoips==ܓ|Lf=o LXnmݏYt_Ou|,}j O|޽Yrö್E䪫lXhpEj!~F?Vulj轕>餓ӹ|urڋشq C@w8o6t K+ `^Bf˭9W)]W(P 69eրb@]n׀$[5}iڿL[̵}9tw۳gOT/8hd77nm )dxǪ8m)_/9ŧSG<3;ٽ{w[@w8juR0uM0qwsOr\WE6 Xsv`ky@m~K8?"}WfCqe}uDz4@ ׼5Ç[a0k_Urn,c;Np~''Wp~ggqF λZ@ϱut+V : u nE_u\esʁj6 ?كiӣW>mz\WY7x| ,]t`[[w[z(ʎżN-UqKo?k@˹yK1YDq$^n-f9])`]Ypޕ~_Wp:fiiM)?>q ;vXNd=w8oneĞcA';5؀r[{Ǯue-~}+PKY.9I}s Xo"4&p[H/se?a^t:?}s{[ا6W`EX6kE:w%=<{8k2(zp\ k.7x`]bk\[N6p&љxsb6 ]E竦zVpx!{=Ǯ8"pn|k+?b@^z;`v\W` ±\$mM ЋUO / _WA9('(?wW=ܹܰsz=׭]k;yw..Q5w!hK[zv.Mk\W3mn^qU.M`Y-_:ks9]Z8}[˹-.s;:|s\+ 7qsYWUnuj<ݠ] nw9 ksst }o|d!}Hb+?>9`<9-wpA+{nrkD'o+P@Qx*˻ @:gn˾ʫzikm8poW59ʁsv`7WWXn+`. em˵@p@9B8\yh=w8;v^=ǂ;5tYdн+Qfw+J SAuyjS}Χ f>yp.@+(]y5.@T pus#b郲ë׻|p|YWx6܂˩9;9Oseky\s',QǞi_[I&tǼů?vWXBymgU_^5|`Z+0.w8ok(n 3Xy+PʭcC*#Qwv@:?ćśwU_aq8wsgueAw8](Qȭt]HtVˊ؈Q.uZR@pN5,zpyy-d~ŃeZiy7\&@NJ+ Futg!K7W@4Pu=/޼jmxs WlK`z,}GG_oK)tϥL;6gcn??j!¹:k(NO}*W RYƯ{z~+ЅEt\Y܋Ћ*&0Z$B%&Y#o:b5lﯾ,w }Ϭek zz^ּ#8p;/U&wܐ0QP'SƯCR8U,W` Tņ+;rQ9-)A#F 63w.vw1zc߶0|:*}; _p){#7can{8߿ k׮Nsn9;y*Q&bͽdsW[Q *PdkE( <~X=n- c^ 7}TQp~ggP[&[~g:Mx%%UFܱcAXשZcP.v&@ Krn] _W8ۺ^uK}vToXgo^˃Br]йnmF|Ź˭xOtз;?q@ M<ϲ n#M ], ΃`pf,_p17 6%Ke +91^ګaxh u|,9βU =[y6Xx{PCmkQ,$s όI*8opMmi}V8hmZΫ=X,(l6];* \oʲ>3zž.MҸܸe8vwedкs+8W޼Gy8[n V@rZo< ,rWJ6{LjNw p$|%XW҆|p]Cy!=oW]}[#:ep{ǓO~Y57Wp*,cUˀpX-ϒD XW]4"MusMs p.(?c UJҥڛ|5NFp\eW݇|s2@&˳2un97bχ vq ZX܂OO؁N>7A^܉ZDq}гuiMeʹ;xԽi yLI68yِޖi:posYˁoqrӒ&'|?=[jŭqhWw\!*{!L6)C|e~e P a%>6,޺GӲnuZvW&pn]7~* _E 0ٳoyo=XqswwQ 7v=ݷi)l,xi({7)}Z&oED6sU?H;8`9C0dp~'|"otc3PNUqg!y16/!ta_}bVsdt8G*@'p.k9P~So~r+c?l< n[D]VtݟG2p-6S.񌿲+A->o 4.'f5w8w\%dͿe\'w+ F(n3jye/ >)5sSQwxV!^ok`z%&j5GNsU?e1 'W#kkXtws_Iv&@LAsLxеpƗ7γ'l5w8F٪2p.[,rm?-jUɶy)=Zk(@c=֪~3W-HRcPx Ώ$ZU˔PAsՠϯ?[sŜ[(OOv8 (4lyw@XCo3[`^kE !׽^ >9LfuOe5BBOTf)gl?#z?J%7W=xC4FaLֹ#uڞLĭM~9-os t8_ݶN9tܱ S`nx֮A,aegN;@yL!.ݔf|vDyBp@隭r Sr s}|Domgrx\)ˊN -\U) wx-&`wUyn]857jεߖ~ɭG K]%4{ﮪO_{K{> }v= k.ݕ4q \(W`H u,@z̆][Y9]:ks9] }Ώ=Yفrn9sP5.O~˭EO ?p\jw,_U3y^y݇k`5o \W,:^ -;3k%s 5ѱ +XsO:3+,ovuX!ȇVȍ~撢 y,,y^s9 8 v޾rp紦c[3(ٽ&zk3o <;_x@7u-P=tJpN-tco7c{^3zҤ;Kus[9`p>tFⰤ UP}C [Īt}pnĩc~6/x%Ku8w`YͷV|۶mIՠQ؞g?YmrJ(Ś-ٵ h_a|80`c@DO;8a߻wor':{=ZDq}>tn+ SU@%&qs@.H׫,݌c,úJq. A`ۏ9 XޖαsqzMo[ IJZ.!~{@ ;ֆ9ϥ^:/#ko{2wpOMozS^[p^ uhp^ȳ6eaf%긮[&l7R~n?ON9<O~'~"w%O{*p8_}@MqsQV"1~b+2 )o?1ھ-*]^IttfΘ0?`ݿBtzߟƚ+7,k#IkTyk}3XfW_a\Ӓ1-lvlv@tA,=so:n9koWn:TkW?IOJYzV?L;ROizBB8kB `6NH߱vE鲆cˀB8fk@XSc:*ɾX+ V(/ْ}=4] oo~Jg&x;oow8XL:ukPΗuws_A/骍[7vO af?tPpmyd3obi,bNM8ߓڼ0g_IQW;pez?zQńChk5ZUŜ,Mἠ OMO|g<J{7//>+jp=J&?}_` kk.1twTmsGzοZ$YIRj*TA rlX?u7xԹ_-=[`Npkы;/>Zh]\Mbep[ avyUz_,7ڋnyz? OJT|w~gw}W|$T nܝfc97w,e 䚗[ 14cHoJ<[M`̓ j0NsN>wO3׭E.y0$/6]d\MRi6c ʏϞeyE=Z>{^Z%J^ɍa, t縯kп۾-sr8ooԷ(n͝/FCT/ձ_~oSX,+Jf*R,ϓ̶p@뮛$v'kIkī`sa ip|  ¸jkN __Yݿws8ǂ.8_W[ >q S79ߎ)'R1TE{HnCjLF9$0?rܪj7cy`GC%zxZ7tុ288ssϞ=s>[p k懬6ܺB!dgC NʶESi ˭]n9_?=NuI\Ԩk]]ww'=ߓ<H.2sÛ?Gɝ̜{?R>/ѕ2-ٺVpZT^;l0~9Vj Ij=-^93H óo9dum8p'<;gdQKŖ'zֳwYInoP|,踹cQ-S(˓K @Sša7+ծVJִ=*ɘkoچQ_g\Ȭө;; 8rA~*M?%S9!i l"jZѸiцkˎk%;;UiIAG4y9#_'+TS~p\PY<2EY$XcBY@_> pb.PB.uͯ{+2K`Y!$㼄x4KUV/\`MeVHR8(muUp8x9xT́:pgy睗 ȏ$Kw:q ˆO{ t,s?l%S(YX]1~ 0LK.~/ԩ>dnuekg?ynimEsJyWZ0jnU6s*Ú#uss9p~wdp+t,X־۰_r(3o V>S % >SgfVW"}]뼶]Czp^1)`MuJo~E_uC';U˺39ynZ9Ĺ7|sr 7dϹ袋/ ^=uPsjwzW]8߽{wrNs :}I^:Mix-U˭u;"]+iX6zgj/sU3S7l7]eOJV{o*Lةu.K[? <4{v C azgɭus5! m8[&sd=ʔu<Y24[;%Ԙ7?qwK/gkW9 tt]g {Q83i:p~5d!og< |d;moKu8gԍ. ˔Ǥ<7q \X8, \Z ʊ.7d@] dQzϞ=s(ЅEV֪m-6xHҳ.!Im=Zn:M ] 4~s휹tuɭy9г[;^u|߾}Ν;{LGMU%s z˛R5թrA#Gݏ-lc.H+'T1ĺ'se<0/jX0e}Ci,j3GwUs<'>38#i(ν4*6pe_jBcFFONNnݚlynXϱ{D{Hpx9a9)ph(\p+qx#[{ ì8b^W9-R8Y?!>#F9-ifj).9Bʧ/{U[.V7 rK|28sOWZt/Y15r>09 @|w |t;bK;29?OVNI̹gksJOW:@Zexg'ںʉUו=/i\Qy2eI8.򀗒-.YrIw3v_ۺk<LiCHP\xr9.8Y4Ybm&v9p^.`<c[8p"9 + @\guV&8Nv~՟22,cMmAҸCTv[eT:Xܙlˊi\I>>0\n̩=J8.K "6{\m}VP'; `rk5uŐ3'A"SˡCߵBγHL4І<~ܞ]gZηoߞX@=qߘq&??0ߩuN<)JM۸sIhǤ7|YcP^;V|7`+~r K5J,;W%s8ې(;_Ӷ믿>{N%43nWg9sO~rrw&?c?6ߟg'|;oow8;e ({WЬcWR:w\VNAYe]FJT B+mbpdk<.Բ6Yy0>Y\| n x|fp KA;}M)piǕ= =H& 9&d7pC-?r_ο=Oc(B:Ssp ?9 8?3Џ=:<']zW=|ށ^nזp6Ӌ@W` X7Jˇ,^`ꪫgSNܯzE 6˶-ffk=8pSnoY]l"Ԗ[&PɬckYuŎ 軎Y?XsH`^l^5SsiBöb<C@q<ϟN8B݄h3q ӕ!⋛gsAhD?՘~ɭ9cf Tc%Uyx~ Ү =ts37h!+!na_ 2SP_őUZNmqewtjO򮋲v7?>/ŏ+y#ωtZ[9W}E/ZO;d޽ɉ'p>wwoj>eZc[Sd-Cz3V|/n+n?pReR]Ix]}l,c e.3HrK N%sl+D /-?Hc:p~_fm#ޜri_f<+fÇm9-EhAŻ4́Up~o-ʼnv.`mp_\ 4M'Cky^FncVm޺r+0<2snZ){Y*&<0\K iY//^:>mj} KW]Y˕K{2#O{ZjMpN7sRTܤjx)ط[?okz|W |qp)`a TY&ܹ&p´\GdicU(\+-F\8Z5FxFdҤp6cKؕ^7gpERgorkU'L{B)X4ǽS]}9gPvnX9k-DtU [+@QJɽ=>}xV?/V% mF ̀ nA[Vt[-m&uY`=Zc?TB ݨffJks K:3 s.K:3wH$h=3||> 9 #WvRjrk߹sgbw@|޿^5=DZ)w\Ww򰒛&$.zX­9tocŁڭԞVterWrMnEϊxhEge7}ꊗiüJER\Ҟ,WoĚeP.wzЬ`<:KxMMI/޶0f;.>P<-M?:W`dYgo1H׺}*? PL,08p Kp@3mY1 6VL6qkrfGbm̸byVsv^S^6"\ pl<7s_Һh/y=i zY.K9@|饗fٻȸ7{@VY׭[@^p/ :.4h阬=>B9piqje7/,ٜ jEg?oiPY_Z?4_gԹWǓ/۱D.ߖZ޷%'d95!2n5\S؝ZM]EܛlܛL +UB֊ݤ-C 5e/K&weZ?e7oC¶jA 3}m-qL¼1.\hqCVr<' fgn1NfIlv< Ma*Xeɿ+2/z/hmyl9Ղr&oK=g`#lg̾c;qfAv& of|)uܩm92jjg!澸ـ_+^nZ˕< p]d5Òj%.˖RtqvA.JG"?Y)Yڙ;Oͱ%,i6k9'F\H&R}6l 6_ /1s}]M8'ȭ}2;b#莱M<8? oߞN}w_4J֤62'.Y=kP@ Jϗ{o9W-;uwngV^*`q[͖+KXwZZ 9 ]Y28qb)dHͤ_c1_;./#J hF4wg|Xpa{vݷ3}'?W@V6m%Svj *PU"l ̍vl25@\^8 QyZܕ\.Հ<.yvcVu4x T Mkp_dg 6,;S7w>ߊYUOH_6#˭/k x. W0sL2cu-yY {z8#ϵ\Vm &ddIsH"dpx0"oyͲo@ܻ_p8Pieʕ776k;ebf]drO`e< HL6׺& -EjM@ζE}YQii6\^3/dp6J)hVq[ON7Z =r\Kg2W%}*cw?·c>Fvt =Ot8]ٟ7ne2avbU2r9m٦n Sc5zMg] ]WVr#xs wve_WFu@]I=<Vi;bmRA ;5IZ؇>S|ù@7p|cf^){QkHIơzQ:)*nQrI*2&[@OeMlYɁ.[˺<~׿cZg]J6&kqdyƺ^yZQ:-\p=M^ k@u]7Ϩ%]ʚs@g)}x8 }iN7}ѭYD &@L5ro̲nnA%q;/\p JRgJ ~a-kmn-ź6tk!, NMV[1}d"E M%}XȂ-s%דۺ?9%P\ԱikrqMSaρ\s.rw1oݚ $z '[{T?W&S:ێIW:5to0X<@dYoc9a*ݺɹlnkiWoA΋6/ ҡ` Cuq3_k' <p@V̸\qǺnUy+3 XОp>.0sj! :+ٕ6t]{{&@uLн}s;1jmu ( \P.:2\rW/Pm3{VY8U en}t( 5=Y6cBr6Ɔk̉5ڵ㒮8t3㡡(Wz?59.H ;v$ S{#']@zDqk޾ͻ<lI3~-,|0+&!WaVeZ"K$nu]W1T6*_Lś+Hfst#9D8?s`]SX@ϽÇ!i>8 }ڇNvܙ첀{!E{&@ېn=&O~ny8;ėOf 뮄oΎ{-g{\muxv{4[U\e=2>uy\$֝]9.wtşb˻oq 8;9kt)df|6R?hW!]d_͖[s@_BQ-fF/L`,M0<<5dqyVrX7pCj=Zr55(A&܁ d+ Hu\߹LJ.ǘ❡dq1K._qW]8?3 W28l9O߬1~58'+jtq_>=&Wr7Dm0 FaB8` vY1*toƚMeV=njo({:_gW,XU\yTfOرs)\ `nǑkŽI}M*ɦrnF:;9kt 38?dٟ S/Hr^ۄLj/6y҄]kQYcb!k76C9<2-’]8C{~ɭG49T:Thg]NoJ#8ZtwoV  (,Yp csmhٶyq1Nn@2m\@.qJ״= ɝ]Dcz3; I/n,(?OZ8"cEUh݂<޼,Xe@ >1`e7g= ݭ}W^ ۻ;¤ l3`INa22=oSr^ ؒjX])i " *eƽMY28Z-N"AŢ[7dCy"+kO7,6] @!Mu :@? TYu΁t~ʟ @ې?i R4Ѓ+UL8a->e-ހ.K2:K]6 dq L\8-Lu]I; αt% 9_d]/W|%E}Q_mX˸Ozh ckǵutp/}kGMnݚlwurwa+ЦmBzE>5%j-{T@n݂[0re }g mkfyU,.-KXAN @]<{jQ sY+ u&kgP˽`^ea O)%-92xj/XP! 8Hm8mANetKo뫀!؄o\qU ᖅ$܍g)ι(\ݚ b ^dp܏\)`Z 7TNr`qTk@Z& oBz*`!\qakN˪)5]vY7rF"\41Ā⥗^;`U5uz-\'-JX+:i`]"gm k>ˍxtA^YTМ_6|XùC^q 縶[\v|8oWUtwo%ZuPZH=[;(wvAseY/kC-۬vl M` (WHV7̳92 wL[nF96uyXr8'x90ÚZp~9d`n-xV*B7$m9S,]XNIu- }m7pu:?ۼBo3c1c%N n08GX\|7I~o1!;ƍ-9t={OMc;Є&}5yU9Gs | oFWu!ۣV :_==JIdc%H N^rqGn\/Y6.ZD9|BW뮻.s+ , Cu{J$qyM8]qڕݺ+{"T8u8/f9p>wdo+зtXȋro +jSkK;>f.p: *We` 6Y,˶qj.Vl WM Nv WW.w[Z K}]d/*g.*pWy~|s${)vrmw˹\k@diσtwo_I]U&ۺzdufueEWV0&\MM̬wNC9-kg1/;zU&trS.a)oml}Nq?,*mEen)Lo8ˁǭj4sş;[ t@{{'MǭHqFxa:X7 GM=3d75˸;w۱aЖ1.O$K<oP~3+ |I]^s>).5˯W ;xqmˎGϏc:,SK-粠;fOs@{zuk0 V趮n p EV0N;u7 NVt .t/ly8X^"1BB{luyMp=諄R+=]IX~dGȳeA "HlppZ[S_hx$pZr>s+Н@zj˒ƱV=uwJG2I7NhJ ˭\.-˺]2Z]y^JYl28 6 Q5? Zy*ocqc?p|qH 8Xk:Òh,?TYٍ|[ wNmb8>ȹIJǭG7W/,ûo /˺0G?OL[XSb[!X䵘#W輟y=a7ӼnMFy(/\lQ6v\`۲khxs~Wb> v|5?+] ,09Ϭ.>X]Z3N]/N-X=p ??J_~c /f3dzn XHǢ[mlq :UZ_o֑.8f\vv~/*ǹXde ZmNEmrSl28$n]ى'W28@ZɁthu>.)MiK<-Ɏ#9L.ޖ[.n3ހg\XW{vnvO(!$^ἭwI+ +PT5RfQ $gZЁ<@3yVe2!.6ujN [x^6Yydbs|hl+új+?r-pmS6撻7-8dz5oYfѮJ6/|vPɪsoy%0-곿?\vt]p87p\\݂>9!K&Yuk Z=۲:=H&wkսeWmuY\Mu΁荤oIJ,i|B6 ν3+{"M,7Thvǂ;{?]WpFtNp'(̳:]. xs~ ·&2.bem8& ljkUWp1K8cql#=/sm)/Ob-pJMVsbv{R3|YT/tPp{_  ')hZ em d|3R|XΩNmecqgaBېpἫAks_s5 {yBտA{ \W@гp9t^Q0v,L\owbg ѥ&DR|eϱcbӖ+,%qc\HGvvx`9;[CzjS2pM1velw8_Ǐ+ Q"sGXj ˖9 K\\.BL^72uԻP_ Ә].*k,N`lYyITB 9}r^ .xyȍs):eY8K\Vt{]W` bm=wTK(cQmr%S"wki CQ WMpY Cm _N"͇0PWbup8w8_RΝ;vޞZ7no+ rs'~շ* *ژq['̒ƴ E]V9䍹|W])'J-8I'}+{Y52%+ 5!hN\]\WC6]h:>q ^Y\LTJǿn㬇=Vs`> |٭,z{k%ϳdƈpƶ+o1{0~|ٙ0ΧЗpn+cݭ}K>.#=6&~coWs):.ڵ+KgwvGn+ @a&Й emjЊO~7'kIn4Z$,/x-&yvEP,xZ@̛WˏOsu) n{+PKx=&dB:`-c/J'o3IbBS8ǵ]r>7no+  ȵSNJ6lBAض!rbDDkX˒q{ HHG({^}Nh={%ia@&jJpOJ3+ o&g>a_žٜ3>`p ýέk;'|rJ轙e+ +}5ScaYs8tYjƝLx{ޓ4#o@]*v}ܵR>\ @w}g?ο9'ya^ 粢;7~+ CS@n EJBMZɕ0s!+; VVvM 7bl@+L袋2k9,L|(3pxp8ޘxƣ8?vNV+ +0$Xʬyn6V[l8?, -d[:< w|_zr\bׇe 8s\UP~8}}nֵ}<YqLDo+ +06]ZURM,]&sr-pՁW28]U= 6ۻ:W?y gS \K}rKаn3OVp\S:x㍙U[.&+KG஻!Hm󽻷ϔSKP:M޻{gus@ /})rZsN$o+ V@z篇a;A4_@u]s>:CwbΉE\& Kuo~B3bY|U9UHr)6{IT~ \qЀmMWR `W,Ζfm؆:* ]ֲ.dp5|fϳBPSuf[9疸go$9|ft-s R0~3/yry. y |7|&E;=轥p-?;;7i+ ZXKBz(xr-)+9sMVr7LƗ•P9Ki3 岂++ \sc {޳Wymx,[gݫC8,,lX]|э˃sc1/|a򲗾4π7O8sr=~+ k,kYd hGP^:)\YdqGY9@-7w^Wb9U^kq ڼ%ϕVrA5b@,ޝZs5yΧg_җSO=59묳I^aW콞}޽g9?s^ ڧ1I+ cr^))m&+tZZܛ%L&S|9_h{^-t tg?88]+%󅅱M6 ވk/[`p8QPf9veoл˥]? -磘wHWp\W` @lA\ـadqc&_8&WY5k9OdsOj_uU z^uW(9hZgax+ syAYD7*[{mB0-&(w8{?p\WpJ `Y2W7sz.ue le8_oduš+ᜒd+sShKyAV[Ώ}5kr~,QZM.+Z|8kYb$nc빍5yx_cy&Vnu\e(&{#WUR.+jTNQw}2߬Zl%k:sY\^ŚkR7Wp\i)TOޛ@>t b;YsҹX{g.@Ym6@]5XU cts\& Εe}SB5zS wLŤpmYSTl5ppó}(n M1Û\"Wp,E5~o_ 0'\k1e% >&hӵ7 \mYXD{v,c*0L8zV<8fׇ5u֋,yN,sA|۶mYs>vڵ;l]WH@6^zobYv˛ՍV 8񻒶%c-#;!sLݬ`;~lsS-Sychkf|ΝѣG[&[vs mO+ VQvniu^T\b˒߸ gsbŁi 貢k8dpXʱ$[|Rާ=y7jlUyjp;+n xuYe5R]W[Men!ov%#uDú;={̟UXsYѭUߓjW C *#I.ww7{;煯oC{0wX|s38Wlc~^Wp\W` r9t[+6P-(W\^XWv m{"7wÚ n[$> \ o|gPǓ/}i|GGrnڏ'󮻓OqWrͷ$C͟5y^*S%k&[{W+ 0~WdÇgݶn{YΎֱsPI6@ƕRNzٚEeܼT|Rc`Gϕ/&;{~w&dZp>g|NJWpϞ,nZ㌻bmv[`t~Yt[\k4'\uUO9qej: @8\&ݖdN nZrq8y&i{l֌K1ukjο+/}i1㚌ZWpƤWau71 #Gd'Z_~yn2yJ&+{Mx.nEʊ.7w<>֏Y1} Ωs9!,9 $d*Nuxp\W (1>޹!tb̼5]"r̙Ε+;qNWv9xr/=@vfɻ+{j~^ 8w OJߟ(C|ʳ 4vƩ\kiszq*pc e貦[P\=O :ro8VO]󩏰K 'tbkϩ]g]Qpn]N+ pxIe\ױ;Vhʠrj:r{cϕM}FsYc=o2xɾ};v$;ww%L+ +0T\m\ϭE\͹4Ӭsm28%;qꪓɝ7W` 8}T`p=-O?}o@g9r]Wpy\zf}I6`nĀΔIGă1u^S@k1[=\#JCsr[avz]WVYWla z}gZh7z&|uSy6cAo* `3#뜯rj]Wpp(Hs@ow^H[eE덇@lob$c!-y.rkIr96%'`綫_5'NG<|w>K e9w8D+0l0ws_nDq1Jv S)dp&=mi4k/w >:Ye-?p]~9UjW` 8~ U`p4<֞%Kii59o+ kusWyfo'ʞypw{2n -Dn?ロ:ܭ}Uʟ + YV;+ScWt́jʩ]nXmi"vN[,-$iy[a[ n9uq:reW9%ϸ䴕<^eް]tѼMG|s*|f1/p?{IzS89gǃV0)rӨd,<۳_{M`;WQqWp\Q+ K-N.ejeQϳ.K#>9bULn2s_ 渷8Ǭ67n\3sN)6v$k7sPr0_Jy{yny 3 fP_r҂IRMTǺWs{3Kyw^ yۧw\W}ʀE]`nY(Ybt &^܇m,!37d"UvOFwݱڕ]\oay]& ,\KOuۺcJ1SޟPy+ypboųIZyBmZ)G$Z,0:w粞WfkWb8+ +0k6`V.⸖ xȍ]〸\y:o\ Z$6sMgdzc.z+S`up.W,M<dkϑx!{px־mYΫY־yλswk_կv\WpT%^ J \YֱXkw*o ܋qq~byWqKYaE!`|~ \>g?k S<UgBsk1A XsnshSe•[خخNWb#,y%5MyAPv\u2jre+ +`U%v\l@eU/ّ˺E h TMp ʝI^ck߮Cy3j|B2 4)imyrIkb升ίd΁’dlY8/R]ϛ~YF*r$gJ˹9'hùta'+ P ʔj N?]{,{M۱ncLnъ=ٱ ε/VR8A)\C?xcx]rN_{\ip7tWp\)pg.ݩ57{jMN3-R\զ$pXN[v\dfW]Ǖݖ<\ƿyʍo+Lfչ<#4}yڳ^xy?X?p\W`־TgpB.ˊ.NJMq2[0ٓ2S52O6y +,V58)[;m IuFyC_j9% S~?a s<t7rp\W` _Y4S†e\`e][\I׬KvŜ ɄnKs0ׂbeNrkOux\p8JY:(0t8'/}i p +POSrVt\.5b.8lJ:`$qSr_'f>n˜q`k\ v2k+ LBI wbE 8?Hr{3I/yp\W@6ME@Jg$:7벚뵞;)8\Y`|ZZmMq_+;5_1Е&Y+0 '1މ)0&8thc]WpK=ٯ `oS@.Docs{ l.︳;<)p>!4m@^릌΁t󵞶yWp\M ۀ6C"Šu,& {O2ےg_uq7l|J߂s^sŁq&jGO[y8eiysŝOd֭G]ӗevO>Rwuݭ7q\WX uG.NوOπ^ =9޸ddqQW4MuYбyş+s@-YٹtSx^_pےS<%[Ԧeup H&d± [\rJe~|yЫ5w%7ɶʋJwK+OamFvS~%S/.nqR;fl .z۩oܳxvފ>n)z~qj܋>UiV'v\U@`-"gǔ(gh[x^K%;H5MI۹.[ԩw ;eØ928@tKk.hx[v>2y!`~\WQovά]|>ֶ͙d[ECk}j~γ )-7`F,^>{1‡Lxϡ0y>(;u.k^*tѽԳ88Wp\Y؁Dp_wj fl=UZLdSokS4%ga7er\iU*.8B.\x+=_};@wyZV];H5U,s~ ϯ:U}Q[߃0^ 5@7K|E^ vqaox , 1}s)0d8߶m[rf0.0??/Ay:j,͙yٽ`uc̔ެ=>Ͷ$ fms#0 ujS.鮀+ jZ?|8n$M{re&s;pZ~Y Fܵq?gW6u~oco} r[.M.CT.My 8s=\8UA͐k|)s9ƥU^epA1+ySf91r߸ʧ\ϫʹBjcW!I'8p 9/q<t? ?sATn ~{{ٔyMƮnn>`AVKmjw\Wc|jS0JםԈ7?qMU28u[jN]s mBb.08nkkC ;鏒Ж>+Ofq~׉;Hk"YsAdc_aL.Q QJ?s󕾗xO>=OK0?W(O-Uj `Zb0I6o*טpMNݩZzgB@k| 7jwp\ SZe(O_{-&walq1t90[n;]ݱ.܋(ssx,k*-1,Q^zU:@z1p^Y¹*rD]ƯZbkv!]k! )O?}nN%眗qCge#^ ^j[95|1lv^ j_^"=Ἥ@' @ 3+:&9m WFw&Yvhͱn]Ny3'0W6wY,a9sͅ6uZɽ>755M~>K[AWuMt]w{RaJ Ԧ_ubWs n,Td_{?tCpBI>gg Ώ;~l&o LV|W7~,9*ֲ y?cOq\f (3{Ž=rY W} WGq%O^.x;V6]?,[wvN -@9vŜ+pn.0g"9g· >7Gh]1JmM9.UǛ]Oӎ9m_$Tu*[y/^u~R Ο_r)0uyr 30ު"6; MΫAb}\WBBX$_JS*-=N8 _vf92.k9VlZV~ :VEY9: ̵hl]hYx,tV}W{Nݘ{df*Sw=sv~8(8ߜM}!YX-s^]y1u¥Opw>;?d8R8f%gZ>7yn 73kLJk@jS5*T~x7Ἇ!g@ Ȋ-Ru:l^ ܶ-Ǣ-vv`]뻒n-\/x]y@{Y"Jqܬ:v3Z.|~7ḭYЛ<51pHpy#)܂w,.Lw,|2bYᫎ1 NGIn=zo60oYjcG{em̊lŮz㍯I^;b_+Jouf]P/X#rg@ |y`.wa\LeR6lⷻknloq͖HuO9?{mj{U}:{gZۛ[Tolg(rU:^_V=q+renCg-)0d8:nr7L%P_Ina#<sB=3> NMIBi%ԬXpb9븠oe Xt7|U˦t|xNygx7,|{f^d~㜸0:6Dž}sM&DG$9e)WMHn;d8߶ 8OrK_4/O3\8g;^Y@u~o}%ߪJeTAkJc>Zp\ (*vf2\*i&˺w] ugXx)K=z%YW0˻+{ UF,3z@*cMdV}^-*9P]} kW1:?M?|y {Ð7o<1Xy6>Y}(-NW?Vs}( >z-fT-pD\Xrp[?pUK0)oA-7f6C62jÿgqZ-|aB0 ,圫mT|8Ykx~7q]ظ;Hm@6Ƹ7T/wK#Y;&cgR`j>r)ɖ=6g:^wpD|*@[ bmyyjVs!kr5Ec (xnv }[.څqXʱˊ*fVo@WwN 理1Xͭg7B9rX>gƳ{ό=vր}aMo 3ݒ? N}ºz,\_u<z.汶_mt8o$*/焓r4e[f o>Xx3oySnò/3O=)CS/8_Ӷ?i+ a<,T,}o좀7&A.:} KYOIn'Hƃ29-vo|9 bϙAl ^}݌l}3+7 ^`s@<߶K]ʼngwW 79z 0anfiz`Z ?bI2R쫺hp$65UUm㮀+ @S_̎92pﲤfw|{OyL ujvUM^sٴ@s2J ݣ@U};.[ge*#~ 28O/9e6O!oݲZs/y૎͓P-W8so0yNp8Э}6r񫚅#2:#T֝tl%5YYs3[e5[k71yL{K]W`=p~'&˹bWMn)FyMcԼ $> ΙKy g_ep^t۩.ss> 7#mepdSl@~ᵪlU#8XpEܸ.ϊ>~R 8g3EP},&Ld-7+Exjܧ(@}Hgb\3]WXNkWs,l9Vj[7|5zA܉Y7W`Q- 9gL#gog- Ar})U 盓Ḙ7gK_H4Ͳ̿Woᔘ: [o;w8L+ z*`-@2S[x]6&Oo,*WbpQB՛vn[zyڪc獅70Y\~MdyqU[cYERj4Zo߰'_ +0 d9*,Xe 书Ms '@+S&p:U 7w\W^ŕ_wusqa`O@jozuݏ?_] 8;w;+ +DjG\c~ӛޔyt-&Siy ty'ypniXW=~o-Q YHUciچ,KAB{V WpJbjqʈnrqÕƛq+Ю%ʾۈ$ .&M㋃rg lp8Oq p8έ;l^6+sQѳUǛU˴ \=끟 @7 `g''??CsY0#l⏐- هj;mg_BQgY2e=Y2) 4)%'"%.X3Z! H̊B1X#s4_;FzBr~@·B(ȲRA94HPatju,q1 F @J}d 'w~d&]܉1kMC7E"笀p P:ae=`9*@97 C ^m9 \=$,8Tf(}h:x?^2Ch7@@\qm&~tszl:Ou"_җ|+oh6nD -H G Vew`ouSD]p|Ϸʼ/<IDATH\7l~fOy rM -JwǞU%T®׮z9Mt}0ӍTQz%玥\[ӿFn[XkEA,Cj+~-|~Ƃz¢,|ks7fA$"j{Tzf*m+L@7&MrMĩ.A.eG>M5I7iROssr>nZ7.9q{i*LeGMqm_Oqb>2r.K ),9\K2o/ [dH Sy J1rP*C6Tf(*=`ɹB6; hwt">8>%Ǜ"׉:=G>\u7)[[˵tՋ?ss3Eγ{3mqިB~ɻC1N|~`˚nJű[D=a@(?FK|}zlO+oAIL[pO%@"%A7ZBe&f*3_{ hFۺӭ-dA7 ή#Y>rدG&+,\)[wZ~:57'j W! _7 ;/~9'IIR!KK}\y(HI9i/08 9qUL M91H=xl7bwP6^CyG 71Q.@ u\nkrHk6SѣG7M/<KvI#?>A0+@\Xo|ݫmXc}t}VRxI=st\PU! Ǎ<r90ct؏הSTT&%7dpjW(4}o@xБot5衇wrMҵ[5'2M$n̙3\щ|S"˸=: ;vmIשl" `O YN,3H&aw<[VSO}ba թ5W̍_,ђsn!n_9hw(sߞrWfK9o,#@ ޮV#K9qMݽ&Y~r"DoVtJt4AkWvZsy\I5ty(rĜsN0leq-G*탊8B$v6Yv tى{JNN{)(=::aQz߹:GD)ļZ&9IW1,7n7X\6 |>`N\s‡k=R/K RK1uK/}Gcn7{cO?yy' g׬Y#Ƽ$',YM&z ) Qe_}4T8tиHSxE0xدRW$5 2@*8I:N6+SclS p 3&q!9+)#@݌NɊ]ͳuM̀p>s\ G北iQ漀t|>&!|wN·(e ̝E!GW,[ƮIs;n9 =L?9ye*8J$zuDH~q:AjW{)6ηS(? 0L+:ZqI:YE/|A[e;9_|^N<2(kۉؗW\: ee@@9;ʤ;ǾI={꬞3ޙppŁ(P~;q@ ݵku">FitM`p՝胘C3@rN;{h>E*WssirO-GA|\bk;=LܪwvZ,(=^({-, |$d;1msӘ>1P~;q@ iE7‘^r"D) ]hDdZJNs},? _ #~GX;ވ.ࡹ`Msj:Z>89[{ysQ^«s{߸,'N-Jk.x6# fԷ;m_d PJP{MN84M͠o ޼fr 2Ё@(o9\yVs*#zOMsj:Z>8s>"yFtɹ;>ciwU_2Wg 7..KУ)ydHE70;P=Dʭ]Mt"ڪNVtDj5^N48[>zK9?ӵ 1Br9jcQ#qpki榱9J-r cZ'Tq s-W=Pg?v\60-f9*3ݵq#@<:^$N3ݳ57#3]F NهB 4-9w Ou:3 sCTua]˻@λb9WrCQAC{{˴i2C{(DH:YΉ$q-V,N'!ï2 %%]ۃsz #X[_㔛ͳY+# O̒fJOM >P~پAMWr^ Q>4{K[ؚ5kyNg2(*rY3վ 7:=="AgY\<ЗlSSt.Tf(?R  hZ= #y &`ssAD'dZoʔd*_X5y e/ ?m r^ Q>4{ȹ}>\GG{Ҩ^iY+»'ʻ@GǯVSlkA=(_|Sm/WN쀜 @ Z䜷#3tY\Nks%8saזpE-K ߓL5&yc󌨚!S; CΕ  6$־zjv]wwDvK,am@1xz |Hrl54xH--m!@ţKmn YorF/qO(Ҋ4ne'CGΟ{y3t\3졇Oe׾Wƾw}s>~=OySkȓ<ęs䯿zvםwUV_Ԥ[{skdZ-* \~40(( !0:r.G$Zrq`n  2e\rb^7\P'9хyr"]wkE+W7D( @% B.N9%]rO^\+Xtΐs")v OW_nvb PET @`h9Hn+8\"GyP9:nܵ{?r.֞sCsn-]}Uٲe@λh@ @ 9h塀oe\>hpynܱWouJD΅q\ȉ_x2 q'\3㜜/]伛V @ ёs# FDf9}ٮ5=ty(b9߮ԃrK':A~աC'{aǎc\|1 o@ 1##4ں gq<2@q^ʯ]7y(#ȸ"0<%b;,{Gŋs~ꫥ;}؞ݻQb󪺁@ @)FIKU7"vr~'? )jvϞ=-Zsa5{8v扜_t,-T#d^\h휜_r%sIE@ چy$m&tD9D9޳g7dS_pc97ȹ>JmRqRH @`|9oNαɉI6wEuBU h39KQ~T]EuJ;wΰ_`Csa9߿OlLsΉ?0=p R}4@ ;g~yyyߞgsUC瘇< Dw_ď(;wi.S;B䜻9 6H:@t:E/b0d˻'hvOz"fXp,H+'<|ZrrnM$?_Qyi>9hi59GQǜiKι!9n>-G @t:4F3KYN2gd{b͋syVx'Kg;A+7Ƌs>%g1?DaݕKݻDc t:@t`0-9nI|~dm)Dٿm.c^_nH->˹ǴTB䜻+˹vm' z֭,'眘ЅKw<'ײ`1~@8qD=h~^.t:O#y7m9w->mP~UHʅ=\@h,yM{C"fr~1sN;we@< &5Nԏrf /$4m m` ,ՁgGٟٟ??͌߃C[=dh4GSĊlXvc?L.DC9N}\rb(6sHt9qn"<=|"F䜬s<(T;>R:p=}CggΜa{/&c٠} :^%&K]-oz`.DCMX}{kB\kfrsxNH#+:,X&)rN[;Çyf2>1}z@F#zu{xϹt:/~r"umKAct9h1W$9IP`:ZLe_\Q7%YwP~L0R/mxhw(06+%9ux9Yͯ&vaf?! |F:Ձ/| cנ:F$ 7"0kaf"N /dY~JvWqrXwt:@Z@|ժU;d^{J)I@ 9'N\AWta99ۡt:@Z DK/rI_}5yn9 t:@:P-rRVj9?- ܷ/bߚ *!lcd>C9D{1O{=Vlǽ /~ia9jtk9s~ځ6@Ϋ)@>Hn#d?w ](CŞsߜ<|@ c@8AeoD42̻bIQj=hX7qu]97+v\ ` cԵ; I![s7;ĭ#O6'煛,#ty(r>LkyWի]wŮL"rd:Jm8J-9Av~XkPLǁ`nJE1'v"s>va1(x /N O]kqȹ"yT~ly +$l_?ghȟ91$HXN('cH ed?wmL:\D58[j{_/VPڿNן~iF[AI-yl7='#m~Ec,P~sߞr*ӂ[:BOi63cy/orNd~}&7_& O1#4sHH+y/'Cx r[ ˼7v%2 tXٱ!rn՜oۺkrq3}ynyaHrߥ-`' ,`Of;oi;m;r׼fn)6&I>x~OM܅"Z<qd|KḘ̯RUt3cFr[ecr̷4ރxXDMb7혚bљWv 7ez+nph9kO-ƣ幵|VjCB)ufeL7ob7mbf~ǚu!({_̆i14=VE/N|[|gLZ楱s5'lig>QDu};7xQg??d|8Fy}{H,eW>rc5W1w1t\ٚa!vr~]w%gG%G-vM7mܰmذ_|U|s V'sHn(vF(k# E`;Aԉ'E7rBr""['+ǒ+c77/a-O>5(O` YLBr6]57{21\S*x)*3f:5=^ͽY9Vp>>8*ux˼7/KXj˸PoMV 1[/uD/yh9EdEeoQj"frzjF믿>Ν;ǖ,Y&$9?-#a7UDGS9&9sL}|/?te&wWO\k ["VEDadz92/xCdU-;cߔq[zYFAKP~#0J::tkD`1ͷ܊wÊR.uK!n[[h)M-AuS"e::wY97C'd- tPQjG.6P*}4 `!|85r!dvʉ{LhU!Ҿg;Ϭgo_Cu 4z{%,Zo}3.qkݳ(t|C @MqHFwi{AλEК 0|…̙lfz̰IɎ=.䒱$_m:fAnBKe7{or|LphtV$_YYT^JR9k)EuzѰQ{'n?!b|bf.}a[ư/K헧Ezfc lRnEA0,!uhI7{rH3l]llϞ="lٲe#w7tA<һ$A/|mfAuIWk w.D~_UnɽеP~NylGe;L{#uP}mq/~B kI%=q!v#Vطr!=μC՗]pPdpdtϗov^2c;|S ޭej9m96:[Ɵ/ZΞ=8R:x~mlŊcI MۯG&2!3@{te{d1~(sB)?_*CT3ŵs~7t{f~6? k75 I,}lOqQjKrNdCUW]Ůj6;;r?p+n/E:Oml~ayxrx9<ۢאy27ﯱ̞Zc,C1]fӿM6f<7yu ܤz_L79 4d~|ժU;d]w]&%/^XC!kصV 9O/u[2Q$XfOjD=c'|=shn<6\ f+ULγLY&m[ +yl~<%+.;YN6s2zܜoD /dDya-7o"Fr^CGuXY?x9~2A:ӶAȗEO]E @(?敉K;iϐs 0(i @9mOuNrrnw"wq5kg9ً/}?;ȣ|C٢ÐrxXE!ɼ-WW=Rog=9/L;n><_D*raϷ\W{g+G<(m&hiK9ySmDhky‹/"#'gΞc}js_dvCÓ3a'^]:ܭ=t TdQOyv-O~|s(]=_>! `m&\U~&OHۻwN[{7'&uMPt::O]ǺKMV%ԩ-DCMX}{k#$}zuE_4a3;w*)jriw^x!t:@Ё.@, XC{C1 {{$9JDύTS93 L_WÇoe[ne۶mi;۾};۱c;}4[paJε߻>JۉS?#S߫Ihk2ݼ1^6q2ۦևtS|~eN E+"QDk˫zgE/ g? w"frWr-lƍl#M&6oN:.6As8p ٘ z?CRWEc9Ac!&Tnl4u;XZ6s+̃whh39߳o[_J'O3ByluY![{MQ3 ڎ˶KAc@9/=\ܸU$XdlPN=׽$7qM/>s>i;*:z9GD5y Vy9-P"R[`Yy>}ko e /0^KZȼ2ZAλ&Q _|l~~MOO45;}4[p!7x4.@K`4ᄻڋy{eS[pldm%h39_t);v۵k7Oth"IϜ9GO\1=x @?`쏬uK!ɼ-^@g򉄼zIW:+ Y&Drur,_|LU~@Qgvr[0eS!ٖw.Xb*/u|] b zC;4 9#(-(\1Ȳ7Fc@ȹMc=i#;."}HLrw\-rӎwm&Vk&Ν;ZΉꪫᕼW)|`HhO<_HwUqNADtp)G΋ }AY~%2q~'論yY*u{u+r &ϡ3]d*bYQ|]*B[.p!7mdM/10H6b"@AkV77#C( (I*ZQEd;DC9ҋ< $;P{rNQሜ\Yb@νDq(adsN |nuPɋgTLҮ}:9d0~Rߠ==vG,+,=0w)Y*xh[Z<bȹ(-1=~9խ`r>R^.3sTD`%*Fw(H}Z}sU7+[rGrڠN>dn;իk#H0DVB>? mIH}vܵBb%!)M2Ĥ+TASDl[\\DxrχEC[s MR:"⹖)F[™G[QOޖ:db?,YBT$0[dU״X~ءh0iK{MV$.oОP~R%|v>%3rgykͤĭ,&1?D^5+zOqm&d."K,a 9w9_S9Sо d#-LM]l]( IХTW@''Ӊuv'>Wfê(?1`"|cEA#[K< Jem{+C# Ҥ-#zKѽL iEm駙#>!wC<1f'^G!ΨZfe#T Q09FSEwfcqy|@85 ŭjPPtq ]wsY-r.]gK;E#Sui%9ם#&'DٙE:G$۳{Y yhI=Cm z^LX5;㟔'0P{̭o)AmI$?-iAΞ٬tVB\Զ(kxb>P/Ƃf>Fgp!KʴgO(>ϿeKnDxouS>u[i6ޟw.猴V\l%ACB|H@5@ K_`<{gؓO>|D&{gov]}`O?4{+ NU{ ڭ=h9?ˣگon;ڽ:8\h~r' Z{mvܵ#~فyٮv SU%TASJ%PRP+'wFlmh%mUVU.Z/l'RT.@*Ze3UȹsΞɠ\ln%'n'پ{g~416π@M& Q M_z儘Oo|)O  <˿q_6F?ϱΤG}4 wl9ZkbSEMr>//cyd޵wMhO rO|=ܒ{oq3:u:~${_=C_}ɟIxr~0_#wA眃WUTL<"/&q ɼk-9Dў. @ҫ&"vh!~wkzA@SQL<O 0^Gֺyd޵wM` 9&?|f /^|Q89Ήs9``i rco{ >E#_~2G,g⽄KC瘇P Dw5' ~nqjfPy- @  #犘[_'L82=GgCvN  #4Zu@ΣjˍMr~[U @  9vu"E|y:},?BʏVzqO UP3#;moiOˁk0^*U2j Yasn+U=#%yOYȐs}ꀤ?-m'wusԜȭ8UsAW!Z{%aQ9<@x7?wŝ#,og=)Ija|3Ivy(H*r*^Pp\-rnkQgAS8L6O 0^Gֺyd޵w *D,о=ꦔ(vaƙ 91=rNs~H5@5yd7AFΕT P!orSn^SnrЗunk{ƭ,vk@ @ &@{9G $L~hOy(?F e#Z"T &dS&=(j~ιFa@ r:>?h/\7Z{(0\[zgE?rmNƑAC1kj'4IK$p0]{CBbQ/ug8,>P>'D92p2~^Vû\sؒ%KŋٳgKUbN{ggaDZ-}SطM@t ]h=y#n:G9*(EhI8<ss-P~jԻ(#aZ@G#&k֬aϟ/L}B>?ӷqۺމ  06`QVQȼ6(QЈ"9x- NG)t 9yu]ģ:vx~!_By[hU@. m4Mɦўs˭ģ\Q*CedjdB@D|$:&dgy[z @2 Z Ns g]qpo@ /@K^m? 9?pࠈخ8sַˣ@4&Pmwyڅ9c; 9߿?;pS+szU̷Z5 bQBI}DBĴg,Jo SלwQ6ew2`"{UG'zy{<#xݶdYVrVC}2?YO[uŝ=wX PUbЧD}j\=C{%sjcn:o4Lr)ƅ+}BA̛IrmvAIWm(C(w  Yn]KXI7r73Y _wWZu\ZлD3Í/:"R'sH,/n.3zV8xcD ]=&e'YMK1w˖?`zU5|uݠ$/W8>HUu&r/]! !YspCH.~%1saΓYt1o.ֶrSXoEb'nyJU,?wl'hskcrn9vq]D!3w/dY@΋ڜ#bEZ|:8xۗW*c*?Y:#IX_̽Q婢wFԻ=CH|ix=GPǚYk2朣kN=ͻNzf;&=g|۩:< 9FSn3pz G܋^2;Ǎkyb9|zzFunw~Z9j((CA01 i:bWƚ۬=9.RXt)U.H$'P--*<FkmD8ұЂH ?s| o7-C8<7H,ݧ$|B89Aj㥘rnxd&V>%wJ<1e B@Q~V1Kb>FhU;G`ٳ0_l5c8;fx G/_>ionp>\{=Q`  ؙ3gb{ng;Ζ/_ΣB|y<*!1MӪRLγ˴ٻܘV&֬j6o%u,(Ȫ>cf\XT9o[ h~t+댘 |IwU53F!!]1n鏹l"7&S =̹*/u?22_7fDmk@y$vq$d=O,IrI}Eʕ+I΋3~7AP1\Do YM"L;"LRu%Q7絩+Y+B'/Q;yXqrȂ^r3{'q tq3?xU ;KPl8n4+9ػI2[wethZ[BU伙gUڂg@DU+Z|LhO6Nː{}CoZRr^qғYpc%-ɦ\(PmN)Mv= ̈́jRJK҅ʾv&k.N'kBWD2ːsnHgL+wd໪ PWlgeRyO)\Sh3ieø*/'?vѬr,Scg|(S/  9/# lC%/fgϞ$)ꪫW_z,ՕOvf'9:GD Z,I%^7F|{#pUrRW68QveyQ6 u=Z^H lU ϖoܯEP@n  0d:CbnkE xٛ]n 9KkVɦv4IqBĴ-#a(gϋ֩5iF@6-ݭhAߊl'n&%@2m ս8?s- "rujcH?CjIES)}:Lpv:d%*v< *\vqF>ڸѮLuYv(;;ˮZ܏ǀq zވ:i(d?w ]=!=`ܚrN{ɭDε[;,UI ~ɛZ O]lqD`<'d8)QIfL9nDY@8=ģQ Gee2̻&ȹ"V|P1:2jF(W&LHuK}r$7#t&,j@ !9#pDqG=@)u$h(?^Ni`и`%ǃޒ;;AϜ98tmtkoP @ 0#A'ĜC;߄ܷܼf+8ΐ={r]H5T@5ydwsɅGʏRgWYHrۥ]oWgݻi=pu7Z@ $M6?'ӭ+>^H=.ϭ]=糢WGMɡvisNFs~l遳O@ @WhgT4ý[{ݗގsqUy&H4۵k n}ncVXq]" }>@o 0j|n*(yE\#\ʯQE £/ tW{}P =9_h#;̌޽[Ǐ+WJ{ܞq x9*G^|t Er^2(NSNm۶q]tI?v('+@+&c@9ζ;bΉ cO.\Ȉo޼mݺ5!Sl~~X伢bY8<@x;Ok1yDuN'O7M6-[$I-Ga˖-9lV ;0^N y'[Y@NJMɡ#9uֱ oVMl-[o|imoʁ @t&yw-k&d;d]wt9d6`v vWkײs+$fK7Fx@ 8!q:C/rv%ssy޾tzxY?m/2oP !:rMNLhKO)r~WXÇoKjskۇoIG3h "!  "MrM~;X8||rq^2B瘇򃒩NQBɵtoϸ_vsv{~:?|0%c04Aed[ O]kqȹ"ݓs,5klhS*Ssl")#!*/AB>;@=_.20wkሜ/qy>}k{#*"rlEWye`h, ,c(7Y "-\{|?ˤm>/xA^u'yEFX}ps "ӱj: \GNLx3@ &@{ɹ<X-4B1K\ Ȑs?-MɑsM͛Ytks^ a<@ Z@gQ~Y%>!tdU:ڑ}mL{CRoOV&oPE '*07dZѹнd%T;'3_Î=V^ rز8Jߵz?ٜC᳜B 7&.U\a(Z u(?lw2$lSgUnSE:ήk7$ZP n E>P2c=p714~!mjs(^Z &ϱ i+rvNEz,yTp݉lO6.,O6SܹS5kFO<}D5y'e#RƵ.!3aI-$HJWmD$j`rڄsXG5>}_ɎNdT<EFPٖ!@>KVr%IC!k קr]ɒiJ㽷Tng&Ͼr~JI^^8y9A ȹF{_ RIq6T;d+Ώ]GFBGe74vfYev1מz? ~gxi)rFwz݊'-Tb9kE`ȹvowr1Ѯcr=TP咅E.a˸ʍ'wmʪ2%ϴϝۼ "{9Vdg[])j$͵'|jGID@8Ms;cԚ ';sΡ|~ϋl\"o'5smwQP/_%*.7`?w/bq΄ XTשׂ|HWOLtXg.5|k*`SEYX_{1hxHʍcúV^`suK>m)Qxs t٠| ϖ{6ܨ[ &yߴ&$ȹGBnH$>By7?­N6׌l lE $ 3=~d'rӎ,-J` #n;C'nVOdm|o{:ӶN䗔'^>*s}H?u"4f@o*ʯox xrJ@V{ 9O}^uLiUvB&;}LzS? "˿[a9997O'LGW"8{Lh(PT$TdEγn-SIT#0|ѢE,7of[la+~ȭlʕ󾹰UxY}2_١^LSO=>q*x!v}_c_} /oؗ|_ ȹl8r ߜ Rnᖄ\Y㭞d?DC9]ثpO9N'O 67M6)>|X伢6bQ8<@x; b@`&97%pǐgEЉċ4MsQ㪖sߞrC{rpBF|ݺulK|2󊚈GECeDr?w'\d=[Of69$|("wN;Ѡΐ+]V$Ay2ʊfe =CeΛ O]kq;HcEhx Jtշ w6@''_ή $M7Ė.]Zyq @ @`8hn{,v4 lepP{r`~ vetyBү$od\r PT /@ ':E9Y1ֱc1=,"׮ 'ܤjq{Yj @g團K~$@o 0j|snU-B3\[͉[k /ޤOE[ӏ!ppn>Cy*@@!rr\?ۭo⾵d :Ox?CywsA >:EίJ W}ޮ}tLú-z Omѽr>b;]{t9d69_{ezwNǡL<0=EmCȼ2oXSgu- w:CΉoܰmܸmڴm޼>|-_=uP)8uЁQ d?z NP."0|ѢEԩS !߲e ۺu+۶m[ي+@+'(:Ux?݆'_[K//g}=3|}'2_}}/|^w_cf¹7>{ѿ#_~6yR%(NƁ_s5ޞkr َ;6??V\Y9 [۵.ڃ#t`x:rxXE!ɼ-WW=Lr/'fO>{'W@&ewgw;so:{v^r' n&}fY2ͽB瘇dr@C.ŋ4KIf333Z 伢L<Ruet2̻6irO~=^`r,{g3t)졇f>d|ĖsE'Ʉrk.S8|~{dIgCe 79 4d~Z>͉ ;wdGeW99:еڃtS:?݂'ƏQ1"^51GK`l +$WĢy6/i_Z}lQ Hq"k{NsIΧ+&;991N׀W$fx`1  7x?'qB%6Cܽ?|fnMV_|qȹjNHrc 6g.c_.=f雞r.|^1=#'}}f{(.{͚5R{͟r};n9-89];9 r]'Z:hB0^O ɼceƒD`tQsV+]Dv빷<#U$Tpsȹ"Q4OB? |۶)|[wr|1>(QL|-_r#D(?фINZI %]52fAt m~s/'FDdw(7ToWn;T׋]`?XGqgs&̩~A\b:$B&XDpm.Aj$:G O΋w$9/P=|ИZf{Ku,(9/"L Iӯ#sISwǵ=`5%ʅr?o KbXm.M&Wͳe&Xy O,&*v[N*OBXY`]||β2m*Hc}}x<}NWԧ2ˑOur^ާ'Q Rz7FŐs0U=FIFʎ1 |?o<[?ޝ !v4A$77 0ķpSF~9/d;ܵB륷;x/cVHW“2ioYosa@[$2.y[?7#/޲+Am~6/ \1.c+smuuklnMtܸ%ηFmI#d&K^/QŶ£1q*|wr>;;(yR[`1#r~Ӝϰ+ .Nwo>Ɩ.r>&4 ƙHz'I۾dk,sL0m6m6ݗq-I[ط`[Ӗ½'!*/Cbɹn;H2n!bʗ{'6ߑKst嗑_?2VTb9<e NNwWf7t]rI}会 o2s l<9,Xn΄ؕl @Yݜ /&ɿ,G`,`dv/9;,(dGQuŽ |I嗑]:(9BcI:cWC~2LKrNPD}:ehR/@xڞSЖ+`zG>f7D(+wCBcCA·ȸ* sM3ˈO'+v),fIo<9$"ld$}!ZQ ܋u 6,jU-癏^{ ՝4=:!:HU 7Yy[89 \69qKet̽jq+)?#z}p»vx<{0 %Qn鷧1鶶ZM$4 s=T^~ *Fyb:Q:sHۀ 9$_xQ|5;|az~=sWAK 䧓^:wB`Cεu& YtsV3zZ{v3!hf-޼\-JS ;2Ye"k'^[FWc0xdH}݉F=ƭV6b:7^"r~W3Jr~r߾K8I' 4'󜜯j'98>uJሞl+h6;IZcKB{SCXڭ&ĉ{"{{}V x:yPyF&%\3/Az}uD[E[BH;=r #/?JKDm@_1?Gϭՠ؁b=F`ȹ&rlfo}I߶>[k^䜩(H3}{< UNljwȂhssۜu= EN =QČcňL1.&x"CG%Bkd"6gs':,-\d'lڇnĖL;SW=`6u/\{]vQ悡%ۺusH옠OUo%| /T{`0sl 0vMrN.{ArI7mdo~&&H"aW/}<ᄉK rj`^ByǞAMrM 0rbg~Yd:Lky׸sMτ y oX o`oVDӟe W1c>I0^O!ɼkcZȹ"sdBYo?g gֳo;NMYYn(,{&֔}WҠo]uUjr_^ $IԧnfzRss/ @MZt 2̛?FUnȹ gΥ[= <QwAOW "p{l\ȹK r@X_+~$<9+AΫx`QUwto::O]׈~4Atq=1GYTg-I}D|g(?%. b,w|!`PS &@}R5k0:tȲ[y?}"f9ڠjiT#t: _@ww9wf{ƣ9wRi_]z/jI>s8B L<6A{Md?75~hv4{EV93p"z\| 0N$ 9EO7y#Bַni+{۶|V׬@n0Մ`BK7AFvb烫pϱF[u@93 *|5~`JF{ RK14pP@]4'& j yd޵.r7r a9_N8-eMt+f9Usr1K$p @p^ເq@ǁιM@FNΏ?.,:i zB,˧!i'OM7|uF[_I0Z_YT 0B0^2xmm% !0|!DʯHNs[v7cKրWTL<*ǀ/{'rCGy6t q!D5I'EO< [n[~7#ҥ Uͪ9 ˾I\g@Yz{WGrN. 9_p1#r~ ۰a۸q7۴ir1lyW@ @D`ګ#'@;hOk~Yd6ƍ3b7iO{v @ #9\. 9::hOM(9?u4'3a1(x /N O]kqȹ kr} =1i;d*_<Ade?k r^=6|޽­toO,/fO|]f;waveGgVr^U0@o`^AγoW kKț J\n?CΕ7?-B]!;91ʼnnNݻcǎիA+i@ 4MKGYVsn[K+\CETS7yM=kOy|'91(511 @ 24AFGUēg.+R.0Y~|sOG-(d'|\}rD|ff̀8 :Ί6ayd޵wέ=zm,'\|ܷܼf.4},8sӂqk'r[wqnn9ڏ}5c(Be- O]kq9k_^D&)(PYIgw4\Lp 9{m.jv'E 4jcMtxʀ~!Qm ZSyGprd]L Y"P>6ق{PC2 r>HgM>gM5düU98GQI?iNrRR'GmؘJաxU:vgepʱsH#yNCK)a)hǪUʎ~u:%/2B 9V[Hv8<> | y{Gq$ޞ9?uۺu+۾};?RmHD ʕ+;DdO䬤9$nգ`O.Ȕ suWIrk]$^bDܔY1n,i4_Z'!a{!G,'{s,v[g wkh+-+ǎޕ7eseNh0S  2s Vާ$@7\P~T9ƨԜ:<M{ν|l˖-o۶M#G+VFQKGMq69r^Hм C^!KٗEٮ{|xYe "={ ~dNyg{Q(\S@Pa Z@D`伵@b@ &P… |Ӧl-E&}r K(]$uVrE6,EսHfbTB8;{ ]ɹ_b11F1g }0r㦾B3Q"hz[R54H{9AǀAs*#ƞ/X9_n[~=^ܰa=喛%\BrcўUc%-!'O1Dh4;OYe]lr;BmW!!ʷ*="߻}ԝ]_f-5RY ƮEG65H\8A{W5|2Qwu8zGN܈X> V]y<(4, -6t_yZv:ֲu'o]|$`AIe,pX-'tmΩWM=) D9ff niU+6e rY 놥1V=Q'"1QD͔CH!r|yS(wF|Lڂj~n7 'NdW^y 悜sbKCX}eNjg{Q&rDIQʂx D:ȺPȹobp)K 4%vY^}V\":SU\,(9tѷ`x@{OHw27TIf`9 ZY1qz -G/ @h \BBqB>9Ԁp~ v $r^39|5km뺝7 ~H@w6y=gMZMLQ's-gy,ٚڧ ޡ9{@d]8|ᶓd{[VnM"gOP}>Ikp7M˶)9n&؛pj ]  -җEuEUMɡss |-.ѭ}q#-$1o;Kέp )ӆ8vUzF 6˵9o?]7-\rg_v΅rP$vyvBu Bղ3"+}ě.yn~ P[{=&}ݹ@{/.8Ōn:}뱯Ct^U&SĜEnЊqGn_c7GT{oi;9/D릝! )}k{#*"rlEWye`K9/g[v<;n⿄z rzK9?uTBȷn(m۶9r-_[Ec * 0^B Cd>T9k19GP~ ȀLkG$CIL[pO%ƞ/Z9'2}vc<_Zr%y%C@ ]F "0p~0C8 'GsHayzKuTSY೉ e߶5'ӧf333lΝ"=zZ6r>bF́@ @D`t\PU~2CuCӲ=!Q>)#Js;1A{hOMkgϲ%Kŋ rn]vݻwcǎիWW?U ;0^N-o:֞C\#+MyVs'Y-ɹQU˹oOyM$Wq豝 gΜrM#k%}|aQG ډvʥZAM@9G$η܇x[Gsn܏> %;J#)rNrJ&9_fMm}ҽ / yd޵wϱ|k er?o(p@ϟg}B`x($ @ mH+M&kZ$h7@ @hwOOТ!DlA[;d^3p]" 0`8ЮqnãPxhn}_ַ6P*}@el2̻bI!>zb18(~ r6[ O]k1y$tΐ;wZgx !J@`쇜A'.En*d @4AEzvrMFעz*Mɑs]ۏ?V^]xDzt @&hɹs7=;/k?nn3?k:9tr~i633ȵ=%ٱcj%}s[[{kQ(^"b'󮵸{n튘OαYoWE9?97iҝ:DMΥ)<,AcO-ZĈOMM%]t=VZUo⾵w]o@`x9ҫVwȼnx=t ":< iaN-|ͺg͇j$n$_XuZwWntuo߾OOO >??V\ r^Q0@w`d?w Yw!9wb@(?FxǕ>oZ3\. Lcڂ{*! r~)m6F}mlc6[|9y%`xT  ?@ !;#ܙ}nR{tvϹaoe-"HʩH{AYpȹ"QvoǞ/\9߼y3۲eH[na۶nez+[lYm||Ō @"@g/{O?FN[u`< tj g{|sOWWKߏ链>SO5 'O7M6$n޼>|-]|\@ 1D`ȹ ] H{`7 P~TZ}{kj~-ׇ~QLl59_` ׯg6l$}ĉ:<|-K.moP 0/Ao<|eIz$9q^H1=#@Ge7س>˾oY[7P-皜[VtM7lXnfN/9GxT ;0^N?wŝ#s,s꘏ZIֽhxJS=糢W󟏯<MΟ|IseHؐkײuqrmPV[r~q;y|S^Zn+DaM6e @!UMYP~Z̎W=:eڤWs#dh/cD<] [)8ykN=}j[IŒQnE(P@}@qlutK7j;\C:)f#~8g 5<)r*QF3X7.#h["93Ys0ty(ƜsN/6D+[Y_ $z6rnG|1O~$?$4st'7fud2f۲3oxp+)3"8uۯIR~]--iƺ6ϪV²-Sm‘!2Qܖsٶ"y|;L!re 7A݆eK?ss7b]G͵=%GI5:G>1zd^WLyƂʯ& =;m(^E@9ַch9O r^hT=7H[(_);7psAZ %"1'o͐6{h&|]E:dR'9d&Wz<ߵ$ȵ{yyy}6u,IN/ nKHeR%1ʷEuĈ3JkHǙa ja|u%44YV(#TO bOvZh|\"ҥ]swXr*&9g97As%c ۰Hy{ߟcΩk ,itɔk.Rb"-Bveb5趔ES9mK49zz,Bj^`,96^im[[\(Z5-"EYw¼pG:'k7 P>rNG}^z)Ԟ@e!r.#cRą͞edBD9sk[hϹ3P3B(?ݲ :s, w7 .CuA\œ\3m],.;ۖ2rEf_-|vK+y~ACevFy,fxr꾳 bJpf{rHAA -m3ynD(oH]t{k_~l떭l޽n][A,im{rN真:uJmI-l֭lOz+[lY jV9ǩhs{C, P DP]mUY%Y-)wT [$p_m byUGGΩOD=#;JMoh0t|sSDs#?|; 9e>: sqr)6愰e'eaZ1!:x^{7yL@_"d :rmK^zmKOƕ3xOD2oCƾƬQ>$jEZm.NdȋG`Xp9c(nѻ2oQ]Q C( &?w__cЇ1!3tgpMuyPs*$>rq,D[CZ.Ic655y+V%ȑdΞ{,-m 9@I,:%P~.) D%6+2\dɌb NCcBm[Hv!癅YbQ$orf$u-pz ?ƽܻqb {"j&N9y>K͆(u(whMEk&ĜnS4gdY΋Yrh"־[̉|jjMOONkRhbVvW^s@DjmgyMY)es++i1!rD9f1%~B:v!A-ێɹDm{{C#=W m."}Z!G(_cσTm}X\˞Z`ZnwG/f hBu\?O'śGC<C߁o Y\b(=C,rcyfvqo߾L:{,[d r~ia5߱ 333YΫkΚgۺn|7`^̓yQ΍Ym.N1=;e'| y9{ lߞcyOQZbe˳w][r %$˷OyN(yҋinz1#s%d5Qre}|6+Sr; vZ[zT{.z6ZyFPFVf9 :MVz:-ٺ7仴m+svٶGGkXvuqf=wϼԝRmq'fl[xXZ#r;':e7nhEfKW1l\/$}MWP*ch@ыQ3Q#`dtr>vlt `@Mbva;_V2L e!h:8yhsϜ撜dG[DG. ģhx^"b'$<󌰼ɮ0e}኶# <,OcmO kPjX枬_9*B&zy+ɹ '|NA A@}tNȼ2ZMrN{m D|ȹjԷ\(PqwCXεW׀?-,z#'VsNjr^I0C@?x9'$4rM͟Jئu(K߳ƶC${n"HʩH_|dGE5mhrnzTnbn5I@8ΞZwU[5@ pyH:]-9TUƽɳ@{*l媌BWW1/ڋ&ڛ6 fd51Vs*j@ 0z49#ept\_$s_7,,>&-%>-)#%N\' +@p ?< @xYByZlkL>!.r=' s|h==|v^-TX ]E@<]eHu8"wnrN 0@t:@&C<|~͝tzI8GkhxFk{zgE?_y9Hxk#UVll3#`@t?:9M+zdK9Vs~[FAOC瘇˲s+yzI],#+W D|񇬡t:N {琀t BFNhϹwNǎc |t:@AΡS)@}:5kְǏ}eٳgْ%KĢEӧ?|" XBt: !"Vؠ:POV"SS;s5I3 \N xAt::" ՁPDηoΦv`S܂N.3lb 9??\Cot:@9cpu 'K SNm۶1"v(N| A 0Axot:SBD伟z`trJ|˖-l֭l%"۶#Ge˖):"@t: uOV"6mb7ofD5Q[Aa5.``h9@t:yu]2R|ɓl lƍLtE>̖.]$gڥ 谐t`s1 \ ؾY4Esؖ;bnn!ՌJƌQ!"yxbd߆{¢-u J|l'9AD$ =|?R/'ȢY,ŷQFy{}TD2#\ _94F@ 9?ȣ;}3ҋ"kz(TPki$\yhD>#t:0|<{ŗ??_~f W—p hV f-3~//~}}E1 \ _94F@ 9SϞHNF5=mKODa9}ԯJ֓2k[sH!rVCȢyc+ re{A̛[ | "0Ɓ~Цd%rXŞ"8럀\s@?uyKB "v~Aa H a@0r81&֥Vr9Oon&Z{ % , ,e$ȱr'B.6B =G]DQ~w,9orUƤ{̰ɟ a=\Jl]![\sMs]s<^37&e""汓/>zX6Q-HH{HdYT΍s %U&..Eb@vAO<~~-oʎIDWZ&&&D֥vr~iNʷ Bc6cMMMy|bM=+J> OoWw>r;{[//{o)r~{VγScM yeُGIB1g|qvhUI\ŒKcwK}URj,Lb|/>d2&")glaْU7{G_>= ͣD z)q؏/1G?Kb<#ĜC?Cq-.sMܹ̉ڵKsZe:rs"/sB.K/};D̿=?q{}9/=Hp`~C{:쁇NSge< [C`ws-AeYME9<]soeQ^2xBMB1tȸ$룱5EvB)c##"픅[_XV#C~;Kr7Luߟ@޾6Eb尜ug}> _׳7 ?ɓ'"1c&>ӝ.sm-|رcR Dȹw]IbNԷ|9?fM"?-_g_}${Yv9-|?b|n`DD;0 r.Iؗ-`vYo*y.租>*O^rw8)ߗgj_פŜ<ObA硞=H$9 $k{!9wkb~vp aLmW3^+bؐ=ʂ&[)NQ /]{b^ο3 u~r]a@ulrzl?[:ųT6쮜l;=N@ 9Dʵ˺&~q bHl?(ȅu{{{(*{9k'N'.C$ŪCh;RrPo]}nRX=kO y|%csBO~Żk_Mǿ̉خ#حwܟX> ȹK:qmDΥErg/t~Ͻ~}.~:rA}.{g>{~n$dX3 *Amέ0 Z.˶G.ZKns CC<,Z(xᅉ@̼{ kBP.caC5FnQ mZzD`EYF,X۷/ ɒ%lBGk[Ώ sNҪ]]vqg9/ ߖ;U=ֳ޵u6Py_虨|7"!Woí}̿=v~C=d5u"/bt@rU׮UyomywʭӮkr˷r.~X?+kytm%|FEw BXMo*CbAޘtw~_6l`/]b r^79s4n#7vSzM%眇ȯI"ߓ1%!"#g|eA<;{OOyH~m}等O|#­݌~;D~C7uOA |TܴȀoϹys2n2KBFa9O{"ZU-hزk&E@fGILM}.#C=4iIwl6{n#Ϳݦ"qB~/ߺStlM%%!"r^/aSi/EY_,.>Yr>m9rYcFes"/r {@h%{ lϸ܆žnXK[m|s"nٕ_C쓷|AQO| GJMN=vk{uRs+/qUAAGF_fsf.y؞p=K- ɵl!2ZrNuD5>"_:Gz}Ĭ_b&_:f]&G]'{Drh}dd^xEoBnD׮]+,^뮻N}CQ}<. ]|&7 on7"bR9?sΉsdqlqJpL +vx%r r©qF@9Yԕ?Ծ}r~]}qQyv>y'.{ˍ&cD)=Arui kC˶&~\: _u3 \# \OvZkKs!YB#IP2XΣ5u-sSn!zɹqRj{`ngh{w$VyIl mLwYsErO9 ه,&r"uXGzǥFuUz dD/e1I[]bNe9=.cMοi~\ij='1Ғ6ߣLd1'bN$/r.WړgZ:xJ3\=9_S@hwawڗ9JM6Cx49ϳw?ƓOgu{={ܣ\bNĜ]l9/naܵ[GiR枷nFuQj.-x?,簜r'֑N4|{l=gpGKr= s#^.ΞsZ v=m8c hi^L>=݉-=pMT)qlY,K܎?Su;Fko/7&nuqg,9/0i6;;7K@s.?lɻ~WU~֥r>=fp;|?Jmn}9fGUQCz68-+祿spYȨyxT$$oE]nial;!m/ h.~Yʂ&T׾50 |^)!1ʯ#4V18c?C?>Ol]!SSLGl]s^9gA{9CCrʞ}Y/f W—pQ!"c4#=v HBqL?hS]B}9DO<)΂[nlanvA 4  :<_-S^ W—pdQ/.C[f(#wyܙ\XБŀp%| "1_.{瑀E8P.>YS$O`o٥^*Qٍ7(6чA TA̠ЁMG1V oAhn~YY߅eIŀp%|cƨ=zO@~@oK]B}9qF7I7"}ӟf|+ U;8@t:ׁ<KCB}9aMNN&u{''Aα<u(6 @tXBD}}h:ꓥ?W|l5l͚5j$7*:@t:OF'P,G?g> [3iժO|'~'@a9 Ct?:" v:'++9_?Ss(};rt:ψar~~2\ɒb]Wqv]Zo @t!"r3\R\[ڟb}${OS?:?3o 4cot:@ԁz`trR\׽?PzL)~B({t:@"4Γ)ݑ5x2'ˑW=oz+{ezӛs?}9B=P吀t:@t~("`^^?e`1}&vqo߾L:{,[d xO`o}m^ˮ`&W&h9P@ @4@5P 2(r~ɓ+7+광]n#[k.8V 9At:@Ёu /XͶliZ2zd-](0  !t:@t:0:E-^N9vLnvd[|%99t:@t:@*@9_BvY6k/۹Lcي +t:@t`p"^9ݾ{>2W\ rr@t:@Ё:IΗ0:Wmtml*s R !t:@t:W9WA1XBt:@Ёu9߳o?i/ҧ??szT*% +]&MUf^ŷȴbJVd˓I_Y  ҟ1ƆX}qZ+OVɴ nJOJKWPZ%%*鿗uJ-ұk?tZΟQc_Rs(,d&Jm Gd7!Ц`{\w wl.i%CS|I/oWCL]K[7Z}s:?{[:z<(=H#v9Ycw$hr̄N-[.Y} E]^x_[Vg%Va"E1ٟYί?ۗIɾd6X9ߵg['S cIY~GS1vHwJwy2tYlQ{rϪtL<\ct:%I/x{]gݾc\"IHw6F[%Dtw0_;9y$ɼ/QbʵSuܲt˻.v/:$Zv<8VC>5N63>K3O_tO6ru83u=w9%}Jq4jeٗs~njY19nn2vyDZfa\qLЍ˧ϑݟcݷx`LϺ}0>?("t2o0HG#Fu8;,1nt'IIɟG-:̿*-#$*G}c^=I>?T7ގ[E|?į%C>CvqX'b|sKͽwsANZ?oU(vHy?׉(9r2`{y蛲\8|<4\P~RN`~oMf~?;';{s'J8t\"}{Gk1޹Gmc{u7^sggv)'޹{ onNIY"k;w:i.^_wL =c']VsjmWiNz?vڑGLm;Se~|ɴu{f7m6qVJ O[Qɴmw$i)Fio#6ͱ$ S4N:t;p?x;p4yK?(z NfI{Ew9o&n;Yu;w֍{!7(y^Em5T!}^5ky]} 쵔:5{(XԣS |<\vܶһݔi􀑢(ڙl񀔓/SFBx[Nv˶I Tw>޳?b^?gEc)4~DNSj3*h̡1ÜxNX1lbg}z MM]Sjle-4&ufI<oìKی'+CYc*Gey?J%FMJָa?oWtDPm>O}AƋy;[)h<~ͨ4Nv˶mf/:lyjo~)JfO\'۸qafnFvv]俛iz'M6liͼtc淐~kj^ɽ&96 *_Y[<7[ϮX]q:vkWeD/R+t^ m6burzlJS{}خWݔ7g/}koW_s->KQǑ={*Kj.Lcxv<ϷIΗ3J;H:=%s1~Ko6YĜx=P&"ZO"Izsݪ.4U=rܑm)o=Hb.~qg[l;d[\5wQY!xݰq?XpWK/moco}[D.2vW׳M6[;vs-Jwf{a{n)֣vWzHZΗX~1PT}0s h=?>I?R;6}Lzg'?zeL0CJ&$&GJ/'#?>MO)?`:ч2od>,ЄA$#/LXhrB ^T$vh. "DE $rālJz~&t%.:M~i<c@NDH~G7Q&N,ev"*`D05E'N-Dz&~ro/|V9lRiLIɽIAT| r2 űiEdv&-6Y6A̺5/nK}\}WəQ پ#[TK3ELM"~JEȉI$'vz_k,H'E[qݸfUkBMEAU/ĽD1SzwI*x&8ugsA=&&Y9m$5AyBS&5ZhcOfwkۘ N{鸣ːe%0dNբ_JiqRkw㢓̱ZJ9EzUEb'sfETd UG sBN\s6qRBw wwqrNNA7^\Ͽ{DUVNZ/ID9(tR8z'dKc`,Ƈt%ѷ OgobWrR~9oǥ]~<][y+r$ۛx[ȑ7?Q hg+,i\xv^sR=K{a (ˤ9ܾkL=^Nyſk{CiD H$HTMZOhb `bE$͓ 'ԋFp$VRZMQ/:{>LTkBmބ9O^m7,W%ߡ$Iݓ bOr'rL\wBɸ_ =`=c?cM^1LL lU[DJ|4+hVHw{o1 ks͓\6Ɵ7k3n= :lgJdz!BL̕l+|BaLLС- z`d=]@"69Ԥ_@ 3}h5RMMG.IQ&I*V|HVzec3'D?h #>\sZKiJqƇH:M /r򒠉&yNˍJ*&j"#-aՑ$f^Bz kE6m9#)r1-wE"2S/a&0 pH H'>rF,'r2GLGRYųz!/䢗\LaO$@b.&ml8(u|"N&XI3㤸7y>=f*nX!wi| >J|KX)ILdĉH9nVQM*lB/ք$YP^hr^CK V.L{%eC5HC5^ԋuW8b/<]{Jszg`YtշV}jE~G-y# N]k&.:Np"6dg#M&Dm}8$*i{$%a^'钠 R$sĨ0-ڿp3ؒ+2т\˅i 9Roco~؛V&- -o{xF$-Dk!ۈ<}~uQ,| k"k`DE0-tݒ:*R=\7e"o$ m-ꂠHokOM5o+˸&䚔'1ebi rH.qCZ\@O^'J zb}V{B7#EĜ,傑>QQ^OUWZ@XgٮojoLҳayEd0pN «Mi!)J*Qfn-PӐHcyV |DQ˹ⷉFߧ.Z$xL'c$&5DRJX+hԜԹ`k ~1Dwfc2N*DLRܪɗ3'b%ד֊6&$$#%W>~2KNEU7ep<_*uDVGHWǑz&OQR~7Y{he\D&&鳪Nx?*7˜Jzr,1ar!rP'@cZ(GV"@,MV%^՛AmQKwI[ b5] 6E!W~-w^E7uՓD,LleHIvv4U'}]ܫ`ckH'"wʔZe>b-q%][`E 2.&6Btە9kHثr&d(ZŢ*C[T,ᮝZnD* (f.4yMOKH5$`!e@?raC{hAB. |zNO>h-AcXVAg/kAO. xJv ;zEҕ ('Oeq1^N<=NʧOmKS}ɟ㝲(qP+%.C&he=vE)&bCcqD4vIMyo%.{dec ^ t"rMdمǴcUB'7%u"Ι۶EU.L+wgO-F Ҥ3}{O 7 a[i| puranӦ tW'B.,e}%N)mT?wo&9Ys+;1YuSX99d'rKdVXI}#4+cr}=%ԦW W׻JrFLOzaN&ղ=&oz {l$7F7iWĝʖ{/-6m9^,S_z%~i~JN:*UmI:)"{ʼnnV˺{;X#9O&9.bL۔eY|ǩM#E.J[CW}/%AEꙓXRc\[A$<:j` w@r؋Eɯ&_ik KˣvSM쑑[+vWM&=0LՇM_cD-$H/VkfΦ+aSDYIMΓ:e$'Vr e۰p+ }AW{~~rUqHX %r(H)nE012K=d7OnmZ05y]gXcLmHA529%O[ASub.M$n=冬_r!ʢXR)Y1V}*)#jr+1W\IP5bHJA觞U {zO/ K1nJX-R1DžMpa]%q)=NJ)1nډiVtJ[ ;oV-bi>dqY-*8zq&"d]I/(hJDxi 0dK@՛5YPɶ-ZIY׋´ZN^4A96N|$1Mv\k+ |))$\%cE'k.9Fj.¬̊4 tM$} rO\1Sxj/+rSL8'W a%H2'%m˨P51f&늨ӽoVVu5^.4A.[6®[1D6JWN]ZS>IBEai4꽝tTLRDE%Yi5A,ŁjDBTzV |[t5b.26q"%zkMDW$"#GzœK̥bRFMХKdKet㫷H' Ek9=|߿Nt=AO^( zϠD]1SrG`yqqgm99{nA,XfwMԣ; {"wIN$awy|sSZI{LJޙMC[~z>K'Ob'ObN)ɼMɻxR3̔y6G}2ty.D׃2VV`g%g3*YqWyls}DvFY=ZNu3UtLYv?G$S&{0cQ}2yf[|}脣kIvu[ vqBnc5]?>={u]K9fZXo+zQ4Vc۾4_kdq{BoKOcސs]'N7[7=n2F:c?h7SśP{-̹T:F'O?#|!w̙Q昖OyȔF`iXsȧ{9%㨔=MgP<ёlc-М-tg9 }N'E=o$Acp 7Wv19++l#Lj_sg~b .Qz' .X$59_蔹'[7oYfEGԗ/bBƂBJ|[E$S{ەמ|:[MB#06藑S.:g4 %x*=g,+^>p9er@F_c0o?Srzuy1gJ\5B\݉[N?e(1^ 4Vt˔$1C\cGr3se\m|.Kyz_j9V:eo]=EdQ.$:0{:8:o\m?Od=#~{rJMKߘ۟~M)qssLw.d)c^ETcDc6p\';oݜ$s='I}Gv!Úo<-ey|O\'.u= p.av ȟRKtQz.U/6tQ2z`]n2$2Ә24u=Ie病c\ݳun_>虥o(tN;朏I7I\牋D.eSHq\S~FZkIENDB`candle-1.1.9/screenshots/screenshot_compact_table.png000066400000000000000000003145451421102410500230520ustar00rootroot00000000000000PNG  IHDR(ΧsRGBgAMA a pHYsttfxIDATx^`Wف$$Nv2c!L9fFbffffV ɖeI)`;L8ݷ_xνUխnINKO4s5 urrr͉I䓓|IIO=}%=.՘OA!l;#[F,aOw&I§@8]at(2,aǍ??tWJ?JE̒IzK+\" ~o Hj3'įx'{_?G~ꗿx?'b2 8Sq~+\äpmt7-{ɿɞ˅Cݫo?|=_?#z衟 g'XtxOS</_0h|yT\[#A{zG}G~_=_<ӟ=w?{'?}'a.gx ?#Owƅ{~Nx_j#LzI>2׏ONՓ~䓿xɟ?Ozz'L&Fn?}ɟx~G{_?#O<د~/C?}__`Occ870Ҳ$$$m!+??*՗_~78Af<|3^}|c諯]|W_~՗ҁySJytHyp6җ_}}%_|9VOڨ+~(3gu矑SO'Aӧ? ,? '\O>O>cÏ>Ï>|!D[HVڟ=d<¡D#%58ңndP:+“⇕=5egK{@#ҿ~k67k"{vxǥdv\WCIOEcX=~!=_e}c۷FFۢ}/pC1}HC>#)v>|}G?>x~޽έn}z7|CXooߺywnޭᅢ{'?O>p|m-FȿVٗ(nxݾ}wy睛7o`ۆ~-G8޷ᝄCxQk_Cn&.-S?;O>/_R^Zm6>e ӏ>1)&&%$$AӒW^h4o}cgooM]}u½LJUm}UM+*kdUEuڊ**RRRFR)4ҒuJ*.**,,,((++(jQA>;WWUTUW ˨*S5e%jMrl))(aQ}p2RIiYI)v#J4"u^*;(3;?=+7%#;)-+9#;%=+-3'=+'#+73;/+7?+7/+']٩Y4RrZ&)5# JIOLIKLIMHJIHJNO  e H(4<"$,<$44(8808/ ?qf [m,ll]]\ܝ<]ܽ]=Gq9ejbllelcdmdiHuq8`ɆarpwƭN6N6[ ka#,l遖vN8nq8wdrqp![;8Y;^ ;'s[6EY9l&2茶x ؟h)V{i#(\-˞/e%pX!r\-NwAC(b$W=;wִe g[>|B;e6<7xz9z7{ ޾>~~~  R(8X, ;/ ?0/ /0?0$ (408,0$~~8-WysΛ9sK//>ۧM/3gΜ?%KW^if++kG'gwo/oo"nn...Aa l=||| dz  vvzݺvHP.nv9?p81xᣧ>slsǎ:v _/./xG.0<|ĉ 'O^8u"t×N ]:y×O|:xː7U}r͕Эwڪi~vT1YΊ:?*KeknAtkJI۸ʾVMw7ݕ_.]՟uUUNJCRշ;z&7;k7:j׼we7޿_i}KJ~M6{;6 ⩪8Q1^# EZAu u \27t!ǑT=fU pbXƀLG#&IPEy9X tERԄ\j̅+pVUumuMm5nI5qXe5؋*@ WWiFiL80 8SK^řyi9`씌܌܂(*`j {e2bKMmJ:A+)%-))%111!>>16&1:21**<>*">:*>&H%֢#""|mK_>/B(%0eE":{yx{xgA.^\2Ix @ [\=m8ə~`xy+uxKG^o@o@؋n^>kk9s^/'g:6bxaW^yeƌŋ\jӦM:98:{x<<==<<Tnnn@+N]lS^^xaa^aѡa1~AQ>NnWϜ>[W [Gz"ꕃW^8qucI5|~hHAׅ.pKz^gx]8ztxxuL^..-o^>8vPz&ͥ6k>n-Ui3/% W: W%_kj//?o⳶OVOZҏ[K?Ak{w[5hnhn)}W˯5WstJJu^UiaUcE%_>>?Ʒo`D.x^߇x76C M-ͤ&z\WƖA PSm=Z5]I:b-K` RuFѨJJR.W%kjp4:~?kjaح|&pXa3pW].I;WaL;uiEHU cZVAJznRZnS2Sy9Y99E"cyEyEؘW[aLXnAfN>h,1txfYiiXR`%ǦDDGFFDDFGبxcIIJOHKc +"uÿR TdO?̰F`A[rp|/W?2/0?Ÿ޾t|wDpI?^n'0 1p"o[SM L/fzJ~ %R7qL`/T|/_ K/䒙mdM2a@.6<Ӳ xI֗ v$r.1F DoD p?ᗾ ? bBqˬmFx']ګbv⒯aKuuIvd ڼn9ptz [W'a f՚ zA_z&9a|Es!ptrvquK^b/5sќgxMxUnltt]ZlfMM 2^z3}uü'/p^ֶvVΛ7k9^F^08x-YqFKK+{W7B/Q.WWnw988:?{q ;ΰ{ 3  tprzk<{Kq!8^{xx'/^gcG΋^x]M/^l(O?k)/%5~)(fQ-_5|\Usї_6>oV}ڬI)I&՟?ao7PnCM7Uoԫת֪Ԫ.ժ9f|+o`2o,S3x>;zz)-ğA]5V}c'֦vA]\SO-m#. jn3A^S3W.-pQjQe@1 |V)Wr MƦ&,?K=ಾ)f]PGhX)2'y{ ʚjP][Sgf@99\B{XSZL+%TȈ U7B<,&28dY@ĬHR|tVbmOMi陙$±xJVFG! ):_!A ]y~O~a*      C#B#C"™ۏ[3(R~fdy$ǜ0O~"#%J8qK24&4Bz%x8e9~ s "& vwxnQ2t6D(򕎛!YR^ ,IʒBQd^*J%/ duKҎ"~1hUŔ%&z` H&Xz.(xJ] )Eb[3:[!?haH][WX5[B@Ølւ6@ʵNOd,I6:}=\g1KL8be!xyǓRn6/xmZ=wb%$u2wsAK5.33_JOGMiS/1jD  FYP09^BG%^/9x!HjK͟?klY+nzI@.9uk@yVyVKr/0$^|vF,</4$4<4,2WPHw w޺ty_׶}]\tC;l9gpg]w3ptA:q'?w={NCw޵t3v:!6 {fWL{sf`?pCN9rzcG;tG=쑽й#{-Iz2G].ɼZy]u42(Fy;P,O*\iUgLsUKJ: RSY_Tg^yugO\Or?HN)ʜ97*sd^s"rEŊK9sgdxTUx5n),6:yFC]꒻_,(dr5jnmkikiwtvtuwuo޵mG۶ܶpAQLx8sm:! nhkoDžIMuM?jaX.؊ҁCtv4A--8bk3aQ G(۳^u}cUMCyU]IyJSU*),.Pes KUť2U)<*Po WYH*TQY5gTvRԨ]+./.L+JO.JO*LM,L/JM(JO)J/*)+,G_ pHKOKJKOIMJ    @޾(BA(EKMHOBYnĔ؄$8RL\btlB\څj/9zK@ g/dYZZ#Ձd8C*s"9`/Kd,xS9*R3-Eqd\ /f/ fJ& #ˈe(x~(H^RZ^r4&,v)< m՚i=3x1Uȱ318j'{^BQfzUxYאnIZ@+m8l18a5XM7ҺͶzbF^l+xQ^D] h#0//oxqrp`fx=/w8x=(Xi{ ^.2axI^ѭ"k2/ft /T/A]x6v[-VYd M>O -nqq_ykLMM,XlٲkT=w<3xE%z B/]2/Ը wos6(8*0$/0;R^ܵsw5Zv jڱsOG@׶m;ݿk= @ 9hoΞ;Aw0m>s6瓛hh籝;f$eߑ2ӲNt|_+K6b~PkE)oUr8U{۪T?Q'u _&,%"%iw?T~N ***-U ****bq9R*V nN~&wI0u<*K E,ft1QB. mۺضg=};{w߷{Onjջw2"< ADᘺYzw\Ў;؎jjljmoo!' KwW쿮]ۻvtunğ؏-ݝm]턃wt0un-X!5bOpaK{|ƖzMyPSQ(TJ+eU s$&gX!_ j!~ P[!ȢUŅe9eyYey9ieeEy媢rL ,F)QMqyYy鹙)鉙qI1QqQ(fCE0 ,0|!DD'&&e޲0>5jBV4= ejTԲ!a@z&0J jȑ&'&81@XphX@P vC+l6wWr('* "0f傻CuQűgv^AyKE"eBX[{YYx y^B$\6=i.)Ӏ%P.^`1='nX#;NB~UzC(FɮYd5z dR UF]5"R*b//d 6( t楫,]y-2&`6$N`rPl0{^6:y8uK^Ŀ8xyem^玗az-zuejfݖ%w ^::5J/ *P /ЛBEֵ7Xj%/={6/q+[`taP.x-_bwpFPIRqP]ϙ-.fk/؂2 {Fz9_9{nϟ?~Xשׁ⪮뮭kмegk{OGgo;vC۶o۾X51ֶuo Բes+tpou?Ӿֶmict܉b=q&5\j$t!#bF匨od~3+VV{YBng}ekQv%OuPG9aw~v{BYd7"dy5+rVŬYQgdDb:scٌ[P]ZT].ɫo~)?~m..*'ŖVr1 G??w{ݧ}{%ag}p=vٻKbW?Ngxkw߮]}g[NgGNR7D`cΞ;{zSO/ۇeٷѻ}iǎ`Ν8(VG[Pm[m5Dתʊ2’|UavQ^FaNjAVrnFBNZBVj|Fr\jRlrB bbQc8ԉ%[{@ QdK٨BPW$HE*$Q* sTiN^&FqbfZzrjZBb23x`/@0<|P~ ' /uD4ῠĜXxKjY_r 0P&8mRX< )%"u 9J&V/C.^KDa/dsjNA=gVt.9H(ƇJ֑acV>I60ӎ^>8xi/xK)0QH8xFUw Sz5Ue/ $L2/Wq`#6{i.rg3J$Y57wLH59xqӿ4 l7//oxy/^(9^ o4^T@ ri /K;:YZZoڼe͚^B bf&h6a7o>XSڵ`wYljkkQ4/b/g/!H^-xi0\XxqjĠ8^!!6  wzkϽpvxKyeKYV*[*j騮m먭onjڶL;;;wvtutjaֲy7tqXۻׯ75 jnon;ڻUWm{]>sx[{v>r:1tRɡC/_K vzЍwMx/=ඤL?0rcq@{a2 vz+i!B.M ;v:5Djk;6zeʒjuumaz1K/B^=/We8ee0:Jz1`Hk :|]2 <,Lph hp߁};w>h`{ab?.$4@{k`ԻgO_oݻv7C{|{XٳO/"Cx~=}Ws{s[uMm5 -LHD6c2ݔQL<6f]I~PkKX\Bꖪ2lomkijhF-?4L *@ MeiQEI~*WSUK-M-NJɃ J(+AGih9|W`i-ƥhi%*fNYXR6UAXZj'&D}X?h$0BiHʼnJf-`KO{ --XwX ^tO+qzff\b9Ѻ,*XzBQQr^B >`u󌺰%5[!L1ul֑XM~qcY<K3 CyAJ5\o"ѭ nw%KH8^#.{m)s%Xmddw逗^\W;[r״eqo7+9xyx{-x1GNB J26X1`VGgWd-,^k׭W,Y[XaZ.[|reaD]7[l1U]Q/ oXwAYTBOBj5>!191ZcC¨E~~W/\3+*+Z*Z*mkum[m][]}{}CGcSgKkW[{w[v"0}GkkOKKOssO# 54lrwൻE\iݽEܳxlplؠSqAg%B$^K x#d[)Az?ŏ ܘeA۩Ao0]R.]H:t:9TbȉĐ㉡Cnk4wn./hjjUuxiq^rG{!OGN^S@B@:rcG  '!QG%f:>:D:/t(C:p҂jzxxaIFV%˪ {*b5^hz+{W['w ltb}/ PZŃVfjk*x-k9^/^V>>^.>"xaΆ x/hE+ W062/Ggmڲn5k׭Yp]v:ܻ~q#v5BC $A]H/Zx~\1 [ =0?>ah(z^>sDsUMsU5R-ԶT׶0Ω Ѩ;:wCֶigs XK˹a?w[ovmnqJ/{ۮm-_ax$ƞñAqA'^ %Fr[!O_0z/5^~L ntJ v19lrӉ'C^É׶ВVSS7<*:i6ӂ?]!:h#b,.ɾaq< ulı'85<>~B.<;w4hPr'Vv5hձs.iCY\;[:ZZ뫚j  mUs+TyB|M^o2{')]A&aH*9bBل3 0@qCqW7ΘQSQ P_?!ŞXE5foښںںF/ fԂGgzVu쮃v.71 jZ":ui#]N<ՉS5aPsOLVfd(vXcOLV;vlCGݑ0 ?џXha<6 ~&C B84 aԫ:2tA&p<3gI@0jQ 5ѻս%De1ER\q t }0Rwu76jT)'&G:Zunݱg{̋+olkhmojS̓;70ܯrUuC(-0]AY]m4䢳yOd? ᗖ8X7@o44 Gq?1G(+'c$116> &" a&"w 2,`/`~ Gh$eԥI{(/+τ"n}Kc{H"{(&STɁcv_F+D?k=>xa(|A2}/^%po*6V^ku%SF^dvпD-/ ^NjM/+'s7.+x-شtaTs/8YjIxQQw xG&Tk2Zk%O5rBeċ ̔/?f Hk䊔IP ^/x{Q=CcRF*2yi`Do1"BoX% &G.NZOc6~Q~^ v +^.ސ~~;* D : E6!(3(A" PkC+`*D,8JLh8FѨtё1Q11Q1A[\TV|=!-/l|˜>9/l|w/xng>{pѳG={|ѳ'={ZԙEϒ^sٛ7:{󦳋_?3;K^В-yn.z}c _\b[OJ[C:/^Kpт׻=+޾~jz; j#4ԙst)CG^g&YbǛB^{~e5tБcHx)Xab<; ?W aHYo 5tAGHJ QXLj,ɋz@Sq2"ًJNnwXAHr:md&a{PjvڶֵuW{Ӯ-u5xw6]`m]^Mݭ ͵y?t jմԔ43QW+uvY ٫ըt#Q:n.nmNOL$wÆ#&ڐ0pl0^5 x5I0X2)5ݿ"cBQzzDx |#0_Zi+ӵL3&a%_ %_Rz2ˀI&z]ڎ9S5 6޷ ^uc/e$'qDRU7Nh*Tw^ ci:`HF=sKj]Ծ\{Yjnǚ;/qlg4^v.z5Nk~ۿ\`1k$x͙Y^\yدxyZz{x93B P6xkw m'X= 3x zY RȅdUYdхnfqNj78~u5& 6tzW_iiwuqusuwww$y89x89z:;z8Aޮnn^H0j'PS@`x@n_AV-[7LD`Vrp1$*"8*"0*}wloI/ϔ7~y3-SMv=ljܩ>30wyO>2'O>%I )\Y/[7m8p*3gqMtzє /2hʡES/w .xvǼg=1ﹶyϵ}n(-fc?ljtdx=xiTL-UP (\GБ^MpQN9{9}9wZbgN׸Z^E䍑0  ;:̼aZM'w1:Agz WBq"n*ah;HCGID]"x$Qx: G9G-byΣk7Dfwqޢ.h 1C/tܹ{{ݝ-Mm{ZjdqjOGSGNW^=N?1P޴;VVWZث B決ZP]Z_S^WSY_[.ѢXEq.ڪ ItJ60rºBeɠBH2!9-*.)<:.(,?8 `oӴz^jg$$ DQˆgDz/K*a]+dDԇ'6^W.zU&O m0xxӿp{YM ],yحpjn7 xy4btNjk/U/^»j/LPFSj//b/`2R+'1f %, "s_s .tOaАఠ@.M:[kWq:8xQwSPW `Sn# Zlő`g~xI\F?|&O[~ЙҼSx=nLq Q^WDzKgM>hEMZ4ТN޻`rgL1oj׼g;=6Y^ ޭޚF*AzϠ=}OlW  Иa`?jFNu]Nð6ޒU&&+;OW]gtvn(xOJeEq\QX#_0n C`^da9g c$I 3Xve4r .b1dd~zZ;7UHˢ:mvhZ{18L2J5ɢv-61ra]^a}G4uu:xok.Gqn`E=R^f^(443+57D71q] 箢g*\vqW&nb V "WNmVJQir 1eJFv|r:+,*.04/(/SĆMެY ?А^y QcU62K +]XYT(  ~\FJ 0"96R' =&*fVaHݶGLVG]5x^](k֢-߰Z#M\W΀b[ u_KZF5&_4Pumt@xyF9xyl^"d͆VbW}?~+9x=Zd96X.u[3H=xqSH5^>H)p6׈BsqZ|#nYzJ 8p*ifX#*js[PT']ܦ&f*uI|E2xU=N(eY)?BCB\Ӛj\-]l,\er듇_ӷpS?9xKZ/x2BC5^|0? >xLc#K\t=mU O'u9{jXg"-TN D kg^=x*x[mj ]Q 9^XBf DWXl90rv1ǫ8;&y=Tuh$|VXGTK]Ks{Y:.<H=3w/ Ğ O9oXjb$:j&PǯRSXvQ YE f¨kqj+vhIkx诋g8u4 5 rɩV_N:g ٛc9 5ۚݰ}BG}Y{])K`dK97$:2lnjm-x̏F"bhǢf.R36P͵ f_慪^ +-: vp$#dPκy /6)JT'œb/{8 K/{OX8HBrb-2KX2>ȑI^dwDNjW6z ȵ}"~uU!-a mqٷPϜhOY7 nw"V xBJ?ؚt%q-^+ Zt='3jp1&tG Ő$64qhzzzB^㎗ rDV˜,li̕^YhW2-K5xe/~ɻT㓿w Қ%WlbzO /w[/'/O7C/ ҂M/a`#^Ek-B`El P,$I"xXE^xx1G#D>A?#G=^g 3X]H,pK$+ 8?87+N{b#ufd!AH +k.<" ߾Å= 1>±4_+m6dʉ%S/2xʡS>e)[4u© \l^ˈZ/zXU]_[U_?cde$OҨF^uЗJ|~pKlx,/ԀkR/[@Q^Į 3Μ%nɪJV(8z8-qYڱ F//fw(`/+ S&^^<~|7/ޱ☐j$:6DU~//?z]Gjey;*_M,Nqj0F5^g@=mEF|x@G^1U'^rFjla+5tz{v']q{:[t4iK#rJZ ֵD9f!hڦZ~ uj /r4͵,]MM `͋,mk+2-TeQ"/>E o/N$*~}&=`/ O?LbaHg6qRvcԅ"!^£D^+ۀ %z񩠙sg`7PE7/p=(ڞH~E]}򌼁=rqM"X tKށB64=~0iM1r6)i5^O4jR@ leS kGi/axXšOA'O >ll#8 E lqB-[(v:OF VSO~?1Y7 QqY)u֕j<#y \hxlEm6?dy.\ b $D`yҀDow7μԶ:wkK7+ 7+sw\6[=m,=5(&02602.0*>_t u6mXvPbHlb8oOs._8=Ź,{kfuյv;ך5۽nFfn2=-'>mHY֔`mW,-f:i&ש335q|Ơ}[f l{ލwn4ݾѴ{Y9'R=?YU/B/گ'&xa~j63b>QWEu݁:N'oy@FNNHx7 UR_ #B{J&Eu/g^hXBZ+/c][Mƫ7|xQ|[A j#9zQ|^Ű)^lJ}VY|cqڮei[ϡu ؑ-%gx1ՖIxTfD+2,E)̕%E)M@Uؽ{[cLUkwSծtR&*zҬPQPX]KWf~ej^@.6+4O.+\ gD/rDT#9^x;xQRJ\SK0cV^AZVNbjFLBrDL\Px_0xx eZËu-Q[1MPg?Ԃു^ڄ#w?4lh, 3-{єAg&ks1/yl`/JzpL>9K@.^^b 5J3IK/Z\; Wnn.l$^mg%P#Ri %xq9`aw^N|FTrj\JYEj%HD ZteE˩>lD2uݵRxyzj˼e\EB/^[٬yk+hsW)oA6\DS~O!w){u3]*/ xt/G/O/tp;^nN~b+K>$PZɰXp \;+Y_>h^a:2K/4bF-k/G1X{(^B~ӏ%q^̞IM9m?>-89#g0j؋*P/ twsstjnwvq :BXqrsvwvĽ.Θl13;??(4 )"#Ccbcc0-ݛVo8 ES({~1)p蒦&ulg`)](4k/- r`$3j97^sdZ3ʇ7?,MJ^|\Nh+ O8 %G.[ėO&iH(5<4f/:fӒ7l$$>4,>,"!"*1:.9.)915-9#=9+3 xJ-g*L-R SvdsUz:CTRN*& U\uQ(USTZ_Z]^#UL9@{s{8 u:8t(H˱(SѮg]ź\s|9ZQx$zDN'3]OLh>\iXǣQƺI 8WWXdW!?#cOo+kI \\e5Z9mQ _}oa*t _5[mEmjeq^#KG5'PocN0BQnTY_Ɯ09xvOms$BCU0M4_A[lܺv%n:la D9 ,PA60`Q/P"W8h$x ڲյ_^:3ze265q %?){a_y񏦯M]d6,{b,ۍ^/^)ᣏ+)KH>rj%"-.{4[6 ź _tH%ͽ[.,.lz 'yΑU~yz{zx9y;zYdG19G+݇0-ݎ=;۳w>@ ݋:hPL}Ǐ>vc :|'<4|qk?}ɩ#'=ykcN : N<N:uOSuq/W}P}ՐvU3UApWmyggͭ5oj|&;a/>7ko^urz⫯єWVԀ*k!XeMiyt}}݀l"K7^-ݘYsD tФ:) ~4-#=a+|l@<V1Xy -b%ܬ:lAh"~by@3g)z,Jx[J;MdYsy_^gi{w!xA\,͓u QKR&4$MPNھ vEٶe{K㶦m u]5]՚ʒ u{\Xn(/(VTTWC=}ay5`^FtgIt@a {!MаEbp?&-m]M{jC3|TKˊ%9)1aQ1a>An>~wmX9.lF,(zd^X‘Uy6`HMxF*{IS'{L9ps$#JsުZge<#8 Db  k}6]̹]be[b/fz鱗 !Xڞ,7˴BUʀ-7t@1ʼnWJLD^dqIIyXUb/@Cbkõi+L´^5&u1hd0B.+ֳ\fw%E Sv .x9ϵ0bk뗼|6Ν̗~3CKOi= xu1jr,3yM+[mi+/O6]j$wJ( c/&NNPR:L@]v.>_^(1!ԬK,bӖ/%GA~yz<\\m-m6caW^x陧EgT?WsϼT|m _6՗g^5}3Lg4>s鳠yٸ?}Z@e E-Z%K⥋__x -|͖/6]d%jKg{g~n}wVꅧ_ʹ?ڼ4SqբVm*P Dqj6Xk%U(~8ջ]d3&Rw]!rUSoalvۃ&򘾧KfOl͝ u핚6B.5xE_2uMyIuEiuEYUEyUe&dƂI@^u^XЌA[Sk[3 7s2|V6[61[}S ԅRMA*' =+;9-=.1)]3u*:x8msx KK`D]<ɇQ1gES5vJ.wK62c]Ҝ׋ N{9fl$5Ƞ z̭ ~?xQ }PeOŇ1m\[ХSp\x2ҭ/b/c%. )J's+}ڲu3&#b2KGf/EE=2mdE!))v$ǐlu%лNaD& 1mETO:%ibt#"rs(B%] "\aK ^+];ϳ8jM_]K`Ŧ͛1U_k#!zY/?3g^ Z2U _ڰUU3l֙:lfS^}Yq=ȏ߲d3$ŀK؟ K3ꃗNRx=/+g^%/=봟prwvwrqr5a6;&@ߎ /p؅|O.>qIӗϟr,]t3]rիo\ko1}+LWͫЭkMA߼EzLou뭷oͷ7n}Woݸ΍Kܸ΍s8+әnnc: ޼K޼kz[osw޹!wnz{c{B{Ow߻{7}ƻ7߽ƻw?Q]{C{{SUc>xP׏=W_K+^%U^e05U-erP‚Ɩ6Lu c.i` !Cg@ޜ(IzĪɠfEd[$_EbE8L]}E! 9RbfLo$KJ)zpB`,eAb9 擴Pt E%ʸ iiB%AGyCJwRY,ګ)'2 P$QPKk T uu55Me%ej-DUQUhJ*JKK5eeUՕ55յu5uH 64bΠfZa-mͭL2eCء `cr ^lIYeqIY ^WQVn eq Dv.|#!K.nz j8mfL/.9{)0UqG_Kt# N5ՂY-"yqE/WM^;njR/5^/IU v'bar.xg=z Es%zIk$xal3"Öu^)zptwtstrge|ǖVxlKܲ|*}XoodnFʃ#褂ܴؔؔ̈,_U:˥$˾$Nmɲ)mrsrJsJ5y~`u~:?NU*TgŹjU.V4j(K,+W[49LyeBRYaiY@STij45qM]>\SV@*k+1)11)1UjKUZAEc/Wy B~TBRi~+*+,Ś"uYqIlʺX[Q?I4T){=Tb)<4bP Yy/dX:OV~.K Y<\)ٳH4@];"jW Iw[CZ;H8`E $ FWM fLc@M g&hU_H)/.-*ŕŠ₲|MQAIaub,*UZR5LSV)/`Yeuy5p LXt!F& `}zbjk؈Z+Ca%mTK E9yh!"+$˟۞]vN涎BTNM"xK2//{ %Xy[7{wqDB>g,~ &"x_ g/<{59{3jK˜gӋ/d :^BTY/Tȅr%^sdiG^ L 0q#.H^[4!38^.rql ب3tQ`/)9o# Ёu#IiPYW0;R\p uQi'F.TK_xrwXfzy[L7βY;}W,eҗ_M[ ^b>ޑ@o2k,ziW6xm6kgo0u2u<^9x9/X'{x߁CZ )Y F!ɨj$BU-x1ӋͶy,zj$rfA𒪾X_n+fz5WmZiǦeey^+^[x[gj JH H L  +'$6'$&'4E&WtR> ʃSrSsRrҒң332|2UNL,B.^J HNWM^ₔL9x@]^rh^r^RiQWYAI9ԒĒHM]>Ka՘ Wc6XxR`URZ RiW ŕ_$W>T4%6W~Daxښ[#]H-acA (.i F0̎^5u;oU4|IxtafD$!QiY "'ȈNC3nԖ4% ^h|uDрDnI$g=.K*I.ı|ҰdwLp7\%PYIZ]R]srrs sr rrsrrsrssr¼¼¢BzkaJ rMqI)<*HS,Ը *fc U r2dؘ1303cbZf| r%R]f4A<$#o%GdiɊĀL%0DIS a#țJ#kr{6l)i^B1_[jjxx. FiJ!GKxuu K$0-q~!Mz pvnz省K)(5^"` &^M5[RgW%N .७ʧ0m^ǔN!Q/\^dŨKgJ`w /W-xۮtYn9yl3mMYW-VjHJ*WY![?ql-fs={,[^. $ K.E\5x5/5 {)xq/z%#YQюz:-^ - K K {-ܲb5>}l6[9yyFDPpLpX\PXbpxrPDj`+#++(:;$/^yyQ`dWJIM+*xg83lՙ6/M$F`Rfz8zjr}%KLU"RerKRRKCG"T喔gTT%Tǎ=⦗x5&T4jITodY%yT#sJC /^ (Ƅc+(JVV稫$Bʩ i#Kǐ!^Iݍm&;Zf:bPMo3q,iEBn%(Vl$,2$46JVѰʚ*.!qbi#" M9+lc0e[*W1T!򣩠*@lo!GbRAS^A^^~@UvNnVvNVVvfVVFffzFfzzFzDO¶,Rf6:iAYyrrڔ0)'AQ8;@MZ+*،̜䴬̇>hjzgO_K ^uYb"I$I ^Vˋ WŶ,hi;Swt 7ґո݅:3-x#鹉-Jxo*,FLRi$P& id}YyS I1^.V3K. 8LLA؋N--ȰLw#Sw<#SQ^o`duqM%&:z/IzU#ak-FN?LG^=Ƒ{]ū驠ޝĩ8x{}]%af|K37 S-7t8at3M];6$);AWgBg9mcOy^mx9:^"x 8BX[| ۗӕ(9{ }/X#{B5^R;^E"0b/bś݋` ݬxm^qen_~eVz{cgdI}16x%%FCPf +*30RXX_BbYS)UG$j`FM4oD R\?sph4̪Q2!AMw|@$_WmAvnV`d`#n[U#_&a]%M:Bf6JRFv>WzvQe妏̜ԌlA٩YLiPJjZJJj2: '$%%CL I)P|brEO@w'"%9uѣYg/jYzV\/6tz=+ .^$ 4kZ$tK{Z2ýv._-zO贍R\h'!eS Ru҅$^RqTBQ/K$7#/P/7pXif bL-3]̠3] k;ْܶv3naei Ymv^hJFV\/b/x!-xa,9o$#If}!xx/771/ 6nkU_...n6[]6a+kb %`zXe*1=;W`T@plPhHb@hXxZ@DxF@$ W DG+<>7">7*!ỈKʊOLLJINx夅\m:òńz/*\49o*7E,& MRBk Rgs"i JJuK]QWGDxՆuIWdycQ\_xqʋ:J$/g(Ç8I4Ʒ+c%ć{P/=6L$>ߓDD 3yWcjV?TYYw\dM i=' [΃сda 68y'J#( IǬ)@$]2p/n١䇢H[pXcML!%[S$Ic0hAѱPBtt|tt\بH"/)*6>*6A3B+1LQI\11aQq!Pχ{xy`^ 'w9,A]'%aBE= sd<3a^ZӋZKHzOpӝh9~i Ե~Vd#N'K/9{ \.FRY.xގIj 8L`/V/^_'ykSnBa@tڢ>nTG!3Al+*2TN=i4hhJX6/8^2gTߋZ^/W'k7-^+lx62m9{L/&O^xLbx/Q) vM/:T[ŚlUi15.!96>9I ڈ  'C1PHDl(vLxTT $1M8I8lDKZyp|IF~U(~yZNE@a: HAaA UTH8pBU`h$yUDo fN(sA=]F'>ݡ0Qh!!:=ٵr"{咨K^|x#.2d5^|kmy8{i [,gmE\Zn0rŶ|%P/i$xv>^KJ8Z_D]'wX{UK 4Ϋǣ<г^F7BHܢm6-7P/39uLb Gt}q6fրپV$XmP ''M߀Bs-_`x{-y 2m3{pxuO8%mRِFmqd,(^l.!J7x89uZͫ\7.wEEZq)И-=-`9 ](R@Sx`z1ӂ뭪^|hFWzV/6R*(o^{J}%@Zi:U&G\AMAXF^Íul1,[[饝Rl7ݚ0m 8,OGqB!fb/7{gأwL/6*{Lć7򉃘/KUT_mf?Sֳ6 Y_6rI;ؚYYxy3˓x1b#%?ݽIᰑ|fK'z2bˏ6H5> ɂk4QcMԭx62rڴH]^B ˙+7Xs Bi`e2y﷬غ}lxx9{z"b}}{1 @`)</GgddfFgEgDǥƧ'$'g&Eg&g&gx祺:_6v*Rg92\Ylu?MUW\^QDԕl#؋u`CKr{Pn:+Wv&4,"ثJbH pd* glHhHϪϯ$٥4I6kiTc/L%^/\ƛ\׮?iloHz֮uu=]}$^B˺['UI._u%2ׅK.2]xK.\9t:wsgϜ:s ti,N :ySO<Ԑ'Or?9tF!aba_=px<CǯmC;MCv 94stpב{w Ø<#48[{\NNơC?6u  =:t=ÇAW}݄ aze1C?w]:ϰ :w9r`G=tpa\%aN ;yةN>=43q1tn:y8tSO:wSsO;} ?3tыg_:{Kg\:7xYLWt G\"]<~O_ts/|.X1Wp]E^rkg\;})' N:{s:z5W]^0z)/B +03ϘΟr ~63zVsjμ9s13LS.e3 ɏ@%I':lLSs^5ՙf4k,3li:g\f:ǐ.=bg9sH:N#/w$?.I6g*H񪤫}F4c[ #vg4t}͟#I Q:oKv ~^ץѻBH˘$yJ)ca&ޜם.`ޫ$az[B\&{=H:7g}~a".F_o,Lg1}mWΚ6oX3̜͟!hތ)%q|v\tީy3̝sLg6c&|酗h_o0U&#녎} } ϙKb˼eyvc񳂧dl٦f&͂eYHڍ=D3sfL~^}e+/|e̗_ 3_z4mvݰ3+^{=s̙3gįi.4c+W"D@%J"x֋U/'JHYj1)bL5&S<]WLLvJ֤0~w~|OvBu e1 8+TD@%J{zMOxҌ$33b"{ ŝ=#yM%v.NOo/ʑ(P"D@/Ƌx Oz-%JRY)\טS#9^z70GX%5zQxN;&Ï5t|rQ&&&&;fyb:皈 DvJQ^{ MW%J(N# Pũ S 㓾kUIEqInU uiko`F14||}0eY ?Z0G9)DŽykGQ5LFS lx+O*˽8(TR"D@%J0;wkkdė_}]*+Pˊ +WcJoc]<؞hz?Dcg2?t+fGtױ|Sv^D7?0v|: #yavD# H/ -mc{Q5Br(T"D@%Jt#_P./%!_?HTP\ZP\vʵ3Mo}OTdbvU^FzHڰo6zQNө=$3K:6_x{zOy.^~R鉌'J*\g{ Wy\p%J(P"D@o*k!C//+*!q tk3M@uM^Fz ɳF9hw/ٓt=5Sf?>uN&51'2U!^„W9%J(P"pW u1x^ ^<xk3f_~M^F:#F5YF%Z_Kv> hv=Ź#=3>^8_O!y tUs˯u(Ha5rp1vt绍'J#Ts0ʫܥD@%J|_7:s?^54I6xqVUA?1 d\׻WQo/2򁣜HvWNAW ˱M)yO9h:M Q" hDTeI/p%J(P"D#7vjxM ^LŨ/4eq_]r1J(P"D@<'rX_յ/uY1 iTYf}/e-'jbD[=- ƹ%J(P"G(*c"o_}]a T5$Ss>*"b2'꒔Q"D@%J뺦WuyU^/Ln +Ys?_)P"D@%J? ()J+*u6E#O H%J(P"D`^Ҋ  0ǯr/9ſ)R"D@%J(D֔C`zWiE^^'H%J(P"D"0k2P%פIObMK]bWeQ"D@%J(x]V.eE))j,ۈT#:Yݕ(P"D@%J:t+WTb5D#2>1iɤI zQ"D@%J]x]),.D߫\ (%J(P"D@hL/'Jq%J(P"D`#$8^p{^ו~)P"D@%?e5XI5^%W)xg(OR%J(Eq= u2/ +ׄ (P"D@CD21/4(P{ByJ(P"D@4Ce$JuA* (0Qx)oPD@%J# /뫯ѵ^[%P%J(P"EWJq ^rz`Z|׾)GV"D@%JqL̗Kb/^OqkZDWlI;~'(P"D@2{]<{ORyRP0BQՈ|l^Obʠ*I {b%c-hRz*D@o+z0 _^%;z%CZM #n8ʿ v8=-EQQD@^ 71n7l`7,2J. u$BQj$kKSTxLJgz2t4Dt1N9n tǏxkڂ]$.5wPΡD@;#c`Y矾)v؃ʕb5ۨPד< Ʊ' ^r7? cQ_۵l+(3d }3.{v3v1ddx-J(aG`_I?:⯃X\?uOh?(?@yvoW^h'YH /\RTqpe3b. %mۺxoc2vJYP;=޿p(5"#ëlQ"D@;e1c6ڏcdE#~_<%P#0oI^dwiK^?$֊Sڪu ^` Xi̐l>]n^I0pZw߽)P"G@]Bq}>xKEB"x>^bY=s\c/e߇KyJ|GP; r5W:lkǫ U.+L3va*xMDc(P"D@*6"0xͻ($OzR\ϨKKoERD@%D@/E`lt%E*UDFLDE}uKU%8^fsz(D@= x=//]-(+PAR^҂b. KVGR%J(}  9E9ŹL/xz[8cYs^eW%J((uoSF`te:YEy^L/x=$2˯8ukl3P9%J~P?`~,f% eOr !f1T]\%J( z?kffWb/ { ; rI9/^>s^?(P"E@/ʙ8cs sI@,H_?_|sצT_J(P"pPn#<{u¥^t+9^?"-=+5-3&={W+=)(P"c^?W|,/3S<><19>s_Q|/(D@3 x=ۏ p J5AH0RÏ+GŋoG}tڵJ~Iw{"(O"piI,&&Dl'#]WGqcP\[[@WX_shhXHHhPp08444e3 x(;ʓtvv?~ӟ>9sw{~qJ~h >Uߺ,6F^w"'.yRg:JC=@???ɓz@^}2{mPjƟ W/;Yi.O8r}6QIpIx^$s=_\|^z` "paF[nIg*Q"pG@ "q%˹KoO,1C ^{Sتۮw^/ 6 LWU}%ߠ] {=uQ{ps=8(O*@F_x{g駟VR~˗ ^ʝn_rJxʼ@>$H(r(z3r|24i/}6}tX&QQ2?e%#yo8^/*hFƋ/驀=C(P"Dn"p%6Z/>6cMw| a3vƷ xf%L^,nvTPߺӷx 31YxI/^^^G(םJ(P"pOK!t!@^r#c 3 ^t12ޜl9% I4M2|Yq^VN^ot {=ﲸ^B19^qԯ/}4) ^ #Q@qE*sG8^AA&CmQ vSB˪}~?'/d^N[9eKF4xNeȎ .` /q/ZHҹ'9yXktxQ//:ׇN$nT^U q.J&4/̐[RW2/{C)Owx4(a"]qBP)O ^*W/lc/k*#R'X98#M S*+#0&xdSxF5ICBC0]#؋y)VQ.bP㌀g&v7%O~H?/W^6H #G/xC3ʻnݔO`J'01NjS׌38{)u_rQqW.Q"а0xPu/___~̓r<' o,4YY+;؄쯄}Bƒif5eʔy-]"N/r%wqWUwݕ/9xEDFP_T}^^Tr_21|aA&>-"ٛg51\a߫21Y=DKDGE)sf x}W..VYOBNB ^a+Gk=E&+7Oms*AYU;/F]7-8?ݾ2p?~cb/%Q+BC332juuMYB;ue67*@ǫ@^r xCql|ҏ[Mw\D=;uXMU8/xB_:8?7D]W{~9 #::elĽuʮH ^gRzTcx/}?_̈L OLw}^z? צMAJn V-_l#[48wrj59:e?Zx)KsG7Cݸ-=ӻy^#b?c 0cL|˜SfCj3,12RO|ة],qCyRϫ9+5&x8^|=&+4cQ544t$& {Dtv^l9%:g,Äk?ٯ8w7Mm ; ?6:<8iwO4# ^F+2 -L\E=~"&::8GrȏNڗ>j#9u} /(zcv׃ב|/&p=jWjlt%/_ނ J Jǟd/`jic'e-LÄ=|4p -)}w~D~zm7H}U=89;}&pq%5We-t'xzQsۧ×F`-msRßoY^UyTOjlx%xk+xEEGPㅁ(K,dxFqD5691=ݝ{Gv`?Z绎Ä! KKg|-OgB-yîu؛\7 Ajژa[y9x00NxUP\CxDGFF{a 5!T߸_NN%sФˠ-T4pjOic(il;)f7*{{CEW5o륹u*xڗN^U?_7ouA`fj?>q/ ^k x{ #{^g$vWTH5>C}YLlLTTTx6;vk&eEÿ,}M7D_?BɔXo$;8wò;E]Y&8zQ3^wݷMtuapJw8` pq|WrW^cDE>]ץWa " %?wW56k Koꋃg1W{?ˮYrZ= &1cm/Qjtlg/j׻Nh1 WGX}?^o*Ѳ5=o09}H \i_z9x0~7GZPL^I)V zWBBB|||ll,"""|ew ^o{WLϾډ8yeQ} 9ook{v }'"u 8.vmOWsn&: oʞL CAЩ [tuGRCgo|kAlv|ȇ3 ']K8]dOz>{zR#7 xX]V.ǭ>䔔$Wl\lLlɓ'<^DOd'Pu q]!{Gq$7+MM$1X!*7vn7 F*Pm`20`  qԐh6UvԅjDsݝw{,=Nwfg>ofg;3#M%Pҋ-N^8$W0JL F>sַo|k_Wo_w?_zOZvݳ]zB|T ?z>tڣ-ab:<^-htv3J _r"t/3Kxjk)-obUSיI)^}ƍwo7_s{r˯5kw }@Q)xʾ'?tڲb$b8<۶m#⇾i84➎reTUU@{4b5^UE/lEג%K 8\:<o;~Nn|{^$8h)tR٫(x <:YBt5b< ^2¤(3U % j^j4eZ0٪u!g N;iӦs9졡:3ϤW/Yd]v) ^͎_mo~kۯ',QGa {@IS1$ <-Cy( (Qf3U&cJrs?vy͛7?ys]ûrsWoZ+ֶ_OXZJ@21Kvۤ\%7tNãW2Զ>|V:k9?x3v˖-]|xх?\x<Ȳ'VH  Fd({KxkB>/^XjKKq\5^-}I5t x;n֭_| Aأ>ʁrP @( tU.=EZ#N, ^DgyEkEXxxlg^ƍۺuO../ccMg9Sq@z@W$7Pv+JtvVHQbS^rT@Æ% #ce/2`/iiaBa:Ja/; <n/7n֭~rO/K'=|Ҥ멧ݿ%:djK@a { lQH>/aO(3|']fLѳ&- R8z(NV5>^xoEN-"x]I+¯^{)$@4PW@%*%Q*,*|j ?Ȳ +'WDuOOW@ "bkh&y .JϋϿGm{UrW: (VH%@ "c Gx]L'!q·+~$+/r=JW * (hP.jP6)kW[j"ώ.%K~x%lS"3&ʫ | 6m}s@6 jI:j,tZ?yRw 1xӫU?\SC.ڒ&3+VW])@٢jW^_.dm]6 ժ T.x=['?O$g\y5?jv> K!)( (h9@ lP xr-~^i~qU|^k|ixSH p@4PvWGt rD+~|Yv& x‹?ZvF_<3f+N`'/ɕt^vyrJu/kk|FRP @(Bڳ׃+҇6rVmfi53#=^-#`P TS?g$^|뮿n3#+JW\25`U!{@1@.x="?i^p7ϑ=/ϩK9M/ t5X~[vM!$8T !k r)dahb*CXx;o*W9rq[KIp,-)ͭKkkSYUfx;xr_=[< xnqxX9 џz/߱jG%i24LBHDKXCCVb" 2v%: Ihy,F,"j k,նlXz~;^ΰWų_bÓʹu xϰu"Y@B^/tͷƛX+;.3'CѸ:&TglF5b e.MI(ERW-\1X7[KfƝJ:]!/VIn+DiP~z-g'm"7rk|Ibey{yH~_(]MY ^yv/FsdةQb ? PnKipnrUDkIh8Rg.XL}XF/R6^ԯHR a;%-Y3yqY&ZYA+yf`?HD~˜9|˜ᕫVxd<ݾ)Pe|v;UԔ5:.M'UQ%b[fP`o,\Fr 8Sz:xŭ3C^Cqc\g\XP~W1gbg$Ҥ,}cMM5{FclqĎ胎2e躜I;)U52nyӋ/fU˃K?(̊4cM N>(d< LMॺrDP"aDL讠PqδJ0rW#%BjmBdj *A'xURmihiE%v*dZΔI>E˽CإZ6՘Y w/A*z*Fo5^+Vgof:idqsO@kvcvQ~oO5 ^iGcd=e2 eIx ~+xI]><^8hK"hL*ֈ%2ׁ ':aLc`iTVzVSr3Q*m-Fj@L~PiiWlq5h)wp\BÛ6WJƼll70"^)Y.A]\-][Ģ*U빥Z\˻ 7&Sl>՘Xw+@ޱt’Gmr`xrMJ9q3 Q7IFBk<S?xK Y{M<#܌aisku o[ Sk= S!)((h)@wԕyiY:J&\3wrRzsy`7Xfq]^vhh.W,UR214t!b>x[wۢLw_dž ^)$j =6z1Kz)͘jTfބ uPsLW+WIr1LeIfy@BDHۤlRY^i}6au/^|'Nz1j|W*FRP @(6Z^]~T nqxr^ ǽsϕx=P @(V6=؏C:rkwޕ> xuȥ!SvHA0U }v]ww:%z@>6nXաC4Z 5">d(;{;#( ^j뗿G<_~ꫯ>(?<+`?WHcexu `fo~u}{^~E% I!)( *h=@z;#(^mœe<^G x{#)(hs~{xћcӦMG(vHG]P 6>+y*E?nu\a @ q %6o\zC\L i"f@kDPvWGfVZRM$FGc˖-\@#Uzͺ}-:f(T{jQSiCKχ)c I!)( *h=@ ֭߼iKKWORdlBS >8j*6meZz\>OI @(@{tTF7xPQVSyÏ,W_kyzlݺTc{Ă%P @( ^UxUװJ[Y(˖=F'}]_>T;dj= ԠZ] "Y@m1`L UU*^[,{1 xU$ą@4PvW1^Ad!E}q4דm۶S:dj m YԣZ]=:+@ "c T=ǖ{ѿtT#-r{jEd14R=C#FA/C GO Ӹx Md,`b=;;B "Rt5 bllRU+"ebAx5=P @))`]4'|ƒD?WFY^YCӢfp*R+.-zdIkǗ?!.x^xTc: &xEఋ%GgWRr-(oJ:'&xjk)-ob[-Ig}hQ|sW9*Ƃws{:ʁ)RAW9J|0WѳxV`=^egDW^yP>I&6]zYcYC#SkVǖG7c6ULȾQ]IuSp).ѥ(+y>9M3? MpæiŨ|!\BI X նQZ\"> j\SѴQ}x2|QkKCú^B_^Z'3KTR‚gKFʿ3JjxׂV m~/[kӦM?kU(ֳk’WŌĶ|[&YCCpd43u*_, X/ZQ,] H,6Z>0aru/~ſ.O/f^fYiՙ^EOVgA~D3ʹmyYxץy 9;V6X>(%^">DܨNpU@0&Ӕ~TPa8ָx(+,q{(S7(ɲk--!14\T\R7iJHA.ܨ90Ә4Ryqu RɪФ"U[I? _[eU<^"2轈5ـ#FQ!Gt\h;64AnKlIA0dm̌MehiQ.k$W[û`zQsVQT+Z9 w 8 1yz}XQdS[*^^l[`l! emlFmer bU+bKQ+x%%6Z R_lLR/iGc4yR=&5xܴBr +%@nM t.)kDru.xG7}׮;xz+5NG8xEҎbBSŜ^XJ\_Xv8ۢVY>2[Q1ݤb+x b͢GeHUJ|M x8>]ѯws~ee-5߲`/sxAG_D0Tx-$b'p*WPa7(iVQ$)% B V{k\JsUs]w_`-G"ޱ vY08x9 .W-eCEVݹ۩[\g(4}-n-)#i3]^\ߖnՖȳ xrL$ƏvZq/ɓ\Weg3Ig^=SͦG>ULwS5<̯l`A[/"w:!`Z'-FH .1kX䍋*8Sb{Q d4pmkX^Aw2ŵ3-Bb5č*J74Xt(vǯv(WxUװz^l҃kʔ)Tc=itԆB@ GC$ mjܴ%_[lv ՒrYk!yDתUNj׉xbWKjf F*U+bO@ZU/^ I!)( *h=@ lP /^xq_ I!)(j V#:E+yW#[\H @(ڦX#{>2(YVz֕(@ghS\>)"KCv?y )ԓ!{XY^(PFI!5(4 {@1@Ubxͼ^;)$D@PvWEx܀; P}kxY&~_۾8s= O!)(WmPWE"X~}ARSj+0x7vį&w5AS )C(@xU/7p_5wCLgj;vիg8*:>3 zv H @(zWa/^G.faOk̘1V::j6!{@8ըӏZ4d󐌗%~+fHYkt)Rn">cŢt B|]NjSxA= Fd({Kq\("xyNj8N傗 {<ոŰPZ\?o"Q!)(*h-@8@++bm/!jщEƺ ^l5=-2-^+[ExX2u1vF^aՀ FZd({KD4cQlۊJmb =226P=y"w_+H @(Z@ϞwH(T+rv TB^/pS7ئ?8al/zI61گ>~[ӣw5Fg T[G$(@*[}U1uVqZĿ9{16Y:^|`*B+ՐNE:ș\\k/.ɷʘlʆJH*Hl>d.̽,6;+ثJ,|c!հbUz߶X#}*9Ԝ^xZEoWE*q{[kwuwK6Պ| So+ AsDU47u*[<(k8RVLͮQd9x 9!C ־ doVqG4 ;99bdA0hUZ"5@/":x gR2n_H~2}9+phRy\qhj0Wft7Q.2/nX1e 7D+nW X ⤿?u?(q-.K;$v=3ڛ3 x_JCekۥ֙2Zn^4ş죨.*c0Ǚ@2'8QDR,k$!D?V27鬸/Ja\aSpjur*R' ~J#*x0+j[!Ԫ2f\c%/i:!$Qf-v(L5V.GW*>BM5zWϘqDa(.QÇ}^I8렣W=^A9& v]( 2Vbs KukwGIL*Nqh.wN%?(+)WjMl-f7DŬ4WEBPnܧW%NP\ ɒ*1uxӆE-z<"̱?xsW +=^^Mo{sQ[sӮwNr~eez'eC^lDWWW|Tw8iG,cuBdO3FE!>_vA5o:`BRq2jn~m< Uk!$rF_"RZa>ÚxU?^ʠUANj_ʬaJC6 Z]xM=R"TcpJQQ؋]/@q@5 1M~z7U> S$L[KJ/xvRH i=mpB(.j^uQGq+`'6 Xd@u~|1c/^UzaP V|bAFHkÄs5;;0~xj$jmàmP8)@b~ NC.چ6Q.EEsxUw4(^ӧO^R\@#SPƊ xc/x I!)( *h=@*Ɉ>(^^;)$^W*xn@+* ^|± xP MW!GuGu^/m}P @ `qh@q)5p]2$#hP DWWRt԰VZ 5">d(;UnX:k٣&PFo#  I!)(W*h-x͞1 g-$+xU/^+`bY.pBEU^HN˔^ŝ^+`b*Y *^| xP P-ʦ y X$B$K8]OΒZ ž&A(Z@+#K2!\ZbB *!~LmIo 3+VW])@٢45ո|LG+.c"b%n'n<+^ I!)(5^W*hh֋|WQr+ JڬI{uaӳs5;;0~իWsw+s}: )VWHP!{(%)Q}TH PtW"x졐P4$ {@^lUq>R,`rPZ 7DVRխb5#*x}@kxГA^֗G_d#Q/ZGOWKVZ_Icx0M=.,Ybr hE7s\u 8n sݚvP^OŨ@K:+a >J7u{/'d.ܢ 7FR^ 85˫1x}@D?ckvUK6UFji`u Fz34E-Dm!JP*C&?8)kGFNkdzE̴9nNLpJ)B 2I=Bmr-lU8jvvg:cz Ҭ)Fql^ﶆ+(WVv&̎ і^;Z^~}f7,Fȏw@#C\5-,ԥ!v]0[4|(S,ȭ"|42l=[\gIves}#C+Ťvf3,쩌E)#XwKXTᱸw9Rdn%PґuB0 )&Ȼ̢!CRkb[r<_=,M=VYb|G/qS;)$D@PN׺u,XpWooqv\+V(1ZZCy%\@L8{U7P @)QZvٳO9唣>zƌg>~'pI?RUVvZH}k`e u͜iʚ5krׯ?sgu92fTK.'|3mi&c,W tnqO?}ꩧ`qn-[c=4Κ5먣oӨ ׷;#鮺*+WkN?t~߿KH[҇DWJXөƻロjM<.=G+DTd3&gΜwHe~ WP--wA/pg[r{6xG-3Z]# ޭF@Zz8$Ӽ2Do_裏B{AVq Bz5s2 E@!OKi~d.BsհE|907 >>W^y%CF*/KUkO?F^~ HHS/C8`_<@*l0Py2ȟA^ZV/_o~| 4ҺZ%~K3-''wytz 6 i-s54WfI<IIDAT=f˵^˽r [w饗8hi؋|0ȳؑfeƐT2[YH_Ag&Z]#-CEϸѰJK_x>҂z*ٱ|l.AEz F )S7xf!A0D:!v袋gɾonl=s&dCs_ ^ątf!NBpMTcIA(@ zZ;u'"qg#0p˿ ]ܫ%B>޻Y ;A:=1bύhuk)\wVlo .Z|F.\fg/jo}LP @ t~_tM)ɒ%xN] =&>G+"Cn-/ Y>Eah1yGKn0rK)Nz$h rvA2gK_D GuFA_/FR y 6dgW6/Z$GSrZ.k…xBҰ;-dyLjDJa %k^d$3̣ͺ9r,[1+zQ\]WԥEyE.P@E d0.9)=h 5( {@ٻ^L"=vGs^hJK[|?z^F );Z~DY-W`h7,11o=[5?n*s>/Z9uѴ#bOR˭gW~IA|T {':0F6b&H\u>DI(DhN2rQ"b'+ x{#)(h-\\4E~#q{z"i,z^4lU5D,GOͣF %Cx݈^1]*]\=̠CiAd'}f4CA ~Rifv=YNxNO-sYeHMvln9yGӶEyvM0 @(П Y̿B>ۃp /utb( ԁ,GO3ZHwYJ z>+%c ?|ڝ,!ʡ!oiW$cή x?\q? ҟ*YH\Z^rwGevPvN5*ob*gr#B`!({^\&ʋzYe4+  -2j# _5^>-w D­hE5{5<;7q^//( =z~Ō <S"r] wB.TrK2%B О~]S#T~a}!t ֨3-Bx ^wvF%W\x>\5q@N._ ^6(6[XX]AU*hѢEl8r,׼EtO*y;Lb3S~oO5ewIS^*bQ),WuCdDDt9{,3Ou,% #iȆ3;@ 6hRSRbMPŖlz[/uX Nb/1V#ѐL˒x#rц_~9iy83Q"P/6K8{>$8H " U-/}\^UDO`ij>%H' lP) ^ɨJ&.Zt" ^iB [), /N 9!C ־+,hz4kU';>'gSly,& 7L ;Vs.zIcn/i܆0fh5',GOr/6o"x${-cJ9Znۼ>ŒrL.\ ׼0٫Vrvh N[Ƕ2܏;FS5 ht7T l{ -Q-W<γ2ȝq; 1\gW+]2]OvX{n!x8R"ڕ<^M&VфQOE6Sf9z<e\ȶ N_C HE.c>xtSZy4 xySZά(6AKgf3unH2U/Mnn4 N> bɌBI0ڮV3/6(YA W- jZNz\_ |irUm)|(miڞvN5dD..ӟl)*mV4H.])5'xB +{mu % ؎<^zqΜ9X5vf=eÎ_$렓~Q1@KTR R_G2=Xv$,Gv%r W٭ zQ~D~DT wIrTBHKՒD=$zdl6["`i:^ҜTҰ$A q$ǔzG1AM04#w̨(‡eJ.*Ѥ5>)l# u6C28)έO6BOR*|3 {%g5P9dt]Պs=֓Lm}Eo!x-Y$`9zWm-j,χ!SC4Z]#UΩFzOXM ^G® ^lƀS:djNI5Z]#C\T  ^G®^ԗdZաC4T 5?d({ k WXMr|}[u c/WƱ> < d(i,k6>9(/ʑՄ6Jk<y^PS;$)*~c)M*E9R6l;w-٦#{ZnaWeX٫IG '(@{j|n~35ʗWC6Y- /KCz~#V϶mDI0Rb4֔y$F-yƗdʤjSMj K g֪PSH UUWA_\F5ĩZ]5JƆ%x~(^zL>^x1`W|*4d('<^-PP-7P @)@wlR|pskx=P @(VV-@Fhxя!~[WP--wAFFzd*^aZ.5,蝶H٦Z]#mSN.h|,wË-[q~ 7:묭[lJ\^ezeTCj Uӯdl^R8SWkf!ƍ_()֟؋̰ Q!O?](P|3lx5%z2 2!N5W26d/)\3/Xhv2``oߖ&wi9qlH @(Z@{7K6XC |{B05@fȆu5h!3l׬nQD^ž&A(Z@{33/DR>U"PQ|+T^%q8{U;djKz[Q]HU'74n3UHBEx1Q Fd(;KdWExNH 4, {@;^/GE>ExU ;!)(jKx΁C=twVW]\ߣ}u5}9S- Co]Olٲ)xWK.-BTcn"b o5kE?蠃fΜ/}ꫯ7mT(/8餓O>6'{|/utxvp0 @(6:^wqǑGIUW]] ~~&20S\{"{ wGZT/Xя\p5ő>L><^'OB5 :kC.ڶnVtU"B*)q;4ոjժ|+4$0|&@n:(~'{'A<^s%\7%˿cgTl>HÉ'*%c sզ /E.n5V}t/a""[͛{F5uh$^n}\d1^LsJk &2h}4-uBFfk|oVCE9&oiv@EEkoSO9rNj6c"[Âַn%%w7n̘1[;G>/{a1A UֱK ߅ ㍮S폌P~r5^4hƋ9u^&M)x >;z?l$S"#3DLK>(S d-K:-`m^o/5*Nlqi-Bxl,]/&r#Pۆg}S&.^xoWe'3H6m ukѢE'iYյ^{ǎ&g !H/r\=Uj!kW4Ruva${SRJAM/r(|SsvcW< m^?#)b ++EtM7}_dqG@6!"WR Sі?mE <4[h(66pc^S61[:qÝjԫȢx. 5_QN'x}s[F߲%R'Rށ,Ukɒ%w'/ G,[K/GE+ɘ8z#%_b9ԫ:]\|0)yCXx9JxćS]pDp~]ΈwJH[ĢkxhitUܜՏ6VEJo(q-..8%&l̪v=3ʿ[W`xr-40_tE~:_r*SVd~ПtC/Z5W\HǷv[ 7??dqlJ{ψ2t)зs Ccrtrn~G`9^KRk!^4YWS;T}F.inq&| /<7"YhK?`}5pL5ƷkyxM[ܡ]bolTOU,CDme͞L5xe@l3igTv̥er)OH_yƃ/'^W1i+Ū^l}݅ЍtG_Y\-OTD]p!-g}h^r{ ^i/cF_r 8O#*=yJ|F)7"x6eW֯ɏȏ(p֫*M;G 79/Mvϕ'Q/B>ayzacg+DL.xm޼G6H_Q^X]vgJdF+hUab>mXKC38*=tk}{k/zd@MIҳڴ DV+]8U)exVKb/-bjsq=/L5V ^GQ4b>EZv+94p# xG?^495-8J_=r/>9xB=#.Ϭgg,:-ϷQhC :< غBtQx;ӟ4.{|KC& (}~X&q$g9n|##j5П,ˀ~Oh]`N1cL03[̎QB 7EoQvƓ*z^H46_W)@!#c9$9CŢ404^㥤F2B.$Ej6! >Oukr21owwJ Hg*v2eؕ Z6 ^/bWpT=-Wóem_v=3孝Q-\\oʽƋPGk'=Xrtc x݈ 2#o;8Me#/ڠT|^HE~/s^[o(xr/yȌc!/zw>/KD,]$^>x hƊU9^;3st/r/{LC,WFSƵYn,[0'x]Xn 9x-$XaDp7R {E 9Jnxh/*V"3e^rWH3&e BRP)h%@il ^>r2ZHXW A5^I'FMVo4Ei'WE\2&WN IAQ@#er/w+. ^,SO z$Or샪pE$hiS}7|4m7&+W#m׾5ʝa\ C׸^"袝6h@PH @(ڦ@;3 =XGiAI'tRxg=h}^,SOBrSc|zzezc=F, 腄9Jnxh/| k{^/"rwLЇ8x^\߶>@(@XZT#dlr"As;mUJ;<]uUƔ)/vhYe0o*A 5~ǎmf/^L뢃v"1^>o…+WB&/b/ٳgǫC.Dj *V׈=-/ǫO^kNr/}GxL=a/ &p"l`S?ZN?R~}׻|]to%mI>7|tl'AK!Upoa"ou]'b{4/87rͣdyQGe!c]WEI<.J0nc+<^*$ FZd({;G5YM=*tㄦA7: ^޼|;)#w?O=y[B-zi)rm2/^8WEE3"5ն@(ڠ@ [F\tXUE2ćϛ uYUBE4JA ljVs\<*dg Wu'i[neĉ[>}hh h ݽ Z^=f?'x-Y?P!YU<j x**l0POWY wBO"Rk]vx쪐` i =N`b O!)(4 {@^ё~' ^D]y=cFRP @(BZ4? mujaP EK/.^W\25`U!{@1XtFT x{?W524u 9dp}``pX-qӄ9]/LȾ,\oԋirIKRqpQ6_X#vFvȖE媠q&]HI)Nnn6T>Eܠ> ^*V3j^ocQ+@mZczNj=Ou џz/Fx:z1>KbbÃ(SxGRE.T')2g1Kضr9*HHbm% nex mpB(.jʠxZ3f̸FƋO8|r_p(PbBJQψw䂗hEfbv٩`Z w YkRRyFM^wB^zUrxFFE@RPn viE-ƫDa{ֵ[;y1nQˊ| So9lW2*٥ڮ+YL"烗ö1T3-z( yHсΪ7ӷvSSz+of ݙO׼N ( kw^b^{Eh{Vxd<ݾ/}dg)8m%sfLUK-IE7e\^1ؙ"e\#ڄp;kiTԩ|cq/!Ѽ#4ׯ(n7E4;$v=[H*oKOcfPk̘1+Ww}gO}SD`']@5(+, CR-K/T}K8QHWFa+ZWjJ8LjzhA?WekD(M\qfjtQ2> - 4+j[!T;,/3)/Q#MM5bR xv!tW5^cǎ]j~1{ohvU2 bb}N:hU>x=^RTR K}/(őIl]h-Ul%5V{FQ1Rm&k_ Hbeh&o`ޫW:78ա6^){IutAxOu76s@ߞ:k{ Yښ4.)zR2/bghYg;̮;% +xg0z^*YGC炗V3I56P͆~ :8= x55#)WJkܸqW>;C9ל9svmM@gH|7|JllhϙF>4^ܥyTמˉ5 'Ѿ`eKWvqs9(z~4]9[()\m 0)\5~5kuQGy$סJޯ[ou„ ˯vv;{_ /kd? D#d\/.)l1Pe%V엊ɓ5^vw%~YDZ"0yG%J@/zI6vOva;) Fd({u\+c@@,a03ӌ)J_Yg!M7ʕ+MAmhwO5쪐` i =d*-KH|0mK}KNj8̤N5ҷТuK3)`鿤wޙ5~D-QHE@7^f"lJI) [Z~2QD*I+ Sߟث )(Oxz92, gk,؟TTUQ CNP @*mmIgϒv(<[/rrO5*H}^ESljd˃-gS `S_M? >L /=$짐K,^h/\l vO5MzQj,j$/.ƫ xu}tNFjS¦ F};fARv]xiy١쀏} aK/U/z]D] nVW~ IAQ2 [g)v$x|QtV3fmJ/؋`JT D IA>)WPsW>ƝFߐ" (oOy >(:Iv}S9~vRH i=9{uw%"p}XUb b6P- x{#)(h5/ݒHQ)P ";wn5^-#`P T=Lš/6Hg2HIT#!g̘A{ѻKW\25`U!{@j+43 T/Z\OEb])$ Fd(;+$@%"swuQc<BRP)h%@ (AkթF/.v} ,4i+`W6 (>+$'x%"/;fΜp=ܳxP P,>6U ^EW {:h6w_6P%":c=Xk<^rwԖ0hu5,d/!-  (Afلs=un9x MHC#.\n}c[B/L/}#YLߨS/dj$3}@-Bd1UAI+mmϯֆPZ\c6D AAhfb7xuX( 0h#+P ֬YCk0>jAg?zY_}DvEcWǤŌ)<S"2%+ŸLRE.^p-YҸL \ +T,s673؄U/^Ean +Tt^g kܸq^j/.ɷ ?P*Hl8z'PM.x+hM{q].dr>_1'ǏFrcЮWL^+`FW(xlc2?xJ6l<ԘVWd9E+ ]lgcIK&5W%v?÷-RY`^L6(̜ɡOk˦6E$xGՋ${SSz)6H;56|,>6U(^+W3v؋d<ݾ8' &̦ ŜSRho*&`["e6hte-g:u~5.1!k[&+MhuG)7[egvkKKp}:h#~^ K?(̊0$%"Ϝ4|<d ^K2<L34ÍBI2ZsUjrYԳ9f$ k6EBv#cQh6ON1(U6ݽhp8ZjWkYvf:$@]7ޠ5vF Jj2mE0qpsxJ/[tuWz_kX"R`x>&Rz7P ,2:L&dBjP+h1@c1#R:,}}ř#qɳvu*W^*xuMH 40 {@wuoW:8kǬox5͞llQYޘeŽ:y0ס32Zn.^x줐4 {@ٻ ^a^*EeBϒ뱇lF_4+HiTcIA(@h*Kg# xEeŜdL(@u$bUqWazĐԱdMNlY%ؐl9x WaeRR/\~ h h .h xxROSWg e*^"3[ ) )kƒ\ހN̖^Fs}؟H `WmkVAS˴ƋFq8?ׅATӎ_e\ҲXHG<{qF>hNhѢɓ'R&㷧P!S}tBF A0/djd3g4n5ٴx+xUQ(@b쥂.zc#+`'<^W*;2me#'ҫ"+oW-ʐR*x1bx졐P4$ {@L5jgEïaVtc=|fң+rU<^oo$-TxIg\WL'NS=暷_c/ۮ`y)x*PhQjd.F]vs0 @(/s;(a z ofY}3b;'VwF ^*W\2=.,Z]EEt3rO5/(};vl޼2kC{8mh 5^{|\,xҥKG x1Y/ֿ4]!x뫬P!SvHYQ׳>Zzc˖m7oٴism\f#uG2b4x MHC#Y \f_ a _J 3Xɋg#ZfDZ)$'$W & k&a#dˢPYAL2V$DBP2ʯPZ FUx5''soV@U|)z/$HD_P"#3bɈE:4JAD.T*%A2g10P/Wnh Bͨ!z:xk7] : ^b/]oU,H. %G-8(}%`K&B)z%( *hP].=0$fp7)x1fWȫVZnv@3<fƀu5w튿KvPyy_:(2_B^efꕠ(l$w>i8hPmKhF%Y+C& 3`r7BxJ~>-T^={|(,y@ܩF:ewŰ|j ?fsfLUgCE)3z%(Y*j,\j |yC (u:u~׸P.RM d[CQb-.G z~v=,z Z^.dzuf8gj$SeB%r3!8Qy 5jF2:Uj̋WPM(>vfXsL5 9j xU> 01TOՇ,CDP1S^j6㈥S:{/wWbr3gKC*T dw&>2$h֎r9&aF@SYj?0T*Nu4phWlq5D30[hK'f>mq11 ^uk4(WkqEu&jݐKyQqNW<šg-wFf1PMКu5+P݋;z8 lmL:,: _xŭ[nٲ^+WgY3#O=Odq>e[!ia@x{#)(hR` -\؋NDxIP @( 5<#~U%:V(//~T;djKz[Q]H=WUH^w0/{+`W|*4d('S+k׊. WN IAQ@#5:I.@^D/b~/ NL5원0*ha@ <:`D`EGWIA(@  ({1W^ƍF^/^Cl6oRXH_Yq漡=ӽ7K9j֑I^j/mI;$+T/rKy=iI h^tѥd6PM*Җw/ejNx]#jUn[땅EE(x9X;^U/u ^ C(@I 'h^k׮+W\24 5 {X/A |uI'ѡM@#mQ6^%+`'.@z}$S4Hx줐x5^!W x{#)(h~ /b/Wz:h,@@Hj/1M Sj%%.菻rFZ@Covv~RڄeTc?rX싑huB  QV x{:)^gZ]#Ml3c=^=̀8`_<@*l0PVW ]"kх^{^&L+V;n`s'748ydL5쪐` `Ϋ©zYڐ1t:ycR- R_ܐ3$1Yܤ[4^Ih/J/9jNIx;rh!{@[^1xG2!/fHR'`V*P|f#vRH i=M=PrxEeLRi&G"6}+xƴtq?pWbU޽N m{0@kU@7mc¶'`e \̘-2g*E[{ް K*@m^uB|p+`'^?x96G>˫0xBQ1AW﷮ȟB^ثǫC.DR*V׈=O5WL^f>KCı;[HM5Deݐtc*/ơRndp}``\s}i_l״an۹ӸC7JY G\L׳ &&q72U*]MB%鏜Y9Fd1+_ps V'T 5ؙE7W[/ x&/=FnLxJQ=X 9' bw}]iaU!{q}|I>`x;-=c0 Lr/e0bFm!Ez)$C7D,qfE(I9}Ѽ1L9(qua+W8l)iu fΰ:t4VW2#(v}H+IMkd+g; ҅/rz-Z Tu1C +*F (;{"27gOX*, ^b,%. W 3Zmuz(vA?^xZ֦V-=Z^%: 'H|@+shDTS-ʢPfQ⣲(3NX‹id/7fBK६?/VTo\>A/l&=_f{Mm?SSz];p-?Qڷ%1] tR"1Qʥyؖbl%?xLݍ$Rq B1i~*qA[Y3d  "˥k'TsIk-|Wo9lՍCkۄCyP~fwõRˮgvk[:tV/ ֢@UbIM%jL:CGtϖc14#c@ hg/iJ(Iي{[ ǿx= .B~e?eiM\ 1sh8Cx1՝2ISO%lp[F;%3 3L5E)~Q)9 GEQK_^"3+xI<^fԻnP~?ߵA% ,m\i^X*if/SY?0 #Ecfܑ&0MWCrUtEQEx;@xc; NY[\, ƅ|1Mtȡaז/ة"U&ou5Uw एsq=g/LO6Wl]wS  un܃`߃2u"MqѧMx̼Qgzवb|Vb?Ք"M]l8e)i9s,^G?ܠW覸ZFև[I9;:5GfY( nix,BeNR=y3n` s&pM5FJIM %Mk,Y}yElT9(+> 5hfXn3Χ-d\iq|k>]\/,W16̋ W >.oe_SL,v@.W@U%&\{@ĥW F6]<*[].> r ߃^] -?)NGK~y( n6[Oj9 SG% T\Bee*=IF6^ *kpI( ;-O{tVl/`hxyΫCV(= 5R=jv@WIC_/FR y 6d' ^ 싑 Ox;@MS&^$V2ĤHX$P*zɧ.kuPZ猠YuՀuRri=u7G =SrN }qIy*V)T`=z3@‰=/酩ƀn `1`$Jނg/WN IAWm 08xjD_/FR y 6d' ,2xB*/FR <  59xl#U޽N m{0@kU@"J5gx+W;n`k׮eŏEM<ٶCHt㷧 x{:)ŽVZpn,:4bQ ;24u 208\(n_xя!~0q)5p]_z7nܶmۋA?/ۏ۷رcЎ_$W(],GFx@6'nLmS:OlTcD 9v=_iG]7*=S]㏯2ءC#r PvW Njde#L kHb+=j$x7R@PVw(S]RK|dǒV3MVJ@_Xq<^Z,eBIRBܩ/C%[bjYÜRHuBb 1QoTՉrE уXU"JCJPiW@1T.ɷ'A9t,ŖXd9m}ٔd<؛V.xY-i /̠\zEO>-hͶNZU)E *5xPL$~:^%D<~r,s%ZܼJ̢őM0vÓ&66hV\B8f["d^7!MYN32%HsPe(Ё2P+Px|ɷ~{pi*zEUK4/U8I˪Z ,lu'Ţ"˥"T*X[dXбRjR貸ɡHœ%)y#EFmVժ 2kBW#fxyVWq7XdwHʣC4Q >8Q{K4BeFv n-Zfv]e 2[ 0xtnTmywdwZBs%&/ʯTc_W/ *PxSU<^;83?Ώ14&x%3d۵#iN/3ZRAQj)0%'2jxͶ "f7J1L="!YF)"lG6WֶRٌFCԫE[#;aY] 9[v\g.DSWy0KuYFZd(;گ@o6`aG4Rq=b"++:QK[ 6T¨3*exI_: 7XQ@Td(;+H ^7XQ@Td(;+H {U Pxz-/bEM<%˱|R婳%(P @ *U!~Lnhu4 PvL5I_^VzUxu됩oS:OxI_vW@#u (&j9ß`\r՘ƏvZbjSUHAگ@x7n\Xj @((UCn)Zfq':*z;O\h p]:* 8~U*%3.fTy!~pSDRWTi)VSP=b"+ YGC@)p(PPW@1T!xjlSUHAگ@o؋Wj @((X\/M_ܾ};6oL/3tLW_9Sn*A\(@Eum]P @ѩkt,uxb2_?sr/KCޗFkZ!{@SxIA^KՆ: exI_ނ/:L5v됩oS:OxI_W:B_RMZNCAگ@/(ǫ"B(WQq@oItYZ(@ (EDj?^~eIYG+;djtW*eק &L뮻~CwGq-+HfF$ԡLG0bx0 ?.ǓRʭs_%d}cx=^Ru}FQ #\ANٝJ)[a^ЃL~KH=q*-[Op%_ ۼy󩳆FF._A.W(oX4$t?IxΞIt|pe"x)O;*2y)濱;m fx)~$Kw+߶&jP51.jX+b/iYX@_]̉yuVG^ȥK m*Gܦ@\0Ⴡ2)/scIi7~QPo^R?K9 XH:^~*AIk|]<P)߲xG$a2ljE PRR|&c6˜)>, ؄]@"C{r6H^QcPLwSMM3ngOT! E!2r8"}Յ.p5`Y4m.$jֻs47)x!2(*[ڢtg5+K*++ UTWu 'U: GFO5B;>`u ^++ ; 'P @x׸C)POT#A)Svgq<뿡 BB(IJ^jxP @(^4("N(;z^Nxw/P`*PFV(x ؚ+3lyS>,^SW* P *^^تE^.zP @)\fdd<^1P @Fx5";2-nmQՖ 0JCkohr__m6crUpXjqǏ_vm@0\Od5 (pyfasP~g!s^*7C 6|+_{e^D]{@zF*\7u>속m|Mob;kx'fXJ9/yǟ|{Pk3f=TO'DZԁ_[T>"_,7)ylܸ??wqJ,rdnݺI&qb?x=Jxv}K_sw+o޲%߄#R̤ID8x=rv.YGs_|]g^p Z ^"e,9yMO5}͸$)իߧE.7.CEmQ,If4hK%dH.t]i&څGGo۩_r%Jt"j`֬YS+ڦݕR+;^Η_y׈~[msW ]o.\q{kO>3˟Zbպ5nQ~.=k׮WL]g-MPj-SI$BR.蘺2iJ>S>C7DikD3&ӯh@WYͥk֭?я}ݑB</F]b>装2j#xH^Gz+b^#^tW]YQYE#OXrڭ^ιD]'όX+N.8"T zrG A8ĉVPw'i0M+$ij|ȫ%d^ ek^??g??Є (>/=իi]G>^˖-SbkM5 #QW4_IŨ_6˼0BE_&m$zc&ȓyO5 Ϭ\ٵoݺmck>vy?w?II,/i,cgD#5GtpY+˂X2Gx*'Y|?x" :PK'EBM_H^asדeLJ iz!??/W W{%xg"JLJIipsIE0^]@Aϧ}E*~7(o *p^1> \ФГz7QZsŨF2xJPSQn^iʔ)%ߎ{fZ\O0Ë|BlQgپXl0h\Οa 0^x+ktZESWBEop.UƊ)m$ WٿTPO1EbVCFWD턪t5iek3%5K~|_]82Š>#3 %}Rjj ^b>`Zx=}667q…O>I{;뢋.*Q뢝#jz;ʯxq-kN:,du ojzBO`6n~6yQ.;^TK߲)BYF;?}($ˬC?J2+XCzjQh۳ks^QeTgaћ$ 0WʍdXU3ɥxviS"gAO /&7sr/\{U\EoiTگvHZ ^CYeڹ^ITHvM~P:t<6nK/cӦʹf ѱecQ3B*i}`G!vHviKq>GY#Ƥ/WJӞD"IQQ6hQX!VX̀K,fr|eDU %%}Sbou͹\s-^^˳v ѹ _/ɦ m`{01r~#{sxMEPz(q<8逩F! o,]q"j`zFW]umFNқ@wO^k1hѢO5$ƂK:3ԙ1 '1a O= : '|Ϯ.gS|^f"";hw :h;{v+H>{܎g (5IVibI?G ij\͝;<<|+s̹%:no}r}7ܐ~J,:'f714\s5?Ϯ_qWW^y]W_s/ŵ_{ p7|Íx3sn:of9|-Yt:wN|:&>=?!=N,uT8gL\Uk_@BgK'}?ckOoO(Ewڴ堃>C̣FD9)Ei~#cQ~|S柠)/|ez!r(za?",:Md;ݪ/AG1sftwoL[SwTWxFf0YNa5 ͌9>(dvұ`}u=yX|FajtZ3:|tK>P#ߐ'w' `{޿vmO#ا|~bigO}so˹ϴ}D;ƹi߁|āyС9(:=ÎycKqv0@}{r ?B^ӋZd/ШP:pᤵ et}=^)x%5#N.KP(q$tQY+J"^#&1E|exE.3*b"c$] q䋱/>r0xEgr$GȅE`n?(^+~{H"/;`bkً7-֜ӫ:{uDQesz~/Kx {Ӌt{',߫+rV<9xѼOrʻGώ3"2 xqP"pűs(REEH4D ,zS6!aXOWb{%MYFa?p,&2e_Lfɑ8\铒 i4c^3O?SO=˟XG)O>SO?3O?3 #+YR9F*p\E/cgb+\ԻH皵k>uqK}c2&g,/:P LxS+^vӕta$_Q׌cN84pW_x^~܏:Kǘ99ȉDiEGroYbIr,mMWֱjU ۄn wo[|o}[[/xNivCc9f8'ħ=ؓfg-IENDB`candle-1.1.9/screenshots/screenshot_compact_visualizer.png000066400000000000000000003441231421102410500241530ustar00rootroot00000000000000PNG  IHDR(ΧsRGBgAMA a pHYsttfxIDATx^?Ih&_ $w b\{z>Wn04b !! 7o4;Jrw{ ϋN+FOZGy-(X2-cUE\[% ]Cc٠ʵXr5^uMrU \yW^ʕא\}MM,OK} :ơ(jpŏ+RrXK򺗇b+p,\4~(Fx.?D/h8HG ُ"s  `A?\Kr]xhV 2z0z\JWZ5iUɖgVǿ/s>OCO>T 6 ɧ䓈ʅO>+>&_$B>\#WBf G|K>Ene'}*ɍy9/{J>xB{}y{.#w};7{ݷC;oR~mKz~䭷+9:ϟ,XMOKοyoOb7[oBԟQ5].˺/ juΛo85g;C7/y_|j/ZuubV ~)8J~?=]BhuSmaxGD <\\J<‹큉Gh"dPήA{s#*c8 _~eN)2{>|??BvN i3`JW +gΚ˯lؔWP0(dҒy Ok%bJ ,_`d>/`aEYz]fHd2\)sϜ=oFYs2gNϞ=5sYfL9q L5Y3&ɞ3-3g:$#{$=kjZSOL>iʴT$IN5L<1uIOL8i܄Ic'r0dȁCG ;ytz tZ'iCҹl*Dp;5m% uq J6HM۳p>'۶CH]!;utܽCg|vإ;sמҭW ҽ^Y\֫ Kw{K٧+wHޝ5j{,;v٧{ϾBh Wحg_tՏ7O0!tX,xD < ҟ>4L|5x46`Cg&??=222ncƏ;!2n"d )x<%uB =!Mw1SO~hjZƴ32!9j;?O=}B'N*9q䉓@,'O>K ss<">ޣ&l)mE`[!^\Vpfi ^YNI y{y$_>,|bQ|| D _ފwW俽"oWWm.*^iW^}bJJ V|`#XO(\#t+(Z_DER0oA+V+j|DՂ$[Gdz /,'1# I6jQ{N'=wңϣCJD2kXCN~"ӳOG& ~V)Fxܛ `sߦClԢMaEf#мuDgHrSa=8ؒ-LdGH,UL.H[,1(j܌x~qH&#"!N2=-=Ѕ|(D,S4u-S]e :?*.4 */ yw=KLǢ{6nr@@h$@`$P 4ֵm'KHuf;w%m`x&۳b 8I\U_YҹG #+ם⿮t,qt!~k Ax"~8)d-\ [= t3[{oj_CO/z6͖EP9/e O25()؊F6e|q) d|Ǒ!`*m8O +pbN4lCG<| x  hxo3-vjj DDG }a6E5o ,`i@ =}fz$?ڜ5 -rla0HY0`wY'|cqf 4{qӇ5}QS, H$MJaF1@o~A +kPSO"/vچPʧyS)\BjT(%MK 0a7M\]WRm®.l? ]!2]&(ЉA^b]n۵Q)VlF$a˦HM,K$0h ptc&S|&4-mMZ4͂0p9:XmЃ$uJ,2Vp>_i# L?$l`dٲ["B FҥLk&f5bа~32 5r>$"xT'x8SI(d2%#sixyv>NxWԭx!G8Brr)Ǐ=~]?zO*9~),Iξڨѣ(N.<}B_S>6E"۱'S3œs2^ׄ97禿37]!)mi ηA2ޜqn^2^qv^+2^qfn 9dݾ{ X lش9+;Еtל}up)X t,g  ~{F/2wlNd%V/Y)0-`\leX YjUkW .+Vd͊,G :Q嫖,[xي /+Zh, wQ3X7 f-*+W4_4[`pyN.S2p"VљsOF!ed#,=d6>gf f.$Y9Bx9LmfSHyF25-loDie 8cSY kSOS8 &4hGacUޑ-u)c&2rQdKKQ 58Lw h*I.dO ?E2mx<6dxC^p" a^xh׉ufZoJE&ۢI>D0,=.1 @<=6zTJG" "b "JhԔ:9ʕfD< U Pm#6q:VS#,q5XB`Rp\h{f?8$$Ol@Xத+Q3fe"! #}B:(MX0k.&Z|\CrXXl,\SYvu֖l,Ydƒ M$-?!֒u7J)ٸ;eM-Ibe+,Yh銂%/]XdAђy ɊB-^ƒVh,2D.^lrɨi[mZ;@R)l ag/ȝOy3AӟJ|]@r愐ߓd,AvA $OhnfBji3iX4k|@FT!lKϤ@E6,viY9Dk) ;Mȁ͏D]fdX !C(gئYS ;Xֳx#zYTZg.YZ3 a=r&V@_b! T<, xAՂPM AC}ɽ6&X#5DS-8!F%=豇+0 QNq"Hb=JƲT dDLR#E ĖAP>hm42 Vb n S[y@w] #pPpl3n$y*X]Э‚̈́iFe(&IT tL\SY'&g<¢U`X!*E_@]@]mY2݊%}n ӄ.!V> ß0u[dmcݵUnm7 +aLX%uu -}^m;`#Zx(z@Wa4"( 0 a=BLD`d#⎟\_pA 0*i/r:uO=M[6nfٺ m,[,ٺ}&;m߹}&;wvEϝz~Apπ)`]8d=8sINu 2QO<:O/Ng'xm&?g8?sz|zSd2TW4e)#_2ԔNurʨrZ2!j c[g~`po k]z6CwF|F/ۃ "G,#fÓF 4l(2q. Fqd@ dDLM0n׬]gOYzeXW"Ңa7o`لNy3%{ݼe%6zmDb?>-vlBtuNȶzo>4n衱Czd!?M|j)Ϥ ~%e$C^!>ueVg'>;q>_r62վ$tʐ&95qȳ8C0؄aG' ;<~ k5q+K;$ ^U,^́&z|ϋ{?/+?xik֭^ij&۶ڶcٱl+eBxmgpB햠rvزuq˶M[nشdÊ뗭)YzbKtͺkJ֮_nÊuWJ6.ٰF FǸa[dj9IAfAc+V/Y?`'#Y V(li>(b/,ĀP'NQ4FA9(uJi[T0wA>d@AN6HXD|$dBlg(oFZ C.1O bQ"8ƅB@,#{1 >Ml~3@n_6?nՓOъ/+.vWF PqY) f^-2’B֐Ac_dŏ~ lشCK J,ltKIa[6 v9؋]Ɇ.E]aK!X]4kJCKԼmVs$Q]z&8 EC4D8{؍,^0t d^;uʅ9m@~C4$wc7 eH|4j,A`E01I ]0g/"f1|hW-i|^?wN;̣ U/ ?GX*]LjEεjurԴa# A?vP{w޻kϾ={$p6;p>-R%.p]ܵm-wnܶd@lؼj&jИ\q3Yk٦7o[eۆ-m6 szFAmd #u d$d'[t#K FQB  +^&,w fXe%!+ZWDDGE!`<3l$h#a[A(wH*jH TX҅b(CZf6WbƠUh5֫jic3:>Mr)G _ٚ;w>|<"F'aC}A#z!>aS/^ ^ۨA L_l/ZC^B^xzgjT./%L#mG4/DO\\0/c^aˏaLT!e]P2zX)fbe"lQ%#= /8:'F8E/BOr /-PD.G^GvJJEISG[:E ؽȫ.^=>FnGQ),^Ȳ%EXx %[MPWk%=CW"K1³/ۨٺ>GI~FiyF`/Xΰ0 ! ^.ˆ_ ݰ xa^{ !䂓QƐ^}#4+~) 0_"%? Uf':OrM93oC1mJH 3M@iuثwW^= kY&[*glc3i]c%FDf4[9`G?4Q{lTߧG=9ϳJBrC{rt9F 80jō믟˔[ rf&A]"$?=<$/Z׬ۈ*u!FOP-`1p@RE$X`5h8`0۽`[w~mޱk]vŜ}쐟[ᵄrnv|`C o&_0 epJ_RN YCV1P>zVQb ~Fk aAKi#@5P< AMe#h01fGNpG6Vu. 4t+K^3̙#9.e)`/<0xGAxيLh(lWeHï_ZWb%¼8hXKEގc5$0a%D<-,[rE6-]NֹiF&0s(ocE9&K8ڔыƐB(9{AWGYY3Á'\c,G'x*̲>.ad¯|mRYlqe+8$,q6069 WBcRQ!B>AwVY QXnDE^SjCq`@1酔^"^rhK Bv=# {(C!A 5zVo֪#x ӗ#/g W{zaaR4F"^,Q jrX rzQ^ ?%K2yZ%[`z׬cnJyӳ "=g lL W3#7gf DBr wdVf͝-dμ;vnG,1scd,ϙ@ =:6l@!f?.+\߲ц 7jemh`W{[78'tCϴ{v=׮) Jڶukm@ jW'5x]58ڮ i{<[5ڪV6lt|vV7_mdꚏ/|"F!90g ]:d]/ m;(;vzoRR160#؁ &heI36?5,僅/K/}=ۻ.㞤;ؾg?Qz-ܺs7PLZ? DrFs&&^ k+)L9΀֬%aDc4L,H ?ib,N Ķ"2:\Tw"Лx!ޢV_,y`R/9L4ytTN8jRIHÿ9eI5M39 F/ A) x!jwp!m:tk+ r@P gE`n ,R=b!l]⁍He>TB$=2 BRi& "QDS(!vi!6"/#Vx؋'۽x/a$^$#y #{kDP%;`/Q1p><Ò!"98Gأ(1BU֊knr[ Fi 8d@"_|cH=dr%"E6Y{ Gn8f=k/~u-fe߬s˺zlwz7]w޴ﮛyn:zJusLiqMf^bw|un~[y7kj-/N52M&D&@༴x]3/Ա!6n.D޵gtən9$Qt>ˊ3x(2a3c{ uОv[O,x{سoǚwen^MmܵqcOF0 q`=/Kø" d^b)#ÄIL(ˆȵAB l}bKoXǐ"݆<vcrzmN "Pavw4dcv[w-LDq\e@Kܗgt UZ{3UjB^Wqb˒j ׬9J95= ac9؋L@^{Q~^r 0X&xA@ez/K3Y+9Gtuppfly0P`oX7si(""i REP\:MexF uD€(6{ BlcPDRho[kHHy"Qg1^q/Aol/:{щ4BSYdTE[QR1DPBd(IVE~]γJY$D" Ћ@\؇,i2/H p _0C *8ٙ=2BSdK󈤬"KV* ޲5$b5"g:dc EeDRR/?յt>y!)]snG 4(kHb/6gn&|1g?r۳w^9c(Fi7Ecň(F46QlQGB.Y#H`1$=Xc>GQzX)yJ!͒njg>ÂĸXˏίysQ͛kݼ+jݼMzCԾ~Gwֻ~oֻzwnp r;7VkPz7wþz7wö7ls:.sZ7-Z\7?ޕx,^ʅO>(MУc$#2k{x/ G!+.R_l 27(-omXBǎ0~=I} 6ưy"f{bC;Epj{O_{kb6xqbptlǗQ1 L'C\I[u%XPUu j."<>b |%(Ux9Klj'QMZX[2 p*[Z`K:x 1v3Q9Hԃ %{ ă>ؽZ>;7 W=%%>R$&`RƋpЏR."AeC:EFxF).-'=>$)aMCC-sҏ+~ F^ $14H,aykMj|#J\b)Q`_Z#Ͻ9e"gmbxyNqS6Rm'e T@ r{WhұqT(oG=@X,nhÂ-f,iF#e14ljR*2Ji7LM)/fIT&z1d<g焫BtBBZ)X߁ˇ")xiaaQIań!*՗r e#0#~٬_Aײ{`fq^~7t̻ێ1?_4į%K%xv*obRRU^7mkЎ7wz7JQL]Bh^ ۽^W#.|)H ɤunZpnR6,]]?'֯V,f7l@ b#B\G-7YeȒ':uIIs ~m˦gl&[ bxݟL۠~Fx*=,3KD:%>Q{7_R{8UPe{: صw-{`={}U3{&w,A(=gm^F}6et)+eæ\"IT_0 Udsʝ)̢$,xJq" =pbv*)3-s3|Z-usB,/']:jX(:B&lpNO.]gzsٛvt)ΝZJtaZ"-/b$H'G!U4b)`G$6# .ߏ+ؔ}ȲRXz>lqGN(C|t~0; 1=ۙ24lS@aG 9r4yAC h1*HbBʱ$H& =:g?ū-5oYRoYQյo^W uoRnuǍ7>qǍG ɍ9' kP;n< cmw#M%uoFKОemh x}5%N_1[`<5' ^ :/JC/3nA 3"sD [x-!3wjnjIm`[g0=6LX$m:v^[頥"Pl9@X2BĶd֗ˇ((^&Q'dSc,$Z2Ya>d +!#Q {c!iZ⯔e5ljKyCA`"˫02uIt G#Lw+°ugvsB>ٱT4ܻ,gR(2 SY&ȩ(EPli`%'oҘ^0$^,qH9Χ{65Bt:3lbR@.X21‰c#blLLgdOD Ĵ0z!׊4=Ev{0ao{,cC":- hDNi,M8\O841]xws.64<6(> r!v 1%O,'KLsY.k}pv m3b//AIcv8HY`KElڂ 霄GNKiOY ^RȆ׌g"KIegP?͖I+.^⦰lfB$wFd7E'1g"{-Fvbe$)--RBhm;iw%gɭuW$E,)eX?F2i?yʭESq$@.I]2^፮csODW?7z{1Nh'8ĩNWHNEeF8I"lx=0Hs^SUEVbC/'ŵoi,GW߬{KI[6Cx82 Q(2qy ]7펛[hZ. mC OY){H/ʢ.KvGXE>Gf2/`;lO.BrY0a,ڼlTw-TRD&(eRsM#XYԂ4YOq9D,ͲH#_gyה4^)Hl@= akY}%YE%˱b&8ыPqL/LC$ّ(JՏ*ߜFr6POv,/ Id4_1Z^ə ^jA ,MQ6+E ݎ-4l"Ńt/ w!ʘ* r*/t2M Q DxbQThkb̲ॳWf0"(+~Y'Bg^~a~jo_wL6} 2h߉SAGM1zHHr dԘI1hQdJ:f1INҽ0= 0)͒&AO k*cw~uQpMڸ&w=R{o}ڇ}4X֞1ISm+Q9d_{٤Ƶ4zhZ* -|e0P5 a@˓ez@(K"kBz,^w+xeuQI7^dRt~Q1tr4a˧)`rӽf}&P$2I(Z `h+,DV9r|elOShPWrm 6 ϰuЮ` {)sZy4 zԥ~0ne[NL,:Rю2[ԗC}A,= L. 2`Pрri;x^q0dq`%ddĄ!#&9qب>ixr1YF=nj2d<ɘN71 rƆ<đ'ǧ`yw9qə)S0i*Ei9sSm:=4UWxpmKZ<ՃZ?;<{ۘ%\'tp5OG}9q>f1^p5bFXeBAx I<ڊ0/bC{ ~BN^-ȦaEn򲄕5\+:\.<遀zW ٽkWz2d)#3eԘ,N=nZ2d|ȄMdK9aRԬِ9)Sr&Y:l4soC'͚;-2[9L!YsgMϚ=?W3_M[vV/Эn-7u'֣Ŏ-vhW}Hǎ{=ĀX/*yzՉqaqDGG7l뀮 =r/ lvմVM_/"7b~ZʭzuLZ"V-(.pݓbz-\_M^m -XkiP†Yxu&x!ö>.<VZb|)1Cd~_ձޘyr)VҌ<K9Ni>(c f$^y2}BȌG5f+V.K4Ux2s ,'3y] )8. ̰ uK}H&.B V_x!arPŨFGABAJT#oK KOE)|5V˟N zaKf X@:!dh#4Jemv/oӗ {/5ˡbx'i¼m\6&+4E_-F(js'fH&eAƧfä́'LB2uƤ3IJ6k\ȔSӅd̙1,$|btFwyrD$ttajҮ=Yiic6V^ Dp}Pd3+xiF0Q,J  T)>]eߔ͎AQV/"(Ab؎uhS6,Sj b 6baP9芬YXwuּR?(@W{[C)r'A3eEnC*-P/H+VwW/U,Fu",\#2 J%bT.Vhxa vAzz'b`/b:`n'D/Sn@4bL4[5v=Gw9k{Iwh'ٻ8r(va9pr>q\HخCwyO&y1R8rQyqؓX/?s))w执_gVů.~u-ɹBț%煼'qT-ydšSS#GB//kTc+^Huy9]H.W ^0xƨ=mE=/T<66E-m" ,ml` AbblA-[ !~Ȟ}iIŤ\"@ӟYD@r>l16-јD[Dà9T&aɚE $ДX<j2\brSM>]Դ%tYxSx:eP&jFmjjO D"hF1O6ne'ӐM)Y/4"w?٧+{q@YD8GH+x9FYW {?gBe/Vf/^> ,^jc80W/rއůa_3:uwZ,o 6 ~D `!@7ZkԩU:ukթ[ラ{ӤԿ^{]}ruMo5go~ⷿj[V7m$vUoƧT-U7z3>!+kzS[oj_7ݍ~{}-|_4gnoNo'1ኤ.f/_9SY doٴUL0{`9Qfv`lWDז +X,iDzRS]"k7K`("#cxB8/0rVzEtGzybJiXpP*Xxj,KcV-H⥅KHx)+⟰/a-ds)#Ic+AbV.L!0weIsW4wad3.1ֲxڽT,jcp eX☾{ {E |Ѱnre/=KO x́_q_q/!_dX1֯A<ϞܩE (4Xΐ>0#əOy̋!/d˯d˯j^yWϺٳc=|s~I>Vھ}=w?Ղf.r9Kx}2o"WY{/K񽺀6Bv֬Y[d^[o۾$ N(J_6,'fs/o L# %L3iGFCR5v#GI3*c'"9q)䠔ZS'L{a⤩xNgS;G .cej3U!o__ ,[:۩eWxy׼ 2w>KaV[0b^~!zGח.[|U׬^UV'B@@"M{dd9"iX [l޲Id6m,%p !Ap D; AW"U3._\tB a"Z\P*X,gCW }[;ey=;K7\qf6vD=q$F(ꈼ M6I-! q84|>+3{FzF~ީSM4#1ԭ 0pHzE@M֧[,]Rxv֓][PG BS۴Ժ:!tE9U0ք#*[lR0{5o&rSEXEF_-qCpWaj) :H:v&krTcV\EN6Ă+]-X.,G/NzHBzx Cx £ ?! 'b.'?05&-+y(5n˜qǎ5qx^^)^SS'LK:-}k:+3-=+ Y^9r{̚1 -OuȌY/|~Dg':8];(>Dmq{p['.FU1^^d -\dlSXxҥVQVZ,C X6-[[.Has?-<6oJ0G xIK6n@lCXRZO,N ՚)ATkHj ҁQA @jq!LS<25C rX?@9!ʝ3+ Y{!3rsdΞ=#7%.Bw@tOg2nbAlR,m@bU"\@q3S&N01u츉cƍ,{d̺t ntA :ڠBo> z)E,[ +-Z %VUθ,l6ZNZi'iU\u[dYp㞇WKGN]tMzzn}%nBD /xp co 0.[B :]A }CK<8FrH,O7`zE2p0d0 2|QzdTѐ1D]cǎ㙪Bx2!%u$,^ F)IB]2dR#:tAGdVLKfFgOZ32{k$se.2g<%s,.jeAmX3pD4F;^-o$O?er EG1ۘW#𫰨hqq f"`WYn-?H)a!F)K^72M 5T e,YlR"h$9©<x rtZẂ**w&؜8]pr2amN!~*hiSN} `JLebJBO8nYpKXO Ǎ8~U;1eR dR*J?$h45-㶀w~ޤ`膢0_=@K&mtOI}=O٫7K { +`HvtB'i Xж()#]SEڵ76"w!|CpC:uʿխ;~2N?%ArHg>nwҧoҷ_ ߷_0K 2p`] 2xPÆ2l#G5zd1;vq=A&L()RS'sB}ܔԭL6}iii^ΟY`̘n2s,xFoK9s̅[m"y磿@ HOm ˪r+ @ʯ "O?*) ({˜LY,]|򅏢bQ/^L @) 0Ȋ0GX66Y t#A( j qB^ A@;.\`}TP .) l(;7.`OYSĝJ@,SIFc>&7QFe(í2l8~mdPZHO( j=/.BQWD%T4nx*my,N'S tY-3ү |죕V%JϞ={ѽGnN{=:C:vBҾCv+iۮ],WU8VH5+͂[<7?~7鉟R;:ݧ}xqZߧo?W۷Oׯ@& /=-"BA'B/G%m^lRsUG /28*OYXXbJd:y3eS^WOb+/p< S?%sAY<̳<3BĉO?}BO=EO (D9z"QO~'A!/ )٧Hr&eopٳg%{DQmb@ FZTI8E$_& .KCEh^HMg]v[j@< Vl$: Dt!n-mosCRW$˶?O;PT&[K/.ˎG ~QT z)3rB+<#趹GA}E} %OmQH`lo/eybTPgJ[C"ln4`4`4`4P&kJhL.mBV a_Y>آp"o4tekhhhhhhhh¼Gg-Ljрррррррр |ԩH5}pE**D0~chhhhhhhhԪUњȕq…k /?ehhhhhhhhojԨ5*3?㫯\oO_10000000𯁯M!SI"&x]uUTG/O?W֪,R(a{G}tWx!ڋ«L/ٗFko~{PTJ|W\qE^z/" O%;'jR\Sτ!l)J6^[M#)~g2mhhhhhh﷿ä8SR1ݳ%/=|v/'/Y&ƲA}=z6fRRna{l\1x3}nJblc ^^{Ik0SQ'j֪ WAmۓ$-[K .,~1 & F1WZt8q[o}_$[}e`5߻G աt{˫"*N[Ls޶>L;=D{%>V>KTh4`4`4`4`4`4>W\1Kcn9W#&VzxI+[}e`YҸCU8JȯJ ⿼Yq.u-F{X+ô3~ߛB19jd1A:h5Kc*40000t5響BN.$3g2b.2"y^/ZO[}c|P(k{~|5{׫oc:q,Oe;jUz=DxG垚j?5Xk?oGKAۨZ !hhhhhh5Dz\{A*Uz+Ƌ҈UZs|%Dw|tl ECHj-?[< .’nIIung`x4}Bh _(Hq^UOn4`4`4`4`4`4>?ԭ5g\y,L(Y Do7# I5S_H&      _Ƅט1-/Tk8\5-ZzPWeZWzG/scррррр@kn=x͟?& Yk֬7PX!VjiррррррWz`oW*s5" ahhhhhhhh>_ #aRnHGDFk/x̓qVFcW*} qa|PbW#S x+10000000HFOb4c)FFFFFFFFj@|*fZpAPfsu񂧫vic2wрррррр@P1Фhhhhhhh trNģuWxhhhhhhh j 1^xGkррррр%}TcbOK1o4`4`4`4`4`4=c xEeрррррр4+Kʑ3        Dt7heN\4p5rvz^W2333D9qdjբmqWD- I,ngͤLz.cFu^.]iii'NZjMzn#.*Dc7[u6[c# ]<^rfa%~]~?hw MPhqmv{a݌.! =܃:WϘ.( ^W#xe+==ɓa>pl[^\cA}}27aExпKc3X>XfррŭgcVp}طp;t:з^xlpBJlKͺ]ŋQBGPj.C]1VxgŠ^hhhz,TcG q_=Cu(%0g_!nWܒddW/x˕L.aqTeLjOr.ŀ;BTf4`4`4P 4ŵ3 OMu7.O]-٧;4b4urk^E/ ^TУ\F5zP]O~\>"\{ƒ^496hhh5%x9{c|+vĴTVL TN:9s0%OHEW_Yl^"Wxvm^,W ^S[XwÁz%]l/#^?ͮRHcJߎiр@h Z𲍤.._J̴4Tn]{I&j3vT>—U[X s55>P0f͚1X}-׎9Wd4000 D ^F}F寁0U6 @or8JW*^V:{/1IOWk!c/T`3SנƦAFFX*ŻȚeJ*I駟扲hB61k6/{3/;Ϝрр@4`+^4[i|-\ȿ9ррр@0~-6wq{IB=,^(x! FFF x]WRhE &/ _gΜ[πWL* xU wi6;,xqp*WnR4CuiL欍*D*Di ,xըl].BˀWte4`4`4`4 xE:ck'xQrTes5{X*#   \0u)_Jw~IOgxhFFF]*xFh뒺{   $ x%U0m?[q5Thhhh 0GeZaK+o=e8jtyRM10000NрWY? ^u0W#z5]˔A7 !$ًDr\ D=Wx?L}F!5H}z*nj@sJ7Ԍ[ͦ"K*A㫁E4S*&eP5kz5>\5eFq;(NY6/=#n5*xJT7T|kKfDKg0Uϟ 2w.pJ*IW_}'\khlTa~/4Ht ltUƭp/ŠeՍ0zb4o U5ɎI,II]K B<TuP: ̍-"몫’Yf<իW7留h Qj#ݽ_[ZOWy5Go;Y.;+:Hd/_y몫[3D|gVj>L/ <5 TWo0}BL1 ^vۈ"EH/#J1^F'uqU% ¹$x]y1\(YNd:>⥯,%]mh+W a䂬 X+]'N2JJgC0S!t_,uBev_¼@>L t}<5ṇ~GFշK!'Ѷ>6SCQG2gh-^^1^^{mW\v "Wzq5V#h B p$֒#cs= C8X2>$jygRf]X/w;l%;yzFHYTv2 4/;ط"e0UOEIRc8Kjg48i͐^)ߵ? ^.kH =fHyx9h>v^坜kFJ%a 艶mL: J@Ej+.U. 3hcP1qP鶄W(6WHFaq7t52 =R/{ݞf.\d)S^45SQ%I^93f~!m&j=y͑"xkFK iyǠ?bڧSt9WiaZp+G滣=kJȎzF:ˉ2^6\ EX3 2JBz~Y(s}5̨8?PMuFe5(.5bt$3CJ?}gϟoTx1es9p)tVgw#›"3645jWd^ Zl n九 Ma FI]`.Q$x\`rZj83 T@K/بb/* i]@9r7ߌ G}tÆ ?B0F."C9JEFxU!u` ui3(G ~* i, 8TB/V\? LJw_z„ oƿo׶G^etD^-L3Cixq.U e駋-ZY/$֭[F൮zbܚR=̑. -X|EkaH Hjq9`Bz/M+#2Dsh 4x(5Y۽$x!+???Gpӧܞs8))^J٫z<[&ZtHzJzw0Z{lj)-eqTn5(lʹOsYBe N?UiM u '婻>5[ETxߓߤ>HZ/w hŲ`s֭ۏ~ȥozǎUUG4u`9?- ^_^+C3wqܽfPw!>7gumkpY~BVVU7D]Ipzn s/I.駪0z*zn[Z}t>O'pq77} FC?ӗR[Ir# ͛77icBwݪUN>?UG4e"@hSxT: Eॱי3ga]*?[֓ * ^eu6C ]!(jq4)'+DsƮ:S[iUbZ峝~uRް飪0'׺ڈ" t#5_J3cz? cIH_y#.sLb-[ܹs7WoR x]aNxpE9U|ѫ|+$YπІv݄0iy^C{ Ø|Zz{Vnu< vp U! QUwݎ%k5/-ZJՍ/q. Pz-^ xy^O>;|׼%jӦM7Ƅo0q7IKK{9?^{5fc޽{KG|7ASNyD^Z. ڵܥNҽ ^!Z"B*\%ªxh6 _ !#\˵óc!Lj ^:ng/?4cNx+asoڬ!қBzWU&Iop +:_4~/w ڲe֭[wu9ݠu@f}Ƿmۆ]A#˸ַT}S С 0 x]aN!x9K{] .. ^Ǵ| a_%eÚ9~-ݻ!lk '^gU~u5BZ+m I'lJc GKǍSvQ\nRϒ~߀c,R\_O?_W}g l߾}\\b/Æ C 0-Y䮻4eXҀ xE}¸]$heWGn*laŁΞ1.kW/rsoUF8êŭr:)ʆ1 0vйWk*{#2+kt;S\Dho#LVhc)v謧./\-^ x#G{'ONFf͚0^뮻.8߀%d[x`ŋxTcZ\ JtUpLw[aIL}\Q3"X5`RW =oNzlVT~43рP5:OǭP (8r!8GK,˰٩a }PzOkd.mUmB܀l[m x)^~|)ɅϜi*M?so}^璅Ra'Vs5ܢt ^yyU Tmaw#Fm.G%:REޫ]|Y|!AUc.jt|*Æx]zO ^}NDl6]R')x%khl) a4Iv ^>hhMsJ~t3.˲ѽxxac(./W#?aG(./HNNy8qln2bw|E XZL=S .g`4 ";zsI J _FĀWhBZw}Cw 0C! *'9 G<ݻwꪫ\;/^g</(ʀGDouB X0:?_Fe^PWMR<&^@k#twhXvĵW\MSԩSH(g-^۷o0[i1[x_oĬ !ojv>W_EtD^*O4:-HKKWUW]}'[gϙ;;77sn2JnTʡµ([ˆ.4Fy/ $r*馛1+!hˀCbl x`6/x]u…٢a𚕋իJnZa4NlZpy|O%k44]׿Ac>ǰf$Ɉ0r sw%鴑,ֶ;)^=GxXq"Ah[9Zvq?땍R >HVڈr-\YC ڤ++l].NUfolc4x_eS !fi8f7?^~ql#x^# ^*2xoOY0J^n z۾^N1rѡ3 ^8#]D]@x]I/. jūZ5c1[ $@]. 8pگ܇4F؋~^eNŊv'Q ?x:fy|c?_^=/PH(jY /??pa$oQ!k%K}ހEt7'xi`ϣ&P^f** $o/l?x8Pgˠ*plN}!%t4#Vj#- jQk .rǿ%F565P5 UC/k xUx^woC61~nXCX5=Mw@ZxĴIٔÀ"x'[ _駟 Z&Y9>^vq5mB:}Ed$+_\xʠ7 K&P*ҢF8xJIҍ2_Zu`ZXUPXZ^bFD ԬYX}]*^4cU. 8͐rn+7xyQce^XN*+ܙ%`יY -”A"Q D9sŲ|И6([ t 6+cٶn4@HPr^}Z‡`oq7QY`Py@U("y^-EEK0R EW1K/TNc2HJ5BDT ̐ƈf6M ^åt/mygoGk/(nLlp^rRy5:(,uFQW/RQȊ^KEYb?_n]^~=f#DшsdDTSE^Z'gIZZm;z_JQN3߆)!lygE^a ZŸKkWҵ^W/_W^yŀh A4wF%a4F8C(egtUf͉OŗIAe!\xEDaZt[eʕ+WhW_WxN4 ^˯PK iXqf5`+%\_iK#P/Y^\`2[h4P(Q)$JXeJhj xJ&xѤu "Zx^-*={րkb3H t-蒯&ȉ_\0.s}B)q4Zj䢲bEZf } %a4Xoi+R_hsh2'gG[]+j t)brxQp=,^kŀWg4PqF 0Ck4x_w(hW 9^W*4xըQŦ.^+ukWc?`Lc1/,0xyYo4P ^ר2,^˕邤ū^ x%شh  o#w]fHc$j.m?o|&\MF^ ^vp5Z^?|U֋r9c,3 $h֠oE6",dHyo4&U,A}ӧwرm۶Ǐۀ'#x \ ^իW'/8*x6Z̀W"=M[ig g\{;bfQi !FţGnݺuV޽{ 6:*#ÜBX¯5 VfQ6YŀWTL@jA`'`POSFĉ{y+xyO>$?'x xj4ΞUYV;ޟx jLiр? p:ۺTf4Cꫜs_|OB#v9r8;)/$gX$!Pʛoi0Fqk} `F(aJh {<'9ԩSUG4e"@h_uW]rT#Sz10aH4Pewh4W9me׿ɓru2>Sxt׮ oR x]aN!4xըQNWQ\6xqU/RΟ?o,^51@]EsI!~UN9 /͏>(`/ǎcOž}^z>9< +bbbG?~ԩ>hPE)w$ݝ Txf0FD/Ƿ 8_NJJַy>c'|,*?]@3g|bPpTv+ >;t0`#&4xJT7TʣUvmLjE,$0_zXL`4P4z5r$ZSGl+xk\Æ Û~n@.L_\\b/U~݄~Dߖ,Yr]w}Wm **ZеDﱉ>P(/p$&"W'}*4xթS(,W Qv[ŀW|`F ׂY$̐ĻgBSwf͚@c=8+^5vȑ{cUo%x KrW\GOhqPA95"4xխ[Tx!b`kcJi@8 {̐p-,L q/eEcקk@We&A xYhD!PvhU# Īwy<㆚4єDҀ>%"=&^)恴cÒɃ1W8VU(y m2F-\tb_gU~^mbee+ Â׻ヒ.(@..xS/,o 6HbPİ#w]fHcXE/A= sbmfZ IJF Xdq7p۷G|mm[^rPol;l]udr?/[3N1 F^ lkrؚ CXVE8`6ؽފ/4yXm">r|Z|$e+"}/ 3[Gb+Ŧ9F5PJKS^fHo熮)ǘo6d@H4`/ޗ3#4JH. yS۵kw*#xijTȼjt3íXM^: tIG*0v5k\ҩ 9ke4O ,q)$tG# FSL! -zժUGR^ q* Ϟ=dgUuM7!cV"C ǂ {Y;GXy 1z݉*NZ!W|D ^A OQ䗞@ t4$ٰs*xIK,z1Ʀ9F4s^ 0Ci ^穁@E +md5_p$œE*bXXeK56)-"Z!|sъ™NB:-J7xIP--(-/T^U1^H1jĔz1b60HP +l[`+' @5>d4€WժR#yv+x1r .G9@~sxҘWۀTP ^E.Io/fŀWb>Mkf J*ŸE¹$4 0C}B6xQ:2:\yj4 Dz?'p ?gŀW0UGovJ, /d <;L% yQ xhL4PMwx֌训R)F^E5Qi 4xaF+^n)P^x^825_U!kfHc<mRNUNmL pJ*@K x l]n]S ?(f7xi*pDb3Kcm\ Lk@hD}gΜ>s:PK/Ò^u1a4Fc!:a@i ;pdö%h3ZɚJJ/G]6RT{ҀW=abVqzUJ>_*ݕDϽW'kN*q.h+0BEfUĹ%Fh$V+\a\s1e^8Z(/sR+>쳗嫯"F6:b` )( x%΅7-1@/i!DI531e^𪐋lBAcWE2xa^/$]52 Tx O/3Kc_j *DQ4jӟ8K]jի ]*^AWpYuc͐ƊF^r5 xUڣ8h+<^S@O>Z(h5=3/Oµ^?OiӦn֬c3oV>d.)]ˋ\YQ`ibbsjU^ uC DѾU. 31U^:ɁS#>Wޕ{gKJbmD=Gxs( j5DC5ιz餂+h+3Bx~M /\0/^~~6f@wK^^zꔭ1h@@~J]7:$8x84x&q_+F w"˭\ok)rR:#:tBuFq/.x!X3g|j5j1[ $(W KT1CrUlBwKz5oɒ%+xXΊHx׉x7yZyC!q;u{?I$xT#?|>G g9@,X B.e?)ŧ)F,^0eUw] Sٽi.OV4䉄җAOU:B0 ""ƋΦyaRnm/R95rL|;~&<*V:;_;#RXS3^2kwŋ[.Z֭ӏ?X*7x^woC61~U,ơJCˀRa81-`9]СÒ766'K&3h@hIjolj/EDrR,^,1c^^MݻԭkbchrixˆC ?p@VVV)P?"_r:AڲЀ/UG'+| l1q/e $ZB 2 \ ^zIME%ݻ*'hl4˜Գ>8 gf}xGJ*ySCa #_ٴZi4pIp.]K[g/wZ(nLlp^rRy5:(,uFe^ :gd7/_@Ek?Uv "ILaa7Xa׈F?2,^h3sr^~7c|j/'V6NJ|KDǬ[Nzbjށ1׉x0%d3Ov򼲸82/-΢1 T-uU[n^2j9Ly7:zykX\s,;1u :JSn%uR8\ x%mg4 R ˁVר߅IzsJǯ? f0 gmLe</dN'`/$FU]BWcjL|I1J TRE=WczK/jL+nb47xCeF!y睠9snP:-w#6'PՕC|vQ,͘K @KJJt UY&e5P#DcX* ay juL#R`?t֟j5'%ƘɰU+\j ;e׾LP׀WB]/Pb/^04lrtrnlY9sޘAf҃>د_S{SϨoeyzlOר^y/|&W6/sR r5C\)0/j䱍 00䪛f @lq"@W"`yg g?7A]~5K6 ^0ex`+eb*߿zQrz] /*' xKifh >PAj 5kl.PLrZR#\jr)?]1>WRLF -Nsуz!Zf ̵ ` _\AWQ7tW\QƌyL;Lr WF`c3X\MF^wYs5ƞ?.1a*54" F>o0>D:A˵~v5;_λ M* Zơfp+uUF sIylhSNk,_Db4bO).>G3ٳg7n_# xcg^sVj ^of+{AJڵk^_z-͛WǏi@Ek@esЃe^-DS)F{_ OI"=G Wlfw}=ܣza:OBXwDy߀WM+Jуw1@ysrbm۶!h7Fr5jDF/+dр@h #OJ7?=g Lî_8~LPRWcǑ M7a6#Gʑt<s[,LaQO<9ɶz*6ǭ>wܣeo#xa:85הj\4O*s"F@z&oN7nQ믿~ԩrGzekqݺu{G?jذ\:W~ݬ1A~/|ŰO`W@xjUxQjxjjkՓ![ԝ_MT zEt9em^xkRm1aۈO{b4`4)3SJtץO̓n~tGғxF^Y\\\jUlb0A  ƞGG V3ۑj/b5R+DR^q/x+^uNGk.Xtjb/MBBTgj4prP7PӺU7.:_X \pOJKn໎o ՙ-Tro[=vD0<󘈷Zɀ.HF]Re^gU@1<7H?w6\=Ls*HS.:ڢӻc vx!\c e?-]oe܀֎Kâ q5 w*a x,Y&uWJA`oX $x L10\\thF9<~~Ӊ.X 2w(# hvɝy5\40UrVUWP6pՀ/^;QyM̃hр딋Ӈ +1)I=]Lz׺a^gR8ϬVz:Gt5wnܸqHQ'?1KNL x2 ]l낟a^xㅸ.KQh) QW.Qb §JҼh\{-a*~ً=`A*$ 5j )*l*'x)!^4x]y%( Ĩ1x<.A N=!00 MIDa!SR~Qk|=(ۆ.仇k[WJewTz]-]גOF5r1]SsrQXyto]Tfgu[P\1\ ˘UeÆ ׯ_nn.^~R֌y^D{uM?%iTzWLk=QfqE ^ v 4ثLx5AyG8jӦ[n!FÖ 킫GS. 2x)Y""/Bf֗殂ol`kv͘=abE_W7|3Oݮ];lf73 z_F2/\9֬Y{' ڶm{Zb/RdA՜@)5a #}Mz[G^@S~,,^%+N92*&=z^-T1׳c[;Wj5F`f_ưoLibeJoBgP4>9'`SEmS xɹ[Pi"fˎ$h.HO0hրZ)s|}?t_9HgD 0b?VaxL _}6-Y/St SFeMBJZuiTh1f. e^UTy71.(mEAl:ubx!u*ևR>(mkϔf*׹h'jy䎟ZA_-[Ulzӫ GP$,=Qq/2F!o#/cc3dIŒ{mrHI>qJb31T  %L*ūY╺O/^r5*BA`z~0T51~\cbT2~m+o\,'h@0 ҍI^AAgUI(blyz&>\Mb1˸TXQ0Nj L=e^ʧjzU7j O0À'7HsXz ]3F?NZj/œ? *`i[0WslG,;*^<|0J # %k[/^eJKq jhc,^Y$.^^ $8 'ǔ:% /g.]b<#p .{TUa("]e>>1}nN>B^>T?lp¤a2Gc3?~gH\߫l`s@t>ۛn闿j8G?Q>},Ĭa/ qcv*;0P+<1lfD%^zWM,r\l:(^s5Y9V{+=7L"֫WS2෭_Gf͂)+|@{>kժL>* #ҫAQ_w`ZWuu0g a11^+XĠ dillcn'),<د>0?D_ L1H 0xr1(0Z'̇ J {ϪU~GR[h"` lWW]uޚ4 Gr$uTQ`}QyD{kh z +l߾q/ t#`04^jU;,O& #`yp.2|pشp,‹ P'^ꫯWi<Ѫ"3(`/ q£1.o۶F/-0HxFn"F"Oirr2R3 K^c|^)P2q<Ǜ_A+Ѽ>f_7uF?\mG2rX'OtunЄc `atyH]{kh z[s`çҴ)˖-G!nJ5P?L.Y ),XsY/ LL9Nj_JOm;`37S PsLшjAW0|YN8/ԟr뭷⫻ 4cá=JUͿO?OSl8e<1込w5(`bϝkԨQ@iyӦիDC//dVxyJar &0B.ӓ''f˖iqOS|!*h_*6_o6۽PٳgҥV̇01 !lG̝Aݲ(~(6u$]8jW ݽ5Q4=x#O[4شicjU^[`KM p{',ʈh/\0q߿{~]YХjkG NlZ0m۶*1Uh:y5cŨ 'RpЄx~[a7߄(i%ܓ3N:$ ^>d+7nDq[8 L'-7`@ #se==cBlBSpD%"_k!A60 ͛R~WHs3\!Ҽ,[%!&2/M)x3{1H .ܱa5{u2J3WM嗸9ܣ|rD@'ž/2D}/GĘJ#?5Kp)&q:/Z!jG m4I1Q5D^aor>s8>_/E]p;n,KW#!_p5e.@i tT 7܀Ӧŭm'9+Og⴨*M[\K/~?&z40dǏP[Y;c4 ]Om5?e.1G9ʭSx#6lDe\~.! 6fO0b4)} 7U-Hٻw@z΃Q! n8^W)Uc fg(Qs{À8 ٵkWuDG:eQF292)FCcWv7U´އB)lr&M"0/UN-?,_9%{e[ &|0JE*D/v : .N5 WJX֋/ [QR]$U{`|¼" U7[Yٍ"UDX cX%|tfʭPݤI"Gɼnݺ5 TyO,_}PӘAar!҈gtG/'5]Z?H f\b h 0ЕlObR^p8M+ȵU" G*峆+3ݕ1t<ƈ.,x6lr Q0u<FTW!շj("Ac&dz!ZyQQnGm6^rڵkFd]ԭ[c8^D)FqЀW*IaB:ԁO85z;eQ'w[$#f6O Ă/>;Kw]:um!ujpjmݻw+T=3r:y]e>4 Z; v[6¼Ae;7_9@d W\[Z=0N^\sbg>Q9(lq G UA?^mȑ ^x kLLKKC3ࠞ_ٲEt1orq; . x&[a :u( /޽ x0Z3Icx`ܸqzj/YLdWkxL )xajS>%f5E^o+W:U]pAm5A ]wE{|t#b8f@fcڋ.xJԵrsi}5:w D{x)Fik`ʒSy;c"0駟~{ェ1 YtS{&,Dq7bBUICtfO`O>1 #G8g%Q]yd[Mf2xRn8w*/MW/xS/  ׀@,[,XL]| 1cƨ_z5^Ӎ@0`I*AҲ\E駟{GjS"QܑC.B(#`6K h>:i<(9e^tŠ(PPJDեK^X(~؈፦ ׀ה"Pb@.-5u!hٳ:aG\[sKHHhQ}D{O>z/4#nk_?n (\=4a2cv-%+ x\^:wuƼ"`1^Heр xMȱG(Hsbp*r -D&*Տ~=øj*}m߿?&F)ϟEOB C}= {8i$L6VV-P,U3f5Gh28b|Bizs}HQu%M?.;݂n&*6w6Q%U.&ZGf ث1-7Q]]!]Um&b`!R{IB;V[[e۶m5j(:p¼L1P?utr<,E?P2DZπ z+y 0I#^;*(~ =Ɂqh$\66};L8n(-F \zz Lm͓!:slc&ׁ(-^Rɏw-[*K|\: n<m^r@>%X;^:[vYPv \\^ok֬YӦ[~^h: e%@vM}NFF}r/~8RQ /Rk;u]F,[42"b6+# G}\~F1^X3_~9g0øɗ(+`Y >+f<>=C|}6}d,8, ki2>_] щ':~wE,V;T-"tTK>l* x]r9@3ƍ7jؐ 7mTZr/yaʥ)Uרn! `mѢxa#0Ħu|kPeׯ~?$sabo_~G"yF&芮y*ȌF2E9SP̕D=]j [\bb=. ^!7Ÿ^jr/0a^~V68}ܧ! fo -B2{sV `)))>3K]j39/T mʕiȡm@ ك敠+PچER`DeY;Kь*oB`M!,gZJ*Vу*!`! Zn  TMt4-+]ֳ'8!rM۷o_x1[nկdȌ6WMfff` qfR;b/Q`RBX`<5y6eNxqURK؇ D`{X,E< b%gjpdm8|kcQ(&{48 b)ϣ+V3#KǀW9z\4+x5xAPCn Ffů5ܣ5$&'*] 'tTXO5ŬxPb0 bJL]J?vi!ZX{gQ7Q$æ5`p 0 ?"]1x`a0`p^+Ð T.5Gk$kL@: t!\qzKo*X ^7FD0U}H} {NުYZoH? P\ü¨Q+Cc ܹs$0֔)S:o~`6L]ys_!j5m0(2H-d}/t䯻\q%Br3}&sVž5lrWnd JqǓHܩg(TG?l6*7U` D^ SpGݲeKNx!tǔIJ oo|eL\@]7r=_D;T>j6O )rx\#S h I%PôiNOG`++ЩC~n w\sW콧q hҷSWQhI ^݌рW\:~SIj z)^" wSgz~!˄yy'6,xOL$ЩO9Lu>}: # ճs L/j y`9" >ԝwމG5A7}H^>qW"KMP0}0S#c4%yf\Klقe5Lda^Jc ꂽ4 $D z~;VYo~3"e;mH ])!}{c%_+S^ֱT$p![zygy&(˷0tIkr lwm#-kF=i% "Dp|9T~&?YXfjUY`R@?'^p[,v }J9ɣ 1;SC{5;+12;9 vP\W6"O2#>PfZ2U%yŀ)!.dk;Zt.˂SHl]n+yʚT9xun*kkK8-xA]6[M4cQ|8lDϿ^z;=NOyz ATZ<ָӝ( ^KRg\Z'2<1?rU|s|d=ie#=xR^F/@ 91*vU/4r ^E= I 8#Qr^5+(CCEXʍ|Z`4PA0yA]d%!VvQ\K4<ʏz,Jlo"ɯt@(<xM$ h{)FZW>a?''춲l"؊nݭ֝.2OZwF&4_媫֒U֣v,2~y]?f)FM0fzex_n.w-n\^\ YgU"@^^&%8l2\"#.Ȏ@DGy@0m*}yY* vOy:xG?Hr 6{š7)xH\5S$tc& E+c9=뫩 Sڔ㎃$j[?X!$ g'ݳ! V.'?HRJv_nzӛFŋ( /l MieT(l$6^M_ lt\(l97̠_I@9%t4t0/B KEFBDHHH6{sk⪻YK[;#/'jyKb3"̳,VبO}*f0oDOfmL/5l5LNJfV"PU_ҽY\S{L7^puǚm9ǩz>ls1XN8ᄿ˿K2''1EQT˺!7̦^){q8!l#FlF`2LKO L's쓍+dvLKE}HT`6{OX ukSêĞw߹~0VX&#XQ)؇x5/@YM&-Cߧ8E_q-k51UKto}\yqUzSof^K ?KҠ[ g3:GM1$VTrHՖQEJ6aa</,LXD>Ϧ8UzXp} xͬq8d!ԂZW{ش>1B`aߦO]+Oʻ; N1xO?9ԾOX/4{쐽Ujk * -Eh.p4꫄2IScׯWO3s/gֲcH/OTUƆq!a"l yv x/B`ʒ\iӦTң9D+^hQjD(ۘ$5} 'b hE1o,O52ѢIR9 3 @ZFJKŐX $'E<߂pHĝ FC򕯔ؽڃWJBd@* K>b&b[P>IO ,Nf'rϾoeG"xa?!̋혀d^\$v޻$Ξ{9~wܸa)o` y8Їݴ$U"4q2"vz`?SwE9t 0+'h% _KL_JN𧬗pD cH"4&Tr.H7Ƌq)(&PT<II3/1M!j3PHy-UfHFզ?4vb7UByGtF#lE!*!7̓$D \:]7 Z/})zX{1&dC॒h%\ gTQ䩽8`0LodŷF'<{?qmݦ^_s0M4i"pEuuVݙg<@P|HI3<3e#S!Kv @uš@J~ ʔ6_[yB]iTH96t cQc!Pz 0jLTܕ[Ĝ @uL\n=([%etuy'^'O{?%3c&3 W&L̕Jn& a 4C_uxO"6 J;y" CA犜=j$Ck^L؏ycy,?{}Cw]?]"¼FoEm"L` WBrFI69R#hDa$`MYOLJBJ;X ]i(a^-*)@ V1J ATV][,p v{{0ѐAz 4t}v)Ӕ=t B@0R,wLL -(|䦨B-UbZJ]>)<6ȌۡvYV/΂q2Ey)1^^nUQ~wP$YEOf ?#Q&v#l5/"7'R띀o",~g.܎R YYKʗ ]k58r 1W)iA/eW 4pK\#L(R6y2䚠d>'7IDATCHB2JXz[ 9I$[{Vƅʦ0j^|\]EȚ Ga,-WaFp)he*`qk#yx\b]bx%BBmXBAZHKb>%yhSšS W]';,y{%@UOxK[Q b%M]zp${'t% bs^@'?: !:G%N CB0/DMB$̀rʒ@<"g>K!0zZ*w?0G9yxUIʠOV$'(&{1j.x_kޛmtU kM 4+b+Ԁ7>Wlm&!5 + 9h@kBq 2Ku^:\^JPr4a{9#ImH)qݏEJm:=S([qCA!nQۑaD!`1 lY#YpYGp:Iry.C"õrǓ*2}WC9 6nzzxA]/;U^L\=䎅ǵQ 1PGވhF$d$L|X-(.4,@~ۥ6 ?Sg8I U!EJxQ)^sb&uo_=F.:xYWr/"p/UNm ʙZ&iM5+ }ҭo*G!Rsͅ[}?d#+ܗ} Ӊ^:$ CNg*os*K ]R,"Y. SHPRX09~{;LnR)_3+fN)ș+C܉Yֳ}%c %G3/l]2~ KlQ$ˠܱB4R,X8!$id$L&i a3DY0yS(g]=?GIJU$W7Q)^sbZb9۽s I"$[DDl^#/ j^TtNN*$;MornfBBR3Mi (E%\RmA$!09]q{ܣe0$6ͻ.e⚘+1?"|Oۑ$#|ԽMo#DKU˴@3gx쒏*Ti % ǧbpA3z/(9̑@-/CHA:%'\KT5n}&1E A1YDbRܱq'!X ,=ڈ0QNGH~ٛ=$n2/|y]Hud_d@=w'amoƽ Z~׻5۩a&c5IӗX4uD+k.Cm4V+յ~Q .IB ̚!mCӴsn{Ar}S)&_?:s>uHk;x[8 q Y$»ǀ+o;WJK6FbJ&,uvQ YXRNYX^df%tKtʃ<(4g{,̿^JڂaU9ع>HYR PV Av7"4ƪRېѴ:zTFVog3-H"UZ[>N`u33ah=2q{Ԓfa)Wx^rGjנTx np} ' %hP1^^%^.~yOQDsRNh¤?Q6#aƖzr2 +l>^ N4IcȻ])QHTrUeJ:/I*Yx0\ޡ>[.gyq75K~o'Y܋LH 8) drwswΧrDqĻK&iZin}[n_C%hRX 1b(ֵ|_R EY~JZ/Pla^uh0gjCd\控V.)R4_^Z!d^! )u$,^=H2XЇbd"ErE;vD)KBf4G);[(9>OT]0|JgL_bOK{wfӇZg*߄kV6<0EIr7%L a*]r2yX% T%ń aW5䎅U" J%iCJlau~ WŮA千p-*;xP3&,'/b~L\<̝;/)o7\Ʃ+ڢצhbu{Q KAT6HY$^\ t`alrBj O]B^Fk{[K.hXZוT4q Lo3LYuxLрkX¾+-BSj Y_EJQ-S Ij ޣχE?f&`>>Dd* =Pz-\g{` ,%OZV-vZvU uXH$ I2juWf/`-05i*ya"@c'?|){gDY#)_'RPf:/LUYQ#%V1~ % [59 %~o>|>xWc&̷nfzBx ^-LW~\/iA.:G ]ZbЀp&``68uv߮5 ӗ%<}e$)G ԜJ4M(0X Y)ނqW^©-3"HRR8v"#;/TT8!h%;܍_nN)X*Y?cL f?RQ k55fezj57^vmddRCX.ܣM2;q^ 0Qٝ2UgT ^$U{.6uM1d !Z}`OLe'xђ0ϫaUxeİܱzOܑ3.aJ3-8xcp%=i$<\\$GW"XY(+= 24w;${o֤ڊnthBlԮ LU;فXGDT|`q9ψeќ^Tvb"NHO~B[ #LVkRmR[+$fIP`k& 5WQނlr8:\)(U[*=TU}oA\UYܱ&/͸.^[bФ3\/=/^KuiHA}&[-nq q`*HQ6Vw65vscv+g4_(a Fi3ebG¨S^єZR ȼLM&-CHٟj+2q w`ݻ h=0y+ 8f!`Tv]N嫚 ivڛ$zHZzI$oSu@cbLB_ʇظ@~- w,ɋl3.ἋW ^87p@_8حXKkaͥ8.8ƭl^z_k)P(US_waWJ ݎ4?~, NƲ)\9$tɽuj[J]DMw:ݦlHwqBh*K7QՓ.w g-rԅ]"2 6UPGcH$uȸSJ1BvKdR CSzދ !`b9oӘ$ ooݩ?$=#+=XM.7RZ 3Me`/b*GCЍi5Б$PN7ҽRW0"0 ,GTu%릱m9w$S5-PŒKu ^ yrUW]Ş?ᖋb] ˳E0bQF峧)S- vS<$Si(gb|RG&vjerK܎-E 4cT 6|Ȍ-v0w/|az}’OE_0H&SJvl5ϮEI_uSʨTWI($!5مy睇Y'.U*^aTyf\\W(/ZHY\I'rBf5L ގ^nz ?̼ 뀌-Y|apKv ,w͕W^+tRK:5KoɑR&%{EWNn2Dʾ!P(ϡyC4+8CKh'/Z.!xplNG@$<7C]BcU̸.^-ㆇ&xrʆ }rqaLú/u$--Lmt-: HBKܴfߺnG6%,LҝDOE"͵1\7ןr \s?IsDn_W &UkSC"HD~zl(]mRkO¼ǔG/kHVVZj,>843ͦ* 3U., rb AQb,05[@g%/I|YFɀ@C-≿z"]Zd !/ SknsiX,7 x'< \7)vi'6vkVQ]ŠU;N,S= 2PI[[PV^4W*6~eR4)UOIӻogS^PyIh+[ n͙Y1="ꎟPd.d2/etc9V8[9L& \Ò2 J9XS-_-o3cW(;ϲ0<:M ϞIeKܯT/Z![pjU^ޘ +/ Ssey DkUخb\/,m2e f$LZh ^Vs,[3mCbkJV&۰n -xVfڀ=1CBPhkp_5Y?x50IO0HAkG QbHX|{1^R_zii8 =HZOi3e&.&Z C?_ T{Еd ,txr dK)1K jMVx65x51^"~7! ñ;l}֧OjSo|K%VCbJStAB'3z$% iWԾFtJ9͋f xQU׽6mrA2lV%Ԓɑ xO\*||-E*L( i@*'X)Qb,v%؅K^d yIrVy畯|%AH<^կWi)R{݀%55<ɍ"h- k-:vH0~8`Dz>9%s-3UFe͖K7P sdl0u7y56I|WO}SlTb=-^N2:OO4oJ¶nkf'frM- {!F n.V[^_^*dH7]海DEU2J.2ϑ$-nHoOuA7 #хŏ,#҈q{e/iS"mXYBЗ*GqPFEDVPzOX\~[9ol O3ᦓ&,\ i!\ޣFVLGRS̺Z[XsUH{-s{-XR?,Oܚ#}b%1W꬛H 2 K[&LK@t+Ċ̆w}-㙻ITeGα%d"7曰+1ԩ+P[w}^I-FsUNNA5FPȅ]I0my ukRI^-xh ߵ&{G0#E6yZxȐo k-xCb8v^:. Or}ST|vf ҂0<[]ssgooQM엤l"C*E-Y>"3MKy3~gtWoܼy3l){wo~svӒԉU7@ ʟRJv%~f +ch.eܜ#bË4PdJˏZk'fi%5E Kk⥰Rq"+HAUUK/DХ떋J3 3l})1`v؁]Z`s=2Mo:H0f**LͥY U!B40QmI5AJǗN%Z1uS,X% K>y)9xlU\ FvO_ vڀ#C,'vz-E2fJn&{b:+ehऻDBzJՓR4b'I չYE}CsHh #H6yS/I/$d:!)Ko*2+RH'ÞK@?yro`Ò2A]ml9.iJxIWexƮՠ/Q^3^#koBNy[.jP&e el~OLБ`er/4 )|yCP@ ?]mWד(I%H-9*>tƍz׻>&3XrkK1xW8FQ /'W*-n5_WM.K,.Q~9*9a}h%F<%Wn3+,k1A{yj/X{}L5<> A V +l{x뭷&➙@6<xG/Ex5QLn, fz(fdM%-5=F= 1@^Hz9%;+QϽ)eL&'J+g<wfY0B%*XrPXyPWn,.0x}_'>f\kR(2-\#xK~q ƋHo _R'0N1 aU/Hpf_laPdxu"X2}{a%j ]WT W`W-j$}-F ,EROaa Xr7JG {A꒟!?VY'eJE})k60F<|Yb7r$1/x *ƒ/B%vN ïR _+[PV5VVg=䓹b{sCe]Pcb=9)Xr=iXL>ϔ%`>˟IN,vyK_ Hv78 6~XY4w9nq[Ns S)h ^(g7h"y+WgbFjWwor vە]vr<  k.Kspyrܵnv&hfI|ݛfIt^/Lz:/)e{It94]D$십+ 0A|VeRY[[G$Q{; !?LA~ ] #WRH兖/Ȫ rGd32/D0%3 p $I}&rOZ'ϗfsŋWkm,hXhbX}vlP,[ͲLeCzl&7Q"%h锈⣎:mD_cxXݖ e)fTG+^ވHҐt4\RƵr2]";%4E&Ad@:|l!/:R9Ku|“/^(H Ss0j=KԑǚBW~6Jħ.=qUc;0a#=x:ȡ}|1u¾[8uNŝvZyK>5|Ku[᠃GCO7uɉx*-r1 ?_:h2)'|y_މHH&l<DQ{++%ġ;/*.]?32Nwua<}tqx{.Uؼ=#J)"~"z"P–FҋJ@t5IoSfLRR]H Y\.9Bه^&'?P#RtKzjA]$Ǵ=@Rq*p.o3j|#^J\/9/񝊕w^Wś\|*!l].uQGg ;% 6yZ-B!3JŪyȡzء0Sr\plke;onrˑoqݺo}_?A/d`R|#򙽼-q,=䋸;@y(t/z<= 79lK y%W_'bc%R6M%12Gʑk6C$Ɨf"fMmL/xNC]+"!\)N2ApzA>Pc:(jDJp;ϕ}8L{>2εJc {+5Hc=c䌀gᚔwl]xхp|D2ˡ??w #;»3* EOJn Kiŧ8iQ/E&t&:@wA_6#|x:}[\w󌯹W^\ۃ_@XpQDtrG7.&QkD]%}tqL|%# Qzы^x- .$ZsOo b/g¨!j%yW5E>kC+!ýtJܝfjЮ4 7 MD9%Cqs"U֍##mIѯ=S $o܁.xaXa,ĚFQQHr:[`&g[cp"G.'Աk-N^y&3iga4P\RՇsqat_ըu?B;uqa`YbN0C^ uUcT‡?^$"DfD 6@+ /Q BDU=} HQ/P`kx>Osu]vEL>3x憞O͝ݏ}L#c>_!Q#QK*?5fnruhh0-M4:G"1bq<=TX|148”OYR&1K"okF^ow\T|Ľb7 M}ؖNO?Jwko9䩜EM*adA8Jp>MKE?9+^l{a0Ox{/䎅/s#h^%*xE%?3!;%r-ba\N0t$S+ Y]D>Jk]]8ve/W8L$vk`[ȤwcŢ|z&ps; Oq(e&ÀK0*9.F0>/j":kʣq[*1X$]n=O}Ƶ>fA!_8CE!4 !]1g*!b1Y/E K6'ձ \.N 9%hlV +ULX^u#;/i^B7L -R$ }*^ x(0 ^aСmWZ kF5xx1ݡ-$._os#q%:d)ej6(QKB&UfaP*}Q!_vGU$d>Ǘ2r4S{UJqIH1s'xu3VJKTT[J4kK=Q$D!hVh 3 EotՕuhm**ULT ^rB*7 t^%*xE%$lDz =|!=&{~RJ/CPJ/q8kXxڇUφ҂QJVH|D<ʻ]''p7Zz FLƻVbJB]t2B :V9\GWЕvHPô%4ըp>P^%wR;ͬYqEvH%SO3Uh|XʉDC͢rB*p˲xB|3ӯ!dmC&3@Pr2E#2; !ز~-jޓнޫZ!A"Z,WLM4z(,fʆhx┫EfzٹAVTnXg*kJUivx%A]b+U@ާx1'6AyT;WC: 2<~ŃTsA|إ^*S+b^pw[tDt*bcdZ\a?,h0l<5C88<5 RUsØi.?R۔A1*IfXH̥%EW3Th<Uf6Am>יy uBe%@5Ƹ,S7pܱEm'%7Kqe-zU_kEG╀WSE@>Ԛ(Tjؚ=^{5b|棆n0Dhł3W. j^rq+u|˾IldzG[e~,/f3rR 93A823E~L5 =k/ϐaN *и@^suWJDڔŏzk.~6wa%ŝ'@.1#뽆Ȳx&2pxs(Iߊf M|A]v7*s%o'uT-xXhpFu!L~z˻e롨,Ec=ͦ!2 X3JzafdHym{~b}u.X}W4? ^ 2<^LO?Ofcū<0J'/i!xe$?LY?`bd8(Z"o{uq Y*$_+fIm.R{ zeH}8 >3`#s7x%7}M'}O|b_SqUozW?vHp Sr_>T,X/Gi%?% g`[B~ H ]^)"T.Ee'KЮew?4J~FyW=K.m>4 3# g(-\<$KxUŜi?/c!xYNKnZ^y ,Bp G{r^7N&D OXXoŸʀ`ͣ˽fkbl`.TdjЄia`\#:^ѭ)/_>(5/U/B\SwY eʸf1{DLt E+Sdb»xJr`9F̃!VD})8Rfʳvo#]x]y`ҵg?b~CTNc!xy'^rB!5˅0$ws+mWJR<*dj8ש}k ^qOxISB rll\K1. \+\>W\+I)/|!F/7kyK$V4^ KF%"5`eW\n+1t&imo*&~ыZ&Iںg1[[sm=i1ll1ŒhdUJ6%7/TˬR, jк?lw%DO:!֣Z܋dMU;y>EUx%z䦅U"!M&!-_2IVTJD<K<]ƽ/FLNk~-^cu."2_e CDo^y8E.KsK B"7b!(܋$~zcm4,%9 ПLZK/#.gd$9E/jfUٚP+qCT%kD2ԕ >rP%P"NTTPyX-w2!# >B:ibTx}K_E6RYܱ^Y[7 Xg&7-r &'< w]ou[ab#~FV2$PJ\^-o㘫f/[3ΞVOlgHB0F[k؀!_*7thh|1n!ܝD/r6a%{m~ku+^N|kZvf-Vx4RF11O&f*|r%i^ !*Į oU< ݢL L?ت`bKKO^bªKV"+@EzNJy!ΉP^sW%y 5%TJk⥂P&7$zo5~x){^:"ƨ]߸Z(/)Yc[C1B/Gu ^ڔ&|t|@P%ɓAri?!q<[3E@33ҚS%KVnRMY)2JZDÚS=?Y|[.)dG$GP(J;^(+g+*\˟d C#*eW [W^R3V >볟lWRXܱ.j;,&7-K╀5 /9E=̔BQ!&-B4,MjқC򑆜Լ-+3ۓTl%1?"\Hw i&6L긖J lQL\4Y3‡&,FkD$.?24Ъ؍Bē$ CLe\+=IVywJXN1B$HG r`]Q#'9E+"e#WVyVfYelS%$乐1 5y Ux^tX$w*~b[ʷ(iW{KҷyrRP1tyJY2Еr"v&YpI Q-rU3*?q?I((ZOA*KS# wU 'L4G!sUP Bd^C i3~LU4D{ ZӅ+vK!1U,Yxk+@C gHD$yŒEa FB"i_{qGw*BhxJnYS`[iIQ5$/+e"n\#3Y vo.+;mOyJXv1e+$+*!%m ܒxi)̳_y Q{X>=ex#KmiR[J ^:T43 73CufWN}Wv+!xѵ`Bl,ody2_jRO\YJaJ+4~JkD3ۀ W]+^g>3|r[<́aL7zV'V?Ȼ9)RVʢKH@¨thZk$<ڧhL:ˤ5T*'SN ^jYIybH G#*_)GK)STWsuɬ< Er}򗋺%;/}asG>KhF.d.tGCH> uU$˘k^k-?~_rr{53S'h$|}kCQ*>5Sh[]&1o`&Hp}&JR:MBQ} 49FLΪf fCʬŽIJ(9$ jf&/"AW\_)U&>g,nɒudpgh$),\O $L:)C!VEMRB"FY׋^  ==u4u^U=J31NPY-ڏ(cJ h/tQRC¦m:iiCuee$ [ x^=!$PѬrkq7`Ёx/SUj+qPSTnR)_%9W*Ik5 v4a=pӁ|swu)m$i&2EYV1 Ԗo7rx#dwE0Y8S2M(E~؈E!]V\.x7K\Ю EV5ܥ=(R,7'-f^]V5zkF8`眏|d]Oh%p׼zratGl I+>*U _6Fw`״.Jg2"f`)zk uy2ԼA!I"3Wh^8Av'PF14)Km膓G%U'0Tz+`4+4E릎r>F2@^SuWh^ D q 9眝we&5K*Wj_.L9b GާGBԠwqTERySjn O7 k/yӱY{F%"adW_1bpX=-&P&|&4Q)Lp =J`wqefF$J@C[>Jb(txL|8\ە=KP+.G#:m]&kW6u2b%LyPMVV$R~L ucK,^vf⥯fӫPBפHҝe*#EX ûGBRxu̝-ZTaJ΃S=/(AQaZ%G6ƿ&y)lBkgf<d)>.DvuLn(kٰihTx:G{KjiEܗuY~xM @H|q_p/%Y[nzU[X0Y1Sd&̈́ԑ3|_oϦtmL]xw 1 ޴O\c,OˉAkSLPP=!xQJY[S=5*<7O)A7/>څ<lv.ړ/;A_kqikbȁlt12n'OȤwݑagv]voUnw;.ueSQXn=/XB{a @h@eF6M@x9%- QV*|̖De{.oe4YJFvKWDܗ; u+/am^e4 uеUo=n=in]>Q+ueoIa/6o֍uY; |?/ bvDz!;C>{/ [T`x@u$ #B-Y$l #2\gmC4¬`X[ -.]O6mD'NCN6DrR^Հ ^^ko;Ɋe`ڞ{97MnE ΋K@$wӟtqJ ;9vᖂu=#;FkN*kIp} "nP7l}WhuAy14X^N ZM ,2Xa p==ekL`wrE./(ݭ(JBМp{ߛyXH?=#/0Ize\'_v́$ϥwط<̒,!y)#wϸ~$Lm(OT5.$LI.49VḱLCIie1r*ԼGLo.^@5x=e^K ^4L#e]vݍ,^W(ټ֌ 7J65kۢDٲˣpl؄Pz[r+dͧ<m,T RK+CʢϰtVkTR9؞{]O рt> x%^#WXN?.Yvb\if"W~^B .`{`ZM0&_*Bc f"Hb$=}!IU%#mRnT4MZ6VPޢYHxv `F(0](!Z{}:Vy3 xM`[LWQbJl|"G$`M{4P=8#>;EU\g`V.T+fԂʆdܾ.X9@c CzxFr^k,И7Ph56]xqW9W8Lp$,u$A@U//~Y7 5!++tK{*D["m$jJ*TM¿b42 [bKq)K)hjCF]vh`5r:V H%yVmKK# 3jS@[z+iF:le/axoGsѫ͛lٲxU?cRaH(j6j̨bnUS}z)\PWKԚQd6m,_0KoxoLkɤZs,#Ȭ7h05ԸNRo` ےJ]kQK\i ^y4 PCܧ1rd|2xuŬw0^!x^#vmO89/4*ڲi&d.1V:[OTfʄE P4_80^KWK̔! ֙ D'Ӑ[jCZo=,P΅sEysy֮T]feGcKg "UN4Qͪ .&:kU%x%Du8kme$=C8^9vuWAl 濒xR'2&(m{rԟ2_6DqHzT)ڛ y[KI*k-ABpi pЋ?=RČQ~<و mT6fhU6W}Z}k1x5: c-vANyWF2j,YAY*>jG& ~u%xa\^6%tЁcs[CHQ#L=c pRIKQ_ 9U 2=؜BaO>)])G=7 -n҆Zh}By#] 5][+ Kh7Fe@dRg6l$`40 [|oS 6 \%h:Ud<^ */{k뭷f?|#zx؄4̗r:BA*j*3n\b{l!u=U^IykJ|^. &\i*e$J xk+. 4ZW$MUa:  ɑ-nȒd&C=-WU`5;~_?#y] j`4*H$Ke3Rʤ2LQyZdΦ,k0ҡE*6`u SV.u)/HS^ 5py:ԌU5 xgxSrqYj닟ڨ`sַcw῀~cbʦu$_"afTsPI24j&dk8EA]od!^t%T5 O,bm 2JsPn (*;MDZ5K=/ 7#O./ㇸ3Gi//5~倗g2Wc)Q g<0"F!ZtmѶfPm`J-l 0I*I(L2,-z!JU`eD)e̙"X+,NXQBz襭|VW x9 ]^cYd1wBrˏ"kC1^瞻zv#O:Q$)!`M6EMV0"̌:k #h2 &K1媞$x'3ũЏz2D 󸼤WxU)q׊`h8\}>rIm5X+kZЮE v)7]ċJ 9$x1zF~Xxy筷tǫl _d"}{moS=6l30BeLxШE.jdYkP!ͩkhLISօfa|&$`;MQ-ZM0ᳶZjkQcQ^.{ۭd:Q*;vrI31vЇ>tv`o;N =A'?ULS RC#"F͒Xuђ& $zf0]_rpGIQSAPWs)\b hṲ X%Ŗ@^b\?Z m2w9XiXŲI8 <b e8'.YVVى҄ʧ;4pޕ&^JZFTҔQ#L}-k> e.3c6q x- {,u;KkmF ?棏֟-^ fl4IJB\(fy1$깔V@Tg-K3c/]G@dSudHmQںӥzBu [EjkeQ_ 6ɖ݄?< :jVV[̂c~Fr%ijٳۡo?AnԈ ! d|۴QWI{RNzh PWB !s; $#^p0b ik%I^KݎJڲe F6BO8`g=.f9J6 CDFp[H+RF3ͧ+VfP박bۣ]yuK0 C\MSbﵔJ`/-YZҘ}'Uչ X%5&E63ى%\{xu> *|3,x42sc%L ڋ]WtCbb$-#Z@\Za"S/vݦH}D<;looE!TnB-3rhS5N-ZjkQcQ^^bƍ Z.˛`n ^4$e@h/(րz~k%S^W˺ީe5"Tdز5FzDyCBW& 1V3Z^K ,:ꨣ\x1>m>^{x842EC:To]xx㍙$q>rf<_ʋUt@1JCZ1A<>0{}LŁ&V4%{ph0ǵn-55Ԓ\h((/e/iqDkO}ȤYu1$XnIvuEsCDv{#%ψ`3sA?vfAԈ'-BTzRlmE@5I<B#ZdeΣ XK؋u,^St|TL1Mu(yr'D$M@灗x1?9?x2h3f2^WQrK]\TPEqýŴTڐyBVnSn0[u)@2^]ˏZo@Jk|M&i `xmv dn&4jMm fb|u$|̘+kM$؊E}Ni]Ԣ)mˮhqj SyIB!NboC^, #:G0b#Dž^aÆ^G?uZqa&ZA}Xpę#pTZW͠ߢQYwoj%Ӏd\rB]r`h< ^+BWc$^ъ ;uv8#ZxpVh1x_+dx [3t L\b$KӜK= dkS{qDZ'd,^1vfBZJzU-Er!60nsv `Nl‘4<%^.HJ~ ,wҢX!jUHvi@50k5$yW KkNÍ1^c+L5 -8 pXĜ͈r3>yp}dv@cjEJEIv񟁧/w> jU[݁W إM4{ajza5 >vTE\zpUk(-˕ 05TjU TjlܲbTJzMUkcZgi0 X"9EB\{e,WU 3)Ě]SK^ 0uׄl8¬ANʉDDVИ+z|Ɵ@$-rT%g8 պ^%G*RSzJQi 41^ Wc=k0FdNOr׸٪F- V l4^XbE㴈#l w)QdufВ+C3-tBK~v4B fL=_D>zl50K5\l8tD3劫鸆efpUٿYK5וnۓS*GĽߵNb8cS[&+v)N˻+ n+y#Xx À6Z]ݓ1%1=ܪ4 $5Z̔WN:5^k $srVVkԢzG^Z^mc ,~1/_j18?M3_2l¹_9j0,Vx=KtPl(^Wx MɃA9N-sgxBrx"?rXp⌃ ׆ JJ^pm94AI<}t@dQ$s,J,1#EmW+Nҭ`G{H7 @3/24/Ik_5gJ3:I'`-[M0GDMz܅\꒥+2fZNZՊ%6 4Cb%y.o=/t3r'p0y6MfcͤX)x ;l8(UsIZ]@@XI/P ֯Ї6jIj od^K]3E$2S(/pxyOe̎U+I3q1x| VaP,qT60/^ZfG!Z*Ӱ}?[h5, Sk=c8=_=&ٶWB4G>r@I0‘7kz g %)A[߿vyG)0<'4I%j waa` fZ+;*4 рA26;֯_o6#,^ lXѭ3i&VVF7 C$*aZj&p5/eGvo]j!Z{٬@W0ZFNY6qh׹^] 1Rq22g [? ߽j r-C3#"V,z`bu=~Yx&i ЀA269xquЀ;,^ 2`W+881:)I,vs|_f JRG]l\эV4@^) vuq ^\ ƓN;Ƅ&͂o~8ڢM!iRG^yĖe7"%I*5fH|<eӀA26xCH#qUz % J~f[]eF V-O`fxǰWIڷj0 jk9e=ԩz(>毘$(TaI-u6]@ DO}{*)Z`TL6SCeuŶ򦁖 ^7x#[-m o '险6^lf@1e :|xv@2×cŸ&Eb {# ktZ%O:tR˕ _ΰ:M 4Pm40;P=8"-[lˠ\]R_4 5eEJRW?쐵;m褧6OڱPos M%@b@XReYgUy{]n;l_${Vtr_RXi&$brJjVRǐzu[n^wqC*5 /e/*nj 7l`$&<MvX)'{po?1ȊRG]x豩ik.gd]BӶu BuqE7ZS j1', m< #L~6+Qkf&i Ԁ2Ȓ9^c8n0ZޱŽ%; UGN7b|܄|=<я~We~.T.ZTk\h4 0Z2Ykq?Gcx-X5K+డQL~h$> cQLMfՊNks֚l0ZFY6W O~ lh@ J8bq2: EsIT'$w( u cm4X^K! l_{ūPV~ syCI@$~er| 1grqG{,u2MQv_@'0ZFY6W ㇁W'BUBW#Ǘ= a{=YZ%=SY6›2$Uk B9ax=e6nh Css#/0/cQHߣZ'&L.h\CoSQl-<Ve$%ks5x8~\r%^4uܖ(~bؽ#c" -x;jQ=#>@? DŽ!}Y$z$0*KΌYEV4F^Z ZkME@ Y/N[2i&M]<\oA7܎Df89ŨUwy@ZڠUYBm[Q韩5[%<^^6Ψd=`m:$%!QHzI*;~_aREf|P;$4еf$גх57oR{KUiWzˤZOӕnW1^qR=xz%4`5Aձ4@>Z FQLxcAxQ밂ŪDp[DڪFZ–kaG9iX>D1h0>%,\-V7D妁y@cj:eOd+-2uy|Lf_h4ø u0LA`ua/n;RDG>m(Ŕ?lQ]hh ^,s}ae@&̈́l}%uXy$n R -lfddalOT~PŃjQVBj` ;0Z4\=^^ 9K{a ӥQre u|b݊a@^m,ZM݀%eC\7!f *0a--xCX~Թl&5PȖ6o[{\]e5i X2:adzh5lL(0Q'wJL9GE+ڇ17MIJ6,Hb PGe0 Ҁh[oF"mDVI{Y9Mϟ n ğ-!2fQ j ; %\6C)fNSzLL{4`^x$q;RP` fdKm19]l4Б Z@^Vͬj X^Wb͂BeX~Y &o͊2f֦Io Z@^4 h^ xkƢh o~3Zl(Ѐl+w]XG-Ы1 tf5Sn&4`و`-2Y~xքҀQk,^5(h fBkϻ&;ª0 b0ZxV׉'E[p |6A |ki`f5`e\(12TLFZ[aӀi ;^ FdA4& hs/㒅@x&/xfG4@ZTrL^יMwd4`a ,/ &3]&V/^}Հ6ڽLO^% /L 4ELS׀c5k `0 L# ,x]~u60 4P^NB s5i0 L=i':{:x=W Mepc՚L@5.8ѷ5kɨg l3 LY@5Į9+ zf,s I&i4`Xl t ^x\ZhLO>Y}ծ2zz 翹ƓưO5Wbz:Ӏi40E t ^CIeN9UZ`7jMW2( 'e ֲj xMq[Lו^fk_qnTB|XƂBbh _^6Lhx1Uҏfū֊9p-W/totk '3eյ>Ӏi4`h%ԕ&B!AUW+][VbOf`יL@޾DW%BRܹ{͐D\_Q9iȰ0z`LӀi t^?r O`\fyse>> 7XYl x3QհcfkgDs^bڴ)07#:)dQv5g 3jzdQ5࿯Σ x9CxF w\gP ^I%x܁x`Ȍs6=9̭֕u4:Fּq^rۅ@rے|< ($m*BɥBNPmw@ʶ6d ֋/6jCڞݵP% ixn-f8uXk (9Bx40MƭH•̖&,J%x2[3KثoZj!1ʅx#c +DUz<uWkL[^+\=VU[%ԹV50Mh`~}gkb3E3VYL_ūbfQl|SfU@jX(.J+ W0*pYׄ-{4eV!' .7vlNQTc2Nڈg363\~Ȏ)F34o(vHeŐ}F`E M*)ں1kqiZVy( _nꀗy7Iß9!Փ<ې@퓢jYϟ]| ή6 ̪Ro|ViJ©B kXG܀<bœ] xHmrLjiTnz몯]ɳk3J^M4`0 L_K]]?3 Z^ xqӀi` 4Сk ˔h5`7 LM5qNL00uƏ.mr^3MbPQaX ^Hyq׸#rmn+a>gwWN^3x H9CR;.Wg՗Wb^bZ=K)\./7 Z,hPiݒT EЖw?fmLˢ9xŌ]W2=Nd]*>kF.EJ赫܊k!呖W^Wc4#MI S%kRVJyY5":hUaXN t ^U˝W(+_rƺJ/+u>ӅGjScI[t`ndJ@߈w"cbDK9QUε c"M^` +;D88_*Vߑ<zaUwr/kqkٔ43]磑qÂ5Egm9.im 2k8='Ua9xz!D+v>*d1r94ת&5?FDSPL,^c /[Qr5kZꧮrJm.;x 47F<-{4`0 ,z/xc5|nS|Bay9rTWq{Qpad׻w>je5LX_z ,G0<3 n}r6+aBmf0 4@lK^kC NX<~|=a<~%I]F%E=g ?br.R Qdb^4(a^#h)©-"M[L^*.9\6DQ*Z|4`h_;5"xſ ݐ>kmWcdk[0>9h⋡RVۦ}1+$$oj4`4xP2tIë@;>fU&+4xmѷTZZo`Ȥ%^fmDu%mZmךL蛖(fc_\0K+W kY4 $40!{O'GcJ^^zER Jni4Бb#xE]E<'2J|A!4b۰ȦM;~ wYMCjL ^UF^L2 }l^EC7+a¾0\k`ucV5FՄzhjPe!T5>: ]i5wل{Zf5 LO^%H^sLTӀi4`h˺ikj0 L^[^}??bҫyT +MՀY- ^C #:"u:ð:D_lH^{<~sbݾرz"[K7bp&Ϣ }611 fL ,xKɜ# FbUU/kxVoN_;Y(nV {sMk : yK_ _{ɦ@GF rxU+J̌J D)bqaY js~,ߑSJڍKW̼(&i`4P^k @Ah`Ds%O!WDw]ߥ%µ2pHsvzb^9cЏSPj 9}Ȏ+^s͖W/dcsgTh^%pV ^C6mG49ю@फ़ /}o妁>50%O xFWX^ƴ. rF/!}nPQG WyB9&DS#ݲelՙ:@k|qYlwj3Z%3Nxs\|{OǕ^=P{YVL+N"P1:`bR'jΉ+Ǧxm,v9x^+f% 1EG>!ʯ0xR1Y*4$^ri\T ǢV^M#1yk1^6PEd G gfh5lyE6ZUma殂5Qray7 (*^\}x\ak/i-7 LO5묗el(峵h`5bwu9~\{;:oWow YYdJLIJY8dc|Ҽ9^Ԣw؝bb>LݣӀi`h`"5?Põ|'@p$I/%>J aN WT[U[-rSsen2 k&x1ƺ`d1W?(|7*Vr 'O5uU0hfJX7bϘMӀi`0~-4os5*x ~MB _:3bwBӀi`4`5glm^^ko} rkk4`0 LV^շݭ?e/VO.6 L w̑z/ OӀi`4`5_kɥ$k'= Z%T|Ӏi40Q xMTvvx^fjjӀi4`Hj:i/:\G?Ѿj#Ӏi4С :TUշ/e/o0 V^K}ױ șӀi`.4`5Ʉ ^^^LӀi' xX ^oaLҀ|=%/:p8x-y?L4`՟n5xm޼e/ΟUh0 L/ s먣r뢋.jNj7Ӏi4`0 d4d|ׅp|?)DG ^^+bIӀi4`0 Tjkde LӀi`\ ThRU!^ D]zqvX\rA״4`0 , cû/k;l0 Z^sMϷUևӀi`04`UK]V4`0 fN^3HL wL|kkߒIodܚk0 N^ HA^t;l]=wzkE1E&%:Srh=d^u.?~fA< HwT">xu' [ՇϽOo>z@'mb*|Q*u_׾~aZ zwO)O\gJ7[Pً&v#sλᆟrh=nMQALQ/Jg?o~srh=nkIeOWWoAe/؍ :䓅 ߤ .FI離 _p0R`kz6 E)-kaiÆOOb)[E1`?)z0Z`i-_fUfz[qXT-!UXU02'G( *e(l&ѣ!k9fZN:y xU!r{݋?q|:*%_Oʬ@ 4Y8MLQWf2u%;뮻y{#ok^Pמ{n8լN?~{6xy~\I%DOOts֣d˷꠨|e#v\}k8U.@ _:餓nۃFGqwU xen|g=P_N8fuj??A~ ? ?g/~_?a%x]vsc[L'xtWO[XRh1cAS}%SfRv:R'NXWꎎ56iy:jЃxC<̀W[dq6 =O:f27ַRw-o֍f%okୟ~_?΂\'θ{O A ̎8O TRL\QԵoo9 MKH\i*rg^J[_8i19WO3f [ ^m[ᅗw 7[wK8g+>sĠ2BNwD|`1^sDQ D̀\O'-[;Rѻ{,|]>Aꪫ5!xm7{55eiWx!cnG+x64M]c"5 1_lf}DkhY3 8OL##K]'T9j+kZT-8f p֫SB*QZ qKdfj@ӺUTzԣEK_RV[mo|=x}3Fԧ R~{1^PWF ^u3 M-^1&:ƨMipܬ6:3^`oxZ٣/Vwm-68}[.s\ґȫՠMJu=Yz{s1l_G/ߋ׍1|uX&u>)O7fx .Sz.yMZF7^m]bY/rȋغ2X )x +9?Xwmk)9٩UxB>{6l75P^q=|_Sv6% f wz'^Z#@aFoNkkaf2 3urW>wޗ]SNaxTw ^br f%uqfu:Ŏ@'K*1:~q.# ^0x4嘿2&W%W%qsDaZRrB{/'sq؇rjsU{#j(-֚\?q`>mAନx^vjxZj<]Y+z|кf2Nh2+ڃ ^zi{-0COxK^Nͺtޫ /TJWrӿ,ci,.4E2|͎} =pbʼ/zы.W$ߋ`w$@oxJլN &/D':B'[dL,^saHU}{7lذ;1QuI$1UWә&5YnF,/l&3Z( ܨtqp}]tpl1B}:Q[ `9f,^]^֬k`39籸Usɢ&h#LQMQ@X-|w@h#Lfj@Ӻ$^]hb7*x129ب{vX,^Py[>ϰfe>z@)-{ _JE/'+7t/G ,R[Pً&v#F$|} 0甯~XȒh=)Go*%z^q |yX~_o?HwT">x-CYMbix-5rRӀi`5`xX/EӀi400GL h^[p2ki4`m x14`e4`0 [^Lz%{\Ӏi4p0ZG 2Zkm3 Lˠex VE}$$b0 LfPtf RU^j-dQ^1 L@WRLc6td+ dk Ro$,N`2Lh oSYfZCCZjRW x4`0 LӀi Ԁ Ӏi4`0 LҀׄm1 LӀi4Pp8:i4`0 Lf0j74`0 L@m xV]`0 LӀi ͮ2 LӀi4P[^UfLӀi4`hug_%QKu6 LӀi`4DR[IUe\fF[qhp\K.~TE<(k+vCg_TvZ7{aWMPm.}%o%:|RZe[+ *sDDP;[ȤpFpwLI?{~uWo޼Y+wqZqQG!c9c;' ?ɫ S'6:zԧ~N<9/eO[#>}E{In#gO=Wr܃^s!g/tƇ%G-.yǵN֖BTK+)mbxW廲FNahH|OjK;{4r}&ϡE&ޫ{AVzFSe"w0ב\naVtC@y7;۰aë^=y%r 0d/*٫w:NfA΀^! {)xy/Bf-^K ^:,Q^3yW9x*-^3_Pڽ~/.{/o6jfh55z!k>ӉѫsHO}hUiKBr4R{ NٮuMȰfWKcJz5hp1y̺g<O=ԷSgrcOׅY>y൴i*^)_M*<3zMj d^ vtpy6^OpA>pbZ֮uo~O:$Za;SLHIE?Ğ[۴9MS^VT*pb׽Qw%#sdʇҲ@md2x =b~oN8\f`pbA]WykݻN; .>`0 LӀi4`Dzԣ6m?z_Ǡ^IENDB`candle-1.1.9/screenshots/screenshot_heightmap_heightmap.png000066400000000000000000004221771421102410500242520ustar00rootroot00000000000000PNG  IHDRiG sRGBgAMA a pHYsodIDATx^;  TbABH"$!jIHLcXX DC+|Mofw93fM6}Opl8A>891>/|T0jYZXXXX:8ڹu֫_Fjի<@Ƽ]Z뮻nРA =܇c>q(Y6K1R%Ybt҃`MXોGǸBO'qGO`N Ȓ dg I %6n`T{=%˦ЧRtFV:I38^tκh>BUH[DVw74}&i MVdH3o s6·cl|6^iX@%9Nnn5W_=~=аa Ǯz?bg}?綟}7hXvnΘ1c~ᇿ;٣Gŋl+_ Bw#x؆տd—nv8(NOkPZ_F  Tk։UQ"&pq2}s"'gO҉9y $bz,9&]_9i[LbD=n$ EҶ;wϞ=,{w^:q/W;h"5N>/ռֿF|BJ ^ 6 # JNZ\1@ p[k(>E?X3p&g$S<{nCYΨ{ Iϻ@*x5rρO3;7ޝRn#4w}y7Tj:Mj_8E4Ϭ_?-wБnm\_1 ˯uy ۴ONiyK:,)]@ IC>p߽.88o;k;'>ߧGi=os X8zhc͛6_MhdtQ zvA */TX1WUAשTbW[Un GW̞4\7yuwoSr%>ҿەy q݁:pFR2#-r\EU¡ѳvPILܭIQrK3N+8PO%ѿzŤ/ioe`ݻ;܂PoI,W ^ i,tcs^:DAB=ؕSЉ N $\\G+K[[U^sCSۙ^-uFd*P_Orʀ>ށNsnk3B#n].t=6 |r}]u/rҸ/O;w/jʈ|P g7w۵;ݻٵoϮ=ٷgO7'{ DO|w)?l|wx;FN{yw֕[fMժU]1^|}ZWTuBF>r N`/ ࢥ3jPă~[X<[yhI?$w>ݞ>u ,o 60Ac͸.$ULDdDM*]j*|LXeqyUV 8o%O9}[Ls-kN~W4z)P 8Va3Fʨ /^"3mϜUS+h(OK5'E_X %)w@)}DD޹ R_!?Q/Υ7 c՛Kqsn}@V)_Cu;p{t'c$j}c=xL L3NH{ h8'׮}|v߽g=UܝK  (խ;H*=S/#сI-^3ϪV꺵o~M6G-2>WQIC} ^_>N?|%g&W\r c\0S)le*u?O[qq]K~[MWnCO{wҌ:mϩ+oj֮zoUa{*e:k{p&z5ͻz4aH898`k(ȨT[ ƍP%CմR}ӫx7HqN{c}.]ԻB WD.>noۯ&pΚ$6OPn/ CO1)Y=Qɋb:I˿{VF5x|Ŵv- \{-jkZ6uO9kt{PzV,{br֭swDّc#"p2762OJ'G.+JDEO=tRL#5T"/RZ"plve)-?LY'8xQ4tT@SO$+ ec.pLEehc ~z)[SO5}̃ԌiWvcG!,uQA#vjѡ0fF/d$%${t&k2,S;y/D3 0=WY].Hgg׉/,)ƗRz0Q5~ -3_]أ7 kŷ^5eKÆ<>ï[ly`=1ᅴA}9r!3rùC~<-S,\RtoځF/ަ=&X4O[Uv^Qу S;՜Z펽/i(ת1(C'\1Uw/뺟+[Z+Ѥ+S腡5cՌxazg8JDhRGxZ52D׊iSĸ{Du&%dhQmR]YQ#Z7%r0Ei|NCW`Go.8/FK]+aU-jqJ}*ٍN'C0_`3Ej'@Dc"EC[g!4bjiWd]nckL -;檏wV*Ċ1{yj~ي!qtyHO_:oW[y&"t{6nM[cVw$9q'?1-@7DHt97j8~S1A>thEs-}鲩w `V[+RsBxc2c:GO~5;jv~{ܨcN>Uڰߋ{Mc}2H[@iW~1Ą U ihrD;鶁D;?u󆗏weCcNS[,m+#ЯoY lbZbPJ&&}{1߯Խ˰0L*2bH!LCQPQt=. uk -mx a; (g@]]o~2{/[E]V.0q J\]4sNn 24cp>M۝LqlBqP(+8םp괌k9Fg^XVcABUS_{V y ;T-|+wXh^#V<\h.ܓz n|g M~)=`BgO:m3-T_fbuċmMQ9D579S'Q?[1viI&Bǘ{`_[- OĐZFđ Q*j)_w_Y 3BLHV7,L#TnU `oYkSo$]WH6*x%I3dBL 'W.G[h0A|eBZu}骢}'9wr[u'DžB:q/GՏ߻qh27V.7hzm9o)ήZbCj{{ڵiفmu=x_ڴnWGilHGC%OUbEQV0<2H%=ƺU'U2zvSZΔ<{r|k|ОO~yzcu}y' ݩzO˯/e7opG߿}_)ifn;:W<Iϯ{Հ&Ɏj߿orgY'N0ddDqm셅E"Iӟ4PT6z)P? z1ɘX?Ʉ,&Eᐼ+?iRӉsGqQ?G~Q+/6/n~PG/BXQ =g.\ƪ/Ojp'lӫ}D!2D9TbE%.8MپݕPH.(Y dyU^,^(|ی+wDUϐcp>̒ jDCHldrA`>>ٻ35vԗ\0IhIv"*)wZnS8^'o{?aŃT}G^0/cؠ2qzJDyΖOƏnfR?<&I<࣏-Wf eyꮊ1B@;Z!]AVZ]IWSFZ]y]KBdW!]zwW16Iv:PiIżSCFj7^LC}0R.nxy,{?t ?V{ pU$İœ.tCǺZGH66,nOF9l<P}:%pOƔng_QIl]!5}fkMK~ÝY%CuJȔ9瞔jc'wګ]_HtA9EY|OĩSN,'tL~'ݍr?wR+Fk[s'uqs vtuFO]=sU?8^N47f`{v7 ,T$QSy܏%G%O1fvD7m܇i[|*jU_RNJU.WSjNjNj9sP*gUMFu uӟzuWj6TVުdr*Z)שZ\  +rS qu9 %1_k2 \?e/! T=QUyr~wзt e;?>3~xUW`z'}ݔ۪voqBϝ{CoN^߹aBg?yWvD zJMlcu;vzK Fr͝;w0ON0.Kownʃmy{St=3n 1>ǧL-]޽kB'3ڒ9/j5>uk_>n<9׳ɹo"T1L<'S8񩧞pE[ ygJ=Tc$$+I !V@/n}T#PG#aan"f͢,2dJ3#K.kV"林cAsZ/ݛ qwz2HkJ <46~HQ% >f!\APDv׭D4h˗'[rխPI}T]GW,G5ı"?%sЧԡ:ujukz )_!BŜW^Zj\9UR|jN*|rjT):Tϱ{q|zjUժrW)WZywTݮIcβ UW>~2ocl\,g{ w>V=GH7.y.VUN7Y7נzxk> oh~3Mjgo;bs!/>ޡlۥ"נQ9^ ?`ɿK>3\Xˀ^1oRI9o~Y_wٳdDc!:lozm*ּwE9Wټc<S D?Udu BsgD u+pҗM@nAZ'4T߮[zb˯$a%]<%sWXj5VXOA;?) 5mԼylqhM=IaWb+eg8Od&>Ici9ͱǶiҤ1Y*UPF+oj]Bk֬Pvy>kԬErԧY5Jñ1LZ5rk*WKVfrT|XrsUVXⰣUq>yٻ;W}3O纹eЦӥ^~#~y 7ҭ ڭ@ߟQK'Hu:|¹5Eƌ -W)[sߢ @lqxCܼsʟύBt믿>O3Wn{@^L5oIzה]2k7=wG\C o~:K! sJs YV-aspu7ץ-2q E<)lަc;:y%fUOj:,iBxʜN$:XLżBn3(`>Pb* HSxһg2Ͳa>^i :G+8\'}֮YV\~-AOTr;TZ@dEj3nnՃWV<)|{ o1"*<s|@QUoc3F<{x=tl'. kkмߛ/ۜז| cbw9j@ x?TvRuRTMz˻?ԩ{3޽VŲVuqm{vL͏se2{ ȨށWQWg"Cݻ+xGts#וJy emYU1]?,wWXɑ?+TNy2#+rR{S']P}'yڻg{MjVthO+#ӗ{yRO|.eN"U2*҇q4>g^AX2XBEio4[c2%b Laekz\Ld'?* u ;ZQ H* }@~u 'ѣ I>t{yyM566mW^lJ *̇<P(hs.$B1 *11*8~OC?۹TXrE䎕jԪXV5ԬJjVURZkpBTPVe?5嫒eҳj[b 5_Z%7zF;v>oAzwm):xӷ_Fgʹ^wQtoXt5sG|GYνQlSrwo|vgO|ݓ}s_=;X꺪2lܜ~͝=}HcsYpGigNz/JaΩݯ_7ºgZGv%0S~upÆ svYATLJctXm3vNGvoŦIݯvկ6kGfm~u[xͿ5W2_/? ՠˠAqn̿y1\3<|Uޞ^Wvџ>Ӌ}<o\:ꩳCuC=6jf)OCjpCOSUKo~Zx3և5ڷw5{bKO(fY{v)ſџ: gۅ7)/P!~ՔU2v}?*F:昢UbdW!FɮID&H2bHhL6vYF|0t*3GGLv_S?%yJ{T; OkJO>oV#u]¶M%fVه{R@roLA?=6t}խVBҙ#\9OZ0ܞeÚms-BPƾժUGxW(TqG瞻ZMTR^z3u|?bǒ~ܩPNi3.DO4g/]߲BvrW8 q99q9 q+9vpu!=#3h(Q)A uBFsdOZwgּx۲~F{զG^𧶏FOMA }h{bt#CFb%k⋄տ:uu &Oٞ.R@fcN c]%y{)LaU w (R/y{,5D֏;ѓH^L7Drje_2}6J/a-G}t3,KMA{^z)p\ 2hx'Q%Ԉ 5}dЛyI  CV ΅^kziQ☯ 2 &˦I^&I ;tKx52bH~sua]Dj,ץ㧷ÓܚRޱ~4N.LV_,Zv:=( v _qJi[5sݗDōffgpb5\_0͸hTo] ) d^Tnu)γR_1̡*y*'9 7z&!D}{d9&r^z6G< ˤXdMƅMi$Bǀ%M`肃 CZ]Eg^Kq:ӫ7W|u)0 =W|%m'#U:P$Ed^$VhvE"w;;pib-}/6'> BoY s42tɰcEg^,c<=n t!eGKG\axT5AȻQH7:|7+t+ˑHOTx?ֻyidNK( q|TRf⦗r Mյ޴g?AU4v eJC26{%_XOl3j=v1:.riI M2!Wd8^əOϤ=/H 1*]!_k{˄ݕf&9+!y)rRRX5w7oɖ; J 30|26 atGc?){$mft;Օr3:vhy<(V 6w~ k E "-AR5 &dtO@8^~Tr$"HS"@=7ո^8zi`F⥘MdїOaUa't%ٍ7#1/$离pc<z9d}%`h: }9U9GP+(^1|f{0pH in"B]-y'VZY1ҷ|CzIvXY &W-kFS >6nHmSkEjcAi#z+V'YPt`GwvQoQah>CC9ɀ&<ԉd7D9RJjh+9`4-j/DBOӔ| 6UK]}#HuOA~J*2=!SBH1^MФ]rL}G\LaWnjޅ3>XqƎ.4b |l$2qI}L.i3QJKIѹyKq$SNlP% y Mq"Xm(:If͂ >bb={FvKRkՍJߍ!]%2G(E,ƍPP׾Ec[l;OLfd~FLKjtB韛'&Pd@yz &.`IM2A 2^Z&3i΄;X;\9xpkaw6W!ϼ!HcZlvD[!{z+W~<(rvZ#H]ZqI cwɅ=VcхԥӀb%8N |cbZ()y.V$N㮟Ll' =S{BJc )}bTkrLfk!<0ydYHg&2tCOfDC l@젯 (rG1КYU5 ;p͵T0QBr[ذL$pYb=hźAX 0dМAnLV Sck0 ox98ʣٕzUС ^+ ڻĄo+^@ۿ'RD}hǘ#%!Q)Coe})#LPwYcss]^Njޑ|a4O4׃?ŬUw=r^\S#9Nh}!@FRP'iGRK~2evpblnwv:kS/H>KlcS3#\U@U%|0U\Z'Q?=C&!Z~Boi!~:=)R!M8B~|G@FYfL KdPnN=#HE/w @ ^V@DH9RcIV>pپmvz6dH{GKlR2gN?x6qx}khL"LqjJ@hжM"LDWHD R'" 2DIk}z#\jKo-Lc%mjx~ľxɽD[e9Tҕ.-yZD%KYqx奄IvTMkx tz'fG)GLKR!vrқ//TKiRj _\ģХG!Y$xxS ܑ\x)? {b'&lѠohhc6&#/to{q2C~;vh'&UI#q֬Y/b͐ԲԶ{9~@yTʽ˫/xNi9`9`9`9`98wnǤرk׮W_}/oځ-,,,,,,,+w'.!gsi)'|UWͷq.rrrrrrr`qqτ ;_;jC:oZXXXXXXX?*9쨢1_j#?v='Ԏh9`9`9`9`9`9`9`99PbN:i(O#ȩ[ƎH{)g~gm (~TTvdtN: _W_ #ZXXXXXXXwTZk2uYx>@!w|yZ28yʟw~RK& _%=^'nKOͰ8baKNn9`9`9`9`9`9`98PNg'; |쨒Snj'Z.44z ;@qs 1U+˙?!r;5^:o5_ڪQwtz_'S;ֳj5 |'ukrbT|B!ƯV@$Q3 ]8si`vYp6(HX2F- ۂvۮ+׼̗#x͋Vl^4. v#W|tkCP/OEVcwAxC:{  mjS#E̊#O *Sb$ tj,C((}sׯZ鸶@sam7Q8FrZxjp}f2gmQ/G|Eiq3j:PNo{3ޘd`53^_8hn5)A S4_Nzт`mb9`9`9`9`9`9`9P0GA&Yq}Uت%Gt3]B}EcƯz~y&BG5Q@A^R&hrx3<{>-,,,,,,2@d2jaGOvM)53AVG8<1O~%ǫN]СU˜>MJ'g㦶v'b9Wxb N+a gBJ:gs\|5V/ wˁ8tY+THkpo͹#Vg-WmzmbP5F1_ԌcXXXXXXXJԫW?۵kk or`Mr+fہmg9`9`9`9`9`9`9PȭUSwӣ W6&9 2;f_O>%k]ƌ?V޸Y#ۆE΁5+&ŎuEsi$/)rfZ=J(M;zʉOw厾={}~M-zZ;kpA׳vh9`9`9`9`9`9`9P0n|rD޽{_ٟ ;Mxh9`9`9`9`9`9`9`9`r ^Jjǜڵk/^' :hu놽{4V-ǁ?ẍ́Ocw}ej֬dɒcǂ˗?39scd9`9`9`9`9`9`9P8pio.TW; .v>Yb-,,,,,,,#%8bp걨ZXXXXXXX6hp }rҶ^ˁ"c-)C-v,N-,,,,,,J!&TؑYգF9(S$[XXXXXXX 4|TAyяX$N-,,,,,,,J/2Aj1d青rrrrrrrr8ĎWꬋݶ[ˁRŁ"n8jR5+K@q >z2mFlp:jhu֥o]-ŖE#c1z>Z'rrrrrrrq@b*{Gq)yVsgYnɵ(ZXNB1zʕS)(/wxEKk={V^YPm{ˁŁczA)( i+)ZjJF*68|oNПf lv0ˁǁ;h;)OʤKV8 -A(b="b/VPbŊ*U*z0v._v;ά8ghޡʂU:'hBczJj3S =x>Э`m9`9`9`9P8r"gPE=FF,X0+9fnP.*ExZ`YnI) QE7;TpK^ޖIm\k2 7i`979cNv,tOz:*ϭhwp;۲p3ZOuOCl9`9`9`9`9[u+b4:cNF-tE3:t'tjcV+4w/qLjX[*rWdɒ_bHիUW];D?5S]AaD{жѻ$Sw ]8c3Ƶζj I"}RM2uK$Y'ح絒N3ϼkΝ¶MmٲEQQAkS">MKjzkҙ8/[Yӻ°cڵVH́E&{\Xd#XxXN|p ħhMcS4|ZXXXXXyx)j]gn'h9`9`9`9`9`9`9`9Z/-;"n BZVZXXXXXXXI&Q##;w&-,,,,,,,,,pCWƮ@IwQÎb !KіˁWFa̾}Dm !-,,,,,,J|Xѓ=Zu[%K@p_"z,tZ*,,,,,,,,;bAzbyeDi}q,% :.c@&YXXXXXX1={YYl*svXJQ)9u/|I08Y~C9sfj}Mmٲ%EѣGl (>|xYծ]{굍TI9< g m.MѨS{;^<{)ƃeD}ijGV́d3)uo}[Z +g9b qcvT ^<XNGmXrBgW^AinW40w;[jϢ`eb@XXXXXhi‡ 4i p>g"I@W_9j pCc?q8 (VF,hv1bbCʘقyZ1;Tbm8 srx$,2Ow/Ʌup~-P tHrΣ9:΋Yr}a㻽ϻs^ϷS5ttf](1z9k+9.,,,,J!٧TlݢGA%t\9m'2k}#ViÔ;Q=sx}^RmvvQQ| ⼼E4'h Uq5Bԩ>p= ɘ4"t+#~{RTu|-ZˋsTeqt E pgӠsX痳^|}k7y!Aկ^B=&; Os>@k=czj%%Jtl'[u̩DAݢ+ K<b*.?~qS+B;L; :n W}p7V)1tK!dX[8zXkJgmSAL!e2ο)4<9=W|8iq -%eP;)@*A&&},]XXXXx(ے)2:l8)U0#ӎ(PLژ1@~V@Ė\i=ٽթ4RW 翧D;7)I(HcJe^B[_ x\4AMRdwgcB ~%n8PaQ|)*uEQREj.| ~p'Ù]9fPW&WeWFcݻw/ne _~Zt{R _26饼#ѕG; D TE̹.Bڮ-,,,3o/e4~vqЇG-ngR8=F+:xEaQmE|풶# $F#ĥz j[*1kƚ l׭,/ kܟeN͚5 No$jݧO꣏҄K8;dp(#\DCwm5iK<.y™{d4 %ysQG\#I|"r ;zZqc3w]&gn&F`_{ZȐ!|Ijn8`>dRtG;;>EDIQu:̫+čgFAEaĠ?GFf^磑Eۯ@:*7k rҺG8, aHΙ/EbOGb25)(ZL@,ɨl9`9`9`9`9`9`9PP2$ON|lpFU46rPJh;NR~nI(w$cRCv&M_D%ֳ(ظqUJG,dgps;Lr˸G/+W[䠸Xȣ5PSbi"`" |bN[r * ˲rp9鍊nܹs 1eʔm۶ފ"r8ણ;VG;+VŋC緵{AـI>w& i 0N5<Ɯk\ѩ4|gkf\5VƪqlŌJ9IX+5h)9j&yVMʟm{=bMgdgP SYxo&d}))I6n!; )&de -BI. i2 v*n2v ˁTغuĉ8㌮]w}˗/_y /裏[WXf!2G,DmW%\IcܱRJ*T/_<ϋw~$rz#gwXÉV AbS鯻ufK LUMn<]őᢦx?vn6q>/9.j/q~Q`%‹,>ݹݛ[&|3gޛ[Svɒ(+[DE[)&"m=%0K6IϺ8>?b(W{GK8J|d"rl#x?lx$G3\ =`$ϓnҀ^Ow&Qxä-ѧ=0dVC]RHbM◚j6|Ӣ`o 'k|hRO5̈́O6-[1[.`JhQIIˍX8{]wˁg}zE|-[LA~kH C'?"Oԏ?)X'ţsm!p֠Xze&C<+c3J1d3ǶF;^~C:Z n wD\ }b嚡Z+KMacGs򜆧ƑUw7{ȳ\uo-vuT?~6#綫60$ͤ& h~sz/݉EfxHoNzyh׏\Կ_8B)[PV-Qx(]є!BI 6|?FQz2M[rh8i#"5k֐#ĨG,{ꅀAGq=Wg=쳫Ui&.]4;-[vΜ9sǎG[nF,V׫]X]C?iM[hpE]PufF/F8Ja2oE=C9 1ft.eQݨݱ_sXx7 'p &t֭wO?4#,:87Xlp==ӽݖ=caǖ*I12z#U{ڏc>yK'XamzRtRi]Pnqxi!b l7z+EgnYO$ \ĭIL,@MIY7r9LD8wy}7`8$/ xM6;Sn޼Apf-,l,J"7rU*#u^DJokr{fp|7?NA[G)Fz۹؍_e6}d||axIVB&JrF_% oWT6D0O)CyzzJM5+`ڋv._Ck.Spg4iZEÜ};*hA.|b~pGʟq17V옗[rrrq g<+QVi[Œ'V~#r>_Zƅ O t^Z^~G{@ݣnNvV1Bŵ.J"F M_S?d}\nZCgXQ$N CP&͔݁9tdwL\[rrTrzw gUn͚5n-Z 0W^YvP۠Owf񭋂Kƍ*]މz> < Ԃ0y5rS+.tNO"=2r|$%DnҤIǎ;wA 5իw1ǜtIZ"Lv]>dJڋ@ᩇs!H!{=e,,30ƑwC&Yfq*F2wԡcTU(#rGf/i>苟kf1t="L'6yJjܹYd;e`DZ/@Wn]r !fJ*!Q6m]Bb.aIh€\G6?'N*Ud; cxe.3Bҕe26nF,w=eMx>)Qwy8;wK'f|ΪՠFI-RNiȨ5(":kV$FnV+=TokgF#7\t|Nͦ 2iuiLm88;"YԩSAG}4_D#\$Q!'xd&vQX}bGl׫P0%V~gZFtrx -=OV1WfjY3 wG9XnZE/B;KسgaÆ!OMڷn۴і-[RT=zmVSL2*HT~FI"TĈYiu6֐_|3ٽ)Wi9 :G <"y@~QitYPqȑÇO1 L-^۸N@jrh,8,_~j026dI?Kyi~x̌$vti#TrGv/ǽXC#zdQ`J>^<.-#m)+Ptj҃&'u&5D9Jws9 AFGt(Һ9d{r7[*#2d-lbGb=>Ƌ:_F:VoJ& "NG#rbMkGsz!xNxy~''yb뤛RtֻlG{ٖ >?%,K@qq@=7j#; |ܽ{wYw"zD,Sp~NnUnWxU F$cvξ=JM_:oR("8%0Ve= X\rrrrໍJiM[ΨH9Ph+G#sL;>#ǝ;w"wB'<#vʅ́Uq㜼<V~R7g:\:NÆ >y(errr@GOȨFdm"MtEͫ Gl/OZPsMe2=c}e+%Nt/{Dovw7oԩL5&ˁn>kqc>*(bGd{h=`H$Ef$zf])ض>PC?")Rv?\_oo^}uGmJt Æ9׫,m(pM σV䋂:VXQ@ddcAaK+SDHZ)ӣdkZ/zF-#UݻW;/*Æ5k֬e˖{Uf@iI'@JWm@oGEa%GAǦ9:Nx.X{,6ɖD6Ĝ(7߻|7& [H:ܨk{n1[U!ހXXXXvӒړ:rN:!5!9$ _|ցeDjH@L/ffjG&xĒij@@ۼY$nr.D7w-/m۶{jՀ+W駟=RG+l69أG2*iYhe@p^PPUh!Q2JlQ1wb2d;tpMպv#r~ժU‚A|/{ O}v^}tAQf VUCx=m\ KnĒWy n[*,j&3=4m ! ;bL c ZQ@AY +Wfe@@Ti"5YSuv+b[A\ S. 'r@C_})#ƎHVz":)lBCO>y㏣N-"q|-r *R 9<{|Ϟcd1^&YD؊8Sqӥ\ 5Dz:VFv>s6DbФi%m%ˁL8@0"~J&@#>.3'tXܰa7|sJT\r7oK*PFp٨Qܾ}yG҅BI-9ЩӢ>x9u|v*6:dJ"K,afy79%w3G (jkt-J9\sy2rWb-m`:ˆOOG7\4qŊH/zbDm]V-H9ïL%?"J(+P`>v]ffI'8>vZD@>}|8sA:D")#ӕҨ%;Oq'N& ;J26+Gխ:X HNXd9A#:3ӵbdbג)sJH-%mTG7£O;JG #DCzlE (x= Gⱄ\.e 37. Ձn5o!/)LHջΝJl9vիWp)*lIo~ +4SѠ"q|Ć*IBF*NiE)ZgѽJ tӻ4GH'e(gĵ9È"\\0bIoĤ~-> X9Z'51{u Ja :r)sgBII}2e>htxzkO("rDzo(lBHD iI4vdGm6U Cu }G* <5'n1up.+0QnzDk.!٢E P#"IT;vs+`=5Sјq|l*BX2?7ﳋĩJ\yaJlz I3t;9ѢuzI\kzA% r ?nzTX0w-Q6mZ`ٳ.]ʱ)t+[,0%bH!(sĂPh':ƔljJlGn޲3yԝ!t[|Hz'Qz uàߖB@9'u!J|:́|ޝ [Q[zYe ȎHi:JlD&1 OjTT |l;蠃R, 6DݼysիWķ,"Qpk!Oh*3MEs ܭ[Λ7Ck;/D S#fGgV yG+Ah}mH†9fO+qBoCOs qM~ LQ]h؃3\m[6Wp6&`yrGZr|։D1;#$OD߄S[/MFr\/`Ā(UD03( h`:kp޺u8 tD7-Ǻ|k֬Az9Pƍ H:`MA$"P&Eͯ$_zٳ,%8}Hp)[f͚]vm߾=A^vI[ϒ Y뜳=F/ys/JT+'|I =ihkqb'gYd4\]Dʛ50-).2RKGWw?rg $|SQ(/|ӖOy\)mE[r@8 / و ybLvR?r_ֈC9fen @FM >` 9 II!LtqF^$QMT4hqoWR/]R΁dY^NH,Y~M%2zyE^$)ƒ_W摇̘9[Y2֌:OȻD# (0a^a82KސQXcEc$㡚#[cq^:,4Ԉ%77Ę!k}'4 k<Оv&#f9Es>#z`#8G+g8b7u@vT,[sϝ9s& k/~nݺa=[yvΝ5b6 edvU9"s^`"-r]we7me9Pv9sѹeqYp8Fn`FLU~=B8j]v/š:WE4t=22BPc]rfP:y";JJnG !Wn3.BMQaTВ* j#AZiǧI +uY'|C=nj E '|v퀒ȶy? ]]9X\bYf]ve{w%i ˁWVOj/1aZ=A !hke@婽+=<.4LјX$֌ -EF$Ġ)6[0zu@Fz cbbHE0)TA,7ڣ7xDmmDYXG7/^i,%$z?=5.Z@ncaȞ0a޽{?bta@bhk9fR.g!zCƕEH̶b3)Qe*lZnEp07(<1 ^D4)C'e"3MA㙇%AXD}n}Tػ^T4a0qmODl<ЦM?HǮ .B@"L`KΝ7F\F9>h YK7K>-nG2xQE sw4#( /9F ;<|K~t-1re͛#O$v;6\5kcNZ2p8$+\CRȎfrBSC]!VЀv9=#ۯ7/Dr4T4ǖ2/nSݔC" q8zyԱÎZa-26Az"͌J0!B\)N(]{w'_ʏ.rAKKo$'4D'aE:֐ xQVaq/B$Bp\cyG(DQ@e1 >4Y&rrr kQ  G7pyeDx\ƢG[j G>S[S!%MK. LR<1>1B/)8$4a&9&JA @FpIT:68c#_I 7q^ f3 jNeⶎ@V8W[W 3)u]X7O7m<%A(Fsʟ&JAfj©2[4%D"~+kZ'K:!p "qA 6&Z4 [rh-Q\,2Eo^gO?ݏ(o't~qvj $fjV(DH_}b\+Gbtg(GΚ)_OD=ZcA6xkK6[Ch&. ANiH,=~BpH~Bt͒PĖZ#=3#;Dv()a Qaᓷ_?v2ʟK*$gy-/`4T5"Zq@(0 伎JdPRDִ88CБZ/~5 :dȐӧfJ+9e-S:L6;NALp@$"sq& ydɀV[Ds7޼zK7HuwY^@``/?E# y^GDN\R "G`wjSK 霌Vkn{z<9|Z*>߶/hp^=ڵR%wʘ~I-%0,.!ɓ'R 6lԨQs,_Ģg^=ֲE} $͓ll"]}s(#E^y?._://U⹹[hZ'V(Un:̢(tcs|q.xQ6mr;zc7*ծ7QL~{_6 /X<{d,R8\S(dߏkk`χ'5;G}ZZ8uɂx4@u  d+JAQ=zm* (O2%K͟_C-GUOGk_<DtSota?|4n|E]'a(H=S; `GPF\3_GǎF$!F^ĎQ/^{<8bĢ?nUje-k.wu[:aKt`fQd>y0G/7CXuA3*OoYAyV#qT`эvE cfR[Yt*O?I@;͆Q}+W=ɹ=_sxJAwi$v- t/+ͥFHnDnMnlx$.ӺXcRNDreZ}I#iݻor؈->1@Cb7A>PcL9l1 Kyn@\pZ$)-Y.W!Џ<ځب!%>4"h6+h}̃vɖի@ƶ-^t_Rx*`~pQ&u&o9P8+Y8[K0~-DTՔ#Gk2.E{Вs@r]}哎*wz&O 2@ wx棎Z3cF>kRnxZPb(8O EC"e$Q萚'm@->b)<*93-Xvۗ-OunAH5%#N@^P(ԒSOU9a뙄rrrr9jF1#£;pG$+H tgûi:Fa\[. >Oi`5mFz(~ ?JE3 ;JL"xKojnMiWTnEDjlt9 둟Jhn61Qa>>zTα3080i| d13MvՖ ].Wf,VQcq 0Sc38dɈ@Qs1` qv̴x"Ci?m:_3'!AZ\IW(b@@K#_f1A*`nODĈgĽ%5ɓ-.XYEt˃p-4Q$ P v ¿͖zI=B;lѻW U. z d1OMQ(; X:QՒZx0+%aJENGDX=l)-f#h>%1VQ}3Hu@m۶K~J3%å C%MHsľa,u$8}:"&ChPXQI#bLE&Si+JϺ$WDn^I#E`+h{aUϊ Y6,P%B<26vFq8c$+`,5//gu֑Ol>ѭ#Oz |٭mU9`8^* d1ϹMK{/]v}OJ]~dRIYwe\g.wr4 f%zLA͍Mnp%|eg~vQ;xaPr ΑfA>V|~S&%A ] X6eJJHp- 21!,)d$4q"}6HTg qkj-^(YpZD֨z%nj=N<Ջww_סh@Y6pq*#]Jh'Gel:p/݌K-uE1b-i)m䇉P0y519SSNq#vAm;Fq #~:Ò#GA/ƂڽyЩ .߈$J6 1o)qgAʸvm]cf 4ӧPΈ$,9Cc(EǍ=kiC%N$Njm8d*\ 1%s^UF\;v;YGBnF; cKEX*&n(Z9 QƊc[t=h`)xXKU𤖴h=.!>1;"_ h @ cX5xC@z)HP"# gEzp_-% 0VU6 g+ ~!O\TBzI>@Dzi'J+P6z+FĖX(RHQo>Ĥ5(Q!$@,q̚_R2/d)|1%uD08:3R={{.;L;@M 2 E }c 7\"թ^e屗XJtEQDw|g>S`3{vo޼Ex[[c_hRL1#_'.r(Cv&y\| yb@^[A.(q$:O#ʰtPݡ- p-60.T\[dPa>Am?4 A ]5:<{,^\ }HJ\qf*dcKހ80SBEL:JWF;p`?[yZlu}b}bthq#;lOP8 rx1"٦Pƈk֬MR?a :V| {;v4E!`ٲεkuF9(ʥCJ` 2,KNِ XcICHl 12BJ!F*:@ZΤ *l*^A>tҮ#\7n\ڵ 3a˕MMES@l0_2*trMrr@$hĎW&s=.+}FtG*z:8߽9ʤgnKTynY)26.JE,"&+<'1bqTe\ $%l{6X!&ħfʔ*?.hٷwaRTu,F h*Zj5`'Ͳ|zC@7OpLNdž'رnuSߏ_kP 3m߮č _ic~n.wsdqxHmhIPwFEs'S&M"E\X8 H%9g$c"AR I"lWtqu2e_c NUL?4x]M"pEM[NJG &ݦdQ7 5@TyzdC_T Ww_SW}x<鰔ՠ td+>3״O4颋.;v,;saD,=%q% ֖RZSd=Fϔ]K䓺޴v`G.0o4"LZ $$z:G@7+%O5*oJ2RR#0NRc=#P f"m;Ido"E $QGU"r쨐x&Lh`g<&yp\H%ʳ$8Y ٪A+ [&Y%% 2Bc%Cű- afPy ?8 ly7l{%6T_Ξ*~rAFs-BS(<G$W^y% SLek}˨[o/&bGsu̙scaR(Kf;)0K(ѱ S&b:gI]OzÍ7; P 4T@R4Q B(\@|Km~Ѱ3@" U@D;ߥ@FĎeN\,a Aeb)W0%Bj@[k.W Z(:yg{>}KjrE,v4v=IPen/bS&/^voj}e E:ܢS"b1PBHeG*HnO9Ic I,#ug$ T|[IHXBݒ$Z*fpP ),,bv{.n3Yh!EdJ?=a1NQ[ j SDR ?{oy3fF宺8>U#G᙭8:LqjG(iW2=%RC!B8ōԃf,#. ,8=W>B NaȖ w$d"u.=C%nvgѨKD&J^ΤL2DxM5b)Q K>B֑9cT1L c): HYC%r&Y$Ň%92"de) ykg[ǎ$Vn}N;@vu{l^0 iE; f:Ey;YGIK6PI9@U9$WX- "0 8|\wi`3 + 雑=.jq#gD-TFM%~2 :U[AQ>d/ o߾M"DJ=f-`$$m58&v#lA _ O>%4&gM΄Ry )LPom-U82Y`.FAB=ݻ|yE6J*k3XO-6MZ %+9Fه郒K~L BDz?QW:ELǖU4]yXPR6ӡ+weqS<1pY*čހqfku &e P EMaQ <9#>Ii=_S~8D,TTG $Gr /k|eF`8ܰNNI# 2[ 0iňZ U.5O9%[*{@ T4m?[9 @0"Ij,ꉰf:|f궊怊W<' ٦!N8 E̬:EZ5 JdPlxm7iű+>:RbGi#(@<"2AKpW!hK>h0)LESݬCH?vHL2eUXfMI?T?CHsd*|1"|d@krsz##f"Nz Rbg)3Y+]rȐ%3M; _uws{6jo[8̴iW#aDI?TvgkpT'gФ="6\(q1SH7 -p#*ԢG,#ztGPČ$ģ-EM:S5wr㟶u68mP6@)#;\5 * /jMq'@KJN2I C@e"}xISItv]Eه֚1sUi#QC5ovh&mp$)'%pX<2-81LT 6C`xIJ$mCMb3[gڹwcƠJmSd]#J8'J~"BԤ ~ąMK&\ۇ6=Fr)v`$rnP.ҔBZ&LՓkfBap78)ہ ) 5Qʘ"(w=mzU#+K.C .=_xC1WKw:" #XhoGy(I!|DM@ R˒_Ez'|T$䘡O0e*Esz^@jbd |x}˖}%[?0'b<_&5*oUE퀌Bo2w>"3<-օű0cqLeSCCZxґZyy[&L7j^5VR7ᥢ]fk^~e}99c$t?TܱpHɨ-:MWӨ(rSĒ G9#2Xy3_$}LIe1]%+~_#j\69b2.|2A)pTWEqj+jUSDmpN0 2,F6DFx!`g\6~AѬˮ}c;_T̳Cɹ˗tR8hS$ o!P+q-i6;h*ղF 0 2X #M$XIaf!l|p-|{[/ trnj_g#ŻH RE_t0\BO-̧[vsRweAQp*,+8KT}* @Iq0sup_w(: lL8ug<®7n\~CTp~r%8[hEƘ.}'-=U.H4hF4WZ91nLfN?&aLރ0݂GWFCĠLivDxøx j|) 륄y,@un~pPĉΰ?r0+>wb՝W^Xkתӧ7^Dear"jp$XC,rR\[P; #b@("𑟐16{ 03Zΰa AУ2EƉz( z /Tf4tR#2ŧ0m]2 L8#gV/\qE͛YTan!LczQp㡿Ǿ0a7fr I-օK9&P8OTP^ a=kAL}j5)=~1uqV,YЩuPf)= aEK}ZaHHD]Z@EcjGU4I!Lb cyK=_Fpwr}[[8J3˙(!˃6mᇄQ~f' DHwX̀+/``$4 b1gRnjЈJͯG-F9c 3P#\2"n$<%Ag,ӷvCf^_Ĥ!hQM_݄3\3pPNBC(֗6Hp%6PdM 鼩>!rQ=]b<<on;#Hڲ?8d--DAW1A{8iːv&M@){I%l]XllݵYoӨ ŽHkf%zL*^cE*thpBT<%(p.R@P|x*BhkOꋍ R.$?p6 `/#| 8C:L2)Hɻ [Fb2-A92c"2;d$!|6n܂VX\%JZDpObt|E6us!PAÙzp'RTv/乆>6lLW!cʮГT4?`k6Mn(bXGlKfI^UcӨ 2 E]M=GcគFm[=}e/x&%Qm[2{zSG% - i SO?m(jѷv[bb t|Y D( E+Qa!ySA}r+@rSf/~ٳּ{rk~w=9g!V88 gn$c8 (ҡ9rF<1Гj@I`B~!gn TES8L"e=` pNQCQj#N*KϛV,(X*N3|9?rpCDblϏ:ꨴ2ۑ#G>:k[q`3P9_獪jw%yg=ӲNK"DZ _Wq[R$3pe;5+,@K˖-7$jqBGx8  #aZZ9hCiq@nG^{슭[BK樨To|A((}5k))Ax(<-U-AȠ" cb ʠh &oD(*(P<" c{h2 BA- Q#Ǧe[rr`?q g-Tx:kbik{Vg2Ml NJn<\(ّ3$@}y{61ȌW]]Yus  G4 W[C+uLjtuD̘`P{ 0yf)1&#LMDY n';w* k38 $37Q BYщ=5cRD~GClcN eGk=p d `nU 5e,]X{4ط:O#Q>EWB%T:_F鯕 -Yrꬳd\&YgKo~au֯OfЕYk{dCUؑŎ .t$cuȯ67otXt~W-62Y'WZ|N/NǰP~oBV#;9Y#Y#}?O(M<CFIxB4IN?t$L#i`k[:@PM#BtDa8P BLa1m"Q a5G+Oѡ3馭;"@=c9UU+wqsӊw_iӔ]-2wwlbvb@Fojls1W;a|1Ac|"!RfR&!,$<2gw8~?/|h຋H|bV:+8^j:4kyxxgлw7߬;o^3C;Hhq M{HD3 hGA@C@v9gUfv׮d}&yId4@-Ѝڴiگ_O?UG2Q/88BrIܠD.90WjXp3*#H}2 'l\6N [L?'ZHJX,T0Ν3&O[,,,J=GJ!;Hi vH*, kgǢ1XG!!l+1_ ]OVoK.+B,m(iT>Еf,cMQD֌~ƪP^Z #ER98 xQ{^ˠP|ʠ1/Yg9XSpN"wh ( TBp۷_1{6N]#^MJ֝M &UHRl1¹~rST4QoXX)\_? 畑.EJ9Gѡƞ5nc {/:a@i]~ khpNsx1C! zS#L(p| A {%8q5 5A%VY$ B/:*RI`%HFf$ E&Za LS`h`+CTm?P Qbe3q_ЧPi%?o]I܊d,@3DK{'2PC,9f}Ez|u F,0L0\qq]BRȤ%X*HtY?nu*1hIoH+|sugO/M⮊Hf9`9`9Pppg;Iz@HP#=ׯ314LV(;0lޯ6mbT]2.tOq74asşkvI?r>  U#AB~E C4G3õJJx'"IXiB[8ƶվsyEi%]!|M`RA`Z( B0q'݁`-gRG*q,1%Z6ky_^r^X0eUբu5b^V˯"w@KaMC3@m7$$8|}\3G*oPW/ ڷo 1hl6Y|h"^iT$Y0'5h[VxZ8uJZ T(D*0d8SD2I{#!MSfwB&Y!Ldj0Qdo$kտC.=2Qcd=FV f*m*[Vkݤ K,ylBb*:z-T|G3.w4ߨ2VPi}eU@Y8hu-ŖpH*% d:}=޼qGN^ү+Q"FpFRѱo@!@# %A!l5$ ͒-A|و/19/0ܹsO͚* VCۂHz9C"'dJ0Br2" "TV ءD4Md,_a<'+|ɤ$裎y,\hF3+. X}s~P.2W,257YgW;i f@%S uSwc;:jǁcȍeׅUVx=X8F1L'[v09Z kaG3rMbBDd m ]I8l4N%/WpVnnǮ0ok'F~F1Q-]m@tOnѭ9/CVb?2 dZtFr #8 fC?mj)J5L$3)`Z J4& Ot6}"1EOP(AM>QK<159(ٺAcr}9Q3@5mb,eQհ1W|啚6`Nt Of\`3A (V7*Q^>Ɩā`GHbff= 8j8s3[Nv()d{e厅}D*Ǭ)|bY,CVSAZף\=WHysm5fFx p(WFD; K,y]FrWtSOU޼9D+~8[C*V}>@mΆ~|ElK4 |B4b WIm@XRS;z3֐ ֐xV>R=`8{q(7u᧟ Ȑ: pdqEJ$sX:_v_XP1`N Q2#Xa!NL3uhG$"ww:vEQ$#2v.)GH&m)4.chf}I0CWEyLN(JhB#tE~oհIuũ}bLAqa1\ #X;IEqqn!~V؁"Cb? ܢ+3a0QPt=! =)}r~qGO}H.f\nl߀W1H,BG%=pՇD&tt"EhjeD#Zjk" A' i.l nY2#-?gd VϞ5P܀6 .RR"#d)}LW%:SlQጬ52Q藵ZQ$&C]RRbr^ I*ޯ._4o, m(l(qGAD5Žܶx|JرG2ĠXx~<\)"h4سd T8ˈxMi_[`\IM jm.2(De۷_ `HJ,0qn`EҿwG cK11 ^d{O+-HfVFȇ].DKQ.^ ])@G),M,rYS(|ٳ7w'FA! XM0`k0(t"jFwr7򍸑0._J8#2_U fB:pn^Xo@asH PǷ"sW;hs6iٟ+Ҳv-X77`` H={7lsU5k׺-Zl95sr;vU&eݺr֮tiEF7عti>ٸuU+^S~>! SLU 3.UWӴK^O5x•WʽY2h3 X|;׼;\`#Bg11AY <' 5LQzzBѿDŲ2A`:LA*F ɺ̚Uݕk<$qqa(ZC %#u ԣ2Ş9]Ba'[tR$w9K&ִtS[T7MG,bl,80wΝ;hȚ~VUb9P:90~“N6ydj|ڵmC=}w-V5`o g^Tҁx̿qȂ|YwC3$1 wlD77oΡ=/qj4QgJZl֚^\i|Õ:;7WUs>mLAXqQG}׽{)@xĂ3l7$}Ͷmk|7R*ŨBr}O@"w|pP4@"+3Jv<;vX޾-cjq:vyO8!}ʇoϞgB3S>@ƽ{U\ϩSczȮ J L[PS//H1fdh Jhd$ @H> sR= Q.R4~eAGē@I3gzg {u1yMlr_=SfK+۵Ҧ!9ND+׫WcNM۸q8rF<*tLR1y 9S\hyHqLWkqs4y Fٳ'Oֵ8q͚:͈C,oV2с7 'RJ UB1jE] ҧ>\,ՁLu✔ Nrd^j@!Ȧ8 J$j3 "ipthqvƅ*`KC1.)m"^ERYgNH/V:lk_oثWFbL9f}ӳ4wY_"aDZ] ji,UZ;9Ө[5}p. _>y֌ۜNv\g}{q7]|n%m1ɔqoݾ2b<3vG +V]v)G_IoWO?A_Z8l^ )^zDO-uSy Fo@BxѫW.O:DI?r T6MC4@-PI緄 YP$3~` ^妋Vϳ~?n@6zLDtfh0DN!JNЏ4_'6.A v,[ uDFfY |yv@vB t -椄xax(V% ;YxM#rPZH[%h%i ~x{`/uv8dMjt+,+uPOFnj Y`c7+# uPVsO]8%hKܑ1avx]kV>y/tq?}S JgǓX\n].hD$JGM$qpJ ,b\ IW-(%Q:- gtS$Od&IOFљ8U=s9Ѐ<2T)|$--ZW -NkeQE@ g+Ku)B#v8̂@,F2*Q(QN>5FCdԺ]w"ipOΈrt?| 8QD-mEg P i$YAly]TM@kˉ8ءWVk 1@7 d3H]Ygl@mx 5 <km Ia&%V+.Sob J:vw߾J.X[\iREs/vĵKz{Id3iBN`4I'[?;4]tѭjc t|{\o̹WVlrʥaT4eDJZye /ViN9TSg36CvKΪ5'*=<CRg޼-[h^Żϳ_! O?g,>P> ~xd$h3Z FBG;0QXҜAFsA-#<\a3x$ 0 u/WbH4zt/3A@@xͷѡ\ CCuY ~!l4P-敺, !$ OFʲ"=eWȵ:Dh  ܜ3Sd֝cPOބi'kV xcbI1 82d[Λ&Mbd 3"VvRոt{[/ا k~ 8WUI+ut$N)倷QgJA{Fvbt+ߧttG3FGs^as(Ǿ_eV9oƶ]~5y3(yFTD5)N18"kw7w~!M̱E EN~I:u?y-YCd` ښ%ɚ!O`(1riPHz@: (7B~uTQpb27#)BlCXeDM3m!O&/e]su@[Nb}k*DcD?mC#˲z)܈&M!iR`YnPnjx{Zcea!R<~؄YqE?͜y؅"5'׬Q6"~ vD "TRjo7or{㶝k_qL7˙ZKS0 <}T )|کl+'E(tDMV]L+[4x 1ObHމq$JZeӄR 'z(9֡pD}=+ L8&W\OӷZ;Z/\ (L8=ОVxz'QUM'ZrAr,8)WJ5kK$&+SVKXJpPF' lEUmG FIÔYGS`lDG*1{ɒpo7)p|,gL|-8ݣ gwL֝,YXdA-2fNIg0؄4[X(-JXg-ܹ0ZŮFeHoMٙW(c]'xx;yV{?Gn̘ mw鎚26<`OL2-}(B>MвeuyЂ~=ڽ|)^/wL;1\tX,-E\:tbEիs+`3$QY?εO܇IRF]f&: c (L.ZO\F&'{ 0F<"n'PRZ`{ RC"E33 uxڃ$p tĒ,[k--2^} !R B(h7d\DeP#:_+3qӘ2ˆa"ļ%ȔAH)DHk% =H|o@jrĽjښ@a Y2`J( =JYz1MEY=WCr OhSw84p&?5=~c7ӳF޸qoQ@Zg]tٞ-rIDGw/5Z{Ǵ- X="zժԳ1縘<%T-jzY *woЯxFK]35>1M8S >cP;9rvNI) g< D'Em%hE#,V m=c-I.$Hx:g&ÖL M=|o!G"f[lxA^\|yKem|)MY)D-w-Z18CIpizCkhŢ|^JN 2W6jFQGpQ6"̸)xcΞOnhc`kZX1\2Vg]O=DN3w쏾>puy%V=lbN*H<ŘDj<,ykXDM0~ R4:+v6 ĀIR;z&<p"Y+&YL-`"ƎՁO"H'X+-K.;EVgjE0"b69̗:$JlqBL6xQ;KWаZRYɞp/#ÌXLFSXɊ_ziDb2{=+qI ٓ: MSQʥ[}sI1m(YI_h/c z$k6۳'N~ˈ^hyN9S>1:'EZjdӜG'oQPˊ<8@_I*si#Pi`+6tgľ3"=u3f߰a0=5QމH7< -ڴKZ6M$q,~3,\6i{춗_IL¦,kJssmQQ8`OA{G^?>kGIGHk~15MWh@@"J2{aAxȣYߓd]F"l d]u h>~y+ĈT=swz USO$J-!3^ٛ41C̫ Fޏe(L *κ{s>{νow~^ϝv"+@%2 LXm'6䕖Р}ǻ0JDkIi h1QM0 (<AmK;,^A &f .B L Iv# `ĐFW-Qw`̯ տwu1SS;9L!6-&X4nczN[cN‰ XI$2fmzᅝO;Mn' aWr"}TXS ۣ[*biȷ8WSu)7{IO4l ꇯNYvJyY׉̢J5 3 _ ;aKC&pm$X؉";Xk[cfml8)9A 4HbeK@nn &OuohId'AiMԎ@&kPI㢃Dmbɶq%?Ynݶz]'Z9ńH'Ҹ0f/-Sn!ws s7'hpg~{W]~?mZ.%Uy;Y("[џ'ho@1HxV:o̯U=H~Mb̘uwXoq=Q.E9єQ8 k@0I}[a3)Uɴ"Z$A4ih@ DCbBs8eb6KћfVeǎaHוYH ?4pePݺ+Mx@^b?5Jz4tғ,Ƀn ;( vyfDN(I.iʖ\+KdH"L.H* k;>;r+ FXNPPtPc=գ{)vjA\0!=Q=rRL2>L  sN,PgQrFD2xL;DŽǯ%1GS3().G8Ex"(!`+;fa*Qc;nn!4UwO;;\bbmX˒'JWg8NVL=6d?p^H/|eLQq5H#]O:%2C-QII~'@Ҵa?Ly}4ș I_=f &TJڍ$Frmnl53Ibw<!1IF' 1%U"qsb v uZ+T/11DLLdLrJRNE@PJ1{ZL$0Qp[V#'ˣ%\`3=q9'inILLa0pqd15EԁrNDk((gעECg(tT5Cd, s!C4&bxKxI0i#ZL,p a?e$ -,|awF`pLƶ+JQX B)a!S~[(eo$!:iq ضRoܸlA-+ɞCh@Ihr@q299•nXd78P4q39YDP2DVlѫwlP F#EQ=#Xj7"[DPǙ3׎:bBu#&=Шć#ψ3mdNR9MjIK'¬  tU,qڛ(Z(N- c7Hp ڤvj{ʋ1)~q3z" 9tjΙ37z^{ԩSҨQ +ѫ?o픙9sG9aF҅=:a4y;xq.Z['O_olu~#l{LĠkD(Cxzj% +'c++jK?>7M d bƥ[+d`(/ dh7[S+ӹ)2hxa  BхhB I/ž Zw{J*&A6%O9G!Myk9Ν\/0*n a%Ο܇X^`1L(7$-`%e'2fW\D{("(T'wر+7YW}6AHAwkQ ;\3椓NJ^u=㏧L}LWa/]ro㨮z|b,t dtU~EN0c: ~i 22RDž;9yDCB+Y;%0(B4tVw?u\9$/;>'x"iYyxT3KkͶ ?!rKwnZqGtLyWc}J!KLday\䪫n&&=?ٯ~yX>[6EYj pQUJbFxi̵C 6RAB`,9?A34cBv'#I#x8 MsQ הS幑1+y&Ș𷺶~ca[ #aZ--\+)U=feήGs-6~~?G^~,")r! u I irG7d.εo::1ȇMtc, &ݲF0:?pn$.n鍟yK4bC7 =̈́a""QW~kfڌ?Y5UG،в4l ?C9p,̬BS(lN9ίu޻xƌ=jvBa/JJLHFhp1&FP+m 'K&ަM"Ι㼟)om6!bņID(+Kc/|WL^~"dyW3G6\b /,5#U v(  q (tp 3h@K>}:v@:ɓT?R]濪ߦTE@hLQydz[PFz(~xx@P'AxdcSvEn%q#J 5r; Wzˮl`ȎuEӦ~z˜Ysu*/Tޠnswx$&UV#]>3tB 0zfӪya (MȠuܦԭT a8TIa -P /=n/41Uw.&%׶#Jr'qv=?y%_΀ .g\bov㭟~b`hkq$[;}q|&XgvhR%Ṵg%3&JtЧ d6u>G5pJQ@ -|ra} 1 E  Y:8tsDDd趂.aϪp7*j՟|ɡC8Gr KR)lCIDAT׿^x̽&E!4Uw,ߪȖZ -O?s`Uk}}3a'ݯ?.;z[s}%˖Ipb |#-2ql˩M%g>l6-Zle'HT8$q&A񆁕,̟`|?|qgм|?/'O$"-ec7k$9%%:sHIl/{ɱ 0lݘ oqAf>#+bWYc^Γ!Ȼ85 9nam;v]1hgoaرIEŖ^go|1z۾y',~ӺA#￾?|ӯx6G-]'-Wtxj,*)np`rdoyaNu^$dh6,A?I;{?&G{  vH<!ddȢ 16F[#DŽ\WI;'Qq?ܟ@jO_'4m-'k$%N҆M y7ۆSz9m N9YT",zY~m`|3)yjf\A?BX%fpOM.E|9v\> O"LRHFu[(əzgtMO<@J C愱x{on?,K1TI-/[d/*I*~ .b/2-AC%7 hlB=އ 3"P%aL~fBSJyfN#>Ҧ ˚^v"qU$a8 ϓW"$rS)/y꩟8b q9A0AY;^RLLMכqI; {CDzb@߆ >3?Sc;P\=^̙3BqБԭ9Nqʆ-G!<=ADu=xS|W^r ' < zڰ0jԨy7$xfͺKY/h2J ~X.%>u-fNY?y·wƧxߌNeߎ?{wƜu-_{rռz~8ۛ(4Cqk4>ڕf^H s i̸3h/H޽L=*„ip(Ж=+dQ$AH`ѣ4SՄߴaE TndGbP(Ȗ8+4'rWgVxg5ıӛ MR{RƟ'{G#1c3LrKK.c,Q^^}<駟vôq# ҃GĹ~:Ç='$ǜq+l8ؠk4 K/jv36#GN0ioض) /+?QPaZ,ղ vTQX0ܓ q#nE>O[u޾>{OUu}k\WmlwΦ:~OXv@o&^?%!_s$ 0=c Zd1:ދ/&\Ƌ6^[:WQĭeKbDmHr\ Ѻ$|b?ᳮ}键u?sw:OK?тG:~ 3M0Nᕎ7ע 3H9)Z"Ӏ)?z*WfLѢS&/GL^vio;~xOvX~5T f@3GoWp |6&އ蓍U hQ*/%顃2_Fr{=%yLBI~:th~{|sM{f[7 ;~<>.u-[n1Șm.(@E\MjUTT댰tqgKNUG9*KʹsQwQ92hgy sB\K.,^$>ܵ\Cj)+PyOwǎ=WJL̞̝sIWս~WZƟղW+xx!.c }!WXJH{I=ka0ᅼytLc68NJIbj%2Wbބ|dD(ߦG65 6d WODb~1"jih6hODd3܊E]#:qMڵ{2w&(9_p0.LMUJOx,S(SA8%и@Y67>Zw}0;>1'MjIK! dze__:yr#c4OGជ FTb/%6blp: OX)<)sΕx~BQْHw8B1/<ވ#.Bi7ncb>MtUNMxSځ2y 4m}gk ha$Zw^Ħ$`POQC*Qa@,e"e}J326Z/s+ ud/[D%l+~My- &2FXb9%f*cS]7aҗ^߾gK-{ɍ7n~|sޣ*fO*g{V fDtsx?5%i, (Lx$@ƀ =bD1mRCe R-$Rc;TMԴ!c%+-2ճD:UgD,7[qP4enԙ\?vHneLź*%,cHxZB x_a._D$RX#u|7\MӧhשSw͗]/0n\O|owC W_(ܯP!#yXvpa)R]wy\u=v_~i/ډoܽζ_?&}Qc<85CS9؈waD_( B(MH x7bdTkzڙzdx\8Y%;End!}AЧm>6o dS^r„!5uIb-h`׭I1r@ C ̞{@PNJAZBzPʢ8$O47a|'?xҥ&{?^ګW-W{vM@J6qAu#)`P{|k,qrILt,7 =:1 '>-\ظBɐe含%Gf1c=aÆ 캤&JnC9Dyy;ONVR6DlOXN׬aG+cv_cy9JDG׈<=j~Ts7u _iNn z}yύK|.r׆&}~ox@%-/߼~!!ɠtdmTm\1@hw|::U m?SIXCo;¢t8:t{a_tyݰgbQ,A̋O#14&/ck":%B(a'%Ʀ9sÌ 5Ofk ]cor_b ^e38k-pW8%Uw#h"y$= AwYs۷g,6}ݷ_~I2%_I'`h~w42AKHj`ؔ xa}wRQGIhR9㏌A* 줤8Wq烄vD6qpo }5_:yxS[1󐖗f"c_s),Z7CD%ϓn({}I.)!qRtBݺ9o%CZϔ*[ Nv$#){Ȥ(.}$ 0'$Kx`Tc1٥X%=8 ɗyq&]qiQ]cKKf;;tՐ{z\"qJ󸑻Z?TwwW:B:q7 /'^Gym G&r;Ju9“x$3/g*G;nT%_ .s_M\sL.P Xy̒$1^&FPBT~[qGo}+A3AqIsB57k$.5LwBkei%gvN;-; t.Uq蠭g;ٸ{rьeW|.vڵ;qGm)RK"cv;IOÈ#H6OgkMA#0$,ʧ8e(l;D`!H&*[V,HH85syNk6|˖AAu,آ q&9=\Whx m6!R޽9O WkQy!1=D5iɖ%48<_FujGxynvc;`߹P41<fᩀmju!ҭnz[f<]Jbx_'bxP4,"1ztm (&mxprRL$ͯ e&.Z+E$ԓ # qD+ tl#5qJ د wm f%0;;-H!`?snmq'蠡J&^ ){#%8 HT%ҏ9/yCPC.g SE㉔4! q̚z(IgpirB06RڡCAJF6&BhFC˅mM+'/첷zK$ɷlI@f!7DrFB<$(3sG$}lvHH ;z_*Ѽ5oR^ۑѴ{`@kN 'chcu&ȰJn} xdv %п-l*e]8϶˯RNpJrIv_= `ɡ9# z;hRYhҪbiH ]Lܬ؂秞[4ar#oj^fdpG#mN*J TvEDf' @BXD:8 SE,[N'O6LS~e QaϤ0@Dyv`?HSH*8KrOKGF6\HC@I& gHm-U [0dDDqj$_u 7S6a bTΣiT&gMBW]uvjS//gZ|ff=֕beR^ 2Go# =u$wiHA|ɬYGs ο +p;nyy[xߺo>ztޔWsc7W /lٳlMm MrO3c]MB+sz$|F;Y#-9)2.u,{.G^L(N'D\bpDib,w`a_(ȋ 0Jj0W1K@&>2CR\Ĺ[%-h 4jfu&x*TjM*I4)7 l2Yȓ_#&ʮ-S\JȘɓdti-hƨE14CH@ݥK:*(i j1ԦC'w5(~$%fD㦵ۇ2->(47Oقɖm~;ef ;@lpcm8y*۩*g&4%-ْߐc,ZceR>Źk}$84JqKt,yKdbydEн'f>Np9p'B⥗Fv؅|z4&-y'-,vst{caIpjQ܎aK_,^O",Z:ЀDo%Y6N"cL`4)% syfsBARiADccO Ö SS۩yU0saL %eGٛ)9?g]owՅrhIi2e8%Ckx~{ V&3IϢ#> aVh#VlAJ&r72fmfK|sa x}:}H4U<5CH-$èx1 븄GJI|0QM NvtZ-ۉMw<]eA`'Wgp>3UiɖXh]BR$?>!VH-A'>~sC?)vG TQ5̙:vOZջOd*u]2t>Lb9h.IO?T(.s4W*F&1N=mBe=GDo'Z4WI=S]zPL` \Nij۶)Fh G1Ipi @T!~LЎ~E$ $㬝[F:'Nlڵ+'FHvO\OF$SQ3ea?3@Ϣ6ngp3HD'/-U)f&2/<_E;DƎDHb䓕3[lZ||&k_u.A V nԳs1L1Ro"rrqjx{sߟyYM9Bic~<`R$oL(?@H6GdIEMG `tcp&˯L 7⧟~*΂fQ\ tQ\b3kf͜q{iݖd6A!p)mDԨ,LPNkB\?M"L]ǎ';)\y$*7pxb O+FvgM51!= -rGԃ+w'*@I\<t=H4"?wHT 'zԩsM=|7|3>H3-iJT6ǢM@$6;I*+x1?Ipssy)-RVh% )%yA|G^]w\ujץYDшJI|[gwMfnJ$VQ㑍~Vx|=% m &tܼBF yfDproB\ -4D`ҧ?O0RacJ8pxx<v!ye _^Zf!A!˺#ޢ"[ߟt[nHb1TS^(n|2/:iiOܑ6=#![9;8A CV\{m}Aqy;5y1UKA㏿{L8LTMiJT65vRxşyn gyELQ&dkIͺ궯Gnoq;vW90drT6/DWo;e7 e[oM6.< ZbG8MTa6>_}5t$ B}4j-S۫<(gV#BW|~%2IwKVKT<5I{]@U+?\gR)gx*rة=AB槟&Ά^d@OSlFok}q'x i6|抱;!Ύb\c$| >3n#a,KdSE- r<;?1'+(G^@ 2 ? G$|;JJt 3,d4Lklfl,m9-^3aӟD:LJM<~DJKȸIzhc3H厙N]ĨSc"kF_y+A>4s9jvGDXMF (A+9MntHE4r˘/iؘp&qSIbJ{؏?AovxDIZ,~|81 "7rJu&w# &f -ƶSf::?ߤlm~I93< (&w }La񏍿~iӖS$IKX=e`ocAҽ|Dh.K"Fs_wuHd) jx7J}$cǎ+Qb>|+' g ӸdcCNm!P]HN`)S@ EֳquFi1lC;C"蓜_pj|edz/)SEO9ч`N@CؚwM_܋M3 ݵ=2xHg;Mz{TɅ4DA$?`?0BjEojfGd>QIV7nd4.sns!֣A$:MnB0܍NmRXbK$]/h۲_E/~ʈ`m)境L5Ƴn{;UTĭvA@"&SR8 +J5u[{,pUϾZ6}ʙCs OJ#^v$Y*5C+ϾIvf@NkU+3b% JtHD&OLI'>Se8-<ѓla\mB]"856?*sCS#( 6ōWW~U!ԏ==cJ?'qcIy11FψM|R ׇx0NlLb< I$p>cJNԧ4' /dT"3Viz^|Y\O$kX$jvU=\Tװ=V*_/[921=dq'@ۉ}4<7#:' Rs{jDPi~Wssa J$Ѻ '؎h!n9wn O'n=Ȝ51Jx L艌A/$Ax2N/#sC}?9mڴAyKq-Bp2y"-(j$r8\ً=$CEcFtYvkV`e68jƇsI=;|ѥj4 8@H P o]^O9gYVcX@M2̀P$Df>Al< Y( qs~CELa Vj&heJE1`_>mK 2 %%&)ʕ{}صk]&9 32kYJ ]lŘ\&ٗ†6-=';م蜖03vbHCO3 I~1@%1tS5c!Na6œ\UH(e?b*[fD{q-bQ[oճgO҇f["dc'=3)*GȻ#&8Qة:|r铸 #f.@@7v8䅆@,!&${ku좴 aEC+ J_XWaKf^aGMnɀm,x!h½DqڋTo%TQ(}k ]FB>`{:ӿ !pq;r3pH-2Ϝbޙgng`0<*Νf $WftHo{ӢEaϞCߕH26gyǩ=kE˝D%˚7&ɫb$_]Br`9|ͷ""/AtlTJDgGyzQ'ͨr(w,)88f{)]G\W#fDa ̀7L,p>p<3ÅfIu 䆆aӦg? ( sa5\РR%I n\^ -9)eRA!$pCD|DCnL<\kSmކ%b@頏TAT JFN~*? qY_)80+[xlMKa^g0^R;>#ݺu#+5i`cSGM>}ClXJqapG!1`~:\ Ҷm]SvuQsl٦+yȁ(/f8IS5P=hH|V䓅,½L-:D &,b UDQIcfғ&RERl% زmB#jH EK3d7TXNADiV4Q8I(MLn)nԫV vwNkr:{kQQǛu٫v]9ztqۆDӣ"Bݻ-GEE/LeD%U)]UXFۭgߺDqIJf3}1T@X~>Z sJ݉3?JP+a~iH.hI)Vy1z!Mфr !'()V0GџH/A2F*TlP7&H~-l!37lx≵e&[@1 -6mlG7 -=$w"Q1XgODE ͳ%[f_f]XFyE)=_@ UFFĒ/: `sia0:/z3+ 5%9bg_HqcII|%_XfY8%ԼNФb23Mf$>(0uBs+))$n(WtPX($HINORa0zah8{lkK'Onү_|+E!ߚN^R?J~2wTr&!b #FWKA:-g(PF/ih+Ev{&( 1"?#dly]xW4FBɡh l%׷weP'0MSE/3;DpvA9aFyF' H&8r"<)履 @%_&IU(#eJ~p t.1ysɴW/"cr6W!6LjРl*E@P;K6N's&m"eIUR%hө$牒."A\Л'#!K1"?)uFFh n!/ka)43Z:}A,SگXevelĢkOfac>[W@Ay)ע}d֒IS`4T)^JdϏ=Fٔ&OtcEF1gG/TꁀmfFDz=zW\|]n;e70۴ut ]pQkt]F[)>DJE<>me.2.v[ !&4CAiOk\S5€Tk113> Hv+ ?Dkp55"*N3__Lz%3!3AQf@eA9Fs-!1G aPbL:{f,m(@I `57xIWބ)mLwYxԏxݽ]~gΉzPʜ2I"7dmt -cGР&QLG$֛I7/QD<(5M:?拝W_8CeIpYDE$>C" IB'W9ҧ'!lޮFERGW.8R#QΠETǛ_GS~j^!K~?a!44U$>F%_l{"g ^~mq㚶k͇G/33F>eD OܱhNk )S6^-pEܱq|צ vpyy3aOGMF Ɔ@0ǤTaJ!gK<ղKi@ (&w7gę2e8dI" Dʷ騣NT0&lY6 ;9{+Rn$.Qcw^{m)%sAE|~6K/]ջOwܑ1&%aÿR j́~O<cUR/4u?KL[;ntXvsm?;t:CPmM$;H9ICW=q NU  KH X],x`R)tؒ'!IHz=q…W>}Nod<$J%k@&q3( AL0D}iFӈ9B4ʾ=$%]qGsE5 nd+X{=yAU#Zc>n03 X]Q)!(M)mJ$o<4Gl-̤i@ ǠiCeK厞=jjgԏ"E1&{N PVje@與b`u^Al 6Y wA*ؕ[,+ {$D[V. }L=t +XN)?ls^+jb_AƯD bDHDRp@vn^0{3D"\.5*)͏E,W\4On09$́1L! L:%*[ 2)q Qu}%c>&BK  Xc~z ZSܯb% K$uVdG΋WiDJDؕ$} &wq|C3RMq 5k?ܼ6('xoFM٤=bED 3hI,.l|ckO>7K蕜ƷAND;3%2f7|&m?p`6OIpQsE9̥JHBAC6KwQ9hfU"[A?YW É dj0Fœ*y Wɠ9N;l˵;RY2z[Og=BW(䗆  $-4N) #r.9#t$pCwI^ sB1f{:7Ik7 %X0T_vB t?j7¦l/+ţ9IѮ"cLբ_ \[{[r%2h"e9Ŀ6=֌!2wO> —x PPjj~ d9vp >|umT66 $?w L-MBzř[Pf#e˖D݅xrtD$Ƀf0* qAYLRU)΅B20c ,2ʶBBJ; FJoK:?rR|=MdLJ`lW0F. BʣhpBHYLЭvXE֫a1nOmz0E5}"whK d5Y,1S&'!g$4,5Ĥði&x6o 9IK.f"hc \)5!ՒnГDDimKIJ xK4*.O@nNuHCI܅=0BҬubj#{" O^K\Nm54AwB |5p{HYg5|$?ĽvKv_geB'\#ŃcV@ y?Ǎ##gÆ ;sΝo󟯧yL4^* 5#񩧞=z_H[߾}9YQQQ 4qY\\E#E]T%I<wc&reN23~P;5)W]$^lDh\3V'$,нA+ORqZ xybD-AX=0B1p9<=m}cfPY䯤i4Iz9&hmE%i$8*V(Y!T,ߗ^9l"cV pd,CŶ"+O]װKljiܖET@#L㏿Bw|IgO$]ȃo (kJytqfwe p\u1WHֈ~Ol[mh`k)/h1 lt) hxta?f8m†!l1a4Y ko(0KxJ+MId0My=V-LӳNsJI'k^,kȓјKd^{m޽x2"DWlPY"\@ƃ@Q8N0Xyl{ A-fΜ>`ħp -%aN v~>CԩSa??j;s7N;ۀ7}aEphn"XRgpL^O♴cGP1k g@l:-D$ĢaGfNsN A'0's?('Ir8oqwL*i cЪ[OB%jBQТRd3o5KrGIĬ&8:zC''7uS Oʐ209_F 6<6Ӻ[tL4MlW_}5vX!&@0K߽Ykw %Q%q{+ߜ Ec/ ۬8>Jb;TXl+Rkn롑֭#O>i$\G<X9/ M|C)ѫhZML[M B[U25 n'uWaGB^b-g9'I'W9uv䬺9qCB}ji(xB"(9%% KǑM⷗cqfzYP}Xl8Ho NF2ASDN0d jqH2cdS3fkmƓ$9F|sMe?vCsU;c=xI'W%Gрz+'SDш##=DЮH I<١Ciove?Y&q397&aQ\fXE.5"+hm7mσ@_`9) ⩉ ajg| T ćeԁrժƌ٦^d{CP= NOr}\%;O"X$'BNi.DٓQ( DOkr6|svd gz$kxO/.Yc.3 =8"v3f $"Ng} &h“-bh$1+ɉxᇥCL%kawf ߏrXiK/p ?MCر+s8M% ZFM1U1 h( *ft$*3ße)J"nOj_OZhl$$zP0Cc_S|`o{1 ljV$ O)a?5 ;ZDOH1blpG+ej mErކT_ħ/U#A k[ap!q&$?"9m #/ #iK.*0cA)I0 (LcJEMUa ?QR p܎^mY=CYK#|.L8/5L|A ʤI<5>GG-0g˵f@Fo &i9wcHvع}+/S"{XLQ( ]].ѣv[1;;^z$: @x{&gQD5\ZE_봆 ll*fLmܳgf/[H-@ZҒ-eT+AdHTGР'o's8-Q`Lf 73Oql4Jȟt$Q!72yoO8hk"Dd:I_?x +-(S$iGI,հ=o)eϒM#ry1HX[ u./4g1\tQJ!s ykB ?([oڃ\r a_85\J9<"xZRd#LCCe # ,U)GIۇ$]Bi7dVz C[^᧝4pRj~ %  Uyd쵠 IRmHMr2ݺbdHeV?X4h sxTrRq̎]V1#=iΏ(I$P5Z@[gjLK! ^p`-B<9ˉY:yr~BFlœ %ŏ@Z$5\ZD3{.1ב:wZ]d'Ӣ︽%79- > JIv]T~zKhl!y>f^{"[k oϱWZ~kŦ,_ukB&. 3|Xt{؈`LVu=*-zJbe@KFOlܬY7"<2;hÅ#xl[QɅ@xw#K!s"v!lY,1zK/5ost7hCsAI۔"~{0IkW5\`rqsZ2mڴRLɒS.$k׮[M~۸vd| qHҌ ٿYJE.7wBdGiGԏ2Z1oD:fxqN['L?)ۼ?'Y7*-sJ-9la1IpW}Mb7Um[v@Ҝ35XEqD#\YvDƘDH%y|\<颪K /~]`)'y晗^z)s0aIl"Þpo(BwJ+#17e n~-CiSbHzUAH /ҥd]`GH4vP.~v@$-\6ɘxaƺ?nVIޣ!J9[Z<5P{yPB7HJdR K1}bh1s pΉla bFyUWi,mҒ-LN~p+2'FZ4S:wē9\̝I5Y_%pD.>9IK(ܹ؆ O\.=ōJoGjQ&"? ɔxM(z%`2D"gFƬwg\ygwq0CVi$@I=zj[C.ٯQZ%iLN#FH[&O-s=OOV~Q7p/vTD@Md3(ybqyUW%[ˤE?H<9r1I^][-âآns:7A;Y0[ mLFqScq' RM4%j^})dg8/L1[.^\T=͢1˯b=d\$tχ+QKbG PiE^3u&m۶ebAF)S|dZ:gtZ%o zC=T ?Bg&MD &PMX@ĞFC}ҙP67|~wm#-2X&GC|mn@9&&IV^zh"`x1r9Ӑ5)88J$ѡQa&!3MH NW\rAKǎ]b/pMvFQaC`88ҹxXƋx&Ϣv&2Wʝ4 ”ljVE& 4:igud ?q'RtTi5uuZålL)mҧ:YfI.xP(~K9}mƭZ3f )CBD^n; GCd2Q/ "N%8#hGY9\TkbMKBl lCܨ|QsN)Ͽ ɡ aNjt4|<*MOlL ɯJv&x2ߐH]Ϳキ)M~J1&Y2 f)m?[ܰ|yN"cBz(5D/~#{ZU +& փDХ3Rhw1 w \pAZ.i 1e]&*VowܙǏ[b8`qn}]\Im6ŧD.r0O3o]ea6"0`cuN;-kN#3KGnwԊoerr[9ӕ 5ؐRwxyw'9FJ.FZ2G={61b;8CgROȘv>|N"c\)\~OF0(Qr.-C1Fqm%2i 1eZLӧqجI`Ny_jr =ڬS.6i/B =R' Ǧ1iXWٌ$vdu"WG5/qH _vjԇ|}bXyg̙_7_'48L÷3كLsGNh.T B}ٿr0zR'`jz"W2dH!*,k1AGW#yu]BCeD#<?2rCpr[XQ%J.){M; !vwYߧFN{ BWGl9,l:(bdGhJPLz$ ѓDm \&eRP"cnȘ3Kgʔx"npRʞ"HG罳tIh_~3<63U< { -8̗n?bzE6bAV}`؁q(?pOwC˖'#&fb(NP>I#Փ?:ȫ-\NeH3!#|udvoO>Qa2DZ9 Lh&2fon%IMS2UH96Pr@>#HJjv r"gN؋@1qb*[*'H;2DT1Cm|K%ڦ'_ԉ̘_~ٴw4i+SG_cd  &Cr5߼.uP(Wt¨H !)xAĉ+W?4ϏgJH@wM-N>9 2G}8G!9BT)y>a3.Zٔ;fEEx}+x!;DBe.Wv[R' 9ѣ?d)2;8|%W!M*T9O08I8|+n 4I6k8ٯ wu͛}=;x`񭄑gxhPDL//*g]TY7@ Ó9X WEW(/G xQN*lܑȖ\܉W0VsEE 88yТEZ&ܱ38wa(4ԩAK /49Qsz\PDrsUu"FD\y=ᘧayc;qt9_)aQt{$;DP"_{ؤRNɵN`6Eq @.pG3/%Rav l4X\ȫp ~;1n%!8 1 M!&"(U@2UXU むP:a9-/w~Y8rN!"Wo`<;A}P 6I@dpL^a[̤P"\B&&c&sMڒ=51!ʖ07Ζ-7͙ر. !,5cʵ"Ro]jDN[or9`SzH߾ދmk?sX_n7h0c)&}?J+hAMG) _XLҨK+'LjE;&gX-[f/{n޽R-qQ5Vש+"P(w,ݵvcnٲ._9dŧS.|Iys{ΰ]6m?( Yz⭦O%v%|cHH 0j/02c9{v1굺kD@Q*fOW@vLמ0pr+iiEϣueF)gWk6 GY'!׏TTؙ׏%ĦMwiz!L 6߿]A%٧?YX9ē\s]mN@7<q&sNDr vp\|T. 0Em;mmnSWL &(uoԌ905cvyjaKE ᎌoL$noxd?LBE[GLD?S6/ߚœ"jcE@PJ8w=f_nCaHB {ϼe7p!t4Fрn%;rw\nPrBjԏD`ϕmI e` YmLeh9(-R3X_Gkk0Cd:1{o6Hx mE@(1TJKl !zs4ݥK#{DžoQ"Ʒjôd=P4ɏc˱h+o;;cԡ[zVJ8dϸ[.D?ڤw{1^+sӑ7;4O՞E@r s>q_qpj* 8!<Ѡ[4X޿]QiQZ6L%WALI2A櫯Bx]O/Jl zQdқ9vql:' pW:A}w׽⊄ueºVsHFPE@cJE|f Hǎ*/8)3W:!5?#kJRy/"d||+ahç~>iqw9NR>CfSPE ];Qc|7VnHe˯e!1{wtDNmQS4MRW۱dnZhapfÆ fK JŋS:T72旦M>|ny`wV)Cj犀"(B7ܱP8Y#fsZ7zZ͵fغMowrd *$&1vj)Qh7QbeĊ͟ҒK (l;ur_I7nģ1빦 IBr~'Kʔ! .Rm("' }rG mbk+-Osn1jrTWĆh1US_U"^|ѥb6% 2ɓHBKbF+)>sj65`V$j<oUo'{?BdL°C7xX4H8SIP"A w4|Qc9s" O~-Q:M;`r$-WagAA1'iF:qwe~˖W4 $DHQD C("PWPc[6# ;nw*sm;'PZ k׮2'Y[nMČ\Nm(N 1_m'HJ.M5>@q#ri[*]#P+RI(jM"_5/!#$FdcHFb \hi_S˟PJ_m|"srR_~a܄ vJ°g!#PAQBGW#N"L.:{X+WyS^fxpWhQAr@-H̙sM7ѭh#{WO:5@KW\©ޑ٨Q S3EXN[HS|xiH4d4$Ndff9;G4wNEucq{crmN<15!~ <]E�bĈ!C$AOʊ%˚7&QOubwk۹_ϋ<0ة]'pdqb JLFF3fӹ46$ 5n)''rq7xc7rrG&đ;20@Fu2bA3Ճ>YfDH!pmOPLA4jºbgNB#%=c`ӻmb̘&:%O #n ŌrPG C PqJ8 x|S d@8ݬ'h;:noNZㄔF6wT&#᎜(kVgǂ?Cturş[ kylNM 6NhWm>rЌ Z`HHȘ;uw9Д5cPbQsvNjGb cNQ"2O*g};mcfk,)zc["Aqfj`3]VRI%1dBgr~^՘0ޚA!e )$f=9#;SxЭ A F8kV1+ ZÔY3Rl(`4D((-[E,NҊi6/s+!ћXkpٲ[̫D:izdQtМ VC2}L0:KGI(harPI>!$"fnl܆\n\>Iρ$%h2YM7Z7'ـ&>H:EQs{L}*l#1& ڳϛI<梑bN9|E;=oAQlƢ@XP6XhU"vL'vNG($CJK3 )c;#lRc'rvKKd Cy) '1 /eC.HtrPߒUT7]( l%bE'bpMBaߢZR!Q t!nBX#8r"&l94v7"b6m!q6I򠙐BD;mq/ȘU;h7͙#14azLՆ!A>4O*"8̎2(ww/T w-L}$΅ǨI2H)W_A%INFρH|7xH\ymv;O.GœV"T;cM+q|$cN,1{2'Je$6jcF;yqIOB$%7?{Lj`юk]3]iֹs1ɗc֑=E@Px; JD3Ra sx`GۨmJ6h$}=PI@dL#]$R%; {,2GUdLYP"(@HRWFDQX%@XG%#D/K"h#/A-bFqȟyQ5ҥK1[|L3)M'0Xd̲ydL"COGN'=Cc&kW< ˌkc1O<2&.ţ"("1-qI &v'(sP= q0ԏzƨN>M ź׍i_}I׮y,C^W_I, ("PH<2 ~n!Eӱ!<v&s8އ!Q2I 7UP ܰFOd̪޽}];tkd۽+"P=3(wk } L(rDQ2ڦ%*y72fW|`zQBpGq Hqj7@M8>ޗ sx(z@,1w:ӱ#ܔL乭hQ2ܴ)γ8wqGyQGեK>f:Aa֕m(Sk'A mG"N=* gw#1(&ˎگe ˗22r'"P9+wydwYNA/ 6vT=i;>"2dY$rӞzFv~ikڭ[a"c#T)Gt0b~P"{?^!:-Iy~d&i_"Pl"j`3oZi*Nsccj7pGؕɻ pI4@1ŸLΚu9>֎d(ɹc7 VKq_/4rǾ,0^#dWHd"}zCfbЏg3!_ VlЁo9(z<܎ cQBqX߱yL}P1yvp`}#]Gb]XWDϓy^"Uri.IUKBJDwNb?5 RKKv'-[#c୷Nd{3_'IquGF WW̟_V3CHg/MnE7Q؛F^ԩcDŽz.|1[tw'Kl視ь` To<ՌΊ4֋3,ޣ;ܬ 6:@({?2~q dGZo?aB\{)k?l|ݧ|6DGҿc\zKj<}dR+PAҦ sIH@^zuu`6"'S+lD+ ˊ#'ULe5h ݕW}XH>ׅΓ#| >Æ0<2|p0\{=Fۛ;kH0l3aD\2BϿ+\GR?:Q"c80nN{. ڵSC"K{s84.>5n,_M%;YWY4J]k(F9w s7c,2qp,Ld.xMh, P3#w+F0<} :w}cP$Ci%=Gx/1 ՗6 mvMҍk43 y +cXօQXIh%spۋepWж<~NgyȞ-P'Vqs8fvpag;w_\< ?4{[NcfI IqUVX'Y :<9jyI{_Yp99ji{>#-C9UmOr#]\΀ՁϿҏ7ģQ:qĢɮ@ƍ{Æ 3# 0뮛:uj1.VJlԨQvϾNXMDrT%3;ȣoyc?_šuرjcQB(.\pA!G# qp$3Da5Xi!Ǔ,q>cq04eI6q(w)sG믃;Vy~ǜB)!#CXd?d),q\<^VP„XT ,{ں)#o)MKmDP9GO@"g uh.B!d@;ph"c,z;et;(`œ2镊"(Y 1 ΂R"?4O/(@Aܱ,N$}!f|\<`F%@@9;) Qu|\(A<ʹ_FT6R ?gj.EK hض~w{C?dܫF>έ86$vB][b@Nw=2@@)Opʎ&=?S;Ie'k_1"Vow'ջ4/|5O͹L/gJC}ޞZ0qey@+'q /Fl~W:::-E'EkQpGW#evxYTCH$O@`'C3_`~018;ǪV(.R=>p|DY厏߇%8 1ɴz}p OK-1T6o0uw-{NE+gXf#i3ΗbJOd)ksXԊ.a#RLFVKÔsω5*t|\<5,Ebvp6V쐎[nɤkMk X4wR;j_ $U[Cqȕr =x U8.|x :h=Ԑj/KJr2k{\SupљiOE2I/)ZWq%+W*I nբQ[z-#1)6ʿ7]myyyqƟ}1uԃ:hecgK(yÇG)wLmL3LjGx}Hk"(6AL8 àm(;xsrx>™2bkW":ux1F8&#t/~[JMZ'j#rR[FRטsr̚?Gjǜ੝(%@Y18Ŋ;]_=dUeE![o[V>W#m^ʝк͐Yu 6Nܗ"qܡ pL\}rGYz*FpS2&4O#M1˖(5P9欳 ."uu! ~83+ ̖_WBMlrTc{TCcJ-Oߛ;22oS1z;AKΝ >^YKoG2~:*bo+8RNVp(VޑZVL7!6UBvl4S9%Ÿ -D,[sm!dC(&uRFe+@Dp6J!Ô9}$saܗlaˆX ޣm(% u)`l]>tvk[,d^miŬem<wG*+q*1[ hG_il >;ŸLC,[֓r#!r="B}YYdXk)O,*q $⶯ ꇞϯ [U:M(lr.T+F_ U6yD)Z6A Fh$\"RֺI!nW9SIMm7k;USbvġ1[ëw8D?*VY. gIn}*'VPd7g1˖dD#! , :)W=JvTOO;i >ci?|?Ap,\#*hGˆ#pA;XBAtǽ!w ԋNsRaci_:h5VݡqIiŧN@L\KS+cݿ֌# lsqN q7nQ3lx|soʲ2N3lnb-y.8>>\<\"P^A># L ' lRI)cvn8}* _ aDgǣqL'eF8{he]>QBOZFn-qHR`F͓!(21ef 3!=]!j';cyM8``PzVaDX6NutR":XT-QIb.AeԎ7x%mոq{odS&_+~.k˪U45j԰arth7@Q#0sfdJD\<9%5WNEJژEz# D T,Yּ66a^y?j-wj OkŃ߯5M #[=?_S^^ܱxZ%)y(KݢE4\=!(G6[tӌm(=S3 ғh-l `wfǗTr+EgSg;t6a-:n\$@U#;n$:Ȃ Ke HZD WUjPaײ .(dwt"c"F eA_H,pcp  kRO6p' vS@"֦n2NFf"pu Q5gNyr(@;n޼ ݍr^a]Ѿw:ɪN a(5lN>DÞJݼ1a?Wy9-bI0ß'GPbAy;ԶoNrWhԛgZPڢc9 S>,Ix,YPQP TQQMWSD8粥0AF"^ab~UNyvB:"P<sy#qK@ YHu"}/FĎ._L8Mu ݣ|FOeÌkq.˅lHԡi ⹯UE@X╝TJ;tܛ*{7ɶh ըQ#j^~qРA$|WR蚄'p [D{9.+.OUZ^ٜnǵޢ 4Ǔ&&7K`[ȖOwkikE@PC1o?kAd ܢ{?${ħ2ׯ;v,ŋg]5I& 6<3֭8%EKJҭI&x@e]yyQÆ .<9vtI'OoV:;y+d{b7OKD׈e[1jWp63br|"T˒/sndKa`'-RE '7,U-:o?.-oչ|[ou9tG~S \$a;3~oN}匁}aj;Ύ7; Zbff@ OK+Xt1IZ2VLH'ˀ"ͱ-u' cE܍&1o޽kڵ֭+[ d@ {߅"$%b,u|?Iʣw9 67H>FNN'v̼\]Y̲jڏ"(@>z}:RhВ9rVQ$>3G3ЈaWh7p2bܵ*fr7KIPEB@vH H5* QI? A4bpRYE@PE1[Xv-s-:"("(@ P[xbmpcLY"P1E@PE@P uo"("Pߕ$k%Z9!gPGᎪwAE@P#+Z6!zB٤KV=:5>WZ(G4̱vm;"("T542rcs9fԴ-]BmtKFOOٳ۪KUJsX\G6lyIiQ]ܑ'ij%3J2ͥH1T,mQs~$L qMHHU#!C,6QE@P r;mȋhc^AͮlnylN%*s EfH`1[,ZL ԭc# E%F͓nE@P X~}W&,v81} }ŌKpU Ef,=AJER!=)"(@Jr:ͬ÷l]  LA^rz4 Efk\Ǽ:F~L"/PDKD[96m z"("d@^\bpL ]5gC aF3:$!e$KX7z"IpGߐcQ{bHPE@PB Lȍs0VHԷ1.1$ T8Αر[P;BBUV3]2͉1U G,܉3b1!bqF厙cz"("ybBi8 B`nj@iFU8$!e.Y 9?S,\cj/ xeޡpGըQ{oСBh7zǁp׾k'te-vYjUfF1*ڝ"("P 2$ 4Xym|/?|ׅ1>V=R%]ӦMwa뮻K3QyP% b9hk$18)z8 ㌙3;VӢC+ ̝;Cvm{O?tyTP @P7>֭k`@;cƍy/%brk|gʌRj?[7|:{ 3U̸cT{ruerV{Du@Q"u&fPKwZrr*"(@!I2F(@uGl8;9V^cyy9N|uI("PezUu E `[6m;}ruS*"(8zG"7nzz(ņA4hР-[w]v1{("Q'*7l%Jn&*"PhӦM=_ *"8sl 7("("PԢL$/b#s9P7H>0ueLb+"(Ih$=z'9pGr_xfw w8z A;Z t|'e>M U^7G0G$ 5rF*Urrrw<` wvE(fx2tJb*3UJw_Nk}^IB;gOue%w) XUN L7:j@; }ȭc5H("P{M*2>֨ɦD jvJ)!"(!:th߾GyJE wt9),PѺR`έU;S]BjRR~etN 7ac}ɓUjϔr΃=|`u)=пRǁ۷wx Cys P\hK]_\1 6PRCD7G$o<yS@QDžw>;s TLP2TPJ;M^8Ovɼa3K/"ePM0̺Tڸq1cvꩧ{챇vXN?M6M 0!Ӄr;x\kjGw͛y*3t 8~9tc⭏gǗn_ַCT S:SA+$^SW~ϓURTt ZGSI{]ZL<\_):X~+0~ r1it,pƮ>{hزKc>D4vqu`-#yzǍ70?:vY{žҭC:;i`ėZl{J X7O^/~p>F _$QҠt%yj5lyW;}^{o+~.k˪U41}{W_".SI8R%L+UB+բE^x;찃-\k׮%#>]*{V\hѧE&c *,khO$NvG4_tiKrl"5*?HNF*>E?%:AӀ?Kp@YK,(T-굥Ҟ@ )qqO7qUwt4#$(2 J("PX|Gh o@b5k?yժ_.|o Y'kܑ3JNO5*w4xvcY9$9[bUu075 ec]u-؂Cd*IPE@jĭ=Z$c&WѸ_D$Hzf [/-TQFswCr>%x5׼ iʋK|T|E@PG=3\۴Carժ h 1XӬAfV}ak{mo8Uuys[nӦM篪ܧ+ǟŠf] -{Yqƌkލ3VE!P$ܱۉ't-;{v:5n%t!qSZ2_}&;Ι3h J+9+ݝPկ@@g=T]02Šw$4=<y{ɋs[necƍ;>pN; *9m45\T P*rw1cϾ~_*E@]vۻM $5#;zNrǢ-2|#urdѕ7¹꿨c&( wֳjծUd WE@PE@PJDGj8]w.SI,BJJ ">SR*g PKl7xD͚Kɥ Xӏ=y!ce."j*D`뭷_P:$R!fRU!` YP,xL-V a H](5 ;\,T P*rV w,pT@"wpyPá/۩1JB+T,T r*"+n^PE@PE P[tb·ޱTE@PE!Pdv԰n=Q&3RE@PE@on,_^R zsT}pg&.?X7N|yauVUW*w@sY)sTOV=SltzyW0v\l'+Y!厪qEg׬Y_+N3A7NryVKЕ*b=+dU70.Md +U+C+U@%Z,9t4_N[uy#mcVt==]CY%LEƷљku5k9ɦ SW*OyYd˲N(b"xk.gGoA% T1-!½|"yB-w1M:{|%U(t"GޱTWLɉ+>_G7'Cctr h~veJ?铕z0Z]ì]$/JuhJ f~(:L #zG{un dqX$qK)JurYP& ;CU?' ~} V*pK"TW 0v < VԄat[3>P+ȎobJ*0ԺRUx>pshOy$vu(rWd ]Tf}|foU$$ՑCʇMX)DŽAU-O6ei,JYbHnpDeRtW.$Z\E(6Ghva9s 6,͑_}3fH>+~.k˪U41}{W:G7\Hni#t;Ǡg3%r_D"×29^Wd4(?yJ*gz*mt=a֮SVE>gv:ݥ]vM45k{ҥ4n;oO\4x`5hРbɲ2N^2! T[IsII=?ySKom^ZpfLx{G^%*b*ܓK<[neܓOZNqڿVv w>|&apM 厩 /\]3ӕ*ו*p!_t衇6lHnvXe{1e@/#oEbQ!ib:cxk+ .5U9 sO#X[r9: ?RE@PE!iӦ1g^GqdNwx`6m4iv܂1P芀#cq>-ݩmpZ&>O4kΘ`1^vKRp7E@PAv=f;Gힻ4gNzn\4loCZ'iնSɴl]Ai )e/;st OB#s%\IyjҥOUERU-TU@u"U+վ};ΝK93UzސӇ5NsXRCgOfqWju3}Ȑ9vX8XXNmLOLg("@l meCˣ&hPѳ9qVLv3jBytnjcRt> L۩пWoj5nܘ8niIz =zW+g^㬫Z'JJ "gUYN@ c2nu.=hyE@P#pǞx]=VtA{z(q-0)"(5 lwɥ]>c޻^{k|o8kLvOv%djMZYǵU/J("7[_׭]?jՏ+VWkf/XDc8b]JriLhI,BJJ ">SR*g ̝;oD\>=E`~X3[yD,Xg P4f{C)+q&TXgUopQF}M0*IC '2n57SPH~ro>l]_&ҕҕ* JEH)厥X*g;6kCqr("("Pݢ_>E("(Q.ZP]c]6p)"("(9z\HiCY94?2+{LӣT~p}RT{vx,QpF7g"("("`cQNEe\q]eIW*w]aߞt^0)))WkXPө("("P۬A("(""w4A2tt(EPE@PEZ-rK*mᝇ:Z} qˋ+eL]b*˗h^:Wq $R{ķ V=+v+,+XNpqf9Z;oFwiJ=3f$:LQλsg)b.gklSqCtm.vL`_dl5c ]ZPO֍e}qD[݅ n6aHG}3z .⛪[gF#q\zuH<#oxaW_^nMQkͧzСCs8_u!5cy+nlL᙮ OӜqX*GIUI֕j[*+gQǒJP,ȳ;>{`Y .X>Z*dqNL$RubV6.c>3Ou{|kp_1mpP/ԕ*{(zCsU:_}rDP\ܿѥfeB(ka/\XxC:\خ#㔗裆U@) JFWV! RaP*6f 6:&9眤A+ՑñZ|]LR "Ûާoph4&GT)sv("P4jhʕk׮]NulEfm~Fxwjnݺ V| !_?lQ.bf|[ ˻n#125+'lzizesQ%fC2e]aԕ*,ޙ+9vRVj=x뭷|OԄǿWXvcStr) m/2V!_12Zy*jd@*Ix~GKƿ}+5cN-N4T P*r3UB+E~˗׭[w-f$ "k׮}` d 4Xym;&v@pU">xƹ~mKdk*-{/kSvh_z FGX'yw8gs%a1\iivy`S;Ǎ״xHJ)E9ߖE;>cOjx]NkulX.SI,BJJ "gU=ScS(ĂZDOazCk+ĮRɣN%~#sڊ>8#fzuT׿ԕAH]S8+cGv!3z'蝠w>UT1×w%aMA'm]c1थqm&d|W;Jy*$u͌,4)5vO{IiêA.S@樺RiVeu 4f;fa6&Ta[u%bȐ(*t2fbnIJ&oc1SuUx^y\rx2(>!Ms!y82yZlֱQ{v8"("T1G]?\1֯ZN`rق 1bj,heCEx:Ii"rO$p'𤡶y_4smy N&b,u{r+("(drhX+͟11$_QV冄Eu5\eDH-I q9O:Qt^2"78ŋ@@].LPE@t$ xAk|H=l?WʼwT/,ɪ*Ұ$)*!uj9++aEfiy]IG[Ju(ìT6 .<Эy?:faVלr zij +Usn "A :҉^ :+G&[V\枓lkJ/p,B_0gJ`R$ƢO*٭3V/^%RVܵz쬏ORo@N0(wL/'NvV{E*>uyN&w["W^0+U;' .}POpˮU$ X8#%Ƣҕ7YJ6O}u?Ӻ<$,Y][)Oy$bJ,5g >_uIW:SEq9]dr]7Nr3FH_0+1.4AѰDa)]䔄uA+J9'M Y@&DPoLΉcYG +@}eqZmQR1u>D;=̺J ܄<,2ntp0+s1Bi*g5C 3(UXQF*o+UKR]@Uy3?wDx衇qkoذ!'ܱg(aH^P6a۔FLhTJ"AW*LEȿR7n|oΝ;xi/J"WEPsǪJ("F `ՙ'A*LA+EҀn-Mwmi Qn#Pj,jݯBP]n!5RZW\Q4&HI̙w޹s'iɼ<3466?2y @C6ɖR Nd@K94Rw A   -bfԴRMe"@I'ISϚ}Nzcu@v,\"`;b5@@yХhR-Z5!xA1NMY@@m휵$wTE ]\WԶ@yKxd>(9k#H^bAtSnNI*;y dc­ćIT%ژw%r(EddXdTTqP`Gki$AčĭE @ zG % s6nnӶln,]0ŭ5ͮ䳄нX&;F+G    Ȼ65U=B𱬾߬lBLXF*/1-F  !X_F2wKrM:*\Ia c h>E@R;*?3|IPc" H#\D.:a1rc7=vaiD액s g{@~+H}G&j]?52v3@idH33H0wɉ8a6Qmx%;ƉT.FtƯx*g״֔/ +))ҧ^%L^!L-kEkdՋD9M+2PSWG~Ȉ@Ǒ;wv@SqM JZtQwSrc>SLTJ(, <|Y^P8h2RTr4-dȰrHbNթ1FbN '??Ϟ=k׮h5] .\bEKKj!a5Y ===BPJMGgwx`.&)kuJ:q# ^ x}u%4/WQ.Nt҄&ʻJ_Q*Qӳm$B@zYa`N/"/p>'RJ{KJJy? yiw%EPSRPvw+D/.ݭ;(,|GI?X,ĵ*pz@Ph?t}',m`i1<>ɩt>ۜ?&qG>mSqG%yS;и@@B% 1&Ae 8^zM]㺸cgZ6qʱZuOxgI;::,b> ummNDOUWWC5_j(F"ёjH   >(շ-h{e7۝>jʎRKU  &n XʬHjkP8!z`k&     1!@@@@ +ẘf    !:G:c̀A@@@ w̲    !G    c;Ƹ Č|ǘ5Ɓh   /ٳ-%@_@?+;i>" YXq54 8P mS&"1C|KD&Mc4U$ 1 @Dm;xR-?͌'FM1-<R7u󫩸y+bݳKGu4P!=j@H+O[]{y m*@dRfBe;P xZumAQ%=YD׿A/D-}h,hHԓӒ˨kIE="JVΐ`,W&Isv! v[ucʤL$H]1L^܍I,Z[kJQW< "׵SFY]iaq;|]Bq;hWCl*W+t̗͖61`mQyO*3ۀA0 (ctmmn/ }'S%`2 Rkh!̖'uZfmn$g<,w7U($el|v}S\R(?#\ʴLI3RjE]xG`Gki$hxVyTHy˪`2Ɗ|D] eÝ7b;6_;:uB`F}^zxq#@3=vcn*Zi>J&' jU%>S_ԩ`xq3y<^Aro`hNΌA2EXl 'h~RrEeOjl} euٴEFyy卪Nzyʚ5ۮb̴3xĖ4>lkH\3TT&-NfAH Z!m卶[36WFmq]\;5cE!B,Mu ]'?y(^6I2B/6Dllp# Tl yek<&WaxjeᚅMШR&NdQEixP3RM kٓq3?bߥ ljk!ҲI2WR]0 ;$6)v)ͦ3`B֑vIլ÷q[&6ie1T Js#|e:QLSXÅfщ^:.Mز rbI-*}bj,ȝgϞkRtR] .\bEK!ʢ Fo ^"JaF[/ 7[ F~ţ[olIĆIz͚5xJѿv=%%%1gV>$:+c9Dq&= ą|Ǹ?tPl_Cɖ0foj&ܠN G    ӔP@@@'1pĨ@@@@Z#9|llJ    !иCj@@@@ |o᷺{ F]< ] c4g9[!C8JRb8l< H Su3g}z5) wL< -g;ࡃeE9sq^/X#v>Y|H%;2N8ywц}$Ć5#}j}G>f{ehx89FRT7ǢA`<Y;~'ƣVGCJ[,N.|n#yR= _^Phf8a15*ʝj'|H%x;ڎwLurFW&C     j?'    /%?:1RoWݢR7{Jx68Į۞3H|Nt)ENG$"jZ jj"GT74Ю͇b8/f*t;Es:H4|􈣳kc0c ɈبfiaD1C'E w6xնrijXXѴ 4@Po0Ot;O;-s}l~EkV{n(J:K&\X8lۨ.:P=Y("D4T*lvegl~hAնT!(82,;Hd|jDd?AQ8CY=] 5ˎOtQ d%41qy|珻w/,&O6Xx(M\8ѴiIEHbE,Ef6 0w>sj5G(%I$m@:Hvegl~VKuy{][}JjZ[kJx:r2=|d#w.W$'05زF[NAwbA>;F̱lY]icy^Ij y:u\KV,@ k д4sߑM I`\SK5?W+&5:y{܅냙.(,\q@Hcb9HcŎavV?F94DnTƣmZC266b&fJ NmgtX1|FcE9d1;lF iYcz 1CyEyKUl|vLb˄GKa[UQFrlEdaqvwWHEڕѦyNLug_nv~7eA"g1C\~Pe)OD&L緵=C?_SSҒ:0,|BOO['i5M2iTqG:W' Q2(GJI"cɻ> Fo).[vO)^uO?2@z 4w 9|GZ̧)M3a=rjp>w?(;j}G|+V|L4h   97pHMO*k7m CCi @@@@&Lbc?l    xvJA@@@C^AsuF iL|D$    1 DSs}%1"DK@Fg]WWz֒:yߠ4x~7ݝG<卺x.\c4g9[!Fg`2xĺ  Pﳮ}ǟ$}ktFϘ1cٳf ҌE;һS4>,N=vԸ|pf;,sv>BЈ\ٝ^5rsaw|R!BS{~رӯ6-|7=ٜ5MPj253Y8@L]~B>*;G zW, PPQ3k_ Q_p%1!;+ϑmDk'`:I tbAy e ‚96$R--[8~XY8JJUxcNj;`7+&Kp|IDZ4F@2t{em)DBgGac6WaHW>pgy+ 9-sd$';ifse*}dC`;35%_i[ϾgIEzQrTT-V01rhmA3Kx&9.]N(wm7J#atzOh?SڔMjޞY>RWBƲ!Hx#g̘1mmmWV>_x+onN_>"4Z&^]9<|p&O@ù%iE7Dڻ^)luw8oӧ}(/C 喭nQQxl4dt=Bl$tb$YeVzqBBk:uW&qQd/]2٫$֔I;g:<"@HqFtOz Di}Z"AןixqǴ..d5@{hl0`@pC4@L' l$vz={YFѤEzN2:Iٳ{nHn 8' Qz{{iR&E&~uN֊a_rk2d}մQ+gO;,*/21D^pMkt2|q&>M$Š+pևBnT   ^Gj\     `H W9+R#L@@@@@"_-lfqGMx0-o$/ {0$7zϞUE`uL ٳ=]]]1ћXƍW/YVr@ :(4~VDVih8?$DZ﮸ ?ˍYYږ-[:;R$cIDAT}8p`D8  wd }(HgqEa ȣ:i|N%;͏~|3'O>}4;^Ho q֭_ktO >h`?ANjڲ+(qmmmV=@QKoU`4eIĹs C?7>H+ 4hСk׮۬դg?'jfOЭwV2;J;ҁm޶cgkO4tϿ] g7 {KMqcWСCՌ8T@?kqQy̢׻wm}5 h `!)@v}G92ב~pt%K'N,,ж|uc;`M*fD{6P0['<16RpeW h[>1h+ =;(P )ڶ TҀAvА闁 0 Я Hs*Q<1aÆ2xИ#-\>qqtu ˤ_պPd*H Z[xfUaQb .TZRӚA+ף52q*Q ~5%(j+x}-6i!WšC<|G :d?5lZpc4/`| Ǐyo=9qO\SM!B:֚R(P)G(J;EG`. $V'XIH)ɑUUVW*xE6)R bDqNAٲ:*H1RNʌ/Xc\vZS'e'DU{yY6dЈaC>tC5fZ dܔ]0g_}gc¹CUV\9SↂPZG ;7K9 DS xP?(IJ[qqʤJ픠5U\͍":&Z&\GAP8,׌\_@jqʊ(&j`-QgqqaCEqgEE?8S@@ LBFG^wWfж;{|3M&ߑ&LqP,LZXXn׃TQrB:/?ySW e\*)%(-Mu5Kٯ3zo#MD) <p k'WfYT]-ub?9IݲFZ4+Sš#Ƥk4[:1)]8X(3̂ e*K9H upZ|1YmOGdl-Qghou;~ƝNmq R@Hf? .?k3*0}@n-W:tÌ1/;''TmkSBkUEU0XHۋٮi?I)Yi7X+C44Kk4ۭ_:SS^ɔn.Jm𮄑\ HepXÌTWL`l-. "[~..pl~F/5m21|2A@ 9cƌwRex+Vl߾ݺ7;Y|dNΛ;}G$wyy!IñcǒE{_udl$pԩ=s،Z1۷wwk"2zd;Aӈ ^zyyyOX2dHwwu."O,ƶ_OСCPwONw<[o~'Fu卺x.'j;8$VuSү֬XowY}w}O:[1(hذa7H5CYr [w8oNbq^1rYMw,^Qq+@Uֶ/vغeEʼnL)_ɮo7me@C %h?~z O}S~zǑ裏uX+@U6座kC*MQQ+ۋ/,)x4*|(AGsþ)8|JI{ֶm(HK-[veDi}MA}-?|6(|qΚyK3JQ8\Z~ ̵Jwoj<ӛn_2ݽntS҂z ?IB\떰TFi& RKUMcm7bMn7 RC斈aB\ GbH'EMOc)3/PT<Ⱦ0{uv7ow#F<#5ֶAGKS 9-7mDLSkG "ӆ|,KlIJÔ\2Ǥ?iW'OIz22 LThmw'^}.auʝfSYTʖڶ:BI?wзlСlkҔi6 T Уe䇲]z W?kUnyZ|٥ɟ^6YX5z򋚔ܑp/iKyA,ź;VOJC(ɓLӭw^dU+7\bIWuPgՓ(ƪV>#fBec۶r]AC+r)s;Ɖhf*qGq)d%MnS};w;NbyIΝ;>1Mל9sɉ)`K%%%9[o|A8Ғʿ/ɭJ "Wd쫳 @!Oom"s޳S*b=K˟=8e:Я۳zv/z1yQ2wb9mji'RW#Y!jcסN$ye ugQf>$'&(|򓟤17t}wS矧PQБ\:MrL6PG;ECBqg̘'!#IS/lw[1n-pSwxfog:9-)łiQ@p\Z:T_|an'^\Jq=D u^>umK+U j&FAR4On}ffUϘ'92/KuP.Nv-Ob ~ r~V3/ r5x>}~9f\栿oR'?O<1qDI#4sLw8p":g1sj[~q͝5;o.N_>v;@ ЈC4ڝ???VEs;vXv-^x!}ԧw":OO#=&ǑFV2:uYF {ݼUKn~ћkK7-t!H/3FꪠS޷8Rķ.VA ig;v-;={6tjh#C¦&vAi#ǧzjݺuof8D_5g}3cg(6l@$:)fq4*'m[yߍ:쪡C$@_ROZ#Ygo[Y[,.~Fۮi.6mih'9Yqm+#A>h]_U ~EUP9v']/ V)Hkm+h( ,|xth_zGZGF:ܑ^ZC=g] |G[H  *n_+3i ׾5:pCh ˩ST.c%Zྣ&B7 P@b`cb@D߱Oֈ:N@v`#wiɣZ\     `L@;gŽ5UW!JiOxa3cdl4,P}@ܐ}Ye6ȒmQyS4SlZ'Ou'j˩Gj_ۡa7v>5wKٟ<Ʊc9Sq߬RoJvDh$1 S7hn3\̩XR@Mɐa7,A#`UgvV@66 JN:*W>Ic7ݹPv;f/T$*񧔖 tߝm@IpER|ڡ.w%Oj2 n+cvǥiOSQw.f{u!_DuWŬ3W$q#s_pѼ|{̩[wteCy+^S: /Y{ol>lز;}s =YA+S,W)fZVўn"Ym.{QqRܞSp) {bZɟ֥ 2Heu欂kٌKV (Cz֋at v FHm{i_:l:w#M6ԳQ4h/Yz88ᒉw̩oxXO7{v|!t    JFyE 1|#;^WIENDB`candle-1.1.9/screenshots/screenshot_heightmap_heightmap_interpolation.png000066400000000000000000006346731421102410500272270ustar00rootroot00000000000000PNG  IHDRiG sRGBgAMA a pHYsodIDATx^]`GwÝ %!P\4?Hp(IR,{(w"@ ۻ{E k2w3#GDs!**۷V O?d d2hI*+C!`094oc+lӦMHcbbΝgee9dȐ={J^l:j$I:k*rQ0I9i(_9joQ|R5yg2=GNXN@ #')Hx\dzS@T* uNwɆ5@cd5 I%ϒ:G 0$fsd9@)SK^C%H:(. 7H2hϡg_e_|jr2 yéMu eЯoUVen^ho&|؀>.3RTV͂w[`?}i3oŋ{n9'OjҤɝ;w߿wo}r-*:xM*|Q<"`iokI9)Ta$f2%T(e(Пp OS%T3@sR Ts1-DPRYSvQEZszEŦѢ_)Cz.WjZZ:@F yͦaRq')))tbldlLr@T_ȚB }VpH_9xU%4^B>TBi*޷bi)E[Z UĐ5^}F-ʰ"qLDGe|3<^=J'MM,玌;8MM!V %쒿LcG0A\=(*?><$蘃Zp GP~fs%e*9$ I7Պ㯀'Uc6m|MG ѡſbn xq͚|އǐI{t6hc 7`r/@{*l0 !\9MsJG9X->f)KW{ze:4a„#}4B8o<$+W9u4"JEȍ4&NW8111156&''w*#JiLUrbEJ!RrZ, 굓DҒiD~ Ɠs.!;!/|( VT$1W1FYXc3rNS\$Jfr G+r-c$_',WKtDB^Z&^lKƠC7 )jb}}emՉ K= p mx뤴ǐ#ƌzՋ(^zFCZG>GO\oIK%.7gH e&! NӁ? y9TQBAN@*>gXA.-br %(6|b,UO{ _}qI(LxxFpuP 2J@+ B%'ᑒIx OJԤDHNLMN'IrjrPJ~&%cF,D,Ge'^=hMH޾{*U4y=߼~iKKKNHHKɘ/FU|rx#O8JԸ[R?IjT 颐Ez.<[hB$?ȓKH*)+GNb7G-CEDtBG1)*%48^SH.—F M"$?I!xHixNo.~*P(o}D~pQ*Ϝ8,y2?As(|a2T_Ke:KV ORSJJTԛ̀wIVUH>CgpERMN5`NчQ`T\%y SN@GKpZH'81xA;)#z vsPDy.īoT@!><UU4]䘆CH*T$xSHJ'%$%_raIr_bRJ5rHIi _,̕OkĿX;RLyjب;w5kgʕ+wҥxQTIxrBR#(/>B?֊*%C2SېKP-b#M"ZC* &5 "-\KjFWEZ:o1k׭KW(L:F-YwW=i5gNƯx4Ws΄M;nlִWI1_t=Z:?5M"vrlI:fk*$ φz_'u@w`^P))˭2M1}"4ubw.H_\^_^H"1b9d|-R+6oZDMlg9oqY86oģ}+Ag[􃚰lg=ׯ_KIb2tԒ*G=/ iB( \rsQR(=d[ b'HYG)2\2+_i̙n-rGGRJ+#ml.d0u"|gvֱ?G8ҵ2"';$TU /J[JW}@298dJ頏zQ# |0-U1&%%G!^W$%*0H:7jVt0\&&dь;9EZ5<ד7!15AƔdM{>-VcIvɻLHýXJD?tTN?7}-NK|F<\|ՙRlc\A=Sj\폲3r !,i.s?xI(>RU ytxOXê8H~pU1.G!g5F.RKuR*Gϖ];`<bFyzG j(wE>kD~hLi4q/t* "4kR;c@$IM\:88rc§Iw"Pb61uD ;zTj__B Z{/c&ujE5&1¹'Y&̆CmΟ zG. n/_up5TOӫڦ_hM>% Kw:{F6x3H:nSgCz>1P*sI M8ŵK* @TH?\RKCA"cȵ=foư\9 Uƫ]3ᚺ.$Ifb_ C7t_b!xȳ2׭n~eaVu!Fi_3 Ca8#>8QV2%洽kVFڔ,.*藼xI ^JtT/GFs9hUC^'OQn?F9"Q4*H~ZĕFIfR$p$n}nO(}D!RcQ+u!G48|4"sIX:H!Wad*wDML:l\8 /1,1Q}D"1 ĽR) hF|l)֧PZT+&y!H9%b/,e*D/HcJii2cKR ubW8cVIK ݴ(8i*W%$ &Q*9ğbJnFY.*k@ H5eTA *-V?Z藶۝Mir3M78MpjWu1(R~tJK9,ꃡn>KGVST*OIzɨxX{Ip3 -'KƒOFzz+\Lx Q>KDPpa99ɹ(WKeTHXO}h[jլWK Ũscs==Øs[xEtZ1?:SFysuv z` qy3+'&J.u q^$!W#5hu6l-gY0b4'U%JseV6mڴmvٿ͹Ykn}Wcx/Nyzz翱SzG8RPw>̿Kc4@ԓFOukGwk :/8xpA.]?%t֭G{{{FK#I7F# %@=`HiiM(r7Z3)Ş>ڈ/t}!/t5+M*H^zd7*=<* L|7I265fQK:f D*z8≺.,)K5)KiTN$ZI#*I4TR!WoH,ჴ\Ѵ>K2HZ\wqс g+40glFQK\ b3Lmet`irkbldaVfFfr 39XZ,Jff% KK z\.2cjj^_񪐒[fFY[,H`ifdf:MAQ瑌9~]si[Xɔvh/\°aؼyle$x޾cCyOH ʆy8#ߜ=gH"L~\VՃe Vt,ediV ɿzUI!{OBh%yB=7&kabN5p}TqKn"9qD/,Z{=Nma\tڥ/m"L\ÂgpD+`ΝP+6Zcǎj܃IeMfe[HX2J>Ǵ_sMqnPYA}UWk_qC Z}Ɔ ֭[=ӦKn"74>$fIQ؍v$jw@*'ܷ%I-EHPϘYwWd t%ɒ~V&1!sZ4=v:Ȣ%-WP/?Muz飴sD}R16K AR]!wBUI %G ml]dx!)D[,hN) 1#e$6G b"mfnl۹ᶺ&f 6YǁM q1X&Me::ڌprk2Dnb*35161F62 k# kck+CfcaLN,+zTJy+VTb$fXʘ땙X ]rGԯ.06csĒ#tW6/0tSyWs/ݽdžV+/ϕ$/-GQgP:f}sVu(K ="=ڡs.J˨\س:4aaFA~5oxoXAKw|RKqp/8 TJ惐>&M6m; *JY >]./^o5?Qknbyq>nþgO8=(ȸĀHi&Fv|wH.dX{.=!-/='裎prfJmw]|TdZvt(/5[)f1,"}4 ;H })O *ODF'DOdGJ& R2šh}Eɽ2kP嚼镉#%M6ŦEɎtj-,aaniaiifaafΝYXZx %zN.9Ll41A Hs KrpWIbRC$ Y)k瀇1x`oH{;cj'&\.̎W 9LB"Mu̝?֊JʝB} ~ ©TK0o7H[5ץ|nBKV"e=!Mdpi SP+H(Qj\لH\\y ,|[-"HJJ-!Pqg9:UGΎPUL{0A~??s" 6.[Ӛgʟp۳'jj]2PS"v|Nθ\x~nکHr!:|jZƒvgxWrJJ޹QEu?A>|YrERSh{=yH$G9"u~9?{1+%ѹQĖusHU{Q>S"q/M@'ASQzĤ &li\. T0M1#!mȭa&C-uI'HW¦C^ E)ZĵlqơSFm*?RKq|`lӧ>~LGSLsbh?<ﲂF^s}%UQ&yr]֞.Q\D \ģ}Ft(?OQc3  4:z,J+n]qAJb{"u2{[4 ~r/ :*規GdQcIJ .%3$so{fo!c(nVڧ1!S<)Ux$}E% 1 TWV}Rr;,ӔŒX:~'CQ/ԇ8[#(Xgk֮xE ʼn6f Շ -A4Qѧ7'yEJL~)*v5aOBr3_ʐƪt2FN|(iOh[~*ӡޑpǢ Ai: ã#ۿAMK?wT\Zlz.\ >EZyG) B .L0udNAs6Bm$%woGNԂ*ERB rKŖ]vբQ$v2T(ni-6PZ[_Kz'ۘzGFXuG񙓼ե;RH4c`i~!\DfrGXt6wq|7^/RI㧶L Zxq0W%eBWRFE |Ѱ QC*(&2AqP$"DfʄFbŎT.VhŊ?99::UPqjO1@}9$x=\ФsR(?)%n޺K) = o;Ȗ8>F%qՍ]F(F_NU3 R?5e_!ѝD I*nuI?Kf$ԝaώU4 M#UHBhL̿ |=vYOK(b(+,QQ$}ObҠVΓ&"tc0Mfpz8MJmұNeS*@uҧ>kb?qGNݡ_p^.[|Q*((oerNFRg QkӤR}dx^\9'TH7NHASarUAQ")?yR_-?Q $QJÑbĺ$DǠqɳj7[qG2zNvTYJ3򏖤kx$_SLħ>bj=Feq2(4*YTtf*HJ%/-++I>rI-[ͮw3RL*ĉZ%2KO~9O2upG`HwL]}Cx.?TCۭ gi,Ps3֥XC@ ]7&#kգeLp*&6)^oEv4b"}qH"JII)#RJJᄱoڦO:*Y91#| |ihJ8@`m+GmQO)qUeG7MБ$MoI{EevtQ$mb?ڸԑ]ѯjkdQa#}E(~,r֤8T#QC.eb2*(21K^8h LLS Rj*EuȃuT~,2=,RmfM;fm^KHhR,T\  _'=qF1VMD"2$^Ɛs*951dQ:&Щ3HHQbTb3iuP\K9ūIdY 7_#ZINɯFhRTV9*lwuRNiدx7K^(R)S5w&;һA S“"ѵ2JW{LI@,ID|DM%MCPO&ƋuH /1FGґNr6Y=*']#RuXÐ"ISf [;& }A<%Zr wZ0.rG~T$/!]tPh zNZٕV+aHN$S} 3dQGJSj;֨mV^Q՛q\U;9=ѨT1^k|oW*}HĐJrwME(ɫ`GWgR6J6)'A$%QIUW>Bq}y)t5c6kZ&H84?jyJٔL_ԹVFc.iG:k+%ae }uGJbY7V~pQS:%= zNjLBF!QR#TNc-;"ebTk8!*LfW)Mnx ȏ4eb0YVme]er"Fۦ>65I_ïDHemN L!_69F0GVD|5k(yqClU*i xR_Ŋ=DX*<&KHEJ y.'VY|-2H1)4@|-h(wTdkid:^ϧJ՘ xVEQj̫EeQaꅈ Cꌤ1T8%zG\f?r/(q00:崦}eyPKc(veNiә^a9 KNH.ueߺ~U*UvUsjr*ӎt֨W$M0SlRSe͂&JCPW)$%#/00-Q4ϳ cTF$^ҋXA$F= P)d4 5R 5?r8_ W*V144t׮]:;C/t4- :b~kT{Ⴐ C!jޡ>j厵k۷ bC!`0 @ekV:{Vظ;JYo޼YԲԭ[O>w7U`0 Ck!*n?] zGq"'O+~-Y C!`0ُj(w$׹ xmQ(w ;q6e52 C!`|uLW.rG*gRK˜DH֫WѰ3_]n&C!`0 @#`afK ;btw? ܑJVN\+`0 C!4]2wٴi!㞃ڸ㑑yۭ뻛j[cǯCY%If49tPN+z}QZX$H֜Wog*,H0 C!Vux YCWw=?|G;xXK& t9z[q:.QGK6u1ߣ%kV?%dmrf ,Y(V:C!`0 @G&YrGJ)w$Q14_x|_2Ũ tUP C!`d7ZT2*Jnw FKrk 7ɒn*ciEiA+1cWG(%P-;i| |&wttR <)"u2(H IZBbN<2TZXC!`0Yt w$ AT=.tw*_N/cw50VlHid+,T$<(Ð=;F ;}luREVW0'5XTZTVr\f$aauOZ/K`0 C #]a- `,GAI I .LG(}[3{;NDLy膭:l:h`1LV|N>J,, C!`0 E@wD(eZmF2vйҫb Bd1w1\*>`շ= ZD&>Z*9mJG,V" 1g+* 񴂠SNIGxce2 C!H;JEN(G;CT& b \4Z2jyL#OVLSRI7j'ۿ doo^(ӼeUea2.a N9.:+=4ڏV:C!`0 !XFa5aED{ U#4vrLR=9Ɔ(M%2pyWVvFFTĥEKXlM^Βv(- a8Uft) j0ꅢiƇe`0 C!ekE*)˕+IeHÿkׯmǴM^-2䩣!`0 @#`g֠~-x9=~RH= 7(sag2 SKVO,J'G]Ա^鮙ed0 C!ۚjNNNwܼyDz-;g\?\GUtho[`0 o \; gޑ*4 .3^zhubY C!`02)Uh4CJJJrr2@c憄ٽ!`0 C@TBewYf &:hnذ!w2k鷤Ze2 C!`d^tVݻ;7nܸO>Ǐ?+!`0 7@O>RU18hBȅ$.ЩT똰 C!`0Y]C;R∳8Ǭ`0 C!! G~ %Pd2 C!kY3%سB C!`| a2Ht#el!`0 C K#q#@=; bV(C!`0  E5$&9C!`0 @!2fEpb C!`|S(HkeT݈QM `0 C!E(G~ Қ"Y C!`0=.%Q$fW&1C!`0 A@ O>z(}dyV*C!`0 o U!HP<m.ge~c3q C!`|VkŞAȈ04#SEP^-ɽG&p@v\$ C!Ȭ޽pB:C˖-sC*z5A]hew15 <~$KnK b#K$#/M|Υsx)C@`i C! EjE뫓{=#T&䏉!mE |Fuya 8I>٪$pvlg;خ~\HTo~~7"FT:*+CYH· 6R|i%;Ë$p҇ؔ)"Dvj@`5صʡF I DM[FR9;@Y_Ȣ-Ir1 !,TI+םW$ZGB*g Z^ M 4 U:iRczk{6R5*w4QM# s=6]j2'}ϹDʾHzsQ2$a8[1SBB4Q^AרtD CCYoSH<ji@"W")>z^%,v(!$@S%VM+)a0 7KIW KX)S{x7R#W[X  [ &^DZP Ң[93loƉ\h2Ԭ-5ƧZ6VXkBZwLNN:U1s)C> @WR)h!H"?E&8iO3,3ֳ" C #@Tnw"ZF@5o΂ D08b Ʃ^-E]Z\DLLy[7Y5'{\u= *8b+BU6(d~[u -+CH(>mqB H";GT Qd$NoTK`09HWU#y0ّ#œHbȮίQC<֕pٕH"(H^bwSV*NI 5\GXG#4[+,.d#_+#rǤ$̢XeiRཽ>=kR/"e,Ғ6ЎrC*FƉl&mbg!hC!EAHyӪUQ̸E^U&Ⱥ7-RSKւԕu>OG@4G\"ŀeCj'B@uW;p RK`0r8䴑H쯑qnjJ#?'e uܑǀJGV~l{#ڈM#A="c 6Qae}p)_/O,C!`0 ,B['#C~U;.|H*V3)nl~@œHhi8rpeRVe0 C!v:eH[aʞJm0lAq!.~ 1%/΄{7MXbC!`0YY({op|{A3)kchlmɐ5S$1%;:iL5[Hws ˄➄s$i#_x.q@Ν;憏p39;ĉV7 LZ zKЭְWOVזo ˉ*L!k( 7|{ܷ[^5Q7Q#T !kX0ҢQ#X.4-^8i@#!%L!5FTIzG1_YB9yNdF f;$d,ZXp^=LxW,Vzy[ov^OhH"R dU+@Q߀4IHд&_4pw^Itp5^-bRW 7 JD i;KTP[t ?}*~m.]:xG]X1tիϟ={\BBBAk7o^nE~ZGp{*U6m֞Y.wNxDa 9u̓ϯy7nհZ@FH@"rF{`><"ZEaQ0װESK%lOӃU5 l /)M8Ξur 3ӥthq 4#Taz% WkMPFX iK ӠtXɜNu?RM#YS%e/{ݐt,ۥuR+?%:8-%d侱 Fi"*O8qԩgϞ!C#$V{La*"s-[H[q>%]\\z tk73VC '"F|*ʨK*^ZG%dO{OhJ7 uZ7hx;Ӵt 좫q]Q5zG<&Op *Tj R)7)F%тɤ\RNIt䕶VUHU/DݣMՐ^Sc5D( 7z%|GЊ{\@ώ/_DB`aEw^vӧO ~>jNc#5[E '(=I{Eh-#_b^#]I{Pڗ8n6 ן#)P2؜leAf \WLdT˄GSS; zK{h3v&ʊ`p(ԭ`1 [gƱ (Zk.5գGfs zz[s*Pl #w6!.IPu٫t2dz <ڛ rhmhGD\n/P/XX C!Ћ{7tјHdn9q.kt-R<-~M M}PBJ9571k`{i m /Ce#ƽ iG84Ңt(gG" C )Rj5j ̕+WŊԩST)u&}rj׮gqܱ9(B%[wIWcv",Ac#=Ys=-RB'G HRf="t!Eߊ$N*i<^As5jP]#Ƅ(h~ }k lcv=C ='''T@֫W]#/n~kffI$|/nRG[E5 5G'bzM3oذE*Rɪ ݅7~jL`xdzJg9V??uYyqQ5.*xJW?)Ӊsjdtk5!)HY5]"gF*ckarDk.Р)F&$*G1l:ꦧ%HLY`0?H;fzyAO?ժUspp rСC\č QrJbwƭƬ/onU]Gf} K+MazɞpK~L)Kd#b ⟇,iZ ?o޼rGKYcӦM}}}Q[q H6o޼ &dcT+TP燞ѫ⹡ DJDE:=Y%9gC>=ώBG02|4M 7P#zDrvuN^D}DN !DNR#8ҎE1p?,Ɖ DX74\˗wTf\<6!#Da0 BeԒE#III|G/QBi@Y%tyF.vOu̖(qU57_ѱ<&7&pzD^JR hǠRLcv= CXC I0D{]2Xxg+.R + sgtdMK.E☐z6mŋ-w-A"̢jF5f|G,.uHNNXlw"m1|>J:FF޽|Gŋcvwҥ;D44gp= Zq4G2M<HIQC"նwy51}[tю @* ! [$aH wБ2޽ w;R5NFiS37pu =+IH q$.m-2gjhm~v@LhU;nq " C ;QJ乣6ekvmu>9H&D&q*܃ .8X>baR.=X/Z~tO}z3 ^&IN;$̾<C!ԑW2ܑF䋸kz9O̐m)%#GT(ZeeҤzĵ8lLfdVFZ8})WȇM|cj',61L+"~IyB[?M}$9 kZK`0% [rYu3Gin#rnju`THIӴ4;#M`y#b|C65n~1:iժ3lV1֪6.nc؀Cӂ5vL^Ozg3 77BkpM)_D)%\ 3B$$ONUӌ@WR28&hCHw m7Unu-%*+<,cpV0>&|5> e^ }SJ| ̹=[ C;C@(GZ8"}:]~NZpA!e|t %]$B|O0,We;D_SpYs2+n]\@}Kϛ<$:.>|+%^#!6ڕ]?.X&C!aeNӍy#9::] fp?~WY C_||Wtd5z705Ųd e6Ylh1ojqFaa0|83EhטB|nƺ๕Ulsރp u,趦H!Ս!${8 @,d쯑1wjC}4tEs4ZUU1݃#}lҤw Y~@ynWm sFpEJFl#""Gkko| !25/>#l:^R|]=6"G[[hen8oq&'뒋?(1>LSPNC96:s"wXܴ?,92|Mc<-:xq ׇpG#ʆ̓0G{"] 2:=#DӶi[j;rC`槑,rKC!g}4=}#ƙ&>6h8:NHmv߷8V>}!qDsq7#Mz'9Q@^[{Ow:2.N$%m-B! 3TF >Hep֣SO|<,[vrUg 3&hCӳt  Wƺ&~h`"#||J5.e8,ٳg8,2Lx/&Xi1Nׯ_?~x ^S Շ.cCN1v v,(_ݣO?q-1fT?<ի/ǣWeGr&2 aȿcp58wGjƿaUTeQ=9}l0P:%ei ,FuIOKʃk\a[x4d >i7wpҿ/xpyp|嶕6P ~ η [{C ?2*pDO)>/PSۯ~\fA\nC!vxt=sFQ-&JI*.VT6Z9=mE~킩5#0nҖbpjZEϜsm$Gã 9;R"!`$vQ=x Y$zWS÷A#sM=T9Y3׸k:p'*ZhSth8Z+Z%U*O´ͩ*2|s,᥊1>}멽ގtEu&QMDGG>hvzoWtObc@tқ^OJJ*\p|N:[rCAԚwM+q˂L@c0(QFiDJN4i"VRZwPEc$$ֈ .l,&2+A075l _ WzmxpgW(cqܹsK.=zݻw#Ϝ9˥߼yʋ1÷# ul7 DJXśyV^ûř>)- T/NuX%o2UԬ-YnAXv#Q&NwXc'[X[#;żPݳMpK{eU;~h?)y7D voYeX_7*n" pE񪟚}vo{9|iqQKo7UoMjC #_ 5-m)ct[c#?٥} l y|F6_32ˬ‚uŰ{9S~%""9%!q:DBBBFZ5fDZ<^%0}[KIW)ؼcPE.Pcu%Z6V伭ZY4@-FHTg-n-cqGxOKĨڂZօ W$:ZV[֏# #/nG$K; 'X!(\Ț#L#uDGDܼdɒ]8Ԇɲ [W`e\ɩ5aAJZ}G칫2aCeS+K ._)mR= .1 RHZ9(a$ҵ$7'ɜ"F8^(gM$VGUwLg4 %;Ā%& \R>BLω֞e>4 1 nSw85 w7jLl:qGt8<{VYn_\? }.{p 2IiTm^ĕr <82r[s[ޙP̢B{{E| >k˿v4=_/n*k}b苵%r m ۫d}HzKGApǺs?Lkmmmk׮]re&dc! x,ȶ+H#0j;f=}4,7irHL{(K4&ŝڸ3F`~UZ---|~r9mVqF1.)ھg^P;\Hz|?)baܟ] UP^/n)om[5wE(v*֡"W\yE∓+۞}eƜ7]_YdadѻW-Hm?@] @'&wݸY2=9=d. %E™k}gCUaG햏)Q5*_C$,͑w"ݜ˖B^>^n'86?;:iӢ7HSMOthlyU8\iz#>_dB;FqrҥYܾzWaY/7ӉXjU-j*X\).8S@~Ov+WC8lذj]Ҁ3%pj|ֈFիWUVׯG~=4G_a5דi~+&tDƈTfFR Y.c@Rm >rN IK:%..8C6Dkep;p@HRBٖP'ڀN{LEt]_I0U>S npe%D3΅^#sWa=zN]c^#gc׽%w< !~ _|/5Xyf}R,,w[ziq&5;.@ROV8 X s-[o{A! qT d&||hW%pn-7:i n΁YsLςE-[pvk!<6 ,]p7TSPv0C&΄ґ%Rqz E1J2Pw#oKYZ3OӅ7;D} ua8Mwv;,ȿx`@Pw g~M90!2wލ4˗H2X쨆DPzb ӝ|'cV;k:s Uұ `PC4[s2O8j4ߜӏ*&CCq FkҐ΁=lzFaW[gdDF`ɇl&.*8b%x8ׄ_hxk|O*@0ܯۘf!A NԄC `7-+ԼgunC12dThQEU1@TTJVԑ8.4-?o発No _}>hک @[ ^cNq'<`k''F8CE(vv yp-HR!8͇^~3vۆމ&F䭁#ܛ'|ӟfz1E1V8ʵknK~ &VO;qFqpp; ۆA0ک[bF[uKl>0iI)ۊ'D @&&0K4aBdф=ÿ$ >y_=2XpyG/Pp 69N5V̄O+ٵqf_bF,rbxdQij#`(E"9Ꚙ`-(T=:!ff>k˫Yb0D9J{(b7ۇn ?aT/֏7:wR?\GVL^7b(wτݣ !xAC|ܑWCþIn[kvhV5ޢ'50M௮t x+!` w=a ʨMwß&}bpHd6=\(c_yq}w[,:hQ[M"pd-/>)xgƃ'?iF3So_{SŦx+Vm@8@>myhQҗnicx-,%CBDGtuΝ]vVÇWFd ˝yCMnE<#D6Nyğ$`TG=:tpc,]FmvmrfO~_\x_)SF`rzØ~0-~>5ߜ[g C)4R XT.2O!24ϛa:ԛf%aй&'W-p0.3*ja$VyLW@X\/'T ܱ"4%5{av*!# , n7*>>ޏa1©?cs}n rʳuku$ۥ}XuSӦoG*_a֝u)eƲό7Neܮ ]6Xb*[Θ1* a7(TK+5 tV[Z3CwHd9o߾[w!5fž21<|t%;:ik;kL9)n]:)[VF={{tx>r ]Qo ~*"kt9^q{P2pC\pQw8CԓW nX2'Ya#&[et7c?|J\sYt4' 1x?'N!8ZݥsG䎼opkf71MP&;0j Y#wU rö%LlbLpg;o~z%%z3yC~G΅d.{ zjt]K@݋B WJ1 'k )O$|‘!P81׽s+~i:()^¡?$}>ch;g$M7A#l+}H~7>P[_AjhxeyY>қ@[x>%CFl= o>_b4;p=?1o,=oaԍw)vjP o;nݏ=rKp币up ŋW'ktrrRJzʔ)*Lbt0ftWaLNQcƳ|CWZ 2X斠W` 2W )*!GyQ衔G 8YYOΖIιV\`@b&{4hU4O`bٿwGT|29`aPN7zeȎBr@ǰP5Tx |zeV@+0ݷ_CǍhFH1vf${GF׆|^;@㢏u{Ӆ Wx/y|0kT?Or4jsҌOD:v\Gnhf:u8 7q fypCTI @0ÂW^F9ͣ{3orʭCn67}g&7}C+c-h5LfrL(kLVg9:u:tǍ 5O-!nNJǴeXj$ԩEˋֶ+W׸{uҥ +bxx?<ҵ2WR>G0MGn*; xsp!\rw1OkKctnKyrs'&(ulw]P 9pi%1;?:4fFW@AF-#ۂP]Ftj7YW'_r_~nCd!V]3H\-j0r!+i&>1!q!3^BWQX"z]ӎŊ÷/fE:LttC/ t Q6JWCv'XpBlْ\׮OvL-ZacpjkcQqJIohժ₡SU+.Ltpx8)xWގ)ylm?ϰKJ`5G8q0)S4ㄅۘyW듓B [uɨ&CqjfĤwTˢDj4o34u5N82 p ŢK \Zup2l?Nqu*:5znp-GO&{klb42&(BqMGd;k7mFî-)Yk}mn3f޾9ٯg-:@K Qc#1=C ;ȅ-8>:3pSfⶫM]?FIѮQRpy5*5)ɔ|Hi&cC`w܎N'r lut[hyy5"is7 ,uT dfFln \n~sy:ƩM| Sp!ؕ˓>ʢj~*hTb䶧CW;х(TܖFMwۑW*3O).?_~֔w\SϿ'>>W 4XOfr]n. nl 8s>x)Wږl9f\p |jல%bSbvm.Yem]5:? }jz4a?{|;;37O=D&ӃdzuXOoo6keTWM5"Wင2f.+ #WsjGdZUdQĴzܹ^0T4"}DnNyİ%.ѹ9!γl95zfdž 65és_v63F'oFj/?T* -o1/m-xxuQ,0Ѝk`|T'ܙ9%tdڼpb_n8'R)j=T 6_G֎ꅄ5zs[utϲIuVBW&f鞁Bݩ? ֿ|;'3!7{BoptB(/;.Xړ!`b40 fMX<6dPTȲ5YVau>jL`x"df9q-kLɿÐ508JeTyz=DtQ'\v;w\'`▮)z_#e]j7`kqhΝ;7zs2Wź1'#+U#٧$\ ">-ND %ND~΀&'D(Kj51 Wr7k'lu[}8H&vUQby5,[ /؎:m#_8ikPOHOi,~zh _ncD5,LR@(Yܸ͌4&0<2e(wBsJ9#]R g+T+MFВ2C(%3N侮YyQ8I1MGTU'G4[#b]( h{z2-7͡ߢ9=jǹo߂VSvMRposa;&;ȸNo0pc# ơ0D ehP5+:TpB|ʃWY %Dϑ{Կ\e샋Ơzr_]W|6ӬRY;mF3GdKe7;y_Kp8gYzv43nf}~XΤҔfq>捶}z2";AM]/ z70#_l-€k7Ć9.W"39x`v|!h}MRV|a7U6K =r/Y`|W8jL`xd6C5ۢ:{>t-R<-~M M](y&[Bs:~MBp߿efKpn to VBun׹h/BGYwY lBt ̦f|gfm89R-pH-w@2z؈٬ }aGL9Wt-Ǻu!dWrIrl&'& W|.8uD1;k[h~Œ Vz|1݈t}a6hŠ rq9|:x#vqM8|ؒ%h؈%`m&uG/DeU>()wz yQcz\ 8nۑ7@2=_,D/< lS95p0=Xw9!Ai8 [wNK.y^vqqA*NGb`InE_w3`?|1Jxʉ]0ɪ ݅7~jL`xrdR9V??uYyqQ5.*xJW?)3 wC;e2d ߑуXzٛfn\siϏ /h=[ޑ7G4#<$UhGWNEAwƞ :bA|_W[ƽq'kƤ$|"{40)}cQ pbԴGjTSv}ѷk%.Rym ~!RC$\vd 5#R4 8qu4U;@>˘d/!Cku+c/ݸXT8L(@9p蛇[U`1i&㉿ ZD%Rbmur2͑V1Vsʌcnp gPqY+s4qkѮ]>|Xwϣ\d͛0a;} 5Hʓ> v"۲>\(DADjKP|syY86*':'*or!+Rt1>RglbW2"kr"2!t+&㥑140K/_eN>S[̨%mf %|55JH\-7/3QlDgfo@دߍ c5D+lzZ. ZdҿwS;2%%FEJu _>BX{vY.s!߫$l"h_ᶿ ۥ7wl2NQd)-< ރ7@;D7Z\8$ } ~y~QdO->wl"GꊑRktL!wb<sºˆ(n`lX6ZyX'$xem6[}۾s `-7oFzGG}:69FRŒ W2>fPիW(烼d%^]omus12dJ-h{wÇQݙ6AqyP"EVw:؈= K?~ʢKv*w^)xr%jڸ&cf_g"7`^}ԃ@bƺw|gLkQƹ 믄+>-7u)QBu?k~6R#qMƀ@%ָbIP!\rw3`CQ9 #STvm{}b:t@wt09痲'r|/FxvFzl^.,=*Dž:fMn-<_o'/1j9R%L_ơ|L8]Z%)δфmoy`7Mni~( 3\j:V?69d "qzZOwf9?|IPP|<^^b L )58lDSxKw37\My{r n{`-\0zNTUtpG̎Ǿ0p/G(GQXSp%HjժNcO);EcmRܹf.?qvO7޿Q sso ^m@&nrEL!gPtxV!iqnqƄY9M*> 80Զb # !I6o 9}n!%n1i ~nK ]C/8 ǒ+~l(2ޢGX)ˮ-1Mu .'MknP C!zC`=a0xzpДg^؞=9sqſmߍMl7A@68b@-?]З ^$l(Mcngcay% l|fOnrr8ܹt@?y){ۜ3 {c;[[?1{lAg>@%%byuSxZ \>n{F|4RϷ\~k -j?l}%n km<C7rqIᦊ^ЭC?kYպfrQM 61 NCrZХeM{ߛof3 ?pQ_ $aoFo9w"1 [$Zk;ꇲ7a~zYٚ3fkܷPᛪq= 9F,rZJ wi; ް`._R>{WՄz3  rv[$O111 j ^?v l.k OJǣzp DH,?_羗jHBboq_PĭbC-biaw=<W5g*;bt KO?68Y#W9_:gXr`]X jƍJ͜e6Plm5SDAi {P.}D9,T7!wB#/6C9I7E!#4v6X/^uM.U钿KT^Ew}W;5ۍ~{ŅscfpI£'m۶U/~SI\ jn#u|nNAzA H7A[!$"u\&'*QleNEݣyȚBw )y˱Wȣ6-L%=4ʽ&K-͓!899F XѥZ 녱 @=B@lX6E.tM=$eɷF$l׾O^Xޙ]+?AUtzB:k7?\8`,"mxxiU~ۮ^t"Gz׬.̗o=R{M(8 '!QX­} (>bC)_Nd)6rO4 4G Pk(C#6bs(܊Bn=LبfJ1v~\uN䕺;;fr&3 vL*h&>ogKVwqTiM̯͡",o@S]HRs΍;$jc6&F`ml2E7,Up>>k֬Q/rx b2} Y#I9Z/-.UT=]w9%-s{|3Gi3%č O}b^NݶB/bGtqmCLt戵>Ml)C?$C%_yR-c,;SdIC!+(fh݃'ANGafЖXp$a`{Z6&\o3lBa+" .4,vĻ՜Q߹ s= p{=[b|KRZ{>|/}a؈>"wDN;;O(E#ntgh0(JpP)g3cFJ"twGp "S C`W8l57KL!H=Qy;k I>053 l-Cf8+`@8byq@͛HVPqjGd9QӼqF///Q[v O|(/޺u>Џ.GOUI'O.$OTs-ZT}ؾ-uj+L;"wtX4rG|wM#* uLM@诧F zDcݧMH*)t3KG=~}}9Zۜ~7}b8"7-a&' `I )0imE<ɡBYÓ)]%pc7_r7&OqqqV">Ƈ G{+ʂ.e׸hfvT@b9#CO.q_|Kjndu|\$HLr_jyF戯I4pc] d6Qpz4.4! E&v r'I&=GlI7(:kJ+a+ס[Z#Xph1?~m[ g12uFIٴq_>Ubw=mIoU(7A^ʆ2p;>SMj$`"mm,v^ZF-fׄ4|tx{lXI<\@`G85;vhpJX{}ɠݻ˭wǏQ+'y&."t '2;ܱ;XSfyxB,qG#QE |qοG3̈I9G84d\aY^dž,uNJ .l>sg{.NeS#/d|ގ 3N\HYZeK$s=Y48*#}<)OkV83Wb/j>We1S ٧S{m4x|腘 0r. 2 ڞ`כ)1$%Zԕ0iD^m]$v~Gw>gw xP*80{߸_JR$q3]Aՠ-4Zm<u9Ⱥ9lu}!ik-um`X5#کR$mXt:aWmb" w"Z'YmC50DoιJ0:rHy GpUrüĝeWEġMbt`5?z/ak.Z+]=+"Cn68~c}8ILj;Yk t:#>h `7Rn(zTZnOWn!K,P(qU50Ԡmz,x^ȳ$ӥ3Gn0-%)ơж&ΑTEh'fB>صAp>,sA,K\כo2ϫ>+@>y<Q0fv9̹w(6An"զ[YlѩW; wrN5/qC+*'وXp瞅A@|bqc>$1]\u/F8` qڅx;uwS]b+]3ѣ&U?=G#u쑍(Đ2 =9]+tD^g=!Wm*<g57Ⱀx85J-{F0zi}bPinK_BIQ7F$:7ŷ <{x8"=F .ĦNK| ?! PO>Ŧ1}6p:3\= pY82*1Ȯ~#-"*YON]V|ׇ9ߗ;IIvBʱd >9ڸ.RpԞbb%߲eU|/fW.H'j,.ˠYZc&}b.YĘ1`?}qŞD>gs ' UjZ ;̉7#qu7=arpb16oQE3lsn5MC[URz+w,̅h h ,ˠ+4=# ^=e8>Bѳm xbl,z*=bƭyOΞ3&55*(8"Y']X\XZ\GLɊpFv1x5Zbnwk~~RkA2wcV8]2 /ΌDU%eRE>.?{Wř}kd+pGEf|2tQۓ񇞦>2v m"9ȡŪ'zl<3O='0;9A>?UCՐi;avܖkaK9] E'JƜ};q)^!*5No'2]҃`g&|_u֭ ,b&Vݯ>?up͔sufl,d{G0VaWn$-8^9 :swwg:żUyµwq[~H"$|$SY>+ 1F"1 _"b4B`:yz=1"J~h>t9օY8G/4+?ƜN=t ;,-}|rh`,i1ѣpR)e^a#z@P)Ro$;s u X7wLl0Zc뿣n^ x?1d1ϢAMD{yi<#7_Qi["?\ xIܖ$EH71&E!GHç ec1ν:&\RV}xF _M֩آ9ǒe'c1k6;A+Tiװc.C!Eg10 D_ b}isj<_c?vuo5 tnCwNsɃ=<[[8W@{tO`Nx#dbmG\?#EH;om._LVmMʣkv!XES֊ ޖgoG|2]@dv^и%#ER'i2w2-qC\7'7 :>_"(>3»>#pƓw2Ux2otCzDpl wِǏS?0Y3JZw$Dc+NX"TTimV8u/r3%zXBj#Zt~F/|MN؎А:r`kJ/F|t 8Ä?aV,2  `b'h麊RʥfCm+d8pR|i6rlKGӲH)?J=P+шiI|닯PXEDNu,;}(SALWXmJ_ \WMuʎToj.] >?9E6p˻햎L6*vf|!V$%Bʃ<qF»7Rݸ޲<It@d{yVp'2?eʚH-~ fYmng'NYYw*Vv7۷gT̂@͒\閱藌p".$G9!{t vs}d$^u2K_|MP\X)ģ"8Geȯ?Q*G]T+>$/08kCIYxff¥ b\]2Pк J3}v'8Fߩ({7Z՟|vA˖Bۻ=6޽xׅ5Aus$q07mFu^! Bcyy]z~Ӽ:'KpD4~ʃb}LN;Oe>|r^hޒ;J u-ԟ6ktÇ6P7Rg[ծ#&UQW]C–t,n$deϳe~mkZm0{—O7ʹI_ƨoSj{-eU,@!N8G㗜Ha{ hKB1CY0 ܿ-u]eBnc\ǻ2G/L$eHl$gx߯С.jD{qj6DA W>ti9Us;XR1R =HbJ; +Q4[;-Jv1grU?B=Q -qCO>]p>LfEYa=1{!xS@&.~kӦlwR6?1N!T`z% lQbQbۿ.ą(9 Bo'[~@҈eَ#7x{̴y򄘉`t5fe-0D#T |Ht0"+A 8Q?E\u7e)r,FvLE!qY|6m,Ë;ߐ/<=EӹkLhqpMqj)ڕ|EQJ}[?Yv*8Z#\Ch$j֧ϋ}.Dhgx&\Ƽ1Z\yK̫r_E[+v0)y#(߸F iYnuHk,iv|7,9yǿ*ǧR`Z4 W ~B8%2$#-^{[5}fc:}yӜO t+s7m/aф̣QvH7b/ b٧+`5V hjKBY/ 7k{|-!Q9cff4MG4 ZBP+H;oG2AqolIF3YDrYPr&%%%;جʶymg r<d07T/ʼL( 6+8?N^xRLw4jzޏW}j5{\P>Yҏ81'\e)BX1ء'<ٖ0Y/֔3FInwo5kG;v jmsF}ien%T)ͳ|KOfGZFMN8?Vz}vFp^#oG+'$U\QWh!G7nZQ/g"r'Ɔp۰=';Z e){bZ`zY,YW>\ĽfyԨ!X`)M+ŲȜ~RNv|G: *3UnV9gׯۢXbܹNs$xG v_PI o =iwnFd>mIVH|U^/}9%xF!`#ɑXzdu[~@f2 L<)]1 K$*7)Zl6r1Kp!r,l8S.M&RiPm Aq|ư 7477Jf^,i.7Hk#NeFO؈KD,7ޏ1TNhSZCzUY#j̉<:k ,`1 |qGk(**b%A1POہw i Hpϯ_^ˈ`>.!&M:և8;MfyK6ڕ,l # 3``+(#0F{#%U?#) @e:o/Eܪ Y-x -a LGus+=Sbh^'f% F4EU̼f:$S^w~hOg4!w[0(I' D:)gy*4+N?/[&a#?mwiذﲫ;;7oޔ)Sy=KpfZ[:]vx)j/@^MN̓:y=||i٥uJCƿC=Rj>˚d 2|L/mOh~ŖN{7Wor9 'T.3RW^ֿ;<) Q`#S`!2&^=A${B5d5;p_?IJ^h]2ZZEiŤ=Ne p0 5KT_ >Zr<լisinR2Bj284}\6#Y RbS1 BV|:=]CCH CD2>Ÿ"pMĔv4OQd[ci<܉'Ñ2osd`02 8S2-Zq[(h"gB`\5L=ׯkh@$L61MqVYHϒn$ 9^u,aܟM +?~+#Ďq?v{:#W1!|4 Bq) q{]nw ľnkk#%%ˊ4b+ي&ԣ؊?{@p ļw++63dVj RTTiX.Yy laak4η$ګ۷A}mvvogd%qKZ:u7C,F|5AT• ly:hNQjbc;)?l-^|i9qys@-+KaӞf{~Qz=x:kqe1GỦ{Y))̪;gY^f "]dUe#3! mSl-މ.NGc&Jk h PY՘j8h;Q,㫟ꢫ$ Z"r7PV7o/!-䌅 W/;,8p*j3V(OC#ƚ}յ}(˹~@kL245l36;+;o6&I!r FƖle_[DH 4{RnUu?vLb@qbUek]J_J7K 2&v ݒ0xNѼi+{t?q8\M [@<#18nV׉jcH]?A//xb,Cq\xW,Ʀsu0b[)?s[D<=/[vơXdEľK_ ]RkMV5b83Y;96k0ulR-!c~hF$aFsF'6HE&\9sb@/=C/aed/^k!Eo1qfY7k֌?cLWk1cGxWq svq˗/,=cS'JkGf׵d:$oOYAbS%Ho#IpOmYi܉VVy}?4h?9H ?+~pVi>!10QuU (fo߷4{}K-W.|YSN1vNwm(=0ǏyG!|:9cG~OT욭{{ J=R |ڇ1ى΄f”ZwnSo7? ?OQJ,M}=wˠ77YXȳG6=1"HUׅg?9~"I=m#X#9&";Օ[4΃3b&v|K>oͬG򋿮`Ơd'%Yɿ%{|o8`Id#a@mn'?Q^236yK0/V\4ƠY"G֙7y:!&pE6VM VЌц &2Z1b1Cp2w0n1M,hxCؐv2TG.{怽Jb$K2Tk?ݐr 7UMD(RTlEЪUڵZѰFoz=˰Pl*̰:!ʣڦMZW>Y^#FT?;Ų>EoLDaPX2G*B ag(V+Ⲫ,YbmPQ{N)I.*ݱjL$=NqUДLc5 }ɉ#9^pp *o#+C nCB&SR%'b (^e΄3-7{hg@p0{S[ӯ_nʔ7ʈH=2Vѹښn_5'L'-_Dw^`?l-GJ]]?3pCkiv?zȖe81Rwywkn3wo틍FS^lQ#r`-|GV)d_6}RIMb!-m.Bfam2PXKg>!9}d[%,kXPDTº?]1~P~=tdd;V,uZyȺk&jk>){aa_eAU(tGnZŲfw 2Ey*$&BND'lEץKY+M< r)B] Ry+HPHiG(J2=z[gwg6uۜ+-[G?M:op+?QEwޑZba* TZNPR*[(J41?ZC|z7lRq#S}h}챀yctu2Saqv9zLL.'sU=÷/Ÿ\ 5EAg(BlD$͖NV1/n/G 7z ?=A3SÞA%DFc{=}% 5hsZhD4:t8AumrS/;1 ơx`qϋvDƋE֙3mgg9?n'(D"觻KUe̕'B[XU!$f #c*Dyڤ ֔:G,8!$UD/ׅ"RMUnX <<;NoG6aMVPVV4Ǡzi(ѣ𲢟5"RolEXȼ,!Ѿ[bzyKBi^ց5<^v-1KvﺭO,G5@bG`r H@ - eǿKP^xǤX`Ox6jiT8MZT}٧mdel,=Jq6'3&/@${w[PWk4$P|1+ 7shE4uHv84V ФBw-Sl>ߘ\%Kz'63dqe~+,,bC02q(ϒC&`|$ͣvrjBs#y~N9[4E ܰ%ؙ2 =SLr2"\hENCA!b?=\FxiA(LȬUUfYSoG48pV!Ej*;KA™<+ArIVc "bo!|ao!e2h(Atv LtÙ'kV?/?mqu= W]9iやto~&4gsԉDn#LBHie >c;DF TSSB%u$HB)Q(V|*m$- ;UoW.HݝDLZ,C.uG Sq6e$".^ /Tq1ki䇺2#:Uϰ"YWr[l .DP薛TMӦV4/:Uث~=o< D,ѱl Aߑ)3VO={OK ~k=SHkcK(F+۲XW_d/J"'3Lb'>cQf\: BDCj 5ɶ0Y(p7(o 'z6#K%c6Er\ֶZehQE,NqvQ%?y:{h]PT&x&EX(룕β4U qu$NxtdDp>ZƧziȗ \AߪE_H4=n#om u+FV mi|zovb=G.j33o2obէ\c0w Zv5z֦,^ؙФvmA;Gar!`Z,|_<,+ %}Bu|Qyi{OYR  i(P~ю_b{-X~3 =`.n7nFn<(27Z/.فC|np0NT[V q1y$2'nj;9n*ɁjȵX7ahdtu lOR ѷ(ȖP%Mȃp7*䷰G+{BCH%x͓k=q?\<`\fdQxY^ᶲׅؑ? 7dzD-!N@3`+6*]y!1:>'y_|yZG>ic]EAINNeؑ?|Fd&d?to 4|m c|dpB 8 A'%G)c;1Xao?VH RBEK\UwHI3rY {w>򦯲0W_a{p[~06M:'TR*AaVB Rm, StFm4_K֤X+M%JT2uE7ՄF,<"rZZ"n@pUe %.u|dmM)n,UxBPEֹfz[YZ/+SK얄ZlឧN,@\%b/ZobcFIDAT[IGSC-#ݫ'UټAys2+rۢ)̫pi$zcM}*z͓'D$Bq!u9}X'Ίk;秞0z޻͞bXڬTB@i2t 1Z"Zb)2^v% zk 2ő&@+EkP0=hd 'i}jrҬ(/T8ҁuܠZ@%dD`ŵgH/6^ŁXvPֆutr2mNP݄%)F|ƊZC\)Ιp+߹ʰs Vl" V4F?)TozY!"j֨Ť(ѣw-nMcD onYu;1 [e2U37/ aB4:mJ^$.Z#HH;9R,Bˊq#v_y'ozŖ畫d;LUB~jע%3W)W\u"cwO8nŋ,NHC a햝ų*As/VD`{/D#)*;6y?FƫߥM &8f˯)1 =b ΢ha+ķt#DBklHuUc'C ҷuOM\d 1)9L wbG'}?qgic7 @p~K bmAʅ5̕_2ҍ}'zܭ(u z|3mHiFBE'1!OJF4TO\xѶs{=~OϒfmŁd9͇hk3!=$fr%Z+|]l)DU\L ^w"4-nql.#\̱BtS-~f++ȭNq5GF_=IEoC@6ھ][^m{Ψ9vS4O_hck[̊؂ J .Y(Q8ģf}(JOLIe-x*V g3K^B\f,*58"BLp\dI|2΅]|.&p,ޙlө̒Taزg6/)ɸmBkC"ِv)9DwۚV'"5IJq⹢Ƹ2C"X2Zm>mӴi{vqu3_Nׂ𵁁G!.k1)&u;ZgHZ|hvy5Q(7-{QM ԍB86}Wl쇖SqZ,M:[+fJXfh/)kP}\h?GRr3f(TJË̟K Xb8R1T(v.\ZBCYnp@V-Afiq[Z .,LV3Ay.BqELJX3Os3%$ ݹ]7nTA2c8 v}qI?T/uB?QqpRs 3y>u%+dŚkQoSLK[$Zy] H=t:O-@Dvc?EcX;0:-o,HDceGY[Kߢ4| k%:BǩUSSڮcPō1_YJ;58h 1S\MRq78U1κ㶳_16hs"d3wcoܜ1e6m~waC?|Q:SW &VuyKPhh(1W`E4Sgt* ]f 瑔'/7/A8TΝv'¸* >~hVŋB.h~p!%q[B:VtFt $~"ʒ`MD#n{8Qm/R6S0j&sJEGb8Y2yX3U'xĚ6(yUwԤ>7.,*yl&K,{'ʇNr~X>4UK o+4, DH}fyB|sl( C,qB /QS-e2-qҍ-Y|||+BIb pŖ9dC9IСSr+ ]7{Jh"(`G>#X4hzciuo_>x «#1-nT4}4 )S\V X(PI< '>_9ܽGXJ tjܹ ˔2̙{4|}%utԨz֨[y Nu&p$J$iiu=gf.GIK[v;?EDxP+/t@,+=7fZK1TᑵH"x@j{9٧}ia 66Ͽ˜e/Aaj9=ε6!{witx=dHO7G3~DӈTb] 4zڍFpgYLSMԪI %DqQ1SS(1KO_"&`qI6V]Iωc(["XS6G' WWUuLTh,J q&|Bmi*mKghLy$-*j8O> x"|3# bY"KytqC&M?4{@"8|Q>DoC 6O wf-zK:v{_s֍p}LI9'!3D9c˭ b^flW!p-7q+FtOXmD^:W} c+lq֌U Ǐ=kv*O$xͼSsUuЬoXZ Fy4JS<βvφA27ցÙyjYiеJ)mTJisڒG(i#vdj5gML~ZW'kJ)Q/Hce OW0dd¨̸f % i<'2FaDҼ1Fˤ< -rՋUqm%ek4NTLojl(R5:UqFQf&\Iӊ~Df.M6Mt)e9sLVZ2^Ԭ\s#> _lԱө瞿xK5_w͚5eʼnw޽{|U?yޤj=X^Uڜ2 mQ.ߘ89#3qEVIO|vC#v_ID?0 cEXΑe2+lt^Ԛa{swå(P=KpN->D;Zzvc(7[峻+>d?[um,hfKEyܝti 32N}pJm~rukhoIV&*I89IyMN,{4\,Is;jz3f ,iu$ 3G3vZ5;TiH!x:LqhYOxE`l,n~~>Ȯ}rP/U16˞Kk-8xiSMEGi;NmW.v&{38}%~ f q1R'M!^m&jfB/2 Ρgh%_Ay3g\qP^ͅOМnF Ȋ&. R!',&AI! ek~:I℉ 'u(Ɲ/U9'ORGp n3߹[)dRd?6yifY7 6]Uľ9UZ/![BItýh2M5n7#&k8C닽Z"! nꄇ2h,Hoz=[ܺ}-_> yW/]w?~>pτ[/ÊYUZlr]rpֹKbDLc d`fACܜXNKslv>kT"'5VLᲲ3Ւ=%" /6`j,6)/I?A>yȟ&sQI8h2 "'D]guŮgPJĊ4Zf*g84XB9,Q"6rJvYv}Ykolxlndԟȳ }R̹?QQQmi]$XT/Rlg[q2g )/-M$ƲCӺ )S/8{\@֗N{0Jt#ZaX/';V!q[;ҍB2s?홺@<6(~KQq|(&H$n5zv%Dڡ莚pp7oSqۙhY,pɄ^4E+i*zY#V^4(YX5D`s5:K%gTBqI8^DWsRˠaZDX J4ɹbWֆjB& BsNN۽$p}u~PyW0.yZP?/Wwv54i5or>ݔ0|n"/֌hi@(uk|s)Y;+l!XJŲZI=TyB|#[, MoU\#A`6ȴqgGMN4}ORm.5MdδDbvTޘKƠEk.H{J$F{cT~]ֲd5} M ;JE tҍM$paɚ[raSmuWaH'A3܌,ڶ[1 mb[GsQcTC+GsD7GÂ|,М:H֔h͜Le]V!'BDPGW:9ݥZU8tR6USXgb^/1N/ƆƄyvdw~1n Zx8rk߷dL(vUvN6:JK6zdD>(e%q =Xc{Tփ8FHmj/; CkUd!(:' .Oܵ*-H))Zma;NyXa~f Õ-iVXX ߄LL,/`aÔC pF]AfaDcD ,q4pΊf\Xv^KW7\%U^-:U DJbA]!u%'-IJw[R ɏQF "Uzd¥s_fxQ&{17Ԫ>uI.4i͇Y~@I=*P Eo6B=B#d!7$x'J(W"c%.Цmn˲Ϸ,tZ(H<if$􄣘G7%1Jh*SztBBsVW!e)NOah-/^^nzs yt5V'q2~%j[PLiZ[8!Bh9:$[?cx2@%3A@P∄r!rjI`„ )UH@X/}}r ,Z!tFWTd9Y0R,W,g,_r;/uhcWSM#МeʩG*|G[EYbSkx"i^$[ B{9Gth\}M[y7.:ڙ=FO`OjHψx;E5 pÛ˯y2Iժ|'xf-j{W!v$FHDbboۦ z*NHyA1]jYL9,}Jn;F{c i♯Qsw1c'i!o5WnqlY]7dSfz B1f65~OvQ0LkQ7+={ɥ1k:~mSZ"3|<ȋDE_n,ǟ@#rWVy>Ɔg àO7x'!"Ĥ:϶ ޯ,PdH!Z+$p@-il#G[fdռV$Gh*Tt>'VZ w#NXR1cAH{ )q]O@:+d-%=*u8gr$cs2H4Jr tf'Ft!JX  n!0+x| ۠"KCa)TP @./tZk=aeRUSw0Cش5Jrf4rrwOV+ݹ9ņuC{d~< HN;KUQfYFo,ZD 'ɭH|;z=0K-ߩEju\"F5=8BnYQ8ՃJ]2ĥ HQX>OW"7Cߊ W2+nX"18cæ֠ (y5k}g4ز J5 &=Q5r^%J:.:xV~p z ?t]8o|$ c Kx<Ε6'3Ql5K/$ kfSS .|ѩ5I 7m >,ɪkpez"{.=-3ɲʋF2?¿$?\cI(LvѬ |۲*<&RpB-96^JЫ '%2Zc6.w9~j '7mbp)ӕp> ^[~\MHZx ƸXe0I^i%)&K;t~uEм*n B r~6$(Bj%֕mND,tz:gmt S,D h]Й߿U=J>罟7oޔ)SA,٪\L}c۲'X.%¾ #}8@6T`++6G;<{oݙoC'ŋmZ"ޒEzz :>FU'Nlٲ,ow76{þK[<;q`ANwGǵG辇8Ë3Ͳ%\L]-h[j<-ö[!eQ jPO QqaL}O.S ]PWD՞GպX3׳y:VOͳt\e|NslovSgrCgtIw*UئlOcb--1?ݿpMrj7.;Wy%hP*)[ (cWv\׸u`PQ]dD㈂;6YkW|?'1+JMŻQURFNE9#! U#Ws1և$'#}ώ}iNds&jwv2#%J _*n&?NT,<'567 o8@Ir gmy xk46=F iUQ53fN®_kblɳ)Y%rCclC3gogpܨ& h^s[9>Yp+ hHii| ;ʈfeo5n\,&1.3Z:t')jTNi~Jc(bq Z7I|AR KZWTj0q{uk GESwmCVZW*qJdʅ*W43Y S,m񎅏)œ`)C5ٸ@.+ȴ3FW{LxyE9q/ T[>a1padb+yx 3zTږ5s S5gJKUS+B1ǿ*H뒛7QW?&&/2X&w72)Y[!B%:/HnI>:o6RĞ镝$9!}}&PZp2OzFQ JVv=Gޓ7cjiqaӇWZԩOw{qӬǎ'wقQi[OD/xC͊,"r)g[DId|]Ö6v;Pn i:RJ2UY}䒪Mw2E ]a 1;gSEu7-NąBPOI:+s6ر^Ç E8aK|@$ fiI_xOpUmrpeBV_00[޿ĵ<.wѰ4ǣi8>O '&/8[b(JkfB4USeXmԺ@X]3DV7nX?&'؅iv\w_i{^UܙpnQdczz|-Lm&:~jO39b|9??|@ajF-dk'!sVC?ָc&Id"˪ٙꕶˡ!9AF_6v#n0 Bʄ8xFl{ųMU Ղt%h-Kl2XCԩ]{-Ha.e 9,*EƼ" ZزK,Ꮔ w_株#+Ep,>"W?nbȩqŷoꇳFTK/(^5h{L$f`iNEfF^x0,.>NIl#i V/Աj*L&8-@ I2(̞cl1= m|еSe1wƋΓcgii`'6ƽkNܢ_7"+|^+oxZYnǎy Y3m>T_eKmpZtAގKcǃ=O5:(1l u+hqd$ViݜcA1V_#܆~ЬUPUQ/56~p) {S} S zD<׹R`9|ibSSrX06.nXUVokMόdr/ 3c ?%ВNwTHkMb2Ci76H1[.)%JOMb5ࠑbLR)2j얚>O {cvo닀fFIejd撄7,!zBqVJ4R "^-Cdo@EH}~t*{vVتQ:Ymx `~LղezvO4* Jl2_jqUBx~[S`qf{dn%o@e¼E9^R!:Its lYKd-y^FH|ty:D(\(^7KG4{+st!8aRnBje82.ݠA1]7/;T>[Wh [=6~Sg{@_+wwAs)@;e aTznY?ᠿ.VZ>H=AۮoJZRŌ'6Ϊ2d)Ϡ6[*7lC[rS鍋;YV/+ iV󝊙\ҍ7נ֢m@ {>bBjA2CnR$¤^hѿCZFA57dK%L.m03Zcr{MR&8YZHaUro)ʗv0I EQwIJ|s,=e"*{LIMc/_Qj{G a- ϟW!=w# 6T4qF%C9BPo '=4ѺY2<4Y"]55ũC8>>]=6M_M "w àDx)d#Zy f˦%Yn-QBÑSF4+4~O~OZRfOWG^߯+l0a.^%kezC1ccROٖ߽}I?/Qd3;l;ߴX*6B1XUZN Isr$6 8(@̹iDE5em 'X9aiZ]DOS>YIʖ"Sm|%_82R e%9܉亢2!ꎍc/{`b^W7ޥqܖ+~v[Ux!%RH@^ϒx ʚj(Kw(naThSJᖆOmCln#r邝#&) nsx 3I.l 8h#liNGNe<\vŘ#Z 5)Z#Q#~VFfN{pJγ pI%8HY!3b.+s9u0E$[{a2٤sgOQ*D) 0NBg*W#q>)I,xՌBE8R-\ *?W6cv>7ZDm.⿭L UI *Fi =}3M␏1((*Dj?2/ iclLܫ0hݓ X8V$JܠD-1Hʻ,Tal Lؒ!IϿPe,"Emp ?s8S oީsYp쁲ǯ1?!HhXfI@f_T.c?y~uvh"ǂFHvh12_c)fB c$CU]Z*-)qRW~k KTC͊ρ'/"fRPz$֎wiaD+Yr~hǎ,z;G780ro%aܩZ򈅒P.F(, v$w bF ,}4AQ@QkA.X)$eNhx pb)~xǛ#^W1 2/dq33\Q1=nv> {LuWJB{0S"gfh|&Γ@%2k:YLWȬ9|zX @?yKl"y5^>WLj1LnV( ڊF]dQYŸNY$w{p8Dvc#zbp$ Um@I*)Mi ʎqb3j,h0ʍT~ 8M!Cd"Q?2*NM'wIk*J: HRɈ})$@( 0B!)oE=ɜZΪĆDʼwl0į7{?$%&?RqGq&uvBȄs,;lcv;r ɑA@#8UA2:>2_}ջX4/9;7t-n,MqtFt`uAox[s:=kz$h4In~aV{_DbՍۛl8Y3PAqg z`RُoV[HzYثM.pzI]|u(N.vVU]TF`DEbU 7! KV!M/MmC/ M;inѓml\IYX'8lJ:z洍8q.9R|J~OtEnخ!KfhvgGXs YI:dqv#Lw&5 dt/J̣Hܭ&ZE"L !8y$C3D!XmP;89kBWϥeKju&j}RŒWđj*3>.< &GF>z8ےb"z3A; XkNBT!-d K{T%!ircjI {Fd2W9Bj29Ш1N.|nuh~vlE7/Ta],(V(d. o#QĝD+ \Ӆr,7ֹi_ge:z{@34u ifՑS,l ̚E \w9cwmZX?kH^0F%낔&3aƾ~ȈDB(<ٕ4I8spfI~p=5ݦ[rKսZV"!&ג"UFd/r#o_* (#ʊD͊83ٞy7Ik@-7.OAVYsPOBi|!Pdʠm}haC삈Ğ!ѥ&1;yq,R`B>tsE [5S#Zw, "ORq8I-6c7Z{H[6d$e-^ taY: ,RD"2_]0h5(u215ŵՑ+uhcЛ9?^V͎ʧ%AYXs]v JGȒBT!ƒLc1i*0F;F /"+ax.f Zo[@32{R _Gxx*VMc:c'K<ޙ[%vi"UT2$!> c?y?zTQRzDG\Jť\,'Vz[[n(T#]<W=HYRcӟkڪIjj'YXa?Q"€nm$Afѩ!2aN!={J„xc̢ Vo3QV JUup ej6+;+,tACp<^\k$KrE$׵('Yv bD`hd,GfJ*XvCu3@/Y)#0YEY,@9axݿ[8!Q:<̟?!H,X~ayia)joiڡ릜)Ѡ|n,nPQuweI1Շ7g/DժUc5䳪d5Vz4ۇ$G3C&P+ڨLQ𜱴X!J)YO2{wիVe%ҡwxAp;2̻Dd\`,ÀJ:R~otXz*1W>877K"#3/1U;2%|{yUUv,5UQV2tMJ"hXHٴWy>E  ㄕÅhT~[Uld/lNemv#;~s۶q5z ]qTp+a~ z=+a_GZT)j.;xXs;3e%vuՌq6v2Ẍ́!ɩǰ&IxPu.P(˭QToBaz*Փ WJcoX*p ae(SƎkT"n,UBorF=nA< EKܭC%1, /}`%PxjTZEpq8'MScIOZ[t[KޢNqr1N!Y*B#]6oOX{ jFW-2VX2P7`\yɍt4닅_bf`7-!1%VJ\ocxN=e)GV6(wb.Ví\; %*QI&DhYKEv3|˱5[wA[ԉƘV A5_ /{@$y?oԣhn>}ܣ, Ҹʟ;^+nxC` _rZzպe)%If*dIn>OA{ SEj/:"肧/He;Nd֣+ <ü4x-ڱ@TDt-/|m΁! p„q$ɇ J8΄\Qbl5 m|$͋z"yBC:E3T5ŝ emX &|Ux>MLS?8%%7 /Fr}yiڕdSMd6@'2@h Kz '|2}X`AC6a!u8q[DmC̏i/re`@FS.?ޝ6YqB(GQװwwS$< ŮǶ17n-TF,|Ybk&}Zx=*sU!c!@4_< = b!%U.L*̔6a邂Y21Ac,;HWn]t7,mE;7+_cxRΟ^DDH/C@kmt őTPIFO;?5^lz4k]AFDh |ϼU(<Sw+Y{YЫ&m[1$,9Ű`˲6$ RyT3X)aoo6fϘ>> hxVrD5[if@u9c% Ҙz{@tT&O%+ǚClWn[?'ax^Ğʔkw62s$?5r__'M׫1d i I@chP Fqx[^u%ꆠe$z.{JCf߼e //jCFx4KPQχ",~Q!|$'DBQepW#=87Q\ZҨ5q:*G9sgz] V;۩)],-:8Uim" W1/NVgAUwӉa StG#4W[^1 pew4e2iB5[ZR}`]sR&Uzik\Y n>e1=[;*AhGDP&aBaS&r4ƁU謰b`>:D8#6cI&w {X٩]] 2y:I=sZo8Lވ<u-^p%<o:|qwS~,_/Dk,q ]UIS}w3s"ao[}p!/EH|z<V!=~f4-йYD*27k|(}f0ZF32W~u/xv+!hH9̫iP 7r+haq%Dva YPazُ2df zi% 5ޠXaz1aBc]A]D̙ +eNx6ni]53OTH*?< Iak?Vc[Hdw"!<)1kQu (2TpB#t3x ?>1/MBo* U5o%!Q%>W{^f!r]煅FF޷aK%? ?wΡ[7Yz{^|l}5 #j`%ˮm?{ X%![QMQۆ#i3zti/ zD?7z-Zd5!X T[ds`IBTQ*V!p"@eBR+4C 8[&_z{<8z^~}*(DZO#IDjdo&H70xL\{); 9TIPJ!4*d2wYPm\˕MC-Bt O&fMZoUQ wA|p $jgom-|%:bA}kn ?-^qkȪ[6ɒAHW; F#DueBbfOxD`p%{)G+lT190Rߟ Ӧ! @muƺBwX+5@4J'X≥7aZlS{wOzIG-[f?9}8+={2_oDOŋmsӊ}5S% ٽ;=~|0-ت =K~Fڇ[n4oU:܄Eh臱 6"NAD9lNla"C#>R5Et_#KMHD\-[,n*͗gAr7QN1"bqMȌ4p7w8eFܽ0^l!pb#Y啵{:3^^{۽ˇ+>FUq5t4f+ryZLa|Xux.ByniA}wǓ|-đK9@@JmTv989Q4X?JS}Ba|KrBEGsG߾t8|ߛ œ|?k,C7@tZjn)ҪazYt1`so}ev~wL=j2CV~RA1V Lf}^BD? yD\~2*({3~'gZDCrbCv90 }} nW-,)CC¥]n^]"1KcNXK񽽒Q/'J]f.9d%MPs{b7=jbYd+q0frdXɩS V &kQ w;[&Gfw D&"ś<Ư_}B M##*7oݻ7MQ~9rB +;3fٳg+ҰaSN 6߻E*;K3߲K.ukRqxM!\R|aGp%,qBe?l5d.Sߪꙃ޿؅ ӭ_TSm7*W/[ Ty񃴸zT.]Ng)!e,]q3"-69f5=};ý7qz9]'CWpzD O[ߑ>zKm=[J Jj6"g06*yۤr"*QՙCgi*7@"{ŎJU5w+B^,9`9$}lhYӒJ$eL35U;Nz1-r|NҾn%u[ٶ#>L:guy|ފ&u {nmieeN ƖyX=\q8(̷ ,szm5CM!]`!ċ-x4uy5SK^X*+RzEN7OS8Efl 鰴[gYRDtXWm6/CY(^hC}FF?jME޵u1#̫Z³pC#1 źz `LWl2ޝ֎q8}'ީz.;s;gR`QgwYz XcK,wѨE$.4X"{Ă"ewg\$/1ٝ;39s[a`#O\Ht(1:.5nmÁbFlۣ-:J[˪XS9}Ign zw`_47E} >I?htgΒ6cwSa&'E6GS;,QHBrtwDz[uT-ie 8qA0 Fysݺu*TT|~3__{nw;JƉ_]o\7llٲիBgӢ*ޱ$<S'#mY}*1]ȃ`mZnyv.loRq[Uȕ^C_Cg(tjA\bo6*'# +*!Oާօ7qKrs,:,ohA袄+C4HboS[_5EZ#TeI+BV8waDta{ƒz2֖>noP(Pk#SJbRS\WbRp25,5?Ѯ%'75r0,@r">6_A*(v%uh:dk?i#ZWeod1Hzתͻxďǒ]`h}09 𱍼!82V,A{7ȯV N4RτeC k-ĩ\P%FJ#+-}fOn"C?{-jN+XIm*VnǏKyP$zn·W(G"x'N K? "CkY/M!klv@,. * ^{Q'>|/}#p, 8lp;[2wZn{UW{))m= cbTkn\" ph3[h ёGG!DO:ae~mRnUpV9k~ťO}zrt\$Kb FόO?* aG I~̪ffLU .}"\Y(NNK@D<:i)DvA x_5Ԏ?QoJv1Ʊx{=W+_x&a |f;`>u!_ɷJ[2J'rbիC&åKd5'EfMa. |}svwlytnq3pzwv'j9$㱙vJ"1;UkAJ9450 *6Dařb &j)Q`6JZn ddJ[P0 n\q}Df$)ib~oJZ:b+獆U!E]Wox |f5mE%͓evyUJlf˽X{ E={[ràid&$_Ux 'Tいa9ҘV |'KŞt> =49|d;EԑtV9h3eɈ="Şil]iiVǂ& jgq^Víal5۶`cl_vg T"7Ȳ{(V69S7'\}Jڑ0ivg e ̦:G E|ܓw'j%~oIS :YTx?ʕiY~͑xLhMN^.sGxcdT Q,T9r={~ìM #f񨹚܆ND]g|OPwg+N.feH, KuE:\>gΟKh,4Eyb1ٸO@-7Z^x318Ӫd0fV7d2O0zmiҥrP"Wy 8>?/9Eu4a|_~gǿ<ɔ%(_;K_ߴiB-9ȱE _nJfSÍȐN\W23:4OtH\mD±i;% Qlrɂvm](ÚvV&0`1s 1v>*'G#t݇69잱Sx:M,q15L$rG ɋɥyT$dR䒾=#,ud~~*҇x)v:~Bo҆|5 ;hp$>_#$ꍔH7gY!t+wdE\"n}wa$) pY%Y8h[e4F3Z] еG`!2<_ Fv@x+VPۯZ j){~ @\l3\$*i%xyOJJ??gl+NXwvշ.^AIG#59NVka@$zR423-ۛ᳍MZ`W+oN_2p]׻V!iVА)O?G 1l}P.2"XuL!p|`|B! &WbGL l ,17Fs)E34k:dmlI%+T ICgx _>m<&O„,HH5|thQne7S\v)XMrQsEY,2v*sc lֆ.jNAPG"-h*d1ZHzhI"vHC`2:&g5t$-sƚRIr'xdo{(,sI?v=>AĂOnBhx7c< C~{lͭWbeOIHTY]i#pLИxk\BIcCOx U=a+Ǝ3֥px0rx7Q.0eS:_=)ΎanjD=m_?<_5N:rt5}+="xn0eر#WY7_vfK\x|NaB+oپslT!~،\JEށrt_tds!Ě%E"'Bo#|YqZ/ִ.,s bO%i2cϞR2|'!mV H6(NCqA Ęm"ˢ&Nbq4AXHyZɣo۶0`@.]:wLoܸ^_=1;;,Bjl5,Dgd22T_%dZs&M򔯼0OPiAkgѷ{-j|gϚ4v~ 1يЄ -fk膶ZEH,| zG\HHdjU8L8M$cB`zHdeaooxH / }ר7(0pu 'mCBYUjӚ)Uv1t-6uo_&#fK_dE=JS`hbV3BIa*]M4ogp/.>ON5SO*u}.X׉S&|`~j¤GnrZB$fp+buse'C Mfb62IZu{$^{0D3Y맽ҳ7hʣ/5N䱄UeW31*}6/j{ BV$ vJ;dKJN(T):ToYp.9{*\nFTIL95]  >jItظ=imdmgc6pZ`xh \lQrBOj](S|6d*7|3'MgONKч{rݕjҰrh$5u01޿B{aëh o'n[D##IG! k8xϠoYJ-ŋo~ܸqCE߻^cǎ/>c}8dq6:u* ǐ5Nwuq ?&$ ek)wȷ_}9ʒfwܡ櫈:ܗ;g-F:;#NT&!Z/+̙֭S 9uIӦ^^v7o%T<{CtǓGZM1ۦ-G!˜wږ~yN[*pǸ$k7 AH])QBS ?. EROjPzewB n7NXBɴ1 RJșyvj-s(6LhʛosP7؂lZI4zzεnr0A߿YW" JQF^J_eXD"Gnj|JOFBsg>'"Ɲnt\ʵ̥.32oSDDU =M@hqvNq)2l1^(6b#Z){Iʨ$<9?]%2z\n>`2X}Y`K0O%#}nr0ܳ|U_s7U )˞F"W{c6G3]$Af2n|#!\5\Y 3xT7o:)׺w#h(^R}R!7`60RXdI9TjǑWѦ_A$0IUSҤTu6 ]Zu,kAigMbY+: hhv$Cu'TW}:M$_ৄ $<ƹ~Ey.]L݊SMZ<EeKp?Yo4dlUi068WcNd/Ĥqw16voNH%}ݻw̙su벤0æM6o .lܸ1g˗8 B#v>hh8QQ"ȼa`k̥H\kvw4:Weơ;c`WW!(X X5P(;%[}UrEQJ8d +m8)vǗ$,YBڞ>}ZPc+SI뿻fD׉BN"D\YU!YIuhPBGS^^O֬ut]2e R% Q5m2ps ‡j܅^.V'aD!SI8dCNcM2DRAth$wbˤP=WC@{K$DIfK!XśS]>w~k90PrZcO@$b1OT D Xk\W#ɄTf/ldn.͘joP0s*@O.W@A?`$H"D`JR iSK9 eI1iH$ْK .6^>?;ODwH_@D:h VrsϑCR(k…S$/mXn}3+kN ^L߆`iy ;rŋ[Ҹv_ϵ}(R̶0sטzbÓaaH{?suii" _ rQ>MZA2uz4Z[aq&=֥SVM>GeG1)"+m$_ɂ Iyj[E2%1;ޜ| &5a+8M ʅ 45H ób/=!9 of^m/U?3n-[oso FI5M+]Ej1zqA(})+ߢK#Uc8a遠(dz$?j,[.Ҵ4Ѫ垷uXpwih 1+(7 &Bjvm dKUEyP$,L1AaEݕX}kU *]jf*qh^ PUR%􍫽q$ڝkm"@ 7Ȱ}|RQ${^bG)2ȰуLj/H~jp)# nzd,ښ @>O=)ֹtA`_L I$Ge(VJ[ONj%Lu{C{hepV\A+1_B:B˻6rfo5 /%)GV<]bqk"D}/ n!'8=7`:D/S[|_XkSMM A̰? ׇWVOc&I{ZnM4=-8ʗ+B s}x>}:guFKrc'|!ۄc^s g6RvX-=l| 崫e6n;3U$F pgj+.UQ QiiMGk!pAz» U@TsT)g毥x֗ K(d2^! %$tfytHrZ;5=rmVTY,';F Y g @g~fb=\/F=J90\-Uh"5I!tU6#MxѮ|ƒM͸s;P3R'JrU7̘aJ.RƹvƔ7] -]< @;(&bD¡B[AEI:suGs\7('_i;C_i8?dzZLl8'j{o٭:۴ic;m> #)^c!i"K臣=e#fT&$\UJ pL_AFL2pՑz{{f6~ {ՠ`xy:~74e5 V]JZ&kgdI", 2xܜ=XZͫKs!j3 K˩7҅X0 ˼f@ hy (zj;ub> ^-U!ڲ {I=Vҧ{gJnYm~(=[ ݻyjdTc3fb0ś - SydqpN9LJ3F̵͇vA!1;@'XDMVw:e wP V̒_]xNHv@F@pÁ&ʓic(imVO6ΕKox2:0#)!sUyO=T`] MymG9S-3ϛ▬=b7ߎppudrh}W /~v#: 6FaM.鑽##&9\Ԯ2wFt{a,A(X(EW)QGknډt@_Ag5f BJF&Gϑ: ȣ.N){û< |8B Q<Y`b}]ӏ`*%Ǜm=˶6ztC&_4HgB%.,yV+Zd۷6!ĩX(/_/{+Rk׮]#G$KFDG~e23;c&#>#~)["7o)38U<%r)V뜧OOb/\hIװcqǏg=L/zoԶUy:M~vy7^I{ޖ]UCtweÔ>q)r`V)u j- ]nﭏ.@Jg ZE_2'Lb';lPB2*od;xRNPsQո_V%T IZL`^p9,&s'ฐ/QYGꗚ^pXը7eGd)Dn$eJ2/'!AH NenGhKJ hRG.#>.k)Ԥ7zs,0.mzcѹ9 -NO"o/ƥI1: #s8UaG*V@r ZnYr($yE)G} ],sG#Ʒ3 ~ }[ڨ -e9n {#FPl 2ATb%ي LP`q^ew溶ddawB.SZ_AdZWǡ(-%WUmszD$:ÿ4?4g䌜u݄x;4,/} =E+'v([2~Q&m) eJk"+jyaT~q /J26C&kw67]EsqM[H(BvA9E_6`QHCz/D2|(Bv߸ ݳe͞lzF1nAL ~Gu8E6,&X 4BBAq ލ[~*_iNR2o 1Bӻwo񉨈OvfN0|޳`l0r A6_NoƌF!& AbIXXc^T*+W,*%b=eeo+=h-;--AօOv i_ ,_^ lu3_>Om4J̉ 17Cf T$*~pޓ49/0/4:~3XFЧ>b% /s!ʊ/9cB)HB5 nH&@cA.mg*cQ'\|S^|#B>[jmb^F[L(q"J5udYUM>^]QE5#+'צNk$$}k`/c~׀w ruka/;cx73葍hKZ@OTW =!p.!)9ȰpcvDDd!ҿkJ=} 6 8zESmMד\>VΤ8tta󣴁Mn rh>^(tb@xwJ} O4݊E`|d glGyt Le7.YotdD$ݯD qM JGy{l>x$:HćSCt.\o\S2'0{F (\̛Mn|hS.)7ӥ_E` ='^P 1bǵWqLD}%=|e]dyqOJˇ(0Ο\v@(]x! )'~!A1Pm^yMd2.*./PW y\^OIB@"M"wegb(cbf`),Bƕ$vFzgT/:f'n* EIXwWiq6"^ԔL.^0;[JC ]'AJf=U'&J3N+!ueoi5r[Ruk'ZbH29Snƕl`$|(8c1XR8| Z[\9>{nҢda|}d77-ϟ[d㐤4v蹎 ACKY\ANxS$ orrZъC3#SS-rͰkޙ E͘Ȯm~Nf}Q;=B@p4|Ix~QB0{KYJJg Q*-H.oU~#1N*eh.S&Q=37iN=g,~(߰H>%s%6IJqC;dPr)/6QXL2!p$5Ks}mË(G^7-褻6[8_sw{裬 |fk Nd whHȈ g7K˻(VQNxx{G"s_G0Ӈ!x0 iP |(Y_nNB-zوr{fYt)sDtQ:)nroGW-gQ "}s1ׯoӦʹiD#AY~wX[_6lXD,X@rTGVJJ^x[qXRWo6qt: \#b3{ V3Y%pܫΔzWgQؓ|tz,QIlSy^dcr%9Z 9ėm2 ʶ"]`xq4X& 泗\mI{31:7roNW 3jįRIP KL̝CGIxℬM 29 73~VNG7f;9 KJ-dhxDQDSzړmFIK~kLIAn%,*?۬)誅oV twS:%JdIbBy[Ƚit^'g OLyȻM )D}hI;kHV#29?[ÈbEʛ74N"p<i9ȱm2bWaQ 5D #-.ɦBH@p',mç=B29g+t91ݸ@_\lw;֐:h.8!DR6=f]*_}%ZgVU2ifSsq MPDZ,!eM<]\*վ=dG-|z_ɮW7kPck}ۋ𭰴+&y"0o&B@CË _ "2NƍEr~!&֥BƭNϼovAuj6i^b42B_ $? bxqc%br-{6#U : ^=6qTTfd\>&M7Qfލ/H yJtrbcvVOU9YժU{"ޥ%I:;/OQ}xwԥ5 iLj>c3YXGzJ_|Ţm>QQ1ͺnwuƍrіP6ھc.in|m\vyG1.R7hME@,cͼe yx(xSn #ݝ4mGWz9RfGZ9e:(js㔢"_gDUIg8Ub9JU>;ۡr=C_g Oyӽ"USjjVfKT狻 F9=Nҍ6KaNSXw0 hS5i]sm_&-DrQ|uZEjy~AB6-ًdjb.{49ޔj+t)] P5rBxs;-{—o.b9 |^S n" (wm80&b7`:['7">hk }ؕT? (nL8PSȼ腁j\u+ܮݭfKkl|R/];fs{v(_R97? s}T\vHetHsk#28-ePnJN&#U;{8I>dגT^<8+t:6BO8M`(aeHHz Y]Ѩmc^# !%+-vjg-r*UԨQC$n%!A5lj۶ ?eeG_>d-X1ޑ=TRd(Cȅ\n_t]P\Χ/ÈUʃ2!2?SIٳ'˼!AcL+`W;,!K4z,#+A̤f>{72(4x Yo=tIy[rcC~}=1oTvR~bE_--eȈtq-k4gm_}ؒsӫQ2̶ه.2X5˄h` mg39yI rKhzOHE7v΄*$Ef+qS\ՙy צh~L,{F;o.~P'3wF#w RNhU|9K )}cuK2aa;dU˚.5M/{J=116ZEصk6,]b _v4] ɸe$p 1cW( IY8~?-Y{n 6 j;b )"15|M=eM"XXY永K>-vr#9wQԺx2z,\< R+Qkhu cFXÄ_Ơ3|e10Q!Kےp&5JpJch;M*؍ Քv*⍵"A6Pß~'gfF?hlV?ڄSbPP =62umG)+Lhj:E8ȳ"ޅS"td3A{떫Z5_.N"!~/!) m#,:n~OGL,NZÓn+PX Y5eF'xk򕒕}fh?O>X(pIcdv˟6SwRM#PXQwtЄeh%ZtmZʲd{8#|, -EDۧUrm#p<|MkTQ^_g󮲡C.^B9WDpP _Cw1t| O`bRCjCR0oƷkW恚Vqw)>c`U| 1[03&eР]_ʿ)BH^e8z.W!L骀 h #p%~.Uڛ|/-viN 8t {L2$_ժ-3'RZzw]بH@ClĂ~2M=w.}\8a„S( =?7, ##L@؍GEEW^>KT'Fd\i_%"¥c ػV? D! wd8RTXݳFDBCDUo ܍ߖ҅ vB­K],1{]vND:P&1T@քom(I dzL#Pַ/[DHb)4zc,m&6U702V,x#.)Çْ5jAN/sv460aBCS2M kPGP>%0^gw-0% )oi@HDT|Tni+U1ɖq !^ͩVKPKy+W,z2kP'dP,~)yÒ(?y7WbX΂jZ)22~ѶuR?əLsWv~S%n._2BpAh(cɍZ|?t֛rkhp sӭةW?0I]qIe~Hfͨ͡噹L!F FG|ڻ/{ VTfAX1 29Sl~>(!̽BD s>f6bzb,*tFw-_~JsfPK`Q愿VKwF5@GP+sau FaBul]D|.;,6i2 r b=ܠIRDD?"'I6]g~p }P<ٰ$C'?K(m-VI%#$2XA.☏6;N8|u1U/IyӤBYf&S'OL?^M(Zگ%+-;R(VJB(ᑇIQ nCJ'YHj(̖dZQPp";//anuޤ/SCձmAzԍ։]DŽg%Lcµ0Vs9 Q1e~Mu $ATic։T,U~LVX^=cd2'GERU#rbN&_$$& FihT)|ѻS!*HD~QϾDDOZmp/.u|i[WYy=r֫[WqjFmnb`K)un "8$&ԅ4 Y\SnޘD٣ ϷLW`YL]J*rv3gQYOh`?>P `(~Mh[W4S7ӎu'ә爐67w2ez١C=kL7jm3>7$}ev!VTfyՆ򬶫|Q FgpEo<0UVN"YjrT§edv+/h !b +/1p֖x Z>['lY|YBDpc|}ux'iS~}2Rj1MG>OIG+2֐_' "Gڒn3qT36iYna;"v&M8s"3b5.aS}c݈jI(>q7.r*b}>c}ԔoǗ9%2$E>a-^~yiaF}'ȲH¢,^RMbnJ*unPBR ~ ^`{޺`:Hk*/!B*webnKNyt|%rT+3“[6(VFO/Ke|ؓ{ͫWqC.p$O=9Լ1h%.Fz#i=*vQw54Z UʸG̯̕~#տ&7XRFsNB=܊ݒ˒$g,ʴ-Î@/To܈Qcc4srJWf@)~}zdrL*RK>j҇T)ZLyFDn775"bYA*A['K}yw*E P`: Xwae.G)c&Kc hfI5&'cjC9: BKgL}&u ˫bϬiNvt|6N-jX!RdKam5K n;VtČwܴض -,iȬRU;kv|M;*$jr*oﴪqCưȇ.L5eR7 G}t ~Cw5vN~KO0?8۔tlwF"S9B-[ }EC7''@ g*V2=; }FpCLwkcc.>_Μ9$Ʈݘ4M;\ٰu[}JM(CqL~ASԈѨzJMoj\725m6Ш;Y6Kkf!a1eFIRq}MPBx֬1J{'~O'x0r0O~kYW N[-e& ^ViZ4{- Ad n~IG ~]`S_`pR#'nVw0E!{!lZD !ॆr<~pTK2ֵ2Bp-7zרGXV:ّhI.2lU~oӤ3!ţ.i0e˶7n܁P~XF@ZX§%tABu!Ԯp9U*)XjR>\;rZAJaM?u&eƤu횲kWe]g$> [Y((ȻeB-6[dBkNDwG~ɗ =Ҩjժ!GQFWD!@1D?mݺĿgǦ;pZ"Mr<7i?8M;&*w̴QPKD>iGoʳ]7X2d{pM<)1ZpRCKp-*-f͔ ';{i\|V.Cg^+ni.`Yx*k\ڲX>OxF(ZkCC<*g[įbwOoeeb n(XkGL-z!{ᕄ!\Ȇas5I4҅͠F.4!PR@I9zRO+ZCKo-!KuwH$Q-5yqDHĚB1YҥR8=+4t- PYtx9rAH[K^U\lK-MYO/޷wz"HY8@zZ7qB f5GR#ScrxRDʻA妚 b@cz=:ƅoy>g`}_E*(u>Tq !!"}QoOsDIOX57Mq,KZ$&}4 > Q-ͅ3Qa0;k 2ݸ:q{3kT(+ +y CӖb/} !z  sg,[tWPLI Y믍iK s n>z猙|}"tk7wUc#ԏ X{1TK#˪*|ߢQ?D&i? 8Q؏ ½{4rʀHW5s)BA}+VХS Q@?xԄOH 5I,o߾7e7v,Wr4z5um(jq%7w 0)WO#ѻٹk-\w2L[~FF!u57?R㹸KD8.4AY拚Ymf>=in'ݬ2nP=Oqkta#.QRBHV1ªL\T^!  E^yJMH,vfبvbqZ_f.-bV}DG]Td:b_$RA?>CaUÛɒ_6\I&7Hqb1 Rzp/Rfyfxr$M X|!"\Lc$+ M⓲ګ\DZ;+eò:w*ᾟ_*i9rJSsjuzJ97B148k(w:! p]xzbU$B|E'ѨL;J_?4D8JEf >4TCZ֋V63ƕ܎vn 6W" tk9nԡ?"tFĥ3\0^NgD51||ᜫ)Ѯ?~W"el4!3:{/|ũ i8RxznsQk < ޑ&f ugHME7 wlu `D.1ѣGS&߳1A}2"=\8,׶ + j,gnϠ/hscaw&{aR]y\)=R-Hl ߃OxHI«dNAW{l}VeFS0Pvs_waS9"m:YdB܋莑ztdgI1ߤ_`}okIHڃ:ޔL+Mn;[ ~p{#`\TJsI(_ RGS-Կ r.&C BLLjf=M1M$o7UI7΃2v$w: _^4>{(GKoQ賨Z߹˗X y{f ,)'mXA%bo޽++TMW|v}`?ZKqg %LϗCL!mIX}6O4>uA̦͘aX5W 0Qv$RZcϴ UGxC$p8ǡyE&O8qqْQ c"$mRH E6v9܄!C Q]n޽`a2 Ԭb;eyLe;j>v1itpe|? plE 7JQ '/|f|/SdH1"kamK#TLhԵ EExW0:vj%K,xBE J$r"U<`5,BٳgSJa-XdÆ 45}tB⽿OwgSc#S@:}a:DQP?3}Dxz83}wo|g]ZAŠ1? ,O52)[\QJ, D[%PΒ.5V\rU2+Jl_"g`o1ztyKmN*b/:dBfFPEHQP#YWbI6N`+".;@٘Zȗ"O͌ZWIZKͳJs c }X#o>jfGk5xkGB>rJL)PCxF4#ӣɱոd?&fYˆi/5DE qu!,%E0ևLʟ# Fq̚,o.TRc uB@UΜ<1{zȒ\Kr86"9C8\qڊDFaiDEN+HLep."d GKJe[0/m>zf ԧU&8ySҮXdf1"eK\Wɼbά#7]*BfፌZE] 61#)7ui=[=0x^`E3S/f{ָ }qA0#Z(` ˂.5GJ<nVI(䌬WA%gS}}؀#,)j0X85eѴKz7B(yٌ&bL0gY+>&R#ѭ*\%B|¿2JJank`=0$>WD`S( Ee.Dh%5 +  AIfSsŇA}jfl|~PbF"{GAʳC](;$OM1W\h'tITv{6^7_ߣX{0/x2jp`q7#aYF AX MZzH8^7 x 8p,uI7%orκ/&31U] ty<>|#mʢ *cb jSNJ~3 A)Hن)gl_7Cl0Ҙ7Twr̫ gh |N:R/_ O6+ Z-/:0q0&=ˉ&8 cݓ9|T`W>13F߱bdGj7;bRvxb+jc'cFd1\1NzY9Z]g]v z%cjO^ Ϯ9\hU\zYpv>IyZ@)%c0ls轘MK75D[ɴeZw 5aaehBTqҶHƈA"qva(PT؁>1OQ$M1Oe{va+$)Ќx v}vZLJ<駫LB:A~rhUSF{!):#6.w[my"M*mQ'o_`%KJ,Iߧ?^烺K>Gq>!$β׌*0 %$uY%u=PKM NK5^b(Mq>3߇W,1(p0p1}A(L*n/NΏ#'~%"? ͤ?0kbĞC7`-zK/ 'ާFzI E8Xt)K+$6W7U2t=+%[ Wu,T,~^p!mʱ~4l^D=xs 30c,+变IV<(G^ȧL|܃dbb"3ĊSƯT_j;wVU)>W~Ce:io׊ ~Nif*I^^|6I$C1-]}-R9L;"dܮuM|pb:5`h|&Ge&2nߴykKt(nW}~A)zr.Hp*5$Ы¹{Y[sD~AUGP'x>m wAMOcdn9h]͐Qtj2@hDr:?US!D!Wx‰+ȭT~~' z\B 6ۓ(ER <#%0axp:>g+x")3^J,Y2GU26y S|R{{-ޱ$w&H@ImB []Μ"VvJD./.aW/дFw Qj.ld鵬 ėb2bUj]= ^$ĆBl8(B(&TaxRh@mŠJӌ,Vx\GH[.PȒ=(N KxTQ8t6ic $ӄY.8LY4YϦIs) HA5a8 DP,.8mNSe7-ۭmz$;6;1A Mf]T#*߫(-.I:*J t$V甮 7.S/wB|44'r !Bl&#G# \fspzf:7 C?̮+vLmWxaB A|2ڲݳt?2 G4=} *At†dg![kbKĐpL؄lLl0;r|vD\ҳ9)h<[wzӐ#Ś9`dk82 _3d'C3I1‹K !;SY,H]?8 7ƕb_dg Qz3wEERF]dloXnw}q[>cJּIu` ]> 5CQ$>ȟGnݏ1fjXIsIjc_۞ЪqeRDq#\ 7|Y=S*QyzO`4A^$l˥dpgl }},Xc`ǵk׶mۖԜxn_Οa9޺u_~0`;(f_ciӧ;K~~޹Jpz]Tmґpe(|C_xkltS92>yʛEMz;mP-w䧆ZVHBF>"K[9#у$b/&Vb_eډ,/.-,eHDyN]=Θwz21!< x<#ŏ|N1 |*&\ܛzv cږDo=*q^T_ї=`* —1 e:dQZ[':ar (6(\슉 Rb?:p9M3Qxi*XMpL'"nӘ>)P5"B} "+i}M8x "i@ʹt#ҽ c8U_lMqx:(c~]MȔ ܥFԎb׼fOؘl37ZꪖBֵ "%\ާ }@doOXCS}8X*wXaDPa=(4I%® EsBOX!ڒj8 cޫ?8EM—l!xaڅ%ağ%ȅr Xoa(r%`S!<uˈ tMؘ]NۋrE٪PtX?ۖ&ͶUUW HuYb/\Jf*1#WX/GR}RD[DZ[8aq)1Tes.!4Om_|.E7rqP4/zϹno~sd r.$5] ׯ5Wdmme7n"'@TvXjܠRC $ }ic*eJ(Ar ->l^p7z梵/'.Fޤf '.ԑF+;=Q#ZL@G{X%ɪ[ްPRIejRuh(""cI4s2_Wئcgh Q+i%(@%T) H"|æWs\4k.^aR-&?f\e־.)LtM#*btvΧaXMVb1k֬/>w\욇㺗3S~ QhSw_ >'0\VU`'.D,teMuHP"R9+㛄f{#OBسAxapƬ:ڔ, 4& 8˿%? <,3.Y/Vc]@lnjza=gKG;6W#4<v 38(H[gz CG,Ta=vu_ hNk]~unv8Nrh`n4Çct#$ L{+c1hK,Pb (ww^\rDOG"h3 !}#=D6w > nl3[g qtV҉M1pPHaBlmz5jlY!dhz-EUr=T]h S|H|Df>m .칮k kKݔ{ (E0"J%Zwů _L}9NqfaC1vGav[Z_36`KJ3g=ҟnZU!mKtH_-1H6(ů\] L½ɋ\@S9+}IW,G>HF5 7.FWDubYmJ3KF\A)JM8:JlE'P}k OWB ;eV%Ήţ@Nj'#h|a$y) S/K8#%\}ljf#Z#ץr,7jLkƍBGbvόWE@* oJt B[%:vfٛT!џ\-ͪM5j o)@T0;b DioXrҴ/%Ϟ}ƦՏv. 66XcdH .̪1No)I;ˏ3W$6֩H5EpObaJ,$*"M_tL%P!$Yi`Th0%"L(r%,- ~XAUNW8h4M, E[q=ѡ"] z<i.g xYޗ .,?!AȲ$vgDzTyd¤%; @)MwMʖ>>&;Xw@%MB ,kL6Kd#e4YC(0k>ݤitG%Y2Ͼ-w}OtoT&vdr4ka@L '(F6 }1MrizڷHӑ H?uoO)#2(dIy|!߰a'w~KBA%c+~ ngWɗ/[n vHnnQ%~C =⤱j{.T4pSIP{+e\ľ6o+¾vCqC~6@Ŭ_<)H\qtR/2b Wq86bED& uj;5.M_X0g4<|Wq4uRdK% Nw4yrq%(j=~V.&Oqx_t~~cQy}L>qia(<='f3MJIDAT)H!.^(KAo8I8{: D2/4,l',!w6bs/(2uF+?\ܶ~iإOX~fb!7yj*ӛ0  3Wx g !r 7캶{N ?gV01h=iG5UpU=V!7c  )5<;U7;`0Zk@uʼnkg8#XyubI5xċB=Ֆhݞy!)ULg4YIvfC8 Ãz>ć 5!Q0J5,\1Ba;T{jBtƍ:oNHC,38ia"jG"׷HǴ}<Ά%*<iZe օgدBG6;yzC$4Y&4x8"3{j o>)\LS9f+kv97&%`\cd+WC788$ 6|޿G?fkX#E³uAQm"qFq81Rc]Bp$O[(x~A;9\`p| ?&[z]i#>c 2]gnp ",͒6[*hq$pL8,(ŽT(ʨzcm ]UdTG?Ep!zG k>{7/|y̏@~LP/r/@ܳ%8%i^+'V|n;\8f:6[Zito;nU"⦢mz!0OVLi>W~=`I>D&91:X=G@q д^+ɡ5!ɒH\>2eOb yoC4>S1+G^l"y(fz¡\V޳vM&ʩu6y s`7={Z)$>vICSh3N:h g2qP?&w nxÈ#}Y:>74sN.qXp.OxSRAQ-zE >N  urafTQxT.C-O4WD#<q}~6_bçY)B魎}{4ڍ`ر#j! hKGJJ#hŗj y+/#nng $8Z A"XBFynގ7v`LTzr[nޠ\!|QC; '##3HTP'7p焩pFkd_DJV n,zl( %x1aX BX $Lm/'4΅:nEUι,k^/Eu˗~.jWOZVSl,Er ' ܵxkuE_]K 2KZHSIHcQ.<o҆TCBw?x>v#FaX8l)vKg i DU(}\.%kV:L÷X:3Kו|DM팁+ VٍUnPGPY++VB?Zg؝w7P>ETml,ZͿ!fxpp5Ȩsh-Dz~-VK L}4:zXYP{G(3 %+vu[ ƙp!HevvNn/Iq禶c٘xaȕRÔb1 ahmϚ/jb{0 ?kwM\2itJ'9KSbTBgowaNNuP33$~YYpV@]y]PPҿotAmzl_o !$戃;{hs`mk>fM^r#q61aQMgD?!?DR !@`Μ| 6+9#:݊ϗG6zsv==k|dcS/&ں%0apxb/t1 DhB;PfTTۮ=]qp2#f_贛OoZpl4֤Ϫ%v$*$4)St棬^8>n艁hEQYjiD'_%k8 QjĺXEz.0fF(.l K>,LtF kOJZ̤Q6]Yل>F$qi OHCFojcSyX{SiZ t>ݽ02/hF7vOJJkE)R?BGItn乚<`O.{M-$A N >1{pn)K.X{Coh'DA>F?]B!iKg*6LM2N*0:]Dc0۾<{ J$Yd \IV(cGA@d?ylApmS뗓St-<8>銧z!Ѵ)bGڄ,d]1yG>{^Ug>dni5%S"dvdN9N8 _]Eer0ݗ[`.lК/?6I_ 4 m']ɱDDQc%3b= mDuU2DB@ O>X4k BF?j`H[r>p5@Fm;9wبB[~dfhBs5܂&ЌA̎IScܢRkni:G~,+}K$em:T#@Ly!!TB&Ja$ W[ݺ wv9Ҝy>JҸHibRzz\hoC-$<ІE Q%fE'"1A+ٴ/&ށP.kʲ—'$?CWrr{o),;wV٣m~E qc=(у?A!3jA, iRbz2KY2lc>)*Rm#Viߤև9P2rlc>CT0W%b`HnS~A(ábnZMwA0 TBIB%i;`G6sjl %3."FPߗӡOzϗ Ky]]1 Ⱦ/(1'bQj,I-䑼-T@ipNf(8֣! "kB5%V :Gaܜ?QRC)0u_}PDͥ}&}t^ǟ9>-c ˛n͠yU,qZY=f`A֌]ӭv^B+Y*YKGQL-0vWS E$!b"BBu꣏&iC ƃE/0|?Gc3P+XP"z l MLfaY qR S"_"kkoph@Ǝ#qy 4lGsQNav1 َnDH#er>pKW$GeI6m3`~gôws&H!3 />7F0GoAdDZ{BB K2DajbvGx7+WF2Z s9=ްP ,` pl"-J@ZLݦx.P4L5 Z=;ţvIo) b@묉}[NjZa: gaXfňa='#1.gBKB244Zf?:t-yۜs|F^ľΛEMSgahDpN~w+|+ĸgόt[zyRi1 K@Bp3S#wݺ֩3平N69׬PZ(xCB;ToU] Oϴq]xnޑv'y??)>cBj,9@uPF“~(KѸVl?SRŒ&H΂ ~~YoYAM6^Bq%!-h}gTQH@|5-:ٲe˂ &O3h4zkݺu ֿc=F$n-Z1bO?t n5NƎ׬< *1:nąK,?E?Ya8ـ,͢9wﴚ.`a42QmpZ yNB Ts^ E[>R1myK迂egsq=aY(x)o) N4z/|(A3B:pv t]}y:\eփgj^~~5@(3,sS3@hF&/fèp#kM u.wqu)cp^yaՈجItD`dO䵿ױ{P8hL()K-6:-;z\С93FcYTԙ ]#fdp,NlLJ;Jn.a 9teWUU3jVc>4Enٷp#b6 ŏ-La_i:&梟|b3ޑVF[9"bJgD[>:$ 3xOHӟ~鸸:7O!~_jժ+=vɞ {95Goh4Ν;mȐ!qpGLa%ې $Yxw")aD#$"俳0.M4{4n,7xzU#͟6tcz {%㽴E<_#z-Pҳy&+f3QŐ2~$^v 1n/ a. Pş5L3 Z2_2q 4o[\8h/)2sNDSgW>pwʿטZt^z.#5>TO݇5{z@;j׵:[YA, _KԨAk%^B;"7b։v$kY(?/`d@D L 5=q' Ļ;&ʧ9ޗ['Ŭ._}Vx,L)+OFׯGYYu慃/nΛTXืcO"Vr;{B#R >iҤO> YGl}_@w3.Bh]BL=̰P zTE }Ƴq ?xJ=x! |ww ?F)~f_}~AZ#lhM-y4(dߤo0o޼y6mPt{A β``^xenh &@ hK޻w?̷>qZd%MdvGnlUO:<];?J_u&[  =5s-R8:-$8KA4$<0={ctj/zp28Ӄ.^o>6D/2{H[ 2gѣk|wG`Xqe{q ~iT̃=, Èx6&<疟 1>[Q .5vk1m2zxySj_Vz(Ԝw؀oėgZ:^{OW>%=t^ S4.嘘 hNG!}55CJVj>N,Y4yih=Iji:z>F"\nȊ2C,b pl ~;l| }[޾/yfb>BT?矗b {,<(G$!T$Ikk׮I`7iJnnL̘1CS'ĈD?oA,W_}Ed9rH$I.cǎ2o{蜌4.C}嗥90 &~=zw]?"y(aUZȞ @359ԶِtG^d|[e5C? 'ͻ2|#6rqR{y ~m#w3 :ϧZ%6G;e>;<ylj NT(-88>1'dzy_Ѷka,YkmjR[9s)Op@w[.s:eLUF?*%3\s-ʜUf8G"bGN7פ84[I|I~9IyN,c;ÇU!pd=(,ޛq6G@# O,c޻x9iUc'pc9-=E:UwNfsgcL#sQUaz_fsuFO' oZIinFąa1k= E?#!aXh Y$~Ym gb5{x;ޗӽ+v ݈*AV09 }`υ,qeǗ 6x#by[ܼh(|,)l7=sb.RZ1|Jeo41|S'So]jQd~_fyA.þ-m{J9RLA,餖佟0rz+pU"k?B"J K½WVDl$[6mZoM5:^NN:~X闛pt"1-(M2[%1rײY/@pͩJm\!O-#>-Y5jH&v#Z+NPmbWOeܹ6]? DW?7z %DMھe8zpE2dhAkXqWf^d<ܗNt|SKau 9 2)R%kJ?gEr,0D󦺼޻HyB\ ZO ( 5ѩQ/)t%HaaQAhĄvz5S!8O COeQ`ԥq8TAD!d.3t]isTSk h­3~9؜V֭OQzO3wX|`gPF2U[m"$+O8R.I5RiT>n zR< ;٣E15ú p! p(@b#<0 Q5 E!fmE5B[G@ cBO/ѥ;P2^y/G1%n U* Lύ?CT!kRV(W=E{uQsc?4:_~-[(_˭mn7+;5up0|SDEgu5I;du}T`.$vlǤ9O=1nmf|=3PL/Qi&`qb2xY/aVH S8q,7;HJwR?A7>W" 5Ÿ5F70h.m[F!iD e E(+UpS$,$pq3aPY9#EBfFPA} >0"*ОQϑMh>0gis-[hдDt1MѴ,`MJp0<e;@^2f!ߎE1 ,@[tRAZHؿ+G&Z O݂@C#yڎE (,|[&d6mf֭[vQKA峘{=Fa2o޴ 䚄7MwM?G4Gm{b]N#~vF@tS5-3kVX3iBC|Ŝ>֞ 'CǖSfoA=WxnaӹJ4IK/_x~ F;fxAɭ 19Z_Ke]" w{SgU?x{,o z!*BXS I 6o0) NZ{~mO\>W@_^)' kZ;4x-͖Qtj\'6x vnpTRrP04;j3E|?f@$"Uă|d|pN%5ӭ2n;a43M[+Jw]q9oi&Pr b,N9/Dĩqp(c1-$5pgj@yaͧLL"ֽwA\sGA*ϏsgHA۞<"7Ubrgc3ΖVz>UkǏO27t:gy8p m͛XI. x+T}GA;:w3FzeŃ 8bcmi험k&@C6)xMϙfxmi$S-Ntma=֨"~*TдGXJ^#|,,go8 N95e[얀3BdDQF&;SZZD+}v4^K~AG8ϭ.\ 1>;is=WS٫֨lZ*MؚPHOӖ<Ghp;}J8tz,L'݅TC=~wS&5Lv1yB ,-&;B^vv?9}E1Vy9of/Մ$Od49O=)=&(2c Bqv$B[.m@[HTSL1z$["loċhx%kb X9¤>#p7}ͶΛy 8^m۶UVVp`942rB^ZL;o윙)O1T0t2BB&E1:Ϊ2ر2ZT\YQ&1nFNj0m.S3؀y* قM!k-cߝz2 #(z8J(3y,^JA*dTF* iwXm)(q[PWٛ.6)"ci0kc߲M&3c{X0KD;{Ө,B JP!hΧG 9ץs-͌A?<"V&[aTIDFFM "_$-c$ oD_8|ִ5=u@QdƘEI[I&S!:8K_QR8xPm52p;+d $9#cļ2XA㱃ЊUe$Ne{;ξ0`qz|AȨ4 Eg1+CGBycck4>}ÓZ)&5vX ~Pmx9+3zWGq:#5H k52ɭƖ2f].&O}Mu&CZwRk񻐈hl0DnLOf -ws)مӍvO/*Bc`XPJGỹ̮L;bŒ+ ~JE!0>څLYkJ_"UNgMKafcT#hv u"Q=8%.Ʀ~{(Yy biߣ&P Pa|q̐y*DB>hT-LZN|F!4_,u~x ˰B*=/>AcܑzRK#Kxi;h_42)B+ I MֿD7z(l0SEX@C-B)9KY>jU);ꫳ7<7m]ZM,uU`~:<%Iׂ0=uC y۬Dd & у3j,ԂII^oV(Edr"焠 D3)IEYvWc9Pu.40XxuZm)K_ ^h s7t/zMGp3(tv9y{9jNK"z`9/2EscG#D81qh66W*k?kg>5 ,xwY{P0MBp0<-Wi Kn\5Ui.]sLʴPϭ26˪,G[%U[%mV D4(_"ieK,siH5*4Pj ưl٠Xo{ ]W!Asvmuo]%1*!q{-66^7|bD4xQ񩻜|C!;N觶cco;k`hkQh`N=,$iiv?|;3\YTSZۨF50cǺ;;.Y G,=Y($IK7} R%#苅=/'9#sfE뉰Ki aHAe:`9Q۫ m.tPjMm_0.d%AtR ތIղo)Vs[{?Cx](cZHΤ"k71>=+La"8S,څ)]pTGd W5P%PrpU?* WacJo$S?#G8p@ZE˖-%E\*JIVGQKئJsd;(_R§tzaO~( k6bm{#a)gemL~o|g: bY pD·?b=cK|_&Y|F,Uc/S:ӫo<O-НJ1!AȒ$T2>OI8vqI$ 7fig9DĶ=xFě0X>r׾'3.F'?g;%U(0fk| J҇rZ$XN`U\3Z#Y.Ybi[흜|nO9iy c3 эEj0s[Pk ZsVז(m7g{AF +;Ƨ+bdfR̘s?X[k:C _4 >hHȢۜH RqG,9T9䏠;J74\ߕ* Wa`)%6l$A4# Τ]9e\*d̐ZYN4L&OFw-TYAAХ|>ro݌EEIm cVQXkb܁fl!kyro}5+7z !ۘUcHJDHJI5x.=j%zX(l ÓAh u m_6cRtX&Aj%gŚDsCoǖA |l@"B~3;3S"&f}',*]Ѹ\<ֹh H%rhoEzː>CĚI%S8V˓]v03ժ+i8HaoppGbVQfK3fCkclbnM%|gإo֢n 7x QmcfLҥRx&Xwm=b2cZqq0Cc MOHŏObD*?ns /~m}kpUׯ* Waf͚uI_dɒJIZ})Y~Vowd|V!Ux%UzU9ϺUVR,Xߵh>u4hl&&˴̶bm4sqlYG2"&EXIIi̓Ra νyoq\#LJLT!"%C-Tؽ(XA(зn˰Yu4Z/1OO #nI-C/϶-[X2cBIGk4MDCsU]x~hԚI.RECkbLx ?~v=R) D!ӝsnԖB\Ej5caԜ+ŒVMG'PXl ;reY0DKf߼UX-usmTsāWѷ»'5_Uـ *!QQQFj +&lUc߀* WacO< 0˴0.VbYfI6!<@u\*]%=-+92*W鵍$_uhC_;Ys@. qz֜:huJ:i2U# IIڕY_鬵8ˋړ-HSj&nRf7 b)$Ӽk \RLd|Gxv#1# bD6+39=>bңos_"(c)3H-͜\0Z K  G/6KXhq sQ " HʥI5sk> _מ(K}d(6b[MR皞p,{^oc!=nR=Ayyd[#5wojIkL"3&A0tq_?YނG |߆o?m@?#zAd|N^nO \hD "^z}U.5$_#Yn͚5e,DWVKUj|pkLâ۷C-# PRbJ;vϐ!CgW|CVqsʔ)i,*ӭa/;rG6:VFrhՊg\6{'_c 7jH>y3'[r[N(ÜiH1s}O>/iZfp.. ϳ_ lzox阈t}#S=Z(Zq: \-thG7tTjjn$vFzL2Cp, =CAz$`U%gs뗕5gfʌa)dg/*nj./-cc2ggnkpPoX3ϳ?ؚS+ʒ׸Z? IIԨ]oF8F@iqyWj5#ďfL섅+d w5Pш*.դy=|Սk׮ܹsdlTUj|J]1Gx}I@q̞YjKH\塹 K4{ w987IQ,{c^I=/rRUr f%Ix z/||ej {ܭ4YjK`( qaK~,cOer3m;ыW=W̥WxcI^l s_mABa y%ś`1ÇSRLPD4bMGN0mx}Kӝۄ\+Y5,3óֺzپ+YDp'D|(T"$Э=@rb[BN hޗvBvV3a? o5xT^a `MQ8G W}Yx C|/o[;FX2cERl˖-0`@ФJ6*5&⛿{NB]jc&}ɓk׮-$=wc!dg{me7nx$:T*u:QzTfk5(R6 /;'\1-edĔwv:&b7)OEV@TJ`X(:2Yw'p^͹O611g#Dwײ8u=qDc}hVf>1 \$Rkj}8 pag^:$k¬[c-qSv .&ӳTmm dl=_֌wH-df1JGg,i-㋨4IJ^̅)Ĥ ~)KIIGWP[)^qƇ=~9QV,6Y p4Uᓛjr_WIXi$y!4Q%Q%v]YqY5TTi46/S'taO J]veE+V|駴Ԗ)$Sf•zI%?d!YR[\UW k*9\en}?IpUdce)5ɴ#zأ_M 6TU;/W>4qy䘶 #.Y+xۢ߁ɃcO{ qxWW01$U-GW@td@|Dgg\ Ǎchz: <ٌnd~O&"}or>un=5 hлzvCYrP"ْkj|S458?Ő횓/S2Qfr@IS76#}fM6SP63C=Q}ެfL>%jwXw,G]D}ajeaSh1-Z\1u}#u/-cr.b S! PF(h,|4Rӭ=BJ:h=^Mn,k࿭IHteuTi*M޷/ c,MaDb+2Spo2cǎ%_ƍc-B5}$PCW}*?R}7{8gM옟/#3%Ug&75Py 0sٕ_*º.C=  S?E \YyeNMZw _]f$l [駈Rc s mdEal{z|ÈU'l&ș[E^h* 盐,6(p kOr&|嬬~^qs^`?ֻ>08N{CԆ!H W<9}fcau4$Up,ћZ@GRmTT~h p[yo=G[-sݨ*WPRcynV zm*C; /쎖|)} d TU˥1# qzesc㆏6>=)s8n-Y00CoUڇf% Ys3xC M)/nˊS4t&D L!SMЬ&"re5piӕLQpK%.?-UJ_{UJoܮa8UGA%9n^՘Kk1BazM/Vp1>?̜v^ŧ<73wzBb22Yq# SȈ3~ ” gAzbp" ]{ݓߑ0SО`NvfKF-qSӄGr1AQPi:Eu7ݙn]{+~p"4`jv0YjOkF,|4>*起EPɲ<ܓsC^M;@b!C.+hoQ 2>Z%\܄tYXQFxğEؗ"f111aKD# x:i |>zCؑ~zni[(u֍5J)/3V~U}JѸhMw@Yf+G%QR9SƎ{WB8}X`rȹjIM@cC&۫ٿ?gGGDiXcukNNoۀL*,u8ۈф Lx^0{,&_CZz8vD2;՝tʟXdC4}370RlkoADXRmV|Pg9hNQ33ZW?\?75ma:aSCH@yfͅ:46g%s&snI,- F}0N2pJjfXb'kOqB^>j8!03cC]aS8ȼ# bԫ M#'cwW"4p3#7FRRs`- {L# #gr;Zyn>*W~*vEv2ђ"#R^}UƎc{WD72o0@0>7пXC:@0W&<#iOYʙY.:gOZQQ.ӸL)nO" yxoa aOтIإ \;0*#X {l#*Y~LFM%Fև=>S Y;]{'YyL>Ѻٌqԡ㳼q޹RxQ+\$@yM8(SsbwwL&N aLL -xԏ?NEs6$墽ۋ/B5o; t/-!1g`~pB*xk30 ˠaPB vh셿&)wV[MŽn[\{;cvn׋}|cc^e%ؑ=9f r>n\44h{Z̕1LvYfMskSi#5Ytnu)/w!䠿&%א„'Vҭ+~j5~4bW&c͓'ߪljdx\P쿶:e|NPk2U|ei.rrƜ)֞po1ߣ$4>9ebz;}r,dY 1:Au SuhE|ᔭ9)JK& 23&""n3\cGp_ O\]z,,SD7t6?d/xvXf;7aT;,CYN>wZBxwػe׉c'-J^gE`)_~`^c֟$ƘSg4Gg׌z_a|ԓqt#tU|\~z~$%ؒF 46!247|jkL UD$4󩣰i1RQ',iSVa@WfRnq X-sj"}zPm}6K3a8J\HcTp9̌Qju.צgh^#w k@րYZ†QdwD;ɭ'@ ǻ]50Q#[K ;8~j?1dH=!â?A(ڏ^'5"Å`m~XzS ?`RRG](7dp 4AJ,ME*#~xj56VX38!c0}ᘀVPiq"S@G~u3bayq8Ιkn-Sb] lUjpKK`%А߁OG25z!:П—懛j35cPn'ZD C/! /c(,Kʹu4b,*Q0`:BV_kWзv}y5 k@5P䛶%cJ5p5@?u`Q3&'4aYy!0 h ]C$H||r7?sdGӴjn(!!y!0,gWJ|M" Z& "#I/N3jĒ1aoIthJN (FTsnqI=ӱfB;9F7ZUةZJa㠚 8؟vAD~Lbwl,Ę#9_;6FP1rZwaI͌ ;ʄ\Ad |jDAbq=)PF cDJuэ, OG)88e%^"^3+ן8!m}ls a)W`i(ݭ4F%+hh7QFKy|~p"d !fgYd [ p⪣&o2.Zfm;Ce#6lʔ)2vR7P,2àƌ bi.>~Iat 19G(lgYjxOy-rM 0tƾjτ Fk%V;|}&YleDGB-.i'5LhG.by5o#86nމNu=܂ (mݽl9"#N rpũm|wh+'F>2 O[XJR'{lGoNH< ?TTEI8Ax#v(:Fw5 jl: @U^#B95onfX5>.rWe \vm hߕ:*ˬ5 +RIÆM2%WxU ,!EɞSNCE]mق~ZfR?w'w漋Z tɃ܍n_¬.>D U ~Sg?qT`W"zF5h~XK&P)Kqˆ!*xP [} tvEwr){ҿ۝Ty^6G #8.S0%]prOXx"kxF~pR7P53d38|J&Oy oh,یo`JỎ _ kvubyid X5`Ŏ<"G ;IbBd4@#=׻ԩ|N;(N vMNm&JHFgq#7~O?]???UO;t$I <ߧ_\Ã4Ho56TR#W)&%GJ hk(/8;i.5 \i$rm}.YpĘ vjeϢ_yTPCyRffLM pc_>G׼-7Oœ"C1̘6Jˇ.HT2"kԶq,CAhU<ݣޠ _$C5 kij߰T$F;<=_M:Xf&|&R*/N3C9sQV)=;ߑ#?aDbP23h&vf(ppELQ**QQ `^s7b5$㏝/ptN&'xW/`p1 TdG#$ \8$=jaNazd:w@VP xlf33=Xk$z _vHs#3Bsۢco }3{CP*;[rLoF2՞vYC aG(У@?tЩҲHP; mWyRLenuD\ tފ).رcƍ蘖)h#s&Nm-nuzLtHV/>F3bw#n=upX=?z&wCyf4cbQ3SG#c,i_RN3>>{]wq79BgQ10Ʊ<ↄl!%JӪQ<褖D'Ga`8cc>Q3pOgmSr@tF>: 2T OTO!G4ti1ꕈ* `4*NYd 5 kN@RtFO68I&H  _x06Z|pľ4c_&4d_ôI~j~)\|F&^dPI[;K*SF_/8mOX.qxg Eg,1~*Հ1\<q؈ رY9&)6*WWWֳ\BNnzWOpFMfvPC@pu{$ ųJAǎY;3N#+T^)C5+<|%cU}܍%t"2emET\]O'%s?~e 5PJhv5ph >5׮9D: 5a~!F6fQ͆ I^K9-:pXR-w9ev[u΀N&oɌigę(lɢIie#& ONJ֎ ,E(]E›܍z(c(Ia(+p),0hX5c* ţmwT8X|E١ЌNX'2cj:fM~2h'BAp תX<;%KDm0L (#pw$yϓn햻5 k@րJ%ؑSe22x<4!O}4!ELk^txcT.dFx^ˈ|,Xlwy;1M?5x G֚gx ev:㼄@=6cZ 8`ܐu9 hc h ͢tT!B|s."oZ]?k4P p$^s/5r;T 9 m̌bEm1.-DtctRϖ&D HIHXB eQe?YcUYd ܙǢzE,ZY>50} %$ѐŠ☝mj>[('OOT&#r*ULӣQ!PfZ>\'OGVIͥ)VÉ477xi^ ZtvΡ GeaVf#,;àQT)'Df)ѧ8 N!~)fy:j]vtm`QKhי^6ZjzVQqm* ["S0:z4ۺhȒQ.AM8f(G0"'$k@րY@Exҕe-cʫUny50ᓅXLr|3T#qAvF$n6 ,"Gh۞wA~ᝋ<נ~눜4:1"vq'f1Ș9% p1{p̯8F-)z3t0٤ň qK f۵LiIC07vPW(a[EJ4 ;:}K(oz!6"KR^ q ~FK}F>F,x<c0?pd 5p+4PZ9z`;$x+#!k4| >90-Wʇ؉x,3oxgAQk;(m@/(3*NlĈ_hkM j(JIb ۪Mz|$o@z4>lb:KAlLt/[&ƌ 7~ #eEPG(-Tu# e-3q/1?)1^GC`&z *%Oط"V0= 'D`>Ij,TJ=o>OÁgDeW5pK4O d(y;@t 2bB }2pnA8z)RZiK恨[/7I+T[.:/[U,i)Qzo{A+~fԭ[of:x D2$-R HLH>GJSRRe5V('s< EeJ"sD&S8E^"9F ˎfNۓp}!Lœբ53vm,l(7 > ߈

5'yl7-\5h.{RPT&}}ZQ׹aR{xnzF0fhfPsE͘`sř10BEOdjZTS}'$*?(2cT_^ ;ۺ|fL^1Gp$OHYjJI#,00=:V FF7e[1~%UljwA)Yn0(kԀDXbQZ.,d~(ԷEi; >Uzl5` rh"#&+3c}C0#JMwÇVi*B(0zo"r8˻I}ON-\i}/gΜy>dF];r&]bia|2l&jYYY{ "2u\Qf c}S^?Ascόqc n:i#le$!L0 5yt}Z6i릮a`s=~>4 )F7N؞ڳu'5wJkgq/u,-(]w+h5}׸`-O<1uԘ+drFF ͛7}D2 4=i'_A 3NLRRfRWflT(Ӡ՜LhIZg:iΎBOnFF8|Lhd] ꐾ%A$ _up =2”j֌1@U̹ch9Vq@ZZ(崕8<ꏌ\$t/sKt CMW1>mwl5 ꯠ d0>myPYfΜ9q+̆{~6͚Jr@iUx_N@? m'Y|}W VZ:*"[L>/]uJmF ˝qgnzًZA7b)SH6I3bHbM6]Y2vB٨Qsj\W8!OwW lIGgL"w0#; ʚC2>KGKdghv{ZuEݥfV1 @W5 'Si G{r3'9M֋ GtCP\ cŋ;uT a C%3ZQc ݋?`s!L޼dDB\ vGm{p2⥇n[/OB;N^j#"LY  ?ų%p)ɣ]aG=˴movpE^@FD͒_iʊy\v,ʕÚ3,H^lYײ !_ێl ?!5LZ=DN>^*sIhJڽn}lyi̿. n+ ;>$՘?B񻫫!%E |rҊ4m 7+O'x JF؂ecH|*2rusckYץ&`)Slrd7/—5@7N8)VkF`VM<+pGEƎ f ٸmYQfPx\ D&6׏>QOxPPge4 8dޗ ҌQ|VP#aKTv81;Qcuy,~-ɉ3_Ww+ШQ#;B]gJ "9F AeD[l/x~ͪ\T(y[x`^ܠUR=N]~vh|H1rQoe5lgiD|V~X2c`_!Iq)BJ5mڴ-[\Yrnr5 DAWbwt.$"ba >_pî0Cțۦ>ٹ3shbN#,)qJ1A]hٻDbIU͔jRQi-g )[b>5kse5Ns޽]V5"WfKY9+Cq8);sjW^P={2C&. +6"#jOۈEGDcUT{K1(O7EO7q$}{vn>{kUMxy8:tȑ#]LZ=DAї t9^ 3-H-ɫ?BGd Ef̃zݻ8rn,Hm&(x{V07/L X7`jK q n3|:c OY@9 ;2Zf k! 2+fYW]&7ot8tfBg:(?W?lPèhw1̼kRR# OEi;A6E' =شiڵkWVՕ_ToH:GZvʺKnҫIw3WCn gϥ>N]>tɖ)͡ވC=tv=#7!  Жsmz돯wT;KtzšYo#Y.csg=WS(fQ wh`cZB=5kQ_Q# p[84>_ŎCX;Aqg($,Mh/IYo]:UZ #AtS3=Cb_GȘ&>zu매t3g,=h^ ׇ͍>Tq9^,uSJbtrDgՑ =_̘OQlTi?^ r7GLGt^zy$5 k@iRJQ:dEE6r mH*YVpW4o clkK6Ȟ).hvXh`88ңM6zq6*R;)0O E8b*k5S;;e>{ր;zCu1̌Y>VgƐ1ǣ wAJ -0M}Z<S\|q۸ g2\@4M"k@րY*g-Eklw;@p|2F+(\-v5UF|IIP=|IQ`\Ӓ.XlFsIhXڙӽ.aq)&䛳g+̵>"puw?w""%(.dt'ᤦ_ ]^kq0 ~8pL' PktΙ2 k@ր }HGg}#U.oh Î4Rcw"J!&-)qP(!4HN&\Ãh9g Ԥ)vhVq^wꌭSnݺkԵ0!~̇j% ^qӧn'6Ujy?7ѷҳ1{_(̘]JAtIG FV@4t6Aϖ(DاeN絞, >C\<*)k@րc92ʬ'OJQIdT ðGS Ut qS@keW5.jdk֬l䧦@Rtj:hmWpЮ#7h֬M^^"qi.uc d }B㏏;Zcmgv.ѻwhڢEdƄ q4=,xl%&L0Ɗ Ma_LO@L~VxISV$|+?Nd 5 kXWF!xIzshh%sBN!I4:J 48-` AAVp/a H5VD94;K!OIs.Rg$Qɓ45jMt7ܟ%>>hլяgy.e3c⓰pܙf] nQxKi1s7j&V33e% 豈1Dԗ*tw!/DրYQ%y֒RZIexJ/4@u׏z+A`CwiP+zz%a# Õʨ jHCc"̈C7c~ +^5H1 ko䮶O}çiY"J>D݇׮樈E1GWZZh?y'K -S*P> nD\lqJ]P=DGT<zƢX35 k@րU"Z*fMԘgvR̢$L Rd(|ANddժut&>}2MfƈbM8|=^(UUb"pREh30-\<#a觲:5 k@]ԍvQB@9Kj5ʑzj z+L>DLyR s=6o33:{P2[FAX tO^9泳 J?[9a"&,^(9_1S1JejDĹצ2ff 1ndU"""–Z~ #.NGhc}"jRwFn^ÈwM&k@րY7PYEjZ2>>kD63kzZE`JxW>LQMscEkhufB"#dbp1O^xSa,Ɍ% N5]`Ȍ772gH+2cOͬj[ A1:DJA)03&WdƔ?8r4Mn< Y6WNde5`'9tD=Zfd~k H xdY^cY؏6"mh2!** .,1[|.hPd"]سNfnx.bCaS۶axuhB?<=c`B}%܏ptK1/VόILÜ7fWT3&4"1e0 C4=J͊Ȳ_< pH'sȧKK@rҫW޽{1/׍OG4Paj;~C"EVǰ LJd/A~~G9grǫvT)(d]vci~(SҶ$$֌uc{WGlOG``~RRQfLͲ1V }xU0v v!i᭶38s'Uy-d X+݊Z-\utrs/i(ɳ.l›6ܱIju3lcIqC`S٤73-Nr͉9 jA&Pࣀ`)6]ؤa v-'|nZӢᆱկȌԌQm.a&Kf0cp̘X n!u/O!f/hY'; zʿzyXYE=Meu\]ee#۫Z$e8UoQeX >'[r c;;?!dQ(x hn.Jg=kۀVcWn |. Q6ϻ8,/TQlƈ`dF0;)&Ϭ)]49Pט Z&4D;}IHtyb?)JNm}9CO5&Sׯa{7Rf YxÂ1ЄH}1,S5:89mDhc nehstr?>{r׶Wʫݑ+18v6]4AV:Rɯf?Qw;iT<\ct~[LEĭ@y֬&#XN{{[[Oߵb!E3gb v C8+,.(¦=Krg1XJt0/ZWU5]Sj>ѦT4*과+Lqxg Eƨ ($N./M5`a_>a2 5X5@A&x48Z`ﴂ.vޣQo|̌gzX3FYԌar၊2c"Xfƈ2UMߴi4 bqFbw}m{ŭr3ݪUMڦ!2{ bqўo2_%(}#[:W-I/Z$K(Ez]UbF`3P6l9wnxdet[Th2-E jGp*ح7h6pUZ=9tF+aH@K[nrei zb:bp0.'W꺰Ӣ]]f>Y4*과[u\|\SF 'P;;R1I'g3X"ǨC9)ŁJ9x ✂|@t117G?uXT[̠̌r/+DpQ՛RM2cߋŘF!7#>/Ifc Ǐ\) Fׂ!S񸔩9hQ+n3~%Qʌ&BSf03&d8 DcyQecC#Su6Nm61ϋ% r♊K99}]k+nU&\:^4*UKbkHrOUAߢG62j,;]y=\͛:/eF- B.whQT0Pi&r7kQ< g~]=L)~G顴FG;B͌h=ox&Vge<]^wuVa4\}np!+s*F^4_LY/L3tb#Uy?E5VSEԏN5 sNfa3i̘0y33chdfL h/Tʌ]83f R24Up Ը%'ɺ4`fLDA!x#ss+^Q{s*5@Rmmg,V,C+AćFjޕ;Q,Ri_8$YUYp\~5Ŋ/.v[}z Xᣰ/{ lLSy p3^%$ϥLxѬ 2F0cYΓ}A]gVS|EӨ0;ifڏ-,.EXz,6PSC!,>615gvj; nG]u2#}WG̬O̘ +VHlC7aSAf(98b^]jBL'MԌٚ1vFǮ&|JJ!7T^amWqeصM.݊iHX9x(M|l0o5Y,~kٺ|uh5\--,,Nk,'"%HH(޺i1WF(|5Xb3IRP^Upd>e,"EHXUiprT8[?,?vS- :1G|4P>{mhV8%#yaGo?5oôk8U C̘Z0E "]UǠkQ_YO`TlTomW]>źM6*]U"\ q.ۇ;VaݳInNmE!jQ-06>WWs[I HwMW\իU)2=k]]#7n Tg-z-3L{D=~XV3fJ)/ȕI88ڐ9Re]Nv>i|tSd(iT͸;wx> bZSvʌFI8 ي`$2QUx"C-~Sr< "q MKl*03&{QA~b+┦gsdam1ÇC1}]A@m۹l6{_~SWӊpؖ&⯁Ҋ9sĉp3޵ȩe\᫓+|lae6 Q\7v~Kt[ v'}o_ |czHHȿo =ʓ5PT9-3vxAGbQ4$̵ħ6d<4hJ,m.h)OfƐ;I3(¾ Wp+ё)%Gv1ÈضD9Z~o_ Э\Ugv3U8醑;P^3vf1gĎEq3ХȝW5Pu=!p(J(;Ũ3-< =>`Fc@PRU"ȳ ac:gJuا8.}΂B m_Ejv 8ϐMp V2LOjũ,&v hw]W%k@րYTC+Yn[z[n 0zakZg8^UvҺրR͘.,F#HūRPQ4N : wc0"_='B5j@ 0e"*(*בJݣ2N6"!oF~QB|Ael=rSA^ˑYG¬m^rMi\u9p粪zl$U(}HL1TmDf m]o7CJѦ0"hsMGm3nYoG {{Յ͊_Ǻ*C^f^Ke Ixk'(K8YwJ+: bW)*UTa[s#9]30Æ :lg.-}H׈ )W]uM^XҀ.;aV-Qz'B?~DB[fY2c/W^TY%Fa })/L)V'8OQ;ڲE Dh-PnƢB-k^ZvH֒m宽4PYWzŊVEYR˖!cS>TؠZRl{t Dh-*.\n=}t bW]uM^تqcwlHѵMtm/+,.;bE̸ DAI(SLaf SYfc(.6QY{EYPvEKӴ 3vцm-MZ/PfűCvpU9Y-z"O'dUWQvRaY:/lTd,&,ջvz%#[HW.Q>DJN #qD&'ľPʄpBdv$y[K;a7gX55n ʊu%r`jWo\!(`Z5bU$^ UF@k^j>j n[j*>Fw~)&;w^/QEzBpm 0=ҟأGhdvAHqx LB Lؿ0` 6cQp[h֝QmJKMmwBl.㇧+_vg'}`ћ;Gh9ieYq®уj4\>%"/n`an|];$avl A%v-;U@ս(rIvC9A14묽 G#, h2o%Ri7¿\ZH,Š4IبQp0n> Ys; ;>j5qil˧SxZ̘U ߘSM,? ^xڤ~/iv[U٭ >H n)/[*m,tM@[H-tcN|M:QHPVV65{8]M^]]MEB˧lS͙YLؿiKXD}CZ#-*=uQBW?e}SRg//KNUG:i__\~x |eCW;{hzʮ;=; zz,+4w7qߤ ݨh1I}BZ7 gŞ;wc[0|X!3Dϳzg_b%+,,d;ܹsZvy睷'޵ T ,m<O" SwdKRDMؿUVXZ Mi_" C,VŪ.nKࡖBǝOjy;~xUG;؏;~F$s; νʉt '@<٤GT8[qOi4JAm=! f@Jo7奷1Wgo'v!\&@2Msy74~~~R =j&ƀ)\g2k͔ѣ]Y0HaU W(ƴIq۞lJNj0[ٕlʘ߰{0vdFQC%5O|Wl'_RoFze6{vO#wh/sd{h"#<ge!W7ǹhOicjimL Ad 3.)ZǬUoq޼y^Y yAM{߲._5cYg5xPlO{Zv&r9 t;-r[a"5t//WM#`1( A呡b]d] (zc֢ Ҙ?YR/:[ue5-;goneCtDa15>ˎg 7q)%g_3` l.+vX{% pB|OjgAݙ1t` Q-I>HMT?W}ÞxĶ/^<(d>;(fE‡m]>nr -ՑB0Ӛ N(tAƩg5\MK5{J~U_gMa?dRϰؤ1l˃ jU4o;[Dڝp0Ci@ Ϻ;_r)W7n| 5^PI<6 EDR\k[kjx`2rP"`0*kG)j}3F\/']QysCĆ}r[3D.ZqD &BsrGu#99Fz<`n`$h*Ncg5gz8v0Mgْn2r~1-1sq(֩]2-). ǧ;m^<.>,gz~œ[}K/M)f %e=$ױd(Qj~y^s)GT2sH ϋ\"E֍QJ{jnJ7ikVw UX}!Q=v$`j5{JjRl&9)kyN )ȃO+&Sy5҄< T>ۗvl,hzD[E;Bʮϲڶï~=ًz/](w;qì)ϋ>19k^¦nh_M[ʏաmafKҩ\B|y[IoOz(7%?U' mu0P<}*BtU*/SDY{4;/%#R׬1W PO2cjֵ7+i2)ROXy &OUJsq%OĒƳg)U7ujxVj7NVm#=Zm17V>bUG Eؖ-J%og5]\#I_dsOL 8GF^p j.P|S'SxjPa\(z۶Ž`bCBh6l|]dBsWOZy\G [V6%mݾQ4P\;›džul2lMNe /17tIOZ\G/~A.7+Ko; S0o`b5؋'C!V0ZLH:F -&>lW=6Y9T҂mQ(,9:‡" O1m ֕׽_7M_ SwXXQXjQ5B 6Z".9˪r&]SWjQoC-ܯ32[?1jkv~&f?,gbΣLeK1`J~쉫X0'8nI5ed1?ާ͵lOFTŷԖ. Jn{O$|n8 V|{r,r0PNfD1a[h:޾`v|WǺsX6Pm7=i@ʶo,EneoY\M>Cim[P j۝)hVyy8ҶSKIGojT^ H#Mvu8"<Ŗ|:lF5(Ʃ=J"l4tey7}[y {jfrʖB5Įxs|l9>M c!yy3-p1͂,SVOP5_-?30#ȬfӠgX<,d!uZ}U^L-6ijH4 Iq/aǎqFw9 x뭷͛G7E믧?#Gj/ noo;d*(K`pt۸ "ﶰfaڿd)y q6T?3/\B}w}8_/];N#zt4KX_دQXi*w/x/OE\`naa; ?$"R3v{L.aw.~8@ `fb%p(cݾ(p!W%Q= IQd1Zs#Yi,,8N,6nfK6:-y'tO0uS7]yS B h#o3vcx`  Hq T*No0W;uK; ҹM"]X~-dKj2=f @@ s wL欵tSsgVCZ^>ffL̠klZbrS--BBOзm73+8ԲZ&8T$l%{4汩o'D{gn}GZd.4Rh[[źoxU_ =Z{p4(TC_v(3 eY8ZieL"U`eXL^%y;NoY*PO:VϬ叆 M`^7zjk5c β&8/:E(lB_SQe8\`ecsb4ִF7х@@/A<6G8߸\1dfOrΕHzGp*@TYB;`m뼬X-p4I*ltxr@q$"-4x xKW@Oo@?hS_&uJ$}qb*g'}9u4QzFBBNqrlN%ED ]CL&,n0Jt!=ӝ"e K-N6{Sd2d #uqL7Zd`%gӡpx|s *{hpP4cH-lXPJN ilq 4M`fb  Qmx-YL׼yXt"q\G>S4-5v{yyyӧOܹi@L%.D$ ?p5--﹅γ~wI12i]wݺu;=m~@mj9)U.ڄ=!YXyJej&9ijֲDK#Q`M@oS&R#FGx)qG-iLcܽ{eZZZ1OJp0ATĈa,4s=oÆf eϻ_Vbi PZ3QKl4{l[n|0C@F&$FpIp1âl>c[y#!c&7V4i7  )J)kePW\1bĈݻ=/@(F5qgyƨH\bvc;*D9 +[2]DS3[&/g5ȣƣoy,У.6v ?VRCf|9U9L@Ms-* D^p@iOݺRyLq kQFyС#Gxۉ'K@(YgE1ĒQ&>;R4r||-/ө~ͩ6"7;VVV>:5 FЧOnJg* fw,Q;-wL1ODX{-e,!KV=%J,9W&+IԹ,sDI   ";f(AXH:IA@@@N@~$Ef<-5=Ne$5)"et~i#rD;0fV  !@N_aeN.T!9?-LsӾ*¬txGƬ4B8"*4dUr} R *}5.)F865UjC\^ȳz67iՕ5U"u\)=k'a(@@PSY ߐe2ӸcXQX_̃kuʙ|H;A5W1~n4WUIi˶LDa3*u$qt'pȄ{Fڔ*da1~8$L&W_9ܼ-ME -%{EkkpoP򍚢'Jdˉ6Da32ZvJUQ`>ʜCy"wHW(@@"pQJx;%dmVI PY& ɜwu+Gaz"s@@@ ·ìXD3 -/jlhh6QL>c s]+M/ ,'gb WPcH#-!D,X(X_*Le2e Cb'2g `rM6%%93[BJܑP4rM6%'_3TTtfit):#e)L;&G%'Y7-VV'ub 5 Bj5JNc^l,ypR\!&hQ'/iNQH 07߼2tn7oƍC[$v o߾]KYYY裏[u׮]Æ A/@A0o*@i&F+fQ߉|,T^rOx_V?]8s Ow#3ӧbZ&'*{~ уC |2j4O d il,!OL8qԨQ]pmإKݻoll,++%1K?h&p֭[O8cǎM4I}@#kkkuYZ~oj:AT)Lg :V&v !AZZZǍ׻woZi&ZF2'z̈́x In|g9B2Fm9iE_otE cket#-~Wmgu悌 *7JW׮] ޶mۨ3&@  |GCEYK{g!@_sss.Zt K/ L!( D|Gb).K @  n4ّEGs D   4&@i)444lٲe]&jHr<l$167͛n)??ԩVO~A@F@;bC)iJ`Ĉ4   4F    uiu'm7wW_}=zVfQ4@@ */h%d٣uqj*]:j~ q,AtXBFZQвϟeݻiiBRPEUۏH?1S HL>#Ո=5YAlT $\%@(4S.tߡ}+  za׽@瀛o* 4,HH&D&h*XIq¤;eO7' ;z`];#D}Gm}h][6~u/1J(Op85EДOW h*."$h"8~sH/8>1`AfCC&4vןI^M(@@@ 1Ǒ"@&-bWHbCZS!5B˼ДS Jy-4թS'ZyMz)"^Ⱥ<0! FD\Fگ .=vSA}g@@EE:,Z:c u@dTY;>rz;P8A@8cƌ=ze]v._hQF0%l64ֺ|o]oz99㖷όe!AJMAS$zcw vrʐ>%iw2<%@q,++:u5\so}_9tijƏiUA[ZET17VYG\:{l]fXELcx jh_ѵivNuu3VE?%c4uرy]{&L ."8ME_Ⱦ\fQ;:qga՛gLH2L:v}qաcdTHGM(jh*MVxʖ9=+P}JAAy5qʌ}dFMxD=*n.6?!C`|9iZ[iiG_DZ3 ##u:XKWK&70{~SFB ,ӴI߽䲟<\~p=bopZ$ݻHnW_;W_!9H,wpiFpꊫjy[GuG5n0Y4{H+kʜ!k񘬳߷p@i_ǎKƣ9,]7U^~뭷~|߿酈A@@O>ӥi r=_Q_|{?R7ƬG}5?#FL\adΝ;|s~c.o :GƬeqѢET1, m&qT<}9ߚ4{wŁ@B(mu;w5~_׻;2wo];bLBʀĘ%BSTPENSVqGZ3{%g|[A9}Hi'7u׮];PA#<B (rw$b>^5ڏ>kwۖ"0`гFTH:6f=z|$-ؓJZZ@SiDY@ !أ'!H    YMdgy`igyTXNjGRДK`/r) x2ZݣseTjK% |V&40;Wwtv:N/`Aރa!T DBBS|Ǡ( rN1j̚dʑԅC    G@;f^ " QCO '@,$@GFb1kq&! MQIdr@S@v Ҕc$s޽[Q$J}g{㝳gHGL&h&'Ү2kOpӘVv5UB MHGDӏlOYc;h@duV: JxS!~$ca{ri B&~岂"S5:3ɃWxGMj?*SbT`UyQJ! uJcb6_MR-P" bXu4 gy(M>,<Ԕ*rK}|4'uw :g3wn%{iLl/_m*P+ hlW-"'Mx㮳)j? FhZGԝƨ:}*JSO+fKS]15VV.b6Jʚ_P %@ʀЯ NK+d]2)|ˊ]E^~₫&7&6|(K!M?nR.xogegCNՔQ;K)٩S]vֵ{n}N8o>߯w^)DmaV6X.*k*D0R EG"H^X٤K"D[PF@tуB8kΝhݨ6"يک%'H7g3svt_7'<.cǃ&CS7N? d Zt>!.vJ6lؓO>9}tzv*3t萳@Mw4 :J"DFycYmiR;[Fo+kK860# @#Ʃ]_+lgCi    +fϮZdy?/{{Udųe*^#3|TQ* B6I*'V&P2[VKJ%lˡdyx55z /[cNJ1g=xȐd/1fC6VD"m C~/&F 6ovRO.]XQg\P`Db:Z  l:I'* !eyQTR|:-!] ^4ch;^< ke,Y]+sf:ֵU0?(Zg$u$wm2՛ u~=@@@ L0{ O7yF>6+@{0N4wye}u#2dh>ZgMK\Gdղ(4ӧ   fǎ;rG:/~Ş?b>쌝fՠz}tcl I&4j"!)h*("'TP49C@V$6m=ܳqFk)I#hKK Nhcm` se;NGu+éIhdGʘtuee# 5_M4M@P>1(ʂpwԯvi:֢/  e0QX+s"@@@@>\_tq,HcJ)JWCSiPTB8; B&qG)V)Gi\p`$InMIɲ)'iY4&]QT1Vq#<1    (Ŝ~&Bih5Xʐ( Xs?@@@@@2f=F@A1PKZ+]R?R?3&w &4w/*:|[j@)Ic XSa:0$d~d)(_~ .єt+b]C9WwE,;=Gv<6Q%RG̞] =['u0$Y"h*Xz5g-4gO<&d3~'ON#ongMD{3jj8۷&/gZMh=ؿEdߑ>3&%N 5qrRe575LF\ӳէ$l&1[\ \ﳨ O{4/YDM7m4ڣ:GOVJ"ASAQ64 M 6Br@=z@@@@lڣf$# -28.]įt;Nvϼ&E nl %lIh,P̓J)'W)q W_}u_ǥߏctߤUakdLj=tCny]ܭ^-g^^6jC5p}Crp@~C{Vǝ:vܩK={իW>'O4ȑ#y}NO NIijzV>?掝R֛Tǹ٥BdMqcZ]MQ|`Oʙj%GN ;b L*)yv愦|mT)4uOzg~s/~au u/݆7lʫ_+ rDصس]4;;eE%%9fQїUឲm|)jc=eGf[Mp՗fv"d\%5:j?PߩHr)iFMrRbr"rvMyf O ?7tք5AϞv1WMO1 t\z޸hī.xeMq8Zѐ"{.x+ ~̫BzF-ع"OS̢kઉy놟)}}PSlpItBUG4dGG}GGq9|dG'ݓer%;y}HC2,]gS }pfG˟Q{B|61#h* mjB#o6Ø86j@X+dbc̎^)m+6?~'S];XNx;wxD:?0R"Q:֨3cℲ&@1?6PvM% ^Fu,pJǽi31e{uˆ%Ə$dBpw :ky2 _iuiLPvߙEք`wMA)XEh 4)nMd4YJ%Ѡ;QC0T4cGДV2@ \VȰ+d"iVԾ3QCO 0 ##LoٲeҥjAEаVN-<8) pvr@ HHh*@6lݻ;wܵkHH%''UBuС?7̢}~izA939٨/__4naa!|G3<sAQ04M@P>;IQҕH%g>3Xtaw9HZqДkh.rk}G>7nT'9'xb(9rdyyW_}ZkP08I |G:F ƚPך( ;iӦs9gر%%%2^wu/( pwtUz   ߑAI_qV@ \:*tD u+ ΠiJڸ`>묳8E4@*MԹzҤIX"^Ԃ ;fT HGZ1Udf˾v @2)D1ȓ6AuXgUĚPǑT 4XNjGRtAG˨%IP,@!( N4u\)<` XzAz_~6H\ ︔Εy+#Qʸ;wWzdCMq)!4-ؑCiHSw֭}yRiqon_7h}G>$qGq^yn4e@z $};Y߱f|aePV8P{>޸q56832  X~\Ȗ9]B#bأV  %@~d״hoOZ-[.]J5qG?@ܸccHQ$wq٨|WKh0`!ci(@@bw$/q&[)97iG|G r M;jʈc5_wrCA@b;N6Fy] 5],3|GZw__>e,ΖQg.YL򏸃 @@@%4WYڵbqmmQ/*Wmab`yO~1Hch)@ (KU+URiMu)'>WוՊ3 `:>j]W65U*KAxv*jԛ*FD:/6D9cVdLCbO} ~;v.T9S\-JhO]ze'SLHN(,kJ6ZI-ZR^D EAf s皈$ /|_C3 5zj) @@@h7lٲeٲeDC"rUWy6lcx}meEu۫F"*4Ȝ-CJ""5zVN25#[X5WeN t (>w>6A1w)r6JH.)1%;6!7)cG= @@Sv޾=U *M]|eK19߱xrY2eccfxI[v>_66GħBHHʬHf4hiH   04^%bt^iX{gGRNs93[BEJU<9&T|_E>5Y'mLi1 B   I@(Ƭ24nhp`u*?$$6@31 U~ezFZYw( ŏFQ%A&1k}sC>2 $;tQ3$@@@24\*ȣ3h'?g32?2 ߟz@-߱Ѻh;sI  ^3c"M޽[KQqܷoM |ǥ<^\~q#|Gl @@ ;)E⳦ʇؓ*t:=U7"h-Rd},;3 s"ʈyEAn(dp?ϕq(@@@@ S    "[8w    w̡$}G3#rܮB=C3B XWv |r!@d|*cqusI+ &Y ʬ Kt]If?%BgqBՎt329CJzάg&k!E-0 }cŤ՘Aɯqi]u<#aL1-0'Q| 9¤4O1]y:DTT)몔9-jqiާ/TcI9߲eҥKE}һ{ƍ6,IvVHMRVi Ì[`i9IDAT4}w}8_/ ck1:40K.#gWۿxѼBw'J?3 3 W2c #X@2b̚@L CNjŦP;@dc    ;fFp;ґgJF)    &g4X+|ǎVD    ((Ƭ;!q@4yǪ*~cc8@#eg*;iȇ}Ӟ\v?;dIO9qaig9[PCp,!c񰿣6 ;6L]|eK,}_9RTQ7 /tuЀO>k偁z:^/X# :,Gp :j{2;1d`ޅ :H |GQ}GWwz@9];B%t>.Y;5%D`<ڮ L"ncn>EFD_`fرa>5OΌKpD\-辑{p2|G ) -.;$|Lbhmَ [mš|~=zߑa7Ɉ     ]wt|G9f|^^EdMwcE^6JS[i'n]oRTu89ET'Zz W*&kQh [j̑D4tS!Ld}qS(ghqb1t݄D}pˆ|ŁN"@ xQ{̺T~N,-k(.='uRudtZ"z$4C䒮&:,k䲦 ܸJ%mQR*NzlOZ-:a`&Di3n;Q4L*9=Np$m|H2C[Vyjz*/S÷̬ Xbq.@r;2&=(Qu~rGx)j>X0B፾*RErZ92۶Lவ|&>Ɲ6.DIb! 9NgBMp#َi;Y]!1M#ء3>bդU fzH+#Bv'*UcKٌxiD-'>zڏrscmRr0~ƒrE X4l-\w"MI#qkd n;f<@NZm.LSHv~AHظ6,bo> 6=#ji׈Jxl!i#AL)ҙڕnM%h>&{h?)øl'~"-6-f60XC t=ue.{4ȿƽHibPT%$iIeg8 L=SPG-x 5!>7&LԮl[J2@y)aAs:1cP&+Eť#{b ,PKf;|zͰpFff5_n,ǒd(jRMūZL&9fև(#9+w[^f"7]ƣW][bfj Ŏ,wg scgn>v%6|F qG_[LHLĐho1qo)2_?2#*X,HRb&MZy;ŢcdW3.ߪ ¯FiEDx,t`jW J9њ3%}EA=+~I#4Os5Z?ke`r     p~4ʑ@@@@t;[]@@@D }&mZ}AR~[?={c^^!O|IX# :,Gp :jۈR~ǏOu@nnnnݾu~uXg8Y/S|bQSH5 v$Nr@ tKV&    .._#V3~|MĂ@NlӪU>s$ |7xcE^^EcDfz[+׭i& D ˠFQ[3nyk|j9I$OlN5#-# [/ᖢ)i]>N`YdD+j-\-X`KH u|cqu]Y2%4V32TPR6#$4A\.JAқ|*mM[wpN;YsR9CRM ({v&\['9h#IDҴ%mƓ_ް'rՕ1V6 I1Ct1zlQCE\UdzR]:WJGof7 IRKHv8~& T9SWTYcJ w7Ϙ"^f#BcW1M庽K>1J:AkWo1WY짪MH_V1fpի`cʍSnpCYSwD4XQjV ԕNڒ R 9CDIC5؞8h&5Ԅ%i`ZM,S/ulh%hveCFHqUܑ7xV\V,\՘#Uֺ}5Bqs%@ں=zzUc.V'V>džFFOG 92ͬ[!wR_@9(9"kxbگ>-!)k 7+- 61|eU2$U\gO9=(5&+UM֖ +$(ݶcÒG)*.S%bC!Gl b<|V$G'5sޤ WzBZ(Ycdy䮣H%5Y}$Ǒܿ?ET ZRڣ~;_-32j5 J:R--шf"aʼnSfhp?'KuQx7WЄGYNLX/"wdu9@).<lQ]G$MH@lV[J&v|hP`Ó"GcO2lANT㮤Z#O['V%l|$-F;S# f Q[+ZM!ڛG i_=z eQkD|#'9BYqM hUX I6w,2*MLSeWkkV%[jFvfQB%.5vJBym˵+bh>-oH w57ƒ.eS){v_\5?PB²!Dt#K,Q?6mw߽qFkf|?4lp{{E2;i/ =5jzOr7W뮏 c4d9[Vk'QDZ>Ly+t rף@t6\z8~Vcx-fFsJ(vlE=QBBVyYMQ@U2Am (֔M?fC`H F8]sDt8ح[L)!ՐHM R& ?m(Q@O>.O*&q\w{PE%'NC(. ՐHM@ hG>q˖-K.U\ZZZYY( v$㇎a܎.]iɑ08(3K#ejR髿Ǎ4R&:E&wuvaSJA9pjz'KhVf˖*wəZZJke|;yA@@ iFpw\ڧp4ywϕQ |(c:&ʹ2, gfn@@@M W+h͏&hBxp8ZF]HybxNFY    t; Hcf ۲yssԩ*+qxѧz|6gJY)O޹sgq@@:kAP8ZmG.ZDw5X[[{W9碦";Sn:rtJ9  nU})H{Jqǩ^ ēOuӿd#F:t^HMaÆtOfۭM8Sˇͼv;ׯyѢi:][n1*,ɓ8v?H~ynD(Bᣊ­pQQxHK&@JU̪L*@NI"0KKET)J{\ ųUcԌ*I=B>̣j\[Nh>/&y\L#+*Xe9yXSvĸt}efcZ'qI8X&3̌ɳAyrV+ۢˑDk}a5F~믿>*'bq c OK''|4*. vwׯ_ss… U]w_}UGY*4@@ wrI]s;+%@@@@?dѣϱǏ;! OȾQ=}"'ǪLrKe󟭥?M$   $;@=d CXKyŋ.4YgݫW-[?nW3ϼ?Yb[h&}&9vL9~8Ƭat    udf8?ܗsi Pt\-鍾}1zD{^4k;Q#sʾcom?cLc1{-M3%K̙3'//СCišwgϞe˖{ヲENg1q7_vwzIm||g}ӞNf}yy} >i)'H}NރZR{Ї?C4s͕wƟ7YƬc,XC8p}PPϞ=Nj,hTZ~4!c ^1z݆K/#zt4A_0OۑђzojIw̥ituE&@!Aa "SZ6Yd:Cv[>O(;BEj7ș;wRh.0]) 0Ne pQRSv*f-_~̙3;;vLWZZRH.YNN) 1E Ndw |tGwY-# d D;Ӿ}~L2%cZKe>s۷oo喯ʘ!KR1Nԟ\V];T3&sJj\0XX٥#L^~*RW8Y)r&Gvs$fY;gV-V BNp@\N$8x|k_uC #E-8j9/=ܓ{jG4r|QSK D{=X:'`dlgu?͹l?w8q#隸2O7cLR.;OhM*^ttVivutl_,s &G{F翹-J)Z4hlNSO3у>SƴHٙ[[^Y*Yᄦ-ь}ѼC ^pg9r$s WLjiooꪫhocN>KTHyv ?RQH$.O lB߾u}Eױwޜtz߱+]/K>^ ԤLR ZdM0&~Ix /{bv<ڭ^~0BhI%%sdM{NE#*>a([3~2͵eg{рq3@$E~3R_rt$AK}Ͷ@|J2@Y _mmmf:?5FP+--=h.1k-F.OW+E &v8E\{o~۵k__k嵷M^x|Sitq&uɎv c.mp:OecJǩWM֨U7_{)WVemeMu:‰E \D?(mQ<iQ 1mEFFہ4f^ݦM&MD;lݺwO<ygDn݀uܠȥǩSRO?4.K3zIkXYOsE46Ϣ ]841L7gһng䢨m)YN@7Zy櫯+ljj"2UWU8~***҅vJohlȑ#F-бd=zVTT"¦:yA qN2CNs_h7F~qyݶi`V^ݠK)9R) Λ~C=K]^i(s9}< vɼ$uɈUCܺKVٮsSU,}N,$Wˉwmy"f(=6PZ@S~wBF_6%8)EjqIM_r4]&L'' SK)r?>q)@r+N:X|op+_d﫳 @&$-U٦z1;O)$iǎ?$RwZsw_y:mU麗d,"8ZMر6Q !Ǒ袋Ŏ$ix$RS֚[Cu{-UKw/_?~ݼqyƯ)dA4"TᄴN꨺|>9Nvz}$Q#5ߴk}ŧNܝKEˑjӨS@-Uߡhۄo[#Nu.-@w0je|:OۑOK'ǑVpӚ?V[HՌvjI: ƬF .]|4%qC\^ɣΗDj MڪdiZl)X j gxwĚv2~xZL#L eLFqgzj!&;Rq|-[I1녚10f;{@M`ʕN}_i!3ZJYII̜9ӴEhr(:_p7Z3Ԅmˋ~ӺE-Ƭ-&^]ĸ Obr_c4$Ѻ"ZRWH^xG)PG輨:(HG)vmUhp;n#K#1qĭc\DM`;OL'e[w4e۶mn:0.=Z;   )vX#-aя~D[6.)-a9pCeLxSK#;T7> [K8n*1tl @K(;BEŒěZrN Y߷`:zwL*d7$G?tnvtbYK}Ԓbcd$| #@#Ƭ\   "_4    gQgY!@z Ⱦ#@ DIb)c t!A@@@kQ}?@H~zГ»> Tc!,xAޏ4քWQG<3^>siǷ߾w7{Wѻw? @@@ o>&ՙUZاV/-^hO7=[;[Dp'H  "nu ^ Sdw_͸#t    bBH @@@@@ u8%@;qT5]    =pB@@@@ # Ⱦ#-y`4 @@@$ |G$B7 P@|njQ%   |yZ [#:uT   $}G,ҔGX\     `N@?fÎ'pG_V@嶢iqOڴΤ2}$2"YC^I*jR!qzS/KaT^lQ]Rr"zG'zӡ$zp+@D~M̝"؎ ]):s D)d5>Hr$x{iVjǑk{W&%'CZf1>`&["n"?m g_."E @H{~NꭇX|cv΍o_Rד/WEWF_3k5Vu qLu5[?t/'Gwd,OS]-*?_dq5a7/)UBͬFu+mGNzk"oL aӼjZ؝ź_Je"Sz$ȓ仴LJOU7G"pQU][jjQ{G_]F%0mM+.9jwѴ麡οFhA+%aRW'RJb4䒝~iCN>{-٥gnk2>udB;vr+!6}jQm'$Gsqgr(4w]IpZl SyTQ7$Hc 2Mc=$M }п7t_i2WnfqvU KXo+S'Şu/Dt9MH ;4l]qݫ'9ْkex≃rwҋ<h2M`cLA_a1?9s7E$ВȰ~ӛT0ԝ" îS X\xc}L_hIUo)=WNi~rmojJ+6[eIirUUx[z.ƪYmK廉 f\ZQ5݃N<5*."c}BA'2{W͟7&:FR/ꕷ`rG/ەk2J#ճ- 5jꒊb2{YJ4v+p.uyWϞfϺꪫDhazqΏ d3+SvR3x<>'RĨ>?KMʌf}LA*-(|Z'=&\N8KY/)3(TRL >]"kSuFƔ#nC=JIEKZ|Eq|P;T<}_ozՀ Fs {s){ݫWچ<IENDB`candle-1.1.9/screenshots/screenshot_heightmap_modified.png000066400000000000000000004417411421102410500240620ustar00rootroot00000000000000PNG  IHDRiG sRGBgAMA a pHYsodIDATx^ThR+vE ** U[V]lmEw]b/]QAqEEEŎ nNrN&38>2['[3q~W(Բ_=&SM H("48{Nt]v۷m׮;2.Xƴm椓N6lXƨRO?tElEVS$E4Bkp+XGǴbhi'G{}„FF( yf^% :6"h+K!MهR 9WnEl'HђWb٢6eXE,9'ݖ[cN5cǎ/;w3g曯9͚qQ_c1u\BK~w@J'eܧN,-/ #[eirE Uˤ WNP9XKs Mj-YD$T@HW=r2{q{ݗoCtY+MgV "k]9قC}Ŝ<7$Vьy_c毙ASUDMKrxL85R=0'V%T4z i%[٘fET2y rקMFȴP؉(sD3KFd~liOl;304o?RLC@ |;2Y9N&0F@~?J?PM9HXf,{ ̔2P/LrI2H0DG+oӘyC؝w_eJn"ڹsoOb_^]_;o|7]g{lԨQ?q̘1 63EoJ%gnĄlnoӢE͛|?-ZLpeZj JҊK93{7ܖT|̷qo?AHX=CX,gZENk)wl#"XKǟȾ0?6Z~}Zi 9N9A4$ūx@fL_p" Y_N@`K]C J5,Ģ}| i%[wVV4KdԹ'#exfSNO]gVL2:rE,ߚ-Tw41ނ+3(e1 _WCX_030jHp̯T}<5o"WBJoc'GzjE:RXxkx I+CBd\ ZX'n">/Zd"o;.[pɢK/]%}"SFl;iZOB#51o<;{޹>xϗ_|?lӦq4$73zOU1/4>o #;Bf/2`>[J?t M_F5dQ- U XOr[wHioY3;Y2p /> ,LSLar[*Bhȟ(IhjiӦ5V}9*;CN 1\D䞳b{2? 58]e){9PK+0NĎ6:aGe |NOJq-HncK!a?v i_.VLhv:A0Sr3*?&$/ ca~b^2Kk,v(#7_3O5/m!RY/7OJ1H~1 y M3ɕw Yi[9\ȧv%|-]Ek~6" Yf_xQ-TZҦio_z/C1k,9ݝvڹm6}qlpAujBȽd~dGN*}{8()oSn,$-g9b-x䖖HzosMjs‘^ZaڶDH_j{ݺo}6+̝I :y[]y7 Ջy\- wll2p. Zug Y~<5qD8;9(2'1>eQiHïBѼR;ٳ9䘽NυN.wd [&s]A{y̕}ln j#vxAφ:˵kѡb-)ӷaQZf'״C!ޖ_QF*mCsذav'~8Y˹,f]vO8ᄏ>8r>s>+l]t~?z x90LkΞl[k]9_=+s#} QPm1[;m{p퓞|J]kξ[jt/>ٷW \\.GD^=(9ΐ)?e;8GZiNH })W]m)`6F:sscEٱ gS%v E\0I.S/0}h\;3x8LNFO](_w )ss{e2Hۀ%8u;a!CrІ ~E 2:q])Rh*}F_qAa7toi\™*@xX"pP@ -p҈{ϝn]W瘦?8R`ex}W_ h/d?7(}Zicp:3#X/~q\g8LG}w[2n&lb̙3Զ\4߅՝Sƶݚ5o!ًJ1-.}Ch?t`=E߲MvF%H![i\$϶㎺YO88 kK*" \س=Pt1+0ej(@N.wtvb&Oq 64|0=i-QcdfZ#}"|.<-St; N]dr~9|.,쑔 O|%Ve v"1A#v^XHPL h2Hg>  ;^{s[mP̝ p #F9 ƛw:/?鯧>^xP""`ahDyg>b,ui uޜt]c@ ]Rwyz?ϻܑ^{5\+e)vZ}~VS; }Qbe,Lŷ{cآl%N:9L.bwvˤV/}eYc, Ҿ5L*EeGSuv-ǭ$uBqGsQ7PuJr21:Ns >x;cy8ZR0&(VT^N r3'l'cgȯI8_^ޙlX3HL2EZgtQql2 nZ5ePsק]bVlbn 4jŔ<%l#-)2hroCvacs2Begj ޖ=y+xGtҌQm?, `6>hO+Qv܈/A>klXr-Cز)^X$Y`N֒Au ʸAvZq=grGoyO߾1qjۧ}Zw uv k~J«%lP"NNEv&V6fȂcJؑ‘p`dFv2#T*k q;Q>~Oؔ I;L VANEԊ\UZv]e/kW9`]ib8&=1<2$*%jJbPXuX,d7´\l0QK3a]^f_/s[&$:1{bN F瘜t~IQ-NcXR~!|(!ĐGդAW%hhEm_(I?#nFWp?`񝿱Н=`T0;+pacf}vTIZȢt>G8o ՊzGr7G,ˍ^i5:H[ԼJ„¿ݻQS[3$/:-sf<֮zͺ:kܻ6?vsb͹kC8&7/m/yM<7񞩭3~#7d Ӗ[+oX[,f'hjWUvQ;GNSvrᡧ{5x57MoIo瑑fMR(S&xQm-Vuύ'jHQ&jbJb P&g,Ek i"[brbHq'rc;9m1fN n dGdʙ2BJ!'wbUUKќ~Du> =Zu`K!M`#ik\$AQ}4턭/*]}59`} ;3Θ2PQmpWv6-WXc {`ӻ77gqI#w?h+3OuY2]3ΝuuF1fq GiԐAT3OvZ }_>I] ֢\D׸ؼpdY\zCz+3/YCR/_7J״"^w(|-l-VHٔ,nU㐼۟;.<^=`怟Q?jG~Y;/en aR aZ(d.\ʦ@ki:in3(}D!:D9fԊF]qԛ/2TDV8J+8n>`!}3s֧PFSj4hP}#"O,8ҳ,)`ztɦwQF_>O}~-7w0ɤhY"&)ŵE+<\mZ猶p'NR ;ƎNeR,va96^kFpw nFҹwis`WSy8 } y}*ӭ{ 0U\s7U_PE*#[I;ZAUvYW][3,Ԋv*GWMVkJ^bdNcxcen/)iI/me2TWcr2nAgrsl{c9)Q|d}섹mԓ=lL߯!Ņ ɧ<լ*E"Ww7?jLJo/#( |,KW%Xϣ$re!S]y}UKqV[8h3l4kȌ;en c'w޻H4P96mFPw;7l/S`|o(sFHo>`s&䕻owo_gM`|^yWJoA o?{+PNm׿u-e㌧sƛ?m?~6ln,k^DK ^pw}=袋Tz{K^Έ鳗> =]5v:r׿3ǿ{.7lcիe{x+<菏d~<>C?'>ĸG v.$@kit(':rd6VB@(jXʑbdOF[*z['el V˝ Q_{d3-; !]}&Ee84Ӫ/`ʄE%bPԋKSP@"_2liOx1AJj6 'u1+DhP"uW,"K~& cʋ1nRiZnZڶj֦UmV5mZ5oT6KymԴn-նUZvZצ|^o NN?3WkXZmFkmppfmjަUMkӯצUV-be9hn7E^pYҡxyϙ+q|Ě+ƙu/ָ:>kq'x }MιkS{{4ީc:?gRX)6؛#eF/~gZ'ܕWz?]yˋy6G'ۨM\ owx<\go}ޯLqv7{75`O^:m)cF{#lWv>go{w^>y!^!ec}][}zMp9W4!l; }dEb/>2 ؓ-MiQȬXYh9*ų҂oiBַv9bdrfUT=>׼ tdjnv  EW0 P1 I,c")Dm' )0 $O fC"/T,֪he>f'r^͛lTlž3?ЦΝy%9>]zӼEm5-[4o׮Eۥ],]Ӻ]횷k-ݚOҭ6^;>m_߮ȑՌm[jڵnֶms ִh \rh/{/ehcY;gͻ&üwnPT;rs7o9t L}>!ٟ]uZ}Mkg_`Gjo_V Ԯ/=Ǩa# v0aPS&nvbϵ\x,Ku͹P ^E\x)Dl1| D`M"ecrfSeR7&ɇbvo:rw51/!O=l9;3bu@T8j *#Aiڈ'i}G KȵoŖ_>ɂ) -|-c6mYU|Z\_[nUW]j-ߝOVb+cksUV^yy)20_hpXxUVZ?믳묲JRm֪UKX]tK7ؾE۷ot|:vi߁2:O c-iGwX/QcfLk-wlwڪSfڶhn2dniѽE?|{*W>-#^ryi]kM{=1b~)om~y)sڹ7zaF>eo9WUZ7)OOaC˻Ipч8+2Vy e3g{ku_oz@L-A {ԾoϾC ~ ˡJ8#W++/aQ)4iyAf^B-ϹbB_1'S9N.^,grLOJŵˡ'VIN3{qo=|='\*Pޅ*O, wbcl5bY#'XoڒN+U͓>8O\3pQlil*\;pv'6[uءR[/^M6mZnj)uq~]jV|'7?F~-z( [,պ~#OO˖j`ۡV;ةEwl·N[DvмS'~m֩;?-ZTo|:Ц!-H,6:op"wLNF"{+Xz'Y%M҈+F6[ߛ7{[G԰ TF}Z?Lh^ Ъ5?LRn011PDa[*h5]oᚄ 93o[Zkͷ{Vu;RᎫn-)m]:Hd'plr]hҚʠkE!ŖGۈ{eI5*|Կw}gj=2s\&!"%A͔D?O7jHSFz@(wV|"$]lw>媭ђHhvno[}p%i1?+zJ#+7wHj1vD('w̎EI,]u/5MN|^)kLǓwm>3Z\ /\fOMKְ!Sѡir,De҈dh7Ų FԊآڪ.;Ei]T/bחi=3³LM9gԭUHYS3?3;i(w ^uZMid3?|I4V2"29NiBa.tcē&u2piјUlu.ڼ۬ {1դN9Sudk#Ohx{uj\ i6E5|ɣ%~wl;  l0~ĥpGt4|0I2XGOi6t=Nq#QCˬIVdGܟocgl3}"Xdsi"j~Fn<8GGE^΄TXbqZKA;<׮T0[V&O^NII1wtsN6bg،'9Vn$"@9cE%],eR,M #QIcTv]-aJգϽaibB!h%}]fs#FhQ)ӿ }Ĭ1TJ¥v*P@6XX0wW{ ?YiΎr}>0Hben)E\.ERp|9ΐK%aE]) eDb]dRF+%^Hݙ.IY7J$82FEi(Hn[ׇQwc;hwJ Tu8ۛir`Vw^C(>gC+Pvʜ_'7AK2c٩F.̙'r$Wd}l_9y5e'V1^ރ'0!zs )ip"zGn51D!MȦq#0%2BBF_T|Dh6JLӥ#flk o@jڄfrBد'gLܪBщKaWeNkN9AaIRWm+vrj & #?En/cEH2fKۯwϑ+U湋-\(߲J e-;E,TVK9u;sܘ RTLfk vU:wGJiKl;= v9A9:Bk+rRlm? ə1EoY{ˎ}4;:n8*wS67]o+_bج< @L;_bp9[:|m-JI PjÔ띯yiOe?~!e,rGSqD]Ǥ1u+fHoh{oӚ{a/_>I+mvR1 )#xt٘ݷLv2{gA@%7BȤka` qFI*2D2Ȕ3R {c$B\h $zGq谖WɡjrGgN\KgH=" X~c/qGH9Zt+hUwAX dk)4[-;#]84\LM.}c׀bN8#RGy4Z@c ;t崙̵ $Lr>GlxM92Q@( D!itcJSY=5/DMYOT|R4wt/>i]α{q,/^A|d "eO)kSſT~9..Ri[&2Ȏ)h3tňFrLyz}ed9NS 3,#| lsn9>87-fADuxWƋW$}L0EܻU-PhO W-w;Sn^h"OnI6 gh $61: b !UL?7iVgDi H+2 )9i ;g:BZ.)ŚG!; ~gA]MiQpIEۯsqǍ6ڈy" 2 ]8ϼ?#klBg{W-[ B4#wll*&32'$wu)e^J.TUjqKk_r7(;Scmhu,O:o41K,Vt~2\7FREBZjyџӿf&WW F3 D܎rW83)v2rZ o\9H"*%I /dA‰َ$m8H>BsI)R2 MvFc{KUȽ;믯L͕*+w8>΋#N!C+S$G@t<`9U;]~jwђ"(@!СoKr7裏~iu&v("("PloÛo7ujp 8jYrˣ:uz´sE@PE@P  h}mtM7=7+CTh;Ny6U~E@PE@P@5mpG}LqwyA䧧V_PQPE@PEhղY-wyךkUӥK%v;N\˭("("T֭oi]V"[lAÏMڣ"("(@#ЮM74>Vs3gμ; t>;Nn{ix`c{lz/'?l3xyӼ6M瞽s5C i+H2ajyE@PE@P*@H%w-,S ޙg>nkjfp޴uF^G{u"5w=PD[4wLx=GR}8Æ P*4<^N|ź7is/("(@epGAfY7} v v{ fs/k'MH2ȿ;nG.N(iƘSC ө5wӥxi"("@fW2Zp@wL)5wG\7"La{ӏLfϚ6]IoW#W\HT0;0]5 =?ʰVA[WE@PE828kÊɾ=)z]{G9svuȞ͚Ŵ&I]yZgmf gwP>%WƃKoӵ7fZ7ˊZ0>ZAPE@P!UTk׮Ixw"o1s7xL:sz>36E@PE@<:fw|moC۬grGM$ɱґ}cهP^;S;%*f舅z-7q}lPSaE@PE@P*ȖBz8Xε]E@PE@PAG6wlhgSUE@PE"1ֲuLrNJ`*"("0 pGF!^eMEVE@PE@><wHڨ"("(@E XW2HlCRE@PE@P*@;ʺ2jڬ"("(  Eq. jT*"("(@HA,i2\UE@PE!J %jnxU%VE@PE28+1GYWymUPE@P940c50U\E@PE@P$jZPAf dGn#&MmDPE@h@WWk@EKV"N&78[/$Kõod mQE@P/F8fmCՑ5,R=b/hѢe˖Z*wtiƏb3pLjyÒ8m9-U3cacG3,:kAc&lE͎&5Bi8ոް VPF`ޜްnziF fOGC[Wc]RoXQ4n#KX 7{p*y6:EnL9k}h/l ׎Cf]0~m/u5qyWIqC:=wUR"(={y.N1|"Osi𭣏h*|F:Դkn֬Y׿mРAGus=DO)Rvʷמ.tм3qh# ZA]ej9Mx40t)*Mu&[S}1 @J*CXmD) ZFPE"< H)>5WNx@>Tvs_~܍7LyY1S߾kvMgΜy5טN;s1O?t^Y {u_1R3G>%*XLtx:ѹ|h.ݖ}xg2&\IpnAJwa>觞z*drL1=iPI)y0HHY2"CD($5W԰ ;x"(@Bgk9ߣ}"sP\{>6,(U t%\[d_WuZVcC̎ 3}$ E0. ygĻyzv1gW|"(@~vɣ+| >w=[{>EK()?5]tywnXl{ĉsV.N@6䲔B򾴤"(@#B6F!P1Y3(SP*@TvG\$o hE*"("ЈYPyQop%hF@PE@P0kXIfGwUꊀ"("( kPkCԍGȆ>T_PE@PEɴHѥuE@PE@P B];6A@E@PE@Pʅ'L+S.E@PE@P.15wHt!ґ+"("23be,Y"U[SE@PE@hc{TuӼtԊ"("G@c| GQ=oCK("("4 RIzRʈ*R MA*"(" DƧh1LܲTE@Pz;8v^5~]KceGΝ;;7|3RnÇO4)7bWƌaWE@P!#F1;xӕ:4kO8TӾ?2xy]e[º.tѤv}F@jo=DX49p!k3f7n+oo='( w5jT|;M6kթvMu:GS7RMAmBPE#p疝;":bR\."O&Rrx==hH"tPc3x=ZNJvO&ъyM(n2//OSڊ"("PkڬRwޜƏ68vUNijїx=#4[쾽v\Fc0*RUpiD阶YlKփh ny_O/C;ڄ"("P<< Y {|ȸ^=ѐ'#ryÃˬ+v4<,鑆w&c   &5b,@FWPvpcYVc?>ɻ,zG,4i"(㸋WhGǁcL\J}Tb m0o/p^bN>vVxF~:L6Rt /#uIliԬ=zkF7e#ː`mմoߞ$F({QG+:an{S/ É@;zx>鑯MM'F]kuE@PoVԧOؖcE;V5mV@ a~ǭ}gej:p^f饗;^z6zȐ!GykV X"LoSK0J"(\6W s4[;r*n#Pwڧ7%e|pG #jwuRwy\q#1l]("(@C@7 ;y1ѦưEgy\nMzw[|j}("("PU&h25 YҺJc2kLUFLPE@P&P5 S($ᓾ5SM..ˣf,zQlw0z\JnE@h|7^<=64||#fm1͚5koS}f=jjVzEYԌ!(RDsK`M"o9. 믟~nl@r{cE+UC7Gv.mwYlٲ.wD\w=z!!:!aK\ŴciQ4.E !Agu\kvDQ"]d^sBܜF iͯ ' 9~)I9O"7P_e"skP,]vsޣ2ApoUUd#E ?߾;l\rɜ9szhpgϝ;2X(6jktcVZh_6# .Zؚdsz-ߵw{8zrnoC[s8!z˄dk- kսze<[{{w7f 9Afs5!uwN[vb72[똟,ϼLz!p/DR7ILnH]{̹W I~ҮF!t-z%Ķq;C3tw/DgvD*FAOOn y. >!R@~Huz aEZ2ʠ" ڇuy9o;EoMIp޽]N"\bxRr !"ռsFYvޣumyŎ{(i 0ʎ[ \AQ'4{ g 鼒Sn{*nX4D8WBl;4^xC.BZH2\-T 4 jP4~_|CR+NXZKh%>Q1!g;vK84x;駟=+c;yw5e?wy{T&93/"L }Z)i9'%&b#^aٗNjZLl|M[n.{&~8lo-lӐE]z~CFc o#Q8 = [ubj"1"}Cq< JY [rq 4PF.3qlŴe-z`w!ƫb% W78g\ݼ$г NWBl;NwNBajE2ڈJ?du]F|h4hPQ4ZQ+y睻K۶m[I4{w}ҤIk<묳U[׎j 6o*YPy[*],yLNp7ycG|ec0U(jm6,쳳W_1.b|w[D%Cxos}*,~\H P92wo[sfeCM[-CҨc^Iάsoa>@;hD;Թ](eEuW_}Eɓ'X?bs=bK>o1rV[D /0uToV Tbwy-+/rH!ozZ@#FG_Xo(@XQǧQ N$5|N:ɒ6`C# *9TMFTtW6 -͎m-Eaxf$l3i4?{BZH|޴"P9x,\>/pm~ 'h)S^~寿Y$4+OdMN9=sM7mvm0{Ƈ& Ɨ n\Q&Sxl}l2#vfωڷ^b*'l`5yN"YĐbO/6:u ŷk63sPyӺ@&$gphQIB+I^.luA mşt= hfFJyoLM׮]~oYwEmĉQ8k<޸{4 daRտy~[XxV߻ Mi@"quS= W{ꩧbX}ջwW=ڊ㬡{ǻ[$$=V"򲉯Gt)}ګw[ Dye;-@59o戩)Rgўcf?wRO/{(pY_sOX0`ȡw1)͖cuU:Y`keV Ў6("T9ユVBm60Ҽ#ѸfPW/P?z5޺ 8Vs,fђUz˞Gg%w^ %$b=z6Q^T]w> ۊS=]S=)"PO s*nR뭷[lkLqC7ߜ:Ί5pPY"Cz$=^\ծeTY9VyTvY9ڊ"("|mdIg; }\hQ;X.βp> '(@Aok@c+mmy[^lҊrL oW_ q;{irCzu_r]cƌ5jTPhxo?yӅn/ͺ;BE˿w7i躋7/uZ_PA୷,zRX}ħ~{#r Ԓ3tQ?-ӯES';kxo]70F6lv}FNl??W>>I_fGv:[cϘ1vX1XCkc9楗^3Hx[]sD72o_$t;#=]4tE@PJpGXp<6qRs͎8p Z"f$Cx6=+DZTj] Y;RE@PzbD# wL)z04+PôݑKԋAPEQ#b 'H^isDZX* VXJگi-5Ǻ_JWˣvxE@PAq#i"N& V2䍰`9JG1[^ EY#L_Lh"(^{I6?^HǍ)% ;Oi gSNft:+Hx0գG&g0`զ̖JiS7_εA]Fh~PrwA'c YYeEAޠrVP??XMmE{,ti+3qkKut d>y'7(5?0WX*?'Zoz]{lg؃V1ቶ†S[`%]4FI#̐"*t-4,[zG!lw/ sZ˕ٛvy"(@>7x/~UN{|; 3w?D9Qit 8x4:tż.l؃d{a%MC`c. f'BYBcG$t7Gaqn!."W"(ŋgΜϾK>_y|{p/X C݈F}͙QbOqC3qev1wV`qYs=/IslhOD%+fm'ܨDI=Xwp=k.+Y"^l<0` [UQVG,^B("Pm~i&O/z _~7o59s~R~Hk4/:ǙFb{ѳ7,y܍颿0N4w/y/y`q_!̫ìafj=kLجn [&˔ԆE!?<3?+S Y0Z$eMzȈUy_O/reEPE!о}7| 6`GLny-+r]wZ3yO&cg <͹(9p3o!32ʙ]~Uo|oc87Xt0V?t:S=C5E@%3Cd|h7 odMBnIö;qưk_8{^5X=ݓtEo3fa)1(@F */vۍgb+ϙiS=޹SX!pE#Q$_Wk}ShX{uj;>ܓٿqecA,[]Wpcpx>YpEpH#"(@$;!^ˊ/;F#%a,Kur(B#v D;Gi׮|c׺uhrX  jӪ[׎ e; Q4Nk3#wSl]raB~5MoXKE? Y__mHAyaK(@")"(Mt{ȑ#x R󐔛v,` + [3c0c.]V[ڨ0Ŭt~;2c=^GWڼJG-8oSbke6!x=zR9z28oƷpyda, ڻmcݾ̱ޔ#Wیu_g^coowh5sohZꊀ"4e)<{1P!8!JJ I;n(Ykۍ7Ȃ׬^ZkUGmSh4T,*/c&dy\z5 "um ʸ &4ƑHzHLv_o̓M n%}w Je$&ow[n@afq(E@PEI"[nQ QG e;bP~`KϞ:2(_1o!&yx  G[DL?ר!QpVt?MA+"G <юy4OD-50#s֓΢s tK&B2]:߱\4}6Mt .!nZzoEU&!h1oԐԅ\bp/Em@PE $ a,Ab6} LGw yfˡNY$LG7ں.*g&垾&wc^I[zMr߾1VlL]9 )"P Mٷc.{w4XQ=c{l[׀kP=H~Cod#EыGP*bM֎͚%SXZGh; ]#:ئhu)+bƜ=^7%SEq!Чb[6*azzf漛H~nd#fP_3 B5^`-Yd5e5&GOEl֌nb8|k5ey`LTPN2_x[bT])"(=H~@7^z\hp5B8Y }F;#d)YyxR6kzGЌyf/]cl,Re͂>E#o+ ݆VTE@PʆQqYze[ F6wD>f}|Z3i=x'pK&R5Ly*jNbhFwL4A*:` X)Ĩ l=)E@PArn,F4Dsd=YtJwAUԋ͛Ufdy̑"%"( =@9;oLl%Mɩ'VE@Pʄ De.3@e3i3l8 ;߈8Uat/fӉ|2k.3pt&Ofɤ1eLL߱2#)rbF&~y^M 4y+%Q9ZUv>y^ "("|) Fm hd|#22Y3[յќV{4dOq͉1+oue*%N6'E4dO캁SmCȖā22)Q2r`yyvE@P\3̀9S@8؃UF ' r`܎sd|tCeKVIbT*>F?d"c ;_0k &iB(l mw;sQ7E@PFͺ1pE O|n`͙JJnc*$.b^hHzE?\D*/?jJR++"B)qE@0*GgIhH3jwKS\jq Lrf%mNPE"756o6ؼ-PFTi% 1[ڵܹsyƘ_o޽<<7W.ׅ>f̘QFa7YxP>wEޚm&H!IpX}oMl]fѭiEE@Pޱ6bjhs1bD;v8OW.R&ǣEkGQ;kxo]40F6lv}FNnםwB;}kT*7yoa+G,.SX0;kdaEoKm\PE kTMd#8od#1"lXq(uc=+YIkGwY紐&*uZ_PE )/}{Yy=b>"40jQT77@,m][+z e0?a~ۮ`Ԗ=<ހPE@_|xN=5fՉSN9ܒP[V 6TƧcznHL&~ְ4^\XJ,zVغ_|u:G] SF~gzxoCٷx=c_]K("H2 h82bF;\hqC ݎ?8l޽nK:٪?~oW[$kƪC=3ޱ-lŀպn;_z%;rU;μޛr" Xe5e ZlE@nH;ifDz>mDP<G4~8{wРA &h%oC9SLKx厱'䩧hV^yO6P%>_~ym-;w=3j7[{;+iXj#emGJBQܑz<5LIV}2NYF7E@P:E wnpTڵs }駟\eddwt;Bs/RWvE_"w{fzr6YmU鰆׬ErC5$/$8,K"(@GvI9c TTrp+SN^벞׬7網[DQ& ^˥1smڐ"("(CDV_T&{* (Gy.2L';zvz [R7E@PE@hc!icKfIBYWT3 o+eqz0[';^׾ޯ\*IXʊX;PE@h`:pFYO=iDI ko1F+Ymd|8%:G8 jfi?+;-("P+裏fL ?ՅD4^6,͈S3p̂{/3l6LnGY SMde!YmwyDIe#wMwd˶ {72K'&yrִE@P*{Ai=qk"'2KIG\q79o o Aoi#Z>KF sξջ6| kL~t㲿5eP kىwVmǙݧ޹ diTPLmx7n\nOMMMh2i2cՁ6x|A}!r x܁$w8ܱPѳ7bT[Q=WENZrhocE {҈!3{[w22mC{^U/p}be|(D0Xȉt&ZpCJ d6meB{r[oF*Ro{׼u\,K9zJ@FtvPZjZFOO IdX[0b:x}{eZc[6@<ݚn6ulЧ|FHpxQ),9.FB$|4S'4S [c WAW*I7oNڴi+"[.'(1Qq/G4"i4vUQAgRd0Nc Ș Gf-A!{EIct PbדFYcym #L õn< u6$ʈm6w"M=6ػئgmSZһ=Z :]5s]PF<0{};wJ6!8-;fK/8F*V{ΎLFB9C̨;1;W=s YoO}?/LǗ[yG?L'tgPT]Ek گ_?ku;άN;_,uS zO>e=G{#rرcRv2IeHYFeH)\n`3Rrm?ڀ+J]+ 5:"!4T7E qĨ@[n}gGߑuӧOgZ=?YƲ >3g۷O>y׾|Cʯ(""kWfM&Ed;&$2ñ!2'GɄ]h1E#tI?>:n(1BU;"a1%čb D[v 37FsNA-`82U#st!dHd 3ɢu|O9|7cRA9p 0ew$4b\]aBZ]c5V]u֓;>脏>^뮳J!w={mzVo"1auDvcNL޾Th9"ɓY xh7/p؈_|%ah%kPOE4AXY@"PwOt뮳1&V"$θT$NA HNA*R6] дp=Fxab͛7Oo~kժJ+A+~?n!vm7bll&/=CKj&z|U4E@P!'cֲG׳F%}|1)3%Zi;BY1ֆ;bMhn$҅|: #/]wuS F|)R1so"W^yfDIa("cej#lpvϢXg!s$[".i]yuDDHe8"8`V#rΛ?E;Yfo623(I (# 4sΡS("PBC)UA~Gw GV|)qGw)l[uLG$F$-Yfa6"zu5w_H=hѢ}m۶Ex'HN=T"s Ibakߊ"( Chv;c-KY1y aXX#._L-4D#uYh4n$zРA2f~m-_~3ϰyovFzBP%ʬ(@B@ x< YNտ* fkrF&f^-Yꫯ#"ڔ)SVYe40<2\yлڊA(ٺ `M؅ B%a뮻bK#iӊ@> ?cRYOgqJ~ǚ5{XqŕCEF3٭[Q0'#,Wde<9zJOfD<-:Vv3ʲԹ7C)qˣOtM&L ePROJLx ׿ Y!ArPs;'{=B0ȮW4=ڛdp'&>_빆]##NNuwd4Day§ieX'QĶn@Fiԍn#udAMShDAH@L찰VC 5kη^{nM;N8$F^J&/I!]pq"Q٫W/ JJ " _uew\Y D7Ғe!mHIzzLX^Znkoc&qp7&63gBZk-HG,ה5&owةICBBdίoWLҼR{7^{9$UC@6DJu E{UE 0PYw\nh&xuq@,4+t\4)wg>~|nʄ)y8Ñ;sm@~bܝYQ~ #Ld(]vF lk6t"\)M!6)!2dIC*;$;` ZHmYx#(G3AJR@m%g!w,.&ĀL=o|e‡dy;6#FR eF@Nc9Ӥ?o֚kywEDl*[o5M@ ("TE&EwDK1/ZrBr3K]0#S浌m7<)lX~/rTpXu#|Nmm"WP.1OJ,4DiI$9,vޝ@F)5a׿KL%R&D1x?n$`݈z GFQF5s|Gfh%/_"P00`!,/ػwoX+=s5ǎ+ g(ŅDb&4-[h{ք-)"TO?)My&HfwHnD;bYe+=O8.|fDg)Z.Cy ׊ a Ei utMɦntA0`@јb]z.J&ln1F }\N@7?G}kA1򵘰1K` n喇~8S "F 1pDBςoXx@jda&-E4XU'|ߊ>`cwfMmqޱ5G,&+D,fńy睫*>{N6I;,8MI<$} batص&Rbh8H\v jME^"76}^^&$ѲF n1G=#'4=S>XΗfG )(!4ۧ^ Uԍd&q#bAܠz-&1w,J|҆q8CqH6mdPc*3bRl# "Pm`#3b3z'4=SxF];ʄWE@1"iHeVE~Vb2]"VZi%жƯ K`[18H4k*@4t?+L @e# T;$iE /FYfe&8r-H̤G!c2P\BKJ<vnaB5G%P[# >[hyE>Z [OP#DF2LFjoDAqGX_-*OdyIpH59N;&I `%Eџqhˮ*`4t5]L Ŋ-.%EHF[#묳:N`䧟~ر… 8 aY=e@OJȿ{;6l:BI`_|(9}D3$riӦ^"('F\7$"(L=M80[KFnpp`*mW(2m^M8 x`~PIXr-(bl$<0E8%: ,\69!n s"{U[PԽV% EgG%9;`P,(q W^?ʑ}Zx[֭WP1-X4iw.Cf)2 ΈD?2ԑVE@ &aZΞz,QvQyqyd%#E3g< Nv D 9-zٍL=p7Aʫ [o\>YHCV^{VgϞ^|4uBpeV$"4~i,E2M1 &;&X2mBP:G_z3,YL(>,0<\=lIXftIp#Mp&UBqdcQ ("p]va@KI!!L~w7 .}Ð SiPjeݎzx/B4e5!tHFԟ 9%ix'!n0D` P eQJO+"Дcfz J3\p|e\E#f cu+_R7E 䬁ɲxPM1"J|ͧ~GFGN`Kn 8J~ņ% 5,uP@]@#&MzXl74m۶d,Y\{UW>|xdhah[i}0f;sگ V+@SFU26LXtp?Sϱ;k̆BGdHN1ʄPMnJ:v F!A E--G%"M6\!~믿7LS!G@I_hC# HBqd+#dhhYrRRN$mE<3Vfbĉ.ebuٰgM'L'xQZ幡Nq7df"( R5fkŅL=;;.-#.|e66[͒HH QdF̕`DH,|a%c*CWwvmʢ/+(bD׬Y3T}ш[Qd :9#?k.2]l:2edgQ^&uD/Y&Mpf$C]M1E"PQ=F >ɹ3]O0ى[}MWAa2lǂhkllyCQ:Md& d;siQ73Fԍ'R,^`gwA^m$ސ7d&%Ewvۨ%9_Cqf&ذ`>-F#އ0H#S,墌r!]v=餓%R=\f0a82 nw\P"!5LL8ۚ?)ZZdO2#G<+oYl&p +ıGtį 5Kf#^ 55VeВMXڅ^H| a*LcvCKGELA@Xx`wǙ4Z=Ӡ$k*|d&uw+CESHnE| ihU:,Ik-6lcT(GoC +Bm+P*T㛰 -qVw϶6OW.R 7t$yh.,$4-ZѩAqm=z-q.Kf#3.m>9Tp_C޸SASuk X}#u}d˳Qutllto w-zR(xpPr7W\AO>)Y4m2yBaiV+'ٌ$Y\Z$ bMnS2LGW_}Қ,T}lI.d{R.nٮ~ '<6?g3o{:uN+N9;= 鸽N +ܑG,bc׾mTlswS΁i[ faL܄)ɘmʳlxmCCVKx7b؂Ǎ'}D=QY,jKk_xO8@E ?!p!C$?^zM:'Il-'#jWXU|@H"fВ2|{b[,@%x@2 M)wߝD8.<)f*ltDwd~%d[΅9B8M:.QgAp=&1EmMpcKj uywhȖXv֍6m:3fKEV$1O2I}GkY=$E"KK;,oB*rm! >t"[*[,2 R.4uT=/(\n]a磌P6;ZIq@hBD#xXi \gҨÁi*.3c;ݝ|qh_=ըILc󍣽 ZԄ@akP+ț_EVHh%d'$bK6=gɪ6,YXJE/ɗ^z2fJB1ߣ\fFlTvYŠ@TMʙӄJD R=a l%#`D$lqýYƥmm;bvy=3uihڬ qDk揿l| LvDX(.3s'e9͛6R(8 / 10lIpO?%k+D 8to~툄i^"оw hLCLLf.$2Xئ%=sCNKPT-(@#C &7xã*8OLP(YS9BvCH<)L6FvC86]B7D2h 1HBz >$61(ź/"#JJ+};e'4RhҊKf̾H;p@oX0$RW!k<00fٙ_au-%dqO8dRp!|DHh+csP.nZKP@;6M5jx護ޒ. nŅ^{hj87JG&āH~"Qʒb(r$sVi' ~2/r|L2pOL,e}GWCŲ`Ş50V$J$]Cx @#^ЀN4f$'wQQ9#٬lP4-̃cGa&}(sGr+[Ab4sܷ6K0k,FF9a9RK_BEE#ɣ:b O$l͘ 3<${nfr$ I,PqOHWNV\$XR9k1_<3N?tܡ?@_&VzGzmQCH杷 w2P[eB 2lM]+x֋EHnZ0BH*nE߿&D֒P6eyM_I Y)qlǛ(kQDHA~1"C|1To9LW(c5i9UZ㏉$sI!ch%YvFOStZ2 ZpP)SĶ#y)I@+*IݕDz!2K9~(0aKf$X~ʆ-yA4\s )]a 设j)9H LS*Ovxi -t~l9+ӰccނDzOH9@ C[zGLۺ5^$nڠEXu$dC3FmXE}LI(l$#7jQ5͊#%l% 0:n%!vDU$+;S}!gQy"I&*%Jiv.Ge!ҦPCO$ΦY3 Tb)أ)sSpVK>xU+=l!9"EĀ^etKr1wf}:t,2~,]vhn4z9~iNI݀wY,Qj ]ϺasGAn6L(zGM^k}E4V5 4v½xd=DHn+.z eH ÄWZ5j(`Ɯ$3iݺuX¥X`#ke"]|'Ī"1W#\ ܘDȄ<~xžۆ5R̺qL鵘] Dr@-alQ;G ԥXMe-Q5k.臊[;.=\j",J02ĉmFP1&D I2# $nmh o 2Tv bP Nf-ܒV]QYy"@6 D6'.dpe=#φ]䥟 mJ Aթk8u*A& '%GZG(/W$ *)=ˍ-I q?1a׸azQ9`F|fĵwW(:A#ZWl^D=D1xG!pa 7 3anIZfv@DРArg#G&+J ۥ$6k4c#8NlwLu)jY9(ٰR95R=;  eij&a74˖e8Ī 7:]xؔRyҦhET(hʈIZ:ݲk# Y!0LxqHYiZMVKBCEԂ; )x_6ރjIWi*]lylLtx|`嫨la`Xc~? &#vDr3*ΣAf;t郛Y ~S 3fy,`yC$zi.;]Zw+\Ajg5 SW(Kx#ufsEO<W9 Ki8L*rPoK1Ǖ&'mճgOD@~=^>#*QA1ɉ"R Zrn˅:LքZGR2D0iůl1ڥ +9HބD!0dQ+":[ōOXOv"sY Bhl l9$A#lk+"txLӟbtSd$ZJPq"gzg$:묃IG.l}"Ifƒ܅5d.Q2|$zu-MŨ;F.˵Y-]Ehk+v"L!1'dG3i$~e], BHu ؑVV_%L"ZGE5R]B:$wZx6b2A(i#Y*`Ү_#6zح#(łO-<ޅ8RP&#g.ڜeY^" |Q2uU C%12TPx#"%L,T(_Olyc TZܒXJґYS5sPrCm6.|\e,)o^pg$,%.e5ȭÚ13X:'k_ " ^7Q7Bx;15 FȼJ<;E~MtDOYpp>6ue\$OdK:zwHDǨ͚6sː\s4i;? EOz_tsN=?_ ܟ}-J` =z$[7{-4lErBE9r82iB|(KdqXV$oByE0bI4ȔNeh4O gKbW':Q|n СCl%SOFbO23tDDRkw+# ˤ 븈{Ě#5/yoiA6R2ːqGԼ21'Bqzîjolfbq1Pmyz0_htߒk6+qцQk'EksR6r" `$29b?¡\>l)2r="bt?UQ̛`XWH\o4< v+yY+{hJ>ԖH Q% ?c7~VM O!`)3q $1Ď(:p}W#nIBS --FØ+#`;MBqy,6`@zp&I6 ޱ~Oxd=؛0<Ȑ 7p2"CGW<{NB-fo]y_W뒤 -#w( %b^ۨ$+#8T5 dCﵼZᑐI 1#%?'r-+XC63RTYbfy:2Q$.wZ/Ll( :rĠ P|@+}yi|-*DS;0D-k2U_1`f妃oTASNl*.)HGD6 |ƫ2jwy`852dS:nl sls يQ;,Qv'S<جX0v,[}E188kgэhFws_,Cp:AC yh6ߑ<`N7 f)N S?|4nv%Ɓ(N"{lKq!y'YtD\dG 3(y6.3nI˓VDY@HM)ξIfJEddS9_zэ7v+x$b~ [!f 2|ɻq#3p۾۱ fagH_9z4w$[.2Lqyhxzo exF,uj闿{bmWN ?}D| NB#jW"@`L-/DvpE=FBA{l@Vy`= `pA <Ʉ4()3(ϰt3E(HGpe+ѲLBτ},KpcRbAtN '題<.pDa^Ǖ|?Ox2aVN/,k-*sџ޻~Co~^{{L#9brxxņ: zҖz Q`.91Ւ5`8 `$SkF|%Ҳ.Hb El״27" %-%XBP8"$u|I΋i5s k@H<B_MNSL ʋ!*FT;ϋbp_!+ia\`c) EQaB+I>\P̼jF@g52[j*^,H" jHh?w sx%*j3ј%ΖOR^Ɇ $vj V8:G㡄hG%" nCQj19Dnd} w]W݁:θ«dv vPra&#۱08`C obg$qH$D0&,dqELq]v$KVR5 1$,.ZrG'\}X)(`Kh|P7UhyB/i铧|Wnm?ٛ|w|o== \Oˎ-_:%rs$~‰.x$Jcu>,vI :cvhDsq!Q}%P!U01$6UJl j A"C hdC07w^1(M-F:IԤe5# %A$%* u*G2;Ì|Ȯdԕr\2 M5ʨ4 Lc FӅuWP:Aq.h|sl(y+Ysy,=Msn2ܑ&YCT5u +R7 Q1ak;eOqSޛr-y޼SS[Kݧ>oX9mtiT~G6Yф:xF-OPR/t S$F ٢}*@)x#^2Kk% ;A _"<@^=˫cxPaEm&ɲ(] P^d.\ FL0[ 8' G_mid`rAYVF}Y]#V?)]>sE tQ63E eWGk.Nf6 XAT8iIRn qQEӦQ=ir2!Gd4ڵmUk]Һ+=lAl0`]sp1B̏ftvMJo]kյ<9!{oӮnC3|(VW&oKhHBC8Rސ38(:QZ4,P <C*p>abvj4թ+] -dk`o9l%B*  ('"UAG\8`H13.+U`j:6xy]AЦ 2* *e ꮠ*[̪f)qGrnc,lMuP;&%d;F&nT6{EAK]cӊS 1kdALĪuIbtٌb-fkHa%$z pаRO%F@cF}$NB2~0 ¥$;6ۗw7&#xx!]84'_r}/{(' n DД,W#na5lBX%ێ:"Th+a0k,RN%B6 EbGSB1$)Dy0"ThLiG)ic.-Р'SȐι8h#DL y#4W%2L%$0.L R,%oǖD~"(s0;q"*GĮ;Q3t"xtr;|ٯ}ٖQ.`1)߼2ː8I)lL:nٮ0vs=n丼Ҍ7ڨqGc>f޸ԸE-2< M3\'crhzo1+km:? ޯPF>,C/>nk<}eswrɻ|qLJ\rȞun< ٶ#4*PY J:QtHd`¢\N@uh'|ɆBP=F ԁ*z" %C%- R(q/GDY)wI'07-53B~ (uyѠ+z&KR$lyI"/Otdj;&1a1ZSx0Ji$l$R5%JRa[R3VwRskAfB%F!@M+~vEi%玣w_^X:b>W{ SX`Y6Y;sc$eׇEXTI,ygh!{Eڢv ;=$]L§֞J>l2hiN\yjgդZg%AsR9rҋ(M$-ˆg$q)ԩr33qեSMr8󎂺9ϬitB#L.n11"656| A@z5.B@]lҚVYF@\ʯ嫆@%ֳF2cƌvڪ @R[rDe=) 7zؠF=.g cs沞u;2CAįq+3o7u>#S/ͺ}d YYXМP?P7~wKZnn9;˥]=[ HiE#Fj[ӗ>m!I w $vtcu#rPI:!UebdG;,j)#aq"Qդu+قc"^ps&W-GwT"O׮ Δ ƞ/A󓘡ČUhkwࢢî-D4E +3(PDT!ђXe09:*H_8S.rU$?MōQkJ u#}que8G#L $asS"4h ;Uz5U5'zʑްf 3{{BV;̛Dg mܕbuj>[B~geq gy= Y811qp\u>;g)TuSѧm'p>z^e 4Y% 6OLv(u%g?wk]1Iz!-0?O)eK.K4]aM{Q,6Pwe DMAeM6 z(3 2CxyIuH80e7$!$6.x%r#p\A(JY>hr!:"&LN0|@ m?zFuEH v8Rg IcBS7"%.Sx*ebD̈{rf/_QDNxd ipԲVEBԣeKM;2tL maHNgUHqKJ۠#xw{0.yJRw7owe)( bEz$rMfljPȟU >EL3/37D`'1 ɽ9(  ?" X,4a'bE"*-$ţUSxK P$0ϖ&F97rvc#e[5'l&p{)V( A8?4eP~zgs\xQ[SE Q(|ʬx<)~4G.ƤoYobq& $x :%P488侲hF\?9dfnt]Ҷ cDŚ#"\>Y ]1 H$Nn)Y4n|CIT$ ,쐓b[㑊vRƕP-(@^\50wd7 <:Y0fɔ cPÄ1y'5>@݅~[4)c[-h "3V=Y{OjJQP˱ymD&tu!JALTk3nc=:Hr5F;H U$y CB;pYG~ĉ'OZm >ꨣl;38Ɗ4t{)lҋJ:x!\_dh0 +AjNJsLVTʀ-Wc0X8 bF M.%m.{tڟ&cEW)XE@h"XǦǞgck;X{-zL=~x}:٤'>%= izaܸ|yCDߛ2[o٭3_~F̉iU~-DY_Fp)%BI<+80Ox#q5[gi }Q {!ܑ FGEb6Ǚ á%ݏP7w5 @Wp) 9Dl޼9-#?^ىA =pDXKR6J:2(Yc<,`{ W?~|1]wZ<A[NŻ[n~?q~20*tȡ$~-jjHc%hG(ì~b9Qa2 7$k5*4!0`im7nPI\`׌G PUٮnOO7^D֛kBEgEB}!dvRIySP :_i(B M#X=I (#'Ȗ s檔Gw-@cgHWP 3gĸ}DY[Qe%7n  W&ts njf{dDh?mU"]/1nEs+.7mGqs&zC 莮}/nb2",Da6bPk$֌ hPH_KE7f#ېU*ލ.Ř7vLԺ' PP`y%H53us]q*[ j>GcIǼ[AR O0>77=(UM&b7fH4Gּq*$ѝ,|ώʖ털%lMwD$o1< F$z>!1ִДr` 1]}Iӄ9oO[xs7D&&&\2EG#0?z4+"BR`9>}̙'9>h ^u!Ӵ$gW%-8u_?HćGe3`sl&F|<5tpT!PCc^xԥ`auP$B靑bA. R DֱăA%,#9̥%v6R]iE7+6w7xHR )ICI3TQȚA|3@64R[#F>3qD3Z}4l'%/nOe8R1MXW 6hV)%a>/meYĭ~;a喆4<Ғs[.x=O5oVӌ7˷zeZ _ħ_G:ChIc~> LMsm`whbb̰_QP#0BoF~BIf'Dݻ7r2 Y!=hL%~|8SDaWJC}KN8m"L:$9\o6cJ 73=Φ 'sꋪ=V́duBvXyO_Nْu }jDmu2dW8/B30S϶ۆYDElMCS u1t{Z0Ega8{tLKȵe$OPD ;/b$8BXC9J5t ~7l^^[B3fz*h:q3kVFeKŽNQJBA^9VGl:蠊&tL2FN(UrEIy^dZG %i_4)\'63rGrU:lMxxh;K"ݭi,i W@E3,-w-O82/xƽg4[[ռlޙ5|I썥^RCkD%-%$VUT 4 i(H%|g;nsgμyO9;|!̠!xx5hF,=֮e/v_ `she% . : AHd!"0A.IY!m$Id ) E*`5 @4@PPky1l""u_wk" `38Oø رc[s<< 6*?m׸7ȹ 0_%KwhBǂ aIٳgO*=4ȉ5ppp |t1^RLG;e(Kتsce'fKZ S Tn|uG\򽕛o_y*֠o㺧/Mr %B&^Tb+pm386<2A1gC.*AmyW\#>I T5i 3p @{#}Vuހ> 8&  g\mw!H#\E? cjR[$yXqV+JdIc΂•@-{ tE Rvsm%]\o6P;І%ix]{`ę7H-./&a5}cY iI~a36V@!p΀zz4ڷEDP䧄)t| 6 uhl(O7`9 X;HЌD&r 'DUTt#6b;wf_'@[6q^- RMHu:\zc<$)jKsFJaE) eQRi`Pq: ٓo?vq86 "m|'Pݼ@07H4V0B Һ!E۸[ &!ni`|1N : C*x4pEC C%]Bc .xDՔ}ca uJ8حdO\*c1A(˃)hŷ^{9귒+~+qfd孙56|g+߽L3_{G ;_P:ӡkεQ#kDZ $|^T6L{ޱ%#i# &WZK όk~{>` Vgē|xO dCRJBmh&Z,EdKJ3@g#ge];6sz>{4M33U6Z2XWF+8^MxZ܉h冡-Yvã9 wzE_c7d#eC_*͡YS3_)Ž(dfEA' bOz*GaB/'/Zu!;;*W yɓx t xL 9otsE /*_D k?<6\ N$Զi|WPGs-zct0v,9Eii"c:  DKi`poP51pi[5LafrKOI:F "!ؠic EtDW̳Zo J)RXZ Yh UZ<:÷QpyėWzVyzsy ns8kbd +;1(*ɢ0v>@luWx^Ҽ9p_?rHۑ0P4jʴ¯.7?Q%D #+^$b+6 A*@$#D #) ̇y Dx[|=N'Q#'XmiIf t6ؑ.ropP.$4LT7R* G~5\&+k5+e2&-Q%')+v|ĕ`THîZ| Hţ*wH|niہZE7lP A(j"d1 JN|dUP+/%1:WۈH4Fooxw="yI X< y0rB0<`+|C(t ' ;|vC:0J#L2,2 .( $8cH\+>D| =>MD6t*-$ Xns {W05ꔻNMrIVnjn*dʈ.ڼmMvi!xޮa` ~#2VN*+4 A͏tA\~,'ɣ⟧:ʬxE)q18sȀMF/[S†_d3P:+E69z8ZxYB^qr`)0cNN:/dG uuRJ [2 `%tM!E+c&d[yf[Q1Jղ5IG ͿkE 2Ga_ 'raJb5 0(!fvi.(gs;r9X{3.?H<~4DdƯ_@$L$ؘUL?tXO'|  5ir AT@x*'Q|CG Nc H&s=d^-l%04I^L` P)g)~?u ߌ{6`";+ݥ4=AGnWve p@IB p$pon~ VMlwܟiD>(ja ۦl]DS%Jr!SQL +V$kXbu η`Q-.1ƪ; шlp ?&٩ Hf((98QRA{,#sLP ` i]Al+]% [Q 8-|}$`K+MڮcP GwZ(64I81՟)9\K$_.$; govP $ٶV zF _Z[E,n" II"b(h&zV-e֊,p'я?xz>U5%JI\ bA{=2#nHwb$)7Znx?EɁ&LOҜ[ _47+X{Ҁ9@/(f鵊ydAQ޴! sH+?tSqYCZU_Wkaň-즶1[]Ԙfjy 71 *ATe!4Dt^PD '!J 7rO$7kHGH|*V@O83ʘu∁ƍIb5ȗ!!.Y-s#M&EhD&A4-!D8> *fExLB=\X%ķnƢN{H/VehJW<[Ѐ;,j wvpayx~ @JĚ`gL: $jzB>3%C*]RgTϒc-ˈS1tiw4I %0H (mJI`w*ڛ<=NZvn.7L &㩡tӠhw,?|a F- cE‘8x'D% ]!@\hھI:lD&| =M JCuw?gRv _=iC3+aOW[%JM!1 Mgeꃣ.6q2oFπ 1Sل`dB< %U|E P4#xhN+Q592A7%si*gI񚴅H2Kؘ0hh9 # #Ø'◓_9I'T.OҘ!HkzUᒏrlŏBz11KZȟ'];” CP-C3 %pa%NH.RSc׎f"䫧, S 宀&D)uG^!v> 釛J|:)ܴȆ_M~+\YLl"2\ConĒ5ܨj57N; fO(yQQ 5SpXE:4gْ/[B=F`Fˋ-eNAOymlÿ$dZp}a(F' IiνܳnxN@UrKԗg {I#/~D <GCjπ:scqkmh 502 v#4fT+E7AE*䒘6! bbnX3}a>B&,#o P@2q*Ma6|L@D#9RP\EKzXd  &=_~JPn v}LP7W!}W2k4p|¸(]t5P'e/t؎@_,$!}~;tq!)}Qrj//F_BJ_W 8فe?C$SM׊Iڃ@:oA}IfC_3\kgϐjk˖7ÏߴD%PF$ާ ISP*TzdWmWk +N7_n9E"]ڣy ^{l1hi%KUpEe+j8ERdyb酃wx%\4G%sB=-&6EɖOG˖K>#[X;6]j3GBa'U[ZYHR12G蝻Y]|P{.q&Im+_:9 'ċ9yR(T f2-b}nRkԗ~"WQ@IgDFo윴 rbCJp!X5a(,(AvK&NACiDC7*O0F;tԬB#`kO<`Gc3k=Չw 䡑E.JЃm*/ vصeP2d\RuU9 TzI^pEaUTp-`By&L#DW{l/˖D?Х05j e%[>81̀ie^u߱Vm0=PQBG3yTBAnM6ř݇t7{Wr7 5ɪwB/@ fvñR@hD$yr`jꋞ7& ON,Ds%ZP);`*QLAmSNȼmL`cr|"U% \{uVBt.8zC7 {bkpkh/M8EFZJwORk\~A(Y.1|I/BR$Ô)3yf~4tQmvd L(^jC=5}- tMu٬!-aa7(#{ F.??G _}\au$hJcuwBŰnl}b e5 uZH-*"!23on&zH +\foH TŎ?broOq6MPȇ.k_* A H #'C$ݒphjb3AįAh2SU,"!P/ymЉ/b|Pk C&lZP6,WLv#҃XV4Ujj¿鴹IcêJ4y-qE WTu[p1'C2-dmcCz # {WIGMK6%_,9ڱyCzUQL1z|ƨn\eO24!BQik=ͰaL@ g>N=y Lɖك~7M񋂯"r2됲@QX!I |ӠUGj1قPטQcK/r<,aI1a^ٽ۹._>O.C0v[0sav =`YS %# VZ^DLz cʷyAi+"8ڃbAD"IY\aˁ MR\D%;1#/x/ Yj8[5c5\>X>e 7C+tŌȓ !#?R;dym|Ue .BI#~Af -%F`dDBfv"ؾk}s܅k=KJwJNg0@gZ[Fa0"0736b5FWs uIqfd֨TEL$WŴAc>K48~HhR<*8[1 pPLmS ykgUT(D-jaU 1݁r#d!yP0D`m`,|1퓡؛| 3G}Y]01¡>x iʓ/0iwxC ֖S L Bӓx5P'aQ4HvjF( &l/ N79-j Uz8\ 7;p_֡{g=ihmO1$)lV%UɜS_x>_k1`).;4Arx#/=^ˢ %H(n< 2` J(Z jMh l;"E rJL A.Xs衇@L!ᑪЗ[ 0x{C1 i)17\ºk!90U7 %q%PUN5Jۂԣ;憴ukyFfs_HŦU)| Njreu"i**:{SZL?f 6_(3/D0 rAQ`|QN6Z[e%衽Îִ˵Yǃ럜1 U8_p*b̈́7g-<#7dM޻= d pTj> !v @f@ 9Ej m^(=*xz K] Ѐd(X0Ȫv +A&6až2zH eɩto K41OxQG6(` bY/T:²vL !_MҴQi9eŁ1~V1a#87Hq(HԔ6͢@^rl,+)0\'}eXہcUCY!Qnʶ^;Lik箪اJ%E4j\Uv,^iugx2ptwwr+VҚ$ Ȟ 0i9Ct#8p$RdYUViu74ةtKh*Z* "^T*lA ڒ j{qT2o AoeFdMzdCpΎ&fbBB4 =x4*ٳʝ`N 34khi?oU (A܀ 6^fKeڋZOpnց6#?e ͺ]}K܍q- CײNȆJ.Wvb,Ն* cX:VA! *ͫ R(n^Yk &Y,צ PA~xVI* d12O3?UZ-GL2-ee+mvx5z,qᢥu[tSǨ$cͭW=X}KsaSgg~0/y].#*{ Eђ @umO={+w͜>CN/N0|i?B_evġHZ>" DAk%yOb>1ÏJ{68#Lr!ۈ5A>ZFAQ#{?Y0.jFj9S&$ p]K`-[ >.L!Pc=S>|$$oO0燏OG>x̑(oqFDTk#zFl"MJ Vr`4eMiwT4vԞDoQ_{>ݐf.;;b"do00 Q|3n5Mjm'VޚYɿá?9ׯ|Դ&+EJ(<ɝ_ފvyVˬ|ߞ vUxу c)`kVI L8 AX^H2 @-y(%P]Ԥk2]FI^xxPd4pZsJ`XGN#v,P-8:ib&|lD9r|@P`+kV/L3Zr?J2T0Չ ޺%nr,G׫RQe Oͷ,!J,*WdM,x,w2S&%6ND] Ws-+[Zy}י3?JK|Pxǵ61['Eyk& pᕗX8! p x8y a13ݏkxu&L$d@6 qr/v:u_@ ?E0)p2d b%W{87rH5lpxBDQv:C_"bA'hk: x80Pk/2sϠ pH,CCjnu6a@an߾}a557|~>VM',Q>p$$L6G'*ZпB4!|])F&]N_}u+qfܡ6;! }ҡB eBXJC9WNB썝Uc _=L$l뾪#dAFḙVyE" #pTLx笄 1}1pGd ^ފnɿwaRoޙNwN] keSS\9d zH^μw̌e~x '-v<JZmư,E*s!+=Q#E H %vb5,)Զe) * x"Kr,DmjX2‚ |K=F1FزWP)o$ˣIGd7)mHJ{֋I1q7CWy#0kbHVx@o^ Q $;x?GBf`gAcx!! >x7"t~ ABB~㎘!Qr~d :b0$A`M/T04 Zhf ܺRnt xW9zŽŵ(s 8|߬y7:7߾0~Odg3쑙׆Ȑh:ًE)nS^H{'[62FFG<,>h+HQvK! Ȟj:|F(qlfDK_a'Sf\})r@7='Q rD]WNWJ$%1K h]K Gy_KH`&9G#(HNr;!! {G;X6 nxFA ;3X.<r@=/x%z_ ¥RYȟY~F b:!X =3fz\IIn]nxs/ߣbfP1)&+=&1B&Wкv!"(l"Kp/d~0:JEa'5EMk:L@O%`{L pp *Pȸ0J#[B-`zaTzp|yZmN}wcҗU)`^M7IkŌMB{/=6miu&yYn'_>iihaGFT4Vg>vfYbyfLjRܞH ; &=6lBU6n3ٿO٩^Y;fvw𬃱Om??5vSVRr y3`JS!*'24I==P>'/5a{Bft n`Slb34S2Udh?,.TkIo05.TpTsZě0xrOPH)H` +xkjP&6̅@D8_v3Imamd1GFb|(p4qES˟7ƂLM 5 1> 7mR"O~w0%QLmSq|繑/_N$~Qɥu-Zڵ -(3Ys2=7.Np=ˬ!pjUTcl\̔Ovc8Ue'8- "Q k%ǦDz6jMQm|O$) 'k44P+# Qs- { /mO:d6X%UWP|pfXvҥ${dl6yRcdъHl9>|:NrĐ̘7(^|T׎M,l- P$_DD.kI^!x_Q-D#*_ؗ荕¿I<\0$ # c9GRlL0`^$7M\'c07)nThE!w+bMD+C0 IM3(^6l\OQ QA6x@#S1\9e  \#7M%aLsgMF );7??d"u%`N~i ?;w 'c+,FLD# cnITh[ra\Ktcy+Ge޸u墎z7 MkY$&6\eFҀh"V6(Ph4 7iÕ.NC!iN w^0GLp~VJh#A[NctAZ s.+ Bb:oU n̰LdXí:vOq]ʏdsdyvmo(ضe'>|W6EPv A/Ismv,fvȋYvf̊ي,P;gL 6xओvzAvOj(Ƙfl!r@b!OSfs9"sއo_"MhBIsh΋l|N5.X-ח rP hHJ[rMh 'Mf\&`3oEjf[%z $@c + q-pE1*V0;8Q8ldC:萒'7l0~uPgD} th Rpk ?: sAw` bp!8>6Xw't#)?1[S>/Kk Bǭk4g㼘f`k~%p"ysG %q֛͊mD.qR7!bQV\~Gb-u]Mڤ#0:(E̒|zVϼLo~V[ti|-_]G )݋čw>yjCVlgJ;uz!2>)OQwF5|=;S <U+T.J.8_aDH0jD,#9vڇ"3 !ף.V2>(xNsimK)[w-eMÅI2?@[Jhztզ.h#jIN۩ 휑d8ӂ &c.N4y #n^>~?+b,ȓ\ί^[r˫¬kwb )8j^z/뷦5W]PMBxX:xJBM=|+/5!5 e@;=._~^ɲQ7v]%C=(ӶVѼ*W E(Vl b`wc34c/dXQq6; -C;$Hu=dBrRYch?af&+o9t׮+L(gfP*b&4[?EM{ /lhN]2j?[8 XY3 =Z:w4%\kb! YNl->b/"虗-B+=&_, \w~CՀÂ5 zсG#~̙X<}x+e E1M{yG-)E鶷>m̒2̱mxKc7c]pALW;,J!npiN^~ː.g, et(ƂNWq LJi (H$)A6b,(:'v/$OE(GoD8!]Жhe2x?R4 ۝.@ o\,Jy!C0O$*Cn /oxsIʿbe/24 ?Di,cYJ;;b#a:&u+͘FhQ%1<48*P~~~<ÙwD}C56(wtjth)z; {wt%`.`&#Q/DܝtՎ[{cl| j$IM6- ȡT#'S>g{l)i)_D92T+Vl pK@"tCb}xEZlvbC6cpj^;‹6qDgc+%~5 "UM[2Q9)ɝ$x2|)0 )Ee1.GFlLE+yn_{ēl`Y_6DHq! iZcx0%*8ovO-ֿN6p捋4R]5vp@#v4lT" t!#%˂sK95>dxWdwyv۱ 9vƱC|?:#0o,y >117f^#\lC2n!{pIHf+F@" ^)?cщ(IYL6I8x G н Āg Q 2Ͽ]eRC|V|a5)0 ܡ!2NWnx.(Np:DKv6LTO_$xA MJ?EG>`F1Z: 8 8 h * c7 dd~Ik#Hq;2>r`&cğg;m96z|# ]Hd*?= y==MlaJ^0Ds{aAPM8T6ZPd}õ$ÊXcSGx;8کj^Ԑ!za,"u,L߈E1HS|G%Ćh";XfW/w6Z$ N`ͣ|O6"{P k^ۄy>;w{(4neNV9Z40HEAWpB:jɧ~1s@.4=p6 W/P*)^Ѓw,"Zu޿a gz^k=t>ީד/_-yb '\7^vÞQbz X$bԆ'+CSO=a f?D't_%'>KG 0Mr:`̅xvqAA Hxh%Լ|Tкeݖ rqXUFO>y]\Hޑ+@gȗP!ߎ@^jL*Ѥ,<4.d%Jw`2}iIܰ@Nm;` BԒDl(y-3IRCi.Յ 䁒Z: 8  8XZSh#Bylwpfk26Γ]},K d@N<7n3޽cg/\~@Ko0-{'7c`2`-RJ5HΠ7"f # PUnCP $,8thj|zL=rWDB[[^S{-a:Pm.|4YFc==oΜG,-wI7+U$}{ʸ{CL/fv_J y ~:\5GfP7ÕkµH{_|E̟DbʤX T!9K،aD/Id6* Mzdvp dގgI:cTLz}>ոK;8FkH'M*wT'/ଢT39WȆ`J_ܷlQuk]G܄2;wf=3 ҟّ:Y0v'JN}j*ռF%iik c2*?`ᕖ!nf_?)kG9Pݗ '89$]Uwۼ3~Cf! <ţNoؑ~ZUac;I6RMkdMJ( [/14ԑj$ -^Pq$DtLG|f+%)5fS@Rl+vh0>&U6w2?Xn}KVc̅YUjU&Ǻmj1] 8;+  -a,iT}蕆&Ցr 7Ex2DO]HuiJvW9 8 DivTJZpʰƒpdTLL53{W>|6~؍O<`vǓ=zB!^0u} abEӠdxXiimh X;(Sv]u^ychowݑ}=o޽=̟A[3M~/#(T& K(@7'A]}Wb# v[BCdp`&b Nk c gJ4 >)íRBFY (ըV#@v #S#-ZwvU$\Mx,MH3N% 'jǠDy@m 4~<2H%G:,8߅Tv; 8 5`[#_LLl#߽#VxNZ&Ϯ[vdfc581}_#2u.Sg^ .̙c&3Ua`?*+tsC/GR냉 &.RJ V7b{gUz$'W_}EKM7.6aO}Йjƣsƕgxc%w/ckGsZ #;%'L@"s'ģkjpI8xnKBb8`FK6"کLQ j9;uX+7n9ZY ֍  I8>_H>wS~繍hIӶg~0.P<}vϟ]~W^/]~QԽM-l-TXJRH6̔mޗg}쩔^7R}SN9%f,U#R;]clDN=O \2D2k%,*G|_~@ 0BFFQsvЁ~MP&JE5 aB*-:%bi?i$ǡu@ǰ8w\ȲI72e?>%PIJNT8.8]蜖&]?ijex'ӣOHEy*,spjhhӖk(LK11olsen7g mr۝a[Iu#jG\"{}mO>\-!*H5&FOI )({ 2SwPNV^{a: bSh0KS R(eEE,tt,׌Kֆ ˉlfmF/W<8O nnB!7qHD,\ਞ݀kA<6zS6o[~2 (Vh?~xtBli j%OSi̟.~vx[k  =F1-s2qv8|%*E2vӒ5_ gQ.<_ k++}>TXU$Q9n믿^iA'G>4/of"Ip%'Xa&K8|C9$"s&d`>nA"CM+ZK/By|b!}I,YRsqէ5i>*íҤQ'~Qnb#1)b'WEK4#en|Zv˼FYD'\eftЋ^7[|Q8QґTHx`w˔/*i2-ٶIb &TdV9c (Dyhwن}pSvžk rFYC'~3gDKN>$fKq! yhbE{jH^ZQl2p!$%athf&59w7H>  A1Q;3 vtEÇPS0`bX`dWl1PSVb@}B0suۿk_Fͽ:3s;t]# HbD6~c)A֟Ui׹z%0|;4lNw*SggĊ\}84s4u>"3&_ۛfl'rI=M b`{/0Xy;s[e08x& aB1䄲cƌݻ{ejE[Vޚ>]F}W\\Y_'bCmflc FE_ʾ g8ӷP#b6L3reKNzPܪvyKP_hkѨ7#\y@"ko'I/ vwo`>bg.OЧQ* @$p{7q${"fecbA4`_Ma)Ƀ;idP_&NIlN%.IEKƴl~1_/4o j/2}?x1Ļ$+5Wf/4l_؏%CTt:IEaǝG:̝ץ˺~5l[^'C͢4eK.OnBcKNŌ>.u.8`Qn,hBU̲K+Wb9Xch,*3Tfk=C+jlߌ1_ݼ93A4|5wV[皥Kw~1QF4Ÿ4YG唟Vo|5'@}H>j[w?d^;sj`o@A=;<,9tsN8@RIK86Eބ6Jp UnL!IEЪ//o6J:fY2A+35f%=pi,% ՕMpyʕOm݆C?dz'*TwȣR=# -)(r?!(!P2 L&h l2u)Wɛ5X#mnP 6hJ]:`X1,L!33/cZ~ !A랤zhsJ#u#ɸ_)]YkE”vg$Y{uY;赼<,[Bowh DgR<8],-,I>&SB恝u 鱕 ~j3}eIW$x @{U0N}ߣaW|zm(j~'g ҅5$`jKꫯ+?q$=7i}4|s|W^y%h4y Eѷ\g)7ro&oe Wg0qr K;Zy,$i{g}饗zfs⬃KbE><͗ϼ|Wg4 \!8@7 )9o3|w:n}˦NL>dr +߂/{6'؉E&)Fe)ajp% ⪠92y$9bt&X~gd!ȩ{/3<# qS=-RK8eyKCH9\&qZ=zx]KNUҍDG)oS $QY76sוIXΛG_pԂ9{q֗_6{ +~;Y;u jM6sUw/f;#A0¨g$/`Й.%kq;Ætaw7`n:{l_BS&b| Rq^d!p "*HZ:~tPH-GZٚ<;lGu5/_nϚ3/r:^BKTK`+, ehE`cCrpI P" ЩR $%Php6.9 8"n*@*gɁ/];J3J}هd>֭|'EAېQQ>1cmV<]!f2&^ Iv2FoQޜ9;Y 6^( c ;zpvB &IX7)l`&۞h9{U$!ؑ+d-X#WfZG|q3ƬV$bd5 Sl<`$ ]AGs}f̙D)$Pk^ l>n;gNXlr-Uc!/H ڀCH]hD7=E[xe+|zm[- $&lxBJ>UЀO8 LI* (Rp:F!@%hM=.^Pl@ Ƽ.\OGx5Lج[g cqĔj;8ZIWpmݴ1b jg~%JM(~'Aд&%nDW#{V #9~/ Q:C6W1:{ǎ% |Qy.Su444PpnlrIֹwtB( Ew~P0(_X; |,!s-.m,[ H#Lp"!< ŬlѰYQAjLl:5aWS"bf 1*_W`Эj3?J> ޙ94&f/B *> zQБ9`jjB 87*/Il75 =ɸQR)y> IB$pa;~96tRp"Gf, zZ ӀӀ@ wl3]?ٟV8L^Q}Eʀ_dwɜv /ssDKhExotLI6 qTR#.؛}N' *R6gvG_*4H)B}WxCP?UHvW_}54QIC(F-ODP0FIV`fSGWQq",8_`7F8@ի.Ԉ$Ur`8h:X&ĕWsۏnc an4c'tqiL✢rew6?ئ a{#Ip=$ϘE<^ 2pBE;۵4osOIW[^eq&ACs*ɻv%*˖)+H˔=u-D II 7DJ0pMt?Tފ$fkd5 3LCVBܱ: 0gp!M*[Rs;b'Zٲ4 Gz$٭@$7V)(X\HuuD 3tTL.%[i< !p`  \r%T bE, aM}8kgē.dW~7?QH\ym? 8Ə "n3>=Ji`Ԃ.h*(Q A$Op@@َ M4!K|ɝxFsz:u*0qՒ=2^ȝʤC _1tLUD#k3ӓGܩ5yIK!w_ ͐^Cơ3ba j%ֵtpph 4nŪ_áٌ{Egkqz/Ccw+M zenZ `g*v=l1lkT\BTTxZBc i I1s }8ډ-.PhE Q2+pir+-N6m!mbGFNDy Lƍ<I*l(wB4%`+6kFdRv@ ~ O~﷿}۝w"k✴ܲ[G|0>ӺI\?NNN%k(C?UK\(_K(_+8ns[ICE2p4Xl>M/U}QSQʰ}C}M)6y$YBnl̚T$K%6, NҵH_p41'h I/])F~pدkr.FgV³pw|$ގS&E)noυ`HgGUc80tAM^iI QVdEHz~A @?f~MֈU,CuE?G:!ehܒٻ2rjcyͯHeNq|]W/h*~l`vᮡva1R?L!cŔ屦29Bc 0H 8.a?>iGJEVp{p࣏v+_L4 r". Pk7NQv8>jm?]%}! (K6bER!z` \(O|@r+e͇Qn,Bt% iuPl8EoLto[kwݕڟk1K\l4f(`gF(퐐䣐ON0+dNe|}W+eL@T(;|4/ӥb;l Ei$F *1%KK:’^tze6 kGThɵ|Vah0$ef'P8ʹJy]bg-(|HIDRчDA*Z#-Ar7bSK1TRqb8e/Kr'YG#J'µiiѰagGCO?ZݤjYaaMm.Px̤I^0u6/tS8a{퐍1y96]%=/!C #Ԏ%GqHȆɕ w@`cc=R0Mrj) |,B&Ú_[lHr׿pAH4 թSosב?L܌(La;[9u] rY5I n\Ek-7.=d5@4ɈBNcxE⧁Ѝ&ޜ*pb|@gKHRS_Ûs%> HS8/#N][I DYWrVf9$*QɃ ([¡e}Xdbch^UC:QF Cȵh1s ̒S\nLK0ݞ?YD jM;a/f郮hF $±L Hp>@arO] EVR-[FFg@G%11aҒ!y8 B*Ofj+f@K\;)ޣ/޼@D1z *U%S qZ6tSf}. ;׺ ffZ( }A%v}2 88XryP6>}H) #W`ݺ `OUo^Pf^m=4-%^]6ۭnN7[om6[:1la=jB'D54g-ٺ| ,_|F.QAAdU \ Q&sRu82eNDԂȾqI %Tqm?j F$#gϞO<7lE'2@AA7 @HW5"47+bB;OXn*n@W8bYO_gd_'Jc-H'D)#9I?4+%HجI !rm UPk5ņ0 )4S +'sV .lMX}U_˪t^ړOlޑE{d.ׁiD35H&ӴZ׏>}D}~,3:./ ioP3XcƅV>\4xTY|ݣ`f[HNYJ>-p]re^ x6Cd+CT{E-m(w}l2+g*Z<(^ʑ# v ăo_p$6LC|*GĀ~>E 6YxKUŎ=t="l, X:Yxk#KkADHS{9AVC05 W.kA F٣*ir kyuqVKH7kj4h|}ϻ7\owةS,;Pysfft Κw )Yl\k .ڹ~R˲2)<5윹sYAeD|U|^PV2>cUJ)"0y 0wH`?k:ފRԘVd4X@QTqӀ)q'j,Miۅk%AC*zRK8E bj @r))awIiS\c}ت]Ƴ߷eVةc1X߾7G9{p񸀒cj&S](l#r"xgrq:@gB2<6wtj.Gccjπ3n善ȫ6XvEbV/fG3BB 2eD| ͢4q@'묳7pCL|f8<U,D4)m$`H8Ѩ ' `6d䧟~ WRq 9*IG /[}i,3s(q:n1ɈXVLҴ#MJfA\n^PE޽M@< * 8;Fl54Vm7:vhyvv[m%~t"g?9'kI>q?na05m'nW7h\^Ysimzʟf.Q_QJHTϺGSIPJ A1U;2bzcS4P`ᆡRݗqKqAJKoL?wܙe !Dt  ?_ _x :Tnm7Ȟ÷ NHGl͔ 3\  vc7YV+$RL";SNQԋ ճdJhf#6nӐe 6îKi7@I7k KZݦ[olޚ?ޡUWYeV]c(aʼn5 AA38IF.f&57G_l6;NҁgeѨNΪ3c>J̮jk89㎻KapҺ- ,bڔ׼!e҆罸|\r=-V^YmrL6=d]KXQUHyH8#?Kԍ=D ߮j(]xzO`B W1\(X?xLG*D`Ds."m3)*m[rKl/$b\n+ĬkC3NtF.ix5qM cmCiҭkc:*bDZ2 &Za% E3QB8EauU PSlu _bI$?䓓4j\fnPNJv^U5`Qwfp{cw͡KGbTq9zjb-K"A(GƘsH!o|`WXF҃24aJNΔH-Ә_]|evM}fz-U_߷ߘ3C0LҊf]ИgƏoD4PCc 3% @D*_=1l6I+CS駞zsaQR ,fUH"N6pd.\N5kn*ߪ:5pL4(L_1cs+kgm^rcK=nyrd-'y&b]L&G)N Sl2\<)0cL9o@NJꭠTy~4BĴmsDFc:Ed(cZ՞PITε !mV5RC\q6N8ɸSrj#&c Y]ӁoPY@]v=y @BR&b/"F1TH ʗ[jJeءcV M$'YHRh⬑|OI^{CQR6*, țV(Ԩ<;,|.c<k444Pqر׫Hٰ\c0=+BJv]v!`Μ9 g}}&WLkN"O6l6 } 3g &<Ͽj ՗^Js>}vuWMF=iKѴ Nd *Ǥ1݆1i /t(fR@(0o]a# .,0k)6WI٘V1Q4U8 8 8 Ԃ|aZXd w C>4D͞ݎ7*4d]?_|RBƀDLoI{0Y(w}!b*:Sl i$",$d @Z} ;ozNi8;% @ %7Cn -av r>ꨣ̌ ŔV%uK'`4>#QBkw/aiiid 8XjB/D5 |y[VZvlnbP:$7!u/˴ö@C*<>|b IГ&/' FX X(N(4%KH|-0. N 5`?M.6L>s>=WH]14ֻ@RO*F^\0j7aLC0e(gp!x':q!%(]445cK_0! H{deccGBRq+ڴ!5n5>QNRTEm̈k}Wo6 J AH Pͅo1y [c\0(=|en1f*rݷo_ #Ð&HWo&B!5QaQA蘉}r$d'Ij"@TL\߱eWҒ06w3H[|V M;dr)U*]JAG-;v|=<&R#b%3@HPenVZ ک(qDT3MiAB'6r>xCpI^@%kCL LF!#NϞ=)'C-lE2)fyP`&;rl7K3++AP0l.O|:"^\B^ˆbݾ?9iAԓN:L3ns֙3Qv[F[]ַ2 j^hill[%ml}u$,_,'Qwfhv)ӎ=q ΛKuc'TXB{6cD{"Lu]##a O/w}f3;s=v ;x$I1Kp xwC mJ]#47/8Ң7x_تzUVoI8Cns甖'Em K-4D\Huw]56\of ]5 ThaǪ-e T(w#hp(UنKv_R0uAOo[6'U|Ǘx<\USw0g&孶ڊd&NKn  +|`V?6D={dEl FeG7)y* iZ+מ\'NNN%kaǒUb/4{|>!#-kqq#O]BRFmb jP$ z,Ν;aȡz _6_ pQ&Hz7D`5īCiBPDfm8-k?L^x!!V:LӞ,'eOi"!xNDU=B҆|\NNN-N;%KC`2$4wweflv\BMI Q-9 R&;gj%1$?a(K |=DKޠ|XzBѠ`6ŷ*6ۥ ½Y?3R=bцRI;_zZ3 a(CBMؘxm& 1K1@1Νږ\)sΩtR mrR&jr G#m5#? YIf &ԩSC/ۀ4ma0j:u&X2H]Od }B) d`0a5A"7>3W]uts_SsW++[l3Ā)ڔ=U.VϮ}7n?~'ç~ owE_uT8X -òca>F#eHOPTuN}H 2 $T^iO 3¿d.h y}L6r@}>Kʷ%;2eB?INK#m+Sp_TG"ǁHtϤHuqW= ;srgΜ շ J&d|ErLʵq(^u3Berjq3MkH'|=} G ;ٯV>C#Xcw-0mB7 grIg窭f^Vp(:ޱ֡$wό@,>H2V(D(FT*ʓ5(6 8{p#ŗrlmG;HdHhTIk_1h {X| /;MEK+_tED &Mbh1C,>wR4ûXņn4&w}z嗗?G98j8*#-ɵo._*׃@" 003i<:oEEz?1gǰsOsO#Hhg˺rr=~x |NliLl+{!qQ um ɷSK,;VG5? 1^c&wc wɓ21P.blPGH5N[BerJ7`|.Rp)}uO!׎s$f C4XQZ=T܎d/HMF "Hv8PCAC ۾ICa~BoV۩\H4"ad7*kWQ˚;kJY8j fkJڊ 3_g`ux=VeFVy5V o-pFN24w`Da<|[R[?5ʊ/bb%hutWFG!T >G_4 "?o~cPj `Jpc뮻ˉQj#.ZdL|&T| / yȢbqડ3D4cq@F(|W!#Y CV6r3:vRsHSxi Q7Qj;1͙XڪO懏4L΍djo}c>[xfksyG+v'^elzٌcE&a pdu 4P ( J@:$%z|־$ F@16`J=E+r M؞IZD J-.X:CdoM1k'6ȷ(0%񡴽i(ceȍD TGB*488♠0|XR-:,W{cóMs%i=h|vۃq1t^@L\ }fmydͺm|Qz#.-<ͷ :Y-&JdTzt$#}FG0l|XXuA*>/]$p 9G;vQKZTcxDJTKYgdQd_BL 6^ 3I|Gةu7m[X T @J[8GA$H$DŚ7>> 5jO~R]ԍ7<񃼈ꡳ(IgtlU>jbm>ltwD8 sǾ Qx4jf1c>b ṵ@ǰje"ɖ !snݧ'Xٵق`l1J\Ht+2F7}qЊ< M'ɚD3 ħJ%4OEgX$n/#K@bNС}R'fMd)@nsd Iuscf$jk`RWvvU(i̞Nug6aǝO;!o]xVd"r 5;cL(#١y'AKři* 0ճBR|iwEa9#GM=U!|RL[@뮻P f^دyd5M靵Z}G {-/[P#WQ8RTxvb3fL̝ VN.)&ɝ+u]gTF%Mrp;n9"-ertر*o#Dax[|y; b%wH0V(K}L9XIF܁Sك"ܹs!HyP`tE08vyFdMt& |FF~XO>$j:omMqs$) wRʐ|I #r GZlaĠP,Sp!ExqjȖ'%pae ^)6k CHԷŮp=g&%!s/{mL`dD4N @<~DBA#>\hƠ6x^o'#-hЭ u  [nY=ER]; 8 8 Ԁ 5h@{ ||I} s<ʘ6 :DBb1z%,Lm'J1C[ @AISd3&dQЇ~q S{@WC LC^X?:2{rl fjdոU%k4444w\°NeN4@"T_ЎCⶈo $&.$BC":!!ǟ`3#0v똴>QPpu`,D UE]GO ^Jjf'e ک?O t3e`7/U8s$>GF2Fm`F1n-y /iiimjÎ@F@޿y6f]G!C=̻!dN'cF@r)w\h Fװ'v֌:# J Xi>__~AIBF 1bA$[TM_$?b<:z0tkCO @rNj1,NF$,fH]`Fb)2Љ5rpph{hpdB+rJ=U0=Tk`! uABVv~` QB.$2t||@?Ж!*OAm^E9!ݺ?4ڠLkMJt?Ks;5 Owߍ튴$ޫbd`^w*ؚ.]슸NNNL٬xxG3X=D=ɻTPDO .=` Y] ^u<ģqS$D)D(c֙T!0V@>.ө)Ju ?=>1݄Іb-o_@a>ZS?A9C(mtUdYHf PIP|ӀӀӀ@B #2??\"|# yخWLeh @$>=CD ސd!3 c& o.LQB-`0m.28BiF=*>F.95#{@3U@`8M o\? G6gy&-:f.,+!A$]A !ߚbJ1^6We ONS&k4P*TW/Uϓi7` $#:G1Z jغ2Wyue&(_pG6z9s_qÎ  rǷ8egq[fXٽV8n馄5* "hH~$g  S2KJxKIMl35׼} j-8OYӀlI1b(os9^9#_ɅACW=x2}r0tY6N)j-~c,v`g⫯z֬Y) o('L:3CvyʔOC;ai7.]mw<{ Oxs[{^Y"a8#|\An*]խr=q FWa8+uWԨ|QU8zHeJTB&\61N j[4+B;}РQJ̘Tmմ,dO!O e M3^ųTٮ{P,!-INv[U` v*MThb2+ n>Kx`!>xk9r-0`@(re SnݵNͮ886$5%`TNc+V=^`jAH,Q&T8r0 *q>2 (gN # ȶ75@haDq` bJr'&?<˔7D>N_R{4DvۏґܘҌBPY5ט5 O?4v8O0fh_(eX=M#VגN/f^Ƌ1we,m UhMsppp(QXv:I=l%]<].3 {{E{g C'HIWfîuZyLP pʃ 1ucPF&]stEocm=<ٳq5k 5 rA"X Hb\xP&21y TBiBi ?"+-8}zi97ӆfCx0#aK:v /D#o??$(;/9_>sYǔ۵< X1 Ĵ 937W ur ]j]v!+]6f̄ |MQJ A4 iI% m"u)'7 PT휯$UN~D\uk|܃2Q&s0bcJ,볭k e'N9e''l :ԋe;qˆ0HW;ڃcHhȹ`VHALRTBI0(cU uB QEoƸ|g"gk UQF\#9wx\R .MҼ7S,7qA2HEl m,iej` #2cfퟓةzd9q6|w9h)s6u鿪e'FyS&M&7Ȗ-U[9Ѹ;`cK]Z0j#zva ";grv(Um\R S Mܘ0evm7|pV +5ryL.o*)5 ̣< $bB"U سg5XC~cD(\P4L$(GF+E[_~ s͜Zՙ7gfWu?8M^?i X7bg1lj1&Č1}ɶZ *UHJ- ʃn ̜#69 e5i4-Eפ"1;G,kX/G%Qy︣ĉkx\?CGKKi 1ܼ"tbTsp]$\uTį]]udVb ukz &}TçLbQtO $tMPq K"G(tӧZ,+ L)J2@r…Pr\yL-4wS?+_%k4r5P2y?(2h|Q:캈R|BU$l`H<}u?UF=6bGL `m'gb޽2?}kWz䏏?kx1O3E ͮڨxjh3r 1PqX{AzE,~{7 +a/J݃PM h&  ( Bӧ/䓌e?ꨣpU VjraOYl@K@ԑmf N^up TvYUj?*6+E4s?9; +:EET1VzŒ^=kK5M5n2ӦyQ]ýme?!!ɠ~~U`ZAh<5A*t!`>j~O  lrB&2o5T4G8+D YwuAFlŊ̻tUMTH5K/ )Z:  T`.6* u>qϴ^KӅ # *%HJ- Y4ԟ򊬸N;lјztcI7f64dI榛Ǎ K/=#AC8k_{3r4,\ *S 4yduKBD"^^_^:0G#1*$6h欳΢AAjDd5^e˼Nx 7DT#O OYlBJ lLc|쌁AeL9{謺<EU{BU$lVl^ČQ13aB#tC+YTTfhcb\esc*Kӧ{ 91'xQ]v5x?r!7߬8kW_QF^Zkưאk UտmtZLgA_7PaC'hWh]q7@E5P1nZ}| :vijZJS7 UY57{+<tbگ҅ Ȏj٬=OG0S^6iYGu8'vL~x&s /u|ބZPhlӰJZ$SNYd[+Wy!&[@B~!a%(`4 @&t?Jޤ(8bObjaݝ N@&TEfG*c6plou0It4arǻG?׮#2we# ^#tM {+??9EMxqo~eUE$%dh>6\Nqʔ)AH1 Jm$ [/]M<`{+7u8 TS.GORA bbWA!vDJRJ\/y4:_WS#]O!4AH&Y鄁xq; 0緿-D{i v7֫ѣG$$lҵ1gl]w.Ӣ(v1>Q씚UQK. > |WPc3C{ՕWsK.ر>U-O:K._v\22fh$QM 8?x~&2=z3gJ JQWl;)u6@5A=, 6ޘ3Ѣ4<5$ޤKxa s!~W= jK T~GŖ] \O>쮻  Ob2*Y<*kؑKp/i$ooAӘO!5vC+~T8裏:jq\%i;;{g>|@@wܱ{wϿSWΛg5\ ӚktRwohIRh䁃u|KVw֯kWHGgK@6l̅S̷kdt>/퇟(+Oo9j4A/EsiIqh oH.luR̙3eF5;hCC/('LU:3Cw2Oo]6^̊'x"螈];V5Gp< :|W'NC;?|MZP?<:tMd)r'2CA4z󟗖.3a7AGLؘ?X-qw}y{ ?@v`KWi q*;"9t~/bՙH»zǛ*PQ|j)tl9x+O8!]%pرr-L<\y+v.$&6dQЍLPmB ՟>RxۓZAؠ1B v[^XoI"he|EHT"cl!yzpQ]=.//54wq {**]Z@cM4 vY[ ٰkw8 TO@Ə>P#z9w ` kp?T`rԛ9c93ǜ9s! .k/f}oԳ}6pahF1u8fKM5E־MpY=Cy LǏ2Lq|d\J[,YB&[+ Ad }H 5b g?e0 0J`5FDӧ}:}2+ZD9 B5nצ e]6>l\npwK5k`/> N> Rp V"!vp~ Gx9r2W}D%<|UVÊ_]E%?W0B̩/'L^6Ou4*O )lziX Pc퀸ƨJ<π;(2ƦK ]=-#@cA'tR+uE5&Ԉ=<KI?348KH#OHP&^:ulU0v5j.E]NͫJԳƀg ;57zKo?S(cv֋g;f Վw,׀*&NҀ0e%9ߔIsbTO\>z6uǏCdPÕ. ;$(81j.տ=܈NU@%xGirtcUXV6]`(coON0ыf:L+ZtTK8jt|6aFj+ /pUW 8p ڨ0d1*иn$Qm4Ц4X@/pM-}Z1· ^E9`dt=; ՒNfϞXС=hG<9+dk̔O;*G#TH( ~_P&I2+y׭@р|o`[͌DEpǯv;s֕Ӹ9- aG"F'A??O*w#Pق 5)x|WyY38hC5CKPBF< I"Qf ¸Kڬf>WaGoУ eNk i2C3f 'e&N^3liCr^I $&pcӧOTGګ(6jCw> -XriiiiEk =4LÕK0F$5iDʪ^܅NNNN-W93F[ZMaA]>fn2+9rdCʿ}=aǔQOzqЀ`HLV2-0Ƀ]BŪεwph7nU#ejhlِx6j2E;xz3θƎ7c=6`r}aɕ]ZA\4P ^!G Э[7"o n#<%]44J50xxzli6uTlZz+WXi- Ӻ5]Na@={dMM\r s`|r]|$g p 8tvtO(*Z J,Ba4 vJe7GQv=Jtph+0|d隳G8^v~=}D}ٲKЗӆ̷k8+kzm[{:_}5y|0r ѯjxu?!_7t]wM:5ehp)`@$p\. I 8B E@>(aBIMX[A>ا YVr=LR VQ=%]44@+-sw;kz߭{!pr͛33cܽUi:7f#1ͺWߍ_ _h;>&%7y(YƋE4ov| ل8;*D]X1wy'aD'LP9yʟik:Qs*PLaG.f{̓ЁzpUETi/F/:h鮩ij_xG#*C%O8G7cTr?xB!\Z׮]) T ɓD@[@u0M6eY}Q= ;~`;pF0T:SrAJPsx6lfvs@k7<{lb>۹s=؃p4!lI7xc"ƍo=,;l0'FA\H _9>+q&n%T/JXcAS8@y`JHlhݧ602X cKJ6z:13 Y\n_8(31G&쌁e̴Ū'չy+eW]ՖdcTHvGM4'ծ]Oyh|k7Ȏh+*M i *OӞXZH~41[Uq*s a|A|K/ؗӟ(qC.$,1ƫJt?W_Xu]`JHDuBb}}zr:]Xϱj^4qbfБsJQl^{)Pvle6ԱcsiM~GsϘl' 8C287%V2Ygs=W+ij*LvS٪' xT0zA^T xTfB6(|B&߅ծaffUGYAJB]?Cc+Z\3%2d/O~x![5`'~8zhǜ9s 'N9'Ar6RTjFU|6F%JPSN9'&p+8bQdsZBcnռ*ڙ uu|bdGkd%iGqI[]:H训Y TxG`ȑcScUAraѣ#;j'РAj]׻7O#'Qh#nuxEdin. xàFed2+p4@!(BZ )1أCIG[tNWp ^{BSȃ E>9=:XzV*:y7)@L1a8eߣ8&]ZM k]U<رYuհc&3h$8v}FڿiWzwieRe|DBڙ!>A3LEԖI >@?Q"-[n袋BSN6tI5+pUL"cbDNAE%]m\ߩS_5p(J6>ʐaƜe٨?VTn{G}Լ:kdj`_q@O&IPfN͍^@Ăj^ALjbzboQy9&R % >F _f.{yS3Tk*-Q<ְnvT`}=yD dCOBR&ؼSsX[b1.nH=V辂}ֵ7o~*n1h q3ydxV[mfw@Q8>cdE܈ [oG5~p]tiS/Ow̑Ö/MYm#r4'#/ރAt6'9<˄;Շ pHvYL&Pyll34ndR+ ?N-svCCy=Pэ 0i1 R1ᑠYtn;#@0IH5&dBcnU8ĎFRIa|,o򂊪غZr#%< P"uDnr }hmffm@]0#_뮻b@p~K9NḶ>}šJƮ@HbBNwĊxNJu^9 ;6RUrq=; 5L RվB79@ch_Lh&H4р0"$5qph. DYs6B+O%iP^n& *p$>V9{Ĉ[0!NRH5R% A/KBvޜgqpphcWAgqU@P#'AW>M+J 2*BAN/ 8I=CGK^!!]NNNNUwl+`F !#/2yCGmk0$2e@0;.OAuNU֛mD* p7a#YCS߱˝@hF B,puMqxPI>p@v$}WK ^uUHKxz2@rx=6i3iK&.WPJa5\s%˵tHQO?4a{ʰ2j'Af]vK\0!X3 ^>O^rx}TLQٔQc_g7md! |@Mk=1&9_ge F/WF7y>ԎiW|͇:BjBڔ1y dCMصqHMzFk8dh.CdF'֒-~-dT2.u(K]wyO<t麮WrEÿw#aiued u)5yق]%܋;[A.XX;$wxwsnk6=cٲe>l碤W>:ڡ*(I\c i_*\`GzxdZ/wtw@K@w\=l([.W˚֙Q#ڶ,3 R /ѷ ɲ}n{oTLd)Ϗ{#lNHT.Kz|In@4^U&? /`5D"is9o~oۆnHHJSŌlH[7p-1F$ v8 ѺfC1jc7GfH2v; sM?ՠ x?9k 0rޤۂC tLtmp;  Ȅ|NcfZ79z^OJ46y`f(4_.<#<(_ |[PHSˇz*@L^ U%aԤG!0IBO$1Xs}: Dh W.1:(cs[7L^{mRr/mwHii ?M=WÚԳne6Ss{S} TnTOY&qVd{~^, 9P#]X<)6Y$gPT; D@\#URފo 7R5}?G]}fu%QYJ]4К4 ^scOV`Gq/;Ąf߮n02أL}^PfmHDQ|'4!j|8)3ӟ'ܫW{. (H ltTzqHY;)֋n{#ޏC+zfБa|CkLصqh+aGuL="V `ơ l2{[ωՅ7$b G!ωu i<]fMjU<;h裏 <@8/C?#p^|ͻč ,8 2a%0E9D&҅k4,gLޠBl`S`<DQB=;4 ^Z;KZp8 2 4eIBy9d̄O5'dk lJzvpsfɲYIcQtؔ 97G$⣏>z?nرcɵJ _8gΜz'n۷oNrLҡk4./%@<3zM$dpx (v)(;:yk8  4Y{p!d'WBjیDk\8#lD>'e>CpjTEEAbt/ ^{DX)#*LRcBbnZ;:߱T͹ZN0B-iBNV5`|xќ}`j$6k#9zhL=QGꪫ*Z1}9n8OC@jL^G7nc0JaZZZL Vh@>BOԬYpiRBw}HO0 Vd Ig)ӷ-#`ԉ4PhEy =u Q[jݬZ`d$ќ#d8CKpj)DUiIhKIHJ1Æ \;p~ejI44 6~D\uFiǰSpv v$78ݷ3+0ieh< a׶$}H| 0~n&2&MS  7[cc :)933ر,8nxS*RcWDGLfa5Ӛh`e!\beT'beZ;KՀ`z"4gu$!fJSk!%hnZ jtUKSi ] +;gHa 2hM(E^Hz' -dp[gZ:k}i?u\Ӫ'~:t56Fq+sϽqI;LF2ruI'p‰Nx4뉟#ģaBHfF:IS줰[/MO5JmVZ/Oe2y'=M‡ag!*V5OM HBo[ n{Of r?)Jw1xq%:WT@ȩ> Զ.梕ͤ(6UU-[ǥ1m6,tD^;cI5Xk3#oWCksNlZ~Z׸f5[w2O>7.]m\^,aK!+x#3-Z+?Сe|KBR.X<| BŠL̖V߫Z+ ǁt ;5(_=d|A*?SO(Ha@0$ 8A.d5Gy)fs[ބzW%O/6BA;i,XЭs-J:fe‘Q;dV;kz߭{Nг4j;ZV>+)x5c;MkG~yґ{6$?.>G~KSP:_/˫}0h^y)l{gs{Tp1z/e*W:w}2 0%RצZKz=# ..\NH%3ň'L6'i B^ƢK/48Pa.Z5[55WDѣ4NjhP"q]jFRGEe5(Ƙca[C Q5tz:@^u#ԅ۴" ;9zeڷ'*.E:;YyHQ'hH\Il I}s'Հ;쌏 B"vk6@68A2Ij Qy*%da1'L:%i J^MbWut|j~?lAJm_Q MaliJ6׾I u>ϴç7-׺MhÎvgTy Yѣ caaAZ/byNjbfTc~Ȃ6($W6OVyypqCe|4F;p>N Y:$z)QjHm;GdV6}7jZҁuP9 d?ze%οkb&#bw<1٧^C>`Q3)bOϝeccc':A;cfF oUF:fIjCG98*<9㩙ʪ!ۈ1vg G%['{`̙M()h.m齷X"ĉ *Yr|4UՏ|Axvbpe$ }b8䎘hHC )yFBp _qN^f:;Th?IF0W ;Nrx$bĈbIUW a[ChSc AĴshgy?给:vl. dơҙXVua#>l+̸ẓcakDX}΋njV$u"yPdɽr=HOIKo٠ɋspij; K]TPGOcآ*].TP9%}b'Q"zxcdm“Dm tڞ-Xe(/n5B, WNs26sA}%-F8&p J 7Vh ?RyOPҚGƠb17ߔ*K]4TyWp}{5CSaQ Od^&ƻaQr _"oLޓ2GK6=јC02874dB[CR&iG:묓em\ "嚦u#Bɺz^6:kca6`qBe1Yc_f((զ|j?;MmG',f Oh,Ac4V]wu5ׄt!k d=]ěfCsL^v}4҇3EgtX3q) @y@Fm<|khup: Ծڭz/4+.dRZӦruejuk2S{PGB4F` p={رcpEƤ^Êkwޣ3=$:+jn6h IX]&_WfQl]\"CB6]7u0 2 _rH07c(R ܭ@jZԧad5.N0hÎ ,jQej6qTnpXIߴhиP#&oqR k+wth;sW8o 7X @1| Ŷ*whH5#4iܭӀӀӀӀ@-h *Vb2<}r2ԮM Ў!Ů7R\ ev9 8 8 8 LM٬dlKU-aU˲Ujε/>}A(IP#0*7!Պ&:*$tppphhѓE4*\v֞PHg7dNZNݑdfAGک͖.nAsMطQY]F&DM LYn5(z衶P$;w.b077|s#-jNXkX6&gg.UT$.RsBbh "{pPAKE;mEZ+B/!mm|ۆT /.&YffϞ={==o>Yߵo?2p3~nѮhf%4+ ݽSUұOI_""4o./vUm13x::!V2="gnbH3op(|]T#3#`:N5>-ߋ/VofyO<$AIҧU :նI c;Ʉޱ 9Fwv(I@-S%?#1=!)m/rD4{9„yG\{I?,zzK@ psm٠C'O48mmt1#R#<5i>:T&> ~uhDv 0sLLAzW6nC}H7IEQ/Rt]좑2ܝ3O<θG0شe_{]t0#+3h l5Po]ZX +ś){DgWV-]g[t\jBAH;*dQT=/*.i4_%03wRӤnAHt[fTZhT`7j2ȎTI6bػYu˄a&BNʇ|K#G]b%z &?Yz`PLMݢc@ (kʞP-ѧ7!P+*;_=Iο.-ֺ RcuWj5،mL)6hAR%Aw2fB?Rݷo_z5T;&%YM[p[Sh&T"G0RՋ^pBޱ̙q+ϛ7τ6NwlyËoQڱ*T'%E'82W G -͍Rc 57eb l )d41`5p4z"௮|ZIԴx@b$nt7Sw[UFP]*-Z痖+==җ[n{>"F&Hp8O=/[ɧNZ LX:u\ T'T@ #P_;l5YK'!pEm^m*^l &   H{eD(IHfCBR+/F@@@evJ e;P $~B& #4+ @@@$+.g6Rw1rTz^֣G.bl"+mŠl@@@~zHW~=PVr˂ ;,T#v(Gu!5*FZ6MH" HGFQ   Fsrh3^j++˄%3D(%K$zӨ FB$Tvj\rE<8k:0-lK+Ղ*!3h=֩v3tzH*nܲv:t;7:S$DuI5"n.'I[&FO\SU%I8Lm@@@ "HDAС48A z:M+k.%\]RƝm& $(F&>eN3 |^c<鑓q~e3wK.H„ fϞcb9} ϛ7C xKKK IOOo=,I,RDv #[:qhv4W":jGS\JNzjuUG)oUctբX"t5MXEnQX$))GQc"U 1&H  طqU#;ss3Zwm .+dCWE? Hk:IZ8y)[70 d啎9iMN:K Vt(h+\dN/u6I7Εן۔bLk65l4b=9:{eai0!pdgoxA>pG7PСsXvW7E;Hmt(/:|;9k~yvw&C࣏>jhh޽ Xц0;t$S̉Jg!~G 'g<8љ1A{+^F(@LG:wWr]ZzG6,N إKv+33|1'@ %?d{t 蝄G."l"hHd8wIYUҡCgRiц;f 2H"věQU G#EN8Aksssцް@@wb&P }vZs[nm8uЎ"p)SJǢ}*E(@@ 5 hGL['T[2H ;;[Zц'" @@)w|t:PGle˖]T &̞=r(E dmnn6ʷ`8%0dp'0yt:8G ܞ!e~8R?xFA\Z]N;vx/tR4)et>}zW]k#d#+ڑxz{ex8d    H N@Ҏ4Clil `|VnŘ@m '!p=&a'@A@@@$Yh    zGk1;`.C0 5۵kG;_ƃlY@TQ'*IhdvF$wtF;:xFOS-cV7uzuEJD gSŰ:jgfySSx&3Żphr6gnkwP&&Mv$ԝ;w=$#]C}Z[[ϟ?ϝ,Lu/׹PrR x Ft˒%)Ղyss>ՎPV ]#ѣ=z0Q7VMftD1jn5Qfƍ볦w Biq~Otю\8^uU_|֬Y-ڑW";D.B"h˗s~DzG|MU6jxӡ}_}uao^ʬ9>h/d˛u^rwx (ҫGq]Ǯ'P;Q쑮֎\8<+krٙ3g|˺Ѻ!N;jYn #R~SN|OiyLr2"tp~MJ~M[_yFӴrD]ğ<7p lzv80}"m{Pʳ˃Ձ$NΧM.}ij{ѠQQ?/uޝ}s֠3 Jy9ؕY;t~ҾgACXT];05kZ#8y䢢"Zu4nxwկY AG׎hH/4 1g.7asMF|lp'Hs8!AGynA `<(47]UUON8q7xc^^CUˍ@#ibq?.[wHi9}9ӄ$Y}'?<IB\i0GԿ@\~߽W%Rmu@q7,I@>TgK) Vۣ w./!G`RJcm%g)x`ew3CVJ)ʡko)Hj#T]305ũQtQvIjΝ;. @yhC>7L|.}f8N̸[43 L@SG_`@"4={ضM-O^>'M*'(Iz4̇,JUG=Gyvwx+ݛܽ& [-״/z5íine\:ţQx  c4֘#6WocLYtξ~#ތ-{ÒoUW^ -MRYہylgszozeI }CUL |c3a((M |Zl6q`FP/)  qnoOl|#rm+=ۑϝƱ?{MCIDATf 4j9hjg"|dլ UkdVnb)ޭ1&wGȬ˻٠r6x6wm(7tSC z)>vX5syc1Ҷ9y!<4Xwǵ->QC)DE@:ߑdl[g?;mT6y$rΝK.ا{#54Oomy{~$_z685=CDK:1. @茞t6+ 1ZC@@@@;4˂׎m~#6_~_(K;=BMvymmkڶm[S=:j/X``Ҏo/#K/m} Y`ĥ}d%e?Okwqرn}mhԨ\2]tDA"E>:wh)hc^'oϟ[:رp:y':Dmeo+L)%ۏ_gb"WߣoZgϮ#'s2T{eeaH  n߿ /pRagyVߒoϟli9sLzzں?Nsª(l`\zzzCHgr|eb-^ )1J*[94Q ({e >+v,{A2oE`9L ftVzQ%$vI8c<-y 4s ӎu;dvŎv_2lvTH+nDžd r#OTp9D}&nڱhܭ)={x2^#Qvװꌌ jGRӄUQ+XMQáciDܾc4E . avTAUCIŰT('VSӎ+}HB#SؿgW@:"hGa( D:p55[ƍ%Y9VM hNv_Nj6DII .aj KVՙ%4NFi򍓫xM%mv * J8$U*1|L8X"xGM#ˏK9G:Q#{D\5NqsֶGZl.gk]fFA\Z]Þedt JgF%6I;.j  x 2!7zEQ܎AH#$' O[cLwT@@s ~ɂ#z@ٳ'-LIRSS۵Km߾]Һt ~a^.#GBSh8s9zjJʰ&gs1bT~ hjlPl_fs7KbڶnG)k I=<@<@ڭB~YeT U_~'5wXN*?v=VvKс-lkk[=B7UL*Vyl^]@F̔B  {3(€GfdS $I"pL(M[6ej1մ!h 2 L8,cXE-Q-P oS$>-&֙~.0 M  + l1޲/+9syD\+mWkԕPuMNz:ajRLyVaa%&(_v NK¯6.H/P՚f5ZL1l{YFa!MFK&ĕѩ}֮P 2>k`Q`rC [۠]i2p/Ad2x*yNY|wMNqg@r4;p3Lp4r=%Oc7U,笳sebf)}%[E@5 uIOV-X͎bCeP$Yk:c`>LU쫙h9!Iu44i#ǵY +pfEfY:`c؜[\s IVrfF2ԿlR;s@2|V$W7-Yv/1   IB-ЎI&@ wqC$+~ ->w~)#>;~ٳgg鑓9} zbL&"98G̙3n߾}ǎSS^AD3ӧOZʌ&C]Ctm'_8W H88q$7ݲx^'rssMD4$v$,%jy.?qӎEnYο{@(K;k uFF~Gת@"Y;*Bq#;Z    DQUH"@$'@H8}^'|/F!QgM)vv 5 Jﳦ2 ,>D/BhQQ2 iP{ ay?=I7>k{e8`w ;Yӎ gЎY G}@@@@,hG@@|O@Q|_ T=mmڑ!khM䙄0 v&uC \ (< CѼ5   LcnYƣژi|Yw휵Q}7Xk}G{FA\]15+˄%#,^I\#Rz,ɀwF B*ZwqAiI;.}@\hjrZT_*ɮȍ9eՊR`M%r LB1Mx\Uq5 E>Jg/[,'Iםw9{욚|zdNFfh++pO}8h0.=]e=rAczkT.NVIr AD$7Jǖ1G3(Ym r"w|闁.P  H '>1}=/ JRqI;rϬ#-N\ NJ&E-kzzkQP4ӎҜuJJCpf [S02]S2ec|䔔aM,VToAP"9jG Pc+=#̝1s˨);KB8rdI;]{K1ٕ78%,t ff0y\W0ۋvs"{Ka8xM1XP΂WILM6UL*U ip:; #/!5vk_nf8B`%BYnhdWl7Z R2@e)_ ɔ!-4JH*KT)ёZ!#la+)=  {EW\*͂ի kAY3mԴeC]2(f'NTy@G0G"P~I| ,ZYJmjH,ҝbJƖ2%Y^?ncBcxWmQhG'㜚6qЄ᪕_׸o_c]~N'k`'xQ%@K5UTH5t&.&~׮@1 m K@x瓥zA=H$*PUNx=Q1 |NBȝ~\&T-"fqEiclr(B ԕ6KGJW׫fm kQLyVAJ:MFC38Nڑ?hؽba=0hc6-9dk9 B@)kd44׎ma#_ad| hQHk<䉔ۍ=t' 84U&J2&9żbe]P{}`]\ 9qH1Yn[7@v|/ IG S7%Oc7U,`6cmd_U&Ż(@с-lHrGøU(NsypGfl6bC&kGF#ƞxUņ$Hf<0e f[Ik~^hU;pFżgP{M` 8L沽!Rn2 ;6|GF;zu z@\? d#&ZSk?jdk8@@@F@#(@@@|Gq-l6w}{Q7ͪz*ؽTonXE:E{af^fJ޽?˗+Ǐ={vM*0}zdNFfWVVտhwS%QvװꌌÇo߾cǎA'<ӧOZʌF7&#vhڿq^"QvװkQPB9!P W;޾6wa7 `ĥ]5@j0tY0ڃ)+앱IA@@@ Q9SR뮥ikGUO%5VT1L){XEX#-CYST@NȝyXP`4P﨑.YT vm-^Sz ɅnǔcaC9 W.Nj k 'Y3k ffl   +yZ>j#ZN:'eeO6UMJoUW՛f-۰r;iw81ݱץkԮFA>%F嗀v]5b.<[6_\t\(̝9P ăVQ!љoS$D̫~s&ţ(@@@gmGWJOƹmsR-"fqEiqn)Zꎂ@@Kq,_:RW"xqlrҳ :4t⛌F@TJ\t8vûe+lz_hc6n)'uINdžY.*Z #_0&/staWvA0Ȇb u|GXHb  厡oZ(Tg>3>k`%ضY†5gaPĖT[N!̪S,:(hd49S؝ۇ &LJvxۖM #>-vqig,a `H[cR~'@_il(Y ulW2yGt_hPIQp` BA6<[B|G:*QwdooQ@CO΢ g\jv~*"yΚM_͂Xn' s:loj6 w9S]Cx/WFf٭j+6R2Ia+#QmmR "#Ɉ@G{uuydԪPՁ:MF9  %Z(9 ߑfeHf|4cv    yCmsmL1rȗ=?zZ0@@@@1>k +|x(Xei:96O@d~F$4obx,f[*7?{xu=Oqi7`w ;P|GZW@d$3g11X?&#@@@@@"!~GED {'''`kddd>|};vLMRo 8}(lKOOo/y뮓"vnout#^ǧ0 pvB m2#/nȐՄx@@@@Ya@< HE ;iE;vZk x{%-4=]C|I@kUgj0@@@@fYeUm; }P_osAvJ .-ajP _PG6g͜ྮp@М4NZ-`]5F@5 찋DK3PYP[%G U:OUމyMݶ2|?_v}_ڶ Ec5[RT1t0d_yCCCܮ dͬe}|Luߎ.kikwQ<~r;Lߤ՛IM[6-\-8\d109 bv:P|GIEۧTP;s9ǐF:)d֚Y}u9bY {BCb(I@ ^h ǰ i$v`~"$J|9h8d'@s (e}Xts+͖3*t9=с\(D<@;v}PX PW8uu+U<|F:a2("d0e,IA@PʴXtl(H+u'f-fE5.͟Qh0I _cio8_Skܧd4#Y+Եm[h?l װ{>Mob#caOA8L|'d4x%ؽRӸqo;G_X op|OrnZ([CFzu aТ^y)}_kMF|k Sf-z [$T/ljڬpr]s%4$>]!(.:'E0׫0 2vv 5 J=>;1a"    'ߑ# @@@@%A~G~XV@ŀHڑNvTp_oa~늰ף0 0vv 5 J)z_hU^ FW#'s2677D[YYU4V% =0 5 222>ܾ};*g"yU_噧O^% ]ֳ&.(a*M?gZ%&戛G.?mKJ3 2 out#^走!`ĥ55(ei,C.Bq    ҎQF  ~!Ю];C_~Q_;AQZha@@ I\p@ E #YU6GzFA\Z]î"]O=__uU5 ǵ/(H$'@2Q#B$#i7F>~ !.  jOx9@mnahVXS4Z$4DAfUOMIѭq2NtQ 4']4[?Gf Ox jQ-5' BXU;3˵vGg}ත BSŤ̖}  Q ̚Y+%fxl&7 Ge&s3q\#_\t Pȝ2ƀ;]z`\jBӖ uc W֘5uBtYVO-\Cʱ@걺D1`W #'!߶vNAbr6$ҫW (M8qΜ9;v0#'s2677D[YYj*B`Fd]ֳ&.ȊIH M?gZ(pSs#̟|KJe2$gϞϟ|@藕ֵ#Z@@c6vLSt r"I    % idz)? J9ى7{`đ@J?/-}D1(+sNc앉cP4ċ@ i%^܄$p#{ev>Bd첲]?Ў ٓP) Ġ6 B>6A+s     !ʤ GiVFW pߣrHd pOKf.a5zH>;s挍y1N:]z饓'O6UcRV~3gf }jjjNn>7"@앉H^gM$6a8d.쳎c"PjUZ.wuׅ^5ꫯ֯_rTɴi5B#_pi:o#--رÆM-kn|؄u4vpc"4-Z4k֬=z>}:ΦT|Ν=bŊ\7KT&&b+Ǻ[KΉP?uwxm׎>C_=FM{H}/X3zJuoӴf~ogq23g /S?DK8@mzgy%ڄ^裏RtDvm3nP{{Fıbm78vxN]:n?bN˯o=OْۖzwJSi#]wP~ߩvGU3ӧMJj<'J-8" l~ &p{70hoի}Ϗ eb3gM+۷oZ`,NZO~_?;w9RTUy VF,ю5|vM=_979`8W$~'0U;38 Ν;GϢS&U8&&K9~iӆ 2o޼krXIIi׮#:"Ԏdb/W~2390+c֓_Y4ZfrwP;"Ӂs%c/2BcrQ?ox38 01'NXlرc=F,رc+wޟ<~&L%~XҜuvO*X;s#۩cΝ;vԁ~о]-Hٵ1gӶ=6s-Btau'_﫯l6 yyk,^K{YO.Te>Jm{,n^,flu[1?g8rcL_׮Y\ĞR" ;ԩS?ϮjxeSƠƍ{|^{9sD%O`G/yj~HOlI*^ҹCNH;ӱca,YY&,/)}<|{IPGTT^ \ ˠ&\Rvs҇b$3*/%0Lu1(-{tԱW 6m+kOƘi\xE\ҧ{8~}{~̳gΆO.Jљ#g,<%<7 ՔhqbT-C?ebcD -)|R{ߟsUIWƌ.3c,=OsߛԫmT}8gߟ)J2f߅{ ͬT"Re~Q2(*[A}+AP"%1IATg䳔?TBZó} ѺCr:t̙ =GoQH; MI`}Qbi#KNG7Kؑk.ӺF:Q}ٕ7gyKfpWd\R5ywJ#;XF@ܳrS%?o* ))4\ 5ys5T\zN^MNǔP'*IGA=P)B"(MCSUnf34]"YH9Df,L[M͆6%L= ޟͯ_nT+Z4wySwb {?[<.,)Vu.N['ubWLzV^*GS=klf{8̜$(=WeHnJ1-eW)+l4 hfKƏżL_oll|gPyyy~Do}̤IhΖ6ߐZ8{Vg1Ϻt.(b)VRю#¦씎8|o9rk?~[Z?:( ȼҰА HR1 đL=F>&*1-|w M C*"+G1@sӾ]oYpMo~MO kAݴH6}p@e)LZӰ yqzLxxk~5+*m||`/]k>RW"vXʈZR bTwY2m[/ 9׮Yq쨰U4̹`4ٯ t{j yib3߹H@S2B;K!/ir"~^$YJv֬C&A9|bѣGoD%a zRnnEN_|ǥKǑTdH %ł'ggŏ++32K.H6.vM WQ%:G׏ķWIV{)6SQ̒U)zI9|wڞe1h}/ӻÓOaRh;"&Xv+1󖁁M<$%:5̒glhxS5E$Z?&|W'_[2}[Su;bBU̠c5L[ǚ~?YR&,-F^=+ڏst>0kUnZYs^I|kZV^&K]KT8́'hwx+qMm}]/d {j!%{6$R~3qD:' _[oEo[Um&#I:2Lnnz}%Tc(Ō%qRz'Z|O,S[لcNYۂ&EE#X&H9(( GGg,Cgﳦŋ+믧OqnĿ8F{z45oF_|vs=| G: 覛n 5ɸ(g`/b Q"僟.=͈\@ pH?_wşBՋ * Uְ׎%C;zel@;AߤBKZv-I7o78ﲲ4G*@;jJ?AcƌUUU2{EEJ1BƥDTq)ӎW%`}Be!c*GEx]ѻwoZq`S~w/_N:K.['H;i}DI8CfJ9פֿ$d&@ǝ9rIJ8wݗ۟o.T#WfuʮW*5rHߍz gB2n)aÆѭ8ґ= ܸq(}Ai#e΅㫯bŊ6-b)VQsV"-DM`ժULs_i!ĞL@~IIL6M@TٓQ[ݺIkeاNkglc9AǎzG/ 6жkZ 1,n_RRRߧOqAƥXvʈnN:FFaΗAnEz BogK0ʿ}i Ν #/}t!P"@zGx}b0@@@G 9.nS28<:=`IfVixsy筚Ytm'_D   TH#8qBxt&UOfe 7\`U/)+.~? Ҏ\>׎&X  "lvA<:.(0 %SڑǾ'w; @@@@@8XlX'=:S   J ᘨ͌z-g@>ڂ@B#mQ)׎/ @V     C)Qpۤ k>m Qӎ\,ҒG2@@@@@@vΚxDo#gُvcw 0 3!feqHF4>tpV31w535m[vlHZu)(JQčv굞"kܮa{&hyP NlaBЛB t)_`O/J8R|X3PaI=O|"Mg~\ bC6da@ǎhކݍJ3K!8k&{ϧ~"=R~U/ʿ_tm ՚pE1ǥG9-&y8> Q1"y4Q&9?[TIH`#*hnM_bVݩmаR4 uSSEyb*CSԌ?G:xL,Bik(X&Kk,d#IBa|6}0\"CH"QAY(%?5XR:2dQLqKVd/ ,9M{|/ C34,F*р%c,1ɒ&;ClѮ;]rѺ_JjnY}ouBK kaRy(o6LUM&TD|#Ą= Xr -/C?Ռ/3q%0]] bTjQ@$ ?cuM$u3|>7.W/MvQdyY4z:JWX)GpSfj`ȩGj-0f|k=QLTnI--}#~ւ<h,Dh$G S5h8-,1zbIIx53 'nKt 3(:ʶ3bE̠ЇnWIAM0(ƅĥJip Oc>t ?m1[VJWA:4F `n:7i*aKժk}|]iSc+I+b>_Z;=9왖P[S061zE2稢Go|7zMa3Pu%)6Z?;A2*.a%Lj"JKdAWl7f`L"C:xQٯQ1U!BӮaD)d!T~6pF fI!?nq;x|on2tg("߸s ܪc5ީtqM&HZ/4eъg|g>7͘9;'XWlQnZZgJ1̴Ĝ #HVwG^^Y"Ȝ;@O!pש+=n17ln=+Z6t)J "1yq! : #m!lk4ߍ֎c0u?6Y7x}eJ8p{y?;WpO͵:\|n.Ҿi]u-ѧʀ+IENDB`candle-1.1.9/screenshots/screenshot_heightmap_original.png000066400000000000000000004151321421102410500241010ustar00rootroot00000000000000PNG  IHDRiG sRGBgAMA a pHYsodIDATx^ VS۾h2B$K C di3L2XF̟/){Qd !ː*dMYgTzs<>Y,S1uԕnovlX<*+٨x_}*FEbX,@iպMv^f͛WEhB Fވ1N|f`Ogʖ$S<{nCjY(&70BeG88#ܻshj^E=N)Tj:MSuiorG B5C~ŗn_wW66msgq'~IrizU>?{9 ~x@WayVL!}*\z4V,Mm"w }Lړdrlu+'Sxp$S W Q*|{L# RE)2\M_{r\'be@_NoAzN}nkl3C#nuZe(^>^k_y_SF?7pk2vz/r2-Ɓ[ϯk֬[Y/k~q֬^fv+ײvڵL뚵4O%}SZȸu{}͊_sǝF_:zʓz˖-kڴqT$WJ9?UQ/4.o#Bf/B\0K-Qgj@']*(ۚyc}GwzO'$U, -]Bh|KIkms)09 af *'#J~'^oR2E_U'M6cJ-W}gHi!z7t>m1uֺ̦O!>^y;yC-P|r *3Fʩ$/^3kϜUS+h(ϡ yѓLH/p"yyi Pȓ˔G cB|)7MP1bx7 ]VP'nOn z)vqPGwz2VA)(4 M{ nf| 7JxdҶrOY]fkW SlrM/*D0LWJ(Oճۿ_FbV[5oGp`M?_i;p1Ǵo^kByJCyʶ\eyxܓ/^ih6[{gg6KwQRlkg&Y۳}iW>5C<1=!&l}يHǿC~Сg?7f ~Pޗ¬]wqYg'fcߦ߾*mٿ_ۓzM0]9zbkŮ4m~=6m1=] QPm1[:n1Wc^!ݮ߮ݒE ފm۾?ol3QHc#p2OVeN g.#,*\9s1]r̘{DsGfw=we͛裏35SpԉBSmt6W1cj%cp#Z.t;Tt(Wo žR lt܄p\M5qUqZ)˜~kԼy1;ʭ?Xu/naS=f:yrbW%jyl{q{qzzσ>A{SNcHSNȇZ 3H5uM4v~1w{|~dϵ>kU tGxBb|-G>4A0'ݣᎷz"y~Z}U3Qqd#h vݏe'dB΍7x=d9_)WD) ۇ}oךdޭmC7i=8e [i} <#1w]l⎁8tެEԝOf9h6)Ƒ)&ዺ]ec^;| ؝5w J]'];WMF""iôb\fM>j-i"3Q? 4U~ ùXn)˵\󆐕;Q#y^2_+`UwSVvOHEdo~ΙpLլ@Wac2EZKPURZUnAjkkp62.K]HJzصbsR+ied^޶4S?iۧ/9b ' =uF_SNq6lӻ5s in1~lM:3F|_eZ-ksGϖM'ZڪuΊ R bxmE:ֿw;0wr^/+qܤUOn|uj zC_2ⲣJ[@iW~֩D U iptX R9ntF8Bl"iOfsF]8f rʉ˩efVgb٠o/zC܏UͬW氒$(Ú217j6# GL8JL00bX 7/:7.+ L%fm/w{)*'@ ݨS"DҸQFդmҡہ?ߕikWY#)݂DS]$q"Z{45X|6~?@1"(Wp#r~W|TL+wiY Y)lYz/w#1%w W8igrtNk6<=^yL .z @YE}zSh^#=q_9k{Yw;Wv!Nw^w hX= 'ssǿwR}u1ꕝaQ_զrkO?lmCwzxVΥ/]2܊A`^{&Jǔig_Uǫv=pW 0왴Gf~ѰdYu)y@m_*A\K"S@kfn2'R-.%8cJe 17=Ggׄ6k˙2 1HգfP?6hݳ/ߘ}ZE0 ܪ[֠#i"!G;ʮ$=ln2\WqԑG zŸ_|Y~ުUN1gwӦ 7ٸáGO6=pomnч>f3sDtv|=ەZ ᣬ :ُR!Dn^h2w)Eq쩇#yVސrcyzGu~f9O N}z' n\i%%EPxEяYf^o_{~HGEzxh7e6^F; W.?Ϫ><ȟ %(|C{^R# {USng氣nx瀩 ]?}~Ŧ(I]uۂ 9<2a3`\I-җo},i< Fp^ "ϘT6c(]}~z(C3,$ɻԏ60bk@9)㐼+A GSQ?(ꏴAᄆЂzFi'u\R4z*H/"7epKB:HkE(:_ZQ !zc>$QνXl̛(sیUwD:B^{!aV%Ԉ12#AO_>%I-=XDcZzS8n&Է[oްI#F]݅!2qy0;c^;W3i={a- wFh8MyD]9Yd0>/r%$b^VRere̯F}ZŚ"j R.nxOYj+Iܟ}HSOv3o>rfԼIjל-JL=+ߓQ4(\u{UJ+c;1Wہ{jP}: ќ,_ݵvG`Q>\uL}`,Ĺ_^~Ϯ+WC)=W W>^B+R.GAݽ{~p!_ڥ o_pZ!^|/(u|Hgwůy=aWkVxj~ s4{fTݼXŻ_jÞrRlt=w{5AUt5)Gg„ Pbb-~t~R.g52zr!﮺C~{M>~ÞzA]wJ/_{A; uxgV%?#N돺~ʔrRO٣GT;߽{7LrOԏ{'ҳ{EGˠ%aBnINSǿU$&9ọ~Pȉ]sdڶ 00l26[Mcw¢@W_>NF$r{}e $\SSDS:O-* }=tRWEJ Azϟ֣*TAJjqaiݺQ\1,3wE3 *[XDM~ oq_rTIS^Q[TpM[%mԯפӬQ*4hڨ~6v6hiܬQJ64eӴ|mŘΓοT͜F[S>l\YMU4Q:MkavQ%Z8TÝu?>۝tLvk?y { NJoB"񣧟I{l#{@Uy}uo ;?W?*oϮa+^N].}eUƟ8gKwiC>eɓ:HΞJ.>e@gX]vz/4D;Y?nѹc̙w wn8E>s|t[Fb].xu^\rSyNu;Wku}4iҝusU9mk:?~1[Q *ǜ>c9^gA[z?f}l5TQW .{܃/1m۶FSAe o޼A7[WѤy&7oׄOzM꫍Ns>_޷jU͚*7׬Y}wV4h<]3r`/8 w7r7V4U_Ѽ݇XΔYo?v@bSq.΂7t;ZUew^X~ jO|C }8kN|묊#mH)[ћ 5tuT4ӗBqkGΊ.A=bޤܫ_Z<|3볕~s׿RswTV9{>t RNu8t'.B!EnPc{ϚA4B̤+ĊnLNCO'.j^t1dnkL#^BDz*rt/ CsgS:H]wF=ĠtGSOn[GLC,ntO=#sWؤi3m԰  FjiIvYuyN[lRe/_aQa'?2[loFfbX8ZQ-k^w-׫ߪEV-h`VjUѢ%uTgo@>l˞o^[١yZhU꟏Q7kP_e 4hXf8Veul}U]7o=:X_;6G圀bt2O{=ŵwy9w WgHAIz=;}c +yn< WӅQ})up\,^cNһE٪>R] ׹X̭+R 6"jV/'oS:Xzm>A+Y.]-Fyy㕝Irż"n3(`>ҟPJ0 { +ߓzP@[\#U\'})b{^g>.}ٴIZlܤIӤq&M6jҤQcwI&~~mܸIOlSĭ٠TdMvѿ4lبVʸ-[iԪUVlըE|hݪ!Hd[z[mEs>է%}*ِVۺkڲUfWJ?)| `$yBDne@^W q~c9hDuu9cyF cW1yyކjBɰDITpnn}L#ayag%\)N2[c&œp_&+XǏI[ s~:;EqA/+t.aT@FaU$tnLjC~u 'њOanR&* ;ꫯw8eluv6og5RPq>Ba{s %)SP{PUV iPI~?[Qwl^ˆ-Z6Zo&-Q[hԢe؉vPI*4hѲ1ښU2Ymp=-ڤum~~v=~焗ߑXiJ~S6;^=htsϏ;^MuoYt)+|r:N랹g]8E 9Ջy/#7TEw8}Om`ݾumf_zĔ&ڥݷ7e0v2xLg1|_hSw<2ѻxgz]@ 1*븳7:53h#訝T訪M4i:Tx_;^=tέWiK53t3qGWy#*{cʷ;mk*z#vץ Lg\e߬8v}n_7}kpK{ي67^T(˞=!wu.v敕(޸tDmK| bM HYD>.HnJϿ'*L,7M%32BZK*/gD`5r#H&=QBZ$D$}T7f\N A}Bj0aQ5T?μŬ\5*Wj/'l9vb-]tIqD˖m$wɜܿJkvz-W\q>շ,3@@??ۿ_4Oe{mYiPOY=Z.LOiίw* }.Z^_xTTIH ERoNhZDn+HČ.O ~}+DGg$)ԩ 0c/9W _yqC_Msњq]yQkwd˿W}/v#,-adO`FojOG#o9͘{9Jn'T*ad41@f2Hsk4sѯ_R]fso*.q[PjIY"3TH7|GNB"Į2Ľ>&4A|K LroSL]?Ff" [)x\צ7H4mū2n߷<e ]aYj u<eOo%C}d]C/ɦk{oE߻+gdƭHߗ|IFE}Z?*eWB'i)(וIVPŕ{I}.k+bgT_m^t/.YtŊoAv_:Qq-qN-|8$ eԉ=&-祙&p 5WN,;1/[VuA$W)3tSu g0!5kzG} N>zZ0U(!Rxg'pH6#dT&wɘ˱(N !jAZ%rOsw=΄z&R,QzFGWSaȪD.ɓ~ $ѿ&S*d5I]`O򯙞2yO>tyoU!eכqѨdvqpO rW[ׯ1޹ɸhS_H zO`#@md{;7 _񨿏?`@sal3PB+Sy$43jfP8+0&J*jtFQ;zQmdYzf=dPR` eWQ'L =sD a%Q$"\1ٕKsVo"Vwp'ٟpV yE|] 4<= +K)} 3@Vw$Uk2n/mE[]]+[nN} W z,o:U L;/il/㮤$榗z岮ᚕ޴3<6]tdh6k9AS"kyźm|을&/CY \c1"S8YՔ$~7NW:v'𓞷\\y'2$JȨ'e2RrFyt ewGmZ գ厱72vb>d~>Pvɉ]Cg٤{b9b=.̛v髾[&=fS xm\)?5oˁk a (]1ګhRFwWP ,ڊym!^ai*Y])VMC7 3OW,mtc&Ҹc_vSD=/${pt1ᐃ$+-Bi.)/CՅ+g&a憾M uDp5_.{”QJK<,t[1G2!wjZK*q0&e4ՍzPr̚ axkX;*ŻrveC#C#@Yo35y$(~d6cr}\̫)qLZbkwa2HՏ=p9Yɔ=Y3HOrP kv[rE]jnU?[(|SHF >&厩K1$V4L`mnK6FR_Tswupo671o#J:jiύrǬ6OZۆwe:^D *l_IL Anj'>gvؓk|?L={S7;X+s8N;>O'Dm=i#׹'ޫN"KߚiԂekyʞ'E3Fxp Ej ie{Noi xueN3uPDcDx`N>eRIo.6ZiÐ"dȥRn5]%egXXi_)!R7.}CS膦:^.`[s1d^xHX?pVj5a}.)zE7F/\_7DLE"P!3cFzꩯ>adkX,E" k{?kp 8~XkYsSN95cX,EN"gWf#p_NUI[,E"`4_; wT]wޑ;N9emX,En#Шa޽{k(` >.[o]Ѷm[%v;NJ"`X,@EIqG "{+/Q-E"`m7mFʴif޼y=")Կlx}>;'?]'NO6 gmvԝnG'տ͵7R2ILc^TXHgX,E"`(⎯`$_fQg~0\qڳǶS/?:m?қcαVϴ,vRwE"`X, 4ߞ}pGբ:zMbwsWu+c:I ;E"`X,*C ȡ1UU?{3Bv}˼u|l=/g*( <޽8BO5Kl;E_țUX|ߑ"_@d4=ʮH/z](&E"`XJ@Ұi$QqGYW(2jf_ٯm3z|o$ K=d)7dYr>]*`.C&x Dʩ}$~s-u\["`X,@ɣDX#Lr9N3V}X}FmƲE cmӭSn'{!{hxmɪLoY~j?ȴi> I/d ~{JG5Q@/#r/(]̀珞"`X,@yiEG;]ClبxlwWjc^2ٽtӔUsϾ5"`X,@uC q֊(opp.uVs 1Eԯ}ܶ{^ͤGN\^DitI[m&?,AuEԼҢ挏m`X,Ed)vڱ&#<"1vڃ>o"0-ҴہmgX,EnhW^գ 9bZI鑂u|%X)gEc_7Kϟ!mCE"`X,%GUc۶m;>Z9 wDc3J.W`_7G_8r:w-E"P;nw~P=u~ n,ᤎۭ"`X,@Q0nzzDʯvZRdOFXeke-E"`XbNJVZ͛7{+ӷo_[jjjX,E"P<.8ﴻ+3؍iѢovX#ܱ~)2cw,'E"`X,5 w|YH-Q1C\XGG,ԫݲ-XfgX,E"`(#%8qT~-E"`Xj>z2B)hޱM+E"`X, `X˒q֖;{۩E"`X,d;2 z(5pjVdE"`X, JʣG̎~~ǒ l;X,E"`xhՐ5wJVrE"`X,!䎲YnۭE"`X,@ʈn8j5++E"`X,@H^,imceJ"`X,@C  .JGMͺW+E"`X, `(T6Ⱥ4^-E"`0-ȡwg!oŵX,E"P#VԚ2rԫx$R2?^k]FL+JE"`Z+ɪ5Z֢e'VN*78~op.m*LppTmE"P{6xpN6Q흪YB E#*Fb 6lبQ"qi7=t>6Ǧ 7,yJ0zgS(36n= 4r,gH74ZchRS/GӯkuaX,Ust0g=fC [WgiǯhQTʨB'~d- k갎 F.9cz}(ff8G~3ro{AFcnWM[7lGMtcbϸfPdm{E"`tuWaSyKS| +ttPad{>Rʃ@EϟK\) 8S^y$|@4W{P]uAĮVTTh;{sjetZ65XJL])~{WOc;RlmE"`x g|tcηOʹǕѥhF5t*n}_zݣGy]Vhb޼yz8N9sfVY9 4PS{>k'}QusY'qmMC h\]tQNO1pce cVi+X,@A`qNs<G[;C aTkN's~=_ ;r&Nq;Sg̘/SzGkTRw]49 ,2TBR#wQcELM+c6X,sG9KDLP\f{>,(%@ ;Jx(+E&xa*/{3{vk?f?x>>+ДSȴqV)cfy+`Iq"`X,JTO];z PZhAdC@:V_wbwtw@^#1gkM*8f ZK ,0nXcw@ҔpDwT;cӭzKa{?dnX,=sG<2?Ήz .|.aH! Qh۶~xIJb>ӧN[.8|RxDz5-E!P u-N!/zѳY3(SPATvG\$orVX,E"PXPOy^̯X%`FE"`X,PkXS$uE"`X,5mPkEԍGȚ>U+E"`X,@!$H{ѤaZ,E"`> 2w5X,E"`(n2wjOLX,E"`HrSQ\ #d݅"`X,EE~YnسVm E"`X,@D(=ݣY3"`X,@v0Fʰc>l E"`X,:@*IOj]QEZu8$-E"`$F qi6Zw $l+Z,E"P X g۝mNʧmM*4 E"`=QyTq3tRp#٬xr鞒s;}pGEeQ;>UC|6=ρ6drm|jqX,E ?:u={"ixܡ& g\ca*IHWk)qڵÓ* aQt^#g{20) !eLvl^:+"cGlqz;՗7xX# `:MFvu*:0Mj 5H`狯9/naOzD3m\D~sZlyu?iL)]勄mgX,lp3s@ݩ+ 0E=b f?4T(rdYGBﮝr9`AZ[+ 8zh)Ŭms-n6X+l֦qڵ;bw,QLEqy1'"`X @@/HAMݵ`ݦ NqoEvuB1~)Ky5 ]Dgٺi3&*־,YNXP4t8RDXC,7wQLcQhh9PcX,@mE8ۃ!swvtɤ ٽ*+q+HW Ui w>?6BFE,]2mce!]+\kzX׬Y#j")z, -pvE"`(l_(ixςa7+΄<Ǫ^xaQĜ|n8|l6iOWF=11PRY;v-4kbZx.T)Ze%hѢIQB;SN9孷ފ:anyw8/y_2vt~C$O-@B/фzsG,I~fHq}qm3f.SqGvMzwkuO>wyܱ@ww[o-(PB-@A&2ɘn?厅J۶ȁ;qیX2Q NA鈵Z~]ظM.Ϳ9CÚt0E"`\ðG}u rL wǍ8+ֻ]&;E"`X,"uTa֐GǏ IȒe% PHG<!܆˔lY,E"PP2IȟJ! t2Y:,1Eq2cX<+VXdI#lzG2nի(\?[NJӜ͆ 1f ~ۨz"X# zJUkxw?]wuv ǤI~ή#t:s@pѨK+y@6l(% ը 3a0LR?.ǸD5LۗmU~op bH 2}%UU"?~5\p:#n/xѢElXDmWj@e:WӘwlԨQ K; *ƩyJ#]Y3}{#{qѷ5ghzAYCMɐ{HQݭ[qsKj7w CE@h%%=dnq3`\ Q?iB>Mw+Lq/D6ALmD>~3$;tig~'t-x&Ds= C#H7ΛDG";~mc9^駟ŋ_veT8QC~wZ ֶTcT +ZW?VnYF ׆qK>Hs?nnݻD%?,CLRGmgCEz+c9%CoG=Z1 !N`(/0ʌ'\N& 4  鬒Cmk*mXtDgBd?tܹCN\zH2]["P23xBǏ'2d_y*i[Yj*@fqz+T~ȹsǍ'v 83Θ9sf<7,QarTm~s[DduMzYDCK|OJ]0XG+GV`S T}mO<zKwģqe-Q2'>=R.jI"F|v3N9i0PLm]{G%p̿&ܠkLݨyn :jժڵQGu 'l&f͜rzR_ZUµQ֭:wjߦuAktE-Qt[{&zG86 z\,(W_իw|`gp:\rIʊNTԾA~3\M_ОUm*ڨQA8'f-?mT3M*UKIf]f]9Soi}(Tqj$Qe-PrL-@VI Qmb1m#a<$vʙg5Õv&DN<+ Eo=Wn(&"Î /ܹs8q'OFkCtPf;[~GI`C9dڴiE]lXVkUOViV(9 Urԕ"G77z9zQ )k~GT;vK nb0qS'aZ+\nz0J gTf?<݆q)H P92~̽SRrlɡXQ$':fDpۈ=qӎK τȉ'F#8ydEnI3}tGTz(V7xcʔ)ȑ#j+=~ڬY sK~@R>so/;n=m+@-FGWXI_Zn m(> iq" c xBuF 8NG郺GD[P=ȀJIԛGj&[lzfoO 3|8$~bĸyO$&*gBd?ѝp:FSӨbwW/ي!gج_~_22:u Ej69H;3گfUE[!EvI2AL(!pO.sP\z(ٶb#MDH8K/駟>V(1 2]w6lڊ?%;:gbcTGP7rU*#ue*ڵks=//jSND{ZS̓AH۷/w6VopOt: *BW @"`㬫:z 6cƌH0:tо}_I&vn=|pIF,E?b 5SNp}[hY!D,\mEVa"w2bV Qԇ\3!4qַz/4իpw q^LLN]^գ_$&&F__[.cE&#[Sjd@g6pڔB,3l:f;@סBiVqYWG,5y\ݢqGcl:uFi9d#`,1RtQQ:wQ,TqP=.n<ƓelX,"!nm۶( k/R o5jbG!kOr et[b {% 8Iu}t_I R&M4tcQdw"+$YYQjtWq_vkT^&n!;;5y|52jiB5vTطox]Ig|yŋ6ڬ/["`fwl$,;n:>r Q.u],,U8rQHY!2϶MHqK/RK*[*:zot2 GXmZZ},\Cwde( .ٻŵʀ[,@Æ 7pÍ7*MRIӧoۍ64#xsTR^"* ʰeaz32`#hkƚ<@h]ި .w4dqڵGF9J "q"NVv`E"`X,!>ы!^+^EcsGC.E|?cd[[,E"`&F“Z:wf͚*w-1ߕ]E|6\V E"Pgjw5hYZM6Y+TMZr4V7>[ zC9O={v<[M.D;vQrGI;NZ^;ϙs _2əvsjś:"`T ￟eѓ#:5MG=z#b&BjɹKo&lРʟ78UҰM&k9tMe34LgPOq7ZPtqlmj?wq` }V9N.m\½mL8EV#b$HsqhX& [R^T\cկgQ\ N㎽O];|-E zO=3>.t6zj"`C^ ;V!ڛ;$~50o9s4j"`Xj9;'Ӟ;thowb甪Ҩ% ;OigRNHߙգVFΖ#YdA#{3ӵRbjsQ6*ţї\%ţfIX@GtEYQfQg"`A?c91^Pv(VI3y5o(g?1_?'zx9v!;35DN-Djaé,4YvЬWUL#$6b\2\AcIb6V8'&a)I(Y˚b=ka[ pSA "`0Zhlz뭷{mo1?98b^>}~7ϓэ ۜ"911<7lVq iNXkqRg|d,\;k & !ȸLQ2=*Ț{r~tIcX5 ,KAsIwwΩi; -@F */瞋%2GnlsR%Pf|Dà{Dgkrnh6`mie 6X`Xwyĉ;Ç3fƌTHfOוa˗,☝w~I;ad:S>`IF,ź2+W}pU K֭:wjߦuH!ktE-Qt+sm~s1Guf O>>d/&w"|E),0zs */l +҉nbX,QD<Lv+@h:<5,axQbD?$% #&wDҼys駟΃I&ČX 7maV5jwmE \,jٌbw| pZ}Gfj"[NL7o'PRRsKQwG2!bc):$VX,ut{[nȑ#{=R󐔛z,`& }aLضm۞={^]vEi.fĿ+&yXxDlViV(U+OE?sέʺ=΋';o_@uC_ݪOSz;X~u㗳 }aGv\jH6lCF $#-]jaޱ$9z6,+/cr<֥#z| 8QDReNPL̺'R-r#/whD,];; E"`X$Z%9`w,>}\#'t~|ӦJqb~ G]EԐ(8+O<-ExL9D;mJt,zea3ZxړPmn tk&J2]:X|bhΛ>b&D W}|Dl2yIH$Z~S}U[%&x.Sh;X,O p&Ȳr3 =FVHiZ˦#/)N#[yeȮWyyicьkF-> S!/:=X{ҟh< ʊ ] ["V8Gٳ/p*uV$pE"`](YɄSQM wyڵl:uF.·Hw;}޿Wy&Țe<@߱^}7ZX#rf sZN6.stFΙ CFk)oKl\=[DqVݓ{:#dYxyxR6kzG&Ќyf⡯)]cd,뒇冻y}FY78ͻ"`X,EC@zl=FVHh&먖MIgA3k>ݺx8t詡wf28 ;jô6$f4ywpݮ RiM LJF@RfywڈHۃE"`䃀ReŖ w#Smjt@"9s h5 ;ihFL<ƤAH$9IÜ5N"FIfr99o+[,EH2FT?#+$Y$1vS˦ô͈CG/[='j2?3{ Rk&^,eaI݆0'8h'ڸ(znKͳJh+X,E  R wI+,el3Rҋ钊>J]8D˨qKp]RI#Y{k;R8P0y8J:AΆ-U~\_*lE"`CafTUծT R'(D,3l:Ѩv  /*^LHr8)71411 3GNG)գ-E"P"Y3[X':7L)D%N@ij?oQ03QdQϦ1` zGm-E Rx[,J娓3iu"CsTҸ3ZĢ1qJQNn~QY,@]Eՠg6k6٬gPfTi% 1[h׮ݢE^zI_oݏ>{.Vԭ}w;vԨQ~X** *W;\t96uo9uA IFgü NGUl9.3lCE"`(  #uLG1bD̈Ztfm<:4h}%M&k9DMe34LgPݷ=; E#;ʔ*7EyrB#}早qw,da)vo[]vnX,uHX5듉8rjt(f: /+%E$:߱Qrgrg&"B\񋗝>MTЩE"7X?dw]Fäcz2Ubmv6ޣ^ԓ+ $K=ld{E"`/e˖ğ'~2kNB۳E Ce\ ;b8W9[-Ne!:eiĢw\2dbX,AYfO=^{DҌl{&E /9}lA4L=bλ#eǿ݇mhX,e@`K.4В%K~%:ԣ !,&$x@ w,a~GAX*9Z/1[T#HL"9z(a!$:E"P<P(6h`ڵ'|=_jVX8x`= :(cÆ o|䪓R=E-[~XJ:u[GHgGP}jAw;&w+ww~,`]Bo䚯)y@nH;RlfǢ>ۉE"`(#8qDx'Y4iҀP'O4hZ;c/x>;F3fNoyvP&>7|o߾p&My oU{V{]RK/ o;5nWBDO'/]coP51sOll❲-E"PGؼys8ǟ~TF&a& pGHy Uz\| 䎏O8oG;V[/{LNN+ʁ/SJp|E"`X,@Pn7q:yOו%SQ$z9_iD`gd}'Rը-mX,E"x[zΥD/% a.nx+/hQiS2`Nw$gƱNΠR.x,dEClX, _d'5$8FPyj3I.{ߡԞ>8%gz#C8 (qw:*hfi?m8["`XbeLX~ 29mD&2|hGUsvNX5:܎bv<;\!yB!N͝9DI;׮;R2-0qNj#GZcQ"`w$ܑC;,@J~"CԤ q%'quMtFΞ=5̠^2Xa4MꫧL,^m.dXFc$6g|xsNG+%bNqӨ*amx7nܨ*xȒֶX,@C'$7\(+PHcJ?ܑT>R&fr*VݜW+ME]{W9uæzj9c[1Ri#ϕ>&VnC.wUȴn &{IʸQ֕ jaL $aXrd蛶2=י|}q7e mmnXJ+tA'tʰrwqGiR2qvbcl/XOA%&\h4LOMf 0s<2"cez:42Qž5|>wX3k h["`^Ȋ2,9(+ ; h\n"Cy;?8fT#lImh];EjD t˔G@H #qZmSy;Z=bފGBbAͻU|vI7gT>׫3Y0\}+zRrmU6;Z\V=6%KԢ٩X,@FqRϳYGݦnz!f*bܢU2M~(B"ԗ PtP<%aY ;[s8~򫯒'=khXul;^meQ>7|@SYS-Onn;~'HYY#B#Yr ,C'mز2yE"@6mrzcyΫUp+WBXfrF,ZdW.щVn;u[{Oܔɟ|xݶf|`&lRD gcr#B[䝼䧭L޿i6|Æ q2e &g\f.V@ܱX~9qO?[ev2w%qb* wrZ`Fpr*H)vYœ@k C  _qG6P@ ^z#kE" =;u>J{Kپg,0nZ+pؾ-Uoݯ_O>ӣ:JD!;v{Tʖ%4뢈CC[tL?嚐"Pуp뭷O,v @ ?cVxXzg?U;VtqM7#YnX!r]&rdy$ .SFqꓣdIiju,ACgRIM-:zHf˖-JR̼jtM_:Q2pSH4ZeU&"8A&>K":;qҥLDay_w,KuD[\`u(S۫9!Y_ b9eV=7MAqAkH~ >nV[|WwS$R!-0M$^g"`$CfZPD뗟y͚5:,qDa(SBJ(7e= - F, FgS2rHO>7ވZ ^DUo5~ꩧ?s=GUg͚I$Fp_LEhאŊiX< 0D! '4Rd;#e^+gM1=^ĺ_Ln&A%y}{Z,5 GF /xvr-Ie."-K6q 6q B o_O'#8ophu"qk®iXA`/fʋ/y2w\b'm  #cѶ켳!qeUeoe~mC@/K-p;퀌ߧvڥ^JMR+d;P>qy|wN~TF ;$K7ܾ}{~=!B"Ck.ޱ=Y,r 7+wSawG<)lBZ֐BT$7*\fI:2ͺZ#VHR%<޸?~c.g}6J ¿/l%\B< 6N$4aHB 呴8V7aKH[,Eq r;*8kExu$7ݖT-zS#sZZl֤"P\: ŀ#g̘YtAP= eOx'$?qh%&l(b\.+V{MA ݇+;rNS3L=1ʕGE[Ҥ8HIz#^:0fd@'P"`Y=B"ǏOxl(lԢ8k&ֱ2`tIɑY2X΅5\E4XU'|G&昭1}YL#6n;`lb"ZÃɡ3S019zrKw4ɢT%ҳHDgX ada)' h%"Pm*= V#V@Iofnp=HzD1p3`sj`G )!WM !k BΠAK,ё9z3$7ΎNIu|1U,[~}bt4iҰaC.{N8A+9$75agEVELa3fޔ:#)Ut5FIvΞ=L1-ZJ96kOĹ`Gr][ʄdmGV)YHɳ' g[f, ,Uo~C=m93fwĖM\ygZ5uuVl,ǝ"'ty8{vq9cz3)ӫI WMh׮ݛoIb-QGE{.^Vԭb;LE{: ]鈥8`GQүqDeQm%DgWoBڄwgkXrCM EbY]0PG%"t0WtnDՆגI˪FM" :,ݔl( yA\*J+'C'ZtlѣG1"s.߬M:<@F}><ݹp iUR7IX${k1oWki+FثwD3HS.E>XW#uSnq*_=7Ϯh@i;hPz꥾ؕỷ*gl&Xʌg90rh8 RޖlHWb~kb}Μ9Sf׮]yKrP& 2YvR2:? m+@t'O: ߿q :2H16I &5L'gݾ玓<7g%[ 6k9יg/Fm3Pf4G|B۬y,t ԺStb(/!QMI޽ε@^,D*Tl Vz'$Y++(i MM48䶾EhV;xc8ԙ0өky5͟ݻkEI@v#ݸMsᎽ.?O 9z~:UX:y )muw0"oHd j U4dǏn6e:PuY@# đrVFsw…{/l_YPVUZ$Q4DftFrmM@!1^nh*FzFvM{f|:Djy;viȡZ"gJXscKfdupvL=ޑ\X-!`.Kb##s$D) zx ^R.rEPVIҡYN=(4 H'2#iPX;^xJ3W8q|6 = yU`["P%/s{;q΄7dpOq03dT5pLO-Hqwd݊ݝT VQi5g#[d]:WȜ4G5أGz !a( e-#qĶ[V&8")Ud2aC1tR\@ |["@μl=]~hؖjgNa$FFqGX+OdY2Ivx_%z>~j"c"lȺ,u)xCR( vaAuQ<s!+H-+Y:h i–,.i#s:4E"`!eOI6kM \Fɲ57҃SXA; K=6e+Z ?7 u85E(5kP:BԞ|:6 [SitOH&`F<=ckZ,@ښ&p'ϦQea2ys1꫻ [Y,=;Vӥz?.QnuYHΗlN+-N?#A*ӤObqh%KhOD]"&l~;-ih1ka7`6A&sd=[,ڍ@%(ng(zo&߷ZҚ<@Sfk4dm$F$;Ar)/#.Kh I#@!d?iIGk/cG\MErQXWV&$ÇovO=ԃ>4O&l񌔘BsֶX,}qH[^nP;d}>aprPL{Y\gA6_AqV,:/n/ׯw}/cIjC9dȑBp:$+wEQ\y$9K}QEs¢eqVI|dtm_:MtX,\05;'sNG/!#^DŽ+jw =b!Z{Gn&Vǂ Rdur,"vjieBQm2"ZÝvډro|q "dW'ɯdj()ES\bÑ".bB7ei)mbXj+iܱ&\cXsWq~pkyaUl`E5K zA/be6ף1>nfo>NڵkWT|͘1c,!w-{P7,Nq5#+h6 XI~J0$eM>hR7meXI%cPXc#,;svb7x%ˣ:zYSrXu2x-#/,u0IL Q΅_\-7nըQ#1b:c=n/*T#; =vX4YxZkTL` mGX#Jļ1a/lKF!jZ:Ч% -@5G @+ڵkK/ry瞋g+~SLi1x5T߾I^V}s=8v쨔 eC\4h fP+[[30ǽt}ӒWo*10C`̴(%\B*7oq M5רUѡCI'Tznۋ-l5UJ,vFe}JJCQLӺFy Wc$:7|Lz-B=6Tf TF9Nt({`0@Ma1G1lڍO)믯j}@yBLE[3plsN='1'YxImR9zŚzD$9jA>UYfMAaă:Hh zGWE6T8ҹ)0 <'L ;1\`F恬=جn+ބy1U:&Ѷ͋Gt҅`Y %=7/ӌlcQ p썎1t)87% L=hg&NT9ǎU=hk}Ljmsz֥{= \0Ӵnݐ!C$1Pqӆ Bـc /SW_}uŊhIѹ"$N]!~$®e8VX~ePHE"Sq+4KYHգ,Q8PIʓG~GV2|3g(NeHnsT\ ´̔)S`xajkj#ICY;,Ě@$͍^P[׉F`y '\pڨ zc'xI9ܤTq#1ɔujM%H3I/2 qbá:ٛ5a灿mRtʦq4%O8hj$ Y F@e IX#cwǦ};&"GI0tʞjmֹA_kG.KMm3h޼9?ڲhətpE$\ih3Ӗnn|%6j7?߻w뮻n-Dg4 cf!z()-ek5-8q25aخ,ڊ@DnG{]s-&~.AHpn"q$YW&6ze5ȴBb;#oIR8)GwyGzGMXi!Ld#@" ˈyJjxR됶TvP7BUnI0I̍@4%'R+ 5A,ĩ{&mnnRܱQF}dXPRB̥d"l3Q;K$iωWZI(5{,0(D ?1e dQ' '+w[3?ipp  Qbj%ŨQ65Gο3bNiN fQvòYv3VZp!~&/T9}iyI"l}8["_|e4${Ū1@k*lS(zDz[NJ]s0Oc)~ 2;$)`C82T()=#jD种ڰ:L;34YiZ'P9$-6w(DXK"4tPO=@y4n畸<&bD"P+)uP%}yԣq {9ʮV6U532e$N;dΟ9ǐ.hڴ5VvX8dAI=x`-AxDʌ#U8Z/"zXIyb z!i>c}d K{OX,3mOPҘeIZ8: $c )YMؒ2%sַ$Ap)8pG\S4Ȣ%I„Gy3I#BmP6t_xJMK0!`g}]wҢB ?#{#{ٲe`(Kt뮻X$,ohfuM5^Pt0 ~̎vi.gL!VƖ@%lR;rZ*ޘWi֟@wgg/ԵgOLH̙3ѽDXIp)*=zs{09^ȫ,_ͷ#&)[e @<>b FF̟د KZH^V*ΣAK̬s)]L>/'7a#a@U,C='L=DR.W#%>\ ߱ǵjMrhr<@#XwuWn:%o޹YMeRXgБ *LE28H&d*!X-p: rr?cvayRaE\Dnx ÿ_-,[n [$q#:l0yB1Q@jW*n5q6@ e->`Q"p; 2Epڒ܄5d.Q2|Wmj Ũ|c.ʹY:7 (<ے>wS\ᢛs F23"]I|̈s@EfIRae8 BA]'{Q|M7"Y2:$=dLuMFZ(t<7~;؆ךb قy-m#00Cq,<М2@["y=Sqҿ<* ZvѶ]0'J&N'$Hƀ IbD&B*Ql_eDS"ܲ0U{>c'Zj e,1Oؗ!zFr%nEn ڒܜuX3f.+R'(z"\t#[ iYj̦7#ىk5&A@6W8>Qc|}$:t:Fa"QrrDMK3 :iGeH3 -օd!aF)$I(x.,!TA:n8rɞ58EI") hűLU+a~gmU@%u0D<=p1Կgl)f-QJ*[$CMEz o ,UeGcʋ4ؘypޙ ,u0x@w2x;p9 72,f*YCa?^\moU@xYjd UN|wb9ejG1y#ckgqQx>L4]"s[AW"gĵhz*njvbچfaC'#X臻6?a SH0⩙cȣ!VOMǚ6Aw^M=XZ25ѿ% &B|ŏ0ΰ@ AmVRp5jL* :ckŵI5u-̝" n$x7ç,IkѺ2&Z'|N% L=;][okmE>kwR2"NHvbD~mƊ3sOx(JD !ȲJ H *YDV Hl10Y& %Sp`YgHpX#?(`E;ݜ oyb,O/QJNu $|$ÙאY\QqլQouLqz$N0K7 [+ɳ%sp;n~&tXH^Y#4lIXXxXs%|I-(0$,УQT)PyxGC"vv( %ٍPbL1fT&]= G(;t",lDiY rhJ]$$̒ 0a#O<5"fք]R+&i` ]l:*\ҬӚeK^҆ \Y+lގ9;#\7L^Q.0EsFsc;|eqm[7q'RSf3I<.Z(H$nd^:&\YqU&RK^_|.[wX ayd=Tf?:?.{^|I@=yI5j]c֝YB׈& J8Q@ -Z (fxGd*D.9e!mvDJG/c$\EY2' @մY:J FawC0(Z؃BV5Ԧvm1㕃@BAmZ@xi^ 1=mN/2JĈ_̋)ծȆo )܈0UrM0 6l'Xyd9)$7DrBĂ4'ê>$.7F iia'z],J]tʐ{rGA@d(ON_:P=jNOa% \bd4k^|YgǷ:ֈ\ZhZ'nGj7V8/ W8'fK^zlss1Bp̱pkJa7_n? oVAE~T:MC5Igةz9a9s-E'6kbey輧Գ!-CF}=Úm"m)D.K@Zծbd%wjʘ)?"F m8f'W N*f ~0Dq!ɸyg 1C EftMå߷5*qE; A lm, b$;HMdt!JkДd?ӈs]{ce^I#.gH>}37IL׸r!k,5%2y>Ce긘IEv %Gzdى9[,Wܹ+HWh&7D@eaGgY&~TˢI+ hӮ,j.f8K\t{80V$p?p} bv/{Ġ= 0EQr$OF;g9o %5ag="uBH4U-C*[HV_{)q‡==M0}a&䤣J"Nsda?вɖMX3q^lGdcZD "fL=2[ctad,nKM@@cRN%:l {5mNp4T3Q+1⥮]@  363{7 'C``'rc =RT=BB0/d'WEQxș4LD;Bb^T#eu) R5ZL0JM~CS Z+9z|4QgP`5Z=OloD Ҩ[n{n܈'xI; <^A"KN:(5p_3pȶ#uL^U61~ȯP칸x}٨6nİ}eet%?ĥ3W3|c._Q0W൹2G7lf^_Jj'66ȏ6tLpD4aeE iDP$AN؈Ĕ ڵ ױt}(+V-ю(:czYvV6Q"xp'o;OAA#57UV=?N< #&^'+ly 75yELQBMcInw^&Z5iWH =3oڬq!#];wUW]=8MdXG3tڵ'܉}-s˗/'] 㒂yHaM4vhAY4$@a {+E}:8_ޡ* #5w*RT*@m,"C8SaE@H#"hᙆ*5GxJ^ R,(L\8dzjJnM Z_-^i}׭#FȲUx‡șvmDcxYM69jl6p&W1|%x&zP@HX~aItL &顎 w% z=n9~&DTz7[X0z]k%)x99Χ|'cmwv{ƦC,3 A܋1RɓqCĠLowKX܅k6{Dࠐpf~q^_ +_kn$913`YO|ٙ_JmQ C͞#4I_K9&nyr[0]DLceL!P';S'P!ČPc"PArGgf lMyZ$B^8Q5o;D,oĬ-&y@Dn_I4I*W+5BNmsg|0L<I@7n(SAS3i9AS G $g(lYS֨$YCT5M 1W I6wkgd%?NvZOw qDǻKsSL V2l֬ק(aa@3M2h%xwO6T0Nlth4ފ 9(bǞBJs$4fk4,3b>Yr={Cqoʣ$Ԓ9ܛdBOFzZvB5J#7gk9뜆˩rBllQkdENPT9!n1Պ8\[{@HwGF2j_]O'ӪvI8$^:9osZoԠQ"ıO#>%B C@("oܧ6n/$۴L 2j"4Z3'm>!AM@FBz悁B5kSteP,56Þ_cc]C 7DpGх w(t07eGXISʈL̈  N 2:d$gmvmXPd&3JN bs7 4i*2"'(rȖupj+#H$fP=1ޑ<+B@)tӹy^NU]Jđ1o! au#IsP.De˾go&bz8ňN/|,zLy}ICkڰ HHᬠ&L1b1̔V &Fgz~"vA EHN p6ʺ`)+M:'38Vtр ;k2m(:YGeeӇ;'(r\UV V0ș{S܁12z4V&te"UvIpٱ Rxsbgq;\;ߙu,d_ﶎ Jj/@<&!N2/ dAQx.2d=hA0xGpxuf) I<*CF܄Q !Y?dT81={ ^GW#' @l8vv|Hҁ C:eȽtDŭBmT$#!Dy u⅄,zQo9z-B$%)?8DKN#&Y,i-?<6 񫯾Zc>[S%M,p&x % - iEZ ; R`ރV: iNAYф JNdsřG)PU:Y9 /i)EV_DJU`,wdml8ُ-XP1⽊RYȫ,NTˈ f0)UWR B℀ o!ͫIAr`gyB`ru 8!gc&b=F^9r.]Y:1Nn&RrAV$2hy"[delk:n4%//4c;1ƑD(DE/, _ S->o%5j1^>Сs#Mj1#+{M5*;8^Y=^,gʙVK*OS9VmUvU%0`YBBa<< \hp~%IjWҐ)\.J+" DaH@^d@NiNR󕉰 q'~CK_lKM|s4pC" d?s[ui |dh_ 1^6[H5INN|3Yg#9yD]MfQŐ 1xJ+<:y#~ ?y. p pe@ Ls;=SgAUSIhNexlf6!6ϐuPJWq/"4p#>">y]"Aƕ _ꬿ 2-Ԝu&!XǎՁ{PCTZxt(d]_ؤu5$-e> ujRpGԍ>+ʏ$đ2qG+[A1wLQuf-ϐ;:5nN]ft[nsm Y(pu=9K4uz:=k`&;Fsۭo=3~+u2=uX$'^qP&b槰qY6-a9s;<ko*,@+ j?# h. 0J%1TiaGNu-ywuv%5IDVE=xwX0t%ѩ «tAӃ.'0fXk,A;+ݐjL4ɼytp!n:0\0n#Vj4o&|D337G1:HSN!y ΑF y7|Y)aE\dsi&'^S:>8\bج?#+d\eQ9 8$,S^3ˠgϞ$j-Ԑ*Y!y!"Dκrj/8OE!P;H}DQ%Yґ.!_ym:#Aejttk(< yLr}&ś:8řZ%u^†7Rb8΅78]|1">Aqg =5ůVR"(h0CBqHBŊ/0NtAFA @٩zgܧQ5g 8*] ,DFh~J Hw2Zd AeG=6FjMm[eGɾI)O nɬy5E^`$j25pfʛԙHZYğQWE PD7fp\#+R3Vծ(3k:CQEs NцLT5U@RICe K@(tfM'^@oTqvt1a!6W'6{ ;1,hǺgqbIl̓$OzȦ1nt&G)P 䈀U1v@NK<,'hf gL3:ɰ}rqL6O_⡎h>0>c`r$CheQ1@$23#:̛z[ɑALfSWzɲ15'T9vl߾2'a]xԍV:; qٹzIA%NPL@I^L JNM| a((>&ę-t\\4=5sEymt_]N6m8Lnt$00/)b0vE' ('U~`5)OӞvAV6d-8[nSwFP繣pLK XIՏ2A4Ƿ ֏Y " faiAt&)Թu R!^(K|pxK4 y Dd[Q>$2#"_rnݓb J >zgxalw̅;qkwdFLlھe,aDfM&ptÇc^bskH5X8Nh|e1=itF'y)tೂA,u8MUk AOd(9sjr\s;BcgF++%=w Fme%c\W&%aX0& 4d5J,WȢB5*ےY3핷QXaZ"%`nnTX*\/(^B7 _-rs]T#Jz < p J|6l L[ިƍ(P򖓼ZUS0LHO&eo!"ԚlJ`<;FB^H[ zLw OzyZ쇦QXGsn]v LIs%<"dN"NHs3؇X1 R< b}됈[hR+oݬYV "W"ɧM&d:k<*h%\F(&gv뭷JFF%V9 %⧟~J2#c! ' =:F\fҩs$@14ο&+ZIEH27N9 %X#j!G0@LAtBy9Cr0mD;l+HP&V3- Ul>-*6*a2KY7I.~},h");]:ʪkVsbࡵI쒫$2GJƍs8$AV"saLH6ۂ+Mce,j3k5(lwo#4$qW dk{wdJuR{^~xaMڜ9۴!VE݃rpPs@.{7l!)Gun$D z^$[xzP=z+b^ҊXA7Ec eMUZTtpY:Ykqv$Z*b!0(fNRrCsC j!YCjre,CIà/gK] "cvPF2׈ /@kJ^$Z}nVx T 9tGk lȣ6Z9߄g]%W"9p9%槟~BH$NBUXu֫-3fΕw?3<+9$ 4Y-ff]vŞ.fn(Ppav&2* LJ@N>]tr1Ay+ \,=B~qq*gNoK2prpC+phxM/2Ȫ.p>i@9Uu9N }+?b깕t(hZX{^ HNӫ *"B[lƑS&Z7e 36SMl:7I.mЕ+]҅ \G :0)a};Wd;%QN Tj6Jgff {)f.ڥ!\(u' dP|"i + N+ˆD[+ܶ_yx(nR48t\DS%WjwR bW˒B%d{JyUL2U6B"ϥpeGY@` 7$R@٠,@^=dL$O s?|,XuV~t{4UԳdЍpt6])xNkkY]-0!'Wi_?E .\<#(IODyZ+J˩,:EC|ӭEZ`Tn gjEz4pX熼 H]nf 4(x<uȹ9!Pw1bvԟIL@(. 4SgJ ĎhM!@Q hIY׭k/wmq^  >:_ s!LW 0*_;?HYkӿ\b׎ 8KKkӼle׬lڵ m*諯殻Bƹч1R[wN+N養g>~%'"V XfgK!$avRHdce]VAs3Lm5 10Ds℟ab1._?4alSOʓPt[ʔz`Ld$NX܄ 2#fe 2bu#Pax4b!lc)f,?{ghUU(8d^h/G@T,AM'~`)NNg"N}%VUL)ysYg3s}w7w5w4Z甒\aewRI]nb^e:Ǵce$r`SNq2vbB& HS61rYl 2,W4R-gv:Sg€6VcFDdL9{H):[q*=NQbƵ;B#LAgB$+8r}q67@R'P=#*4^긅uLQp$ uڵ+P u&I;w>WO6Hˀ@^x21 8]2;t(;"\KJ<#M|.;鏞n!H Iw7Zb5Ƞl[NG=w(Y0w\T!&k#_׽($uD*]j)'if"!ƙxq,?E)km XM䡂,'i8/"2'Qv( $+7V/WPFE-gDyV)Ѱ#˻ɶcǚr챝:vdMrm%)byo'\^<1Ff|ɔɷV=LU ҪViCqb?KsI0P(Lj}xJ <|P/Su#-\=p#_F0#D|2i@=-"~GY_kJ/yqKv[`GUbGVu1)Q8h>2Pz}LhOe P)x$4rMP6oZRQP9ݹW[  Jo~>後 3Ec<5b_7ϰHq12t**D.F]4jG/b3IdH=b30ΊlNcejO{iKƦhXۘ 6E%H*Y{& -[M8Ӧ{<:(El\\&r}9Mf(ΘEM/;B8zdo3I?V[QW>ɶfT0cJG )đPLi"_" گ&sLẍ %oD`w:p7re4@B׿ͼ" R"^9S'I47x+>oA3G֖{敖Mu,N HH%Ƣ1pBGTBF@n :蠃]r/XyRxѢE6%Aa4G1q]Ԇ17D@np@ 6Lz :v&_"G8skCcJ& )&Dcy,f|l5#g;~lAOU&q:Nhz( HTd mZ)pٜNq{e X#>f`5553΅F?*L`F9;kzxtQ 8u?M^+MLTfC?QW!VdמFwUq A9ޙ \ra&W, c8 _Pceq8i&[JF[nhݻww֋JqT`q#zGZܛ20Ehc;Hn]~]p/'=;=NR0١}IL6 b: >)nO<&"pb(3N iK,/\Jю*v@ar,ڛD^$|_I$ACR ܼT:hA-#y}/!hIm[bm$g2֐Ÿi|*%*N#lB̀pJD8%wԍ-}de,k0Cm's^ۡ1P`ulMmW 2KUkA!WvCAylwC*EOm:%%%6.5gv!b %VW~24Я^{1IM9~pG7Eҡ8qDVeD 0SZ™ Sa]%S[E=nA0QYYg#ΨQL̸SYȌ< ng ƻH Q"4jNAS][ H'NTĐ 壟;B I0<."Q)2&SOp -h}lB+ʶTXN LNyLʋo.&MB^<.Ai(iA@:LF#=dh GjE0$%|霷n{wL>4*:8DD1#ǭZIXچ}4A38BO/l>vɌ3g9cu[w Д~_[ߞXQ.JQ&WҾ_`84cLlg&DFok@ 6hpvF>05,zFBz;6S4Q!|cYb۵#'V _IY#ېWlXj8?;ZߤunúD+Pm 31l'ᥑ I9Rajj*ƱUZF;2n b"%RafH\N3r? (##c+!/aLl0οXa&;_uȴW)nBN6R1ؐa8G8x@w+d;Cc שּׁ9K< P@|Is]Jf4Yǣx[03`?lʟLrmc H (hqƍ O }رXp P(n|’A FQ-0:ZY[~"cIDAT>+<ךnA= 9ɒle.(G1UB҉Ɂ(fnlKDFChLPs\&7aHJD%}b׹Aˋ<24X,O, I^r)x`dG6'zn+eӀhf UygnPD0Øo?.κKUx8HK6$ vAQӥl̗ `W"I0iPٌ۸iHr+eB9P J9RB!4f4R9m"{.\0ǎ4玕#4ein SCVi$\H9py_`Q)D ;ݼS?zqLAJ[mϲQ-&[hk$͇LbGV |ژz4f1puDPy.'$Hx 1 < lv+'PnAG(WGc,TםcM6a]pz >@Ljz*ؖm h\Çd8쨓yBE;0U=2mW)ɛL\~.nֈ%.)HyDYE\FU#59H 6:-nEMWT(p5]dcqXV^".hLAْ/[J\B ݋-e)$;j&ym Sx`+ 2p6wtRo995n4e& q!p]Dd5yأ'(ɺy_t;xqLim6v:=QVkr8S*^6^$6S4㶗S( #;+/D(rΕmI EĀ'AbA3 ;b|E'dm(/mK .= A)ǧk$eW^Yx5 |{ o,H I/iɖ :,K7Bdu i PƒxjT7#ۏsd.҅z5]dc 3I‹ R `*gʗ-0G`UEB4]-v<1AJtK1~;nHB*yʗq ˩KH-ձ(RREMW,_lC?Qv]bZ\JEs/[|>գY"{Qi;*}tAjJ }4G szGA=tqRK ,ة<Bِ" J!]lJtMRRn&.%cg{_F v~;B5]Qܫ|4.1/xl# N8bL#sS[T)_4. Q %[18e@Cf~u߱uڬyU+,9c L&W t TA@'fi<>/O81$لt"#0_ؘ,o$HŶ<2` 'CfGD&a&er;dqq#`tI܀B O;R7-փ7$j7',DTR,07ˆr}d[ɿ( H! i; Ё> 1)_P, ghWv)8ld4&ot/9adii{a񊚮(Y>EM٘WhR̊$K:Fȣ㾙r6n\;TC𔐖<]5:PNFq!+ldUn6ko{O[1mseS_/:v4J5;Ql׹ճgC>F w.kۣyè`L9FfAHOGD;OctrBrO]W8$ (1+#Ƥ$ [$?PcPvA,WB.dQҭs ˤꔽ!6¤gdj|+pK("j,P v_&Բ*-d.'2kT,#e]8 h2(w$n^!(Â&l,8f8н"tO]\ՋiA+Q:ro:th|RlgL2 NXfjŽ 4gP z4.x U+㔥<߼ݸ~BaŸJg;!M^յk_D9Dl{hFN*OeX& !ՒElpQb}K/apLƇ?YEoi@‘䴒J;1N3(W X@^ 2FKh SD|M̵cd\1 C SpÌ%/˩x2Wن4k18ޜioHD ѡ.r.ٷo)LKID/fY|KdGSpKA2G(l1uT%"m]~+-8ݥZta~|^" 9 ßN5˗-%>FJSJ Xl!iyy·=+s7&jz6#RnI%qӓ'=QzE#7҅vNAFH6nذ6'#ϾQՎa'1ԋWIaXkQ"!0d{"`&SIj 0*t)7)o 7i{φ|!C&%b@O36h%Ǽ roMKv5ć{(DزG#7sW䎢Em5_d)8g\rqqCBü%S\{=9G @N< eM'S8ȫ*tБ# Ӫwő=Z y1g's)9Μ9 塇Ғ^\P޶0iTrPMYK!hPo–āzBjPF)VQOv; )Rx72Q:N\i®@mHWFj =❓9 Qո|0.1@}X G},wNyO,@Er}qM Zdߢd+vF+wL FK]<.}oOR\{eYB݀ l--ǔS&ML_O;<}5{44b#dLF߆JYLKlb[ӌ`ᠲ2xEχLRI !F43oFgͽ4 ʅoXdLhхU:m"90CXR!V:q#m"gvԫ|jWIF 6Rۓv h:\&p @@a3Q?!V~W!ueʢiEͫ[HQ׮]-΀y k9*1_.Ɔ{ D/jyk>ani3]PL~^Tdw:)f6yD )#yWܗIG e,=8Ob^x_g_oU*,p&i<iA)Jc?Ap_t)Gvh~/SLJtQnwCpj%X9Ӵ'>:1עĵq"w0A) %h#(k%štiLة/< 7gJB#ԑ͸`"BȟQxmKO*1*g2#"dGR'k%W8q~Du{I^[WQ<(Fm4k-_4|8ᢦK)lJ`jȟn%6 k5Z#vLQGdgM@3ti.D\\s2$(D 'v無YT&\F+0B!Wxz_5ey6LU4Ȕܲ{фP4% 2X*jxˉa@1'9nKX|وq_Bӏ_TK;#?U8rIC#r9o{%^Zo14E!)Nf-vjI#$[$K%#dܬ G$,O_ R뜣삕80/IR  >BpI^WQE45eʀ; .pdBZts iD|80^c&F]w^p3j\p =ڬ ^Oz}^>;~W3ޜ拾k/痥>˩$a@miȍWR;4 q6 &;?̧be{vd1R+ ;r̀TR,Nb E gAIF'";4'7> i%uNKeJ$xRQJ䉛R+Y&,ڽEYTQE4H|9Jp+j#0<"Ɍ;7OH6:Զj\tF>n{ފ6_a7spԁޑ. c/>N:9eiŌ%G?$Tg7 !L818IcC=&FTWN;Ke HDž8 S t&*n6 5-S0CCm*$ץJV=i ;V,V犳#G+#ˑ˶zL_L{еL/U9-ļn ;418hҌB;3FVI Y.Zߢ\)jlzƭer^cA@\:pyvcPpe];e-vQ)x3e6@$cLTWHjB8;(0"N'()L]0S 8G5ٳ+KdOgPh5PbU7D?\J8v+cvS%YcW,4DЮ8w\^p  6/`K!zG^` )ˋ~>{$ee(B &RQF$$OiV锡Zӥ/Um+q5]Qk,[ )w,pf8#%dS!1Ԓ,&q)xxpB݄''hs,&Zƌ-ɣQqPNvډfN(It - nH$27,T\)ÑOGiF3 nj#P$ˌ RrO>drٚT v6x[M#/͌ڦ샼Lyjp0 :&C2&aS1L?c9[^fC)MJV2 yV}з($'}#)M:~`g皅O< +s]P@A "=&HRge{9wIS6tiͳ'! Lf9"sn7HʿY=Z d>b!٢h7n٣Ix;qF/hn3M ґ,08e.> VpS| $a]\x$W #EFG`y(dz#mio"DIts.8'6wݺ=:z@L&rMLBHK7ݩxMM^s5 !J. 틝iP|霫a. vY3S~jݱQY@c+plZ)DoA7rOWsΉ\.`1,Գu {wمl=1!1΢g-YDyư epX JT&JK( P;9H9)aWLm:ך.L02d (* Je"6*uѣ0Cɇo%0ĉOSF VlUU@2!㴒F!F*kSojmXawDD|e_b-YĵBHjl?!3d֒8THؓq+Jx˯~MٕnK/IKco}WvYBY! wwag}|nS呃e;&TP|n!(㪫0[~:!ITg>Y}Vbe:S.}w20`NmCtㆥ2!gOx1 ?RA5dΞpGudAgL!rJ̠N6>C{pVآ[Xö#E]b~0#*!4Sqb OFjM;T;3uks׭l[vۦw〣qsO'}Gv~[4{m٣0%@~3oWgdNKӷl0x䵑lrYOqtw=laXx I僈Y?hQ"4y\>BIO›B8o<~\} Ί#͚EAx:5!'F),90/Q$wCnv&%m$+#rcÛ hR\3v^r1h%S̖$ +Y i!wl׺M.Lqe J}Uz~׽{dKӟ< {R}M?[fE2,lSЯ~޷^C/:"!K`2#0&%Dp_3qvFU†Ç3I0;tq֕X Njhsrʔ)Xr2S8h"P&vx;[jg}=Hx [q%,%.핇ɦ|}|ofow$a(iR\Q1oΝq4jrJh 1mM9Q ͤ!YyK$]8X$]:DBNR)&_#$&`e&%+;#1n2 :u\i eJr!xjE{k'6/0olF"h:4 cl$ZYJ~j5By{MbͨMdb-۞}w`>?P^_{9ѣkR(;#SD)"mx@Hxq}{}=Gw~ru23ڱf=bp);1PR/݂JrGo$u~~-)#|<%&G\p6`bƑ-Npڃ$-/TITq?t#yJcW:,!ґAzDwfuӆѡ+^};4 ̾[س(deliRM`zKTqqD6NqEL̟ cJbъ$'ࣼLfFBd$"D TWFtG!ukݻ:{{e! )1^SU7"GFQ' 3pA%p<`8`ztw a1dm|nsvYjF!$uŒ$2rx}UɰiMǹlp|kI>BȘI5^|=?Uiӈm6to| Fh =.ݡZ#ޅRĀnh3|'vZL"ns!1 IJHA5Qvp ԍvB\kQ(tZz2cl ;\%C55DTG oRӏp?ل E4M!#z2`S]@ר!A1\F !%{ǔ."T%4W?J操n޺m֏=ɕEhI؛}?Ș \ylf`-'|)-9x*$RfI;sKX/mtٴ\#n()O@<%STGgAt\hք*P{A!)j4# Ǧ#*~n􋴔(2װ|ʖ?I@j<MQl G??CBr'gl;e"$LL=\ӑQxB) Rhe*HL4Opr# hHHQn€+nξsù=mԛiubm 6![EE31oY՚Ф#$hz?>7~3ߙd1Aq%:r}tAןs=O W;R#fbQrJgC)%u_W3ʅVsC4;#8:iF=+rhkᵠ N\Ffd.Aկ r56v'gP\YBS+'b6%ɧh@s<ҔLsRfO'ڬf O.y5ڋfD8:I_|˯|"9?Vjb2ø#V!IX$ԼOlq0Rlo6~i*~R/r|QaF}{S`Uטl(:SZ +dkc:tCLK~@SN/u@)&BӔK) !AI~cA}'*FBSpG{([2\z$ '`F0)^.Lꅫɥ74ed3Rla<Y;QGis~=C}Bc [T,K8"L JfEUdwG.ڸE(&!/6-"Nd^_z~◾K x;e_8Ï3fL=L\ 7r&[6<8\D8jxÆ ϐ [%vB3AqeENsr@HP܀/zķ/b*´.Ȍ~c 3f,wvD4BɾFB}wru)d@EQ]壟4eđ'BNO 8JJK2J -R K.m'Ȥaeʬ݋ELX z@pGC;м"xMrqfo}EС;G3 |dkfgǯbsHp4~yl'9&K/OO<{>? wL~4Oa L" %G$&i "tM6ْZgF෹QJ!QtHA_>,R!b^VbՌ`fRh`cZI $bF Ą8#!)~{| YNESION&$^xh́*)&i{{<.Vwɹ#%f.&jFq*/Ua"UQG@cd R|W~z?u&~ Hq]졇 Lm˟^wyA%' Y'B-o?s%'lf@(Ekkz#>61'2[3CQGd1nÍ`lAnngM`bFPfS=Eh%`(Y(dV0 I^Hmd&'i+%*hJp2mA 0Ivr(h&~GF\u Ad_ rɥO1U9)7Xo|˚lHz78ew}}{ܴՐ7Xs(޻{G-GK~dfB-Tg2 @p B}?bVDNx: 63@K[bt7 1Κƕm03m)x[h-+M΄^qF*NG 7b?2 Zʟ6@؝k#/QF5Bxm V3'#ܜ!>^%-MofS,4uiL+o WuTqizLn򄐒<4jIHiLVBQ>9 tHRdmhKHE?YP:b[W>[Q)7J@}Q:0G~Q?۞V[^3"ڤ!A}LtBE6=l#T"ʿ!/)+Y"(FV\w܉!17z۷Ď'x#n{=?y}osmf v&VϞM|+? "\?oq)(WrS;:9RN(>($C!ԘM*zB=XI,3ƥ }hJҚ.Șz?1?5=1-.۫NhMF(L1L,1 ar87fyfkiQ,rnڵv42 $h=M(l%3f k™a6<݂+$9®vJژY"$샰c\ dȟy@$42(Y]nO2ɉp<- '͎l׺-4YtM<;E[l it`E00"‚4zP\g-)ҎAքR֮'0 \\iq׮;ox:bG7LeBt k* eIaʐ4SΨr7n޼qg@t42$‰KFAȘ4Г:{a4ݾi7,Be"իox}|D7?fqqe;,3F<9iEɶ  <?Ҟ֍,Иm(5eEۙoo&L7-oRkV@6یTkm$UCϝ;7y9od;\uu^|_/,9.ef8%J83а;G\q[@}Fz_N85>?pGsC7,Y\}!^zt;AWtuיf*c bepDZal(u-"u} du*mgU|LK(DKu&VQ}&r.4p L)JwUѧq`7KF $Y{Q&Q&Nٖ nM36**hΛ zܹlR/{4n6/r +q;B{"2b16ɜ[|4f|=Y3!2 1C&-A1\lګ%)An&+_ߺqm#%ˏe&O_=a rB_h~ӱ 8kdb`\L2 ޔ옣q1)iahS$0P{O~_vH_qُweWGZ41<5I̝7X5Jn3i$ o|y)Ҿ|3F &ufg$xol\$Z}GȣC}DHg4Gٝ."ڳg$b{Myx  ̓ez7b#62<%f{y¥ 6*}߀riRUVM[}.0@t*t Lw42[+G v#e@MbpDB(y;1Bp$TJ uYLD+̈橧"kN s !9%TE>jYg̜9SR8%|m%V?(^yGFQ@rSX^u5kV\iԓF6q:QQ“?$& w;i5e@+R껠%Z|XiGҊ)~h싗P:6xQ#ؙ5{%L*a#iE ~e6c&+rk$Oe0~].;+wɧz~1&9QEjP6KWo;|G=*RlfB姡V˓;Y'GZ؃ƒ Gaő`[!0tla C# 0h2`\JÓHtQ^qp%&I pD#XڸH0#*S\s5ƹEx ΌGIH9xbі rH=F[츸o12Ls=+}#}2\ f%#@fE\Dm (?κeH]a:xem`CY_鿾ï]v5SZ{oy] >ߝ NFm<#gO#xNB"縴qA9d.!GL̵zFjU)dA!e7䐛?^`@6v?Ls3D:)SG`0)!N`D4^$dUO1 !2D") eoدm'qةCEVbwjf(2H)]SΜ]R1*UR6m@.#}4[xk1% y Ʊc}I{qʽb# O+VdA !j#j%,._*oՄ285vj'EgiU\0m b\e sE-8?}R1}0T8v{۹3ΝR^$ wG?2C/U?lKn貔KKGlo۪~!ߋ}هՙsυtIL9WJwIxUM=q ;T{C+4$kj_Ȗ?ǖǩE#wwqG_ _|@@!+I~Bz#+,V,1F:rb+VrGH<Fm:Al1i`a6D+VPOt)ɕA<]9EZuE@PZI:bNށ%ξ3lފ^x^ȣhMC+e.0&VVi6 Yo؉wAgVqIcp"ؚ}kGT)A,hɦIZoHTR1yn R^f$bJt9r=ў{IY:BVAjI*9#+rlH6!9?/5c_u#>)n4=IЬLa"(Wخ_ʳ G_4Ý@C)y& ?|dҠ7rijS;Uڜ9MU*5Cǿ_~٣M UD0+ Z0F&b0-XEhکc&5PeM7]_ -MuԴ4n)QCi loK6tT@%k3dv ~Wrjim6<;p͘VZ~/qp,(2ˇ]GP֊@B]YR&鯪:#GT;$&F48>M8 >ɫp'+c3AHr%.`{ӑ#lNpx+;vi $g8kA+O!b]ަM+HY # 6+jdqꂋ`P"fp”>Ƣ/ _*&/11\!>h+r|C58T8k'ge#l#Σ |ǔ`_V p<^hFefnjjc$hڜ{m_D#uĨd/X Obj+ J2 5r!@(~'L+8\,(" #7~_җЀru#] sŸ9/ފF˟ N/d]Lu HF>X[FaۺȔվj^sQ|+9"-yq߱K$Q="m%~tvTLn=n\Cr"y ( PԈm=m\(Meb)M''Oj$z u)_PfA<`ZpT@r!з+ѤvF#h{[Ec 3|$+*d%7GbngvMEE N\R" @dqVg9fv!* O79ksb\dW\qh}0S#RHpJ k8b4nhLb׽{w;+7j%]/lITh$$OHe+<h,d>7.tNϋ( +Rq: o?068jZ.=t8黅Q"r'H?b22P`(e'CGTz*x9s3יNhWSWB谊"Ъ3(w,R'?߱ 딱&gA4%qaR|;AW9QCrR-˸ MHoYcp8EŁOY*Jwqr%ښ6*`&ٍh^ TB(f3姝/qb8&kħd@ob'J:[/WZcXG L=o&|\VI||;j>cIG7AUSWkT;lеKn]mЅ_tTYJ߸y^2iMYcVzXyВPIt+3gĐ]aQDz {(@ C@̾q߄:hLf\?/KӐщ*_,S!2Nͪ1DWԅ(q8tf,A!Ps2?胹cNe֌1.$"3Lb}f 䧞z >l( XȴpԍD?9M@ƤTX8@ݻuA#JǮ];&CE:ɼfP`Myкq‚3iYQPfG'5F !Xxh!zNJAY}$O(w NAdSvG C !0Jfn`jB|l)jtP:ђA' ĥ[x|ʅcdVF 5wiӦY)z/L.fh`=^}\qs-a$q4εBEhp^Ih7n6$ ʓ@P7)+_@zд"P3:wYѭF=ma {ty֭{q2o˻!hѽf[zV^83RfǴ(VHVt<C(wLlDzd)O{ OK.g0]wݕ8X qj1YH@<ԉ.QP7`~ Oqa(Frゝ ~I̓]vEƼn;ʶk$z~;p- }ܓ38$T8 Ʈ(TPk fk^*uHlǪi .4z$9ZM79>D# G­qカ د#!'bۆ^+zG,]Op`b73Q܉YC')Jlɂ!fY5bi#gz3a8y"OVYndIJ4鯅Cݶ]jKjxm.2,'ꆨ$]ղ+wTyC"f,oQU[qks2E}$ϟOX]m;zxB WGF='L`Ż(8O:; |RC ”ϛ|wf{r ueMErWY+UBwm9玝b~4xcff9qU$&+6  4NCD<G\r8W|`ó@1!1K8KUF ]R*@zN MT=iԊ,A&b.v"DRԛ̈́';y M`cˠ'6IǴ?zm={$:lg>} X)JHig& ൃ3hri5)S%ss~s'dc@QdR;R-OLofP.@mhiǾ}V_|6xݻw'L{ 7#ř^LWYhofpfԅ#g^C.1ԶI@ҲPmhA.i0zlY]m@[Pwc12jo8'4:u=^J"@I$ցڌGs$cꕼ2;CGH!;|9B}+`QlDmݖ4&;{af=ʫ ]G90Oַettf78dl)Nӧ @PE mnw!Ia.xy$d`Jp H'ƒGW4\O˦$*'f ,+a)a('P:09zDp:ˤ6+B$1ّQ0K6y=(PE@(X%#SBɆ$FI!'88wdK MPE #ębiY3 {)1wd Gnðz$#N~$񡒡uD =['Fh|MKZ$ [9)"%S;Y '8N2/6?QC:͛&Yf.xCX3@$ErkQ'Wɥu~B ?Guyl/tdFc5K:"(P6Rr&0*w=$#}gF6l0h1Ÿ(#kɤ $cƌ7߄;ɪSlX2[Ll IsBGM54%. %8VJ%.2iGE ziVd2eh7ݕ;K, %FrrPKeH qVJHRSAK#~\x1%"-{7h s1iq., ggqFdKÜȀnwޡ4l={*TzR(u䤘7h.] >\Gчs_.8Ȓʇ=gw6)횖t3Qp5w ˧oM͊7vZJ&Ew(UOcy%4V,ה.?$9<AJD-D?:WZS)r#Ii`FaJ*DҢ63 O X^دv`/\R>;E!61xpyx^B]7޸oF*`E4 A ͪy&y~cBJwˤ%."E̤I(!Cgg[*g=Y*;@/F4Qؾw gxrSz]+l,,ReHTC.S:4Ek/ *(J8(#!L6`{p!qx51|pCbyBr`NHq:ĈN n761ڑ5E]>B{P{$$w1ËG8%.h㶈@ȑY8v1'I9M[95l4_1;y_Ui}Lh OԈs2B훞~i`} NeG0 :BVsi:1ץZ+$ 9o*>B" ()yG ;~4 ֘EB) CR |O#(7n^&)ބ쟶ϵU{O75K|hp9n?Wq-|S̚AR2u=3 #7n1n:YOe723eǷϵVOLs(ޱlSr,\H^2kf/S|RN!A/"%dRURԢͲBJ±,3K˅`n b^vhVn@\G'JU;w0XQmչs<fQBJk=ұI-.Cٵd"f>  WJGެ}8h>5IÆL9sߠ߸c}իW-sϩ%E {fDsM\ &fOg?$q9{NMgҸ>2+m3 i!ZpZ-~=M5&lAF8(pS,*\fcJzt6_ AlEN8g%fQ'@ݡHH)BdLKpG&N$WP~X?n%43v.A~K3r0Z$Eh[qPGf֍*Y]-}y6Pne|=Y5V* awV" ]+ᘏx ya U9ː+9 To i0q4CI3z;$nVg\2tPl2IC([,LHciK\d!N1#ٺWNbԨKF^;a|ˣ'4u^KO٘x 0;\?MVm`/o̎;4k^bv$P7[;*}Nl%^8GB.B(5F.MѶyWe`KEep#tP[eĉad8;`9;K%hsq44e]JTz&L "#sJAx*#`f|f ǓpLC5fJF(m ߽11sg95ʄ ~M8TY+o%~Wr $W2)Vt>̃OǑe96qZ%ǘ="8XH#cEQxI,Jƒ1lxab-6; Cvh,\͈@7tܒ8ׅA3JVsD(:yPɗIlָ(_OV{7e h oTdc @Ch>ڏLh g\8Uc:Fʑ3$FAl#8~1~"i2(<~ύ:Fm*ݡ08:Νo|#+^C܌gRN߬.eܻ˗;c i\$f-*tC qK] jTh7^dМē` avw;G9_p!_t/Y73Z$V|**R8eik/MZTnɏ?)nY]0ULfeAѬ@S*WV;vfds9v,_WMUئ*=4{t\Z0ԃadMwdqB 4OcqӁL ]*B"D g {g;W?ckS+7FXKXNc6r[&1w@2 L@J`Kk4maQE XHdۘRt] yywS9gA{~Qt{ig,Ran.?RZ8P=oZ gM"WPQ7Y*{ 6?^ >.d|_[AC>@KhF':5 IB8LelxA1%g8͊%O^M{'}6.T |g,sԨQ38nEo~s̓OB'idFs⩑J7B hHm / n 3a!" dc]!0y䦦ȷڼ{oIJ;w`rUBzoϝ2tq;3R}=.wO'O<'B׷${( JTPJ- 7#2c@K.W'+d\P6ٴ?H7d|%&LrX7Bp߷C '}#vk05whkGE"$6ޠ"cI=*w,v3(ڂ11RЁ}[*]NVŝ/8`9 ⒇C`E.M_2];R Vvއ%AH6l2ǥw[\rPNrjGE@Pj ܱ1GB.`׉f k`rLx~+_!~ qy ֩%qR͉lYK\0$ٕu䒌EaĄAλY1#H]I](y"(@pG;P%ZY$pV!Jؑ%1Rj?[Ξ=iWNМNVUǸ<\HQl J3?##v~DjBiS44Pd.`_ R "(@"z:(u/!0cirHgyi9Î9?PzG:xUssQRfeX&ScE]{̙pu{+V 7Nb 8sY]w5nܸmfΜ9a1lLlfS$sa Ւ:"(@#;[':Lkp{9Bj#,i>y9jBl~fQN(K+3X%㒇ë,25S&wwo>}L># 1;EDEԢvTE@P Ё'72# ԕZik]\1A3AoH3.+G<;>3n?U,o?~<ǯ~"3pO͛9v_ϤZU#6zBSihxySőZ2⪩@Tg}vmqӐ zlxܹs$KAĊ+s_Wfz/swnlлW? ȖIw|';8H#Gd;l8E`9n>ϣj_ܱcGjܭ\kp|WZuqp4֔{Qqv-B9QNd(2oo'|BPN 3oUꖆ&bdwFJ,F[*@5#49lw\~-z饗p>bqU"/Db/;Qc;?atuM<x?Ec-md.}$G2AqUnjëv׮]!OwbhxV ~U&^e8lص<2gb;77h'z5[Iu4/%T'oTTw}oaEޝ\!IEFBƱ)1f6 ]!KF;*h!K;,@@H[/a(1LL&W(%es(YmN;4 @6U<䓉I`co~;4@%_~ee3uQ8r/}SN/ǩ4Xؔ D98[B@kG@|8TV~h2+bP' VKk e ,z(e!xd @B{ P>41&OB,= ~gD9_b 6gJ|"$wtHH#Mʞ2uM9," @;D@~E/HmlMB>em*71w4QL+ XH:VՇVR2{eT*ȝjH۩#; :1}k_,p7'Cńm4ŠMmIS#}BoZJJ:"(@c@9:v?k,NF A3(ab{o˥>6v}1GiK.j)i|9|WRbB?pCCë q4z-#jh"I%_W?ڲ!ᅬ[$'EJTԊNJ(}qqBKF ^YK[;*"8>G*RS2Mh3ػ! Ebe6…x@z8Cb检b"ņ S,6sVic TOD$MC'bCC i+ ,G(5@`a䂐cشr3F]kM1l'\ 9:w"gPGᎪwlі=HEiN{A|Eli찳#-QIJr … 1œ~ Z(J@QF8Hd ӷlkS+@ }f13f-<9h/݄vIj#رczC8Rٙ<:rFmuA Tv%ΎBz/wPуJZlh*ެ%R{tv϶^Y!َӖ"P7̿f7eԡN7_C+Ԛ^2CBzʀ.X0V]fɕdY ̴9fk|r:&-+%d;v2j5h/)ʈa?{]6l5-5|)%3qvwZ®rV{$Ejr#Q%&MKJpTY!3+V8!䵇WgT'—/m^ǂ KU'Fg\(J c}vq2jʅS<'N2dJj53We%O EfPǃac楢:Pp.[0)TEbFYgxd ٴ"P 82*;}_gdƎgρ&vv% 9+FۊT ۓbG$MJp1(V~7QӦ ih]M"2 "ڧlٲ% n=dʙV41}6p&~G*WZڥ"eJH$c,X,o~gA@`46P5jn ];BH5jcbrZzۈldJQș_K.:ė";cƌ]w7$ٕmbBJrf· :8ڴծXWPE*el'Z_19}t&dlSuT^Ů7}J(R6`L<$PDcܯIX䕻:R#3Fjeר$=-;O'Mk兝a_CaƉfΜ1⠙PiP)KE-V#.dɵ"О6F"o@7&b35EK Ef\B3Ű >&ɫ 11ŠT֥֒l1c!^>~1?:$׈k8ŋO`{TXNt1{TtDe؝{Ig ;;Pȕ %8\('zB/"T2.%x9 ӠM$ `\N9k_E@ \U6:uYAkt{쒆%`^|)H٬4y L(8A~Q6ژw %0[sȿz(e `_[-? i9IO<?7°c&L;uzꩧ=Jό;9c,bĦ¶É$Ý' l:"DJL(7-#Ae}9?tZϛ:452m½ )H٬Y$٠s:!Ll]K*gաf56k,վc@ ^ wAyy-Ee=ro?:bU|oގ$qzQn{w.{9&G4D,mSjq֎@U|CUŭ)H٬ص"+(k ІAbGd Hb47߼ߜ9]w0\0W&Sf/qJٽ-oۚrk>~򓟤L^˘&`C/H1 -E|4ቃaA@ 6(DPe bbT)I)Ic\tᅏ?Dܯo5k$4:uĉK^vlx%~5 .: 4 +V/\;#:X́Q-'M$m mh 5jRR 2{^}U[/}KG o ˤ -]!%)B`MMM ٳy[i>iҤ>?Ͽ+GUM7ݴ{]tQf9Dq;3_vٝa>|яvnlp???‹.|qU2>DԄBQ7:{JBٓѲ_?ϫѱBx3բ!maG?PhfqsሤI`;[߾}++'|;<~zY)tEM"P x뭷1b1GMxK.ݺu#pcƌq"RJqGEw{䑣g?`;g*gx2EEo_{/t*UW-.似}k5b~KQO{?!!luV>_qA7VW6Pdx%?S2&oEnnnVm/^̻1T"Jb`3#w;~pYbeޛv@ .^q=w܅^hBTl@tf&_[`QfƆ1  9p)ʶM<Ʈb=O>?ymze|ҨN٫O-$~Yw,ԍwqǧ~r6]1 |7lc=kld?É bYgfɬ,)w,fkB ǏV$&fBd‡@>H $\ogϞovuvuPLfB,)eVs)1uQ2(@[GJܱæky*3qVB_KV .P煸BRiot< a3piq_?;t#IWb0R ^%(Mk~H^FԮ$N&PL5ES*鄊"Mr5 msV Ea i1.0;܆8X„~' CJ$8'O;C kJ5w/N(@{@I:mwl]c]#`$efDi&qhL0.RI*Ο,`(&ul릲NI"("PYGf]zڴ 8._3|IcGo0GEx;B75CHmG)9ַnG1YY8>CSZ(\++(":lԕ;zd47nFXOt K)5jkHMw7ޠA\k3!C80`s @/lKW(e"P8vmZڽ}"[+\%pq;>kKF'4K$R7(`\d32Dû䮻s,OaS.S^Pw8,CYz!ct+b{,e>HIqHBLSO w-Ztg{c2mjZ6d#đJ6lN;/՛ȏw4!$R+Vqhf4H%h#)cmQ4b0Uy/g̘1P@r3xcM7mݨM ^%CTTuڣ3*@i#Һk/E@-rFq>VoJY=4N}B;8,7H$ZCF6bC.N:k,%tt,Xf̘h<7͏~o|)*h@P 8iu` ܑC4 ERdH͈78N*-фb2l>묳|9whUw}Vu.\PE@D >i6k.m)BAHSr$Ť66e>蠃0mϙ3h"$2@ЏڶɫRE@hd&T;+Bz bƟ m H>k |!lrwkȲ!Ǔ :t(F}_ KᯚE~X>mذifYI;vUPcՁTw(am ÊIf G?Ă/F dMp<$PBm>c:a^#'*"(؜-}lX/fWlk@TLM[mm~`C LC_im0#:N)2\(@K!0f&=uh͛7_Kɨ@,g\?֭3UZ%;((L:;VFLؘQXB=EX; avԘ5yY5eJE@ F8a+a`Bctl~iY=&M̶82̪(c@9>_Cc{|A}X AgAyn6FpmOo[ ;DءSφ|* E"3JZNhm)Cr6;z0(B 9}w1G}plfÄی9Ҩ75̑kZnX͓;B}u\V JT GD>:{tyGk횚%C{Ԙ،EMHY"Љ:":iPy,wmՐ;'Dj7Q2h. a$7 ["P$7Z ԼxqCC&_A1YrZ|$#Q{*,4ȋQVڄ;%vWjy|#49&xw'5G0k $wѣuàA3gAgdYQ-*f֒]H("x`IO/(40?gdnq:aLoGIF( XͺVkI gF1aPhɹ3'>[(S~K=l!_ع p]3y'“0x.^V Ԑ=F";Ƒ'6G5>YQ !2Ad$, i@%:5w;Z_~}ͭ5P #1 __#~ _E.]EPDma z[ænJV .8_R:.;HV%xm }Y&ASN84i~3=A}Cj@ۈMUx)/3Gc14L&Li/j8 "h'#JGX X;G1|ԨQNbZZX%ղOyS2bM< gϞ+_ߺNG筷JŁRPˣ&Zط 3fLxq;3};.3̧/΍Șc|ҥa,Onػ;OGƹdKw,ICUd%3 IVV^^yȸ{c,&镎Q #ân;VE][Bh`AF"zG;qQGa;wnMm'IYcQsn;yP. [[D9;W4q!҄d{lؚ͘vf/PސK' fDmXd{`ORYѺTT;]ky*311#,ȣ`%:m~G?'&^6 9 ~Dv`3/*`dM&ll#g<# {*2f bbz)ԎV$w!)հq~UPpE'hrkE~L8~{߫ޱ~PIL#-PB23i'v@@רޱMJjT#$Ktr$cd}֎ʯ@Lv"G技"PK,u.~[-%ӹVD82:e9 [zUlE ("n(APE@TX?B%i8 1J%Њ"P5n%9ë6@&,L_@b&G\0o^;˖-LX2@!g!Ei3U&+(=@%0Fm7ϥ- "q|S~\UWƣ&! pdvm݈$M>x ܆'eO9M (q"?YH3Q`9'6&cPh.fe +a$?C+3F;xGʸ{{.tX )ZtK~іd\2֨](D>߹q׹9+V꽩_ϚQFx1Ǡwb2-t]LxOu[p<~μ8[)_I*rxa k}'Mϋ61p4fTE@PZ[|vOnr3%\>g^;)(t N1Z_(꣏>GAX~v.TPENX4߱T_kB@;3Г.΍yzִ UPE@H@cURxӆ v}E{GʴWE@(6T +{< MK:"7x:Q"("FxMfflX,~ׯ˨/ w$78u0KLFPE@P/m<4ЩS_&QFfUwHH \Tg ZMO#+3q'cce}d`4Vm]"(@2;&#^2^,S)Be$DuHc~p76G+=VK_if̴ʵᡯ[ u ӯBbet$V+V8ゟy]v%Ln6i$ԡ'EL5Ia;)H#i#W H8ZqKکHޖή۹q׹9'+ViGW*Zv_+=a$|ͶhwUxb񈚺41*/[k">yb6Y諭n.\[y O;yPgsEj ;F*pd'1GdV^d#ħ΄⌞nYG@oU8k?!$%u۹nKr[Uc-٫PAH/Fe+v-^P~\\)v킠h#9FBP +4'O?5ibI$.]L2PLQ?yDňGiL|ɺCϜ2d,㓿12ͥ~rzG6h ;s t؉߄FX)ww¥ܧD*m'H/Fe+g]WPZ/~M\1@$,4Ln|͝(uDv/avp'8(fRP DaD"ڬ0Mչ8yroF,1r~SNӸ|?YqAv}^~e6UAoةءSLxwXe1G_oq˿5Sn#WiC7q~b^r֥}E!@-l\T?DyG)x=񞙋'5ű 4QO8v%@1r|:Հ.nh,Vȓux01cRR.Ȝ׉Щ33Ì] N]8rVf1BmLj̧ұgaBwc@khErJ=^Vκ": 2L˿q֗WALth4hl[{sʳs0ΠΜ>xYRZڳgRz&2T+]:ull &y$ϋ[fط^*$yvbT^bעE] 0ztC&gZ2; GFO7X=tiWlw1/lYeFl]@6^z%~].GhUZW"(m пݝ>,2im$]G="ڻy)d0+ԕY!2,t+U&E@PE q8,:"J["7VL@^J(E";sO)},Cm("(@D JdyT/.IPE@Pbluf bGo탺VтYA("(@ FeZD0+ ?OAZI˩;|ElttL-h(`!ȓE E@$46ilovFP iF-rX@FYg,֙{ dՄ<[s '[cRs/4 <6S;֤EV``ȓmxEu#e:'e }(ݒj5LQB؄e#Ճ1/Tڷ8gcsS K"Cӳs4yx䙃?% M}c|M\6y}E@(Fߢk%<_[(-ۏMXtMW\yI'tI'x '0o޼]veucP%4iR/?6ͦcV ~Ki⌖UI~c 4ctf( #d#OԀ9ق7&'3i[r-[0qv=Q۲x @P#noJ3Pn-:P0k%Oɸ6JGT!P}s}cN1?+V{ms=w饗[G%k7a„G}4—YfMBSN8\z[՜2,[EhCE@P 'OnjjJXXϞ=1n{6x]RA`2;;ì?ڹѷY?Yg2gQ0ѫg_("(c3UD3Y,ugJ[RE@PVA^nL_.@PE@PErvbz:"("( <#Ko72jE@PE@Zj:UdhDPE@PE!mrE@PE@"9*¬C+"("&qG+}lT("PPOhشHcizjR{Ѵ5MqX!XuE@PEzi~b_.cBÇ~\64 $݇m%>1mo73Mk.!yc ֩E@Pv˅x\|z7n]EroʙqK) e4  f˧m<=YC b:uhC?u&]V\uǎr]uHE@PEJ@\ /Q[6N!.Ӈ|6_~>}k, ,`gB\;}v`ݎ:lI>Yм+;bj;n2T huE@PrwܡA.#aNE\ DepcҎCF~G4$> elC"O}'Y2߼!vV}?C Jha6[pe]Fu7ѣGwyYGs&9 i -i.sA+.s${'fzrrMy2C&Lޙ?9߷[Ln K:81(6k9FU)d֊"K/hѢ7xڵtiUyXPj@Qڈjx~e4ܨޱ w-jgl .t>26khKE,Y2dn;~2ik N(r:5 Jހ1'Rbd @(c;u馛d OE@hqHQR9h֍&hQpu&B@ca!gQxtO?ebWM@XPE!Zɺ]s]jkCo߾(>>,m*"(@="zz**"`#S0`yz|g8"("P>PGP7N8O#fbW]P@PEM!vtjnSZ~#UIPEZ81OZ븊"("Zl ~K'=zy7=H4зϚ5k\3mzEIWE@Pb8sܘt20yt*@(>7;~{pD?7x;^veX2p ;zT{{J՞EWQk;Pwܹ3LM v ~o7kvt "PwDO WWFNRE@PE@hKHLǶtu-"("T wttC©D@3P {zlP voU7.YPE@P:%PLPE@PE w]jAmQ["{@a Pwԉk0ݲyPRB&,K"w3IH wbW:zSoQ&^I4{5Fnc.z훞W:k@vΩ~Pg2nݺk׊= F-y\:sF龍`2%ߑ^OQ;RCrn^dUի{bm#I_9묪VX4nu-wZB3,ⶲK_[-p|=.{wN;m;M7$"aT+QH;T.$W\!JNJ'skUhaЛ㧋aNӥs~{6[zݾ /uI۔]nقﷀe;/nk55U޽zQwqǯhX>ӳ: Qޱ|uE6qG7κҐFҰҊ2?Z|ʼnW'x}cg虁DU䯴2҇} g5v=9ai0n{_p<'^4W5X?̘Ori_}k_ Zno*{fݻ6(DjҸ`77e#ik+(r>8+ڽ-<]-q̘1Gy$\۠Acvə?+u@E!PuX5,m[ry9>c9 !,U͇s2s/~O Nnҳ>/3sî Oܘ/}'5iD>Z|ztȟ{>;o8%=~.ni].B=s aƆBi7m! ]t7;ewhutQMO>.7|o}[C {,IS1r;[}йã}kom=R+]Jw!bN|z+n< #U/gF)`ӎ͐n+Cnfq mTt-p6"1Rn~6+\Y^t.Fir~yT; 5/tFk 5#5g}&!2z(@cO] '~>H;iSFjXq7?af-߾@B ^ag}.bwŚ'A#Y?7]ǭ a]{`?7,t>/vi 'Qwƣ~|]u[bNe%.p=E&}e/e/77&Ue;ú0kr]w=߾j3]w'~gX%$Y⳻_es{6~@fHˮLm֕Ƙw{f3-$`C^rԑ=6g<Ϋ{s4}su_hzQh(@ws*i^i;kVKeXzn~N^?ܿ@î1'rȿ]'VFF^г/?ˋ [î3Z9;*nSQ߂^lA6w Ϝ3^7O ;(Ki_gGakκb'{ 4tA6WxNO~圆YNewGk"P+SPw$GJ?NϋNw?_{_ܲ_'0k%;svcfO-ғg]tR[d_養@RrHnT+"("[pj#_Z J["΃E&SO=u=H<Νtie:Q&ޠ(=Cwm|e1j+{}JRZ-h :`:GU*C&}Ngc#8Q6C3lvqŊ}J9iè4Ȟ\(Cw,SR("T7tSѤ~>Ď{5k{w^딜,/:bf7n :"Py2Ǜy7~WV}зOrQkM?␡% E@PZ п_Ww3vT^e"ɉ~ᇟ|IϞ?Gߜ9nLp={l^ֽ7P>6.z|fȔ 7==3}*m+cI~LչsNo:vw!*"P2-(r:*WT_& ww#cA^s4W;>*qvLdlwX$tʁ{O)D2wP6n{>bȑ8dɒ+|+\Ů7["WDa@ݷoac2,M,d>wDZ3`uD(urR.޾KAM-["Sa-Z6ig=deMEySqGi{A("?pȂ%޲% $U;'!"ܱ`T"(@@ސY>r:!#o@ KpELAq_U _k#K["]a j 1y Qo SGIofqԙcɱ妃`-'^eh;E4Cx{N zE`m{ソ}瘣w5?o"T.EFqj*[jPK>iCOo#ʜq)ޢN S(U +P cT ua9X ئ\:{ӧŘcˋ<`UȴC}noHA^E@PA@ce}φQn_Vm<|xk%PPGҗ(eS{$ou*ԭ-@չcr?k>'3Ӕ8Vh#V֌dm7U,ι?s%)TYI(@+Eܱ !lmxMbf9GxTwP&AT%1ksSNVTօ-5v?`f7)ޑYoV7⿓eUYf ޝhI\h]f:w١oCsrTa#n̟9_֢"oٿg~S:k\s㍹7F)ˠVEehܱeE@PE@h'Sc;LE@PG`[6|P +l?6af=W\q5#8ϟhg͚5 ͮ6*SD("TO>䭷ܹs׮];v+3.! qcDٳ'{onF-y-GGV8)!w.rwmx򅍍SE@P&5掀lPd#~q#Gzgz ["Ia@ݷoZk4H(,w+; vWE@PE!ܱ]l]"("(e"ܱL"("(mdT;jV-|ź ߂̢ vfPDmY+c]J(=t'NН߂hL4"+"GYWBh@Ѐ.)5]kN㥗qǪ۬[R*"("(@uo("("E@cZ"("X>mذi[2tC`zjVMT :U _cC["]au5WPWG OX%^m("g fcfì#l>ڬ+N ATZV \跠E^3 L,:4S9UdV5~29=C|͚mV*]"ܱ*UcH} c\Xo@|U 2X {HVThixʚ^Zو1WGFZz:"(s*)} CAl!UIY؋V-ApFuW [^*q?Yk9~/{rč~v+1ZK֔ͪ wXXIP5Qs*`)\~čƼ0߹=a :"Ps7=+TY;4_oubLH٬ E@ho V;nܱ]8]"("(-C;ؕЉE@PE@huT;V-|ۋ*p}"P ʢ]K'ʆS߲(}}TzD zWeRE@PE@-!svl͞+œ=#;c{m }Y&AkM?r䁭+|m7foA\Zfu߾}zΝ;wڵcǼR<킽?ߜ9nL={l^ֽ7t$<:_IO՚zٷ߀-z%n:-K.;~k_㉍޾GP&-(Һ+VBlQ"ҕw^QE@PE@P@`vz=KkPE@PE\(!?!X,_U _KO["]a u͠։Z-nnpQ*+c]J(=t'NН߂I;ZjU8K.:K.qPL5c}SwBdB@B:ofkL͠։j@cQkEuFE@PE@PZg. ("(@1ܱt"("b|(*[#j[T PkB]3u6@(ccK("("Pv΅޹GQe /y*Hx&*p'%Gq4{ qfsQz<pIf!#$ >9<#/efw.QT e3lRnyW .Oe[\Xa w+K7d R7  yoԾPFMwtkQC5|"[6T ΩfH :.^ @s2rʤ#:ءmJĿHy<>`1YrVٗ kQJyVAJ:-&C%O |fyU"ͻ'NjpxT Ox%]GXvs.)XbWQ.ȑ9:R{P+:X+rC)jށR=,"d1W t'Wwր*%l7-8Dsd?|aCu^$*Aa 3s x #XL; ozX*PҠr|h;mYϪTZS05yY1ڲnF`q:l">ƪQHA'@?al6)Y2GL:6K'O2yGlɂ@PhPIEQ` j|A:("[|iGښ*Q6wd'_(1TMEMl,Uf5'S6 ɼlw+>hgXLo.Ɓ-[uPXLXt6oh<ƳG_t#D$6Si%x)>G8ISH rcZݼ3(ePTPw,HղH f4bz    CԑY_a#DŽ7 xF@Z^gNGvA@/a .TAp 0yN3rݎЖ[fjtHgdOn>кnH     pT{0Raޱu-'\ӃB$^zv߰o!(;]IwȠ     Ys ?D>@@@@@"v#⎊َh0    "dG:#ݟ"xVœ>d'}C A& SuVSS|rŤ F~}\v>VWLKIzb2΀oh h h ?vX֭۶m*o]'Nz_p…U/>hK.uGkM[32 {@Ñ=Gj}jR;nɒ%k׽FyGx &T} YpO }J .a'} A>pw˗ ><784!(sB$,塃{$P @@@@ ע A@@@@@C+U;Z,T=}C A$ Xs͵c֪ipy֢ʰ=0Џ .R ĥ7@j 4ƬYQ<ІAy/YK\B$q#_Q[\+ Dm RBW𗀴ZYFtCUJI-kpC(e+)GnKꏒ& e)ͪE zbvL\^9 S{)AoyR[y%v£h(\㷖9+WrʕBNLMV9tB{^-a,ݐ]0cܼ&:԰eCu<2sBAΚ͕BA `^`ldJ}k@j :o$/\VCRalH& [kFs3j6D!Y@ ^h GnY4qCg;4Mbi&}ha1Y \hh̚!]GL|籲x.Β3*Hczb~PJ"9dv/@8 P]\75ť,^^^,>G:a#rC UXudAVk2'B* :֮בfzWu3-.dE5.G*L" `@ &j[{ZK/D?( $_S]Wb2#Y+еkKhlװk>-(oa#cawA8Fq9  X&)b2$Jv'q^P pR^1O^,.O ./瓷h52gx0D!@zalGT{I,o.~M]>Tm1ćwK2k!K̔g~juh~֧͜6`)%W"ħ @*Pjb鶪yUc3y̚ _)djqvjdI^mf$7OOڐDߑy3uHH?JqGyaK6Ug [2uUw(TCP Vu^UƬ-&kUA@ ~HNhK.uGkM[32L$#G{vM$ZԤ=vܒzU ->|cpх,'BI@ .a'} A>w "{<āxD we   Zk:ڴi  C   GͽI< vw>꩐ n (W^g͞crKj ZyjpqiHԗ/_"1''gҤIEEEӦM;iA w\g @@;;QQQѫW/ ɹ9r$9t;(D1@?*4BD&^v߰+; O'|Ưo8Uc (@INDH{__pP0; @#Ѹ?#G4&  w GD8@oѓՂ eJo-kVuU)iyFEb3UJIѵJVx';U/[.qZϓ+U-+ZtT- ­4 yLά \ClFK|<9J BY,ЇJVF_j9+(K(#D&PE@i2GKGW +ϝzuаeCu<9 gJ3(+g!1Ou]G V F1N ]8՝nI k׮[dԩSKJJva'ehleyEb @@@ E3 wҥ7vIcp<}RFߞNTB^h8rgH,ڧ&<*K[6bp;.Vws  -|X hGc*~we=O^J6@@@@ Ri*wKҹ0CuH\SӾ6>=*c;~[N}*zjlڣgwl9ƗeϟUW]p!%}N*--]hn0-q,ǴnKKkL/1;~sۯԩ8)D_uUk\ݧպ(X ũءc'ȣ /?v;v/~a%YRXz'_xᅦX3&r_d09κnƵリL_D y;>s]Z^ݻX珔x3Mi2ZbGCߑȰu۶ʋsJmV}>-A-GϜ_͙3{,6Asݲ06?٬-d])Ǹ7*8qiӺuFm Y%߱`cwym;4W_m0Ǐ/?lO!'yM%QOuGO|{"0k97h"OIXX&tVji>IDAT@ 99Sv*Ģ3g̞={O<=ES5|Gغu+%nH*f70sm۴6ОNC:~fW\9'>vm۴o߶}6M# -Hٱ1{;6#nuyG>}ĩs?~O1;#w:^ӏkۊyr!\bQڵxĜܓrXH&sԆ;QgZln^ujRt~A n0uxi]^eE)8N4iϞ=J9.\{jE4R|nT8/o֮ tl۶MͶ,Y1Nz܊mEG":Z嶳ei0'})&R;CRN-*NWKu޾GڷkۭkM?o>{Af:NZ5yTG{wPMzV+qpbi >]& E,^t*+i6;߰h]΃JN4\SsSKnʣ|(*8<4ng"?:| j>`8w,TVDI3xbv>qMU b +JѠu rJ ;-1q]ܹsJv%}*Ż{#޾m:uHOUi%mK:!;{cwɁ R d4q{MjxtR}2NA gr354Tx&aX̊Wm r|\XHd3#rtR7WqI/Ϗ?ѧ#\x)zvusFEHőd7; =hIHEPOtX1i^'8L_RY?}.}<*/oժCGґ*O'ʶY4&͟.A2-®+WޕWפ#ٳxdd͆ CլԸT2 Knditp^ԱHəS[z`T u^!-C3A)x-̛7o$"A~:|1{F- cgRQ~$J:)2"o[;MOڵxxNr=rߍ|f.E^?Hv׶o9%MpFx`xeлrzDOs>M"a{i{lPibIvoM&z^y^ÐkE3_$/8&ӻHv5y`cXɃE l*?i]mQZR[k۶m_;wn~>"@4&ֈ`꩓'Oԩ Xd8fͼ!~tS(i 'l /bG!+*% 1ga'#e&G6\K ]VW+VɓEuTFdh@4aΣE,z) k!}]-%X ؟{v9LE?z3ϙZel޹ߦΙ>V:J|݀eutXk1~N=XrtJ/ `kݳoh’틄Ljv_h'/rmޱfXqb4x nR,i NcA=b <#UUU;;v|)kskM1߱uߑ{B]12iDV_o6f5s͍E13+!;{@=g)#DbQ&kT֦E mkޮ(5 IsHaL!Ԅ_l믓.SrtR&}AaCYxhtR_t.^gc-S/n[4T8g ]nplh]lhózl(ߌ)d7 YY[2 (ioGYq:c;^),Y.elL;PY[8hIuu{w͢L7߬9r&o1c.]ҙF񳴴4 S)NRٝGZM: رO8yk?s_V<yۋnCCnf^,f1ܑN{4& XrG C-GXOʠʡUNy7ɹf:s8EG XUM dס@Eˋ`k!ĚHG!dYZA~~Y”5*hRr¾B,/HX:Ig^Y1vQי,?T| 6YS>暆#f7+ݱؼuyiB3ǞwVTCܦDwUޣ *9[6]vF9|`;s&M SЃӷ~>q)_|@r+I( ʰoC?#߯wkzt޹StiLZңw)т4Q'56%WM$s#y1VɪL6J% Cd+keDӻW5r[^DHɔƞ -!g\Lױh@9;5Yir5y9kYYh&˭`x+&OǾǠж(x&>9={tġ؄\WOn6Z3uTڠX;it$Nӵ Sge|Z__O(HGeCMtӤt㚚ǟ\|}}SKMDO߇VÚM+Lt#G82çm%[_{:Wڳ_ԔrgSS)cs0aM4EH(=zRb+Tw w =r5(@*pVʅV[<ҁ@0 ޽;8\d )ܹ'?kߓحӓH+i}EqFU+HVA%NO(Mv¹~#%31Tc0f)@VZE$bΜh]7i;ٳg*bSʴwUKNnVVt>3gF >s  Ƭ &mذ]DSlLnVTTӫW/RGcARYw4e$?et~^Q s1o%X>:⭑͉ȽT(|GSD w|駝&ewԕ~ 7z)=c)M"J]w%,<m٨\Ƣ vա2Yw|GՍd   -m{l.0ZCp-}Pv*)k[~ɥ1!TdhlBOukU`Wڴя9iceR;n]  l@ p;bڷ <B   Y |Gx9(    ;x1    a} @AEcփ2;M4dHPtdru&h0O?xO+{?OS.\sv":vxoM!(#={Vd:[TKHLc ڧZc-YW.1|8hwĴdbrV   /FOĭ3^qT(YyOwD$%hchP+f(pN@78GLQ$+#df   (@@@;k<:)+F(>P~G\@@@@;&MU;^5S&;rg<    c,#Z <={ߒajhn[oomV/}vÙw_/XD>lH;wIOɖ@6qݴjTeHazEyyM"BPI1čnu^ø!SILº4Vy3t(/7V[^̙*hyDW `Aȋ ȗz'ܘK}R:^ݻl(k#+ Y"/&4BOٌE[Vz\AB+lpbӧ|z`: .No1/RzҡUN7_]]#}Mǝk4q1qv l~ 6inNnQ1L"]y4>&;[TIo$ kKL_yՍ*z؆u+uGNkJBo;8EMkgTb/D27{YB>]2D-ma[ō#!,(. +ʂh KkF4l(#uQTIjFdۜj=hC4ЊufۨDZq W#5,6{kz{XbU_47HIWs=5JA2K^]ZSֽD:%Qu':3anmt w5(Gv%ŝ_VJQ3sS%{o 6#|T71ĄJo҅"[!<47]%jխ Kihw+]aO1kO?՞. }quabZ}\sG11+s.皚>P<h2zNPgФ%,gNuǒj2V.wz4*f :ƺ3bF0iCڰE郚4}Ӟ e0]%~rU۳zPRz,HO[چԞ~Qw+]12+:fkҴ(Ev.Y݇n݀|P՞GHcNS{];O\/1'y4҃T'^ ڋ>>hW K)/xKgY6 U%eFwE3S1%%٭3:õGi3=>hk/deuuOjV[[?t"RDA#D7bM4\Ov##\;zzLްG?"%_Kv ]*U/gH∑9W_;eYO8~[Λ{='v[WtQ.Zjg8K1´Ώ" f+SrοWJ483E;7] ݞbui~ܮDŽ.߀ūu쬼٘KV1(Cx֋x"*TRL|ڶpŪ6[`T=L V X޷zseJ8اoSV=xtc_}yLcծfnڱckzIбC\+6TIENDB`candle-1.1.9/screenshots/screenshot_linux.png000066400000000000000000007123221421102410500214070ustar00rootroot00000000000000PNG  IHDRAj;zdsBIT|dtEXtSoftwaregnome-screenshot> IDATxwtMzGT(Z 6l((* ( Ŋ H^C7ۧ$@H sew }6eݺuaaeKm[>H!B!66:v:B!B! ]7XU|>y B!B7L0,lۖ5vgi!"ajvv(p%B!b醁iXM4O226 o0R߯wksFr9,G-hѼ8v0%]uk˪aZ)aRmDlν*gm  It[,r ;b !V4kplvsۄB!gc&ʹfj|^L>=]VHLLfg_cOQ(DG,D夓N$*M$"5QEQl|0GT/eէ&]k:dP: ֆhዯaZ) n ްDZdŢ=^# NJ7TZ؜膍b>? F!ʢ}R#=>? OJ-Жf݊nٙhLSۄB!Ğ3 iVu BĘNjKG/8Z?5Y?t(Dߩ}0 WkQHBSO/e5$/}:iݣ"fW co8~/l 1՝IfpEqɜM`IFNomHv^'o~ )=P>^Ӊq͠jq9DL'>o47DN|fjf(-+% Lb㶒)n]8B!i}lYixwC#"bn:vJZ4)ӧDatl5MbpGw?쳲Z(:{wG[ h| LAøO,z0 .(4hG.y%AqB2&M{F{z}ӦG\8 ۑ).T |ykc|2,Q1:Ѭ=B!/1M$pRz Yz @@7hcq?MV\/''v(I,pxuI -ᆵSN9βFHaӴP\'-G3MT$; 5\.+ q(y#JX4K&2jb>J4BZŐeJH(0V<8-!ey5'nJ6'",00Pǀwy!,0٩1DPha)--! +Z6ZDTvjVJ}|V(˅(Xj#3=~oM%C4"b!!JtTE&J}!Be5h Xf剎EX%DJ'Rs\GṋTSV:f3g-61L ^?A_9DXI53MCty묻g^L!BCAIf( F >*eh:ZYV1jciU9S;e; " 1AZz:[ss,k3k駳+{`k+kwַvô;rFvJp?|l\)NS*6 Ǵ `; EJ,(ur QmOKO4'!J6.oʣ<l*zFo5:M܁Zwnv w;UEc_"osCsp$&W~gt~=:N?5͒#bDT,覝Rqa߮4/~k_oKVq|aqo>Ϻ頤ɩ7K:PHZ~5s7ᠸ8H 2̞Oq@>̳x(l]2%3r8)ɃM+93yEjy. ||]eǏGmXsܬ-- i8LUa'q'R5SU6׼/eLzzfG:vŻk&IB!ġ$S4Y5GC(ߎGҬ1W[ZkyB3 MwinHDۣ/bܭh^gY{0Kl(K4"D'u~gЮHb%B:@μZ]~eߥ@;N4>4fUt'nj5>x(/$bb[@[WpjW.-Cג9oZZ"4.2Mj*Dx0 JrHLkN#xiFLWq(ӫ<Cwӱ{ ҭ&gB NnxBֹ2#8<4wc,ѮMhZʨtwHgؠ~E9/jZ*HN}e WPcJRU:|4_(VYqI(;?*0eM5-t݄WWsm2}^^Z*2s0>j`)Ť`abeUIF1:sio㗧d¢Yd9Iķk i(j_,Gax| jQ'dKk=4 iW2cuQQ;ʱP\TFʐoBJΞ΀;㰣m*/gΣ_:06ߟj'tPS @>.+&5JP`ĥp精 @__θKIc/oMրhUk6u5ݗjmݮ{*B!^Ifݫ*BYX#vDJKxc4?74C爨]N4;OS?JS ty>_`geu;{2k;6Ndcpq2),ЪUvK˼^Ve}eXZ7w~-i-v.Y|?%e@JU6?+WCxyەJJ5.9fqVVe!ٞƮ<Ά &55=|ԏk85f*5>[XJrBscikkJE9_3jxT-ߌӺkS!BqjpuYEeOͨX}XPx"Уxi=QPFk,PeM@b(bQ)+^qQQA*܇b,Uf_[Y{0MLB B|*/f*V~VmI?$ln2 .M2!2=8 ;vY ѝ|,DFw>ۇ*nWʋqXA9P* zmGq4ێ:ָ&JiVDbi;ڙCj+UC檯`XlXwfY6դxE@ )t'Vº1U.uPKW3׬ݻ/ۯu2\V!pYO]RMLԲb3-h2Eyѳ9i%0Õ]0VJLlIf%7/b[e-^GehVgY0X ErmS#rLѸ`$B)݆+oޏ >#0lZwf/ӎG[;͹`p.LO㘣yR{ W&K-2 h0vKrt)S<:LIL")Q%85Mz:fE[V:ٙ$1nN.alxbX-hЈ雸 aWIA|PC>j>= ]Tkwh%6b`3MMbӛ>eK )۲tg˸ I MM%ͬk=%UM[SwmbI)Bq(0MQX4<€B3 =TNu蕋e41BALCEe_eBtm\6JIq1ɉ8J*(..%&]oYwl唖YP(f68:FGrØ<4W<´+"D 65wֺ V 3Y?qtߊm)`Ic`-7zQpR5cxⱓ*+o%% @'?ڢ>5(1,\cеk~ {G ybzccF=%! :X=׌yWV pښIuU*ƨ['wnNOPٍ>pu5p_]70)[ʰZmWyi$B!8'γQf(}e00iPf(˳pک:4+YfH]74Η#֬Yik‚:_ދN²0ɮ85M5([Ga4LSrfl/>\A˂fF6-t,p5?X/aj+D_G737_O}'r\ 3 Jo8i(Xo? lWHp=m$?XrTK701`VW͞ڮ+bˆFKnˉWyK^򒗼%/yؗҷOoSUھEhH,5TT@afg|a6'βtäILGOJQ)A(fͨKY v%hIǂ0mApͨ*D)h(B%yh(4N;eZJ D ("D+'b*4(є `9VBBLaŽ1֤j=d8JD*ƾZ*i;A ƮQOs)+DXH8(ÎiG߶ f3\RGyuXꉣF\:= Ļb.ii]Sr {z2PTX.Xj{&ºP-0w+Ĺl+&V!`ìoΊgHC~z>|x| !Ba(}Ni8ɄZá=~uia xM5;vFvlZ60VV(&t C' QVZײebɏ> DEQNl!XXZ .!B!bF TeN~XPcfThtY*QiK2[Y͒+TҲɎB!F#f]nlGK[ʖ9cb9ddM-7sa@G"B!8LY %CGrWkrƋK= F rx:HnjhT!kso-1vhk\J61uoc64úR. !B!=O2x"1 4WL% W]s2߽ƣl&N<cWB!B^&&zKiiieO& ؗj+8N`S97]nuթ by9 (("C凖X}zNW߫ M|;xQo"wx=G4JTIG;Ou }דt<}ug9|4fg9- |ES) 73ן•Gc BxlKX83],Zi~Sn̈w3'fYN(C^zKb>ϧQ'rir#L>wgbغۻa_DQq1> #/>?dKu2 !B!CzNfޗSx9zz5&wBK|wThet5|D ιkn>&"{H^Iq dRmGOI% $dEYYP= n PK }Զ &˚^mzkML'{d+|B!PdzӝMJxw,W1#JA4gVFhLRr&CeE,qZ%#-1PG]ڔm_[Wk4Ť'61d_~#"3$d˴םҺkt-q*#hHb#9/ ?CB!B>ٚ4SM\qUkV>7oN/ᡳi_Ά GBS}+tS\;[Z:($ĺ;ya&.{dj~$LLnat&}y]GB!<&_5[[G_Ϧh3ibhOqس$37ApYi'ӴM]'h̛׾diFLsإ4^ Dŷpip);^Ź MIEve`椗<J3xXCk!cyr/$lO=%,/^V-}1He?ǔY QIqPd ysQ3SuP&-%&Ҿuw1ī%,|n/.\϶#9463˶Fkߟ ,Bq3 m ӕjN HL! R F s_\b<{Zb#g8l'ө\sh !c&' 5{^m6+Ş}2㓥S}my, sY:11?7V<#=!e($!+?3WM6!xpR/~ݱ `'ظ&)]OeGzjsߤiW'ةD`EY4V JJcU4Mc53z?hӗ)ƅ?K㝜 єYNnLxAL8_c/F. j+1Wel7kg=ΨYW}rL՗g6gN!:<=>6v|S8‰Xz dh8u|:v|sH;{4]]QQkymt c6e8K=! !=>ӃYHqV9M[Io:gǵ/bP.?5idJ[̥]Gf$NV?٘ bGiqQY;hx&%r;(^VmJd\\>f<d~F Nv6} &̈́Mq;8 1:ȠdL[ځ{&>ʑet]|T2IE2K!BP%v:`Q BUrH-S?ͥ]cI\բ`Ȭ SNf+v G?(Qmt~만6gy9[(ԶSzY=Wܢ"r֭jy|',)`o3@snyGm+n٭z3l.(ujȶ5̙&}XKbj稳Q|O[SW9ַ3gm%X_VӬG͌hB! 2 nƼmly_݂XhsWSk01L@G4?[n"VazJ_:x}b6RRu[NB{{fu^hL)GwxHHO<;}7>xN2{y 18aЃ\֍@[qً/0yxRZqb(^r&MeP~ חꭈlgZF|tYkvdēaH8&&kt{#.}/N䭡%aeTJ7r\_Ǯ>TszQBkO! #F8!&)Mu(,:L [ra2\VbW׻ᒆB!D_< _9СTZ CEnĤ|D 6fՋf]XQ_$SdՑd+*?[ZB:u(\Iiewwϴ #”(޼ ۮ-87<{;Јҍ)2'SCF}I=UnOHf%8"=B!Di-p&?daoY]D3i^VN3xH%c.\Y}I_lS!G3tQN/ cduF9+f_-%'Iy[~dZ/nqŕ& P]70c~{+%(_(&7xy+weg@pD}1F^@rLrKEs gڭ`acXs-\uBJESoF0pjXFtS0^p һK#O^ϖ5d'~KgBߍ/3+iܯ^"$+Ӗ^-tăw G!h,#IV`yq.l%XDyG Y^C -Kyu1- :)%']*o'n~hn Z)$yマULt~s߹9QS\[ϼ[2.zgJf:>bIC/ E2g^E竆sKs?Ksk^÷M#sim0xLlΦu.SƼ:wP:E)(O3 rd3i_r9%CЎ[QPZҮM21H`s _iVpY8449T !8 (Tr#9s /daaHr)tms߱$%'i7,.+ Œ!61bVgLl',誗ˍğ{)M%!).9_(ҙFfb* k.'Pg& 1)O\2.msov hJrJ3:vko6 $dvIVlgdѪ@?El <4']u.7sm &Nʈ+S%մHq,uU& ֘dME h>6S]8Y^\+ vļu~VO{lwR"1nc P*KqwB]駗d~cd0$BTЂ> tLBwb ׁ:W6 Nsx$olH՛oZP~,TNIuwrLsKGƌouڅLP^b'-4۟Oƾx7\:j6RM7y{wKA/5ҿzi0+R)$*d[(%^=prz_1,Ebu?gd.J̊I)DU1 {( 7ݾgdE'BԘ6GlOZr|[yU9/;R:N$*A{u^[ܑ=Cg-$4K^Cy3`#ypq\tL5őٕ3nhVgޚUs^~{͇##랗YOvf\tv0kt>l0$?iICe|;,DgriW3^%d +W(ב$SJ)+-٧?iӦ\z\ydggc[k\B_xiftIͻp rAkwJz)W_ųS^Bfk|ǒń du:+ MO"B1Oa1N~ccWwqW{(  Z^ySJmgMgf/M6sde N)¶&C6=F19Oe9.Ӥyr۹RWС x56}e̘0YŵϕwrU]65˗ҐQ,]ߌ]~o`Iq_z;/1fd egh+Jq\roܹxLsțͫ7\Z{yzp3kt v]@jg s+z[@iLق&Ɲsw䒄-?AZF:_Jr Èy^֗*$8oNB>~?t-CW&hn?"czֲ4;Nk_Ǧ2Lw {?x5ϧ0齹h|nlZ0,{&}"gKNjמPw_[eʸq]n1i ! `ɒ%[̘1 6yi]qѯ_? Cll".!8Y<:B+;L[׬gCĿ[|-X uQ8)#/w7c|R*y!錧sM6Z%1 }CS<mM_ k3gвڗ_3૘ӹhSy5kmn,7/eksy`P;k?&Ngݻ_{sۻ5>Wې<:32xkLh=e,v|x\̨OC7oڎJ#3w~ &+goQ?yiB1|Pz?{ 0t?ǵW.O~=']Ep͇c'2]rf|]kwcj};_ a;=#gbUmDiZ}bkx;爇p9X7r*?PDy\:΍'\Gůk1H4G\jՑ`Y'OehL꾯JxG3CY2e4c_nDŽ:!y!^o3fP^^Gf͚ٳر#?sef:Yp♧0GD۱mجUy6 h%d6ĩ:pGE?7EsHإP8} NؔtُⰠsUq Hy38>. fmgçRO ^#@|<'ҷcw&ǞeW8ݾɖlzԀ UHJ.\ z*E+"XQ$BHo}?6R1 _ə̜q:\M=٬/c5g{/;V]9qMk{Ġ#`nKcÞ<|l~]#+3I3|/M;3ql ?걓^\H⺏˟9lґ,y9UC~{&7>9!o"&ZrUڳRoAh`rpI !j#FvZmO PrI ,{}6dTz XOAjivasqDQS2֨PcPՉxCf_ukٰa6:|0O>$sέyM*AF Nxq{|݂mMN,O EI%6W>\AfL/Z$\U \_x[һŻu!*?Wqz)8`|d~Z8͆'KOYq?:lJ|2y~kw/sG5AWf7>78І6iU$0W!nu }ǔg1䙩ˆʺ5p&H=\\p4(^ƣ~__wT.^F48)pE 4ee>u KMS:pziu}74ҕїP֚+'ӿA SQUemA1?{&s 4Q sWv?|Dȫ)=^ny0%2قIV (>0hQoUƠE*4| I㿟 !!##LK-h42rHFɁHNNO>t>|l<udڵ[nvn"##oeɒ%YMVgq !soc zI׊ր&-4ZM§*4l<&s٩3_q6R6%MOXE"ƽ(Z;hP/Xٱى] { o5<wkT.fB ,eZӊ8Ҿc?nH^:M;=ټ4*p%_C '?^޽{9tmL֭i ))#G`x پ};=Fbڴi4oYr% ,` G`׋v׋/D ZZS7H_I_Ul*.KD zE^r } ܵNahŭЂ9e!c1Sqő;sk7"TJWҿ>_y|"4Ng&2Ej"kfs&ܗV*2Oz<%6f⳽0{8%rR>‹8%lFơEAp4Z؆cy3+hi;Ԥz)4cK3>.-L2>CvI3-t31 WE,~^wF,^lydeEJ8Cz[*}^oY諍wDHhX$񐝕ɞ]Uuyt ŗ^f֬Y5;y#oK_>!Ωށďϟ߸j˚u{,scNRV=2३}P ޽۟jeU^OӦMkt^5k޽k׮MԩSkt믿^fϞsV\DQ/}BtV=rn+.b_iѪ-Z `f6m>͛7gÆ L8Z_T*ٳ'/fƌuBMŸ+O2NO*J((*BT*5"66\=Jff&^gX%..Ԫ߻wozɬYXb .$))Ҫ Ù%V+L~Τw}bl=EK陵_o'Gciolc<0v2˾ G3">O1gm ,|߹YP;L-ZnVw&݃Q㈉iǨfԊR`h4/ʂ-&n?ak/) >FV+z"y3\B5fbՇͬqt372uRZ-wSYXQ ϑ5_4Λ/IL;LU**s"=ԡhՔ׎ ړ±Be.MA80EYlٽ$BT#kHs*(BQ+tc0>VK^6lL0?) 0EA;K|ɢ&ޗj9%C_,#%nGh7rv|̲"ng}qxduALdO8^e3P/Nk&U|G*ZXX=Adծ}{H,*<$:LkCig,bbH_I)De,m [QATQ%\.+BԒ/Wp\U2SH['&cf_p !# _1;xhzwlLYRKs1w9uq0m|;y]z< 1)Lj#j;"SxZɜ8c,uvZq- $2UM-=1LB!jǙʦ =w 6 yOYTo:5!1[:5ޘEHZb1홇Y|7'& =pxؾzrAmԁӊ$ pisjyt S㮎JcBN \1k4$SJVH6)G L!;FJ{氉kDU;Q!lJ*_}XCHXW\(&Dt{֖cKf݁$6NJ}z8^M Vfs ɶ6_I:A OM-ǒ'Ptӳ<<(d#1x]Y,66WR]Vʔ+Tfx\}~c:rVd$S!*{BׅC! Zǿ'؍ePZx}Y$~ϢqH4?IO9~Ej}N)^o"JYȡj҄PE;W/")  Z Bp-KMJj1;mte)WPoyxex4  j &摷}qmRa$BT4l5B[2i9d6}>s|_ $~m8=PW!(GHRyZBRi;tڴ[-IU.V ;_} /f;}_'Rx_2YP&ͷAW@[_nTB) QM?Ww8]TVQ( deeb 9TLfU Ԧ#IU1W/nZGy";QM^B )U*M4.ARwX&?qG-#gxTT4m֜}$0@dT4J:Cz ~G:v*}UH)DU+s 7CIDkW!x}os 0Z^mQq'Zs_9MP5b[}|{r9FVciS*L&:vBxDUΦ#IUϡ'|E%=kҮaP`-D!8wbU_/  zct9L/x<'}IddUjWՑ$S/$ؿbðDi: OuZ|JnMB!ۍEp.fW5'}]t|ٗ`^mlus|SX3_;5'>!Bq$SD$QaSU[}TF2~a pg}olB!"IUIA#:@hB{id*a prBT^q !.|&SX UlğJ֋0*:+42t/l<b8IMM%==d<!!!N``%hI)De60Ne"{3?#\0qjꬶΎѵp/-D!h\."33e>$++ ^Ott4}5.!IL!*fQ [Y[2ڗNuT." pB񐛛ˡCfUz른ÇsQBBBQFt".!$S2w+}F}ƤOM2KҶ+.[*~"EsB)~Vkn7dffDtt4m۶rUFz6*E!7m\2մQ0 ɖ@=!sB1D޽ܹ3& +JF#qqqt޽N9sgqL#3ʬJxw8# Z&66V+ 773JEhh(šj/^Ec?'2GW3l*E-)qƦY.RkrS9]эVw],. ou'm&)rU~]C)SچUjG޹K!y衇{ӧfnݺrHLL$==df IDAT"88R!;;Z-Z ٹs'DEEU\wAOI\An kǬO-MJ֕sHȰyˀF ըW49zxdSTAL!:D832LZM..kA YϡB dڵ[nvn"##iٲ%-[$##Mpp":l>Lvv6 Z>Kʽ{ҢE 0ƵuV,Yš5k(((`ڴiuy㶑nӨOYԍMSLoj/0o_8D;&Q ~_$Ŧ#C<9 H\w6{ns~GY[A]\7y"t(bK̲w[b&=6kNk8_(TG'%_V-Vn L~;[l;lEۅ!'0(x i9< 9Ww bxd gW7q05b t̤2P=~f3G]c1N7qd1[ 8>3aaz1mK3Ld1(8v ]KT̜ҌbrsI^p$,[V}t_ʘrj&rBHsB4 ۷}v{9FŴih޼9's8$%%ql6zq8ݻCL۶m1ͧU\\ʕ+Y`۷onӸ9,gmI5ىt\q'w"7V̂Ͽ;X&@KiLByq;tj0]$B^W>+89)[I BOHbsﳐ ,}g.y!v kr0y* S%;h~_Cc saKq$Lr^{m1%A.\Xg${|5я>K;m~*£ug#uo|v噛cф ஙC߸lftD!*Jo_gsmWf_eW&'KKRAH|+(TheAY?wGO5ܪdA-}\B=z^z6m0rH~g_ٴi{'9زe [n%99ʓO>If͘0a۶mk &NSEphFu*b7)vP #Dl;nhC 6b oC^[qU׍e@HBb (yc$06PM:;s*(LpX^Sd95;{%DXb: Li?p3ìۣ߸kBhts%@j]3aw1iv%AQմ ѡtx[â/ ^Wus#KK(8ҕw||[Ϡ1[`^$, |6&U)-k>_BQ g>@X@ԁJ\yN߲TzOkI[7U:Sp"Sp_Y # #:l](T袇4Rq  :xviF G]||'DW!G #gƯ ZagRa5ʒ בw6/Eyd)OYT© BoŔyGpplb}-|Py!gW 37$5) 5[j\hsVBqQ: p VB{ӱP/ɴ:UAup8]xKNZ Rؑj.b?8+%CZHPYxu#r?]{R!3U}-n\'.ߢ66A+:qWDj%[J#7/G@b:v04"b\$~&oM&Uj/H2)DY-n% qO=^dZ+. T+?>JFG/٬,n(T !hx\z4J`ң TJ\1n>0AkиWJT]qsXCDq<1o1lmGl2fSBaQFwfu/.gObu2c`lq|{Qryo\oE{'`V|*Bzý9KX'(ύIT@V k9;o?{Q荄Nژ!ܐMf\ȣpwÇ/?/LyNw3݆Kǫ'ṕ2'^F{N??x񥗙5kֹBԭO{6x:>TFX-|I畟~ѾQ?q !D=ٽ{7۷?Ν;S\\\uӦMcl޼s M4cǎΚĕϷ~[uT*ڵkW9J3f3:ٳg3ɓ'ӽ{wz({d Q}SK?xjڬ9>a]|3wߺ5L[% !|#7{eڵ,\mNYJ˖-X}4RIHH!!!v9BJJ ׼ysF͸qh꟯;BH)DELMʏ}IW#52dY-|j9_3BTh42fz~7jtЁ Cĥhݺ5͚5#''ǃB`ɒ% :zKq$S +`-dȚmuZo]=|  x#BGҫW?Bq &_0B$BTX溁`={̚xj%^`H WT'577m$}Mjoeg^gncB!rvwHB@֠hj|UuΦ"IaUhK2K 8s&YHv>?umPK06UZ@gSB&N3=U]d$S !h^/NLISaFDDETV_^EJ&jWՑ$Sڊ=P%& ÷}9{|bVu/i (2vCttXm-EG.hJ6 tY! "+#ѾC'BB䍱xfهh7l8cŠ ʻx'NF5x*#{=k'V}k'AkiO+ysߜsqc#t$0>D; Nj)n }%IgF2K|I) YZZfzJ>}:fFq 74umR>{n%+h2=°gi7˶|[;Μ)h2cJrnav'&0(xpAcBS(F8wm{d[Y 1:p;8`Җ@Q |Wd qj.djF<GɚL~BQYv-_~y\~]ʦ*9Sٴ7\ڝP<~!)˟T'& ]+Sgضh5TK^?f\=;FDvC>'W]{#o4Wo[.:pZqdW.45 qzVq9!|sрPiLhpbuI 4f-Wd OT.Sk>=yRG!.0#GT{^bb"vtrg;k4C[)};˚&V'XF)BƢB E1_%޻d[2$qPՓjRO+۫@ى`Ei67Nl9aeNh0?i{EXnzEPzTi'^keW#= $B5Y'Jd:eMB\ Qո\.&MIJe*=wҥL4 ۍZ*yYÉߓcFS㩷Z=d+ }'$ep|x[&\WOM lr3S(Wμ;n֭[+ny/KEC?t2cӲE$$A=Y/Mú}4o/Su&sk|ǿGp:p8ʀ&混d3,N`պB+.3f@%w_LB!. fkr&Mdĉp7vU;ph4-ZDӦM>|8v|vhiͣ0}oΝ3o(B[o,5ұii{,ٿf5֎#V=̓N-W\붲o7Y@/Es=@7͹s3icyo |6!d_pn9Fs %h7}Bfs˳xbbqq렡$BxWʓ^_A,'ӑ BlĈL>/:̉'V1܉`0V-ZqvZ^x3οjN}$&WX}m,1Sbh{O-[aƛ}q">|f>ls9.e# rJO?Nyfbcc'|۷;V{sqq klF`AuuUyj|.EL!Sa$p .L&]Z-Օ]V!k6l`۶mlܸ,t:UUUpԩ:Hyy9xxx`46lXs}QN>N8())i !Z:i#?dOMT}f ąFB\wJJJȘ1c=w̘1FݩSh$Yέ˼GfeRnW湶BFIdd%ϋӳ$I)e3/'t2B!C}zپ};C I)3ԟ{in>sm!NTbyzc0.B%WCL \e*OI=BG|獰1e5 IDAT,6 {WS K7=ppNiB8ӥe6r+vY!c٨(/tiN(\LѤ<==iF_6^fW 2ps2/d,@ulB!1(FЖ^ArxQZ Sk%24k,֑M]!W_~i%Fd.[ws/E}8~g%.UٜdNB\wn^h"EV4'V ,#LpKlW,VJ!BѨ$1\.L[OR)eUPVl+h0 2h كȚ j62[]S!h,oZkSb̘q<5m& 8§1үq9u =rT$5B4KeV5OЪC^S!pYy=ǽʤξ"w,TVU7U/\Ѭ`+p 0(GYA1x*bl?eg2Ų]V!u0Q "m{»o3%o:9gt3qcy白*ktϭcKϳ@xeϿGv $O>oo=NU~)\  |w/P<t6rod sʅXc?B!sznȡХd sxV퍋+.2yqƢwWIЅ^ʼzhޕ|vv&\8?nnDvB^iJfc}ox` оxh,A}/]T-Ms! ⫣8/Naƒ/\+nn:,~ԗaqJs9t 6 mA |j"#ɎV=CľU!L8<x} FL!˹u 9s9ezvٖnǬYRjB"nM׉Mw.gVǶs4'LgMNwV7cC|7_ϴ7>d{nXd`˼hw`b+B4KeVAMs O.ҥe BFGXއwr7j|)Hnb%$-^>pq׭SucW?> ޝØY8ƾ?QKg<55$$$1 ȼ&n#nQHZ2J`~y7RJw+*9ȳpTL%[eUgc ކ.,_[Z )9,ŔU{ *"9)YͦA {#"cLZ0#Pp(ww66mؼBf52Z%8KHh8dh 9M[n We]4υ2[n֍ow' DVVb`2(**j ! SV_]w-Ruu56l@@?aaa(g=k׎n ___=lW,BHL![LJ5ٔl՗>G\, V ** WWW<==HIIaƌDxx8;vCQZZlkB ...Ŵo !p*~MTj2<y[]:d8rJU+5j*ƎK|/+{14 *y摛\Z X,w^'88 #,,jͥ9r !e S2dP߳K)KIQQ&R u5kx饗8}4F`Ʉ֭[>}ݻ޽;dɒ%(JOB`ݺuܹロǣhذaZ"""`1>|j#B$t|L?/]籌_&UTTC~~>~~~tQi6j 0BXX7|lATE϶mرcgG̝;p{&99UVaZ8q"Z}ЦMT*m۶, mB!uBL!J}2[6i,eUɜ1TVVJPPT/XZMffcBm s7X, ˁ?h׮=׿ؾ};xaȐ!`vE׮]tжm[:uDVX,L& B!5OL!R}u?Tj2aeeedggcXP*T*|}}ؾ};iӦKrr27|3۷o'--;vp7j*RRRHII!)) ̙3jxzzҿLBnn.v[k%''DRSSqlsdĉ^ !R\d5yw>3glKqة|x80p.O%OM+??"u޽r-RUUEpp0GkRPPRDTb2PXX;XV~ybbbP(.e^g͚51k,&O8VZZJaa!Ѷm[B\f͚ Oke!A)WXc5)@ihաq^_\SNa6)**m۶^ڵ+Gfɒ%dݺuL&L&{7@P`Xl?GfQXXȁlLBdd$WۛBBBpssstĭb+B)7/?58[i.{" st?c5#HnJb`Z)//ԩS󲲲s 81c0fٳg̱c8p >>>zz= 0QFJbݺu+=e˖o㸟'ORPP%00OO*B$2 2[?e6^ PTTDaa!9`0ӧOSYYɱc СC|vzuss777`( ILLd,^RIbb"QQQ,Zm۶Rɀ6l> ~)iii+h4k~~~9֭[jd$BI^ lDСCJhO?qm1x`mۆRd̘1+WO? ƍ/plX,-dgg|@Xh㚋-d21p@z='Ngd2sN^~ex'Q*ӇL-Zʕ+fĈ-DDDӧٿ?Gm7[!J7lU]T2cɹu^]9Ԍ$,,:\4뉊ԩSX,ԩS=z4111dggիQQQT*T* VBA~={6j>JLFF<<xzz/ѣGINN& ^ϣ>̙3ݻ7&L`˖-t҅i6Q*jڴijB!Z 2!5ԓE`ꛗP}+Vн{w+<<<cǎGvv6%%%N'!B4 2Cpq 07nFqgZqέɔf6aaa(VCj0`{qd>{.a3g/^L6m={̙3X,qzn6RRR?>;v_~AV3qD-[7|̙3i۶-O?4Z,>c344P8t9999ބB4$lN,iՈfkl^ZhT'O:uvљ˗/GTcVXArre6lpwW_bkFS(|'ftV%00ӧӮ];>c 2& NhBb,i˖S)e<=k}f3sbhcKQTW܆P(|L&ڷoȺٿ$99/aÆj*222[x׭[ǽKHHҵkWvڅl_`0Y+[ںuk"""P*9FTWW_XVz==zpB!hd6@g1ce.~ rvͼYVf3eeerѱ$ jf3>F W{uT*| 6lF?hl2bcct<3dggswK/1aYl`X6l>jP*T*J%'Od\s= QQQySBQ/ 2&*]ۼ-ą2fͬɔzLɬ=zT*[LzYxg1L 4iY~=zNN'@ղ: 2t֬YÞ={۷/:Vfpڵjx70ͬ_W^yO?įJll,FCLL ׯGRϣhؾ}5J%:uBTRTTā.Z j5,\͆htzB!j j>X0q"$%5zD Qo]f#4NQPP@nn.UUUDDDtz=<N V+ZÇvZ233d߾}dgg3qDXjӮY'd21~xRRR֭Nȑ#֭VwsT*F#_|9W_}+VoѿƍGiiyt ??? 1;oٲVRd֬YĐO?TZB|d6@M&bef ' 5s2:u ٌbAPWoܸZ``ĉ;ufRRJodHOOwdW^3G3͙3BF^')) ȗ_~٠laTT_~%0dغu+|w0}ts\\\ "<<///83PTL0,F#F+B4 2LJ11eV8ILJf2 n^] 瓛*:t(j/촵fxt:qqq9 KKK3-LIIaթtcXX,5FLL ?#`֭|űb j5kϩUرc'O'`Μ9ٓ%Kw]6EsKcBܸ$ȼ 3 '7⪅֪< emN'O$++" ãSRRټo֩_Pol޼)BHHt֍QF9j ޽{Y`{AVSO9m]5 U:ƒh#22///6mVۣGh4deeSOa?Anȑ#2D*ە>eT8sQB $l lPY%fvLG'm-9 .]#//:w痖jjtԉӧO;5f6ӧ#{àAHII!77Cjȑ#,[M69kL2DBBFJE58<Ȅ Xt){63##LG^x???Glii)YYYzs;[9kSэ}ēl3W}Q;f`S]a$l >{ltNr*t󯄭$ȼ"OEE!!!RIII{nvz.\ZѣlܸؓW^y;vb G &PXXH\\ tرV09sL, ݻwGq=4J3qq?˗/'11~,XP9DFFɓ'9p,Y۝͡/aqLss_~M Z]'J*8)Jd6йLwȀLg(օ2 yf,I~~>DDDWfC鈍e׮]fD^-ٌFaԩL0]e.f3ƍFDϞ=tߟ3R(|hh4Ry233t0sL:uDjj*0aRRRXx1̜9=z_z;v ?-B')"e%U늳! IDATD(VrK_cb8Jm@u17xaS<9f,qS^gg˛ό≑Of*豓bvώɧ㙻?X! P{֬i5BuA}VbУGz=[l X,dggSYYIhh%ǒF޽VYfϞZl6ʲejf?nݺ{qAղo>lT, ѵ5{ſ/֮]lncڴi:CJJ #::ٵk帗 y Yz5 <ֽJݝ#Gɓ'8Ξ N Xܛ$F䮟?bQ`:xw<%kVs O^^!VGB/𛩒{,?;(Rm0c8a❍yR)U ~Ə+g=ie/T?eZlMfpp0pT*뮻t$%% :URRBvv6oDz3W*++ FkƤI0Lؿ^zz!cƌAˮ]ڵ+zq{`/@Tk9?L&z= ,w [}f3_ @ɚ5k(,,$11:ωa׮]\]v1dYp!tڕٳgz=z08t1RkAUq\[֫ny픉M{}:nnn̞=FC>|8se"fffңG8q" :iٳ'zxv]'{{),,S@DDkҩS'z}(JZn]gM~!7n$<<ܱg(--uljXVY+|7X,[v[8?s)OUy9q PY'`+U_[+:Tc=Tr6ʭ)O}B!Afup6Y+- {Ξɔ\p^TW?ϢEصk?| ={hZj5 FÛoIZZzxBAFF/v }ՕZѤ$J%#99+W:]Zr}ʀ@U[~!D=E^ջ=m]9|:ᦛ??&'7WJ)2B\ t~hش 4y$9y%Z eN2|B\jeD^jFkl6_F1)) F`Jŏ?Ϋ|͎]jut_~qb5Aȑ#뮻8z(|w3eڵkNcTTTaÆZ[o-¿oVGlݺUV jTRRDѐ?fh4:%xJ?5tRxNMs<<<8|0ӍF!ąxtYe64_y&Z;z*[\OvYϖ]fҤI:ul?B@R]4,--Eբjٳ'&&GgL:Ѭf۶mnV+^/?i$Q(|׵ET*EF#O?4,^\ڵkϧcǎm6z-z;}xG2dcKBW_L͍Z՜3qċufz=;dvA|||h4~m&LPk(@jj*ӧO祗^bŊODDͩSBC:7YJe{)LUP]fc@9r777"""h߾EOJJLJod6mtYQ\_QL<5?TWWo;;2d;vhlfVIJJb޽T5\IIIDFFOjjjuPThZ,X~ԩS_WWW ͍#G'5BK dl'ڷ˦} 2Lg4)/le8tvW=K>}uzz) &V]ҥ '0qD9rO殻d2ϲeѣaaaiӆmңG{=k⋎,^Ν;roƏOxx8o6??gz}mذ[oZ롤==)))CDDD8F(ONc=Bɓ瓓رc?P՗zyyFPPeeedeeQPPط&B\$l3`Ȱ?el]<-Dy2EA׫ºVWWGyy Ec0֭%%%b4/Z``ڴi:feejyg6l& RI=Xt)a4ٲe J/rI~&OV^{ Fî]OHHd292w111df"33RɠA:ucb2;v,Ν;s}T*yG߸ظ#;w2ydz= jSZZj5kְbŊZ[fffFRRFL8P(X`yyy꫎`0\~~~T*ڵkbd2qFG!z%Ae:7YӅyĉk-H,LM̸7"8}4۷ z̤W^!?;z BΝYIIIT*vEjj*k׮eڴiߟӧwAT طo+V`Μ9߿>Ǐ3`t:PR7߰afذaՋKhkt}߿o'N0|pl6}QsʢgϞ<쳎q%`00zhT*&q9͜9htlƶƜ9sX,>fST5kyqm`KNNZ&Mdlsh4^}9y8`{g EGG6lp󫪪l۷ϖc+//w$$$4gȋ}WÇ4`yym6}mog{kd^46O>oUu55..87fڞ s=9r[^k^ˣ +j6, n:%44C9曼曤0p@i_h>Y|9>,* 2x`Gà ٽ^y;vˋIIIaպދ/{lj'1>lfԩ|W׏sһwof/9зo_/^r,MСC:ueetfVZŨQ233yٷoF񒵗W*33^Ozz:Æ cq)󩬬DP\r׫dn' jOYY)l=<#/ݷEs={|Rybbd=T*k..*e֌2iw4l}jB'Od2aX cǎj8q///Ν[)))tͩfJJcDzej h4̝;QKJK޽{jjj&//ϩcTbccZ׿ooo|||HLL ^f#!!uѩS'GwXJņ 裏سg}5$Օ7RZZJtt4#F`bdd$}|󍣞rر 4 <裎>wF 0HMM`0'ЦMKv=3Gm۶XVfs^ARQ^~~xlTSVVJHHߣ (xlw8;CS2~~3Qvü1\FVT]`@VJVZѧOZS3kY V%** „ ;ᅬhdDGG/Ю];F#tfddhdfJ ֮]KEEeeeTVVһwo0o<މd2qM7j8plll,yyy$&&rJXhj1x`ILLd˖-DFF|w}O,_ 6T* o>GsI&ijyw4it݅aZ2e z]vm۶ERÇsԾ !NA1*+*y% Wcǎ]ߣ_Iyh<{&{vs͚]?T;s6 o4"OEE!!!8:ǚfZ-zzٳgcz=vļ<ïzM)))Lbb"Ɏ8fFÔd2ѧO:ww>{?pdƎVedff:5{Ycر9}4O>$6+VpQGWCR_yfrssy_8Nll,coZxaa!FBUo3PXXȋ/+BDDׯwOIIk׮oja:v֭[ٸq#-r`ܹP4MYBii#C/pk9;t+YtQ$ȼJqqgFD6;~Fd^`0PkɠAسgGf˖-c pΘŋsNh4/=o6&~1|p˃>V%..Çת<#wޤpBlقRd}#3q)))i !MKL'xqϐ{fR}ˬRVwaQ/ 3(.(f fɸʤeK BZ.CZ3* ;?FNLK\uy ܛ?2;i!]ֺlE233QBQ8wQQ!.$0װk׮UlϟV|քRRR?~|۷wInQ~} &55^zy˗/3tЧ2r-ZERIgׯ_P233镂6 IDATڵ+Rooo<(رc9tgZIGelmmRd}}}IHH **db1ǏHYz5xyyi1Ux{{IDD;wUqL0 }ƌCǎIzD77nաC::YKC˖i~9xy2/-2+x] }ڱˤckkH$Ҋ^Kqq1DO ҥK|\vMYkkkXL>}D/^LDDve֭#++ ???N:QFZRV3uTׯT*ٙ={ھP|S(r]w%4+b1W6=Zؐ-4ruu1ZMxx8+VJ4 bѼk|b[VZX, !!NׯGTR\\G~4n;;;rrrPTdg|ݟu7QRRBAAyyyRPP𯪡7W^^RyoSP@ټ9hj5_w/ .=!^oKM$iƚ<.eM^?iiidggcnnVӛ;v0~x^5z%J=MR~KJ,\-[_Сwhh(!!!L2g2uL~ݘW+jʺuXv-qqqXZZ2rH&M$4yNcbggg}sdѢEiE 98ʸqذaMsaذaH$~'6oތP\\x`ф1uTѣ˓eN8E7o{eƌHښT #kSH39999s!772,,-5"͚y`ggM}"]"77v>oSt<Ȭ%zHP5u^^P;o`ku`uDtj:_۔5@*"֭[<X~!ڵJy&VVVZ.$d2~WONݑJ 666vX`QQQ4l''' E *|CA__tc"Rnݺ%2RR뜛 \ #HDbb"iiir._5 2DkaőG֭9s Ha\̋Χ~ʀ4i'Ndܹ֭u3yyyV9XC9r( deeRZZ)FFGVv6.\ĉXZZߛobkk6[+))a붭qqq1bllu<7/(t]bn%';G8V9^z\WZZJvv6YYYallKh5s.щZE\FdzzBr2[o=_tX4/2=z eˢ7oZOdZ3+FF[}}}\]]SԔ ,D<=zУG"## cZ h,Y/BJJ btٳgyWꫯ:GDzeؾ};Q16 @, D[nuӓ#Ǐcee`f͚ŦM2d0ё3f<RG}0$&&ToBVbɓd,]I& -ZĬY/ի;iiiCmСoͨ*JKKhڔ֭[3SSɿw;wn| ΣT*t} /*f/\>wz```P?q+WPXXiݺ5͛5?qaC=;V帷m۶vM^^JݺEII FFXXXҘ}9p*ƍqsU{F'2k//8|X#2A"|mcw]f?gS &-- 6lp.++bbbݻ7'OԊjB^^NNNs=7hЀ!*ihhΝ;6mZJ`` cǎeРAĄ s 6qx(..&00d2YB.b j5^^^Z}n;Æ cݺu2|swA__8-1p'::A_uV!m)fFhР89:j=d.5r]'y*fҠA(ZCHRBBBHMMՊJrb1GHoH${\ts ;::ɖ-[l5jAAA,Y䡍W)SpMIHH_r̀8p?b1}-ZuL0$aƍA55`߾}|嗬_k -ZT* %&&6mho޼9Ǐ'** KKK?ԬVtؽz*999deeQ^*>{iʸT*Q(;v Xɓk"++ ___8qp<&&333rrrP*2x`4i333nܸիW)++{SXXHll,iiij* 33~$jn߾ǔw}^DFF۷xf>ʿboNDDF㏛οeggsr/Xff&wKKKI;f }ѿ޽{qgJq%Q^^+HCBh ggg6Tx ILJjdЉZr]BL4u=cIquuK)y(J-VA*2tP̰`B{g+&Lzݭ[beeE.]]>\+cIr\\\8q7oٳ9s???T*e䧟~y뭷 # #GLBFFڡC*}ɍ1ƏOvv6˗/Ja=yd޽;'N±>Cwr@BR3gK.E,Wdxl޼X۷Yn}E"0tP6nHAAiiiDDD+]vp@ 6/ :t… :u '''z LYv-'8}4ry*}GvpuuEV]GWVV͛Ajj*EE)/&&&tEkܜ]bgW_8_i㍏;(//ԌR;ŋ27;!t/))!.78H䆣#\x{a- DpDǿF2k.[zI݊7np5 Dԯ~\\Gj-ZXLyy97oX[[ _*3yd;Ʋe˄c666,\GҼysHҥKQTxxxTͳbժU׏ҠAA||h g 7oFTrm:vX%Jd$ ~i˗/GRoS\\́ ǧO? ݺuԩSo_zX%M2T*D"!%%ޓ'%,,)SеkWT*}%..X́pss#66^z1tPZlH$T*tˆ# Ӻv~m^Zm:ѣビvիWٴi*J\~ f2ZYYѩS'Сl1&ҡClmk DlKJJy㆐>۶M; 5g233駟{7nݺѬYS@S#ݤ===^yZ˓Ng8`...&æ"Y?Bǿu ^YltIhܸVXTJ@@9rDkHRR,[P4)E+3zh6mJR8޷o_VZnnn,_\8'ػw/2xb0.9y$R===ƌH$BTFff&\p-[D*IV/?N"""-[TETl2ⰵeyHΝ;Q*t//jkcwDuyyzzL&CTbkku2"5k֠P(HKKC$i>KRRR#22)SP(9r$ڒNII Ǐ:t{{{"""H$̚5 LO?wӊReeej]TS 3+K*FFFk8w߬X˗}}=ǎ^X[peTxO‹RVVFaSAL眜֭[Khjyy9LE:)&{HLd˖-XYYаfvYYVt]kA@݈ӤB͢u@qq17n֭[ѤIشi :t 7n^^^?3sL&22~VL}Ѯ];͛Æ ̙3׏ DciҤ C@@J"::Z+ALL0]}˟p-ӧڵ+}Wj=a2223f f[+OLL 9rJ$M6\r6m0qD=u>$$ZfzmڴYf9cǎMVVAAAdee k<ꊭ-\|J:t͍),,W\8.]R~>xcm$'{LݫRA=)/O!݁:%N믿>e7 zYkML4²R^֭1п_?a,KϷF5:Y2u:2+F3 24blzz:jBqvvF__mҥ oooӵ^V ~̞=[H҈gƎ @bb"sa׮]5JˆCꫯ2i$Νub.+?D"كL&cϞ=b-jhҤ  """Vˉ'رcT*k׮$դ/y666( ֮]KVV +ߒ) >p?uϟUEFFr)^{5<<<Ωj!*"""]v7DR]hǎD"!88$<==gϞիWdZңGN8ȑ# 㣏>믿K.HRFQeΚnׯ_u/-99w)--Q{bffyyN,(( =#C똣c2^l4H=.ԫNKKe9roo/z!B&ŋ3¤&ĤD֭_OII)}}͛kբF>N:YˈD`:tZu5hSvR-t-,,X[[#4i t9u JB@P#)*DJ@@T*ΝKVVڵd2aaa8qOOO&O̤IرcX8r|xxxh `._̰aÐJtYKlp)v'|D"y-[@,E߾}QT(r !33Ν;sAs^^^9v&8qO?H{zzl2bbbW_iӦ888Э[7x |||hڴ)7Ϗ7|0 ơCU4fO"-y޼y$%%ѽ{:I+Wdٲe( !e6,,W_}+WдiS>s璐jڵkZM@&ոqcR{QVVv3///ƌ L.Z5#RWAii)YYZ3KΦs_$CCC:9 c:6oUW 9wkr wwwLLLصn߾ͻ}Ю_T0{@'2뀮]jȥ@E]fQV͚/[n *Zݖ.]\. Ғ+Wh UV "ʕ+D"je-ZĤIػwo=-V#2;vpu:u%6*"u_5ZEJJ aaaԯ_P(믿~`QTKff&7nܠ{Y >2!Fݽ[')IMII_G"бcG->arrrxw)..u|lڴ BM:u*JJtO*2yd>aI8p *nݺFnj-6&&???233ILLd„ r!es8pVQٳYr%端aÆtرZlggH$BOOk׮qZU&QXM+KG^TPXIQ73^=K_iiز%ԛBt+==- \RɿѬfk^=$aS#GlݪSհ>O sqqq}Ⱦz*;v젬 CCCڵk'gKQT˼W?Eٚ,2??ZMVVvvvj}A}gL< bGDvh"=  c'*D`Eʕ+ܽ{L0>}t.\ȶmpqqoQr:}t|}}{FRHXXӧO׺پ};zzz,^EEe@@QQQ9򉢖"00JEٳg>>>b Dnݴ/nݚ#KO͍E՚=quuEPͭ[h֬Y.[n#Q:wLnOXj'O$>>^F5)) ___r92LkӰrJ)..& ѣG?JH$PTD"T*w$''P(z*Ν+tG:u*-Z`ҤIL>^zUȈW^y p].]Cǿ_ nyxJ iܨ#+<^Уl|aC'ڴiD'5q쬫F IDATi5Z,=/ΜIȣ޳[k.G-..&''GIO#''G>j|9}Ype Ё:v6ƚu2]4SGalL;w󟻏QkVdeee";;;|RRڵ/ښwةܯݨĒ%KdB:ɓ'iժtڕJ%2d)))nݚ*5jixyyUceeEBBXmW^Qemj*022СCpE5ΎAQPPW_}Eyy9]taڴiTI-$ *ѣGtRZjB[Xp!#Gdԩlݺr())ٳZxzz~d2 bZ{FΝ;dYb1'00m۶ѬY3N:Uk"_LFtt4r>ǯZe M4Ԕ4nܸQ:tHTt~}NN&Yvv :QFiebTK<4k_ii)t׮c``ku¿?eeeh}G<cg]sϡR055ĄLnFԚ?ёkƇ-((?rJv]5{cʕlظIuw^Ξ=GiSSS222Ͽ|9Ќ-Ϡ2DGMuxj*2;O/$ k꒙IOU"xWhԨ[[1bDHNVV]t!??ӬY3Ν;cʮ]̝;XL&"b>}GGG/]~=%%%̞=[!!!  ~0C*2x'N|R|}}9t-bx{{3i$?Ε+WxWڵ+ݺuS2l0&N'|Bǎ?~G<-˗/gʔ)1DB߾}ی9ZIG"//'3e@#X }hc $$DRѣظq#>^^^l۶MyfvJqq1JNʶ/_;S5}}}5jDnn.iii\t aX&'GG_@RR;v:}}lmlgϞ%##ht?]im|ƍEES)ܻw;07ّOYWk+(..ر㔔0x HJN"55ws011ޞMұcGakKJJr 7o>𚌌 222(-+D#mmhӺ5RHyws=E-kˮNdpL'ǥ'k2+K,..&--,,,hР֮WE{裏XjP.GxT*R!+x)//g…$''n:VXA֭c>:t(ÇRSֱ3gPZZJ׮]ߺu-[7|CTT"j=$|駜?^5MM7776nHtt4'N`ѢEL6;w`{ZM$￳n:f̘!4i޼9L;… %**rssYr%u۪LKRr9ha4Ibb"Fb׮]nݺZM ˄ Pݛ._̊+@SKfaaAZZiiiܽ{GGGy:t<*GNr9iڴ 0,--_>899 697"55 c##*m?>R^CkbӬ}W\%1DzzzZѴ8v Hp100y 111y:̺^zH%lظ񡳏mmm W۹sg^{5!G3y45e㓠uDϞ **e{maSG^Nzz:FFF8;; @}6l3{lFIpp0j:wؑݻw4k֌=y7DDDƢE7nsy")STy̬ʗ iY[[s1z-.^HHHƍ{QGѰaCʸuV'֤$>SΜ9ŋ߿ P(Xx1nСC:t(9%%%~۷g֭1n8D"۷o򧶈CTү_',j5}?6"## SN̘1 ҵkWbbbćѫW/zŐ!Cذa;wݻdɒjŮ#ܺu Z]wuxQyL-x"ann·R)yyy8:: o6mڶ39r.\oZiV_vmoWҒ⇮70SvX[[kelal\;ju埞͛7'W ъj2h`` 4j'AWYGxzjxDOTe^g" cIlllDZS.#9pQQQ( ͛ZfÆ Fܹs+ neŊL6iӦѿ퉉LJd ѣ#33@ñgӦMtĄ{q15ZdžNyy{&?gΜau""## `ժUxyy!Jk羠y #"" ٸg*0+~zJ%%%%\~$G2ԫWH \vM&txxI08p;bE7oUbmmMfxW (++c=ܵR|||O3͟ʿǵ.֔ .^T׬k:thd1p@:thį8guDEˬZߑLx?Uw!4h@8Vر#R`2331b~-111d2a)d_Jpm&rss)**ʕ+t֍R:wLff&&M̌7xC9 QQQжm[{G^zɞ={Wt=upԔVZP(e$&&r-  A 1 OB\\͛7~/Z9B~~>aaa>}}t℄bcc̥KGooZ񢐕oMXX\.ՕGޣ_~HRBBB8<b/7߰b 6nX5?N"44ׯªUܹsծiРpUn~xM:^tJ3,K;ъhnL}uYYw!X~uIz!6m|ӿY[k%''FNH$jM?oxlqU[ݺ #sy[7<=8BY6]lv PҥBE]?"999S\\L Da,XYDh2ǍGXXXg$YfVmcVV֭cÆ ?YfI^MsR\.G*g֮][m'@.]ؼy3}plʔ)DDD0qD֬YÊ+ZKsssJKK2e 3gd2^uBCCyW7o QVe˖U2|p&NL&> ޽{Y̘1Çӽ{(!Jb͚5 >9s0l[dPPCeٲeU~ǧ~Jbb"ХKOHH-Z`ѢE4mBܢ""" >cn߾͍7h޼MLLpss#33۷oGÆ 5:jD`:v^zD+IH8Ÿ/Mи COOݺEYY9ysgu{|C'2됮]]ux8uO9qqqiӆ\@SRXX)@ȑXM1۷7^Ɔ &0anʼy4hZ)!!!O^Cf̙O 0@8"񡼼#G uf">>իW HF#8p RNG<4imڴaΜ9Z  vɇ~Hxx8;v`޼yET|r&NH||<_~e7+"##YtH$b޽rϟPZZZڵkbT*mذB!DG_x79qfb'pn$bjjJzz:/_ ''glOGM"0zzzn {~;C\\&&&B[ii)EEEbffF۶mhݪ5{#-- lڮ[~ [5_Fjjgm---%)2gᄑ;~K۶m(gm۶~w}F=v7]$%gOv^Mo/+2=5Ǡrc `aaQB]쎅...B=F||< 0KKK͒򰶶&oo҄FF$$$`aaAJJ ڵUVhтy ßK߾}/oaȐ!T*Yx18qHQXn~)۷g…( 233quu%33Çk_~'ҪU+"##裏7ofȐ!L0Xٳ;wn>ZΈ#J_ŋ QQQܹsΜ9lбc2~x &L?dРAH$|M֮]\EuM"$$j͛7133DgTZӀFh͘1S"J_ڵ+|'OFOOB҈3rHN||?dذa :m۶-vʔ)3b5jWοL4 X-GfԨQD".\ʕ+9}PH`` R1cưuVVZ%޽{ӻwoƍǼyؽ{7k׮2"Yf$ sˋ}r]' ~7/_΄ ?@.3sLׯZkjjʶm-9s&n~>qqqH$,--S (*k*&dT*郿 (D"G.3c bɒ%L45vvvXYY 5TCI#0bb1AAMC2!lْ#FnzhhyaӬ}=Ȉ<yݣ -- }}}޽;[Y}/\!??gSjRÇ3ydQ(^oddDƍΝ; OtxQDTbI$D+ddS^^Nvv0m|???:uįpQ~otӳׯ5kcm.]70'~=kkdt:e*25Onn.oF?C%)Gη|K"1.XMޗy(LH󠤤aAll,vvvkR7ׯOFFpO###5s 9~8hт>}*\;g&M$qF|Cݻw4ƍӪU+Μ9CJJ mڴa۶mD"{&MDY~=͚5Paaa̞=7"DPPG&<<5ki3yd/_ή]5Y|r6mD6mPTuV@#[hJŅիWӳgOB_eر1i$gŊHRNJ>}0`7o~.~V{ǦMܪU+n޼:m4Oξ}ضmo0&==]l֬Y?3HRRcbbh֬?#deeǜ9sKKKRSSIMM''g|BRGQQhnnΎdeеs&O< q|:Ҷm*ų ܄gIm~[1={jfe@tTe&?hܸq4LLLhdq!AzHJ.8WݾuJS1z،@T?T*Q*]DILL$!!̙3޽{suϟ+?BYt)6mUVZ4D" d2d2 ===R)O̟?SNѧO{>Cbccr ͛7gZo]DD+WDVWe^իQ*#X`%KoQPP,JL8?'OO\\ؕ-Z`ll̵k״fVУGT*UIdڴipcN*6vٳgX+ Օ7r-&O @֭r Wk#;/#2 b17ˋp8s =z?KdܻwJEvvsBww1G&tǼ?/J$&?xy|455ǿ'mԉ:'1ڡ_FE]Off&/^޽{LF\5^B$DdS#O< Yt)͚5رcDDD?{"z{SӡC<==gϞťKػw/ >ˉ'r `¹,qqq͛޽[Y9s&4lؐӧӸqc!" @Ki ,???sABCCYz5 ===9}4,[ WWg"IJF.#Xx1}|µmڴ"777,--8;wR^==Z<9JwҢE f̘uxxx<~H=wY9s&FFFiӦx^ԫW\J%cǎeܹ̘1sssuѣG~@Dqu:th#}177ꅩm?xy}|\t Ȭc*eQkjʬSvX[[ HAaۡD $ 31k^ucҸqc4'}hܴDY9z(3gdŊxxx燭-@ .V IDATT΁ $)﮺޽;wұcG̙5[~@RѱcGr]K,!66W"l&c  4i҄A=VT̙35n ^^^ٳGQhPAPPgbLL ;w͍y!Xn5ӦM3gμf9}4}K.v+عs'3ڬ,d̞=QFqEFRDFFreb11YT?#.\+P*$''hNNN8;;S\\LJJV\ɿ=J2~u |xzo=o+t_yl ׈@)0e,hSNTRiIšDh^z OJHH 3|p-Q \pxzɓ'Q(3sLϽ{bZDGGVݻ73f`ٲe{gU7(0Y2$|rɵsύMM\r-0Q7Z3f@jPfPD9Kyy<y9c0ի*Un02g^{5v??? SL!<< +&L@VwOdذa4nܘƍytիy7H$F:t`ŅׯیRJv:uBRa49tիWw%;ŋӭ[79|ˋFսCa4 aƌL6&M'f߰a8y$~~~ >JBUj~ꫯsNqB`Ĉ*Um۶Vt!JmhÃ,Ο?@4v/ы0?1Gad>tq:xrb`&BNw|zBЍ?Kmds7g܌nRۚyl۶ #%6lNCVS~}|M$ iӆd"""8z(MqXv-uԡM66}|}}XjI&lْ͛7s4h%KleܸqLf. ^ˤ$ܐ6P\bxzzRCtظq#3gDѰi&*V0[ZM߾}ٳ')))'(gtlݺLFrr2| ;fͺ|Mn޼i2zj Ik%Yf%Fʔ)cS/4))3dBCC^^^_j_ ر#ᄅoٵ74jԈ?p ˜8q"AAA6 0^^^xyyQPP@zz:fiNɁ''Kq#99?\ذaCYf ~-Ν֭[KtI@P*tؑk8dyb^\27nܰVzuYz5-UVt:Wرc9x ϟ۸ӦM4iܹs1LvJÇtȭ$##Cz'Jٙ&Dv߾}ٓŋs ΝK@@WJ%޻;k>?~\L^L&tB^^k׮AlْÇ#Ɉ$""m2c 4h̙3O TJFFdggSz 祗*PŅ5jcϭ`WҥU..=`k~c~ӵlrWadx)n• *ʜo0bZUᄣFغu,5MÊ$P opϋ4?1ZE'?ӧOBp (z^4 s;S)˳]x!1,"{ tT 7濃 |.!Xt󄅅 `0z"ԯ__B!tB&M@k߼y# Mfl6 :t!$$ uTbŊBŊ`aΝqU*VhM 4RirngϞڵk'v}<\.Zj%^גl6  ̜9Ӯ$j*ZV|cbb5j//I"$$DXP(Ǐ?=AL&ЩS'c׾uVA"*T,X`!BPP`4A(N0zh}3gFQqƓӧm۶ .\|֗᡹pᢰuvbWOst?OSBpxN0q< n25NEߣ02@~@QDq1"g~LZ8Wpƿ=9ԓ-)b/]΀`\dė)X,HRvZ`ǎ|0R$44xZLLLLᢇfذa5;c޽={ڈXQTt:裏lB$55s1k,vލKa{aϞ=OݻerP%K0i$ΝKHHHc}۷bŊUrEs%1c ON5hҤ ;we˖=ռDk>B`֭v9*+Wҭ[70ٳgRi7o&L VKǎmΝˤIJ,Xd5u,XG/d@XX,qwެ]q9r=z=dddB*Upww'L<8ewʬ{ёtԉeWʏWjrOӄ %JFD͜"9JBt:hp/eK40Xɉ >֘M&jLƇ~ٳgh4f֭[&@pp0PNʉ'> @VL&c֭b+L8h\5 &u\&'ұcGʔ)CӦMٳ';P,\^۴iɓ'ٽ{7 6`M6DGGhXd Jsdɒ208T*NJHH)))d`Bqg4iܸ1;wu\|LƬYk̏bATxbt6ٳg#:: ~- .dƸq]6&LbŊ]v,\[ҩS'h44oZMBBo߶s h4֯_T*)g`࣏>"** 5x91kJEpp1i5$M&~~~j-$$Ʉ+r\>?Lƍ۷/;wLZQ>}7J9ϓA5jb(ǀKABE}U}J/җTWPM4璫 >cFq_ochh((IJJbӦM$%%x &Oޱc߾}2a KT*e׮]DDDzjm WWW6mĂ Xl6Riذ!g&33~ӦMC4?JFCbku >^G.GJJcy|l6ۅjZhAj0oJHH;۷ȑ#( ʔ)xj5ݻwhwFR$$$_.LUTN^XjݻwgL&&L@NN?W_}™3gۗAM_|z7nh񨬜?1>>899O߾}Q˨DѠh8p2Ƙܹ3F`iذh0B0aox̟~xFaLYYY?^ q>9O jfL|%&z =z4h!D,KC,7z/h[9䤁ݹe2V&t?k8۷gԨQHR6o̘1c8{,3査` 6cǎXz*TرcK,=2l0~FAAA?#29sЦMsٳ]vq]FҥiРM6N:;^ϧ~̙3myzz|&_&qc>e֮]o!Zs=I+]4m۶ˋHwǵX,Ӈ;v8;˼|׌;֦`0зo_NYBAtt]U,n#V˸qJQTرzhlƔKff(%Hi98#) <#aFdddPPPD"J*%UU7]t!../<FU.6LYyWaXqOECn/nepVZZ5._ @ǎر# B :XNJ+uz} +VةW7HڴiòeJ͛7EN̙3IJJB͍\B^^4nFcESTO(J Z-'C7߈^;wF_ʕYd>,V!@0 4sѣGA!JV#֮]˚5kDx||WzժUDFFr! T؞Maa!JϏ!CdZ,̦MԩV9GZZÆ #!!QF=tsBBAAA ׉E^^P7Lݻ^` ++Kq+\N˖-hx&$$lfʔ)v 4V5*U_ϖU'55Naw턆ͤI쎙Avv6e˖J*/_{022a#5 |T\NNa&AMiMD,(ѣR'LۖW.sЕۖ-[5j(j#o42M\]]eŊqAʔ) 8'|Baa!_qIHH`ܸq9rŋ3b;oe8iX,Ǿ}pssk׮߿D'i֬Ͷ͛73vXL&ݸvAN㡤{̛7S+~}.]z/4[la̘1L&zMH$h42e fͺAhUq}wXf8VRdjXxwؿ?+Vwa4m'N`ʕsEV_|ajL0+W0gZF^ wL`` K$`0`hѣϟg"rq1:t@ڵiٲ%M6% жwؑ?ƈ7 J~lȑ#Yd o&+VwÆ #&& l2|222ˣB T^g),,䷽'233pK/UՕ)U2򊊊8q$P#)ZmqȬr NNNTT {բE ʇ4}F7 0l_k)S3tkF+8qh\L2?8lr^׮]lٲ[8|0۷oGrmJ.M.]8riiiT4Tӊ5,ϪyabzhтXwj ٙ'>V. |Ԯ]6cZ-Ceʔ)T*:u*3fxc>IBCCYx1 *U"11;zJVKhh(QQQ6m&#Fcǎ ;C:SX1>>ȵzK:u]t|G;Ljgd2Bbb=՘L&7oqϠ \JCP(Ԯ]XZj?P^^')) ^OF8~8R7oZb߾}|zOno F̞=[ھ};...DFFڄ/#^ xyy9ʝ y"GZE'?ӧOE| z$Bzzp BQQ=, >C}@^A„0!X"{ uh7A)㽓 IDAT]z" -[VB!""1j4(Pc DWy Jy@  tUH$0fjZQ HJw5-rh4׹m۶h?uT ݽAؽ{0qD᭷J0o<ٳ%ZjT*t:M۪UT*ԪUKh4%!l6 RTn-+0zhߖ-[T*œ9s0L&!>>^ :w,H$ׯ/H$AP-[_m7Bz///a6sٳPbE!,,w׭Ppp… ­[knӧOG!1g]n.\tY_K¶m? 欫unEEE͛kZ?l\Hp;Orrpbwʕ+¾}{8A')cDN /Va7&*ܵ/?J Xx҉N,aIw󢟘{~˃{-SbXfŊX,233~:-[䫯SI6h@Uxb~g[ժUE/d"..ԫWRi#*$7`^ :׋z=*Νk!>TR*U˗~_JEƍrԭ[?+'Gzdqqq|駴nF-yBV3|رcK/L^^ݞq&Պ5tȐ!oaÆ{ Y*koӦ z2ePren߾A2e+ʨQHII&&&xVAmkuchZZnĉ1L޽;vpB=JGv㵆ZK<dj{g'@ڵС-[D.ǧ~ҥKرwΚUonq9r=zas]_Ε+W(,,RJagkry3}}l(Bٲ\tÇz+p;k]t"/&W\ʔյ[D6훚J/KNNq#Q߃p0yxz+:e{qgϞ%33D= L$J_ /Ckg ƈ|Xڿgk!g)(VeȐ!H$bA77rssquu%""~̙3X2Tqq30ʖ-Kڵl6sbq]NTʧ~ʉ'0?ԩS#JgO',X8j׮ͦMlĠjٿ?bّdӪ:n8ڴiCZZOf޽;v,BBBARe=e`sL2L̙3\o _lٲ>|o1cРA5jDpp07n$%%0Lɓ L@&MF0fٱcG4wލ7Zx;`0 8taaafN:dƍ 6dljc6lNnj3B ^Zl_z5?#'OD&gmZ1[͛L8۷ׯxbt:'Oצ J &""N`l6x뭷HOOgL>\4jԈm۶ѳgO19$$={k(A[&LVUPTJ d2GIj^Qpsk`@[QFu OffqԏuWb{Νtcǎegi [lIAA sΌ;7' F BBEPp9ĚOrBIMM_&77p4 ͚5#''̖-[H$d2zťKT˗g…x{{,?H׮]۷/mڴ6^^^PT)?ؼ?sI3=zͩݑJ*Uϓa>k,5jС@,j.R;w-[g6}NʨQlT*J%+ իӨQϩS]: Jb̘1 0;/iݺu9tݵ~^ٳ%>|1c Xp!iii%3g!!!0k,ƌÐ!CHII[8p *0~'vJń 9rbX=}{A"؈xzzyfd2_Vd2Ѿ}{VT^;v|r~f)5^^X,ZjEPPAAA;ARRnnnrf͚u4h@ے%KhРQQQ [B SPP`իyoD\QTgӓUVɡQF6YkD*Uߩ{ /<8gtt8xFܺuK4\]]JUU" d JJtҿRIIKKc񄇇3k,p/^ ŗ^zI<ݝQQT*ƒӉ"00LZPׯ_y8p8p Ξ=^={RAAA`2=0~7ʖ-[oEdd=aF;v< K2qć'!!ooo/1 >>Oll?IFFԩSǮyhтhR)ׯg6}9?̚5QFh4v∉ 5 iFƋ-z :ٌRd̘1(JN8!~ڷoG}R B\غu+e˖%::}Ҽyss?q^ujԨSXb111d2-Z %%ӧ3eINN~=,ֲ/wnܸQL ظq#mڴ{";'(4 vFDGG* aaa̛7D"._ŋ)x#RRRyhtd23gcJR~7Vj5AAAԨQg>7A#ֱԬYT///8@ݺu:t1<@֭)W+WigܸqNg>;{l^ynܸ\N^^ǏK,sFX^Jtt4r\RSSݬ[NǾ}hذdz~$&&uDEE1enݺEf͚ԬYʕ+).ܾMFF>׏!C`4y0`ݽ6mzRJXxĸqHMM_w@@Ņi7oIll,!!!߿@{=g6""͛7LPP.]9V5Z*L&n"ãSad>#ڷwe䐖Fff&/R>,(u<되Xr Rgi0TBOPP2˗P(G,V:Ե|mY#߿x*WLVVK@T*=+spfՄ7j+~~~=zTǹ;LJҥKs%tZ;v,FoooufJHH:Ǐ9_~%r6mڈu!'r-/nkڴ)&LN:hZΜ9ܹsbСC #))&t399Y ^^^/Ǔ1<0vXrss9qℝw8007odɒ{zV^;->ZJbȑѣA1f1ܶAkn|ȐT*O>dee!QTt ҥK0aaaa\|'Ow1n8ڶmK`` }ظ1O櫯9;v@"{???GDDjoo'?h} N`6SJtܹĈ .p5kFrK.MQQJz`:#~p_Og=UtYPTTDff&׮]{]mYw;PvB&%!Ra'61{QFT^2)_߾ʕ+Wʢr\~//jpysiY+`~HA^^buѾ}{FI*UlP>>>dffINN5k_R)vK\ 4M9q\زe 6l_Q*t!*UM 7|4.]СC?;vo?kI Э[7v=iٲ%1jzy7o&66]Fȑ#CV<-Z@J`` 6pz3 ,Q*⅑^zh4vT ^#hxdL6kzj q5J\h߶9Ev{xWT|6bUaaa(JBBB bС|wOdލ5 ر#YYYbo2׏yד&MbvǴ )QP+;;WRlٿr8xHn߾ ɹwM*UX˻I~-^z%(iiiڽl˃OڵN_`pI~?;ҹz5 T\???d2)}w{Ç7i/ܸq8ח_oEÆ$ψ?, NTZ>bY (sؾ#f_nM&]߄+Nk`m& ܉5m6M{~~>ϟ';;[T3L`0ļyXYGv8G5Kp???WnqJLL͍.]f*UPfMnݺhڵk6aaahZ, ڵ{NP0|F#&I9s& ̙cή]ԩrw^ڵk_~81|p1_h4E4Ld{wFoeԬY%K<=*#Fl6S^=J%ݻwy :j&Ml%JgŊڵjnRRj D'E׮]193fd]ӧhܕ-[Ǐ7PϏ'N0o}2aD-ZիDGy |]zӛ &ǞpIAA11h5=zk׮QXXHvv6b%\ݧaMt<py233)W}eI J/MLLM>i߾=2pJWkAI0{y>#GK8|`INVViiiRV-T"z - ӦMC.Vh ~"r\ѣۆF^~e^~ܨSʕ69VXIPP*-%,,*Hy"JtNw5J +/.(JzÇYIh"t:ƞ`cǎm6L&}V.:D)@޿?۷'**ҩS'FZ&֚9x` .}l޼={UT]) 3UVl6۔Q҈;+?֭p >Sx{{SB˹wo[ny|(X0 W^իPV{]0BޠGGB֩,8x .Db6ѣG !-jKحa MT*n߾mf,!lpr *URJѬ!{dggQ.g#:l.~uvrqƤGzh߾=+1+v߿X#f͚bVZZ^^^6111k׎Nj,%|82Hƌ8ӇN:1fѻ'>y͝;I&ٳѣݱʕ+5jͳi3'O,1|FPpaqo%##\..(FJb͚5,YAFF=YP*1uTV?eРAt֍P֭[AVrr߼ysZ-^?Riw VRiӦz|}}mtEEETV 775f x"P]ݻ7JzsEׯaF&2o/)S+>Q=y\?@W_}TT ʔ)CٲeqqqCtq>b2z*'9r_9H+HIJJiXP3`6lF7R0o2ƒF<6rJ9;cc`Bq 5#k4 IDAT]WN/֟&OFA̙;vƍoqTB׮]JgXEkΝ;'6w鉯/NNNۉY=1[fvK\\wf$''3rH sˣt҅M2r'yY֯_ɓlЀ3fplfРAv{͍zkz=ʕE7ΦsΜ;ww}cNJJOOO/_ΪUHIIRJv޼'b4V={{~W8ĦMy'lݺU?iaƍ;vm2|4իm<[l᭷ޢ>ٳgsMiӦ&??'''zݺue,a6U+W 4իof9W>woٓW_}E͛7sNo߾g6ևad>C 0G9".^qqqA*7,ZDUA:}ZzD"!<<___Νh$""⁞nGYL'77e^^ɷY8*iAiƮ,ٙcFHH ɓ'c6_>AAA̘1TԩСC -Z#ƍ'BڵH$dffr9===ٴi7>R)V֘ ֭[h4ܺu#G%@Y~ Nn>S6l P\]]}@kϞ=m믿V-1Wst:N:E `Ξ=K~PTk&S*sN"""ظq>lX7n ؕ/Ų1F>)SP\9Ǝy1ѣΝM6̜9}СP\{TXhܼy3>>> t:Mb!';ﰦ,\"(&Y%XZQ**qjb^uۺD Jm U܃Pkں8@D!1e*sryOy?y-H͍5faJ|=`eRRIIITV/+ҩcG;kkk:uD/V?~Ν;9sNZ9. })\tvN7۷op@19rvv&pz>s>Ci} Ē%9|&&lW_`[H6n~W6`~2iiiT*222ѱ<5jdȐdI@ yI~4iիWG*ruV^M^^SV%]@N\Dn߾SL=*PB -VrM}ȡ |$&&G}Dffp vbΜ9СC d˖-m-꯿X,&;;;x)qqq<~Xg/ǎO>:F&dxzzҴiSHv033ߦM*T@BBiӆZP**E4۷3Nss-'ԫWOorݻw {xxpM&LL&u֯V45{xrcǎ!0`\|3fk4nXw!iF LJp搐>|oL&C.sY=[P克bJMmѢ _U4~Fll,/Νslnn`RfggmHq[:ڴqGdddp8++]w{;Z!J˽S$&&ssOByڵk='LTԴ̳+ĢE 1}:9_g"d\֪eWjժTRY1|H$L#,n޼)8D"/ "1bm[0;cFhh(:=233 777thƌS1!9v=K|[ŅRV-\!+=zyQ LY"\Ε+W/^_=m"\#wz 7'OɉaÆښ/;HDttڴiS֭['W|7D`` YU֚l߾u upOq{=N>M>}011A*\EnLA4011\dz|wlْݻӯ_?DGGgP(h߾^޽{IIIA,3sBٳ3+"֭[z.W\ɓ'L,(DEEO`` -Zyo) :vO?D||}{֭[ .dWp"V*Б#GltЁBټmƍH$jժɓ'LnܸAVV/,6b8s,˖/c۶mlqNКֆ?XtyݻlBB"ܽ{5pq<3m-鏋BZ[[3riӾ222Xxqex'O`iX *Ty|ydf:u2e.4yyyԭ[{{S$eTPd͛7u m 2LhpB\SCp\MKKQrssU8ףS0<n><|bIIId:Ic&\g;q6rHܹCNstvv&66___LaG$̙33988`ggǣGPT:**h={W_}E͚5~,Z py$55ӧOȡCK-ݺuɓ:ue„ oP( ޶3G|_,^R޾;w9jqrrbpb1{y38v999H$Ǝ_;yѡCBj^tI)Mά=iӦzZ#C7ܜ]v ˸qV4.;caaqtoذTsm]vyfL&ϏQS~m[o 1aDGG4kuF%ēΟR0SRRy. k)))adӧ̾ h/#hѢ[ۉ$֥x|g|:lhdLrZ''JhےDECx+-""":Xr{ |}}IMM%44To0( b17n`Ϟ=z5KLjժuqWPa_kfqj֦ar|!zPzܹW*37D-0a7nZTݫk5*hMNlmmD4ٳ'/_رc̜9iӦ|r8s -[4\D"a޽">|+W0tPT*ά]w}WdB{vlYhuHP0uT7n,(Z)fߒ-d5;wТE  $Z9y$ӦMc͚5pǬZDz&:E˖-i߾}xxxpir9f͢UVfϞ͸qXx1ΝK.=zL"Xz57n|ݧO F||^]T-;&WXXnƬ @8@hhhS3+W:Uh#϶mq]crCVUNN"{ﵦ_~T\u XヒT*SD"gϞBAzmi׮ΝcŊlܸ˗/CYJtt4g̙BljjJPPܽ{t֮]5tޝ+W ^jUZ__]X*T?ٞjp 777 lڴI1~~~1>} @K)S`ffrF֭~m=Hy#3K;ĄUQ)Z^ un‚:uP^=[,*o܌)J*,X05tСXY& }hvy=$raB*X,Z&+QjڒU`%"7,E-#\~ju4?>׮]???ZhL&#$$z H(YYYܾ}!RJv!7U!A [zclڴ3fH>}tR^=j֬Ƀ}^jEHHѬY3=oDDDpu9qGK2d>>>lMHBB4lPE&cooɓ'|2DGGs=ƏOHHH)Z BA&M8wgfΜ9z3I V(믴jJ8r>}j҄@jԨW_}X,K.dffү_?R)_z)?Re˖JddvZ&O\`ٵk[*UrK. h>Sl߾۷os]FIBBgϞ-Vwi0m4bbbzO>?@N<9^^^G)m֮]L&ח jf͚ UߩYpb1#**JYV XſBrJN>M׮]틉)S րjFJֲ'Oۉ\v-Krl&ML4z׭I/haq({L}nqҒ==z{cggWkZ[[t)))d?2>6Yq)yJAf@[YZHNN͛T,m[O'jO5ԯ_ 6Э[7!׷@tT*iii)ёדɓ駟2dݻWOyPvm숻I9:Wev-$âޘAu1d?X, W#O<)Jښ6mڰrJ9sC2w\ w׮]ٳg-b߾}:ϡV}kA64lPp=yGÆ LٍgϞѹsgT*LӦMR}}}IIIiӦHR>6ffra!W^k׎HjkH&1 |/_\.M6,\PخVYt)]vnݺt҅#FqFLMMqrrZj&MAf -0-S*|rƍWf1ٙ'OP-HC<~XJEPPRVZ:z4;hT.]}>7o,x( |@LL :h]SSS9p@()BEpvvfΝz---a@ENNN&%%jժh4R*o/R$.H%iJwwtL^=8p*X,({O&ݾ999<VVV_CCPZ5*uQ)1?Zqfiiiő{J-I"w,yaƅ _j쒜̝;wX""HPM*JV^MJ:t(UTgϞxzzT*">>Tlmmqrrښߎ|06mbT^`"h\BϞ=˨Qt+ zM͉S}||-[7pmr9 yyy\r(nܸ۷ +** XŋٴiҼo>b1z oZcǎq5:vȴipqq1ZMXX2m"dj>S-:mK$7n78i$"""WWWdgSha?5ѺvڕPh/SSSQHRwy d(ˋ]Av/l-Qc|-š$,̱ O&VsG$'~Z*f>ﯨзO_fϚE;Af9Fӫ=7\!(|iK*HȬI_2iҤ ;la 3?~:88|cT*j7mD\\;wDVIN8|0ˠew9Ϟ6R6f zȤ&^!-=5QFa.j±ct&)jժEZZzVb֭GE{ >> &ϧzxxpyr9JRƌS抳Jqʆ  uv,;;GG,1Rބ $c,+)kqF"NTTT7np͚@yS2+T{{LMMV~gT28;CR,#E 55k׮ y(Us  :SN\./d-994mڔ/Jhh5wΝ; F|gxzz2w{`W54 6Dg1114gMӷA?7o̙3hтpC(sss/3p@nݺE͚5VC̛7O{۷o^MB@"Z k퍟ݺuӻBCC9s "R)))npz3ڟ~jժѣGy!:t`׮]]V瘰0b1W^ezF۶mQT0gabJϞ={.֭{FEEl2r9C aȑL6M6qy>Q.s [nH'`cc#,r\|;w駟S[B{Y͛7̽Y`60,zS}ʡCKd;|p9gc,c ӧܻ,~Zq1*Qz􀘘=7)Nrr2UVaÆ/5[-~&~  >l6mThE4B7nxz nnnL:ݻ7AKLLZ :={ˑo}K0`qzՕ3gбcGOff&< !![nq}سgO Fn"H?u(8 Jj5JڵkéSu떠7mڔ]vo~PJ76l@LL ٴi`JחXWT*e޼y,X@[ޟSN2#铘Ǐya~cذq۷oNBB'6. % qlj:(//uֱ"9޺u|#>ҝiެYXǾ\IVVaK{z6#F$Sbc 8$''M5Qe"""05%y.,\YYY$&& .ccc8p W^E.ϪUX~=%&&Nʕ]6gO<&3#WaSKxfadAZ[3II?EӦMzYM}DnCPN{G߾}qpp`Ν:GjC7obgg4Ջ^zѵkW $([zΦJ*:~7]&[ne;XL``}N2=z0l0$СCl2ȑ#iܸ1ߧYf&M#--K.GBB+VÃ^h%((LD"ҥK4i҄XR)*͛7wܺuӧ)]gZח0Fa>ԩS??Mx1ϝ;wx xPJA̳T F= d˖-iӆJ*ѡC\X"3?Z)B۷ogڵD"R)JB)SJ횆PT :'N64 &o\z#o&Q`>zD@@&ET3338ОoCmJ:F-% P_%%ga511W/݅v_ L8'YLcbb1s&'NkĨQ^mQWde[S|Q(1rDNE%77;wwH`9rT 2k"$Du傒UTE899`!H!&&FV^Ф8T*233V"UǂϿ 00dwtd޼yX[[#H۷/Jg$:uCUUV޽{]L:Ċ+رcIIIzڼvrcY͹sD 2DiӦ>}Yf/4{=z4W\СCKKKRSSINNfҥlݺ$\\\_>ڵK'Ԛd2Mh4iB?֖8S[ڨQ#Li_|9sغu+ٻw/DFFa0dlٲ"F1Ժ+W"HD\t \[.* BPWuV4h U={<<Q:Q6?J,HߟT*Yf 2e˖1bĈ߳9s..YD'Z*+W$$$N}̄0axyy}v>eܹsѣ>>>H$+.\(IIIa9ߴi8qзo_2** LƝ;w %3|pe,n׏ܹs@|O?qUS@?DEEѷo_ OvJp9rCILL իWAУG称rAƌǏ&00#GrJze8ӧ$%'#ɊW^BǷ~ˌ3 u6$##CoЈWEa 6i\k)t҅-Z`n)uyTJWy;t`p<;#Ξ=ٳg1lbbBݺu?})1Ʊ͚5ܜOj0R4xŊRڵkٱc%7 R ջ+7x,=gҤIiC[CZYJ6tƴ܍cPyVQ/oXz"\Q/ T*K,???F… ~hg9@.^H>}\xQGI355~B@c^ "--l fϞӧO?>W~e{mڴ᯿bĈ\tVX!Yjyd._ W^ŋу5kK>}t^={^'BYhݺ5wۯU`=<=zl՛))DDD+V(0 -Z&""Ё277u뾰#eIaСm۶-ѵΜ92gwRcAdbA R ëV6mڀnƆ HN;pijj :vd lٲXcjîݻw^},,,xU+=cAr< h^].eO>Ύ4̙#v|}}!X§&KNv%f:A-$''oP {^ȯLk2d!!![/UqFYxʁ{knͅԔaÆ!\@7|||x؟[V &/GPF:EC(J<==޽8]P| 7o~aѣGz*K.}a0ߏRɓ'ܹsB;w ׯ_ݝׯ3drssy le9x^W'UTҥKxxxo߾Bg$F^+Tq|mxwڿnwي-СkT8LMh٢K9u(}/`@۷ߟ2%'#33 SSShPnӣGwZjU,ץFlٲqq0*qz_(^ܽ{ǏSre9¶mۄ^ތ;V'PEM&w$&&J|mCH$|L0AoaaA HHHFsNj׮MXgf@S_`Ϟ=̜93g>@ӊcɒ%,Y ڵk>|8C-R?}vx*hт#YhSNV$$$p=jժ%{cӐRD& -emn"F9{,|f͚S|,-Y&ߧRJm dɓW^`}vFAUi޽ 6 6o\Pд2dHL|a=J_~İ|r&NXco޼Inn.R$$$Z-{{{($xxxpeڴiCtt46lf͚;vl|W@̽7<< r9y˒ عs'CeӦM>.))"}N1RtRKKbqddТE 5kd4~YwڠAƌ͈yO$+ rBW=7֨dqvdT_ѪOFT +=<|8999>}mmâjA C*ҤIN:gޣmuVLҥKYr%C ))Qڻw~23ޝsؼyN ᄅ1j(D"`\*ѶYXn]KLLѣGK#厪U5})-,pSm sss9:br;1kYSܱ)ha 2!mۂB3{۷7nW_}_:i "JLӖdZؓѴ4ѱ>|ӧ3w\NO?dl۶ XLpp0^^^?0RQ2[jy-Z'˂ׁvyfRHڵk֭[u͝;qqIMo߾ .аa`,J  ق̵TW={?֭[$44`LB P(<*mͪD"!$$DϼgϞ?bccCVٳ'={?ݻ:ך <L+I WTtڕWtAyIHHӧK#KKKR=5j֤ZjEn011‚-IHH,T:9؛pǼIaIB ߿g!_ ^5W\1x"Ɉaɂe2p@kǏܹs9s4?uxi111z۫VʃJp@9,,۷9 Ur2#GP޼ig_͂ tܹƍK.yN>}6l2yךmSP@=}tN8!j6m׮]ӫEղyfvEܲeB3iIOOݻN݈}iyuMBB"Ν][ח>M xERR`k[,-_&y^z·i2ۥ˖3{첼Xl!m~wo:vȠAԩUVv/=~J?**DYf^/77l233$++L^T*ԩSB_VEH_Jo0aa B1? ޽{ټysm۶1~x>}J```t̙3 0Bvء7*@ڵKݻ홙Y={p%j5ԨQ&MPjU<*9رc Kݰa&M]v{t~=zz@cՉJMޞӶm[ZlIݺuqss{\pݻwjɓ'L޽ٺuCXX_}/!nܸT*%&&Fۇ;;v4ﻏ>#Fo>^IѣGv1iru#FgܹL<]?''SQp~ʚʕ+QR%wk]99A377W.Ѱa#jԨFX2-@YYYdggAVV:eŊB TXnݺH$Y*„]ʅ Ill,Fӌ9Ӽys6l&FOC_?d…8jS4t¶mʴN8VP+++N_󘈈ƌÕ+W KԪ~ƍ3h¤U<<<4u\]_ Z֖ɎupcϞ=Fyk;wYf{4hЀ&M|gA o2"";Jj5_ݺuٳgZF*T*uݵk2zh$ 4ҥK;Rjs)HQyA7)Ҡ\J^n.iKi75,"Af9B+AX*JW&LQF$%%]d \f5̚> \.(O>S -,,X"XYY Onn.׮]AH]b'ND$1w\z*g.7ua2}ѳgObbb)jl8&FӜ9@t=RɤI?^XDj5rf̘AB T^IKKZj,X@ϨGT{gU7:Œ&enØhیKjͥR)f5\PDE͉ {zͫ<9sfF羮s1vXF8 HJJ~ш'QQQ|ᇏ߿?}cȑvcf!CpRԍghH$bX/Ynaaa>}.[F &LET*6mDNz&MDaa!˖-#&&ϰVhذa]tqxzze˖e6sj׮MZZ^^^V<#^ Э]7'зo_Μ9j%337oRTT7ҨQ#R)ԪU ooo777 Vƍ#&&BLL &.]R=zwNCѠf̝;J&E_|իٷo2۷hTTSN=Ui4d>|]vD"a޽l޼\N)((@*2g,H`>g"znݺQXXbAT < Æ |'"yi.]̙3>|8Çg„ ,] .n:^~eM&Z ĉj4 [EEje͚5GvOܹs˗DDDWÃn޼Iqq15k֐Ɍ3dgg Y(nG۷QXTbXѣC G u(0Z-r`~W"""{}\x L^Ohh($%%[`Z9N8q4yFJvQ: P(Bjݝ:u8tϴͼOs[0zh^uD"PB<==Hݝsjt7t4iFCJJ oViܸ1111$''qYs]Cvׯzxs3-Mi߾Cعs' .wxΥMmj5E{͛ɡbŊSR%ݻGnn.;ӵkWϟO`` ?dΜ9rx>>>>}PR%GB#GQPQQY8/8q| }~ի%}M(޽`AɶǟFr92 FC-0LX,j5AAAsE222A& 222HKKҥK9s ./m&AGL<LF``UR'"0f3zB2f,K+j˗ IzbzGͥK aժU7Y$HR;ݻIKK{fLF\\M6Ѷm[͛7IHHs||<ٳ [[T(Ǐ'888^z%.\ȩStO\v,t::ulْA%OɄ(٪U+5jsA.s^sll,/'1O?@ƍ_pOOO<==QT :3gΐ$zkb0t>>>덎DGG3sL c] VKdd$kb;f6Yj/X\NΝzH`=zLƾ}O]`":ŋ?LKK###Zj9'N8y8E3L%%s:̚ * NSn@WJ$!VQ\\Yzz:.\___IKKjryV+iiiofyC-I-9§~Ĥ#ƌChh(>>>lݺUw)^j-""R)QQQ)IaKUlݺ:tEm%9aK.ԩfϞMhh(R”)SƿK[. c̘13^zѪU+1bW^w!11QdcKܹ3DGGL&c޽ʼnV+͚5cҥDFFr n*jsQ_˗0`{!,,HJ{"atRL&4nX=EO[߶mctU*?Æ ]vvc3f̠B "ooooL’%KXp!k&33L!/T*={C!?>nݺX⑮v-Z͑#GւFEECbb"CJK.-3VӪU+HLLt}ӲeKV+III;\rrrr[Z8qĉ="&4f3p@AܻժANPnNFϖ'J %>>JEjj*&IHM+**Ν;sY!= nRJԨQ@6lH X>Ǣ\N#118M|̟?۷V(x)쏀N^ze:"''GJTZi'N8)2aBBJt@V4f Z%QTcu{m>>>̙3.]ͣFdddpeΟ?Ϲs|2nŅURV-hР 4 ___$ !y!hP@T(HRN>͔)Spw/)AsZVxp4 ( Ə[ӱd-[F֭MJJ ,\={o>ڷoO|yݢXdɒ%d2V+&I޾};2 ^Ncǎz>̥Kqiii:uJvsdgg3fu۷ټy3jZHGh43ggN>x OɓiӦ ?V+̫K Ч  &9 O糥V^#GR\\̲e˸y&AAAkZZ999RbE<ߟ  V*UE^4O T`xF:6˗ۉ///._Lh4DDDN~-hZ+cǎB 2ILL_+VgϞԮ]\^L)V%LJŸq:t:ZVK^hР(|״nVZeWgi0h۶ n=^r>3{9V^Mvv67n`0P^=># ;Vٿ?#44ٳg#H0t:n݊L&-(DFFbX۷/#Gd'uۄRFUU* ,z?wyy7"ƶaÆaX4hja$~ӦML&ӑd)3f_dƌ|$''xb^z%&MDLL,ML߻w !W*;vLtܪU #++-['O%*Tf͚(J&M$S'кukbZ۷/e̵]]9*F7|*UiӦr瓖FQQ~~~T\)5}28qRNS@\OMetF֖-d4nL.1_uph$..СCDݻw)...E-ၟv999\v www&%Jiu ~Ǐg…O`k'ѨQ#͛'zP7h4yי7o2L4O@@=zn{pp0wŋO:* 0|zh޽{Ջ-ZIJJ [l… tڕūʆ v-Pbc9oS^^+WN:|GeԩSl\\\&;;ZlIxx8ݻw\z={i&Z|\*N|GMPXH{͌rJΝ;ILL,wPaa!W\!-- ///6l(uΝ#//DB[1Cj AhM._TȴZ-[mNgfĈ$&&AŊ).322(((SNvoܸAqq]g _i&\jܹsddd$={Vw~~~DEE#ϳjժ̰a۷/Ǐ D7|̙3Yf ?oAzz:M6[nIժUٵk;woDJJ(eZ?$< 8B4hCsXmƹsaHROll,[n%,,LW^E&ǰ0+6mJ5ᣏ>zxzz 5b닛HPPh|ǎdgg3qDQ@X,0L>O?L&2-l(JWVӻwoQ~hX=ڡѣGǼyh֬Veڶg ,Z޽̗v]jUmQQ/^$++ ___y:qĉ'e:!!LI{ww];HNґ#Z;>Z YژL&n޼Ill,~,V+oˤSZ5d2_8r&tڵ-[>˭[ҴiS4 x,[oEhh($;K[Mݻw bŊ8qn{bOZ&\]D")󈍍qƸ0n8>SGh4T*=ܹs `֬Y۷d֮]믿N۶mIII;~ʔ)BMahh(ӧOd̘1e˖ӧE~zDU ڍWe(H$lقNo!00PdӳgO, CeԩS:tDBTT)ٖҥK0a|۶m#33\?9r$ׯ_z]\ΝRdرtE4G6mHJJ"77֭[cZINN&<<BᰕI\\ .%z>}Ȓ%Kf˖-OOO<==]65k֤f͚ <۷ӢE ֯_/Df3.\UTӉ'N8yN_O>r/ __^=ww" ]x8Y:P-E~~>/^$##222x"Fa,,DKIIW^yboCE@@IIIB[_UV1|L&~"388www3gƍB㿁;wR\\lgbcӦMh4hۖ-[HMM%77/x^xQdiP^=^xt:5kg撚ʙ3gqӦM#336mڰ~z9R)+ƍcҥS1}}67}ׯF_>x`rssgggS~}z=ቶP*/4l\0 vժU N:?FQh2zhZ-_8A77<==y71cG&??)SQPqÙ pOPۇ%XIXWbFF.\ N6rrrZT*efRoiaS:xtkkXv-hZt:w^zb:\!޽;QFeΞ=L&cOڞ+V`˖-^rC } mQ=Tʴitsq|}} |HRN8СCڵ+f%KSդĉ Ea4ٷo!!!(`HHgΜAT 6xEs}0o4 KϏfFFT\&nN8qߍ_!3͛7YK/D͠VBb"\<!55UAAAvEEE;R2h%<4fK.=Hlfر9h4^:DӉي:S6lHʕ̯z1h Zlɉ'hԨzzhFZy"㚕+Wr4 $%%FƍT\ѣ d21j(ƎP=iVZE\\ܟFo sAӾ}{Q444\.KP"ZVZűcǨW[nHMff&=z۞ٳgQTO>o$%%M֭Y`ݸMiZz= 4k׮B 맻wjtWWW6nHFFgϞʕ+,XWWW/_NXXH*J޽?B`С׮]dٳ~/Z"11#G2m4 SL`0pqɓ̜9Ǐӯ_?R)* P,P{= 9dNJ&MxwիWFPo_pe^5ҥK1 ޽PFT~ܹ0j^~ l6byDEE!]~+ҰaC鸸s= |eҥrQcLL YYYԬY#G#N:En'O,fddкuk?\Z-_}2L{ 99Rȑ#].[$.]$j&&&j3qD\¢EhӦ ֭#&&:u<4n4 "??BO?}d7ֶqX,r_bZwK'N8q%t!V#>A_DD|j4RqMΝ;G~~>999reF*mo!È: R"޽KŊEok3xR=9z( JwHOOJ*˜+5jdee)t/B4Z-Bj߃֭k׮p13g0` ,`ƍB$)::%)JC$&&ү_?ƎЬw>D.Hشixyy5f͚QrAj5[l!;;vډğD"!!!t8~8aOݛƌFyE' ms E}NrؖĖl|W#%%TΝ;Eߟ8N|FinڵkxxxM'N8qO XRWCV(T\BVnzƍH$)jRXXw|B[ ?;/^?N>M&MD4h D*Iaa5jPren޼ɭ[D[laܸq,_)Sصk =zQ.`^j4̙0O0vX|={6&ϟO۶m0a R)B?k{6l؀`ԯ_aرcTܾ}w~(yr ͛7/{4]-"ȐA'&7/W UH$\x#GP\\Lhh(fͲO*c/_^^}Æ j5ju۷oҥKtԉU۷-áB $%%ѯ_?q[{͛7nݚ:u8t~vލN{tөZ҉'N<8zjA&I3#k~_񶥪:/ !!ШCP[7;;w DWZ V0`+B;$%%=Qg_~a_Zŋʕ+S~}=U+V$==LEXbA!kq%j׮MVV]veF/)S-l#""8t? Q4lhZ֯_OXX("::/s!Fu:K,a͚5j|ؐ!Cعs'^|9[l!%%͛JbΜ9MyS% }[neƍB ٳcRIJJ rƌ#sڵ dL=v/Pl0x7Ds[Btĉʾ}s2d* Rɏ?ۓfeeuG1-Z^W_u͑JsErrrgϒ*\#! %ȑ#dee*riJANjj*r\P:^jZM#zA֭K``\V˨h{.v⣏>ǖ"yRh OOOuΜ9SJ% Э[7+6!}] VQFɰaÞH;^ʌ3L&`rrr ~We˖l2L&u1L,ZK:ՌٳDGG w^OZZ(jsbϙ9sfɎ;Rzu4V\?nVo߾+X,r >wuu_:qĉ "Ywc$HJ}^y䏥,}<<s&pIN47\j7mPTT$Jɳku nk]#F;p߿s*J uuu^zTVWr ߿OjC*ҰaCj֬Y9jJ0)Y֖iӦM忂ViӦdff$JKIIaHLLt(@OӦMBP8t_Ul۶"Lʕ+ƥR)NBTP(ӧŖ{d2Þ?#|Mt4 'N$<<ܡH<))#F<݋z͚5z?mڴ>}bK-VJ%=z`јf"""8PCٲeK7nڵk i裏yEQ:PNm;v 44ٌdb٢yK:;vLTm6!3a˖-O=  i4͛ǎ;}\VVK'N%pIkN8|0>L%H~[ܩrܹs[nq9޽/vⰠ;wHv id"C54oJxX/N377W$<Tl/_.{5o\Сf@Zn0KWڵZ#4ݻZٳ ^Zd"==Nrqȑ?~ܡxl۶КđoN8zj,YˑڳgO]7JR?RP7oLf͞Yixx8kݺuXV:thͥQ&b ;wP^=ϓ&MϏ?իW /-HƲm6nܸL&6J9rXZZs!rrrhӦ O.z=={$00:jZ"##i޼#E9>|HBddd8/8[(/*݇z(;8ֳZnD?}D*(mh[NOOn߾˗ŋIMM%775%yR*y4Ű}:07קZjRbDڢ駟(JX, ۩ D¾}P*1¡ p(8}4u+3E7""DR)={tǗfJryL&cG/m*Ͼ$%%q5d2HH$lK޽EhjժT,8Κ5Keڵ+ 00̈́uW;/L6mʽ{^rr2iii̝;Ϟ={8}]zkϞ=X,曌7aZm7Ĺs[.{vNj'{f͚5d:ڢٳ܊ra;'Ç;\XXȅ }6K'N_SIJ{>Wx<,ȕ=)*DŽrr//8E?>`0"KvQZ8*zpss#B?ș&ٲnVW)**rz^mժU<)Zlbߟ;f>:cǢh1w\zAݺuEӇ;ҸqcׯOf(JnʱcJ$L&ݺuCR1zhao߾c2EbT*Kjjj)Vա՝i4 Tf-$$_~???5weq!5jxl yyy{jBfǎ,^Xj%l~$xd2ׯ_/>jժ.{Kvv6zqƑEx8un?\;jc՜1c7nSNYv-d2a ܷo_mWl=?F'f3R>r4qh4?C N!77/RTTD@@'N2('XU~LupYdC9\۴O>xyyo_>& /Х^&+ IDAT^hم~ׅEEEe tЁ;w<վGF,g̘5k0ٝOLL ~~~bZDղc~G6nHll, ///.]Jz6m{ JzhݺC4-[\.'22ݻ&AӠAAS422̚vڕ)@Kc6y9uT.]Jhh(+WMAIA9sgOӲeK?ΰaÄ~Ow0O>1=ZhZ -{wHRΞ=kW˖-{󊏏gd2|||PT\zœ':/GDDpIK.{j9~8Xpp0)))DGGoӶm[!x^Pʛ7oXPWNBBSY(j6mV*K///R҉E*r:xӿr.y윃WTQFͩ40.?\ZW5OpUYqT!+TJ/5ĻVM4ho??[ baߎ9kƻϸԒ9f%,S>>>dddp51-ZTj;uṢtq^^Lh@Vu[Z~>\~777߿/: *8>c ܈*<.7ofڴih4,>|8SN~pt̟?۷oT*Ff3ٳ0:hx˜Ic6y饗S9EZZTRxNSé?3*&hpz`^cH?sW뱴?~j(9>ޥex.:DZ~WQ ssɸ>;$was\s'y᧩ل=rS V=s;>gJy_W(9;o{YFt'N"h,IjKebOy蹱VZԮ]~˗/clזd^|777g /P5w TBqqÈIX,{=ij5qqq.:Ehذ!\ܵl߾>~L&Jt̜9O?ThR[o/G[oٍggg3n8d2YJąBcǎܼyS$F#-[|6V+B.11=zhDRQzuTŠ+y&M6etӃr̙Cfzjlْ#F8t5k)X, 8/hBd`Μ9c0%cΝvRGP(1bV.%.22d"##ܹ3䫯"66Vh~zoAܺukT*z=9|V?~NЇl ͛y)((W^µEDDСC-Z?&Mr{:JLLC3шaD~VSR%|||_DB-ؽ{7Vb„ T^]H}f3qqqF<==#66hӬYX~=m۶}hPSvz=*+ҥK`||N;. ~7j4oUD`W`_Q-F0MjTգױ3vR_SNʂjoFd )duKN3D%%J"TSx5222Dʢooo4E_MbYJswwG$q-@9L&c,]MaJ%Đ^%Boͭ[HHHv-C aȐ!< :?J(Ο????r9$$$X\G9q=zԩSH$Feշ]vV-+/^իD"L5 &L6zVٱc'%%򽧧'>"xj5t:VZŸq㬮I~HNNՕ~LFnn.gΜ!..v1vX֬Yùs爏tL<{\3믿N||<ܸqҦMz=:4rrrt)))̚586$&&"c˖-tD"P*M/Kl`iӦ k֬gRŋJ_*&霽zb˖-VZ_УGmH)v4jbս{wtB m۲n:믳l2X|M4WlMMDFFr g3UX;peNjMLLdƌxzzyzw}}vF]+ႂ222pvv_̟?ox˨{nbw G#( 8wj`ׯ_ڷoO`` cǎA&Oy7iԨpwwgeᄅgJf \NJJ sε^l6n>|86mbh4Rb`Q]]%)mMLLd̀,… L:ZMTT(mϟQ]}q1I72eQ*1_TkjRZK!=VgEfh 4="W_*A'1=*3Ad Mj2 //ӟI L'Nh݉,OOO-Q;qtt^4|I&5Aȕ+Wlր~(JCxxxO %##ڦ#gMy7HII!33۬/j{6ma޽/… ٱc~,))abDV޽{IHH`Μ9>} d2VRѶm* ///JKK-/4iBHH/".Ǐ'33>8W_~t:^yVZEppO@FPЭ[7<$''0ad2Ջܻz8pG$!DϠAH$hZX/븓CP(U@* ?"0g%&"f *2IgggDQh6PA*8ܻuZR-h޼9;  55;2h kRɼyX|9ffIIIà .]Z\lڴ˗Ç'))"8pOwgcNQP0dZ0[z5RW*LBbƌ>[RRb9y}{Fٸpڵkɓ' 11;;;&Mu/gY~ir zR?ʕ+$%%?CNm6BBB?~<-[DղtRRRRhР{e֭dee!Jmo;D"7n^H$T*iB-"!!ٽ{7*]u:1zʕ2!33777K遀"ȬLKt:SSBS5:ڔPh;;;qssڵk}eI`)BiV\\\mzmu DFF2m4>yWi֬7nXEQ#F0m4L/_'7fӦM\r+ IDAT7r5+L6 LV#?X!?~<>_[ht:"&&'O"Jk>V޽;jͽziWZ"ZWXL^^MWcH$3f IIIKHĘ1cx"CRa4Yjm㼖.]JϞ=4i7n !!"DGG3w\zmuo4Vѣ-eDDgϞ%,,S~@_Yi4.y爈`DDDX>Y tR9~͛7" dI-j&O-B֭ $w.`VTꊟTJJJ(J >C܏ LF8vtԉ]vYݰaJ+V0`m۶넇3xGtvʶmXj7oڮP(?~<>Rݻ-Bٳgi׮111DDDN~{f&tmT*h4S(ԃPRZJ8PXQQQ|xxx0b zwww~iZ-;v\<Q*/SOILL |gtj_ ƲaӑJ,\j9bT*X$$$0w\Z-'N6p4+^ǒ8d2AAALOO_6k֬W* #D"1 Msd5uJtuspM)2-ýuknH$dxtvvF"`ooo1)...TYf 52yTЫW/T*%ح[7^x󑑑_cǎe X[̟?f;ѣN">>qUv 8-ҥ ͚5C޷mE]?ٳYd  2\ΨQlꫯZjj&i#ӧ^MPnH^^M4s ;vdǎd24 &L/dΝ ٲeKNZw_^?… t֍/G+\˝#*F,5 }A&l#2|t:7nd؈$DDDP(e5\i0H$B"a` q_\T_oo {{۷mQD"KzmFFFqu+GU1cƐ?LǎyA޽;EEEVm=v믿΂ l]taڵVcbcc7oS"##AV[~f?O<իIHH_~g266֬Yc5Oxx8ׯGҢEj>N/Z9fggapttǕ D"!>+Y뛰0S57E5t&+֓cP'ވbrrrqFMFqׯ_ӧi޼9O;z$<<NǦMlKG||[ӵkW.\`v!vɸq3X|92GZ/>>DŋkTXFO6m7;&5UZ n}qqYXRwݑd\pI'֋/I"-[ȑ#3{l.]3*oη~K=3rH[00#EEEӺukXv-:tB.[mkZCWTT}z֮]\.GbJ%Zgz-]ƠAP(<3VW^hZKKBADDT*.\V%!!bdͬ\ZT*eݺuU5G,?#֮]KVغuk1[ڥ̙3WWW8::H*2o޼Z]GI\\r\~YY:Rٴiz^Ad>lМMb59Gh8;;hiٲ%oի\777 9/fD&zjS#!j1SҥMͪU ŋUbCqq1/2\tf-ެYr=uO<*ռTx||l߾g"СC6ٴi;v}wVc.r F+qww>VT*nݺezw9=zгgO&OlVK6mxm1cNb޽L4 Ba3bJrr2SLaW?/SSSDB}DNsX+LQV`ϞD"hذʼnZFKEEiiiw^s4f͚%pBR)3YrK߾{bGdd$.3f̰3n8Z-ՋSNY1}txw(//7߬2~ ;;ے&z'ˋ:oMRW3qDڵkG׮]ٷo3gΤooϯwK=mb @TriKmlx78v}vd2{',,sѧOz-ҳgOd2KYfQPPoD"aܸq|ڵNb.F"o>bccY~=:t|tԉŋsq?ո˗Rʢm۶Eݘk}=ʚ5kj2~-Ke@@P) a}JK1TV>e F 9ObFTͦ? I&'Î(BQ(M4!;;[nYm3իlqRVVFFFF<<HS*L2%Kп .is{TTM6eΝ[m߰a... 2111nݺzo^]###h4=zڶm˛oIii)| /ow!55*111D۷ ? III899sYj+5 r$rrr,JڴiF!55cǎhz*3g$))vڡ0`1|?a5Nc`KD"]v޽JŤISNqy5jDPPMqΝ;`g1G,!<<ʘ*,,~Hr9 xl\׭[GPP9s1cxߌ nݺP) b\IՑyʊ D"M= 2%aaIm+ 4ӝ3:ڔ>[(j-ѿGGGppp --ZL Vqqq{ B%K={_Ο?-[X:t ds-%%%nj[vv67899 NGn,w\LƮ]h߾=gΜ!++4HNNfΜ9Vs;LfTTTX}ÃM6q 4iBBBB'ؐ:Q={osڴicwʕ+x{{믿n5&22sFxx8fͲc~"ҥE FGG^gΜ9PQQAPP6mBR1{l8LMM2oN8t۶mBA˖-mT*.]D lF,J%+WرcH$҇B`ь9vMBKǗ2n^ m;t}δ43}v舓s233HƵWʍTSnmn0SZZI}M/ p? 4Ey+V&c84輛6k֌͛SXXXmVZѨQ#ڔdeeQ^^vvUo={g=%|@\\uCrhZ ARU.9r$wܸq:uʦgEEMgybduEbb"R,?n~W8::gwE[Zn_`=}4ϟ̙3hH$b„ 36oLDDDDy;x2cܹsYlVm۶|'?߉D"&::BA޽ חE&gW_}Exx8rJ˗СN #Gͥk׮ ʕ+?~STTH-),, 6>fe7H9JnvçoqJ .|JA} 3|0"6R\n~FEPPPPm-[΍7\]]qvv2~/,XF/M]hsέ63gԩSrD"6l֮];srM{=5kFHHcc2{ld2hZBCC[3g2e R7|-Z0ydv؁;w&##WWWKrRRR{}^?>)))V[o~t:{9&66m۶T*תjll,|%rHKKcر{kŖ:zkӥÇav֭(JСym/dڷoFu˞KeVKFH`Xic`Dd4b4n^k'.+Y2KTWpA0=zDXl.FDĢ:$&4X$4k9nPܺ` --b===i֬yyy\zՒ>ۼy*8t*9GP0~xkuرc&-->,EEE8qƵl'N XmKLLٙ]ڬ|XzꫯHHHH7nնnݺѫW/6nHee%7&//9s搚{GJJ aaat*Zi0ϯS? 4h;00VkBJ0`ZaÆqq233ʆjիr_~+VpqyiժMs.^H>}d6HǘlmE,###9JU z=Bш`h4 @%рHdGvV F}:ǎ?"zb1v">>\αcXti5iӆÇ}v/_Nbb"۶m;;;F#EEE5rhժπ>}=#wSVVFff&x{{ 3F#H>'bw & aD`,JpmJ~^p4V;Vڼ3vj#ܼ ݢtz(kC}\(5Ir g+ !7J .Tigvco,#W+ҮSP `{o⨪2ު=x9N& ]kN} ;\}i\;ȻybH Fܚ# F /sE%TL#OlOZAd>(&P@ffU0E/RLށZ"##,6mJ&MiԨNNNۜ# J֭[g3R0HLLD&1uԇg!򽋋 gΜʕ+:u}d-[F߾}ٴie|\\/u:^gܸq6k뛸8 #GQ=ٴi+V^CVk.6olMcذaڵڵkV?3uA9^x#F0p@/9ƌàA,ϱcZ`̙3pL˫7n[F.ӹsg;Fhh(;wD#ɘ8q"#Fڴi 4I&1x`댌GL:bptwt!}i~7.]c4zPy://?܂)++aCS[ii)nnnnFJq)LWF\Ng/6+UWgif O̹_"-ݢiǮtlX̕S5͓FJ3Oq&ӽhѰ3'U`޾<ݡ%;+8n_vVǩ3'Hlg[y~mN&5C' r.&q,Zb_~t d]8/ }.D+вIh&כL{M>X:'nۛliӦU;;;[ggϞH$fΜIPPm۶S)jR'lٲz?^hh(6Wtԉ^zɒon:ڵkǿo-ZZ6V:t(`{ue`TJJJ0`jõj )SСC߿?rqrrov ~WO… yW--Q5bݻw[DmعsgHy?̢Eh̙Ë/Ȋ+ػw/?Sߩ={DPP/ǎs*2Q*UH$ݻ8}]7|SeL6mPT̛7 R5k租~~fƍ cL鲕G䲤7qyc'ѴY3aSֈ7_Xq#\c1"y\ъ֍S9CU\E4psED3?oSRيʌk5jG4OJFrJ<\QAjɍ \oK ̆""ѝprv/3-i; M7+3|+WVIoӦ {ĉ,_۷O?QTTDPP<쳸닓NNNzxZR)**wff&Z3gpE>sSeϬ ш``0^x߼EYYw7n''g* Qz_qvI%44eܮI:5P NӸ['88ҸSOr4ci#Ξt jz׃z%9bo$}gR#{~5UoW0HCnJCŔY"@X؟4&q9t)ys\k4i=t:zbVJB.#Ɉ! t:H$8P/ǀ?E_zzM!~7oFZ/LJ5kX J[ӜT#fѬ[*}W[D'_S E޽UD"AR1er9;wdUƘZruѼkSe۱c߿?ou,[,@bbҥKy饗:t(+DEEl2bccٺu+ :t*شi_~%SLzKt֍>/W_% {>ʘBBBضm۷o̙3:t͛7Zѱ?M4h4"ɡڱdgg#j$ ,#Dx4kF͛РASQYH$2Dd7ķ=ɿFz)Ҟ%їv 졲}!4lSF8PH.4upyfvTبMhÉh3;Kpj۝%"gtr{WBj'c?ܜ ddܢХR\d]wbJOtey-޵/RO3g!U@mnIhj45 ???F#iiirT*L:zi5jj} B,dphf˖- >Ng1͵/ҥwOxx8 , ***05 R;w@ll,O?`ݑdh4GJJ F"##Yb 6l֭[J$%%YQ*Ʋ~z`Ĉ[رRɚ5kرc<,""" <^?@~~V3//k׮D"!є Ѵ)iԸ bJK4`0`Qz6Jr(ǒNq%탟=nz0PJilGVthYƕ_Ns{횒G9v7Jo_O5-D{>K#DNx)<Mj4FHxQ1Yb98r8yҦ? ?v^,\"R ޔ:V`0Nyy9V-NE||<.ݺu|ЕW,rss9{tο9ҥKL>f󉉉!((\nr97of̘1V5zWf̙bJeWfՋݝ L&~t:JFFhy/̉'gΝdddвeK}QXFCΝxɝmFظq#aaalڴKyZZ;wfܸqV7dÆ HLL$::HTħ~JRR :f;œ}ꬬ,n߾;5ϟ7g<588:X4c\F3(/S`*j58b(GN]Щ<<:t̙j,mp|||;w.:tٰagΜ/7`Ȑ!Cqq1z7o~N<ɹslgnEJJ߃<\`# ?`}*) P"SDGj3M)5GM:tLV4S!CVQTu9tPd20hР*׮]T*e$$$qƿt}: BV[m0aEEE}jg]bt:w\.gĈh\3x4ǺDTn:6nh,[ڷooUwbʔ)D"׻qƴmۖ*BftzذaIIIW5O&#y}#r̜9SϘ1c7mfpҥKYpa(_~HQQL7Ylh"ƏO~~>rN夦:gYV'xRIRRxxxɿox F 믿) VZ^'::G};ь=\.ŋ_rCH0d2d`00~x5deeN۶mk$~"SpdjoU*5͍P|}}"//Ɨ>|8{d2P([% سY3f@P`4={vfYiQR_|Uo.k?x8W~Ç۷/ׯO>4ӧOGѵkכV%j|z:vH۶mߙ6mVg=ʟIYhO=zbܸq5jþ̛7ÇsJmٲ777ڷoO\\jŋh4jJ4ڵcǎ,^j+jj)))( x4i˚$ 2Z,BVV>>>Y @ z=?SǜԐ֭[ӤI.\6̫ɓ'%&&];㥗^"55eV?&,, *)@owT*:'N+yHJN 'Nb Seٻw/Ν#,,ZѺ#-- u%ce2[nu L̙Cbb"}gkZlYm_jƱc4h˗/wOHH`ŊL&ذa{$%%K6m\_OZZ)))|NGϞ=/*8Z_(/@ "SPhqRP˖-  ''ǙmWd2_~(ʪγ{xNJ.]4ٴi#dɌ5FvbÆ Uo-Z&99-[nuw' ؽsUٳg_iUB\ٱc5agԩL>Lªۉ/L/ڿhӦ ={qFӝkFIZZ=|6111ݛQF_\u_GP8ť2LQűyfRXx1f͒,++sݱ@ ){4LLuI-x"YYY^瞫<n7EC|8s%&&Jرco\imѣl۶ ݙ;wn52u֑@bb":ul;߼y3K :^Ϙ1c(//gʕIVHJJ">>oooOBV0w.v՝;w?ri?g*;vHݻ75^bb"DGG;T ڵk%g̘_|>˜9s\GFFˉ'6 nj×_~)gZƍyW%ldeeQZZJfD@p1{l^}eʭކ@ "SpP*9zYC())iӦi6NFALٳ_ ~!@պ|)OII_h4 %Nd2R(--/lGLNNgBSٴ)FgfJ3f ]taՒ|;B%K't:g&00#GOXXW)%%iӦLll, OL"2d2a4INNfϞ=f^ o߾ 4eL<s=W^&L]:u*L4IRHΚ5~>%^d߾}<ѣZ8`~jݘfhoe.kJJJfѪU+)܆ QQQTVjpss:"SpsQ9Z}ndggGfh֬YͯȐitU IDATaC***hРTTTкukƎˌ3$NKdhV{G9Vj_%11W_}eMzz:`,ukEErs)..9mYY ._5<>NG.]X`AU1 )u]ď?Hrr2nnn!ٳ'JI^Yyuj4FΝ;y'O]cyfvZh4vZ &99Jz俭Ν;GÆ ]Lv#wYYYIYi EE\OYY; /߿NwWL'>[ǝԐ .p4iR\dP*fdy>'{.˭V+qqq$%%hHLW_}Ő!C$[?k&OFxG^^^3qj+*$&L%K$רj)LMQo6ƍ?gĈ4k֌E^wJZ+Z$''{n~Wo@&MxGӧ111NѦPDFFtRQ$''ς x'_ko///>IiZQ*|w  S eKA@p݈R$/Dk0LQ???gĉl'($'%]5 e֬YgϞoN_۷wFv\N=(++CsLArfϞb!** bbb$bLL kB!ΡCGRq̙zl63w\O B`„ [Tjs'N`ԩ̝;FAcXHKKCݻ1ͬXxwaJJJ:u{N4Cx`6tzv}P(0L s%N=͚5dhԨэdpMJJ> ''^MHHHয়~EZ rm6~͛ǛoRt%r8z=EEE?oooꫯPTDDDF֭Yl~ƍG@@@'d"""(--%%%E)))(6mZmw@^^x{{##G;@ MWHEuR'zr0!< YO pww'$$///X,^ް`***$<<{f;FúuaŌ=Z򺹹%Kxb ޽{y3t4mڔիWhuƒ\.gL<yt¿/>C&MʣGɩ4 {Z?BCCiܸ1X,z-bbbt GT9]vυ T*&--HǣR~|dgg@֭@pGQi+b%9F z<"" wIy:kj|j֭iҤ 999H{ݝ06l<־}{|}}J'٫b٪dtЁ!C0}tx"ǏgݴhB-vi___K,?Xbb"wm1e"""PDGG/HqTg'|L 6lヒN;ǎC.É'P*T*ݔ5j6_°aj:uTG/#** ɄZfʔ)L0^/<$$$H:l6N:E~~>-[$00^S 픓#wr喃l^PĉtγmqaEl5Vf8_x  چetn-@L^owUn5ebT;M-8p c=z'|ov'990Yh:ܹ`>}Baa!;vD^磏>O?%""37SO=;7bӓWlْ .j?.f"""ضmk׮,))!##Rs@Pk*+(.]&^*:Υr E3Ee%Ws=x6! ~hxج!qENer%i߾=&)S0k,֮]K߾}Nn;Q*ro]dddj駟$b/̙kӧO򺗗6Fcr֭L6Z9 ;*}p-**r-[ŋDFFiӦ*B7)2{ n:g$JZZ rYOFFr*@ Ԙr.U4IJ2PƱ?ZzURXQ ظN6[~Xϖ]G)^+[7̮߳(a?7Am,%̆ h̢,e [gJ(c" ?o9qGw/l޸vtcM˰ f(s9[P)=hbSƧD(+OFa޽4nB{ԩS1 9s5tZ <9sh0 ._йsgڷo+oСCiݺ5v?fݺumۖ}]s/]t!W"+Ciӆ+V\^':>S]//QYVzxx8&..ZO?}]׿ Oo>9ǯMz?rrr((( ##ZoFpp1f "**?`ٲe.~m.\>X6m䜻TT;wNͳXVN>M=\qYryTxj裏 ZhAnݘ7o5 v;v,h4H9}4999ҪU:ع@ hӒ-I;Q@yq6Gsq @yDA#'vm)-↻5¯(>yKn4l 9WA]FF! 7($nnn?՝+)/H'֜NG{R&6 3P֤#[O~x :ۛbwau\NÆ ŋծ]d ={жm[L&iiiT*uy饗8^j2@[ok.ƍ_2yR̷۷8&MTeJ\.C AS\\\.7h4d2F#Zy׃jiӦ,Xц jݚ l2nJ׮]%qҤIaZy駯z\t#Feqs^jETb0jMPRRBpp05@P#li}mq:J8U#w4tVRAee?~c ]_TM܅>xTP.n+mIF4rv,voȆ7qq *)UP^hNj7|AM"SpnVmϹs窍8!++{ JѣٱcO=&L41(J/^[o^w1Q(FƏ_9T'LɓQW3+jWdddwySN1tPc?0;w$&&Rkz51wi29s&9Ox8ŞUt:Nefܹ<ƒJݻw#HOOtu86$L& f5kH_t'Ob VJ4tw߶}ӱ2:4!醭FEa:/:1>ٟ}[Qr w ޴jol7!2w2_I-".'''s]usŊ3{s=w7qso l6c45kZɓ1b5YK,Aբx%V|M6nHzz: fȐ!?72rH2 ^̙3ywm- :m:5$jL)::={н{*ǭV+oݻwgq.ɮyA&qyd2C q"swD NFɿ7yyydgg\.˫^A bt ܼiթ--[>mnJT6**lPVIųRcsnoJJNJ ohKht\K#8}.򊪆X7AY(*ȧ<<%6|bV?o#gK}L7~ѰZ#nyz@"vNjHAAYYYxzz211xzĉÃm۶Ih*RRRxR-{Q*|gun:njNLj#$Emrr2CUV|ג1СC1$&&ꫯ^sofxvIΝIHHXzbcc%kԨQL׮]HJJBRѱcG6l t:jIz뜥lҤ F"Qa2ƍO>Maa!-[߄ٳg+Sn6 &Ap]&0E8Ip65[ppT:uGܙ$$#NkqG۶m{fQ'gΜaԨQ7@wκun NǠAlbT*3vZ4 3gά z9Zj+111NwZB!9*IMMeذah4jgB\>whѢ:tT%RJ`t:J%:u?t xT*>|X9jfϞ팚k L˟ȑ#o hذ:LDD7nd͚5Lqq1[S ;8{lR}Nބɓ'),,(6lsΥ]vtڕrYJZgd2!O?^tQ裏ꫯڵ r^}UF#fHGU#:j*Z-[lAT̄t:ë]6!###̈́;v,jE$߹/8[u:fͪg ''LcXxk L ˌ ׷,uKlÇ;[kg}0ey嗫j%6'OGpp0_@ ]qoVK.EEuZn&P\TD<*}5m肻 nRٍjvشiS6lHVVeee5_h42brrrسg=P7BRRjP 7n9t"Xct֍'ի]DVll,Eyf+YfMVv IDAT+V vk[Ě5k{Plܸ8ZJERR)պZVT*O>a7ߚ>}qٳg]8ڴiCFu@pIcz{q9Οz@pWC/Z ϏOa"+ΈK.qY<<<CϺu$[#x41ͨj̙3y7u#ԩS,]ڹGym۶UkaƌL&cʕN(6żz5GfƸLNNVfƌî]DL& D^^k֬1⨈w{>_}?|Ξ=ª_ wzIѠA\TVAEōW1AT2w+ Ъ]lZf m۶>} y1| tCBBf>|rd.rvyKMqJ̙3={˺_~)ԏ9† 0`1={jQ(F6 ~ \ή]gٳ du]ѣGӼyj#BѣtmaɹPNٳ pP1tPZbqƴjժv(w.u\ [?G ^4{ĉNg8!r9}4yyy5:1GSOv ۛIV4iqqqUfoG6mDBB~)jrM5 ׯgϞ=}*r9{%..ZͰaѣ3ABBӦMCqs111'|^zU+0g͚̹LMMu &V`0H LZZ&661[[b!00PL@ 5FLMl}Nd;˜'$$X,5>CVW^ڲ#g1..T"##7LDDD:uju FÊ+غu+]v$Xzxxзo_RVG}ĉ'X,X\㝑*;v$FP*x4 7o*~iӦ9ٖۖK.壏>|V={j,X{+*:Ƞ`q@ 6؝g-l-"N $77FγbcctJ{Ҵik::/_.)X.\Bh42iҤv &&JW_}F.sqg_tYha'wH./wYαcLjeĉ<#8pʚ{m/T7BXX[n`00w\ Ʉ`|Ʉ ۷o BNZؒ%K%;;AA(/^ޓ|^ /Çٳ'7y4i҄ӹsgn*iJ?OgΥCt:zIVHKKqK.ETѣG&;׏jSbpi-@ E ~TZD;{4jԈ:uD HOO4lؐ!CHV/SRR1bf݀XBMwe L&|`yuT~P 6o>JKKڵ+ 9Wy%+#Lj5:&j-[SOIVG Ǝ˲ejuG&ѢEzڡ@ :^jj7;fffҪU+jtnnݐtwwwRRRBhh(ƍ_;`UUN@о}{FBO`ڴijyYb@HףRر#_|,+g> p=YV̎;ZV|Io^'7.\jdeeQPP@˖-iҤI=R .+{cNbxzz5vҥ lذLVV{a….!Vf4q72h 222 'sYf˙3g˖-cܸqc-l6K͜9xÇf{8f+O:UlMԩfxdSN?u"@ :AL.6u:{ m qww'$$ƍy&55늋~`0v[L&c֭k׮xĉ%״k׎C1x`{BCC?Ym[kqq1_~%C%,,ŋӫW/Ο?㏝FQrRORmI}霳vu 1nݺFy@ 5A MJj_تU+<<<ɡsl =8pe).\ݻw1|*>RRR?@ Ө`_7rrrnvcճ \%Em]M"S ;*vY.~MpRRs7߬չѤIZj,wPt'(Hv̙+z>H $׈w{RgWSYCBD^m5 ///N>Mzz:m۶ L/m۶a4Se޽{)**W_ۺXjtΝ;qww]wΝ!yCպ^Irr2=ն&''3tPd2k׮iGeȐ!=zPJN>MQQ0w<Ҳe (/+^ OOZҭ[PoW>v6ϮL\nfRROM6TVVFqq:Jpp0:txXX.oA֭]r1N:}yXj,_RGKǥKѼY399;Ҹqj9t˅@ k jIII1eBTVVRVZJII1]ux~}v5ALJ J5>QFɓ')((\IΝ?0aBc>(-[dԩ7t w&`***/]?l6fΜr/{aŊxzz2vX|}}yꩧX|95èQnemj&La0 7!~cccٷo_ ݝPa# rrP^Vvw"39|k=ɳ)Bd RhvxpٳJ;x lŋ+nڪU+o.޺j*5kȑ#]߿>}㏳k.f3?<ǏgرrRRRl&""oJҼ}j|g7vӵ@V3X,;w???BCC%۸NFTn?jL󻽨!qՑ`8qƜ?sIh4,]$zjlذB׮]*tZ&..Tڵk粦[n3m4cU*ڵcΪgh۶7mDDDѣ]$''L~~MͿZ(Jt:3f̨smvv6999d2 +"D@p5&II9ZвeKZlIAAYYYkbccIII!33By:гgOj1z'Z JFpXV:uıc\̐f3_5111._DRѣGiժ'&&2vXIKKtΌ̭[޴˔:wlh42~k8y$yyyӴizܩ@ +Bd "6qb2ٝgkڤI(((ɓIDFFrڴiCR&oǔ)SH|d{ɓ]֜9siԬY3ƌf۶m临T*>|jKU*55#Gd„ h4:DϞ={jm,TRRBFFW;VaC4 j#b MƧжm[9y$%%%.kd2۶mcȐ!T*{=1V/L||-OS$TfSY˟=lٰnf?W"S )r E"Ni׮3O:YV /iP5 _~%?J9y'ү_?HJJrB:hժGٳH۷FZ&::RSS%= ҥK9rD2os9TxۚRXr% W#''sѤIBBB@ L*K.+h9G"@/yS(_9^ܔNXt[qb/Ϡx w2=Djs5|xʢ͛K@ .s0 ~}}iPq'ͻᡶ )<},r />?ŽTѸ%"ror6p4q@AE#Zۅ7ųߎJ O""";J?:x{.}28_PL-ѹ=rl\|6 r<ʨlC3yAGյ8h4Y []sl\\֭c׮]DDD8oIKKBN[Uİ{nJKK s17t\xTzꩫ V+0U* .tFHVQh4~駛&0׮]KXXiiif @ 2*)>MwmcѮW4O<^.` :qewZi>mQ}`YYg zn2bġR؋Np?`\ӡ{wHNƧO|nÃm=z4iii 2T~3--#F}E'ӧDDD4Kn4lǚ5kؼysmrɒ%6GA4hPre||<#-ĉ" xf\-gTcS #2T8p[9޵Q9w5赥- ;BG e]u 'A" H0 5tSՕk-^ֵs/.kbBgoT#T 'Woz cE6:S$H8T;uֳ.+"&ƺV32ҚHϰ0t[2ӧSdggRlrF!--pywnݺXbccIOOgժUj/)۶mc޼ydee1eʔ2'Nk!22;36^™!!!dff RSS7nݻ_;[tt4Ĵ9-//'''KAFcґ sa1`Њf Uſ7Yu,ꊎW@., S*;8:#pe|Hd`66[{i6TcD (\p2q{oAqڶ}A \kn)))/y衇?~<~~~͂£F"<͛aMbFFFO\\3::{NHH`m0Z-Skt?2*8UHvN[&ŹS[N^Ome9:dTLOAy-UT rH٧juT7Z{yϽ }&e/G-t@NGN2 NURSSΉ?ڱ >*Yk LAh/@h[_̴$&"=t_ՕBJKKmaҥ| >a+0~ lڴb\%QXΛoi\\\K.%11nݺѩS'~WRRR쮿 oXtҋz}駄hdȐ!>ǏSUUE``H#pHtfr!/Gɫ1Md=:/-)lu&Ч挟ٲi+[v#qvDݹDTyP_{ǖ;߾/o@se܃~5S'|#uR|4ג7۷HUg{{h B{k<26eJ+NCp0t:d֬YDpp0{&--1c0f̘,[aX>;fsȈǒ%KH$̛7>}4+0]qsUF%r ]B|^@d'=CngKeT~ f [bDÿx viq#Q%'[feYFEYζ&kTu3:$77f`v؁FaȐ!\w7n$&&h̙^WwIݻ\}Q:Zd2ў-88+Vg 0 [nXy IDATPIL5x-h컙HRy_MLL n$8'))[ru׵KB9/ĆQƂ fԩ$&&XOˤ${Kejj*T*}z$IG壏>O]`/rÚҶ0 b6 ДDtOX~ SĉWFBf""hx5lJ58%!Z&>tRRRlãaQQQ0k,BCCYn]Ú}1~xJRRRG}Q-[FTT 3}t4 mڴ[o˗3h /^ls*;Æ c՗lz,XFILLd|m: V#b 9 W(݉?#b\.>Lv[Vܿ-u^p OЩxc 47BCa:[[Xkpz:ԩS<;rHvŸq ݝ۷Mdd$=9\VVFdd$5- 槟~"22V^͔)SZ^%++׳f͚V0sGѷ"jX)J*|}}؏j%H+88jqvױ޵2||=uZeր\4k~fꬭ`k)) /{zzT*),,$77ҦK5 iii5p/_? @BB,\Bۂ۰a?6'9s&SNe߾}>Ã'Kzz:ƍSYYX)7{~*$462vˈ1޵~m%̟?bB.tkl`dbuzѯTk jz\d2vWΜ9[2u&`rr2QQQxyy`NCO{ny)rwwߵd֬Y4Aυ_浩fVKMM :u"TX`O=e;db4L&%j38tP/&_Җ{"nޚj 6~TسƞY{i+}ff5Sf͚EHH͛73zh233ϹxG֨N#??ٌH#r t\b Ahi))̱aϵc\ܙmKlm g .m쳩P(֭jm"&&?-[JYY`]o~zz-nvz!9vS5 T9s&C,/^LXX`FFF /9"''LF  W%d B{ ;lB͘Dkٳ%$X )((Yf۷R Bzzznfz!VX믿wakY]h׮]{g&IMM7fGEhh($%%hѢ6_ZZVEVӵkv" AeegF]ֲր캢駭u퍗hZeٷorV_̙3LJ;v0`O4uTΝKQz ںʥȑ#)--%33-((oooAVA2b fMJ!!i; Ola{ ///"77ܬL}8}t̙C||ˤIe˖-̘1={0vX~g ;-vժUϝwi5k6tӿ65RQQMAA6"K!"Ln?l)CiٳG:i0F,Mll,~~~L0(F 7@= cϞ=}ddd4 HCFFÇ'Tޘ6l %;;wL65_fSL!::tN#;;@PP...  2RV&$ 6ƴSFDNԈJ"((BA^^UUU6űpB Xn7o&##nVZOnϑDDD<#6ˌ3Lz=l\z5!!! 8~OBBBVi'((RAAGp9DE 6SS{PZz@S*#ZO|7(JN:#O=}{o.eɒ%$$$~z 4 &,,pz-={vq)Bzz:۶m#)ʶ'qss ~AAGO?p956vn-xQfuuu"eƎѣG޽;&<<#FLc2Xz5;vo߾vMJJG?Oqʕ+ AѐIpppj ~|||.R+AA:6IEyb`;K?< \=W11 i[G=33[Umyy95m۶Aqq1=K.mu322;v,Ŭ[0n~huSll,DFFnݺ6k69qz___\]]/R+A: ԓO\L&~+ E Jơ7 ]82#:WeV&//Q(6[C%-- ZoݦQH… qFf̘F/wޭEFFL\\111m:R)b 3Ȭ0CB+fB{/`8t2A tdրߧX?i@nn.ы/+ˆ# dݺuxVO!3g>seɒ%6deeV[ouɷ3ٹs''NDyrJJJP* \ sO{ OgzF> UK" W(ppP_v S< BGwf43><=aaӭNPR$;;r-ZDRR۶mѣ|TTT´i(fK@RRR <_3<7Ν;[}=k͌1I&quױk׮6EEEL``0A.1__z:` X,ua25k.A.&wwk +W_矷b}f3jZ 1xxx4+={ʥꫯ'0i$r9C%44=zdFMM uuu >~8nnnMiXYZZJQQ8qVK~7osiXnn.555x{{|Ap["W*G/.d •qk SB7_uuu62}1fF'|Bii)|G|'ŵ8 Fff&#G䦛ngլ];vw^pttI۵Zm\n&Oرc2dHkߪVh$ gg6! 1)=D)WmL:J%LѦGኊ0 8;;w$::H^z%xG%22P>c55 G%<<1cưh"z)eNԩS(//o~V݋|R)]v8IAN,"+Fc 633At:rrr0ؙz̙3Yp!h4/8u!!!L0s0fz-$ {=gT*>>>7F#LAbCg-}"+F_mTΫ '''ub!''j>HLL;`dffoyf<==ILL{5k4d5j3f ##})qIZcTAJ9;doRٕ`1sImNp8\.'((BVy6**7oѽ{wC^^̝;jGy[n СC?>)))t-)++c̙3UrZ-\* W*S}w*L-$Uݥ nr$j2v@zYr5 4ѵkW ),,h4լѣٷoƍ;/aaa>ȳ>Kxx8&L7@ج믿&998.\?///\\\0 jJeшbiZVVZZĉMuqq^ 򁁁899MA+D͍ tD PZ:@W^x,/| *%LAA.SRRh9hHKK#22p <Y`ݻwgܹ,Yx1""!C޽{ٿ?锔PZZ* FCEEE$zFcCW??&eJ%[la˖-K,XWUUjqppϯXAAH(UΊ,b2EXT.85d3ƭEljr Jq' Y eܳ&)*4zr0qҗ!qPg~%&0 `SqsJ29ҹu Ҽ}}"&///j JϰOJJbʔ)hZETT] 64lyN~~~ r^ۋD1l0GRR-WJJJ())AV ?EOt0?tE-$*v <䀄&J ݇͡~%CnPp$3NHO}7niirVzZhؗu7 /ciwpp)5 إV @דm7_|… gĈ~ &22ÇЪu*55طoE)p19Rw][qV6nkLAvū3ުBDNt8#8ݏ**X eU$#ho#.>ݹR[,: 3P]Ӌ@7N^]BqA-k#1)Bڵ+ZlQݝhIJJjH>}HJJbӦM̟? rss曹{.ʶ$DGG͛QHd6jホ[CAxFXp$ /B 8&STRw \uΩu-鵟f= 'C*ǒhoH@|sy͘#imG" AAAhZrssԩEEEBdd$Æ cժU7)3zhF͜9sxy9s&!!!Ӈ zAQ*8::pɓ'[5v,_(l`4 jrA rr©qD`vBIeufU-L;DbʽD$guT * `ˆBf-9rn2 #LA.)..d2ݬLpp0GaС]tR^ڵ+ҥKZ-~~~vIrr2K,aܹ6'qrrK.6כ (8o3u:=@"Ap <lEnJ39'JttD:H;Er8C]+"Ȗ#d;YV ۬D)BR(**d2۬JbDFFOELLLraaadddp]wʊ+3f ٘frssQռ;\ & 0l;uŸ/Ap"<"vo~kJaojRn:HJxtRnU[%J: 5(F}o:Okn[$8u %Tw{G. y>J1V"@&5L5m)lll,?~K6+ӻwo233:t(cǎ%!!(V)#F#..f ̜9s%%%澜`MS]]7. 2Ϗ̵/#o2!g.{t?/G/vvW*o~tv; t[i^[}oeGb0YJPPzzrqqq$$$n:"##ַg_#|w^nOdd$$--fi6ΦΝ;S*a4.wGb$SFĉdggh3lTTpӧOr `~lBHHvG&ILL$&&UUUQXXT* ~A2b$S.Cj5,Fff&nT-ZDRR&""dYYlٲ$fyy9Z` \D)N tHPXXHaa2{ȑ#Yvr䐔dtޝ,6md3{-@QQ(2 \em!ykϿ'1]VvL&fVwwwRRR7n&M"77ZK[.]?NXXIII,' \\]]+tğǎMA8Or?_ jy5 4RDբ [x^{5>̧~zκcccgʔ)^fp/RAXT*酋+A8'D\AV.N"ݩjvJ^^\ CΝ!%%n$''7lqbK}\FAq9Arؽ~~rM+Vv K \*!lNN6>}:?."%!eE'>A𠸸'O,hHKK#44ѣG3qD"## ==fi6ɡ` pԡr@!A:RirD")]$"KzړsQ/Htv3Ul`3QLd/SԟՐّc3s ןnQ~ Kcg0>r _]GFu,2Ty3yjkQC;X?!յ47?\y<&F=G;ObJmF⟼?]aԡM]3&1nvAwwwnq}vؽ{7111v1dggc4 9B*BfOmM_Lysƍc|skf?WfD%S۞`Oy!HnК<<9 3a& IDATsmo{dJL ٗ8Gx t Sˀy_.>23OZX$TT?%`,{m ?.ݽe4,u<w(&b3]+y%fpP{{yvɇr~59.a^K>|z2>Fg[G/^^ڷȭc!_~&zTWWl[ !!llR)]tdJBڪ|[7#庛y9[\Y'5kְfV/{Nr҉>8e,ަޅ5JxN[n{+#mfSu1 G8 㗞$-uu 1h2YîRY8.s\[mZ}u݉<9#yu`ѣƔH\eM'N a"zhUy'M5#eK6A6|2xOuw1F] moԾ;d |}ùQipS2+ u yÓ}XՏG-$J:Gߞ^-|(;\̿j^^pevg(?#.uUTL pd÷{uPꉏ t냋I_ĉ^fl~;peſV-g薻̉jʩDMn .Kk6F#5,՘qꅪ|/?]\&* B{rppk׮r233i75:uaDT+>~_n8, !N͵{O/z;W} 9>Q7HW3z|FZ#"~ڭ]A411Vp]oCZh{ag?/KFwYR܂㾑*@ :NJo|B~tu>K>)jRDq3<_"g̫샩ܹaQDFa1Pi84 c:oG>fg2;Fq0>'!qK9>a2401Q.;mkk׹p~c'|s_^Dbbv.1EIҫqoD`:o7oR}7f92`3?2k?$1&f ?Uf їKj29XTAVhp~FCFI& ÜR.23Z@<;+mޣV^e| M5ScV̉+7v2g?ԕO'VRtUVq:} G¡kS!vWp}j=c{~&֥=]YJe֌Zr޸ ~iW.;_1clA8dZ`w\x }އH\{Zs-G&1p]N%vq 3wņJz+7Qϣ#|PG]T~S_":s|+ݳY>r }.ЭBFif}>.yULQn!3ʬp5[h0ZTggy0nnRWͩ||>E'9cmy+'P,.||| 77B qss#00C}\ p0jmp?-bmݣY?o. WcDvFƍ΄=7axHKv4ux;fWrݏwrJLZJX΃㗟>҉YkFG|zcsQ ?]`Sp1&ԝ9dedP_:V8y27f;Ao%/ؒ+UBBڪ=?C{KxHobʼtUBKu]u9g ,Ʊ2RWfv)59VKlc18UwG?Èr@nls?$p1I*.HY/)Aʘff3ryL1I6=pW ԓO\fg t8RT thSisWd)' Fwӻ.w3A:$1)   d  \LobSKAD) pBRr{wӬ7`8cg2{.w#[XO>|  ~}}-KyC[) v70m8]̷9:P姰4v#0udTח2rjO"EM$r"̕Z'G2a3,$ӟXП+QYqUs!־(S##,>cA6._Yx轿|~l!NGĄy*~#gO&AKNcܽc{O$geaY8Ol3Wk4|Fn-l?X(ڹFGN')^MlK mqL+ǟئ=Z{=9:H_+$|8GMyie׀y2n".w-`*0M62XL_m ]_áN41q<=o5+g^TUv}%>y=K~`eWGzU} ES 8% MbAS_XӇ.2Pqy; ⁛7Ζ 9".nxz os`<̦#fj8k-onig[Ahd D aˊ}MT EiT4Mw{ q~ 6maϺH-ƴ{B3nF5&Jog$nO[<֕7Nc ^tU yۘ9u8福k}0`)_~meF2֞tcO4*$bq5*ڊj$pqѷq].dN(%)MzLDHOTd&Pjlg9 F,ȝQH닩QX TLLԊ7B*wFf`2PirPP0U/ZCQ K)9G(o)Xڝ{|OuJ2)e*eqÃܐtVlU1~r_"A)L'\ӧMbHa>(ZsDL&C*4zIv5?@Y_0cRQ*N?(>x㉣<ywZ`6J:YVzڷ.}p|YYKW#s4w`i@PĎ9Cq|G$9Bj_?Է<⏚3d~*j8O}Yylz]p2#1<>;Vg_i:\ JAOCB 5 TNZTA(h 2g%c5s}1Bf }՘.(d \dftYiηțMNfjϐk0J pGtgX$9XzzRš/ۘ{5F Ri nMANx[K_!Y,{ař/g{@DM^ ^"""Z5s}!Z8=O+ñ(gQt1;jS77K%qj(`x"Āte4iaҳ|U@5E3QM矨֑W(g֥YK]G߃hԷmg1'=ۓ ې|YGo-:DR.Ir]骬HiV;OdO:kORWv ?=]qIE Hűb싻+;K)̚RK:\h2e0RK.MLp2@L՜-RO%?;f tHs9;snjaԅ)േ.! \դ\svH*gZJ]컊MUS>|8ܖ 3/gUp{'_U 7L@oز]o>es+<=Ov(俒UP寞y}/ޯ.-}Pns\P L1Gȥ,h>l[\WGŊf~O‘cO7}O#`;Q tu< a܀ո7u8?yYjwsx(MαѶ鉍dufL!BqTң(K osbÏqQnGNAW ~: IDATwqb*W͗ZE\#Vz{Q8ۏ1PpYWꏆOb]< y,e-^ϲ>z ,Iq M*8g1_Uc4!ĝ"}2B!-+}2ef}dzME۽ d [KAR)Bqǩ8,&]eawdAoz]ׯW\LV:Y*DAJڮw:0y?V<:z>U\_5%T&]\Pu{`>>ޅOFKщt?=ʣ"C接{ Ma J{&>vqTg72aZ"Msu CÂ1Sx!vT9 *-'LZϧ|}!?gB!3jGodS@)j[- Dz㭅1nbsn:e*[OM3c™_m1< Ֆk>ۭ9i؉(npqq| 3 >3(`K^:_¼>t۠T+n}' S] QvGKL[Q30bč lV>+~ʖ3iPSٷGN3O?dJb+x!t5,6OM>|${^Ē{I{Q| }YY8z> (t:P >#'&vw6/6"e۞3 Ve$Bq?ZU1o3^&eD~ KɹBw#Fq |uCw,; KF=ƻu"yxiV-Ӽl;,wJ7yA]!Pwd}דXNLէ]>c?cҜ`=QI;x7FW.a|o}!-05%>R3]e'Iw.|w]XS=q3 +0m|9 BRRxws$хOEߜ;o!% dOל4x[T߮%J'>0$N[N{ZgAiCqڼڞzō7\bIUXod-Άt| `K>D,L9)|rx_dX!(lK4&"cS|ρ +xg~֝gb S,1_a܅ SpHV#hpZth&Gôs1OYn~Nr,D\6~_fy:-؊x}i&DU"­挎6~Zie+G9uxnp{)VvT'zNVBQ[2dTM]؞]7k;Q3&c/?N@J7z`rn-X텇(WB?_|Өe(Fm1"C ~Z88s: IÈPӦ)tηjj4(z;IcIǝ⡘4o@w!/>{g,|̰Y+X1+a8)pҕP']+X+뉍LЇwB\Oka'Uن댇FօDTN[U2{c:4TV' zx(nw!4WKQR}a-ybNWg_Z )h= (,.Ŕ#;z^B(jBB^xc?rcR_|ݧΩT9㰻"ww5} `tzf'NsB_Ik :@Wv%ywYNէ^g3svVHKUN p< ؖBwu((j ię̎9_}\oի)S?A5c!?nyX8  ,ǻ&>?m+ao)Oq /鬓InD%+!$XT" C(UY!} iӹn#t/ASx&4/ZKY H:}1~w( yQ05ːi;ƍ̊3xlqI¸GňLrVKőDE 7YI2$ z7>~mn lBKK%+ScXRSHII!%% KFyxRɊX,c˱%+Ѽ~ :[많cc`Oa)'!Kz4=Ͳovs.?,W6"Bb9u?'&.sضn/+Gr]}.O̱ T0k #>-3q,(#zRSvۉ $Ş\V&g")ӎ?p7YV \'ٗKb<oY u2~|Si>:0s*:VUnTfu$+@ҧYk8,앿g8zf'p"Rm\mBsW\cKFw;7q ^$/BqqaM_b dAHyeP"MnD}30"Rnzo]ĮT]ׅ쩇H#4_jB5mӯ' PŁSoxZ[OSPI^O_S]dXnd°D J爜2Ŵ٬÷<ҏ.6qT[o洦%c'v 8~t+GՓuѫgkJ͟ #y{^Szy#=O5~/se,1i ,aBA|;f~6Qvy3EWB!91]eGgn8{^30ⷋ8bD۩ML<Wy!GM vORs#٪Y4aK_KElF3s&-7pfpt},> _iOՋXz/vO".ϟ9S٨ > #'Mi|Ų!׆:Px^p%dof%^ޕH~>bS8O,]5h=u#_YPҸQA>=KGh_<<>ӬIP.l_QiKD .S!?MHӏFҍ]/;yq2‘~VلL}Sfs;4NH%tI,'~4^`fstP(KR6?O 0^!k.$|SHZ ow :LUׇТo7ZW/Ap+ލx?FoWe&[͡qugy]r>$/D<'縓O>D #~Zl`?LÕ/e'Iw. ۤCfv-BhGx;3ZX]T%o]ٍ֢qj) {>:Ԡ|<:4Ǡ3=}`Z5.2ML~`Fe*Bi1z (hxzX۷!8 ɩ޲ U" *^Z kJ% 2!iC 2wuBmJL/}%Hp{)VvO߶Ә1U[ VpML?G7Q|Ɨ:}^cߤ}q"w0^YV uumOa5:G!8b |Wuφgv͛ȶW aFGVS]p>,ش_CAܠo(o>|?0ixsۈ=NNwN?l7㯅`9 !&4}=y֗k$u KmKK^*(?"W+=~!+ؿS!?<7Uw!7]A/|;{w֮֓ܰ7T%;&CőD3BHugfl?`JwB1fN|1՚gy.ZCz X?s)ISqcȊu,ՆcٔKeCFe_.fپ !9mß(壈Ց?R(ۘ50xy'Q2ĄNVEXb1޲ex|Mw'ڵB\G e8uю> ;U=Q4.8aEl63&3aeW%T NlqS.z e~Ffv R)G%a_4g2k6us*:VU(@1q]Wa@x_# G#禪 nŤ=(}_mqE߈[PmWő 82$JSz 9Io1,Dj 5)*n;B!4xj 뿜G\_$[{_Ը3=t.T&eNBIfxgnk5YC^eDWS~z6)S:t\]}x"?bȴD6,È B!߯ΆNs7%nt? ;[[~@H 0B!w\i.{S|fl:\ps!B!L!B!NvJl(L\D˽[W S!Bqơo)יhA3)厎trG&z0{! S!B3e=pӯi/^_Ax{F˽Q얰r=wj*h,'KʙϙvxB L_FA\ihGãB ^G<2nn5FޑXKl¸X[!5 2B!'dE!2${DƇڏTxGTwH'#8-ʖ-6`W'Dko<-~Xv#We>և|ALwB!Pi$Msj !9rk"U'j8Kto?;w)[PϢ>8} 7^ꂼC q>NfWta~ pޅiEHsc IDAT)'M˕nxm6m"+`:.ž7.CnV\| qH)B!'+22OL jIoAApy?.?T%EbW{珪3d;|qUD9 r"4(;?2>Y ]Ex^>Q5ջ%9(6@&CE wgNHd !B mQ{ILD9Mpv.fHN$ơٷ}IGI8b8~hd缏/hΟEe!Ưq=UUٳ>g>f'"Mnȗ; 4hLUQ%m7Rwc qCR)B!'z`g0dW7XyK\_ƔF=8qLw06ƪG =`OzcXҤފghNCPΗgb~&$/wT]8F/ii웆15@".a-希*DޠUDIOKw)wBD )!;x/\'N`ܹtڕ2eOL!DANYA棓y{q-Fj(~ќk]d.nr+{V.[CHǓuy<xNULa=v|J'[Mhtב1#鷤>mJi82xOtǨ}u3X4^cm(Tk%G+Do&J>\]*NOeOtxw25L'Y3eSx֟ bҨ1zrBgo"?O˗d.ebex&o5[3C8S}& $IR"2nh3gמBĜ]tp* Z kz[ȏsfūh`$wTT1q̣h4 Jж:kXCQ+0x0z((#=.e$^/mUT㶻^^EEU-42cω}/gc?*KyɃ➙GZH8vF11shke;[w;mf,-1XH<GǑ˙x6ժAN毻д$# ['߻vQ!sNUR]N㪪Η=S7xiqYSzQC{uҦ&]beE<#d OZ4y Ⱥ,?yk<__oJ֡uIw^PV J.p4ݞ?hzX`Q̟2"38TGP 4yt쪊=??B*6'bw$}e @rhK*;nuZys`t5E?bq\*V Eɣbx <|(Y5%4ItJμř_Գԋ#c<_΁?IyXϠOt|ezO?J:DtVSJVsfyjƝ&>K=0 }ΦAU0_HZN~_ws1=h.@X6Zk`! ? >$ lAdzB8s/G!CJMu,9jݙyT]8' X }iQU㾢ڸ@U #l >hr/ad;r?SUS#ÎKUQ=^ZÕS*@|zT{FN6Oفغ,ڸ :s`QUTqfq9lě5Ҽ/tĽUwU[wj)S4c+W]|:{EIU/e>g^Gٜߛ rR Tջ5M)tq[%:1h/e.*U+J:ʐWw殶P4JÊ:Z5GK8wbJ&AܛóX]1wqBM,^9_i7x?wSZj ΐh4OHh^:{BB4-*i2 t Sa`(xF<Pd^O,!* 7FU7B]= -*Xp4WsJM=\nJj='fGÁ^DuH^Cjus7&r| ;%㙍jE5dfstb~ud%' UU@c"I2oG}Жm{yO.}V8D՞y&FkZ׆Ш~7iWdB'd/d5Boda~ڌ6}ZK0sW o.MEf\.G$ Do0t:1ggsQ,y*(bsYẄ́ | fL= /dӑD>5ѣhyȖ}Rcxĥ[8ss'ٿc+{3<"oVX"O˥'jИe^:ЮS\gs_.W[͞?k}i|2~yRRIJ\Dm+Br;Rsfv;Gbb<1,3coycODu|ippfL{Ns1,.Q`>-GIIHܩd8 :SxWbڽM6ͨb?9JjYNfRd?,@"8ҭwD|qֳ7Q6lYq9g-P*ȳUK'ȰxEசvP(?wuRR(U ~~zt:>>A3{'K5):T3{kޕS"[!cgp'+Vf0+uP/z%cɸ,rQ+d:UŞ[~oΧ jLp|oVdÏn(Zz.M^4͉;{P,c7KKc J7F}͉,އOKxӳTAݦa׹]JBd0>Tzn0{eoų8ZF]?=nHHLr(Chb$&9B%JzZןTYOĽr#'{"q0~8!=un;ϝ!116Z<@E(233IOK%by z0~n7H!ދ E$z{A E %"? Xh"H(Ҥ@H!mM`!!bdvs9gvΙSxWgfHu,Dtz2ۻ?s9=>z=I qjSjd!?=LG*Փ[z'KKY}-nՎ~oՠpe; oKW] BOien8/Br/"S(o8ٳh!_HӨŽ+-ImH9y{h1t*y83F42pY_H~QxH~'?'3K"ojuJ{mȘݤ!Wv]åDBAEziZ $ho4%R'42wliF<uOOzy=$LJJDd*zTHEz1FeOBOXW4v%ƱG$/($|_$?D~}|-!1H޽dBVA@` O1ǚtSr1Tf Am]Si q UWؾO_nlڲ_RE l%Q=B!D~q\l6.]H\|<+W:u:RRRzO~?y///*T$dZ2?bPAzG>A1KY=s4+nݝ}QE %l:*O)4*y42B!.^lЦm{JلNER(Q3>35=s{QL6/Y-PLd)6olTI*BKr !BLf3)xvBfeP(ZX-VިUۿC~2|$ [| n%sZ )B!0ө˨TvXldV Նf2y3Nµ UTҒ ! 9VM&YY[lYmaZ-+(`df!Bf-{ݛiZe57m6z3K"{*G`&> ! 9<<* e\*jo*(PlabSJ)BGo!% ΂jj6ڞuJDac\D"jI+FBU?i:)O-ks|BO6kv&d/mBAVM:Ɛ=u;o.I瓿deEŘh=9LWzlwA-V]z9 'A0pL_(6WxfBS$֊6 &brP1;*j8q0 h@a;L2wJΪ%w8{~.XDu1M `!f][a ^r-=Ծ[99W2{>SG:1rLG*:('k;Ǔ.Tt pͼcMX^~t%gBslyvmcʢ3qGX;g G$Y+m1[557teh0ho`>fb|xHGrnUs -`߸er$(#~ݖ]Lg}E*n!"l';*Vp1[J5y8D7ͦ #3j1("_[YޞL ɨz^{|ՠPSߟ*ӭp&~AkU.3G0yAe&RLN6g-S*9 v#,]{Lrx8Pٚ3g}=,HѓORZS$k{v+׎s3SWDsa=CSRCⱙLVCϙB?f[yq򉫈n>M|0a-U!Pʘ?:߭$]i2w!oW;g"J BQRU~>/l͊f8@n!"U #8cپ,o%g%Q{u:JoE F.Rc#dD,e)#ZQiY;^Bӡe*2!m#`5\޳&Q NKg2;FP᪉et9G&-LpFFF TkɐY|V 1_߆A,8LZ4 j6"B*ݹ&߾#25irgIF !C%(C:\qwwUŖp>0ۧ)F+꺧q!.lɜp }4,K]ox ޴nP3euoe .Kށ#6=_ [ c$LDXNM_F/p|j&b~\Ĩͨܐ6Ce0s(l 4$Y7>Xud+`5pv87OM:V G3SТLΥdpk\umAHHKzO̟iYZף~^LK]҆vf nOZ/m22ES< /{~&iroB<.{ԣ(S$"ոVqSW^"gk&ăy#'ӊMoԹ?hi7u$2ާn2 Gn4ZW IDAT}p\Atx(ǹFc6ƴl[-gzp~tj^^Y2k:X wժ9y*s ' F55 b$:5K[V۟dɎ2|OTYB6^ 9k MeW_>lِ~`p/șh+U2Vio -I'8⯺Þ_b6aʚ Ckx;7V,4|6~5sVF{s#fB>sX:v鄝Dq?-W0shfȴ%t-k>maT.盢i6c3;fZ*8#<7t_ȷ;t[ ׌cqve%7Ą&0'ffw)0U݇#K>Xąhr&5LeÄ8ia |S:DWPV{~ȱ,ضu ۷{׎̗zSIl88[m)bNIӽ(#vHѠ1^ȷ{ %- o][9g'GMGQYVOQO6bGn1V:Vpz 95>TE1>hpqLdR`l{wviG2XuhU5A\9C{|w&ȝS)w eS&k8t#q_N,uQ4$.UXRұ:Tݑ0Bt_I gM aф0b\m3Ġo% `ۧ<7JԞĔB)Clz .=[]ĉ_`ӣ%rZ;~jfbAzC_b]j^eu!LqW4*wjԨY)fNךj롴r8IVeAt {A=PQd50mY߱s{?QȵB|>7QEigVELɘVs f8\\z^)uhQĦ[!5c)V6b#jmS#{fŗ(oO/LXP7}7T.bJ ̦%mE@W* tjР@;:6^DQqW:R'`溾@BMС-G&luq# Z@:jP;B76ƆE7^dm^DHSq_h]䫱8T}t.ۡRlgØjdŔbAE Yc@f/Ρ{gZ|JII]G7wYNl3F4~E~ҡEҸf0R'ڜl!K;2;kMW:6Z|4:Kh5p$bһ]Lvaa(#Tp#h]/ǐ4%naQdؿk8;'J9w3Ke។7.M!ēP(HM5`X02G<B vl\Ek}[n3kHKV 6NY(]n[hN9u$[an;ȀRЍH |+l%.!ުwg6ZG6輪H!ژ[T2Y gٸ%u~0*G'V"*R/'emS-(v(0qۙдgDW}[96wc߾}?6(5EjdRtwd)oCWAW~zSR7Oet}x}&fƾس+~z]N.0)и1\&!{ ms8lDk:r?}GߟB<eڑBR+sۨV5G-_SnWX(עΰ}X^nG͚t7jM CvzKܾyZ wfnI#[ѕ:lU5x|s+ka1xg~E̝ڵM1*Us=Qo@Q\w߽|6D?صx)iO`\.cѮ3Dy" ^mKԒ/q&q1ܸfoq|PG[*D\N Gz )iJy{ܹv)Pyjĭ7%:T`=eC\onDJYe ^I RLds"{7\VPHB<RBfϟF9& OWNZǬxw#HTW /MM61[%6LaМ$,Zoc[)ES)PPJxsTɊ9"Ndbl&6lI6`'{T~Œ̹_ę&W9q:X({,T39RA ȸ+>[nAl,3:U{q?eֈ,zJi'7q2._8Tƺ?"VɊo棶ςQRcWk û2W_FC&[ rnRFSz-32~dd"-z1J|_jdƴaL_>ݦ>ʢq=2n^L;HT*J w4m4NŒT|PSt]RQɴY[FO;Sz8ނ֭U[9̋,?}g1`]ڠ5i$*!1M e0Aޝz{R,2',V+f>.x|Ąԩ @ofp ! 9;z *^múէ?f6lV+lzz!Xf6N.lXou~BsB!(kbD? ! id !BfdPeSd(V' !B')YO=])x l!#y!D!{"!GG ô@Pkpb"/ғ)B!Q(z.=fܖB42=4v#O,Y^Mjk"}B)ȃ42B! C_+*_fu\*P$3%%;< OsfOg{.ee{^?Hի-_!ֿff*T\rG'T{޿܆1LvPX{?ɌjAPkwW?#BWl!#y!D!{"!ʣn~7fˬ=vj5?x/ozB!*]6r945f3/]bp(wߐZ!B!@2eʐč׈hZ<ݩ PH?Ѥ)B!ꊫGBTnCej&= ! 9HyBdB!(l8n\!?}.[H^QxH~DÌWV0 g! >)ತ`c5p%t୓9pe},ę UO>)y։BS5Y!Dabyg'̖|5"S`!|i(SG^i/쥦*D$=Iq8ئtͅ_3=;|lh33`Mb焮Kzjvavu(߆tnXkw82Uk1}|t 2p>0iɆog 'aL ΰvG /Zz=P3eOAFXekWŪo[ o/O#~[mgxM*({2-c+Bw黶3xgz/ZzԾ[9c{>SG:1rLG*:(1a%d?ƘnpE7_Y V)}.9ݎMvLYy>#{m& ƯHgg[S/OXM(Z!}&1tPjq,@mۧ dMN&N \0^e }k2y(%2_^f׊|w<CMfb/fηgo-B n_ ge*}ɗ;Nq+]K?N G7d+)R]D0^ϪJ"ykp7(~e^$tNvΝ0>>_H6_Fdg1oa 6HWdvnk 0cOmH\òYc/Ze1eHj?Znnt_1@DNeX-wT6#7~X~G*r!gʛ-_2n [:$SM Uk9lzʲH\E2waշ0#%t`5' ]{ٻw/ Tn3}[I bYIv+xEƊ+FPoN[3E샽Ws'<<𭬛ٞ@4l6ߓ~Kl昤qaxmȔ_'Wq%)=t[3H2dfcɤ.F,Ǒ^B'?GSqex%laK!b\%ʠOf0Oenn/a%bٰ`4,X;%Ѻ, 0'j;Gg?HO|3aIt?W{ExR;8舣:"(v?^rV]wKЯVmR*ǜ&յ&9u):v) ӳ>*"~ǫ_(c:ԠA_&M3tF"K{$j_ArZftX0\5ⰹ.gȤ)588:hOFR2 FBiвz :P)ԸP8(QRZ2oB׷akn(1gFZzWFZAb]BhRC;DwD+q~qcԣ7hE]4.e z2꺯Y}8]Q(u6-s}=+8`+E)5ў:ef|Ɩ̼2%Ux@*g[}]⹤B脳ҹw LjMOy֪!uCh?I60SoFK9}D̏յfȲQxW4NlήGf[)]'"j!bFtjBpZɹT n˰- iIɛ3-[QY/싥axm;3Qp-LdlR`i6 Z}tފ%=tڇ 㜆:RߪMv nnxM ?+W'aQRubzT i_#"%V[坑; Q騽?z/UFr62mcI;̤ѳ}Fo&h$$WI!dfqxiQE#݇&vf^4 3aLG7"O.y~f1%cB&8ځ)$ܞwۄlNH`vM#] D㍇'>JnA\ .Oyo%6=ۉ)9~ Sće9]zR'^ӻlGgK8,ZwP)8y (^'Ľ˴C3$8= iTըQuDڵ4U睮5 *GCip2oX ^6-2@j(awBIaQ7P~ZZ'ʞ-x{_-HEoy)stǾh]&/^YbLkA lș+DkΕ9jLM+93jՐGS֬g˦ẏsN=0_.S>9!=Tn)qw( ˿H"þ$sěYsͱ&ҥ)X>(%h̏fS\ͭp5%hZ>p6:[`q%/4Cg2b8)=iZ(Rn7b^uNj*vzHJdO}*[j n%ɕ[F#ceriѮֳ*N߹eR\$#v~u&RYiѧ!T<'M)֣qnT䡊ۣc7+ ҈~{nl=(<$6NY(3ڏ{k(uxQz9 3PcÜjA˥@@ߜJ# t^UqS!hQbl[úxk"'m ƃ7;-'8CR9i3$k IDATiرFXd"2hmqI|1yzX_o߾_GzD FkitJ"c{-cI릆_>\Ƃ`ʒFO&ڑ?wOg)<`z &nfSQu)}}x}+?}ǜ`c1Wq(04$d9lߜd35ԞI\B;O! 5^ F0Nw.flzwES;4_lXڿGRzy,hI8uLj±UU7je#JaOh ZO|QsA+mxV-_cRShF\ fKΏQkh|m+KXs'~]'R^'e8t͗]cik=¡};1`hfߦ8 >1k/fnI-lt^=g3iZQAxKf}-Q5" n9UO`j>ch;_,T.Yn[^袭Cg1⡈Ԗ0_w5ؽ̝KS]n_<·K˾uG"aA ^PW[ J;v5?qr<_Z8/vN>2V͕>65(De5Y'/ ovg̛sy$MC5weν(,B(ƈ|z\Pvc.{C@=OG~4BzIXSFDGI9Sn0UVQıG 8/br=~/6eY_,Hku_hI¢u+-\?і|%knQyTJ8TE}r9UEobyө$G w#HTw38U{q?eֈ,zJۜٵ#I9bSFOmGjI/YeTxSSR諜8Bk,?=Ĝn j%o棶!YĥN׍CS ]:Qd,-H L)YoAV L_.mPMޚ4]&2] N]O=<B)ӛNGs(ñG$/($|_$?D~r2T{޶}b(  eG(yr*=ãBWM!B!D%L!B!O42B!B<1O)sP ! 9HyB'S!B!TV} ! 9;zY'_9uNZΕl6bbb1G'x<@>ZL!Bn5k?$/|pCf3 5-%)YVKFF wyDP*`W.+B!oVW#~?}<fܙV+ը_ZBVۇU_jyߟ'B!5[)B$NO](+rȪR(Y,iRR>pٜc<8@?KzdlrٿKzd{.(n޸N񒥱{D3J/q89}*qN1B!ݷ8ȾwRrU  2~܌N IiҖx!=xbU){>woԩNۿHOs)W_ ;gOhxm;3Qp-Ld kK0hed( ,V ZmSk42'S!B.E\-gRT6LC 9Ϝ0sItOi B{>|G\|I#S!B fNךj롴r8IVeAt ˗Yr%Eaʕ54yNB!(ld$Fa:MvNrf*ʀ9?)o\"Wɒ%8:9?2V>hߍcNLl؜ΒUN]';LVViCh%*_v^&ngٚƕKxHgZz]1JLے)^5b&rִ|'KChu`Wpyi|8Vf2]CCZ룯9c@3?ר#~LX64깁(nmgV]N;oc׸#ߗ6 iك+OrDީt0sm^dÄ4 elb);wNy30f.ԆX!q?wĻ/^77wԙ0₏dnF^"e^$tNvΝ0>>_H6_Fdg1oa 6+>a^L?t^U{8/~@2+װl:⋷VG S WCq")GkJGm+FÉ fKo4[H%a|3+o—ҷ|4`3pnpߒLSXj6!*0^aUDןƦ0rq."M0^f[TБ:Q dݻkQ\wL™E>Xˎg1=g Y3Χ?(&'3LʬojYNxx8[Y7=im^J Ĕ_Ż/r}4V\l[gg/גO’ې)˗3NǯMyҫ 6"!n[N?Xwww\QlYS^+J88}QϛRo{2o!ڳ5S; kl+[RϏ r~E>u+?*N8x[.{b>D~7n\7㎑d3}`;5~ftw+LQ]Q?!m,Z:`PziHHn|VjqtoVu!,fD& EY;a][Ғޓ7gZף~^LH†vf nOZݬm2Fɲȵq?n™nGӰBG7~-X@)xq\]6"őQ٩*/Jps]C6h!c#i-)cNIPE|ok$)*v~[7}m>~vCO 9iGyٴ` 䗰8/#.+G-nA,ۺ >a&gҵB}(ϝoҮ"u?4<\ރ^dff vn}_3hx\́/WMЇ/Sפ{?_%]FǴ/9h?X4k֭CÎ y_=8}w+UrmC;*bA}LM74 :i:D҈>.TR$WZDGNS1t-~iQEw@4E^ $) dR0Ds!ErAwi!j7%&tb_G;9*]>M`=/Sb0/ oG3/h7l%cdFa_[j88f si/X+lӉ^Kxvdtk[~߂M( b (,U\eBVHQM]Ö]L+=F4Q 9_YoCj smŢC:m*,щYn; jO4z r9NINБK89Qn8>ÙBh~t_g{g wD^?wN;6KqτWb"E/B(d*,UzB>% S=\1kyoDx}BغVDA.ة KK[eѦ~8ʀokFin~mcR>㹾f41eh-l o\L^!Cv1"TiLo^e(-4ԩR2-d;^HϞ4RNBwr;ly*;W[TDx=I* tv/,rŢK/qQa!3ؕ4 #8;avc aFH҅srjB\k1<D^vIf+PzI='Q$ÊQO4NpPB 9DR{ T=SJICC=){]X0qN}Whh]-7 eΨr v:vǁ2ب$Z*0uqn",YK_{l}.qHk9_/i;?rmkoBe Z# 8=TWHQQo,xYaQ+MҘS=OPٓEn2$?IBf&i|g~j$1ɶ&F>aʁ|{ K-gMH؂jG1c#JPHS<:/F5/pJKZJHPЇrycJ>8e( ƻ ޭ81.a}֌Q# vp%$FML])\N8Jsl1U.pMZŒ'm3+,L3b@sxYgծW͗%zSH?LK7PcWˤ 3D6C1܋ajD=8{J1q;S %X=3֥N :#qW}܇ Z{r{ 9F vwiAK9ڥ;І] ܴ ywꔴTJv6ߒN&|V& z%ܘp KC,1fM5 l3'֟|ȳ{fG Z#|Ӝ>}_ٻ?뗷!,ScM"HluQO:=,I~a#iju z5-DJ..Ǖ.X5:4q3ɹ _{ո4h݃Ŭ>A9|5ͩagsX]Ȳ7 =beԅ+8x=P޻Mg\Ht2xxa!%ǣk !/艇D9Nkcqc!!("<3 վ*B00-Ԋ,|@Yľ2)cpraSi"&s}ٿ'86oh2k {/cg)U>k=?-@[QurJ1"^yQFbu)?RPr{AH:c ω'8VϳY7hpj+l#g\)KǮXm.xfF/"?-'3su /!xyC QLN:e|X@l/z%ƹ tɗT|,>>148z~D3ke:)*+7=i5a^3݋teź[V,I ŵ YkD+\p0YGb:bщ*_eLKd$psrG]7hz _ |I {m5ec§9~Ixƒݎ`Oѽz2ytkZZulUllJh?s*c:FQΓp~QTn_3uh43 ]J-5qʼa>YaV2upȰ,Ӊ91`Uc揤bL\ʹ֞Tm=61WЪ Rw*oIO`!|¶8gc`1SO`b<Mon?f17fͣ(45fP>CtZ&3S z;v*dCq&!U{';l *!1+ `3ةY%%]V1eK1eA?c@r CҜcd9Cmt~9'S(Riynƾn8ֈ榙u9枅pĹv*0-8Vq1MX;OP]h(hFr@ތ'Ќ oVΟ_^/mqkiҹz+{di M1ɠ,d瘖`̶M,+2nyvۇOD *.͚翕86ew9Lugǔ[Qt6vʼSvr0eTN4YdWʪ=]Syo/rJjga9?=+.Щ2g{yF=Z9ulܞ1MnV'뜋 1/w2Lٽ5J'ZC *ka^>YP\?e R wϔl݌[ξRW3ʭ$Vie^0)Ԙ34sf,S="]skL}.[nAm ΖQ.,ccD[T8|ڝտ̝7QXյǜ4P`67&6:|QSHm.=*kJZN~%@ g"w$Bq>%i 3dqwy~w1d 06? Q1"AvWNґKWcQ8U rg6x$ aHA$#YO7y]%3/@ %K1(Fc32;5)CPBi6y3PnNeRfA"5)JFv3NYdIO3|HKHzIv9{==5T[YMB/.^{wnjhy aA^»x<%%L:ԥm ޭ 7nk )5c*VqE 寭Yo,h|q2nBYӍBKXA#/ғWq(A.\8NB @=o!!KX W2 *,ݤ6Ce.@{'=I˼7f$)"v|c|r3P9ΕZwDG>ڭ}.o! +pY hy a͡ >?t`f㷌xrBq> 6r,' vm ɔh5-rw0fJexi=VgVoejCEق/=)xykNx!-ÐLN&\6C4W!z `ܺonv?㳖Y0<3x Eҭ7rhԳmLX#R#vN85WX ȏLă5 l!|8r;4@’9v5!RLc,ec~ AeWWLrO?IBf&ue"~)!e QW9㖮d =\ڞ < UV{u"D{Kq}B %T=!zBNg꟥>#_uUF¬.<=m: c&_R OCIK67ތG/'+qJO$)=Cf^n<;yIiQDhS]ÆQTV 2J,]@awNӖKؾ}#˔Ij5. aw1wz.ZM{j)!@ML4Pq*[.M[q2D{[{etYT|,>>148z~D3k%+ fO+ԂG|Ud\*bPV/kf R&7Q ˫pk6N{2{UC|_Wt!"l!|8]GhUa71-SwS)2r3 bnAYll\޴cm?+±V?igZG"o1 l!|8]f1Tz4@^U!Eghgڙ@ އ_Iʛy%pvI'~)yc%|[TFt:4VUKYL;N.On-<>0RӓB%i' I$=/*Qԫ,uYhCFlS:LMScSҧJe:A^$3>%mi?h3/>|y GW|_ 3m-)4n$Hhg^/yTȭuv!?ž%d[$"T_W\Ŷ">Ӣ[E"IWIU) {4B1/GO'}}"{=}(Sěrv||1!dnWi1\qdFt/_WC?#yB_7[G\}96NGj>Mѳՙ}X֖5@o0z-Ryڻ!D[ޱqD?91c0̉cjb/ƛ'zx=;iU5Sj5V2^xe IO##zԦGEڌũ5܌ɘè ټ[y}k1 7sFߌ8)AEH9I9k/Js˔m2XZSSrʳ=Ʋ~ B zLeyG-%5q\ZART/]}&;Ӭ'NTjR;Dr/uDa)jZ\{{)h`7` *XI'? Qw4zH2`L|SVoh:7-je$UQ;F>!4&V6XpRSʼntܖꥼ*א]7{H$ƈ)UcɅh2j|һ?! m܉f[q2yBr#Q}mhZQH`N^ wf dB CYkrȂ#gp\r6]Pe?)Ԟªbw5>%r]Uh?½G\z&m(ls} $$ydc}97m0?;;O4>]i{_z$r[PBAφ;I&%M@8<ǘS!G2oĀsl_ɥ,xɰx*bh5FsVN_GO] j~4+T:weނp[v0nģvh/ns`}I{ ŕuQM$-ۄ?̣]_}VtsFtd棜6/]Ȥ\!yD^G5fv!ceK.xV,oBOy? >ZwLfv*7[2L/.co,EoQjeJ+H y\r̶(<."8k'&IBRY%*)dC$ ̊S֌3JWGU25kͱ5\S$K+1W©)?t԰N, uƳ'T*K7 dF!~$aO:|U\+Q( ؜m; ie\ 1bVK\)ث>M Q1*ԝ"G=ТJ-KݮJd y:z${._VĻ7jtaԂic/P`悽rAp1 mRWr|5b06۳8voY kQwG7q‰ q=/J8Rr3JSLܺNcgs2%Vj-.偙< ={->u.} ?7ׁhUU[\!yE2#Z'Ƥ>v.D/Ea$0rqn7&eԆ)Cyy?EJ&JvoEú+Zh#`$4Y5kRf-N< nD0zRٻ^EKPmu⒃IL/AAA/˷֛BB$Ԥ&)e-8.٢ ?LJY#1rGOIqPĚy#i['0ph_ر\s@iS'j6VKlK@JŪY_怜`ㆥLݐbnf(88}6,wVr<#0eZ d ,)jOڤ9|ni wY>b/=3b<+w2|=skʶ46]YŸӦe}lO昨TXdL`'?^a[ WЬ25 37Md慨`m$4<cٮ({5KHNNƂ#X?lt H=>r oDq>8)e[b0c)a,\B^tETX:‵&cHR[Iڣ}3E,L0w7!30̚ ?{wxpϩ%18ϊݣp&^+صCu1sKmr>4Q/W*^ގ=@U Mm’RӴ܈aa2 BS'S`zSCKvf)gl pjgKLjj*eYaU,9  @ 9~¸ܧMhU. w i]/sl63^Ę?T%ܨU/&~SYyEX~'o :0C&rgULvAICBSи5e;^yOfیC>D 6j[2Ґu9DGrz"IayMI3D؂t. ~GoKYmٓLǕͣ8g~Wؿx.>}~=ꂕ8γOKʁM)RJC}D\8ʙ[~< |~q L^B>XƄ"aQɨ}F=i62oƎOAchƜ܋Nc&=⏵38om g!W2܅thS{&W5s>E-`{} 3v͓ ߺA49~ɏgCMDF{n?aעUigDRyup8փc+c~?u#}KrJ$ɰ0a%1kME]^U".GTv;#J zQf:왩clM1bPJ.>/CF;hSFlբqTHM}u gy)aU?,s!5qgs.$ؗWrjGlto$๞9^::[cmeF9QzzF?"j}*Wdg6im%6gVLdvz&ǣƷ]P7cܮY,:m3'x 3z4fTM/i5`i|ܦ(:@c0 $i(U/s*`bևU9#uơ+KUT /}Y<oʌ0&=E>B&aL5+"1KESc@H͏ ҽYE(&ĐLN&AC4W!l86EA<3SmKi¡ +Ӌۙ6sKJdPd$2,Q$nS5FI`u\OHXtL"Wa]}.uCٔۈ?ΰgv4OgabL (Ge(9šVrpm~|QtwN?ۮ胏0}9<.wZI Zj\`УP)-Z"^:y7n`ccOFWG7y+*l!| %CB&SJӎve#ɐ9O(Q;.Q㳺Ғ-ӀX:K2v?6K[Ξ>А+%Cwb7&D6rro|6|_o,[tN7㾝HҘM^v4wRΟ-r:oKupٔ]YP Zv}UjhBs~l$Ȉql^sCzteKY-UI2` )irOl#ũ].dEtϘ0[߉TZ84|yx$'iud2QB F#2~9+D@ AG %T= k0-:YdđS(!~T(, SX˵ApnęQ\*ϡ#IĈxb!g#ȫ)s) Xx^\CW4(qC~au~Ï@΍Dl=l%O(m0l`Z5\\+\ڱkfuhf{]s(+_c͒xA%+5MIWg*'~f<4z9Y!>i;[72%׶nneQPR Bdݢ[X|[Z4m9e:Nc`̚;"EdLjSI{6<=7|@ {BC xpm9&+X} }|c0hqfJ 8qXvLT+GزrBY `cU 'x=Kn$4YEAWtTn$P:N{mɪ49:f132j<; kr+)پE2iZv)DN4ԀmCr䛅421M2{,0-F~i攣 ȱd*;~ћ_dޢgfpķlALo_53\b0JV)Cb4s)$aja/]VdyC^Ey@ x %<4o+)dn۷Dn=t)шQ2b01z=FɈ۶lo_uxKeŗۼ@ {BC IJ #IH2d__dG`W8 .?'l!| %.? &f$cj+ً%^dya A@   Y2ESBIs_?"hy a@0&sϲh< RVKF$IJ8+u}kN(b- ?`9fbΚnR_?d/z4ewRsև)o=QѱR|vҽS"]= J}D^"%prK7p;}WCbMܩ{Fv+?fo陬W 3C$]ulVp0rt;Jo3p[N)/hߙfcY3"ꀗ˕H=bNݴr@G Ze4{'79 AFR'k[YD@ [K umi䌡l4ep) ,f̄8]dW\¤kz=FS3CC1F,پ_䭌 -{y=&c+8vȯS ϒiDSYи&|֮,ǪbFwG)7'~ڜ: lÈ/ 3onf)[: ^ #{jr)M^uP\uH;7Fsi.j2r26bkkR6`԰ϱW19`L%N4HRyv.vmm:O.fp|y:X_}[vd񕸌|L&#!!"#׿Ė+@ hOO+_vBVFQIF1L./Jps.B): Nۇ4uI9BrUbMd2MmSk?wu`R}+l2KnOr)Vg0mU0uGu+>]m+;GY3;_XyYI[*29kW_6m7>LCEق4z{e>> @ oCb0I8s \=v>Tә3+V&$j,&e㷡j5/^eQܔ([0Չ5K%Cʕ(9Uzɥ+?=WQ`XOSR_94ݏeg ϗR-G^/zc-F=6΄5 %?bCxM]p hӮߡ!m.f⃄@  #7Cc!,9ݠN]8'׮3--(a*v3ڔ&uΡxFOlLkɋIˎ‚?vBЀ.]!8RV:RgulL'5rOcmH-Ft.bWLz$ =4Ge"~)]'Y̕,w!$n\2iQa A />^jO(gpr[,)PN*ͅW~M7Gluvcw,_*1{ɀƮ_ Ֆo?h &H$Ɏ_cY,함AfZ|&LYΘɝB4{&o"ZVL)j}qXM^UBej'ɤ/^bMޕ,n/[kCkс;>9eQ˓kUrqw+@=^ W|@D}>_=fOĔs/S"pƹ2wU2?QO?3/ Ô&98˥Q |LƬ\gpz@\S%5[59{Νs3 .\ʼ -ދl5KMb̹ܾd# M)A._l hu;yy7u*3:ewcL:s23f/pVqx$D" e`!{9,}2;tyP{ TQ)]- |_ZƎ⦆|]ªwg)tGqlo3M %_uO0]]1s[)fXz׋{/źfѭCyc3os^*[^y Wxk^9V/k&{xa{q2*⾛1K}@7E\y HHH>eFp7 p}S>jxn6FP=ƓB3y1-7&KNy|njQ}MdpPqwPكӜ:^%3NǮ7~~fwoLf&uwĔ.za{ZP6ы/ԙN /śs x}{z!̧=$ 7?pd': A/i_:Pr1j~aűC"_R>5V`I;2e&ScEI^BkbdPs3rkFÄiNjzrœ2>8Vc'^DUKѧkOaEnX^у~7nqDkC;n=GG?fW֛>Xsk0\%8bsi}钜Jg2 lgS9?x?pٓ8q*\yIgrͬiLzW?oLPe _rLW1~Q056]˘r\Eg'nl35f$6"Ɠǎ*uXsߙX7ݲ ŷr^ ks r.ͻ 3)q~6PeWdtjk>MEk\9c2g]8>އS(^u9]7֭%ŜzR~ח"\ؘ>vX{r*X&"'GPհyYX*aSq}5Uy~,yg`ǟd}@x*پWacop,^{h9p{;^J??[Kq wF[xݗ:;JTE+7709suDwd`w`Qն̧!H5 @0ӗvj?:⣣Zƪ[I,[0CuǑ:CZ毾`uO Qތ3DbM;Pvc|_+N+'4Ķޥ|\7+tČ%gW9"F꡾ },s޾s4ٯޗ>i25ݯ򁶀skN?;ȪMy\#.S,KrקqX q|J>_š/ks{boC9ޞ ܅N'YZF^]naz+Uw nD7iw[;1#OȊqoJEl㽭VϟN2|[g3)Ĕޜ6k 1pUOSZًތAϠ9W)\3kEnMk>+ y|O%0 %IU9u-$H:^菩|/}K,EcO*gGgIĬUS e\*1D]۷YHtv3uN$?=u8h5rAnrχ7c9c$>313 Cefb?et`~`2Οͼ?OB~lejUky橝x-~.W+/f 0h .t>=[2x P?,#ǘ?0>ɛ$[oԺ6^8v됿XZy(OP1xRdN^tD:o͙UpPP[DU]o_1I&1i>-rPj[0SKP”M#*IL4i|GZ:NgDrP^ZEh5UaH")&5Z,g3u=ZSFs/ġD9Sp7SeHoL yI^y+"` [C/bf>$%u .MATNxo IDATb\,Nr|# v`J`ì7b;h`IJRKV0Vt$F]2.5ZH{HU@[:E])$&'4Jn0WuUٻXw5]7ºt7հw22k#* ' NT,WPH2Q %+V`Ŋ|<>Wu>[2`K_?`I$,|E;E5Blw)t@S:{@SҒbb,D"9\36n@xNYLt:۷x ?Gsq"}v 6+d[y+(?r_y ;k)䳅ߣ2;$?2t63 't<7VjT{^FT:{;["|J'|qͩLAiUwy fgkٞwmx[3<ވ[iVb]#7awۏ(g=Rl5?oKQI{.otҕ(zݸ5>wr˽KEAuPOy ߱=-dݸh^\Ʀ<-}-97$? hhǞ +(g3~~eVsJ(/+`f%1:lv?nZ%"NV;@9E{ٱM{R)˥ʓL %' Dll<{좲ۍMMU%yآ蒖f%b0⛯QU|K_7i0aw$%%ao9'Z{ئG 1Gx/w?>Sj!9c%. އ=7ɣ/宿 &-dM`t9W/-ƙ # g6lP_*}*i!!J4v=on$MIƀB+aq_;v[(SkK,e7e:8ϧ<ڒE]匮ׂ}|Dge3&pYB; F{;wOJD╹n}KzwB}GcgcY1qlO=5z0]MqV FG̸x!4a{Gs_E~GKN`4;obj"u\s<2d~7yO@Aky_3H:i?阜["Ê=ؾ-*<` .6-hۖ D"H$DrнG/u#H$D"H$I!LD"H$D"a)}P:HNw,!H=Xq}~M=#GK$Dr!dJ$D"H`|/YBtt4̛;X$HځϿɺgݮK5qI+Dr c!IG`Izɼs)))aܹٳ$Ÿc1 DEEa00aBCɔH$D"q: ٓﻯA யGnDr0ǨSNq~G|:H$D"H@&ɺJk8ĒH$GHs HqqqL>h4M o$dJ$D"HHMKgﮝx"s"e;kkι ݦ( ;ebXOH<MiI wo d/c9zl3n-Ay4gܶM e%qQGΨ P q%豞B^S, z OIQaθԵ]ѧ:r 8sN̙5۲mv"Gc&!5ii.:ؽu*"Fر-2ZZђM[9m a 25Uvijt&tzQLizgEQ PvTɄ8 CEc%uӤeR@ Bӂt^]h}M&^qƄTѩ[0H*xoGAA@V tĵ',@=az]@C2_C"u>¡kL`Bsq8 P;.dcwBd2fYh#JB[djO?|v3fzjoYd !pv؂LF#{j5PAYy){bG`'.ŌE-baA3};i`J lfBuq!o;KՁМ_Kwb*DacAa(@ N#] T_ 6{i/@=o9es2-BڋaQpc }_M$9n}:%BКiɇj_Zo mqSoy|Kd󠔁p:p!<%%%\q [9Ryk~yxꩧiak4:ZUn( 8ꎬ4湎X'-DQЄ{_6CFpNEq QWO "ZB/,6j:w,s".iP" %Et(hhђGjnW_{Op8#;{'c"pV]=_Qx`3;6 4v8AY!^[ 8I]m]?чForS??nw:vb Ѩ1J\yu-T7dN?o z{Oi],c!44ќshN$]BUl,cH *+]=sEgӵ549epCUGwFju>~#?r>z2(|wJe)iV6UAБwͦMP[nR-ZÉOHVGj=\Kxw}v5AZXV߫&[ BcH;qde[ZGZaJ2,f[v. clwFrRpkw3vμMlSFHꚂ2N$1db s kG..k|7 MYTyYd*ڭ'"JGj~vd@ }T**xw߱m#g{"`iswGϞQ3'\Vg30S׽Iԫww-4Gg7/uy8m 8+Kf ]&RF^] #JԒf f&s;Y.k47Źv)/:NaeG# Q ?eԨ۷jOii?7\ޓ{coU{(qQt}IqVfN!*cF"Ơa߻_Q0H11R1)=Py"&PJ-͞#L2)^hŔڛA{XoǓbD__ƎUTM9F3Ef5dUYIzu@9)Z}%Ԩ~U .$䴖I^<8\ 8le-v\9&G+Tڬ\ Dmkp}3|}9H[[_θ>[5;ؾy2!3 g37l<1' #vu#N{Gϊþm~k2KD?O/?]y\`:Z 95@-啜4 EVzPs [2a?#w}7 QQQ+Y&`LQy p djb*zv:ǚ1ܥٴ} H2)ۺbdtlJĹ)~85ބZ`сwDO.6pe@WQ9cclؒKllvodf2+&^6e,b5v's11w) [*🼒KΘafw-ď0+B*F n_~OBl\z# |A]YXk505yx}#ZHqũ:/?'5S+^,n-K,cߟeRJEE.AF&T0Z r1;gGDvE`*mesUo?'pmw0$' 4.Q١qSߎHb<) dt/^WRIaY֪ټUL=6 eԙ#5ڕ~V<58cF0ub{Yb_4l|e&S ﶑e;B]} }G<[ロ:o߾{|'< ;ek[is9srx:%'7mK 2@SL=V`j҃8]eN 읻0\r2qԠ-݈/خgr"{M%ó[Vtzt:aLq4$:tsGj"zeA).Vj[O܅s7TwnzDbHJQTan$&"6$G;4teEAv8P!!<>YtfV+dz7N9q o(̑φ+ j%2)~тRhI \K+ka5@}1?|1|!~gMR2ޟJ=0O5Uvl#ʬC'EkOZkbi(tfБ{tgʥW0k]RW˜dDgM&^UI„ݽ4 fJak޾q![Tw n XSxa"B!ƍW>_P]oIDr"Ea~{=IDATg2-OYSGPjUtft@c kh5Iɹap/40er |>Z_ɫ`2C/5/ihNMC%2y/y[~A媙Q(SKq5Ne*(JMw_:dJ!`_>;Jl .RXo!vȤkOz+W~Kرc^x\s K.dN; V\SNn*mFn k6y2mڴv5:K'u䖺ԊA"!^cN##"4ӰЪhD7 PouYX"0a*"cǥ7*m d`MgADCA <(e([V2炙2 Wu_cƃx;XJܰ9w0-'f(Vr\4TN,ID)vr75/ag<ڋd<0Nfu}4DQKtìxK=Ze̎Fh5iކ(*%y)!Yc"&݆g>  $ޤ@]#u84: FGs֩IJT@_NN1AgLodf>0-?jIi0?z2*D lh'ÜН]A9woS QzԲ:<";-CׁiOʡ5 CdII 0[^\V=ƿzZ(<+ަ.u4f\o)0&eG1sW<xd%vğyo5JZ'zt:sǯG$財 M,#Πiy['v>bFs!7f4iRu;J[?n]w| })111̘1{a6y7>"ok8!e1ҫ{ײm :5/y(=c&wGv':jh谦bbg~%j~+b{Bߨde:7kj,vUtTQ#I=.my8\.Oۺ رNLwtYZ^ 3IKM 3o_HPUwiUۿbTn!~Ar ev SH죴J/7j 2݌=s-S҃s׳*.p缾N0՗xԮDN0tR eۊ,!w_Uw `$irU)-ˏΓeWa-'B|zLе?'CI1KzvnMquG-vvx:淲- 5Fws&~V+.K93ISEq 1+^ !k~٪̐1|7y@dD$}*]Dw'k*~.;phW6CVoF,-8MvV&k8V⺏fXV6@Qtn7Zt[W2X S~Ev-vhl۩s9>a\4r;eY<ֽF`LǸ( rښyo`r*7q%//߷-ٝodN/+Zٯ|w|م!1&΄빺U~vt4>MD5L篗psBSX3H7&^~!3[/{*g 7'RP4h[Czh`cclF/;SuXcS5f un ӝE@TNf}O|iXb7 "{fvi9.o6̻Mm̮e]> 1ɷ;vRe0OE-]0< ѕuԸhK cpO"u JhF:7oXSTFMA)A}uw|YHpxֵwgg]{mgaҗC0DݰӋ>'Gd73WՆz0XJNШ弭]t s݅>*]  J.)"faGoX1Έ8=_{wT6ƒ><`0ˍ൥ss]tgw.hyCW,7l> BTP$99фa$OlFxה5YᫍoMp<) Cl,Z}99ӧaNy||2 菦i<̳,Y8Dam2,O Aa~NOdTTǚ*@гO<H(fӷ_{q}.;F<x[7TPى7>FBc&c 4s pV35|>&hV :)fngヌ`NQz=F?ISRõsŀ;w.w V^VFBBBﴇE^͠A93yq,Znŋ1My l;lLL紮SR\`Z+"cuMlIٲ7dKn+n&"]fB3}އ@VзShױDG$ TBVi;Ճ̰5P H]k [6iOM4?0&IN> d45_73 ql[é TA8fdMF#v̙U`qqrޣ`+mWsų7rR;wEXkLvV@ڶdt:z꾙B@aXH՗MPDtlfK%9I{}ݽ`(!գ>n4ӧ4%(J^WoVpv ]wuh15*UPZwB ` 5tJ@^1 !04߾Y8SFlI" yK4MCZ9]>/EÃE[iNGq'999q e>ƶ>jbk1$VlC(8%uU+/+([ 'H]k_vś!/ nj Aȯ`T i8>_W )L%~:Wv04# K F 'TwD;?r6>ᒷutYD"9Rt:=N#] xGVi=Qhax C?k?R>Gtm0yO w.!an'X&m:E+iE4|z QPQ^tl'Vc*!ode6x5:]p V|zw{<@tѢGbm=ršɔH$#%&&vv{M#O o} 6!7/2:o_oc0ٻ uG:|}]wIm[=fn'-F7GNkPM#v`uGk6 dnL׌pyPtz=]vcL"""HJNb 9h@`6{S`fWBZQ^ƶ-=բmsѰMe%=BwzlQ'lW(1)7KV;O8](UU޵c&$HMM@3g-;?Zr۪s S"o!(/+ ިU(`$.!6 &u6aZؽ{'pe)O zNrFL6Z&oǕAD"H$D"Hڋ %H$D"H$dJ$D"H$ݐAD"H$D"H dJ$D"H$ݐAD"H$D"H dJ$D"H$ݐAD"H$D"H dJ$D"H$ݐAD"H$D"H dJ$D"H$ݐAD"H$D"H dJ$D"H$ݐAD"H$D"H dJ$D"H$ݐAD"H$D"H dJ$D"H$ݐAD"H$D"H dJ$D"H$-`4DIENDB`candle-1.1.9/screenshots/screenshot_live_edit.png000066400000000000000000002477131421102410500222230ustar00rootroot00000000000000PNG  IHDR(ΧsRGBgAMA a pHYsttfxIDATx^];WDLPD0jTD,ыJ"68bhF`F`@裏ܹfm֡Cvڕ=c_|og}q׬Y,Z~}Y*'ZkI1"qYY]ŗe4"AvL2(v X?A_&I@ij0F%*0~)#] ;߾}SO=o OiE73Li~>2o;ڟ~Nj&MW_oK[.N|%}|F\ #i( E7Ҙw?񝨘&dR;K_ M퍉v`TQ+Ϙ V`ݴDC3μYT2>Գ"QYgаy_WgLOD!jS-&u %;5,uf1{#> y0rEEw'k\?R*CG YU^.2 xo.+.y%|^ve^z dž.r@bt;iaj(y\13%rtb}覙#|Q b\?黦t/Tԇ˼JYtayZLW#^ u-XO8 tha%DW&ziՒqJ$E--d=K3*RTyB2 = ͩ؜{+&sLznX9{@|;Q"ObO2?ˁwkZkV]v굿w/Wb^n*kͪukV_/k֭Y^MA.3W"]z+jeׯZnDB@J#jܹ}C˗.] #t]^3 GDS#FtO}xD$+_ga,ͽ4# fiHD^׷yZ`-fhȑ#q8N\Yk귴K4Ҵ̯PYE(U5Ser3UY @ͷL'ͱǨ~|w!HE4<矦æi+B2ފ?qԐR^ue([t՞bBQ$b$B <˺2f]%L0<B4uy?:sZx%޳gGy_r% k׮%/;8rZj5o޼w+V0ӫZ4+gE>75:oݚuk*C׮_qR|ߓ}(W`^$5(Sօ8֯]52Х:ts1>Н/X?/(^xz<<|iQ.#C sY<#"Z8'iy=>q' {:CM_5dK~bGxՅG_3&7!Q{ܓG?=1o,%}HĬ"GƬ .ĉ m4g}'^[@ȏw7&u#l&O_rޡlzY`WD@@;%'#*F./ooun~歧|K߬\m=IzM/te2{+_[?o=h h"Msi/-ZBײeKw|~%8(?Y' i,)񈊟Px⠆,T Nl;M/"R&07U. .ivh TK51F|ɍ,fT`XzsAyfD"qbFh0.6u `<AgyOFO!CU#)~ 0)JϪ…KZOe [պ폰z>ulz蓟 )=y)|Z|21֬0D#p+Q^sב3NGako;tͭt[sZDJ/ͺSXX)t$m_.fVהl8LaZaF*&;ټo޼4,$y)b ҝ3̞0E$LNbK(ARsѴ\ 눧; {O0sXfݺqBەqs6hml2zyZk׊C7n))Nx 7/) &vB')}q<1ffmVwh6w9G)$iQCyUGk>c:KfTVAAsh];XX^"XW%S*5)xB\裏ꇖ9(aIͯ YvU 0!#0=8Oo (}nSkj1L=//+u aBH5'(7F^Nc c)O4oo$N/Qc.S ڠ{_}"ң7LDuъss4JBEJC[1eX3k`fdžnxL<֩q;\`ƬK3OT8O1 Kdn>#>|_og7Ef1X]vŮ8{."$x7MOgN5}w=3>s{H^Dz8ы_껸1r:Y.TLuOV5"Hxg}Yկ[_|[W_u9=Ar룈UCRw$+k~4 $2;;Xt'=ѿln"{="Yic=.e{R!f!Y.3~Z4 .Ͽno"8赀: _2&jZ=x.GoÖ<-5FŶ^t##ċ3'F7SEw -Fw?s)Ku1qʏ&y3e9kI2Eɺ ?+yU=3_o$=dݢY&ሱj ٟ&`>:#TwСCAF]k1`}U%B@?W^wu_gy,~_w)9Kzz︹7=kyPc# 2A蕏=5b7leV>ŻYhI#+56ZKE뭭:뮽 ^fr=>CW}g}ĺ4ѩygL/(J-6N\%u{yA82/<2w s_]sSYg+H*S0wFZ(:K1/5@_q8. 3M˴b('>I2S.}ɡw2HE}Ꚕb1Eim<@l7QMͣob-};*sOa#3t$K$R`H1`Luo>G|>|>}G?>K>Xx <"ƚ_L` >>d& L3o.Ny\ͮ|2lj.ٻúEciU*H\`d~Rhi^{}wpHEӼ{*|c ^]5G0*[%F,4Y82v='=!8&hoB\o{7-{eoN6 O(|Qݾ#=/]}0˲zoɘ"QMsnӳ==9 sYBϊ>W>sUu޺YUʖϭwn9s3|G]2! բOԴwr&x9]K-)K/ aOΗ rfG.0H\R&⾓DH#"$(DA<&2Ǒh[y("ty7zBIo]‪D.=(/*9"!Kt3J)H0g.PQT5I'uOƘ7(^yޫrr-Ѻ%Q$ &B^W>LXDaoʶue5WPU$B_@f~mA. cT(9Hjqzbz;Hw/K]wz =%%7n%#6$w1%)d_`ʥ:fznO+i3z,bA$绵<ɁZx1p2Ц9DOvx! ieBzGG6> #?R׵b>_34BN%"L#)-DL}LK%.%MޑWb%/L[/l+w_~iNL]=d-]}@w{(gqT79^I.|zk߭+Ds$^N85 ݇ʝBIx_u2y;F[4goڍQKfj>l]oj-qɫV %5kWacs${"ܩܮN0`VJLQCl5oD<7lQ&.ښYTDJ" $]Ss36[GDwǟXvuk&3B~]=!#W ImP(窭ٰyG2}^6'Ƿjd!DPii+Gt'8UqabܦRuI#۵M&+ng&kMS'Z8 cHfɖRCuet ?XxFo4Q_'P!y#jL$OD=c= ̟{t<=ԏ{;=F ;!Hւ;2@zGirpF0ff]Z0|vYp12[6lQֺպ%6۠UyVVe6Zz|ig?ok? ~]G +DTZUjVB% 5oftkYǎ.\XW'{^}i}Zոz*~[됻 augsY vgR,'j҇<~mq\Ru=ӢXj':O w^bF͠R|, KKJ͑eTj_K_y̡O~qmQ אU:lǛf J:8)Μ,{s3wj՞ 6۠0(j&y}7~?6"=:5B9NޘjKnfh zGORztQe T}uo$S2=)dHu0eP1E A'Ee" 2dC0N*+zTv/A"镞Rg)UiŪV EQR. |&L}<ܝ8iFM64$Q9R,_$MVzQQ&E:HMSXUooәanp+; $[5 smVv9uszp# ԫj(1&hА8Sc`. R]߂q93u&нɓw;xdǁ՝4{8r1eڈq LحM:(j< gQ3 ?qm[l^']y7j1ϗ-[CuΝnF!=_G^P^B$-=\M(JeSتƙ-z&_rψK:=&h v0)ZK#H9h̄z卙3g&h\&w!eWL6u3 Ϟ܌i^e֬'L{T,[bK֩G 9+z_R:"'ϐ*PBPj!?yz)x ##C˃&_腭IUNc/0K0Qii-%@dXJ#)5Q籫i)VyhJ fRmDbSR;Թi͎RY)u 5űٕ96U-6x1Yd+7ڝa -FۉW%Fl$ Z5ȴF^[ưK: A54,ðǩ{Թz6I^QQ/m5VcٺOGZ-Z/c>([QiE>2L$m#3?$DKKK4iI.'~#R|!rzy*ʘtyvS֭7lѢU˖fw݌>=m}-cKV;ܚ>;lkmfSA9guKuI:϶l{Чo7?3ݶ[@E [M۵mV}ZoۼC;|k׼mftP֮=Ҕρ]O.gKYe*:/o/jlޮCy{!>eEEy 7k"]IfJZ0d79ЪY[e=r4 =^ţ|Z֬i{ުHX3EHm ggwf=kU6N}s[!I#͓)/ZXzЎv,&Xb$֯~gգC;<'DJ5ҪC}Q~(aS'$+%mW9O>^T0Pʌƃ-הm~6~:AqQ許`?ỏAf?RȯR٧䘩C6AMOx^@Mq47߱3&*F>f+j ddUQmBzJ[Gh=9Lާ86-=GMhI&f.$#F^Ÿ[ MJFS{4K "Y* }+˻-T;J.&G Ylkt=qvtZM$Kmz5U6%+{CMqjzQq.Έn͜ԏmOY5IܤKYQZFG&55g(9"Ìic4#8Sk5riE DW!%Vɠ2;.ޤ~/[ic[⨝|Z.=/F%ՓbR)QTK[KjWĶqKz{.)'5#>!PGMnLjh>0<6 QO ETq >5IvGaAnP钧­zRT01hK̥5c5:FۺC ڤӻT'TR2J2D>P{̔JAD'/[yt1(YF9#"Rf,Ǔ@wyMw^㫯nzyiԢ"`u-<)4N?IS}o٢yxl۾E-۶mݮm˶Zoת} >9 *۵oնmL^6%Т-lD}g늊6nQ_/jNwb2p ߽{\>X >^fyX9oOnpq]>|7$ϕ=o`쮝yFZ J?x)O;ݚッdN ,XJ&`ĉie!~:Ѿp Owh?_bn^c/_O9v屗HKEOfUpԵ|T .ym,ņ=ꌐ?ݑ4|y^\80]]U /}vp/ʨ ?pxZx3IzӜ#\ڼY}Qkץ__]S[*%BWrlY~ZQ9E塪腙S )y6 "瑨^UN;jQs#P  !ՄG)"X$^)h|МArAV[ ]l 7j$REb$@V eww2,wTBcGBXlr"ƕW=>m5(&I3ΊvW'ezΊ۬TDTK>ƍ@AJ>P[J.f@C)m .Ri"FU,o lE|ĶnL B[JhNR\{2J>9ed9Tw0dOQ-[}oWA]VQ&uRsxTHS%rQY2 ,veWۃx &( ]"fib:Mw7H,"^ZN>bJ:9 կ Vێ .iMkQMklu c sk=lT "=_̟ΰQf-!RJH8GK֛}m⚵ܝiyIOoh-T'PS{{^[շ..4OVTyxi=Ey$yJA- tȰ KU1$CsI(4!~pD}q 9T$%UlFk⫩zvO2# ]W1kTTykI\j(m~UzT"aIEtNkJd5gn땑Q>Nv#~(SD>$Lq`G)Y=rɀrRiY+40!W:tdP%3ij`͵DغUvT2yzM*j3RVX%96q~&:ͲԲGCB}MiWAk#&$Pp 9Jy‘M!r^ӃOl_H{3Jid\KH_v64hLYKM" d%gDƉ1k0* H }LQ3 ey73f]Z"5Fd&gL-窧+tݔƃyFN-OFsQ=:0=;W?}H=J f!C/~\Rqt]'5 M<ȂC/4)54_;28Ǫ]6S&{Ge˂(|Rⱪ|̮X$ُYEN[X\2'MGm+;l(]NhPb ŗm,őMK>Oϩ罚򵯉"g0xg|H]CU9$Ԓ((s1ҜV1nYm_vGM D)d 8G 1d Z _=4O9]0ү6n%FX x_ F$9v&Gj,$uR5f^/2{Y=mV47%~XTTNEFQP1/X"  R=T$gWsHl'y0R yB@^ٜtK 3Sz s&,Pݰ&,<6d[JѼwp_gǹ״x"*4^;"^wY' ba>wF#W{]>W4ĞIH`O^>k ^/M1EOIej,曕f#SȈ="?(2D|0z [ldadgBx2-9)M[wx20`WM7wcjDZɺu7yUfƼ<5zZM?Rc4$pd5b3YTF s_ȱM,,ā<>NL1\M|t.x_P$X!݇\S8\6֚"a%cU{D6l1`-w=V wkw] 7N{@g^mO8m$LJw4xyZxՄL0fHSq#0#G`N6x0Wy@tڴyIuA=Ku ,(#0#/27FՈ\}>i&莃vھtQņָ]֫K> T>4d/}KExI.yF.ᆏ,F9ȫJAxNC:&Dw_eF`"`6. R=W͓'<#xoRZlDNoސQ5pb6|QH:"ʹr"92qJg1"XWA0#0#C2]:y=,0=:ϟ_$s?sNۖ1V&%b۞Wzc7|0OoG0睰>Qܪ[ًEԄ7Fp4>lVko0ʶw=~;w!ZDrbF`FH68LECk__\~jROsOYsܿS-˨{P߸췽.鰬,|]7=wڳ}o=+(gJOrrd1mGAɅ=tʺ5ubF`hi&߳%^=̓w|~Ӓ O; }kCBȸ׀oL}:w؀5W֤πX8Jo`F`RAcz`S#ļ,i?*dtosg~EU|[s,'Sξ7=5o} r'$E€ehӢN*vI~ϲ@F`F ]^NjθW5F0@syg3}_P?ȂR~0 mQ>~ ,|}_S.9{oG9?x糑'lBK:ɂPrj&g.9qRW[F`F hN^x:R(%02:i~{3idۋO8h,]*K/u )? {x׭wܤBg³h@pT aF`G}˃T k5lذ "BٿW7ī:EaF`L:ka/ͽW~N9P2#0#G{rҋW{5ݕ aF`FQ!`sml%/[Ν(G{q#0#4V\10+Z4Igs>h}aj{k`F`F\xL/Fû0͐ ^zi>F`F`D 8C>^02dpLT'fF`FF4Zv-#-`F`F -s"^k OJ.`F`xY~kum4V3#0#"r.GdK2/q2hRbF`F `-,iԶrSWuL2#0@%8^K\tI4;bF`.Ӽ05ҁe~Y-MgppKF`F ]P"#쎬Jx.`F`Sxic4\+q`F` qR2aEϼLc,gĴLV @@*r4^nx FG7czu$kxӣt#,1#0a,6e5|~tU<}6FƋX _ĕH.9`Tح*bR֔9Ob`eךZ!m'S;T:Tf6V)_DG.s0#>cZs! ۃ&dJY,lA%a^#tP|IEī%-veح#^/Tĸ=lKRlj:2`k- rY6獯 1sLnT}'psN,ׂ/Ʃ}YĊj -k]T/OW,;1#:֤*Y!0,j>s{, bMNKVֹs <`gcO=iӦEf3DAhIkT'u)'cF}+)%9O#G@D4 r8n1aK^-IVZ2qr0yP6Xr֞LθEXz)j}*%OU;R0n#0B`'R̺}(@jeJ*4^&)[6 PbEp2Y/iNjTBu&X'r˰x*' WO+@!b1][5įbqh{Q6fvjwe:`Rb Y#dF0l̼CPؓ~ٝL>=PJ+9譲u¹>^=$$W5ZX՘ܞFV%IsszF`x1@^ /@ KX[CcK+07mQbՊ!,#0#TRN;;LPA@8c #0#0.u5*=adljt #ܺb5V@Xp"F`Fh/AȵK/E9$^¹74c%LHu,QZ?Ļ-֋N0E`+BXVQhJ~{bo,qؾ3 BjkCXWփ_/ϱInW[/k}Tƒ8#G`zu& RQQm:ʈ4/A+}X8LEdQ/g!p5δNRuX `]#ge.S0@l n]Ix\_䨬Od-vE먧WH*+̒"lRpϥ/cuj8.Р\/g xP@*ͲV덬1k# ֳ5iVpe>Ŗ,1+\s'WEbA߼i|pչBх\`*kd `T: ,guD_ Xeww #ڏK)ǨxRMFMuʗc$;mQMtr_zdUӫkӇSt40'%c@z}cLV.(1^+T֙Ş>TP.)vF]oǚ{~9#BkJkiҴdڔ YmlT:QU?~ [c8e`q4䓆׹O:tZn.D+u3'UhJ,%q~@}xQ`]}ag"މDjFi>'@QqwbTuց_Y#I#XO ֪QP /˅bI|=ngpѴ&07>svU OWn^nISICrl(:jpD YP{;* >aǬW&&TThvun[Z^檖6֮}@+Y-:r=}Y_F .0λ`k+I%^\`fĺp,G`jxTjZi}hƄ";G49wOy /"Y8%ݼ v29%qBVe o[ʏY'Yk0pmyHTE I 6p sFБ5^qt[a=]>R8!:a9v9qrF4-F^ܼ&z:ev":ЛI7)(A_Otta= 8W` }R:# "b/c}h9Q5NUMK,#4!`OV2MbX~DxqOg9N`w YqrFƌ!/:ט1c=&MK&Npj %\gG^-|ʏWY‰,N4\^j(e02Z6Cp8ǫ㠟u!EK;ͲS`J bŎBv] ׊VV"<E_Jo}0MiWnAȩBŌ£I.IT`o!]piG$W +?^َXS{F TAJHk@SXxz;aE%9v 3,np:bZlN\e;v\p'"{9r`7OPe+W;v,#/NW'Y'|,?Tb0G"LtU V-<*S/Rbر)#5pu.7߼~/r>|AF(65TWWСCOs)⡓2\#J 8o={f`^C aԸvmd\OӋ5^%y:POz_GCf]H:[=1CT,dMa8`wꪫ-Z>cGuN;t/^x͚5) SbO6-$yQ8x5kxzHaz'5sT C]IS-+Dlf+/ )6A\.}qc >7xc`W{3~3'֒%K.2$+C=hUL)B%IJFH[ɒ۽=9o9}-|V<L0JBc~MoRĒܟSix \WcNNrFaw tuSf9#:DG%jձU O1Ho Tb-kҠ*2lǑe"-5b4.v\%2g<5ci^8. ( {T\|A?ӣ>:l0'GGkBH z~kGU&)\/&a&M8k\o^۽j"KT!=O0 .S`5\;9)yQx]*$t4`$F>J"ďf5Vtunil9ËjGzk-r]G*p\[*lT_. lŻUcrklMsku&~vc SoymΪR]vtMq= /OWrKB!/P*E.O>(t55?RrM3T*ϯG(JΟsi`Zh| UU:_ŅV[zG⠮[C=LZ*l5S\R6\;Znas]2SjaFi\U \?\z;G.{kРAPMAŵ_qXx}|X۸l2|wC;CO?Ǭf]tdˮF4Jl`]{Bم@G*^x+2N!Gr/._3q H ]V¥F`%A5RcangZ> "L, K"ܼZq@>T3o{ Ryr>7ZՙL4g\ӭWfBFUkh^kl1KKBNo֘1cv[_~e(~%Xq`xЮ!>Ş{y5}嗣vHFFSKjĶB 'ltJH )P믿~gsU5‹;w}yv=6B.hlk4&5^L./P}!i0.YYJPtC9`◟%(<u,\.Q'{F*㬩Ok*<.RT'̌ U.ߎ=6N6=Uc׭KR %BWND*CO 4 }MK2p,{^x? 0p1 K)D} kaUڵ+B^qu @,rPDLi |x%\b3C{q$* ~K0㩫aZ~og,\\94VBVWdyPq17'rLǮcw+-w(e<ٖnA[? y~; pӴ2Ɏf,Hsr~].D89*]wGU11| #6S [2V\Өc25ʇ0xP ȋ㛴BaRY˥4$)]GX2.n@X)H; *YG0w τuuq4NRNAYհǬ>Y EX5Ì ?*h3fc؇2( fJZQzyj'bE`o-^bEvVniwұ}`ܨtnHi=dp*2!: SNܼ* nE1OPPqi7/qEe/*T\8ͫ(d24&vt"f<<IHI8Ҫ1*VK q0Js@O]r'幓߻]Hyp;gssζsE=zʆC+fvY"Y؈Ký=81kē" x/E/^Qr2aYnTthDO WV8G"fչsgejT%lR5,eO]WeGv#Rc#|# AcIc6ڣ( iA_Q~YKH/|i$΄A{DdSZrJFalҹC (@2gLP3UQ 2Pi /zw}Q n|ӦM leF񵵵cǎFXά gl z:JMy^0ͳwH,HD2x C}m '|]OD{!ecohd$By:g}6ۮK.f_LWҗ<ŚY<7 BuB?c v+XSSS]]/CK?ݲcϥη߭zY-l*xTp AL#8Ti#R]UT0o hX[g|u_u3K쫹֌ZX{I8z ܦ6mΈDU1Ei߾=&wв=ɺu#Fs%N xp[o񊓞0M ṃlu)c  jjï[k[F$e&Փ~:~z"B~}0bwmdM;q~V Bԩ,-(N|zwe"e 6kR‚-{ѣGĵ}QxX G Y jϮF4zLr3¿1]DLGfJW6.!=pzjY4:'O|ga"l:0]m*vrÖRӡi"JX^{텸 UfŖ-[B%1Q6l_"XԪC+!a{H[N\#SM/xѻ14T Nޝ}hցa~vz** Z1Wk9lu kIGOX?})/rN+*".ZO=ZGjo+ؙDf[j-vStU(Nه['OdDIϧ\fXajN*|X7Jkd'5 !b`t15\\#PX1"6POUbpSܷDpOg ]ZaaK썽&lfa0,m߿!馛ªΗ* sGu'(`4G(`gU'RWyCO!'~V=켷‡KBS{Q6%f`tV/͸)x\}F=֧3cvc;{D&[dྍ:%"&`B#@zA7X4uo[!F픋.w?STIϧ7&<ԞTiTڋQ "e:qĶ5]L4F  nI'Bx|X3"Q>МA#Ϟ-U`Vc䩋ԹX+{,}~nA Mb7ʸD`MbF%Am=PyY;gQNui;\te7C+B=BMtlư󾺓 >1 <S#%4U.p/JsqYA#0Hdz,!tQsV4DMS?aH:XG3xw`vW fCaKq%-| ¦K%C6Ӯ,d$I`B{t*N ϠNJb h~4F 6[#LUgߏ'נNQpkk}Ѱ$C_ލW.-|jS>#ʹ<>^"d]'F }YV *'c :Kk鷓Kd,vS7>qe|]hzoӍ%=ԞlO U)O8~zZ >Ҝ2 <WXxGH,PRG'E8Z !BP2-Ͱ1F 1=!.MK|UReUv7$H*|X4*f(Gծ8^u^^-.1*ꘁ+cIɠ982i{pFHz(%pڱRE.##$"5YY%9*FAwO9hyY~uQj8j [qP8[zLpxv*4ל)l`l4^ubq&6ѬG(<1D$#0O, kc=j_ j#ѴOfm#t\*g +"oe ^f[nH!]5^Y*MYk&MD/Mƫ /ZHBh 'Ϧl(@-Ї}TX#8u=X%Fuqx|vqӫ 4("LxН5;@ ^=zpLp*o֬Y3 paQ":"We3:cL0f]Mqq/ p8.j-+a3ʜ1A)6*Zfڈcǎx=S Z\G>};ӟ,pp4Ej%ʀHuT0"(WJ0ArԦ8_c[-|wRulz͚_KFpjeTF;"[RuKZ.j?DXZqA@'tвa=:*ڴ1B%&*brԲeΝ;sw}=[O?d2(^_c c B@ɐZGXBTD ^Y Ua]eX `Ay稐])tf)PS[^x饗` W_-X 0ͮU1;99#PxȕVzQ%×55^Fܿ"tfq cά-ڵ}Kͣs۶mj}Is1E$ % KQaJd UexE0*4VHRe@ wu,Xƃ֖[n>olo|E6dJyAi9/#PDxBMEۑMQ0h༅V޸̚'Q"e0A{`G(<=L)"m{w衇N>vc?}ڬΝ;Ӝvmvk׮Lp=k?~z5½좋.˲s13l6; `IEF9JQ/Sk['[_jxGFX: ´Qj*B*L"?$dK{젃s=/ au]pW^aX?_~yΜ9`BYG7|Gg̘q׿Q{ E_2'.)٦% |Tڸ~}kܚ<"mj?iZ2mܴk:.5e'0+RrP&EYԘ*\Xr@+kc.M0&[{f6zd'=[uJk!9<}.BVGy䮻—> (ג\}QZ?|i}puc,5(\>#NċGTz'Vm n[T=O>b{ d8h3 0pc%'L>zTw\eFIRY%銶%N#,w*+32JH趏WJ)*r6E5Vr^- g7++"w/> hQOEU72C[F0U&@#F9(jRcv^h QUqĚL+l醦Ø0L0]&T٦R^N OzeTF2pF %~4{##cF}lXIO"@Jz J&#ʵN;a {O. {A"V>Z~;6sΌo}.jL̮ncjOYp}jRe XyJ*Vk RH'Y:=kuXW@! EɀZ05`psBcָ5^*; B!c[.~۩; p*lrJڱc6n(u9DASbKߺkPa% n[!Beƈ0]XՈ `^Dv>"F[;u#5556~[vlI(.@p2e 67Kíۖ %[ {bScL9Y|2S2ĉK{ny^Z>ž̺,.`F R_(-ER4#yq8 PyGX7{/(O?\*R†׮=׭Zw+zנ7+dFh(ۢ^HK/x;cW E@xhak?XH{`C {c Z4l鋴Y,F`'ZeBS) $v7ۍ%6mZ 8H[E^Uo*}ṅ ~]u;!H5(DW1S&M:+iq"D vOL`˓zwȱb[n%"F.b=`OWk;VEO^<`o躠 2/XJ#E-lrbDW1 ˔G/,RFTGFB,h>!$b[TA`NaRq>@l\ ϭOaՀ.ᬌ#0#`8w9k59Bmv:pPVx.d%#vZ j3P7.=`kӒaF`#a]{!^Ga /,Z`𔯨f k'Z³آq0/nuG>#0#$G Tey=cr`9Gu@S:Z22h A_V.g Y`į42F`hcI KŊ.FCv[]"Q(TQj0hE-mlټuԂ+fF`$ĪƏ>hѢEz!p8 6Cl1BEd뵋]=mu|]|ǗN . nom:I51@BR\ո|ŷ/]"` B5yEEݺthX+7*YYDOe\f]vE.E/^l^l͘xO7 In*s>!vQO[;,~`]0>3Hn%^;&7H wZmr!Q|oq̍J 詌kԩ~V[yMupm¡fGЂk4k%u҇fXύRЬ.G %Kno'4a`̺t@lԏYr d9c2gL̅N/4t["F2'7ddF xaos8/Fus.{2@\te>*Nه璻'OdDIg%x`&fXa I*|X7JkdNګ] $.)6pBia"v<}.bbl9!#>nc=^{I\BkM''TսX/'NiVQr.|Oz2|%=nk~Vɐʓ >/ OE(Vpz~:HfAeb%.cET7ٕm S{15 7*?3"^\s1{g$!dϭMvqy"F` #urKf͠jӦ)~$.!סZhc/8գzNam]Œhѵ'y6:R/#(i-/_y啹s ax͟?~Ҝ2 <SLzr"aժFrATӁK)Zۡg,`lt d|IגV|X%Uv^eWy‡Ob^ )ǒHPğN\VP}}8χ+$MM:s o>Znݿ?"H?Wď~wo 挴S #Lr :P#8+N@VDr<Ś S]]퇭CK?ݲ+tE0-[Z~k͛gK" *ۦR[r-+!C^~34h߱7D;v 7ӄҿu֭p {NTaHGDCE\.l C- n~i6a=0xʍ:r9*;Z[BVV>Ȭ[γ;~m]v%riԯ M"=ouj{=`#`] -Ħ&Bp J/$CbdiDcs}s,4^Ge^mnyѺ ㏭%Sl¯9K.uk{3WzyHzĿ)# #53fXGو@m*Rh(f{)=@E u|MKYoF3&YQ>e9c|J\!s1lj+E ,`sW|!SHŠ2r$lCR}^"x_aCw;A믷@١Q1ºdށӐpIF_ÝK.L֕Sc歖s)앱ck(97:4jۆ7UcUqDf]t`Q`]1x°֒%uԩS'x._k}a:YORI=$ Z~lI:(8.ƂG+ȾR !<⡻¨ u׌3|A(~́xoAË o/&uL"F `l`uπ t]``]qb›HJs믿_`Zqj8hDx55£a*x4%Wzƌ4*gq- L:7( T8 s@8K.#Ee <9HX, ,pMEC^ . LRF @xY+aNf޼y*z*%hTi׮]1P4I$-6)>? (WZ4c0X&Nf͚v*nbjwU#חPc.d`zL Jbz 1d|)! qX\@eXJ>J\c 6ƥ{wi@A Q,*+s9,a詙M=T-[=.`2#x1ʌY(wn- <3g΀GwZQ42: =D ZD A3N0A *+8\k" zrkѽDI؁[ϙS҃K;'J\_dvă30@ ^{/dUa]d%}JWB7{!4^KI֜~i CAs>F %8p8KtF+-{) [(0ymxY#-k;ٹ%Yoy5dxGhx;?0c’_5Wc4c1cmwdPH^Ͽ$ORBƂE*A) /TG^>c$yEhLx1EP+[V_ E Qī4.?? Eg aguFaވJO*&}݅i`dpO`y fɴ)s5:iA]SW |]jV/z%Z:Z[WHuEgخqɡ i,_}ՈՋ@UFV_/""<(xӫkӇch* << 0gMlʶMӦan yaUsFNk~=+rD# P\e]!%و] М$U" =(_~- ZDv0i0&Ok-:֤*P;o|_iGvm1}@Q5ix2gU.$opP]9׍O9@7=l|xq糌ШvY::zu{zEj;'*KoPo`?4d $ J@pu47;a?ùݫ1!0e=zh`'4keq{猬 )Ϭ?=X CͼGH.]e˄YiP<2N"%k>3-Q8cɲ/*ԫL $;TƫTzJ m946}:S{ _nN~ _h`9 .s1qΜ9CcFa":uVƬ)xM8(gVxTYBYc9d/8zF2ppApS]K.kc9RG^X`]8~#:8\?3~orxڦs`"xv. 2Ƃ1}.8{@ºv "hD2j'S,lzS^MyU#-k:5`phjV*hعL>ykv^X',7h-/"v wLd }a Vb º%*4nOzzQ7k;WL)p'UqQN6`pS76b 9"rY FV.fWYH,īe>ZBn12QzZ)s}޼yQؘ_#!?&#~Y:vI,']9\ΪFd; Mys=W6%TzA㕈E%%jI䊛]qt#LJ +la JvS"կ_$%jK]1d#LJ 'p ʪѤz7c!F(xIGkv.v3f ojGRn籺+]<4FG=8^C + -=~/ջw1,ׯ>dbws iʑ,?\7{%ĩݭ[m_$XcO&^yc׼:zhhx?/WR߹s{,fFh5hPagB݅.YD`9Yhī 5bSc*s!ŋe]Ǐ3b]w$d#4P2 kX0F`B@JrbCȾ򰺫hcF -X\N"PJ/VwbFH&^a%1ůbuW`plpL W.(r ?^fδ >>zn)30@Q!1H*ĸqtfD0:c/iӦ*lrJڱcf!g ?Zdvmu!9ʘu.S'Mo{X;˗[Gi]uU|#vw$Кm.nK״ڜ9R/Lq!Zٳu/[n%DBĞ| U(~<pL~gGȂxA4Mʗ\#@+3W_]gVz*f}*.1?/ldycs=*Jx ~ |cy͎x5s+=h-˳Ec(ESA@q ̈_J |]>}߷&L3N.zBFI!Tw7ƂH~Jb1yu4s p1cF;Lo&ߚ5˺03bp/ -W0M&^M^+¯Pz"WB &` pi--o-Ybov駟~m߹pFh0jʽߘ>o<4cj*ˆZN1* uU$"?eaR4ֹ&Z._!s` +rE@V+5EQcsXɷ`"<-SBp/6˸hFi#īim ]aJ@dN)*u9ï+骪?Ks騫s]r%]1c+>mb0j] @^ySw[lQJز[ķ|Z^egs˚^]5^+j06@"ī;EyVzG݅Pqo[> $9-X;u^\&:dpꦎ Y R+H5Q&>cZs!{etW@iMn2⍱Ʃ30JAtV^#w L^e-?<鷘oD`ɢz˪h̋I rxkL ~)=4i_P;o|_P8e$x"^w #Ν;k555u&KMX'ʕ+WkkkǎrNQ(eh'{bXbW_}ދzSRT)B̒]2}piӭZZjUv3r6Da"Us]E8~a:tP-; {xΫ FP\lUV)G̳VyE"J[8ڮ")a*8pW^|l+~L2b Oǎ(o[dINw9r$623ԓ?~<~7"CY>3~(&A,{dS6L`E #M/XXdM~◃P{`+iO76ikJ˪_T,#c@J/VwrW4+Kf&&̸buW\9#0ME͐Mn(#B -x`1#b,7!xHE.X#0~ȣ@J/VwbF"^lmhbu%F`Ͳ\d#/(%B>'n!J/VwRL(60ŀX#*Z@vؑqh@Q#ī6ׯ_q6NP)FؗbDŽ@ Pֹs^{F k1s%L6-POPe+W֎;H(ڵ+mh.ayJxƘHxr-1"%?,<:YN gME*FѣG/[.iĩӡCnٱRC)W^}wɵdɒ|q7Ɩ|#-x%,u†+ ^yxc/ R >h&^./TRF/l` C1>Q1.fȑнW>1/+++gsWW fҤIzo;J~wZ բE4"%-^ċMUׁ'~Ѝ!qX"O/Zg3:.=zO~-L19Pjٳ|wAQ(BK8`neJb6B.8VsC?Z*;VёPjD;#-x%le7xe*.rY[S9޽{q=\|ȯ  E.]4Š)Z e7xe*..Aŗ v"h,⧏buW|ҋ]VĉA ={6 T'$U)SPpn]h~K/ڻ Oe„ {TM?Ok'#G7h&+վ}{ϡC֭X(Z6mLŠV z; ʈ׷o_A1? ٬ m3³+r W,¤M<"*ѹ5ybuWrR66`Dp0 ^uUp1K~V{=q Dֱŋ;8hzƍk$8)!|Π֊@OnRi?_yଠ\H"a5ˇgx h:Ap@GS\(8g+fEh>bfd@*D=27U0hqSSS)?|H~.DmeD(q)^9 [Y=Z]2O?4?b#Ν; ,*LB7ܧ/K 6 QF4mن~ 8|Gyภ_0Mmr `aI$GO27l3|X 4h:0Z1cQi%(ܹ3|Ԙ$>K.dڴi|.[†:vشrl0@_8kEqKDC W+8xn?/"&!^xN;8Atވׯ lqZ$/ pO(%Ё1w%T-ь 8tnyv^qRg? -#@C;c} gh7 ÈN9 jk#@`׃ 'qoM$^ u&ȶ[uakZwapD/GLF#J@4.6,xřY8 #0@ !^x /$$LT4tPx{"W~$ ^{Ā=z .`ʔ)0C(#B"9fx0:-pMg '?P1`n4x_,e@t0#P@%xon\45QpfCJ0 2~  mNႆ,0JVZvr±F%jTꉡ8G/5jX UvJUDK\8q`a ݛ:\ #0@DR ?$j$gwuy0kf8$ǂ,/arb f$C_GuE 7Mzh۶m3VGK67J#0#P4xB(<~Vn= I.8LB,;_<Aˆ~J)Qa#bq m0E@a=ֿp4NyVa?t|" x eגWcxVZYu@Č#0ņw1\ 4N`:/ۈ>YN2# L(! 87*͛c C$#aX vGDdx!f2`E*十2 +! 2cϚWD2(#0i#c+PxP,CLlSC8Ia͡}ub (+PD #}#Gy`a5†׿5"Q6)F$:qK@R?"xAX>c~"8?h4@!΁:W7Ѡ[qIլy#xwݼ N0@I!7m8/o9|P>AC[%VHɘ%b8Uk r C? ϰ+T+'1Q,) 8=K*_ah%|h/jyp_#dB #vm7l X05©k.CM8 Awqm(ƍ~!N:K&!A#ǼhPH,'DY|'!aLLÈX ~ Z{ƌ*xx!륩.^MKu5ݼ N0@ !~^APFQ^ -XzHTcĺKزeK ov k;REa?I!1N/I:d-19xiݼXF`B ]p BHBMp jL8&y 0!g[Rzpe]/N4KKul GSONܺ_?>F`O@u}=#Fȿ+c/HoJ) ojTīq Z_g]]889#0@ JE ՘(q"̋_°$$QD"^]ċWtu>grue"h81#0@ ;DjL8-U(q*&1QFgl{l1Q)`F( EɿxţKEsWǫѨ xsՌ#0yF O.n덟2E W?eAKZiӾkؠJ[’/8,\'ʕ+!F-V&" ًF`#M{//tˎm<": A믿Fdm5b^b 6s ,PA"6\i$ 8?_#W{A#p$1JFhRHn>;իUL^* u ,>}(x%leO:u믃fѠ!]tEa3JFh:H.@ q`}}SO=j A"˞xuؑGvqLX4}&^FF` )/`Ewߍ7&_lƺHB\RA >^\pv_'o)4^f Lyos]#42%^ nN x!|"еk!PZگu +XNF`F`NbukH%k]1#0#PZ(^륒K/ )-XZF`F`b"@Nz;b";] 8#0#0ɽBJB-|ŇF`F`#WYE'?̋SNgW56.`@ZՈpwqK,so|ƀŋ"r=,Hx8B"<'\#0tWMC~ ҭO<8V’/{Q 9GP JRL rp#4fR$^En=zF=zO|'BI˚x)fee˛ee40#PF} oW@]{DbHFX?ϱP*EL _M!^v7P𬷬f͚5_|73cfW4bF`r@ML@~]P©͔ +a]ʵosh%hWfw)eXvr.F`F 9oYebR͘LV(+.qHU޼8 ]#0@#70Z dKR..VA˹F`Fp#¦  ع #0@#߳-(a/XUʢ3#(^~`{ tq_$"#0@v/KyGhy\MN;,\Ґ\ p'3SO=sǏSO-\7,@? rw3k9c(x`~[@ХK]vw}3(*-_ vmy_^@~Smfo .˃ IोI#0#<2|_X\ᦛnV@uO:W_A J[[UUу d9cr-_Κ5 ;w뮻K˖-۵kשS'lݺukwZ(Pygc$:b@`g}o<8`&d/!#0ŏ\k׮%Q~'_}0ɿ替/ߙ^Jm۶n,X*uѾ};W_FIȘkPg}dƍwW0ojt?hΉXT5 NB-_ yj!=ꨣFMb;+Y:Cg`FxhӦ c8Q=裨vėwo[=ޯ_?؍K#._+Vȑ/JFO}ў*=XlăsQY4^$k9##0@"?[oMϭJ AaaIJGp  ʕW^uWt]x0ї\Xhoh]lX/*mᆞ, @n-7BZX!q~9~!JlbM6!g/JSTxUw0#0yB:s΁b{լEJC<$N: NKt_3~뭷@U@ Q}B6rH(Ð~& v) X᠆Py<)WQu 0#'jvwKW u衇{.,Ƅ?qT\pzH}Ƈc{dyٙ2esaQ?|Glebc.F`o vOCC{a'q!< :!<ċj6ű, UVe/>3qW\{W]u~8p/b%q$4#0@ C9 9c 7'q rYN;TYYIgT i PA[X[n-[<^'Ni ]"^1ϸsu#0ECSW-Fx{8 =홎 _~;f2 E.’U`""lQZ+-$F`!kLqasDT_|1f?>샭 LI2_4 ojWz _ 9@ƒRB߯)>&(!NbG0O\qj̢:dƹF`&0-@O>3\;-LTcĨ43TJX9:i@:,3pb?ȮSJSMT'fF`@I^ :t^qF`FxDe㡇:;<8&g'KK D&#gA(XY K/%uր`j7 fH kijqjkHsHkN1;1#?i_|8jkkAϰU l~\vJ6ڋDB8>4"(|ر9s=?Kq u(?]ָOX7`a3NqlO=e=RmF`@ 2O>A33:e{1'cf+%΢YU ;W7*5v@6F#-z7ذa0RbuaEaZTċէ~ \'NHi'F \JD-L-Z>h~ $ zӟN?tD8ꨣBHeA,\>.$HK<.e D,,W"2 `D9q@?bE9'#0@~TlqúJҳgOp-Z@̓@_O+}ޚ9S8RϧZ_}%$yg 3,H|^vu%?0@>`#Rv@#2LTc"9蠃8(EF*9QweԨQ-1}#Lo[݌!A&S{4XjN;:<.kw;u0[oaՉ/< .N=er_;91#0M=<c"F5y*%Y.D&J ;馛n]vn@UVLD ՘(q*@jtV562.x?{No?s.ɓNF]8D\p/ 짟R@\#0D4((՘(q*%_D5&J jR=hYd l- 0# (bSg*)u_a;Iĉ*M8LI՘(qKT#Dpajd\#4A(a]}}[:P^ܷFE#~؉덟K?z*!4aWU iӦV*lK9b n"L ͰlY2^n)dipY#0>&ۻ8 /tˎm^PWz 0##\lȚxƂ 0#0M*zצ4`F`<^s&?$F`FF^eF`x53#0@ī :pU#0@=#FȌɤU`a4 $YF` IIm۶]nH#@k reNsF+/\8^`dpF(6 ^h&[CX@kx^UUBӥIvSvF`JW4d(6ɞQ+#Վz?a L~̯JU4|z+5sF#ksv?B7_<ܐ hZc\iDۈz 6>+m^`o5k8W**65p@F y_" WUUpBP2ΥZƈ@|֯[f:Y~-r^bl[]Up],jηt*:{w.~f.QJz nqOd3Υ2@f%41yW,(^btOY&Q XFH2LyϞw]X6ʜD`R}X筠cxkTTGQOS&p4Thk*%7rU#zI.ZzDdC8CXe .]!CTwa!I1\&#oߘua[xWŋיz.VYs~)dErF`dݡhᒛjaT&M:ۢONhˣxdn$KKe/r7UQ` ߦ3ϭD]qӖ1{Mx)WJ0Pb̥rڽ2jژpy%xYeo5o^ެY//{c-ړO_aɒOKE=Ǫ<24) V68LQ2]4Fpݦqnu8I/23ǜN뫫_NJ'/f>{@/^]52"W ˉ\ <bռ1y5`R`Xp5o޼]ͤ \,5q;JA%C$r^5L%,Y#MKJڽ(c!b#*&Y]]=ڧ\z+@FH88VW%ZIJs:Ut8JTNKX&Q]ͻ?X蜎Uͼjg&s %QQUQhY@V(%w A! bQ%Kz>MH[eAB~k80 vy<%bA+E|0@! T}}=}`yO5|:ռ+lﴘrqa@#@Z29ħ X(r0[S#4XYdzUe~m K|Xڬ: %M6/%e-'`@ 5}w_qÜ)\pGۺ4_i9X(mx~HS#7kF8#|+7.`LD4VO9EY1d-~r/;T6[Vvprь@V(T`5}SV%F=l:өP͇m3!ZRzE @0r FFNEche!#wGٻet@%s&ZJ.= L ~}q9K4H\ Bn"g͟/6G͑iʥ20S`^rZSB!RlXS[ 91\BaWV tc16j(0%1\E_i2sZN`EJ/jxn%͏F6^b'H,HqwMm2wޥ F ?bNV&Bĵ1ŁNjWNjwT4UhDX-WdI3ae-Z"chF-g֕eN -RYj%c/BiMfwE402 B/WviNaɒOZ-V}?Ԥl".C*-QpI՗ AS5.H Ob&{.'4OΎX̨XrALwU w>EqI.`J khTYΝx &M<#?iӦ L)7_;vlɣ `Fu+$4555~t~[vl^b @p%yxeM$oH9/#8[x̺%LH*$AlFs!nx#<~<8acېn ˻BXPj09A55:G/{1'4 e/Cv$5۽j=v0A&^ i7m(vm$:K(*</zc*sEJeN&*WoBz+P_A}ŻŎ]oh;as$jX50N ;_Ta^cWӪھ= G$ִg%VjItKZX!*A&EX0Irx?}ıV~aR̉^tVя 03w,y(P勢4 ] )VtG.`RC@W{g@5xl}#x>9/Ok=w+EGM&6n|Q߯[=w̆C^jC ֊co{R,zhH/_lb@ʮqC ̂hL"&NG> ta˲99Ӽy;|(N0Y!`SԶ*F>7 ƚĠ>j_:֎r uXcjb9(BV>zNPWy\"s9D@/k새WN5^QaݫL{ap5GMYvfCJ RV{ݯ]*r8 =s8hF([a.!ޘ;1ίw3y!f'2J*V& íIS% ;/ `Ž7 o#BR h+G+jA!U%BAoZy(5؊ *^т^-bn^ /#={ٳgs1&{f~̞ff 5^}M%O5 {0EN$h,fֻ:ȟ""3BXOELHԚ20Sv)_ Ehݫ_6%NBעJ$P?"#uJ[XbC, sJ[g!˵n$I֘(R0wa֍df7)jZ캜q2)kM5"\ L5yOIh1j2LsyݚtSD(]7٘($rvH=0ciN j;]}D"캃*P@UO'>FM29QOh!^=uΪ( zd]f<4evvUŧ,fW7ktb`;*N7BrYq2imt^$eƐNjO52W /2fá1`L>7ztG Qwfǚl5n[02$n3>i$Èf%rWsȦkZ2z*JٕTFi_}֏ųTjT H`Ufj,4:CD #/SC繟RjdbQ#vLalr(>ls3n-6fU[lZUK8ޜ7 GmKj;پʧX ܅f9bP34`GǂXB? x}3f!hS7,Ȓvd$뚙x,l9Y)ȋcRݥ+'zhes6dSKW=rrzez S[|>桓u 5/hoxݴƝcNC 5GxD._^skjRK\K*5'j!4UU]`xNv]:z2ͮk%H!`=\KJJf͚3h߷o_bL%I$֨%CuT CHc(YLbV ) w tN`0m1(cb&u&J?:gnS4dZX@&m r$snQ]l  >F9 ' *E/yDW•A   "',i,*4a2 Tڲx_$xB@WT'!@@ZJO+ȜMj)1h<P\<UC1F %xćl    `er3w @@@@ f0bF    lx.59R    ^xax@JhT   00@@@@seܹs G5ujC-h/g744D[YY   B#[C~9٧޲x4%`̆hFIIɬYV\ԩS<@߾}]6  /tN VË$Μ9 /T)I",W     0ËLflu. җ_~iH!@   2ԢFr+GA N /@Q֭ӊzj8@PSK1`xg ٳLK. .ӟ$zA zu;*L4&id:hoFΝkjj̙&OuGOؼiD,0qER_syjժ}Wٽ{7Z'G-g,۷o/E)Y]6rzuJbXh;͛7 35Kyyygu0ZhQTTԠV@ѻW MT6 /9?Y_׍/rR8 cǎmٲe̘1X* b%`mx* A , /EfN$Q_T A @έ 6P[oDh :C^dcM;ܻS@jKoѣG}jbZTS̹Eo] @(((0u;u!@ p4D? @7 ʃ? |VUl'I"Ap:IjUcNNϟ?_[ǨQh;jÊ-"뾩T7a:t':TD.)]N0i%iKTuY͊Rill\|% /{|H ڪF>ۨM>lT}S zK?@Z^83%èKJEJFA@@HWj,d[<7P)dË\no&èKJ 3w†j@ vx %@@Ldeelْ~zAhɋJ!% HwnE~# .).bImկ_?bCHreq}њCt ] -kjj͛m{ii)maC V3dSIlmM >:F:1M~Q^v ٝ:DnJ޽{ymڴyWC7P/붐G,Jc)ԫp*[aBʭҪ2E!L"E\df;wz!^'= M6ғ[̫޻7:*>h5b A1e`x1ɨlPᔷW0Hܾ_K=\eb~ġZ]9x:|?"KT3ËW0( ,5#5k?M}fa{Eٹtk~],&}g., cko~bui^AφV#jx[˅SU/kVR^jm>~L6ER[߾pcm+jVW^nnܳ:CU+V;-+K}Rq/׫XF@ H 8ۙ3SX?|ex[~N׿օ2O;kSҙ'.n)閩 9q'Ւ\&t7 tqQ.EJ{oݺU{c=;%T 0su {b>Y.-~a"ۍp/]Nw)H^{jcx}f6I U/>nBwOIDATkwD 6W'^x[S.]n74Ɯe T:7}Sc)\}'\]F&5}"NXwc'y]+y8p684m(`aBs {TϮjo1חz8DKax]M~e|*Dq3{+IYI2/y sGhqғ|^r×I[ \z*ɖ2äi5bT{ݺV̊Nme u231Uѽ&QDfQod|U:wլO@[Wne c!uE_[ޚ2Oe .{R%f~>&dxDxWR}kvHeY\eRqURA[2XzElompRI>uS_RWme2g2?qe g^JnCVP\YqqkŤ+4%?q˷H‘kF@2MmW6za}@vf=XTWZ@ݒ%P=webom1^!l +U %E9̞vZ]]VUM W{UquUJ//jd.0(L^sb~i".oosœaT?͵i g ͕+ˤe~QEM/FM։e|x&C\.גݪ/ wNQB}bI {.~D d֋$WRy7{v9_7&HU%Ὢ! (/at))Cptۑџ R#>ZH^D!j [鎶 P 35I:E6bQzzvnޚr"c\FJUn9PUY9hr ;L@$7BS|f \"=2[b#T?^{+Ŋ멷fU(_nBLGuϏTۋagK땹jeCkabD6[yw>ಷI@F_4p_8~ ~3 ƛXW-LB%%rRddr1jOᕙIW&-P\?+9uE['X-\q%=_m[>/^SN0O ~T~o{] fՉD^*wq\˽T#fVvw_[qf3:GdQū8>2⡓JA #B; Yt<ɜ^#}[2}aMx(:Z-v8?c]ج"c Kq^1*}%Sԝv0Χ,ʎ9( [%]N1@@ :v{7 9@P<>.Ksrrw@3IfF}V.vaF{}39Y`,ŏ$(02DEjttDA9A@@@lɡ$ϟykfԩ⬷s`?2@ a;Tv$USS3F7[,fӚF]R]N0iG ^." 5zUz ={E@v`١z`w)ѣ /BT 86/flaA@@|M@6tK^4Z{(   ")LfrsLޮf>W@L:/eIt蜝]s烳fɇ@FMW57u=P@@ (;/Ҿ}=~>3uaZMWM3izg׍7XQQkJу6@Loxz hhhoexuigM}'<^_ˊ[^ªFO{ƒN҃"įjtQy0Xp=Y\Ea]|s7@@@ }zf{1H{:n >}Z    |; ffqǗ?$ hɦ.œ|TGPW0"vt&D!"k+,̯4D&5nxٕ )/lE ^=@)J.*"/2TEL/2(YKJ_8 |>BWnxRN͚&Dd7~Ok^kS\gc"j;*&   KE-(= /[;]99rݸet$z?њqvj^@mº>Y'o|!U.UC%ɬ8:UW)]*$@muu`HB@@cܹ%e0'~N/MܽJhӓ" RWB-f>O5VdlVCM:blگUdS$o7]jWT]*28$oNF%3$եxBq{K"HHUsve0i_Xeq#V+VP]Z6z¨:x$M}EgvJGGQJ5E0=FױOpsCU/ڷ07Q,jxYBt$L5 FcxWynW>IMrgt5v L]sk(iua"x\ qk юro -*W5O̮pUׯ]_9L/|zˢ -YUVfօSƮaQZ4-˸%f]1'D|.bl>J'~6%qHPq>!̍UR rUp+T3F薶}·IM⋽fyl.4Io*>%K cTxVHc ^!;QZ SWv(*E "LhPH ;Ml[Xj26R%ϝdfg G5dbunR3/4l4 Q_u*|Fyҋ҉ ( iQ L Alƈ\b)kJW UBDuzZg\^/ ͽ/Te`BxݵlfRi86.:(fNé" O>)D |F1@T5îi[eYğdrPH!<^AShJ@7;gرc>:xxs4IIU^]xp䤻s=efƔF@2 mO/;"/t2K8q,Z:w8(cf0] QiH@rnl!84@@R@֧r64ۨN8&E!T   qX?^¡_&4~fU\uBEԪgv=Nd(('aJV H$m a2lWep$:UW)*(ﳎ_^7n0~Av= if g s+ue5c˥ʺmFUl$e0nO,Wv@yG6\K!NzxA~$ `wa?l4n!SԺьˤSrCj $᧢d%MbӸœʟ<̭܇$o/+^Z![]fk&z)+h <^.^   ?0*$nd2|?%I}z~:a7m㾱:Hk 3@̤ɖ"[)dvVdPdyp-&a MѦGJjٲ%LdNjUJV5&PW`EXR ]kz*v$-gI.^ ƏIOTp!)fEa)sWaeÖ)Z+iV-:_~3Wغ]JJ(@  ݮBi陯&hrJXfd)-Zl2-ﳆ KTKh33U-8.+.IX]{nӦUW]Hۋ<^լ5\X}W?M)E(V{hXD͆]NAmLӻDhTjwhfI@ ܡ#jK7ZZf!cˆ%azk)M4f=ݜ^^cR"Ëyfλo߻$)]r}%7կ9?e4kT'M b)k+LL-I1'S[htQڧ&wKu ֳo![@O]7aUZX"6f `"IcYb}#~5rpv#QI6bhȢ>dC n/B|Ҏ CqN'qZ e; X䯟3iݳQ]0o,òQEߛ,|o)E_}BHOMcIࢻW]|}+׿R,]tMT~DrE^W5T@@8le_z pߦL3ia{J.IoLiE4RM4Rb~ {뵾5aOmdxqWbί%fu=.UrhL_.{J/v5lJ+5奾%<\b1LRfu*ި_8^=^A+P$ t|6~I/-8<-ѳ{D~C ԫRS+ #) kU,b_~EYXE x큩(oDǎx*a*0l/eeL ᅫ5l7VD)])W;AZ^;VwT. `ʉNmGk+/R0E,>cl_$ނ#ѹs皚s%K5ڊjC͑g744DhqW=ۘ Nd#.\60bgznv.Ov5~ɓ]Al1O7c> =z߿EZn8)>̾K4,Jǎk?toYȕuٴ7z-+w{/"N$ª52]AT6?R /襙ltvkswK؝w)JIalc&Dr{i=>Coi7?׍f4&l ?fA JUEębkF&9P+|!t֞d e>'tZ To|jʣWk@caUixvCrnGb+iŒ+,P*aҔM5J L*]&-j4q1@u%3>1 ^_d\> X -uF;c1kz*v$-g:nNI^ ksL"9(k5Y}_6h15K  $6y4WjT'I+J Ң5^˖%gkl/)%6f>G64I&(wibB^pvh y;SYBA{G[bQ rB)@ ^@_KJ}#[8n4#Ng_9E-'_P}|L8]qLv\ Q)H@j̤%d-F@@R@mjɓvIRph^@{=%@$ 54icz3eGddج",3L%`0hKTu(CuI`wam+GGv}`x4$ehhu)|So_)4ZnڀB%x/oA3E%gS/&[D(\W]3RE [b-Obrq̓f>y,vl w@ ke;(6 j$8o͏ӱ/:g*bE&;dwmb,(?~Th x,,m1PFff1/<(`x',$@vvqI2[jٲEvmN;Cӳ;̮]?ީc'ou% bS7vijMC5}|9u,sނLI>qjw'KNX՘c"/tv ݻwgs+_ϯ~aի뵯7mڰM[^߼-tEMD 1N^ΚD>.^EًĦ 2m}Rg&ubU \qB`cBa}B(8sxuxÍ7B?ӟ^z^Gڡˤ>,ĔRيAMW1IתW #A.6| *ϕtAfxi7uJ_/x oUTu(7uI`wa2g%jFP<3ூDYRYH{Ԓc]Ev"]|ɩ7oPT,fk+** A#=nhh|w# W>>#I.պEGoѢEV(BE[O a566.Yr҄H:vXgd{snvquz;pm8rKv;U,))5kʕ+gΜٷo_IzO@@@W`OD^!K'[Sy&j<="Qv0!* 㕆&$@XW./x u@.أ30mBF`tsR'uD%@FJ-ÓBF TV5|_  -2 }wW9rMc&Lxb~ uպ:{۶mdu]2ꫯvԨkF]_l @@!tbx57euhKT-20ҕ"HdxQj߾=mکS'EoX;D@n'W  5ws D}q*1^Ly8w!r@VB#4$ijp}h1  $NuqtV؝q3,Œ%05(O?>^t;iro?r@k̬wq*mFNNλ;cLu@p ӧO6o8!EFJ.B5q4HHH]@CGoݺ+'M(,K~9٧޲x} 3g+8+M:pLct(+axeggZ{hx͘1C x E@@@aax9vzˋL3 mӮ-w~T#^Ex0EH$FH* j|F_D   )L tdh$vHF@@@K +=A@@R@Tcʷ $`6 ]I T    B1^0R:`;׿;PE_6Ii79%H mwYgY Plj;zرf2S2צu.)2k$>}ŁGإ$C7S}gi+vnTx; %l/^>[dIm38Ù(W_=Gvm9ࣂں:\>38f-)ѣ;6ǁEg5n۪kNM놃n7j-aJy̙3eʔN:566z^+hӦ́,X0m4C5J`(8*momܴ_E dV熆[QoUª E_rĉΝ;E=A0d}Eжk6ͭ.Imj-a9  wc/(vkC:ȁH%`=&(8@C𚀋 \?>TL//̘E-.3sQs (yCYg1jE.ZJxIv*reË4_|9P7El6%QIT   Aȑ#Ͽk\oΡCH>TVV?ZoxQMl3|m~7xkp!,hLB v_Gk{qX[7DJQۘR>N h'Bw׷~?{C=t9JhQFIir^xZkYNExbx=W;[w~{*kݪET]7;5moE^v}Oao֮f"R ƒ=l䢁E; y6g=ݼ=vbܫ$!P'$>Td%iFT5ƫ; *(w,{֦e۾_9A i~Ǐ_bE߾}}Q2HׁnEE zwuzÇZ3^^BV-[_-ҺŒڹ5_Յtڮ5IYݴ{{9cUT!+鼋Acon+'9~- ͹jɇ8门δnpU)wzwTѤ]MӄAҖų A YK/Rsss{IS.^nk&R -oܪZY'-[6[iݪUYYY[PkcyiTzÄ\5C$j-vu/sDScwWfT6EmTJM^^6Ҙ֏򑯞δ ձiN;8]F+<,_ٗHwSZ%bu}Gs:z$4W߿mPt%gA]ݵ3DɄ07l׿}&MԽ{7x袋T#0~4hO5fdfhժU6jM..Z$C-- TIs'Ydf/l/lzO?'3cviӪim];䳃{g_ffK[dedff9z%@0Bsͻ:nܴiw\HeY^{ =cMS6ir7uE%w)ׇ.|MD6@y7 $*̛*bq"᠄z\V:fBKx'&P9$ )ȯ--"Of•YȻn۶mÆ vվ}?C֘3{HWѣG?Ot{n㕙ق,YRID꺯V Cޮ;*S4WWQ$LloHzmbO.%SZU@,δ.9٭[o8titG'}SX/9֣Z+ddTUj`(ᬡt^펹IIn%Igٵ{]9D6cKd?x,*^c]uNzM,`mPGh֦cGD;hw+Dӈѹs:{.g,M]2JE d{gr݀pP\3_U$=}}Ȏu̼N6|i-MQbB1>Se3_J_ʮ0!'P/6qi}G^͛7Ϝ9S1I.2"?Ֆ }*Bt=C+E*.=rw' ?oEaY]e .7Pr`VH]ϙwNjr>U3vzPo}V G)ԋ{QVʚ4-$~\_#坧D&9hھ.f]aM6J&Y*]7p,Cy%[ ok'TF~3V\1u誴C˵<ӅΞzhc(g)d©֗F6pT*pMyJ[ڛYV\yM7t0fC/2Z&~ߒ駟~guFrZhѠAWdG]rfV[drы$b[ҡ7x8sŲ{Ռdt O=⦏u m渓2FNgaz۵qq֯܉eF)]lD#뤚9_祋 q#ztu/j?PG_KkTt04ދ2 ZzM+{/HmBsI<(Uu|ut˻X;ƼKBɨޱ1/ KC/{s/2b#`O,[lҥ7|sΝU]vYMW?uTwdu-\>2V[ܞxEkUcK0 ~fwş[-=dZUi(rΆX](bŢ!vcw]~ZVgu+.SQvYPK%exmh*'+Xvp${{獑BZ1qd=?nDM.VWIlEI!ji kiZyCTI?Q[ࡒ 4Wk%(+@v*{~Rf*jR~C9&hSqOg&q~9LV|d?`3F2V(߿=VHxbI41n|&eSn%(!K]"OF]VYDؗ"\E ͖7ʾ2dWKT @OÉ"i'My=E}-K6v$|]t~0K[NEd*:N)\>#&\i643o8ݏ|O=eeOK?裄OV]7j+ѣͮl#^ƆW޽ N?t/Qeğڟ9=M+p6<ݢ.JSfD@*$q6Kz lpp8( +/ӽJ UЍs0Y<~V+`q =n?7k o:%СCuuu? ~jjjx9~Fevw%I V;֘X>OgXB|߾D͞|fMQ\Q{BœZ!~tbfySf끡"oIUVHv.)s2}S~.8g@zaH.hnn:T?JS.Nɑwzi{~s>Nbw\e' ;Q7]W渊kժՔ)S UXXHhZ+ǦβG~G~>t6pqAVQ9oݢ2c8 Y6];jb:Vm}D2ݶ vDS*|fq䧍}m/dZԮ~Ipx63u/g-[)?0N"??#?C*O?4…  Id=t_①=̦zlmd(zEZWǞ``fY[uQ?Xb pkZX#㵶cRd,Fp]gTG\O6Q [R14tyb]9SH,~P}t\Vs,GIKIվ@:j3#,>n_HCJDO5EO6ݶ%ۣ} bhvO4-tqwz??x'?O~ӟB?~viE WsgG+RŤ˯lK6/$}+_gԯ>3O~O>M}G}~\r}>{\s}w{nY-[k7~zfRV@X\ֆ&dݤw8/E/[wN74[^}-k[If2p6;uOdu5|# ;7߶~L7rBo/қ| /5Ψ]@ۤw~λ,it$N)._í",Ve#bh7bb믿(%x*.j<ŏ6~_@.x֕Oko]ٺo:[QW@8*4PB PB RhOYc,+VY7s>kώ_?onn|3;mm[ō x665K[o_R[X]XS5TPCꪹ*ڪjQ\5ULXQʠU VZrANeJ[dq9W ,jނEL e Jˠ9%ųϜ;oFѼEs),=`)3gϘ7c3&O>i괉SB9yи<19'1k4q(s܄q\ƌK&1J4*3qdFq#RbRĤ #"b#b¢c¢cШE!q1 ! 1P8" ;," # 2|hH$א;(+0\Q@W@(# W`@M|I>C, 0`?VةA} EӾW|&1t𰐁>| 74ϐA==I= x4WO`E!=zyB[U0>}Ui<c(i&ϨA^QF N>4'''77 <z[+; XQ` R4$( % 448=raSb:墂qB!!+ 2cX Xao&w_>D i_EC} aŠooC٣O?z-^=EaPF r1Ƚ⑽:Ƚ ^=xx9dЁC|8?'(/8?4< <20bxS?P\p"h;!u`.9"(bD`pp0x_ySI`? aCJRO a_>6'MҀA6MxǀPρPA{B8)N g !} G}2*|†"V!ᐯ ?14bXX$u9|x@(02JSh҈(x Dbb I$Rb)#t(~dzؐ>: &9f,#={|&d?L317{䱓V79 /7EgΟ?s ].AKe ug-zK\z֢^||c~q X|HJ;elJhN*ܻן}yZխk_Fzc7IkezۚI>fDOxQ [>ٱsͯv|ך/vrگZѺzﺯ>ۻӽ>ٻCn|=ܽkFG|[4?7߼|y~}n᱁yiI3'kj샻B doz}ꆺzW׋UQ[Tc⚚ՊUUk2ꅕ ***[T~ɢPBzs).E?ESg[NT?'ɤ19FOP "56 _cR/d(FiPLrj4#脤Dhx 'E%E'E%GƧ0FħFƧ1">%<. I3O\ hhXD_(?='ᚆ 'I`}QAA^< eg@c{rYۡ+A2^μaN) {;.܌!IBC,QMd(==jNΤ!;[v EjW}Chpw>Jp'jWHėf Ud@y%+^݂XSpA:7wNQ;g,[nwڱ>p/j'.={ fxk u_w?O?`_zHXD`D$;tDTxttDLظĤĤd%.)96Jn #A Uq'>A`w|D=݉5 nځe.Ep75ٝF5@ٝoQ;$"ٝw9ڹTv'p=,6]dwD{iH;Of[w^ݯ?x9P5v7/?s܍/ߘ;J"f)N2w;W/a +^-{c77.{{w7ߴ}iu`rHіoYn]ٶo_ }c嗊V}cW;W}>ݹꓝ>ޱ߱پkdD6-v܊<=l1Ȳs)N+:ywr|vIC]SCM PKT/Y55mjFRASe]*k Owյp_V^D4 |]tK/C3 ⑆:{Yϙ2k6\N-MRQ|bZ mU.9;C_ 4ż;O;v݃zvQ*[yw5<;ma;ϻ ZҝF5N޷wkvגJ]̻nɸ]XHR$mE[hg|iS o={%wV-yiՒW-fɫkfkMmzgm> 5~&E>d@ } Ml\}igB_lY/4j|kg[Z>ɖ>ؼLw]%>prThHwdaIM t웷mP;v@')N^SX[P[ Ro[XвqҦK,]y˛WhQEOW,_ܨ%˗[i2M-[45,mVf%K5A%PMfAkj9ӗ@_Z^禚’R(?{BsH3π`ez/|bJ|:#E$m{Bؤb?"@Q |:'O=9ۤvw-vm]v#$ Bp\;d dܣ jst;|2,# Nv \9I ;BV?s)DE;eRR;O&v;sh!;h6X''u&uR@ `$# ڎOJNLIGL=:CQ1, QsZF&o %B 7"|䙡;T9spDCj?b mml'c*d2Xh2b]Џ3~ڭ8>r*Ӆ[ w& 1$ݑwj 0DΙ(b]QٝSOCaFew߹ӫoW^}\O8 ; :~괢ӧO>uYMΜ=ui.jg.\x3ga֙ G|lXt4pA o(byvl~~i;-/TR}wYkLo.~cY˪YV޲U}_Vhy{zhe+k>]Uյgkj?uT]ֿk_V]]ӂ ~xܽza|JH]˸kBvE:zcm ͍-KW4Z޲j5V[rU֮Znk6n`5x _/ZnkjZfAW1h5\-V+ZE+V2 -_de9BZBtiMj=W7Ts%啥_x^l6iSFNp?6 SDd?g93gO>3~=?Gz ސ(s=iIyc&3M"sHʜ1~2>>i4j؉\#sFe3J5JhH{H$aP6$ef*1c S^` {ֻUBgOr:ݼ{ԌpRFQ x^A= 'jk{0r퐆충=;D&N^\BQCGMj=X .;5 ؅|gշk:vhj6;KZ!CULc֚P]$ُ^pn|½|3;FMƚ]tk>NicwQ,϶{{ԽxDuNaC} փY6rQYcnj e7vx({8EcǍ!ʆ1AH9{i}#v=rX(PwDbg-vSpdP댻Q  !;V7[|2ʘd|k vFqلI̵;w' ϻ  ~w,NXHKڤZ#t]ͻzf{w7ݙgs}q?tx!9 =tis;9vq.p?s=Vp)Sa .lQȌVlQ1WX hIOܨ[ptӫ ^_z7ު/{ҷ--o55M)go7A4a]|yƬ~"ӖE,e-?hYnK9vK-l)^j.aj[P˯md$WW+H^TWd/[dEseVXfժukVoXvӆu7߲i-nݼmۖ۷۷a-mڶm֭6lb-~fM6mZq56ڸf6pZOZvʵk._"_Ij^Io\ ~`&雪)UOG0͂ yo//^!mOca)s_f9Ϛ;f\h2N]8*9kʌY!gMced+'πigsft0wIf3͂&N%d5ath|ϛ6.o*c'QPnXUٹɪrdەz7twc&܍h%YQ-#H-%fxO2rp6)mlNj6`JHE#"|B"=" ;cn {aL`sjא]]!;%ˮ#[ -Pi(*ʩݚ݁\B;7t4&U.)&5l5 n m]4aܶކY' +*8 ]ۈغ&J Oi7e'Reljf `w?Mt)U*M}"2:z\l\|\|B|bbbRrRJ #Ggd0^B1@&0L [KCǎ'ď#+?:==.,a{T ~w!, ,NeBB]?8UhC{d83 Ω)Pm@ߊk?ءv>>;b QFU2\4VU|OogF pW0g1Jާ77wmڶ}3[vIڹ ڶ ڽkОN]{ڻ_}ܿ{xvI(g=#[(SjS\\SbǏ^*̂9W/ss;h fh+f]4E~I*r_.&.{o,ٔ_`ճ?냚kaz荚k^)zfK5s_wyoٝ8daҨKFuԮܭ|2ȩ+$Ki-V/_vժknZ~M6oڶu[wؾg={vݳ{^Q;={v `.h֝Hڱs yG7`ڰe۴eW[Lvk^ˁ~),UزR-09ÊSӨaAxQ$dc=8El,E%Ld{8sfϛa, +~55 IZ@JJf+>dzW1״9F̙5e\YES Y4EU"Ag`Š-ĭ})4MYh^l&^fg!m.ڭpySq+ >exb̨Qp$#"A}bv68[eQ;!{(Kq$S >cFjWJ0dGt;w'73jgwN^+noe]Hۧv;%elൈw[aZVAu2"e+X%DX)?<$uSm~ C-_ȕ£L.yI2*ă!J3F'LSZLAYBcLa[zo d=<:&:&6&6. ^OMň=3s ;nX|zDuĖ&Nˤؕiwۨ69(7*>}¼M\b?@][}ۿs>A{wI]n⸿i;C ܯXqӚVoȀ~kEIzr\ȾY7|Obp>uU ں elbl+I{5K𱳪(y%JcyuI9ֱxq|EV_X1iAesCLXUH]O9% I4d})5&:pERXB͟j;;.^iESf͝;lTMywm}xаh჆Esd7jv^Sj;8;˲s1ku%Ѯ˵ T-ved*wC4Upۡvdn}2*/nڵ&yt;;zWAG<~3 :NBERH#CX(4FRF)327TxQ0|2t9W[E4iPM:"0_?oU@s<% dŠאT6ҍ 0cl!!Ȭmm0Q %$$ `p=-MɰJWveFҜ' s\k`+^DGCp y?*w%D;ErÌ2JdšZRikh62վywkdרN9+zΊ5ܛqn98ke ke1P;[Kw 8WK͈m3᪬F$ v7ݵ"3c?wv>}06\k֮bUkd'H4SM[ Ul=%,ig\7aW_pmvh_r!6䕣@ .<;|ߞBqKw_e1aݢ) ݐ_©.wM^4ES\<5hѴpڝn/vlse3n͸V6=9:U2ٿ*}1tzB [6nھeHڿwCG~Ǟ>yة:'tp )*rV=u :4Xȳj]8H?;kܳX?"(s~o<=Yӯ\<ڵ+_8pȞ^VKj ҩWjh%t*+۩oPUYkRXQX^KZ\#aQ iauzx@u`'O>u왓`2iM'`xS8)3a\S͠r| !qpR(dY@rt>Cy2l Gzw< ~drh(w,[O(|%גe˹gzj9ܖaAkiKe\uKTi\Hj\aiӪlXbIH|v?OѺ-K+mSnlMOExy]㢚*bg/Q . f0\!c19ƌHJM0$,p1!{SIv_Iu^ڹIn_Iv}킝ͨ ,N=t9 RjZ2,Hu`2:z2 u:'v䋡w 3w M]H8;H#;7 TMIŻ|*1R[ƺ'C#gNY[AucU&BBk9<؝feXԻwW񝳻h#V"5wi̻ &fxqw01S17խW .i(P-UN 1=a=gzY>ltXm6`قꐰi !>VRo˸03O|Oс/wvvt~vy -̽R{0I&ݙ;Ź^;WNkyy7>y/K&Y:ҼwvYVY/ByT:v[S+zxWwK>6scQ\nL*L!7+LBa}mp޷g,-Gzǐ\~3ul?wu R|*: ɞW)"G"qӠ'Fr>3QFbi%1On4<;a0wܼ|7:}Öm߲-#e{Y ˇÒuN!_6+F{Cy. fK !LړVp5l\.yT׼ķD$6?-=hjLf2&n-nG-.zUJMS3n6X}~2ϞP0#kqɣǤeE$ N gh&FU}PSڹ!ʬƲ\{aڅ)QD{FjgnEݒkא]]ݝ;#<|}C<(Ψ;s-4.I0ZXgcEɴ Իb%@u€a_r A x"JEyq5 QHȤ-Hy:*!Rmrj 0y n GJ ' Mɼ4Kj'KOH(k mi"a!aV &tͳ: 0MH4fg* vSp}C>W^̰lj&TyMFFbvU* !8wHM:/qꜩʄH n=}3j* a!;vܙOU}n'p]qgE!f6cd'Sd6yE*RUU ibS5R3m`b=jǨPԺ5{4hN!a,428:>TQI榜WJ 1=iEIˑڵBy_^ `ۀ1?0=2*7l-u#'GL<tjigϧ]̨® 9*9{ nTxuFԵw2#^bVY+O_;c"o9&zV䵬gF\q~􈳙ѧ3OfFψ1rUw{:㒅?:lE٢vJoDνطAc'=x'Ϟ~ºG܂kp^Ϫ`== Թs΢D(*2`72y5zN4Jӷ>p;'xF0P5;t#n~%:v߽w<*SaC!aE#cX8/BЈ QhVd=6.Z86<Ȭ+6VIuEI+v%nwݎhmwv'; `U& 3J=9tWB($+C%zX}TV򰤻YAKM^Uadtn$"F*'vc(PeKfòͿka>bw׆]I]IwLv7˻Tg3{Bp lMJJNJbRbmJIì iĴ=31WLZfih$ʌ e1v~d?ah51Hrs_ N [SS&nv.i\n|/eY:={lիv;nGgQȾ+؝6YY]Z~3\4W3ʫATǯW 3gu $+KPf%+qʵ+ײ5KO^dS 3r,Oį8[kUcuB)%W*!>ίU*VwH|3ҍ|uSoi{6&>nڸrhN ɲgTwςE8 6q_!t{N#nFOW2AHLfN^JքQÓ3Bb"⽂$j >8@vVj'`!@zdWUdgh&T]GSj88zAT;C"p 1PQ|IL8"R`pf^FuYOIE6:0:{L&88V8")9 [qabUɕl, 'MOOixF 4<M@9*$%GVLOXp<2?pV^=>6!`SGu (N=0*[܀jvN }2S;%kGr̨ _04$Mc|/MIK &XǾa'Sݕt;QD&q/$nC+n]U4[;dNM>pрF-vwgcE{4PgKQן{=[VB)!?Er4SrtbJ,*CS񣸒0)/8~TF cj',<4 \c3AV7 SFF&\]>fDe|3OMc ДHz^i_; ?=O|/y/Ny/x]DĖب_{79LÞ:g=qy=qO}o>cOC{G9e͓[JD&/-(kiA9Dqi~ !1# k'jS;ϲ r AoXq멝;;ۣݽ*1dHpXe<~Fpwq9`& ƛ=*&G¦$RMSq4 xVb\5 2)(#WY> f䌁DFJ9q[A=sPڏySy'];=on{}Q(QRƘk?ىv)I@>vԾs=Gڗ}*v=:CKN-:B ԅ孷uluDA9uS>rgU0b tsJl)ٰ,-lr͋<¨}|2|[&as^g/ 3 ^ei<97oici|:u3`%TNn/lZRUlu, ʊ)dzKjUkW EKz5Q;g5@IS/gVahAF\NZW>Mv:kvO\t/ehNM8ѯjQv,vSs0'1Ap.Z\1mKkӥ!@Lã 5KW5ЅhXB{:@mֲwbrR}X%PIO^\jG!qӑkO31.=;"#<ƩPٙj0+*Ld=J+ucehG.$whW vq`bmwO ܇'ì2.7hԮ;[Q.׊30J:4fXmGRɔ_OaA>v xἦ8VȫX>PZZYr‹jF(H=w ̠䨁'<, P+%--95 (<ќGvz$K*G9te(.u3"kU OF˵9tF2vW28Dv㖆JCb/!lR}Vdxy|gy ey3ECe4AҔn4U[dsFd9SƝ˷Ɉ% ͫ@*9Fv[6Q5;XD#޺{jZLjڵ7cʕ=CS[[fFm&gE>؉Sk3M!M&Zq>\6 ɣn=|jS<1Ǐ!87 ,/맕qׇ=qcؓ7uU'<=ɓ~Ovį|{˷玡=-Gk߸q z4vFZzdyww#_+LEaJ;03~n]˪ua5wj3jTȾP\!~.?YY䆁Χ2{ɣyPb@| vƗ>eI%~7ɏbѭXف8:)J4~뚕X*\ͮ-:ɴž[7 p UvQEH ]>{ZSNtOk_~a(#ǕG%k,3;*;"1=(&/"3(z0 rڙڍ>8` U48TuȈΩ= Y1,ν1 3v)N!OXEVAuH=۞uav7i!;2UbbE)4ax~lՕ*3FRP-rb(>.=9 o%L?4O^y35!0=.Ay#!xZJHlTW1Z#«螚j.)#FZ]ɻ2 7?tx!OsJ *0fw̨e4*/O5 ay<,4(7<ͫ %|gS-IwqT򻫣N u1nH+Vww⾮Vs1/M뫿5U Vs"ߋyw'=upO%໩gFT׈LJJNNIÔOt\{p*ܬl MV.8d\ 4^iҰ޽F=oûn{~' }'NO\yZц^ƪO |JԍnW] v9nذG8c{z",Ԯ1#DHUnkRCM_;dl(zzvk ˲mZQ4J8I7Wf6։{i̋0,v:ּak4ͣJ RoYUKZK ˵{Vs{*N-Y/酒J`%}'j.\GpF4NU47wIbBvPYY[4S|E< ׵Db! p /\v"f;C3֨apjI3jIt?@Ua}`g= zN_ +#'%gČѨڇ*v:{=QG\G-sRGXdnE#& n)HP]˵[]I{947ӏYexƝJ쉉Dv?YeQ;,1GöúܯuBάظPekROτYs4u-JW g/aTOEo%k>|2";k7P;;weJ& 6U CA!Q24 Xϰ4A|G{/w\-:CnG=VO*|2zw&+#j:+X޵᪠v|7aZS]M'G%\q޲rMx4H僐_O E%@n͆nӐ_;*k\zx}\N˪5C;y:k$({dhLF} 8eL(`֤ fٸu?rF߾2a}ww_@}=D@SA}>bp/kDȞw)WybK7"܌+Fd9g <';C_G\qQ{%J,g܍g\B1ڿ#T%V{vQsG+]ΜpʯR]MS%J}͝ `=gW+E3pR:5d!XgU`}wy[@N^A/;ѨX9X(z d?Fb4*ɺ{S#nػw%ZIk2q~lJv{R@]aTUQ A#"$ndJ޼VW %CQ)5_ D._._Y;ܚ5'QǢ%UHzJR |᪪ڒRFVrɸ,%P0p \:j9p[ o4YuQϥl~ne1ڊb1󾯴v<͏ v/DOuGSiUrt\Isj2gi8zB1ax(>n,D'`v9+ edT١vʲr Gvv]]qȰ,A ru'LC{XMjD-gE5Ms<HOfP1#;˲٣`NNE}AcL1y 0|Nmh$N6 )퀻:Ғ5 E~X2$F|'j4GT)I{?0l ܅R->ZOD㖤; (><3 e +Iݲ"]œ$&RgE ? wcIgyPwjٝK)/xi~%SpWvKK16Knuf%j ySGԻV=bӬ 8 wJ']~񧺭Z1*idTbZTQPLrzlJF\*jHP5jt^IsGO&Ccrk78uvlqSCMț1z{0-Ƽ7c.nغs^^[bKCG 1d@^" C]51[! u5R`P;'DVOC0Kn*;n םt!;;,;&:Ր𑊋=jNXE`k5ķKJ 5׌pgw% ^x^.d$m-OXoЮ%njp_ td*+7-ɩ,s0Y;)Q4$q{ >OL|XT&UYe|,/;k򰚛ãFb& ͇Qz5 yywL1d 3Wo[Py]+N(߃NRF S.R ͞f-c ͬ2W,F%{]x{y04n ^LcUPƑ"W_hdNH4j,)}\r S2s9iY9#&3iT25a ) {ISN;}frMD63.N-̝V8yZQ46YJ fN@e 0-^TpF"zG_ol]#)tgR=IRBI }:-XZɴ3gӃ.\,mJF̀2x#+映糃neLWCc.;?:S3Ïe~hT74O?-eפv^;Q歛C;{PǙ$sΝGJ䐹2UdpIpȰѨ{22yUh__CCJ~R˷>suDcOWbRUȣS~YwfL RWT1f"և-L,aT*~hA^;$ ԝ{>nߵg9S웶I̅[kMK+Ub_gNQf+mƘN%t1ꖚy|*@W+ԉSn8y>6[G?ULieJ$y]UT*?V~$ȶJkD5&T^Yf@#Iu څ鎂:\@Lc!u@i ʉjlgcg%,v (Р_(YcRF TnkwEzûk.iꝲŚ>;Ob^OF˸;۝ϸ[[eę2e9R}QBͤ8*կg< {>U5C:nxad|'@ x)Iw?=FzB(]xkUhvF4ϻUpM7쁻:F\`!= cwu< ^#{4*DG̢=Fmc';cfgL=qJᤂIDEϘXd=!1/]%g=sYrhNqŜ9UsJJjHesA 4E;-ԭ][M>06㒏Ozz|I'rLJ87)¤q=tMT~53]Ϗ>%ƔS+njSnMK3= /HŒěH $?[|1?LsSS3]ۺ6ڛp7R;<%?$E2_lyP42*ڻ~GTju/_TruhT6δ`#zѨTՐKnu:MDuԇcps/n{hSgL~$o%ZZ5' S ^Ƙba~V OʆN\JLkyi#0odE7_Xbܻڱ\KCNҐSȮz 3q$@E2A\J uLj RL!cthI$ Jre*e&]PN&uKܲɳ`Kɳ^Ge=,oT'jϣDJfYJkk[ԧ -59tYlf|&) ll-~+S%[r1`e]n,B#|OK# WQȚҟB9Vni㲚YV)SSy,\j'ÔU\6eKkCA@Y Uy2;R=-eIKxT-l+ٳ=1#U$Y\_ZYè,`SffN=).}܈ؑ"B Au3jGij֛!9+qH,ΐQ Q8wP^ўFp ]G'~+Oi+nTW ~jsc bn# ;#˱OLm;th|5 qaXUn6#m7wVL5PivmLA] )~Jr=4Tmr[,l,/˾\e/aJBYULu6TUHc08K[Ðw a$^@y~TjGyx]ȐWޚ1E-pw@ƲNaCzpY)R}EcU c>;6*sۦ-0eθ3٤)sr L,(4(w\p&#S>))GNi²i pyf[Z0Ǧf}rZcsnK\쬫s+xޠt(=7e8?_.JPi֫^*z4%co{4qW]3<4wooP %Fv^YV^Y&;k[]W,=!6ڷl۲}'ͻwLcC9* ct\sT\8Lp6skKggO݂Q'O@ ؅ٶh-`tc+'.yO1/n IGn\:1M \BUaLh`z^2-4Ү;>hj;.:K3 *bة2Q|H^"=Sʕ8K7_D^YPEV=1,XX״8,qF O-YZ(*-]VǬ3/[_.+QIf$U 4 4Ը`j |5奔q._yiHغ?۠*K#l7;H6?B hK~i:6ok\ъf.mPR rfi|\FhOmIZow?i:6+zRJC, iau}qynn}3ϙ?i< EO31f4}Cz`VTfk}2O 60ۀ@ڵt;dAatԮ$t7b$dks)ȎW xڅ;]G'u;a !pT} ٹlTR\hs7qg>u:~<Ӆg.8{1>y{te˧?s³gϞ%]]KLuue3l;{\u}^ܹ饝_Ezy׆Wvmu{׽{Kٿ;?8C>:cO–l9> #;ټja=wĉj]ɸ먽ǝQ; sDm׶o߲c׎{w;a 5N#{s DNh$ZyMVoYNWgyJJ/̌Nsh %e.oix^BKZU5MU74:FĴZZLjRTP!@*kPdھv"VZs۽-~:<:,:$bZD ?Q."B['c 4m"nθ+Tmd {Am?.̸k*lZ`[TYW 0gRSQ?>= SF0Ј x$5L { D ܄bgWRM}211VxܝH;(P`ɻU5inHU%)3Y=6 3q 8|4lDt~S uS0Jԭ;@(nQO٭g/R/R^{Cӷgշ~aw@>~aPECH>~\g[ =nsRI)=i}ɑ-c@=zfG1sAѠ^L++9j`ϑz穀~O%y2 shGQ1/#; vh/>g.;}&Q/'.p+Ԯ;_N 3 ODO|bh&.=q?4K4#$u!WbL'o:cP1M7žc@,Nںc:[[0)޸fR_vkYAF 8Q0:Zڦk!`U50Wi*#ԚjqMN5IO۩gMS}ymS#NSSyn6*tUbM߸x"aU .>EQyLiٸN}\j ,>}n)3gl Jg)(%G{oc1I5ڟϩ˒q̩]0T$c(vI%p7q}\B]v}=n0탘,wP;^>p3pTng$xCB2cdǭ`#PaTJ4m$*pdBѧDp1edČ;v[wUw#SmS;|*s7у-|dNւ};rAYwucD:1OJM&hQɭ0Om"M;b`kt j >x#-L BI JI$_Gޝ<3ڈU-Ω]3 18ܕꮁ^W'-#U|WwY?sdWjT DRaʻpXww p^\2\W7QٝoBAסo@߂nނn?w[I<}.߳9|'i뎝TXoہ :T1)Ca}a:HJtVҗ#^ȝ/EFd QkSg4åċY@LVbE%K-.Tp1iQy%+IUեP#ݪKʹvmVԔT4ޝ1dD?? ;vӘTPQT]pjeUXר}k&j7";Fc*sp'S2{ :Bwp/ۉCjSU_&;jFO9~c|Je&c/ƚ1vo;98՚őKʴடeL58n21eby zt/Y^OYe1,M@B xMGkLƳrOtƼ3/\K)Y KCEe入EL9e ?m% ,Z\64~I޼y'͛7iX-֚\\WR2tjYeT-ZiS%kW[~h:E5[a}Al֐a#jgDWՔ,͓Z[_UX]X5-m-iYtيe+W\fuko\i-[a_;>z駏Gr t?sg &ON:}$_N8yǐP?v 7)e4gPJv|}}N βn$tNl'3aRՆpR𷬃eVq\.b Dh1,K`8|9\(r‘Fd!݄E/\[pn¢Ҳ’9%ss͚7k\yv4hs-*;hsg-9 +6,~g2/HMR_U? #;\1Ƣn =bf eohDoir&"}}AO\YdBz 5(T 5pאq1FuZԮ(z @&$c msrgBy 5v1 ΅)gw.KdrHE N_?>SX;bg,(}1* תȾn]#MxZ]ƍKMڿ/xQ;%s)юʏk4^_qisSsҖe˖X|k֮^a݆6o޼uVs=:|FZ~^i9vcp9z0}=Sv%߲}f77ClLl39Pqc&O=q AM311sBtژȤ̐ؑ#a2Ԙ~Ù!;&CȲ~LJ2L@v.3QdW]G ٭]Ev)KjW==#3 CN>H/Jyz+n>m BBމJsٿS- ;11 H7#P9 1vRYEs9nt<8dZY)b #^r@v7q}z RlScnv@ѐ YvBFح[hβ+Vّh_v7n\-[nݾ};}]{!~"ȑ#P&-_8}م Νv`m-6oYU6^UpYE񕫹ǗsȩH"IӈOa+}9 ˫1DWAŠR^̓ ,giRdgy .2RmP;^}2qw*1Y]|!UF =w6lF؝Oը4(%Tz'vZ4A( װw_ QEy=(&]Jqwn];we/@ֻi9H> ф#CwT}x~aN5yDb {rZt2Q n4:;%k\j&]ѓڑ?P0 81Jiqvsp2tW;ϸCZ]˾ڵ;Q;favBy<^dQN\hb<.S }JIڙCjCf5QB .ܛ7nԉs>vJ3;;F*VS[WUWT2~K_%W,;}k֮]~#mڴi[iٹ 8-{iٿ?]ǂvڹk[m 6"q ր/ee 8{MV&p䪛k&#UJfG~4ye 2ʜ9K# |%9J|%+ ryΔ)捝49kҤ&fǯE㡑ƌMɂ++%3+9c4;nU3F&~r`S+(&UY_FFNM2b26ڎbFc7G>J#l.vH[3{&KYϞ32+=>ōӎ#R2"BbS"0gPl0b Q\1rd]cwʲ[C}Fx"{1jgb% m|tdLo4ΑnwF3^g3*#='ڵAٰ^(Ū1vT9ɹTj%M2b`N5wOd9k>t7-ΦRvw;wAX'+k. 3" ֡||Tr3vOHQ 3Tߋ@ʸTܙOF-9qwzpSNS-Y?鑝Esٝ $> xyHSƝɜXeqǤǍ̌4z,2fB؜'BB0gr|{eܧ͛>.:PyƝ'݉gZ؝%݋!;J aFspdǣwW:Dg/D(%'͝T@'N9EEϟ< ^ j^Vsڛ떯'j_QbȾaRQ74e*W3d݃\˖%fkزnuD62͛yҝ/ ߱ԭ,DV v vЏ#FD8 Nkq|Ŋ+@%n YU__*ÆuC9+MŜ`!#g&7y`O}xYyW!ʤi@)?nrٓH hNq#dYIQ`e|G$>5 ?6Ac|2qG~79׉ _k?NneEGC#b GW(0*AC|+Yv6jvD/sZղhE/uiRPS NG$74,vHhg`"S4:j݄;I4,uPbQuԮ+PGt8J9( ܽENvne]Il4MWomMDDqTtJL;1jp=:E4>NF8PiThEqfTSmsICHm%℩Eܭ+ >-n+hkXi<;Ͼsvmwr1DS=|)0nq6_@L +)\t ݄Ł.ڌ*[&Rx]w (]dwmjU` i*%)(PMFfĥKJD}\)9Hpt;Cٓ!ݑtGƝjpW<3cUyUM=f^.ܜ"‰EEx!;[dNè=Oe+qieW6^jgvCZ]cL?ޗ_~^A~xdo`.v ٗ'ZMԎ,;%1u:ʵ󅳻 6,|q|}&N᜸cXxxxZX`r.gޕp9%s#Y>/ssL|Ăd2m|0#_(3qr\+T`\ɨ1Ҳ)e>t)G6*0~S ǎW 16'aTN՗ ' ƗStflBmZA0޵N(h ^PW`8)ȶ헝SK\6[-k[j"-!6Dz<;x*ϠH= 4,box?߰CBz{` ׹R$-BU~Q{ qnB εڅCFuh$ڹ4kh MkbԞgw%$cBCϵ33rx {LBbhՍ1%{g`0rUMDyBM!C300k}7 .t~Td S/iw>,= sg[哱3`R[FXY؝(쮂;ϸv$b|*ʺ;cdj_OvJ>];`@#{@A\9Ѭǧ_adw;OS"mmvFy-3Y8;cw*뎁(/pOHLO&?GiԞ8zlr1ic aC43'@wӤ0&ݹ[q`wT!;H3/3t)oL!!;az!y]I3# S48dTj_۠fP{ݲȵsdԾԎTpoްAF⊒kj֒K,mZڼe!K ^v /^x$5 +QcMj+^d }K976bH(.Pyt"uVws/g*6p*gO @ϥ!H<'JNޔ ahΙ4&L8ǎʆR2$Zc ?xjO6 /׃ ė&6Gig@sKu!0hC1I'B@!>3Hb f˧o?o~ iO~CLe36<4*E[WW 5cݸ@k8g1mٍ>}v>A\vZOAP!>A{yjAOdu03ko.ڕ{o_0YL2P~V> 'fR?DfmW'W>p`:uW{P{@8dj{{yda̲o:֢;s=٥v u><ڕP=&66&1 6j6 ncvW-;ơ:S uJ+t;1'74iQ'W5a"J` WA4~xX5/Zbz7Ecp7䏭@j'Sܝh$[c|dL5-#5˃fڵ0Ìt‘ɬ2 ;Kun.{Q>dt;ϸspBf-8cw~[m?eߕfѯy6-vJ467njUG+T JۓĔi#RFF1jr cGK2&'5{bZr!Yҝݒte2:pWܹT̔#}iJ )͡GFf)SN cRS;&ޠRʆUȵ3dNpW?_}YO^Kވu#Rׯ_饗^~RW^y宰ʖ\/w_}U;9ze-/ /ܹs;ߺ}yT߸qu5Lp& z+W/_rYҥg3Ѕ˗K Μ0LΞYϜ=q3=1:si6'멧O@'X8raʦbGil'6i/~uJЕٝIXTh'Aw峴[hg=\C;j:cNjm 1O;=9uoѴs7g%l-; :eǁ;nqwƵtXӎGk#ܭhбݻm:}L'>Z{N{|߾cO;aeuŸ ;h?1H.`.9>z1-vT{Ϣpy̭Yc|ֺNASi_ ]_:(xb ;yUܔL`>} :t9'~N<3бSg>{̹gΓΞ?y)ty \|H:wg \xt٫Х+׸._k7~ ^~뗯_tEҵW]z=jcY~:ןqWysR_`F|7$Nka"&/q w~WK mt*OO[<Evw8hЀد> GWo6.Mdz EݟL'm0&nĞxWǻkxNx[j<_tmQ?7^S}>iS?>?ҶvϟO~W'z|'Oĺ{xpz߳OdOjk"~>N}7Ѭ!={9!eu~tI ԫW}u՟zvɓ>ѫ􋞽޳׿/=zssdݨמ=޳z>٧W} 7н@Oo5"??gPm ?؏@/]dJܟq75j믿"X'ܘOJF@F@F@F@F@F@F@F@F@F>DejA_77cH'-"_WJF@F@F@F@F@F@F@F@F@F>Do#j^˵ j簮-<7)rjGk67̩]pj*%# # # # # # # # # #p"_F";ddddddddddC_grL_ټ쪘1?g0gZIԯ_:6mnTZ=mhe6v3gi>7kYЉnuf縊]plT^=v߲g/ftxןgor؊˼ݼCY*mwtznv Z?d\XgWpQʅ%ˢ逭xZoۈ+cv.D;bv ;ֽGA)# # # # # # #e"ewKk.U ]bUchB#fHׂf\ϛ|IF@F@F@F@F@F@FG/uFUU*wȾdk?nY|^Uԧ|7P;km) >s !a#9۵lQpW|>õú޺)۹z fWa>nW&b1 _FZ6rN8WTTVVUW۠v FG'td-V{^PMC/GaN1GMhws'boy"4Ź/wWB]RZGy5aɅXe9ĉ`n~J&J ^ҩG]jGK## # # # # # #Ѕ" ^Q?ڑk.R.nޕv4 y 2222222oȵ߾9d}n4ZT:_[އvf߇/]HC![L?ܹYSXCQ?U~4?Sl!u4 y 2222222}`^}ŌYL/,%# # # # # # # # # #p"?ãu%K*,Kn57W0U4W-[V_'6_DOO)P!_~\+V@|O#\{SS_?+w@V֮ZW}W&dרr_|U~~3!yKcc#ϵ߯OիV5S2"Kj??ʵ3^]B_}eKj<;QZ5kkvEF@F@F@F@F@F@F@F@FD@ɵ]ɵ'?ȓv;*?]v9U~ndddddddddT8ZUd̩]:d;$+# # # # # # # # #6ƤB\Q+W^؝QXdStbn[+VTS{[$wOd/|kYKiY%by sd0Jo+6222222222С_z楋2574W|?ѐU~8MX^KjwC"# # # # #u#pqV^y["kj\بjɒ_OC."{}}}2+ :aq6ёxuuueuuee ꋟĊځv%npERLStJ(>o_.*.)-rٱܹs5d[*C īJ_m }E_ЈdiXӜkn c;9m`oAw]&*-^tG$*pel F !Ј6ZOKMscqUd;+ܺub^e<n0ћeQG6aN-?go&AkPKljZu}[ddddd:q3omBv(s6׮"{Ӊ~i?/^\ GQ;GZv[EͫQfzo$^bd[5>8v&&uvOPEx^~_N0- j5`='ك=͛Ђ}Ӊ~iv>L^Ȩ?C+j;v}`>;Tаl/a~r-E= jfH^0)W[% gv”䇢#D'sȵ.^dg M#{MM\0]t[mI5Qi'[Nn 8}f5ޘ݂٫SGGn+Jl9hF88+QM0*WO탈گ.Z4<.ڹ7ΗvR&3G /jO8cfw*׮ O p+AꝵwZY]pYF^}d2222L&-'ֿzPBdՈfv!*)y߿CG Ծp IڵD;v*?:̵^ ݞ PQ=IJevkU>Rw"{.8to sj7oA8j6ݑkȼͮW,# # # # # a8D73UL/"p4@Y?#E>빛W,`lAx[F^]]jdGw,Q+ZdoBRMgCY-5dKIHjou22222vQr"$3dSQQTQAԮk^UU%s{$.^roE@RB)/pPCf0Fe^XY9 s,K?1KD{˵ߗwHDF@F@F@F@F@F^D@RlE>yUUskjՕ|?J"KjwlYF@F@F@F@F@FxuSW۷UWϫ-74@?\e{edddddY$߳ʆISwܨ_WW̐*sc G.k'lTF@F@F@F@F@F~D@R<"`ڇjo/il(ml$d_TWg?RrsjuV뵻dK2222222.?+g /hl,75,)k9󥲲RR{zeoeddddl$wٷ^j"v9ۤv !ݖ}oЋ/KK pX9WTT\{4tHj:uR'&sX]kXyk y22222;; jTTtR\;u,/n3s#` p;v+r!K QU9[Cko!(}ꂀ5u7./~o/}~ultսŁw!rO΍]R;!pW:_f3溼U`O\XmJjo_smu~~{2/ڻvt9s$sG;Gv,=\|h_O?(%V{ER{h mjI"{&x0x_76R^ཉ~a~}>guA_^H|1guQ[6-# #(dw4ږGwI,udAdT%[rbe*l=4ļ-m P)YV7Gvy^]`쐭>ۦvZ㸭-\\;TWGWYFr;;@v,7nx2ɥA|*hn3K\yv^]"{ yXǏ/b+6섿u{G톜Űa#G.9=sڱoNrڬy}`$mM@{!f׮mjns@Lp%vǺ5d/---))y]εMq ѣ]Ձ.IXG!m `L 8vc\=-=\Cߋi.TYM NPu.$-0^֑X6ۺpݐ[+s1u2nwkjڙ(㮣vepRz/w6]X}mt%jw!sָA;Kdwo"pnRr]:Sa 6E_;_آTuQI~y#;ġ_F}H&; ;AWkk hW}2̩xׯ_2r%nw\͈V6 KX>ka:I ~4d\ b,h˓bB1~IO991ըBv[}^ی0SS_;ovډٵH -pR?9WlERϏavA(zgA:KԈHPsoQ 9 1C)ZRzѨo`q贱Ccq3jW B3NPZF[?PA}޼yaW(Z;0VQ>sxd.VvkϮ՗RfYC#;1zsj7GWGϵ\#seuaqoEMNpIm+ftyc-~ڋҪJomxq?5ŲVogAhBBwe Qxï$g ߡ={eغ(a} <_"ٮ^#=qy]|19@>QR=I}3^]5ƤW_ ǡayn7_ ?`JiA$W.sӍv}۸h]KW%vmݺ7Fsėŷ CQSoNҒIG{K3[#|Ft念ip *m{2G2K+ =Tۺ(mofMCٻ&ʫk^?>?àA%'pLQ]5z/&kk^XXx{q=UZ׊_F2~.|6n;_-ݼ?"s9uR%j#,.Yg?c6؍9?2] 6QS,k<+ڷ^)72|V-ތڝ| c#P3o_'[;;|dSs)]ؽ状Rg9=dFKd#`+)of@ GyĀHƏ5ٳa@s1LSR-P{43gbC'ppo Oϙ3mo~g*QnZAS40c8hiE vI^v֭8.{=7=7dmj\a'׎,ԓO?˭~le͝zlhEH j9fTMovB=gN|}ȌMdOc?{p\8 B::)KdwW#`?O?~ǎz>}?^hwc<{Kst~!n'jjj<48g++UWMB}O?jwe~@ҧV~5²bG-` \|oHVIآv[5˸:qUbئ~!j- c5u`Sn Ħl5;b`dgػ4_VX'ܺݯ: {N,V?QkۧqWΦDvoܡ+D~ĉ'O;wS˗XW_=sN! m8o/oȐ!k֬믵vψdggsӝ<{ 'kO7A3{+Wܿ\x*LƱd}k2 Fb\.98`~rr@`qԸ1nX<]ʨgU{+]ajX_5sss:Bc[Q5WPlc;q"ѮpSc}chrO:3]D_j;3EHd <*љR;(/`۷o؄tuڵ< ׀(PSR<#;vw)>ג?*Uӫ:-Vv3h; eMӣ֕?vaoT\NR{w6"Sڟho}ԦV]le wQ`>j7BXӵ#po;V~6?;B\N9ySAƼui>2;9R: /`MEId0 0/byPop++W$Cv\;npjzv#2V`TۘkɌlqv;pT6 n=}uTυt* Vݎڙ%̭8s$pH!9 \?Mb o]`i>=4ĭ%}!dbi[`˷o,76؊Vl" di߈wz衽,owXKd *pڵl:ښ]kt1]dC\KlOPF,a 4[`kfv'N %F?C[7Gp0JZb7ԉYu;GsTs$4Ŏ;hÿd;nAv{f6Zwioo$g}??^"agRR@ě[ T7hV0j=&c&/PFHjo_DGA>^)E9Iuh3cƌNtU>3ּV)~eJ& Hc#ٶs6xѸu e3qvy [zQ3h` jU6Ծ\;E;E}0l)jμڅ9{m\폍~T:ܪ>lF3\?񺅰/bw IK!zX/0!Քx8# p{e)E9矩(i5Hڟ}koݧȆuȽ;|_zAΏ1!+f]޽/H<&Wʺv_VQR{gz]m矿\Q>,ZrvܻY\ HuI۲xBӷZ_G?MFw.9u>UD=gwneqIe#2=vP1A)RrPI˵^;\{k]k ۷/<<*i޳gOTmmgY鶳^W;!{T]O|*7\CNs-u?kڥmo8Kim]?VY؝??gwm$;4g׌}j1_7|W>OXy˘~í_ 3̯Mn~+7{Q\;"-p+.xj꺲ok;f+`&Wm;uuv~ӝlVR矿T8;d\Tj.q#RHpT'v ukvHg j'UvGhuQt )`fNb.HW~_,"C/mtZ}]4coݬt炦#fj'_{|K@v\;zn-/m[m޶ gw Ǐ8TMpIڵk[ݒ}rKm7nvbڝ:㝓t'u!Ss׎ھNPK("}kG.rڐedlE@Rv!-vwvr㥘_sR7xeI?dxlMw.h͹v =V QCyG"..j:pdkPKim[fMjI22m-vﳯ]1#Nuk+.dF-ytvdv nM*?r_;U2Zv,\KmitKyr%ܳ&ݳ~Ɇed\33&T+3ޓZpv@=vQ0'v]$xmc7o?mε/+_lw_;j>bQ9Rm}msXӶ"mc}bjHS]x"p]NC;v/zjwјJD;'u݈iV7 ;9o{/=]|*?^FGFk /Q׌r/Cۜ-$a7@rY\Gٞ@@Ǡ?|%WlԋTw6 ͆vu&^3+**9wYx`\K]o]m{2Kx]9_+y2k"jיۨ_"%tkyZgqn>\%wÉ]I媯v] j/pF0jq]xѪΛ,;{EnlmܦKN:gmնXLbQR'A}8щmYo[{|X;chTz\K|;>.f6L䒳?.v毉6JK]F)>jGv{%&ٗAtΖMٶ 1S;"Zؑk@pIQz]vQݼ#|!*?7r@?ux6mQ{&lj]o+-mwċ»)Eku2`]Av\ٳ1Uځ]Z;wmP;z~ss1ՆY KF#E@R{Og# =5;Oǽ(l]3^U1LqKr9RG}unz|5 {j٠VQ-eCv^k>+Wx{{78)rrɹ3/mӬo~!UvEFEyjߜѨδ}\uFFd&O!#`+?2 Y=*?Ι3;Qkɿs7W;o[;.3j&uϼ*8C_}kv̙SN=s| x~8I=v#NS;yc>+,,sk;ks-.Wl[;.v iuIy헳&u;x??o7NQR{`VyNQ{4ء6g;"˹S] ֩67rŐV9kR+`kT>sr>^W0J={}FIw;Gv2hn̵kv{v9 K*_x!v9K?/,ޘ[n}mKs;ʫpka! k;R(WMy.ʵ!].YFF x{%&&?D86޼yuCtoCt4gp?駟j7ψ 8yFIw;GRٙ]Ek׮u,_;\b\0]B/D#ZӮ,#`^nnn!CY믿֎S@6$h_Ivp;w[E/_>}g9U^cjLMFz_;|oQ;_εuk=Ǫm߆1ӷr֤QW.#`;&SO=?:Iw|i'ko߾ sxF$w|G99E|66"RFE jv:n̯~C'v ;v\~cqu9k% Tڹ.vrGO>990 z`mtwzQ4* //?$Ԯ#t%;^-S+u3H:j/))ٽ#Rkџ:mކ1:Q>osݾu^Ze 22,P;eжʸڵ=w.0А# :lv6;W8s5sv,pLGv9R'B.8lҫW{^0:HjV|*2],ڭ9͏CNwPkv~bQ6T i1XZPa/aI|λe8]s Cd8#Fϐ<@ǎiR3bݻw>}|c*S8k9VaPƴb xyLa򗿴pVoŵvFpfw+}!aCmEnv˜aQH5m'}{<wP9PS" ڵR; 6rAZG4{qp\x[uf;x}0S}1F׎~;;al-kMawygNZgϞ wvMJV1f1afVx++,6 _yVr:_o{T@wϏګtP8 W}@Vkwiq>O!3r+Ԫ^wa=VMO9dz+@pUǙrԞFN!7`j0ۺu~qw[hGjI/V{ZY)FQ׽Əz(ƩQ@5(ԞY*$BBKvͪ;"Xӟ>kr+L&Y6jڽrшUN2gymVFLt/$2ˮ>}Yg?g?ns҉6߿ۚ5k=֎+v=%Ff[Er?Rn#pV``jWdAvj&\^W./jo|[o9c NwjHjH^j;ݱӋx`St| + dO>Vy>9G1( x`_{QcEyU?--nٷoǗg[1bZK˳j6l"Rl|S+Hnʎgkp|=\\`r,~ ';Q3gVKT~[ 1Bc㢺FV}-O:?w]PqǕ}ZV jgk{v3T@m z ).x|Ժ|8qu'Z+  )@s'SO Ȑwj/kMz.j'Z*u7~t\ŠNbңݻ<&;mڵC8^k)uN^kP;xmZYK&ie& uO1P|gjUbXo'}C~iyotK#*ZΚ>?qQFR}UzBͯ˻߽{߿Mwq٨D?/ov^kDʛF2 sGŨ?F+u;&j<*Ѳ@vс #8܁T{c"C-\C;_V( jWɩbt^']Ϩ^իȻM*K!#x~( ZK' ٫c׭UNiЉz(ZCq+ DQMeϛ7OR^xsKR|5[;pMܸ[k4Έs(CSvT{j9q"xt5K{{~bRX/Q {֭+CZP 4K%:qtG8_њ8|F[2T8K}$ cG2A'=EjRGNvDحi܈b+ ԜQ޵8d$Y׀3#f"Ր\-+  kGX݁T1^t +#Tr}|OǁrcQ;ZuN[ &%'ڧIWЋ  ވkz֒ Oܮj!h>+J^ )jl%euAzSb*gc&{54k높O]*T^d\l޽{#z.9O<k/z~.ZK5=+T}bդQ"jz4@God:N-`S]5J*.C134Rꀻ*17C}ӆ.W$j ';{1{˔Ӏ(jk}:\'' 5MԺK>K<̈R>3B}h ُEplWȿ^P 744K];'tR)"Q;MHſՄPٱ)Àg}C:]6ӺNk?7\`S{9++fV!mW9Fjv*^i1yIY\*/q -r\xV| 6OVA%=|{5f;o53WMO>Iv`ʩC!Rr\qו[K?W*Gï۷ v\ lm'^1,ɋ[<(v߳g G͞aqS(ŕ+KU6*Kx Ub [vƍSUP;fzk b8dp)+7];˦aDݛWMƧv_<@V( c9D.V?uU^9) :/ vu2/kr{wKQeï7lзoP;tĪIL3;Fh0 sEy5L5Q ȀUBXVHQOj' O=^lP}ZfBi 9AakLJ͓-dǾXu'ez4t垕{֬q YpDbi%]GYVHAjG]x=["ʞU˛ow/Z‰(￳7;6.L)7!V984,(^ G کQQeYV0@O8Op^lc~ï)(J6mrk jw%johU$j yJrt4dO\.ZjzKН|ꑶO - gj9fXpP',8~v$"ՌNȌ`Kw[]pǎX{CC"Q;ݍp˯:DLcL^ݫ_-Awrշ8-&ƩD\`X T*K @ R͛{{lTmj-_ЧXNRׯ} S@L9mkwc;pc*ӳ`bؔVERCnh[" 7ptqEYVS{MWNȎ4-Ԏ ]ﶩO}bq/[14h$=+!L' ?gR:fF[Q'Q;)3. yګ*B uyv 7mӧG٩HvL9vǪI2Fx$"_ġvZ5TFXVT=C㦫ZPj߲eʭmtnӦyC.,JlĉE|!sl*Rݦpt?)Y|>Xv.w`\P{B0<ďoU5ޅvy˫8;X*|%_;}tp~EFRSNZDsekd,#j!օaUQCZ6u#¨lk +F@oyѣ[άZf@ ޼޽`vk-_eYSNaٸg#@%("&` xQvWr{KvQf ܧϰ{Z >k,ܧϜyߌnrϞv[|fZ5I%NC(;NTrK  jVjh }e~TTNӞ; SVmh|iw1r+SI6Ϝ<}KbPvdxVz͔]2ӧNm0IŻ)cQJց[K}hMX^>Sȭ+IP)ej8u]h|<"- w*P8}IXuN5H ,v;>s֌Ϙٴe˦bR{sIUBa:@ :#o 6Z׷֊S S'ycXVT4.:^2?_T֛|Q;DA_H";DC;w\X|'ڱfX{}3fZ΅Ԟr uKLh ^,T1.ml 2@C4j- 'ُ ]WIչvYVH]n3{ArJw8^<3.0EL'x}gΚ9vԎX{1fŪIΎj1 ƃVwK>G}~{*֑fjtcW ysLKn`JnA!2Sr}NW~FCRIFk=FځdUF.fw~%?qf+P;g23۲uSR;DIfk{j7j1÷E]5R;=ܑ} ">u9S!xϫ' *sQVQLRTWƱe.n]YEr,wX0 X0jvN.]}wXp[)nQϚ3y}fͳߺmsZJ~/[W_jR 쩨ax9 PD'*2VzT@U~;VXV*LR_]WpGʗb C3K4Nt*pAu.zhi>NW^yr~}9Ξ5g֬93g͞k-p[5R@oXk . fRGMHQsrO4yf~K)\+ T&]+^ dͷXbC"@v"k?+\dP]J~ DsΞ=w۶o)pZ$ ^iʩ OU ʌAx |/b)Q;ˤ.|8vGa%cLg˱@M+`m?JPG7[]k'ȷ 2vŏV"um|?nj̒J+2>\0YӸ VnR{io>v3ٻ_,"_9ﴠQEL,D}b2GPnI*7 _`Λp Ow+ O9]q`wX甌4#/dX-}iVVr$yT\~5WsIV`ijU$`)S<<7 cq􊄑(6Y΅&53ck@{jWWnԾhk_` عRɵWM5S:]'I8I=&_u3c`aQ|xaT%YVHڣQ4:@jVsXff~ _O+?,1/u .\4=rmT߱=}_Xiʩb'_)^7%S ݭDY\6-#YVzڍN=2 v*>]V/O9Y##혢!TOԕᡫQZԎ ޡP+ USk78/8;mW=544Un-ԎÖ.[tCtCJ}}ڡiћrXF1<硊CWJ D]Ԏ1!]X"|g V`Sv7h[>Ѧ+7Oi6*j|h/{hCt]vzݪIvaC&R֩vڽWV[rUnp@44+ V=q 77xʭL',[ޗYvZ|jd֒Yriդ3Md  7BimNJ>)۝uQJ08JqorXV0S{*Hɍ$ r+Q ' R;r`_꫻ k'j絖R#2_>]%7ݼz_se%D¨Hr+ S{8 hQ#<#?򰽯L={v/ŝ ^M.dG#ypWЄOI{¨!z.qV`S{*Hɍ$@(c&* jG}G{jiB*ׁ8?;:VM| ڮn +IO8-}+O%}CQE+ TL$7*d?ɚz‰'~xcO<8?㏾kk [:I|GuUsׁZDuoz57^ZR)UxsYV`jO)vZQǟxjUN&}:{',ob)VMZg%Y#a-~Ʊg|נvSMOJ€+ (׿dN͸VG\8ڟJ~'rWo^#ԮjmG@= #<30Ur )*w|9{vQiP;{>/0+ @Tj JdEULVA+{+j'{K -74q@njv-ohv{,2qIV(*yS KU3~҉?<lU W=h%p)tT.2ګ&(cBsϛJ&^1bzb Kk$t)G+U=jg+P] j;Չ'|ʚj߿5-1eLhx>MKI2<,DtmI&u )hTGF^\݌aXV sګ>z ?[O&j? O;&>SSK^1!USK[F=Nq3b-+HED]EUgLVow##QkvNg]XV `jף@>۷y{{9ڟ%jf<3ۯMkʻG'dS;UauU>̳>w" Qu2a7[FxŜX㫅<Ԋ5L2AHԎ燈K,Ec$fX+^]ɽS_fڵkю?i+E`vk*g),t _kLe4rJzuCNH?b|a'^nN}yԍPE q+ ]ԾnjcVSU)Z2_(V }_Z/mK>:jR}U!Aϭ~}k/SH[+ZJ%2O biTw4M&kO&kJwujۣKSjn`XR^IHqlj_azB/m؈c?!_ի}^NhMd@v3+60k\|+ dij C%yrߡ"Ż-o$򣀻q󭖧rik(_+_wGք_IS`ѫk/SKi6*2k"knGErT up~+eFZ5l*F<)"[_U$FzRFm˳+S jd& 7 wLҳ]$rTZj\̱1?رC~E?ٰD1eRݲX/o>t/l%j/޿_Uk'UH/V=Bl7r ^VVXYՍf( e4%Xg Ro#Xu.C;zQ^&GgYVFJ^mjcJQ /#GWxnbOpTeu=7;}:,f׭yaݚjv唎̭&55vDLoV2ψ$2x~%3#4 -S{hUqoXc: *HH>K-ʶX~FLB.Q_=)7@߰ 6ncukׯ[իSNc"#, )#B E#ir[=Tl$:U$ ,/W @ Q;]ڥ*ߎW" IDATZRT6 Xi+H_ {}٭@7m9|Z8d֯'dn߶2vFdr4֒{ʩ9X4bdϟUf: 5ک!.>WP4 +G{%-qeVҲntj"?-'ʽn=JԎp;cdj?С^ZUS"nv{=FJH4ZWMSNI%HeB1a1R=٥1;7xW^*3$@Owt7tV0ijNz^ @`jZ bp8b-n!_n.E=Z2hYgդ0Ld, p*E-(yfFzE8vSԮCm6F{+`)[ ԩ6W8d,jҺ nXu/wX{}Sʣ„T1tѡEćn:TN&d c# UBi[1%M<4A9C" @m*^ fQS{;҆S[˾,j/hu/vn4c[rk-s!Q=ٸg#$c&f*TwUjF)`V(E HPaΩ-j  *=3o&{6n򖍛y+/ik?xP@lp_ݷgk)bҊ;n0ILH7 ^ǪI"OJןP{DF:U-B+a/r19BP(-@]ƬH1~iR [ 7\`jUvud c!& 7o&S;b[-u ?+O -Ty+VMrhUڵֲA9О7{4Yۡ7 w&%j X7L$Yx?jCRGn?D*w/H/O̠{ ;5Ň@`j7A\G P{Ͼo3?sOzUW=OsڻG~||MCԞzJH-=kǪIkf A77[[P;L RJʑ462n0 Vh*ZVzLZ&Ucwhv"W)cvjuԊ*YV@Cy{`BPju?z~r?cw~3.9kE_4aE>pnRԞ]JG'~C^GbǦM-SNVԎh-q)bȕjSX)*`cDi"&VYy&WBS9SR>xcq/XV 0 F#{B}G/+xnjyKԾk& 8i!oxVxX 77ggGs㖡겧Yphk.Jvi^+Pk 0gϛ R=rSο .+wMk' hcL31]4cʼn^HL9]vx+Ґ#nIvӯX$먓6կŅ[gp#VSYPWK--gYV 5R;./R-Z|?aλӕv/ڑC恥{_z˯j?~ o Q{R:FLUvy_<8mځ&pxJԈMV8S_D_nd䖡lfH&FarдTI[]4JԎxJչ0MR8i|(+ % R;[o~ms=0{Ԏ|K>|΅_)^v%Nj0 /]0'C&)#}2i"BA1tnƍXaMHMM2AO."NOMh"f&HI~\RG˲zAm ,4*Ȣ޲JͭW* -MVT oC4?4zP͡Q4w+VUs=ȕt/ڻ5,~9p]s ktK& 'pG8Ԟ㔎 _"9]ڥV@WZS|v*=Mvˤ8E5W d; (||LBK*ԞQ#]tړMŁqgZG.fX"*`ڡ(r衇 {A0{ޥϢVyU._ jX#^9d(~zp r ΀sìܳmpw6mf~; _;`%K<b pYUAkzDQ(lUf[W v꫐I(ɦfܹvV vxVQv4:nQ{=y(^PYX_)ډ/IfK8f*uq#ks{6:x"ej}5Yw`:Q x X5gN6A23dW ]4@Jf3r=R+Fj @0NSh5-a9a@k!@;|l+*g/8.}YrګvBAXb&=W4L61E' gOzsd@&>yψ8] }C]5h}dXLF<3q!#^l!_ {Gݵ^Kw*m+|b~tV.ȕ+- &&U쩮S S,i,,1ԭ~[h(ѶieX(.+ X{^];/˳Q3G]>{ ܗ-Nvݎ/q| +J#OSQ?8YfǸRRzRڳG hmS{"M6mZ\` @={[Uμu-QIh޳OV8*PHew~/| ~oڨ"^ [3Z'{%Y\RD#%)-vEc.3 ]Kl'xP>X TjBNJ:B푺XUuԷ.pIVȳYQ믿>o|^{)So_M7݄/c)l :s=o֯}kO5.$zw^{-c os|(Mh\n?n݊YPr۶mHo{M xqO)2[>Qwzv [*֮-}2VfJ^!wCL#"-"e{g'tF"Y<'=ŗ]> ~"gX dB;t?,^x6lx_x@ԩSoo@PbB'Փ際=Wݵkܹs[w}7Š w]0q~gMޞz)w@ӧ0}u׭_,?G)XYj'?FtKIsU ^w/ ;Yry5P8BI()`Nqz '1(s=ګsaHvG)ُFpaVșS;b} ^;PnXrb=>{G&,vb˖-z? `7_}7wȷ)G?رPf_2 7o юȣO|<2W:dؗ/kG7:(Mɪ54]>/W|B*1E}a!G\ ;vnJUR*r9Id. Ԛ)S;L7|3BQ2E[S vƍ*=t wlx~H{-/(_t(//}K'`=0q?.w|gM6͜970gyƯo@#=Y j3*=CFE>#k&2~6 !4Y[b)GaÇ*ґ_Ԛ=Gռ0jS&W"=+OҤv/K@^@':P<ډB_ÿ˿=Xag1ih|3S3ݣ~ahuP9sR;]'#OO .hn!C~k-c:xlEqCH T{+N$siZI |o!PjTQXbƪ:dxJZH~VC]C;>pXZT 5j*?0lȦd&~{L^-Q̗G EF緾-7tOљLx")_Љ6-gD fc(t$|P0$گ8vf~ q~*KPgJkꭏ([jXt*Yhj{ ZZ55{p=\^vُ.º@FZVfvD pS;±`PwR{1NȁB կ@HoJςGXC1qĹ?9~E/}ǃ~źK! \  ^0;`Ï]~]u"ˮݯ>檉-{zԎq~*U܉+EX](qMKC~i[ к] M`,\%+ )STսa)-$ IN2 9 7x#j@f@֑Fݳ=#p#-JqZЖ_vdA6q1(x * 37"#z(قql -˯~S.⚋fN8ӥXhψ ܑ?,]06w ձNo9dmHP;/!gQsJ&/`(=V)`a" y!M`(Qvk vjT={`=^x^0C <㈵ӂY^0w^r_?ʮWO8|P;{qmI!n斮_ x"d;v l[lwmJxPMjG=jDᎲ@.rQ t,1Wwa YjTzbf''sgJS{X/9K~e^pWv‰-.Suw%K)BҨ9cPk;|`XU(-K7 iïrb^T< ݳTqIvZoljIu.b>%bR}!jdV*rrOsJf6Tn`Hڃ>"#sH*3$!ӂAK EZ-D/pK*R{@=C HILOQM W=ZA8"c(^0wV`ђ1;aq}c;Iw6wrL=w )_$ \aBkdPk:kr٪)QѤ&6zL&:X(ܹ3@Xv$9M>W_}5g?"߈ pG gԨ"0ݓ3UK>S1WᩧZTAq÷.ڽ`jܥ G}L8cwsq̏6}ŢL'STJgA\8 [=-4xGPtM5)^j tO I+#u݌32:i&LQE?%1^uRԮv/&SĝvuS), k!C=ڽ`jةy9lĨ#Gc1j̶ۏ>XAc0&GN^vVǃӦYLgs/8LGdG[Z`^QfBJ ?!>¦7zL @$]$m =B1 HDNwvF]y$.\85F T!ʎ#3% xj|CJڽ`jбs 6xF 1mc>~U\igkww䅬2zRRlj*/0*Eٍ{ZpѴSoBW_}\(IP;Lx=0P;; 5Hf{fhH<-Z:Ӕ/֢d1v) BL;t5{A2hP샇 ۺmG]Aepjoǀwz~OVǖivp*eb}6 \EgsS(ekf V-Twe'SW 1wqqM@J $A~@5cjTړan?Rʞ= ^w5{VF;!_9n4vDcpb~?ڦtψڌr<*\ljݣ6 (`mQKI^By9>\+IP<U (ǃUz+zڽ`jo׾}Y} ?pA#>SnQ{rx (b]ES%Ƈe2Kͽp곸mkcP;}6p{ 1f$v8ƣ ?vQ=A^\+P $Ak֬QApeQEjO9yCJ3g57g{c ܫ)^S/ths[u#}/Ԯ0*hv=A;s'xtR;x^Ć,@6,^ǯz.\dQu)r\++ )^,F*R{=y ]{ڽpjonӯo ,a><9S,1~7$=,BϷIƽ*5cI Tkr .vxQvbxkS2+[bX[$SleQEjO9yCL;<ӢjZjX њ8Kc"#+jݝѳ¨Cr.?DAA43x4J|0>jdSp)JXVqjGJmhbXlկ<޲y'{P,= ^(ϴcI?A-9d(^vj~jeVǘY9tc@`k{7sFLásf@NQpRB)@P'3 {@|Qܝjtpf?S\+`JԎ܂n0:fjCf~ԞUs=P{amh׏L2zS;{2ӟ-*7/ S%TW UU(pa #$3UXieVw.G(g+WX1äNQS@ݏ:zevD8 \`0H˗/GoQ& 7U͡Q4w+VUUs=ȕt/gЧngQ! v~]f.zҟ)C_GwޏN) 6k/,˱sBvɣߢ՗DH?# 4=+{%XVP64l2tÏڳaλs)Q{>vsR}+iX{P;}>=''P9سd)3͝׎)8Hj~vwޓ]VsCx!㬲$b @vd@v Lw B6xzi(>0JGs]I&. Aj+#FPC=y1h: aλvOnoh#ܾeimԱc;Ø*v;h9I\-hAk`zRH21Uz[Ywl^ z҇'AK8e%Q9:tʻ_e{{k6zL9rjQnQ3zիO }ݲIW+#K]0IKL@Nr:Z_s=cŘ>~SBlHxDzfrJuO)((C3PN YhuQdEDZ`jJ\> (Q{={իW>4~W1'~1^%[9^Fx$F:~-5#*zF дp273$)wdzt׺ VLdPUTB}ӧQg}^=l>ꨣZtlfO51 LeO gqp?'Y4v_M,Ń[)(/WKrhO{)j^i*\(S{T:T uYyL;> S{'k.]tҵ i&qXBvk`S{n~o.>Q*p4?B>Q) RO!)$q\>5imwԎT9`=b16C3HwxWB`QEuF iF)`d<8ك':j((}BH1ŇT֨stǖrbJ,ˊd)}iӦg??o B,jww |vqոq2?paDZIZReNj<N\ݳmctRF/eQpU92X𚦄{EiD=%!x{|=V XԞT[oerU`X;@v:e=4BtïyPڛ;wԹ~ڭK%_w>8NWTa'v]{I܅% CF#eg'z][_,]_wo\{-(;NO83 yWlQA8]B*֚ĈVHԓm\ R{HCo^mE=_OXCD ;a ԩsGv]v}玫&L!OdusÌjs'Ř45mCלl*gJ6QЂ?y9e4{xX#.ҨS~FrGMQܝLj `qbX) b)Gbᬀ=+3CN[,:v/Eg`mM;v ;/|{Ϋ< I6G8)ctiM5;M^bNXஈλ(o!;lvR1Chr|?XfB[+(v6#fbQ?&t5r @f=C0Ѝ4joJaeϰ{~=̳nc:w.26_yOHa9U#,16m`6wLƛDCx3Ǐ~_8ޝC淭X # uGSCX,>-JO&u.e  JJLwm9y*KG1nHAԞ- ba&NP{ݣR{= P-^ ݺtֵk?ݯsdpxѢ.]>-DJ^-[X7<+Y[ړsxQ3c+!;yiG::rȬEq'JS^vaB1Cf(`28mձƩ=C bгSTjG&AGw]d~+;sϹrҤ< -jZPj{_5ѾKӔ=+W?S8PdZt#ɹeRʈ%"& \¤.CtfJ:"*++C8U1. $S{(,1؜FUu$|ڝvA'{+w"zx↮݊kOv[ɖ)HmJVZJ?{8;L22;Qʝ& CiwY*,̓X4.ԢtUL4FY# O7 T9$9aQ}?Hn9V'x].|\p>w^[wv#w*js3EiݙhAo%R|6Oji^NsoIddY= {6Vԙr"*4xFT }j_vO>ztG;{%_|'_~W睷ګ[Z9/14=FN8sa&;=ׯǻhS9:a/d13\ v(G6GyPlT ejқz׾W^yE/d@}|j߰a/Fܐ|ݺu#  Qn۶:u*jK'__̙z~;R驧B+_ʔ)Sկ">rB ^wp{I{O:q]_z%pz`j/]SK !ky!FAia`-b%IF^8I&u/{Z=]^ʔ" +kBy՚ shUi5ܬ=>H_ʰo~<pC~^k?scƌ9cğ#h׮ݵ^ b혩X;U NCB??g<ޡc3pPіC椓W./h2+.mgjOP-spڴ%T ܉Sk }cр×쎠#n'q}FEA&iE,$Wv"{]S"rt YMȼ6՘fj:D|lB%w& I?r-90??cP|7@_!Sv]Бye&6>ZׁGu_Ub_ dGgN^UYb_qe_f;V,{OϞLE {R6,ڞ+kżCuܻd&[bH;O2X;^7m֞ ^Y+D~)X2N78}M:=:RLIɵSTҤE!.|E~5׈}$N-P$ ~Pq/^G )ԧ>u39餓@w'gϫP;_;j/~0}8;w :L> [[.2'B/+e^b>{1^+Gv όi"y"u"o%XhIbP;YsF6RR(KYQ;a 13ՏowezTHS6B[n fd['&M ,Xr%.})쎐]=Ԧvzr0w\z 2{w+Ly(!cS%p2ݗ/_ާwoB) tBnL Zu㎩o>~:R4 ^TciRJYTȭ伆8yIO.w/W Fx& 7|W=_BQwCVcݏFoD*O!C v?4zڱc„}9VF K.^ ~ѦvL3lt6mI6Nv킽 K|>}0ne3QBl:Uɱvk>;Wz}gUlt[L3[Ν;uީSGPGY_z!cQ[Ԟ-(&eNlZ 8ⰶc*XzILٶ3W MucA+zb7Z~ .C<3Jte m&`s^}R 9?ܽ<(j_t)~3ad'34 >4Ju),653)蔧nn mf᩽u+bX;ٙЖgo݀COo۶u@B{wQ;W j_ѧcyI%ڇ+Wb[ڑT.r2Q;ԅg /bn/{Zs){ ZSv7R6WJ&`Fs jX9^g<< FWXeD邩NjE+QLAވRLu *}+t;sLP;2?j~Hi(ݝ oO?{mj׾cvmvoܸScD|S{Ku 2J %Xǿ!k!vSI:U3.X% NUHMOΦ0}6nzSi/387 $@~)>x6(:wywqt /-PԎǏsď;/1n)v_U6,lxRgS~=~z{k?6Jr$Sӗc߀rҀͽ imj^~x3&;β0B9@jVew 0ftbnیVXmp=@u]2#1FFi٩xr/oڱvjvvqw}buBc>_8Ԏ6aٻw/y#mqȴisw{Nm#6l<[+/gj*.X-#O=wXۅaƎ˦}x dXe#!p'(ϞI04髛HJ|-H qaVZ򗿔4!j_z5 J!8^wz/nxc?Jӟ#j&foߞxZP}ڐ2SaO"nQ]ڦ}Sڵ>-Ԏ٨kۘ~( -NzGq,'w+c'xS;"ɩ˖-!lJ*R_U'ݯ{ƍ#g?KY27U:,:Ov=Tvcp8sPQwtj뎧O΢O9dJX@S'TT\R/P*[BKNyQAW "dwL%@[{%*VSCTY bng&7LrGQ j3S:zF=,Rt;>S= $a;|HH#ѻZ#zB*zR;MSu9P6swm:~)ۜ2dj|LܑҪ=/OD7~i$TA[j3K| ȳNnuDD3.:+0܌~Z딲FYK&%p4t/v皫]$/@(SԮGF]{t&Xt+}Dw#zB*zR;Vbq%KxZh>~Zs_Ӻ?sS;=itܰ#`j{X/ܜdSQ5AJ/Cw fL>lxtW<фŕ}; HMK'qQ *Yυ 0ĉkbr@1QjFv@j'ݯ{>(KrӁ ~|u6PԎIbeY$TPS7s:NڶML9 I!pǘs d!G@- ~7ERw]8A"M6y'L_D(I2S VG,@8 MHx _FZKljTz]{Œ&L@;],4"?OӁįZ=RCjW~뭷ud˪yB vun߽Suc$EF-r"@tl-Cn/i'/ ᵀrA2S1n=# gH$jٱxcj@$/,oF1n|+Q>RQEjk'ݯ{cX!un_:t'> b+Z#zB*Q7 )h_S*`0?M3u^ppz6}ꈣ,{:C{V2v [/`~kQ;;vP$jG\=Fr74U,ɉr=t県 (+v8%X6(thI#dۯrz]wڕ2S=0?^p=E~ذa´LeϱP~Ԏdž{, JѽS}=A\qvʷ[w\`:mvvfPiN*^Xb:i@Evbzweb|US)b 5"Ʊ5)#52y_מ|IwUvʼnP_;H{gcT$bD+oGc;*zB*d~IDPCm{ڽclh]|RrC+gsxL (CfkY%vҿBMu:T {pu \@}zwc>Akj\2FSTvלk<"`1=\[NH7nG;`n#mh"|UvLЌk(* &EEjW혓zGj3 mFP{=q=@vw"y1T`jok吙ѩ]]ǶVݩZ.F%jnڙsri7[i6F[vwKuL jՎh# vr2P͝K_n)[*K2|£/Aq*#ġ%7bԨ"oذ!BQ! ~=R^z{n۶m:(D֑d7?|*=TH=T:dnkdowZmn~~W\|}zs=wti45Y>2d ݰXESvv'q))NoQ}: E틵:P{r+ #np *IP;ҫHPg|]{WH-*RF؄p,?OuϢ*,*`0֦ݽdֺ˩_w]|٥vK./]|S{tɍE.GLn8:5?r:xvKQFEvOw;Q;E։ ^u!Ꞣ*2ı3LzL΍&@ԎtSZQEj_fMc=o*Ԟ~C S[짞ҥ)_|%@v{/[P޽8֞}x"g% {e|7xw/Ev`:ر#?V$*o ;B@˵ dM奔GlqqSרIT"'`MT8X/~&|wpq.*Ԟ~C ֧wyݲǐ}O}r~ѥ_tE@.@Liތ Ж[g ;;BewV4pPVGKWbt. 8:^:L3^>mx vyA_}o>(W>~EԎ5& kC*3F$zJ0T0j?lj'd?[Ӻqӑ'_rE^^|]tC=ػS{KM\5)9WNw2K7<*2b.JbXիh+ݵMPO(`ڑus"S;j(޻w+BncϿۿU~R;}d'O> }h{qJcpXxHVو'4"*'[Ē*~*`i>|Yj@yGvz GOt8)b唏s/jQԎdwpsV:e˖dB?9VxYh9YX;|BOVYضNPz‹._x?i郋{1gQ.D6*#O킭e;HKKٯ(dURdoVC XDxFNSLX˩*(ȕTTz^7ctpl+B*SrڴiX4+~w̳anFE^ǎ*}N}β;ڳѮ=ÇƃraTD1HDq+^&ukz+j%{@ܝ1} 鱁x6@O*_,Vרsz@r9R vmKjf\P;-7ceF[C{{;W.[~M\^ݘګ𞖻.ys׿y [,$X1ujh9U/r?oel].rq 5S"OO#hA4XOz z؈]Mx 8OF<jS{XۿdITpIVr?vwp"Ne:sLrLφ2,`014zF|lI6sk S{p%"w=/vk%ڏ߹syƞ7iyg^{_V$Eݲ~{n)wY%t@~oWIE2Ľ|R(ze"DaP 5!rNDy81JUV񐩑cRˤS{Bզ@0i{o[wh۽L'ڷ{s:>%9֞ͨvRwbxT d0`*79;r3PlL)C^()='S^v=u(Ԟ2\rs )JML`DVvPGD9sԹgDnݘ#`׶RF' ?6EvnqER2p'#8ȣKAKCo)[x|vSVu-Q/p?JK $w566S_aIf>WTjw<6Ut߼ WS{&ɍ@GP>{ 7miVR7k|9vvGX#n_uDL c,9A59hE&f5H$y(%:"tXc>$viv|`!`jOLhwE{tn}6m2?".3Wrׯ)cGp+L#QmN^Zsjv큦& ܣ/Td[{6GK;`vUG\(kˤL,f/Zɬ1urQJb?xW<8G߬tQk94:Q勤66l=e_WnզH%3tES /lEyG\#D>@޳R MvMM3]29@36W챐e%V!:CJhNՔ(ÍcY_OӖ\SF+zυ+F1GMrLOY*%e䠻F h|HSGSZr=(nηѮ^l W浨/ Biݮ"d/Sr}ځLKn:kj'Ԙ]IHP-8jryY$ /.,>S\1F$~k_i_ƍj=Bmja0k[#:^ rTD2ϟbC >Ԕ{mﵩC^!Ӿkj[>}UqNp&4m/Hc*KFj +Td%'"S" wp{pFvqTwYʋGxʂq݈5RI5S;vX/KvQ-k9r= P;2:{0lTi' S{4L#I!$H:cӐfR$Xjb._,t14JSl׆.  S~NBٝԳUU/FOݟax crp-.n &@(^G]`Vrj' S{QoyWӧvw6Fx0 "UxHD[=QktC;%eӏZFi4ZCNv)l?y)uGShpe(zZr$ġ\mvd~ڥ[WQvFv;S{˸BѶSU¬x)}jwC$A3!5=˧RL ֟-=YSC b^nǘi9-YQ{e>GLA9dyS^Jcw]+n962 Yrvd~{7ڷg~=}-GY.9`Y=kJ~RxTN_N!sYi@xE* `U-2}m4dQq>|,+K| syK}PvW@vOj'pwVċjSyZSVU2&]Q7ԮȎ!!v0nQ4}n!{k!sWFejOf-JL A%љ8.g}HU=4- HĂM̵oasz1ҟ+E;j1j]+I(XفΩE峃F4:Ks(NMG{d~djOvV~)2q6Sl۝D,)ui))\oEWC~Ŵs=?2NOSS\3F˿$SKK'xA8DXO_;Q{V*&!ӳا6QL& J }PU`anvSBH!ЬS QawMBLn%x,&`((&\bu<$UE&UveP Sgy5FӼC[!i/vZZ^xԅT0jGG:޽6 ޲eL. T$as/dϑ"U!QKRjpdH1hd2rʳlDN=_^|]1?`mf/x?)jO-!ߢnj*~z0`!Cnz^v{mTjJ pķ5'ZšAXhw_-\үZ9c銟;ևRs$CRLBusWUms?Cnݺ혣qځL"8 ,.&Bh_ac0zEWO`% ζ.REjKǞ1 Dz{D9,`mpƢ%)w ? sE2;[AȊDu=kC7ömv1%jߊ ٙ]E\SN n1ԉtdqGD貦>EDvhHKK<Ϩጁؙ]?\Sa~{aǩ6iNnu7Gvw8z5Lƚ`)z줕 ůRp/K+}wfv*&=$N>-~̀nFpҸ7h5^%[o}[ߚ7oΝ;/_~w~޾/|[ cNsc 1bXkwg{K֫Bas?8mZU1dN& E)7i_.p=GfOihMD47 ǎq1J>=Dy,t5بIjWyWDcҹS@%K@;u.P5\C~fooK.EF8v׎wi#}H73"+@ S){ⵙLa@E.FAPGKC>KdP׾ 0BڤƃޢӤ8c3k}4݉13K&omltWez^CJ2TSLeڝ, vwA~aÆ`vצ6cCL-vr0=}gʏcܩ]OՋFžNFR:xp/i)M@ߠDU#ipU~/rӴ#AA)9P.fciYRq\LON]19dJ?UZ*7i!lT\W߼Fc@} s ;0k/{2(-,[w}jiFݎS݃'Ùn(|T *ζb{kO V;]ʧM"E Y))N> z sO  Ӂ{_q>|С# v$FxD fů_݋D`W")dw|b vPGcԞ s*lBsȀ-)YB"xQyT|JGrENS{] ~VnzsGk9x;\\ҭS"oǚ1d8o~_ .oEa9/~^skh:hY;S;Ydcơl.H * L/Ȏ 8T*Up<jKEcDНl0>ww".-uLPŴf.S"s1C~tOM;ǭGr7( P08q)洩CNsΣ@;!{߾LiiZU@Nw)pGyHdSܔQrAw28|5Nd4AS%'G(Kv+ew<˙ġ며:cH03GR@)PjS;+j.aj/ҭR= Пv6w7{wA>A"Ip8)rZgrewRr] IcDj9SP$y=]KQ|k7>yDHpaHʅ;5`hEvh;d`qTNŦvng Y\ (IBw|#ۖc,K%rS=4͋ CKyX_1W~5"!T^9GBw<c K|w׫p \S;x$Sudž)2kFŔVG\,j/-pbwxhyTDkI f]$K:pS0M4toJAиө0պhpOQ $L㞯z[(9N&+ ?Lp81r U**Y{@F$mSsq9dLH#cI3WѝZ@Ses_>2_< nW H]x'BA,ݞ 'I(G͕bPt8[ժx$ZLN A$fjg7x@,ekc rjN2>rБ$|Xe3?&q:YI!Pƌ9Yn "{ @ bg4jCv Isڽ _HQkY:j۫, 1ˣ ,|gj;wh T$ln?l{"r@u? $~b(mێ>ڵRBnS6lh(4 `wHٖfBf[t&2c6$ʐJLt.(l:5?f %i MJc*!ݓ)52=S*kqǝ'_dPԾsNڐG׾GS6w 6u c Ss٢Qg~h_MǴ:cwl:at#vQ37qjAqڒ=[&[ш5 ҢM^I'MBI <Ҽ['[px(I~4JqUtj:#YUX&݅:+cj5˯:_/߾M7e]/GqbF+I"Y?[nqp9:ulAv?c~}洩sN ?ccF; b۶m;S⍂I)Pas72* r&k*dQ"=zRhP9mrr*1IsLQe").Ԟ׉X2!n}u-EA[l .ke:;(O>=BjNڻt j=vqngjyYc T-J}UW]b9jG(]}o#W ;spϛ7oy$OiS{WV}HX;۱3"/Y{a BWk.' C#kv@ir̋0?pD_qn/?_b{Գc˛oqX^woEoI\Pu bذÆc1c,>vt"\HRߞdSE[:LT_1 4Jʫ/~>_Yל1;r]l2R:ȱM)ۑp&4k{xg}T64(njC\puss6|c}JjG>ftэԮr 2@ A{θv@:Rˮx|pZf#rc h7R\C񆲭0~bGZG駟Iy!Y[h|薅04ߡ@Ch޺>C;ϙ;wСC }2#ڏ-d?ctэԞ[g$?M )ǔvD/bTd:pqѷ`HʁuQTmsR>fbG9s甩VFw, ;2`񏧒1wtc-ًes{ws>Sp}ΜC*3Ҧc=q%d6q9]s T %$i:Z;D-CIVB5jg(v6!rwI;Jra k7Ӂ]w++WƘgd+vI\tٽsvoDO NgϞ3hC >tajQqv}cF:cg4n`Ng<ߺo@db ⥎ͥw\( u5i~aɘ^(fU852[x Nws+p˞V@2tCF:j;lj?ަv уd4pYL1o-|8+Τ&Y,%6\ıG%Y#Ayhzj|o495 |DX WGgvȵe@w|!g j=My"x,Rp^ȃt.j 4b*bGѴP3ma88$W"`LYQ&kVPj={!5dQ;9d(d:zуws;w"Z; o\Q<{w*Ɓi mM)aK'|MATIK2֝ kO.M&nvd~=}QGD[>!}wԮqOCX4ऐn j?PC=qRx +jVՇĜ YCUԞerf.4dFqg )!j(1CoYuY^w7|(ഹ"R#ybɞS$Ƀ]QC #NUo1ӺځYwHpGeUCՔאn.]̞3qCa!XexnݾȎ(;Ǐh~^=bV *BܣG6h@GO;zǭ#k#;jIS*aHp((5@(Ϛ j8hȀ1h۶mmv {? ه ?bQs/֫= DR")d[o%&Y^v즌9`Oˇ~(05eII!5D n0eG-+BKPC m:lP oپeg&1wLw. BDmX[펙tG! 1F/!JczUZM)N?k*ԞerfΠYo7Xc?vmwGه5fE=zX{;) dcEFI!1Á;y'D@~1/6z`ZRgAtr=)jU׿"YX Wy֬~0qmz|D chrg[>Ly_qX%*lFB#daM2IPL2f\~hWt)4S(βPq-G6Xm|J"wY\)h;w<?@{Ɓ7:؊}MG4ځޛcqY?, ~#~xdV%TќXe=?n5;e4E4$w<$pQOrpL Gg!]A2<!.j7ag 9sڗ,ݓ23éYK=+W~l=E"E82 k5ȋ"y0)c2HD ԞGri*!c!~.bk?߄촏[;g~,`-)hRl3ѓ bI&XlD Qd'ː^??T9zc>u|'V;S{me@]̚5x@a o#PqidFܱ흚[g+ഹb 8` {;VV"ىe1EO'/gp d:vى,O|pvm7|iV^wf=&8MS]̝<QCb/O d@05k=!S'xV B7i'N*|ݓQm1Ǵr)q8LQhظH!4gc tP^#pEa)^%dGn++u;>|0xߨ}G F=Ʀvc>~dq#Tߝ]VXR;%\RH@M'D^EPBqXes܎ݘUn\F=)EDc︑kFO i ewzȡ R8Sc cohCЖߕ#N_WIxcvSӊ]~ޠ;S{meEsG16`ocO3Z̈>6wzg@+܀$BB|bAp$v'"| 3xKv8\D~=i)جCHAzkNNJg**,wXdk.P@E'kʕ4TP;oi?uApUч=+vT͖1F j?>1H>`k3vS˰ծ@6y KN# :4Aw0^: m@ PJ< hR=P?j!ǭt# >l?a'@A4!kt")dj8]cdGn++^Bvm,:$g,;d[Vj(B6w̕4jsg "y W]8nŠփy' e(d.&}/4ےZR߄ o =iЇq8!~ˀ,mh"{`jϊ#4/b-ԎKO}(#֎٨`RRrN2l I{Pz:"\dɈ*=c!^/-BrcI.)ʋOTMWY=/V-p.MjJvxepo;w4ac2Ɍ9dbpV CKB6 cC|=rInlO9vH''G"jNNF|%b46IL2*SO4Uh"nQ{%_)&vK~‰'G#SY u|Yݴ]V 3(gJ+Te֛x fuvc(Ю+p$j31sg㝍& Iߺ^/ȈDo4 @*ѾDՅL"7Jvڥp{O9i<ZZ4 wX*W ѤB.'H_!0bJqK5&qo OtI@+T Һzπq>ΌdB*J [jhJB8` Klii)lnJ/~n_($]>pɽHHVa؀}۶-c,jCfг`Bj#?Q2b$+P,6Y<Z V(,{Edω3J=916R=W? T3T=7pŠ(;>  6c";.dC +!cQu mL2\kZ#Qu-S?n5JL-_nc{yFqM#bov!٨1ۢ~B |x<߅,ݖ @>H4)$НxE?9Q3(XQa:D3LK3F0f+ܺx@9@O>wn! Jn{^v{**ݢ ,^7Jj\RHZQq1=@mQ]ФTE;eT K'ZWB S**Ik'@Վyvcb@ҬSq^av׆G>0#{ΠC[n{ c%{Q,dG9y6]b@ 6wřunOURJz.r&Ư0И-y"?J`^BqN2:1h%0_lT?;>x*SN#I3BOnV[j2vw8d# Q;:vʙ#J0+P PhAÓ''Q0L\ k8݃EXpCM;H$bl8,,uZN>!#`ޒ᱔L{9Uj)9awjeG,Uf .S; js>b*Us<߼o@& 8BVfIOK2D1 S`:ax`Tˌ7G Pso'jB:SGh*Zł ¿R'-l  ١dԮue7FV>@ S{7!3dh_= ڨ1g{Y|*P$=`tEkMB۲(=qBmΙ8ȣ@7xp=8" qQdD~ujZa@ZC 9!}\w'?as;zO@*@=+WZ&6_4$LQsur2 -Q5%7 ȴjp8chp[7ڑo } `n:3?)cB#Uѷ%4{A<^ ph$g prQ ?`ـ!+G2"*As SS{r5@w !g&G;1-jԞȳI'$ $pˀ@Nݭ,p;b`wvyb*E5E_X PO0l( @:r3=%ai+]+P {uS9uZ3]<+)0cLi%!s,2?wvn<>hwX{r7V(dsO.)x6D ͱŽ@ ^e(7]ґ$'R>%uo{uij~. RP1S 8l.'dW\Ld{S{r5@8i4AK~,}AG7ء== T-s&ZR\AuvR B:Dᩰq j!j8MD:VL)QC3~Ei:U%+6Cm4ɒJN`jڍ2ڏۺc{ 7nhS{-\`$@՘9& [ #{ene:':d$2CNBFu*{h'!v!>xPЩkٙړH9eR{CA;}Fd<+ $ns'd'In;*)\~n'FOnҹB֡ QOh;`V4$eNS\ \B S+ R dode~hƱCm3d^t*`>)$ٽVtj1K&f%:XS]ҴKȵDCgZ(N4O`j,w4tԠ}3=R=3oqƍs{S;;}k?ڊo۱mظC2w!sԮ}YVV-N}rBAtj<zpŁ婘Ȗ"U #ȌDghS3:j ٙo4%Q:P{Ns2pj?c6rc ;d¹]y$! Ԟrʕ~IYvBڐݟ|*hl9^Tz9_0^sodS3zS HBvy`#9osm}jrȐCnjzƸ!} vgj݋ T-sxpW<.E#GܽŸ@IVEajDeiC{y.Er>uBG5dX{NH4W(4lT>@PcǶb;n έcjt¬+T9.B [ۓ _v$Dv_ KpG^SsӐkREs@]LEػk'j8~ žh=ڨa+`PhI!V*2x+L58(X'a  poED$/=\x~ʏF0RK.ӻ( (̠O Lb%c~4|'Κ03žxzv4dXe掕|2b%g*^P A oۧDcA{h'8@v\̰_>;W]%5;x; S{>*,KQ4;->L& ?{'XY6djw:[iNӹ0Dv(ċI3Kqf43~CcPǍ(wǂY~O3ߣ?)#;\5< jÃ|?Gc箭[lgm_-cn3U>WWQmjW{R ÖXޕ2UCaVZ(e}Y@Sґ:L%6B+֍5_CA&Q*5)#"3@!X}|F8=αQ?Ӈ_>Q|8ZR1h8SZK=MD+@>TA.Z}m6ׯ];>`PoP{6m|1Gf]vGivnkhTτaib")}'@+Li'pYadwԎ}?~{c[n=}Æ@vlt)9dd.mWcAܻ7n^O>n߻wq-q@4Ty^)oC#ڥv/KMT jǑӗXŭr$j7vQمv ;cڏ|XSn=Йb{VLtNjŠ1L\bᒙG8a(.[;2w~P8}VnB)O~?>3O>meoݺݢvXFb- Wz^+<8bHR^~(_~4GquwS6>y ئvcտeӧg6VPR?#fsWj P aF0K][(O?%S{)w_!&j3Ծw~jo{yLZ { nG~C#ۨtP^` wG(=<֮c?zNȽ}NAm {Lw;qvam`<מ{:bh#$ZXabI!0:_Y=Tԭ;J^+bEq*E\q|&7Nz/,ԗ^dodُ1G~KZ bE}x!=%T6ȴ}_)߽`j jr> {LWڏvvL)ߦ9VVPȞ Bwf*Ńk}+)Mšpe_JJ_ST#0%8Jm-sJ'`v>k֬ńTa^~G*ݹS*"ufXBVTtx:W~r B j ;|s)N.}{lԞ-[djYXأ rEI+NB5SسgDHg[Di®kNsCczwv}lj?cXhd.M D=噩- aNLJNaYi3[=So9qo6Cr\i:E?Y4#tED*/$wާwejٱGLʷ . Fv돊O )L-ͅݽ;-PAF>Ad8~'@9af=#sA?"{DIgdPaĤ #,[߽3F`IJ( iӬAWLEjݳT&3k"{@i_p^ܨ'@)[0hj2?3/)Aռjԍ04y$ N%1&}jl5y S{;PvG~r}}"nOB9i}1ګ}f`7 ό$,Tτ)wCun(O1x1dd7x*ڋ b߾}˖->}ŋ+ 5`jo۩}ftL=`-dG}}s h*VFȈ t7fxN@mICP G = bhbTtS-Ct̓z$͘7#k=>/^{;(C>W\@V=y^{x/o߂ˮ]v#ۣ{9#Qc-jnS{'}ej]bw-vLM8.2f]mWbj?ф`wE1ʒ՞1(FDypgz;;c^?j>}UW]bɄP{{h?^W{LCfE"ԞM+gXvOr]U6w5S G~pbuK*&[FŭN=KOV:(|+UoqX^woEo){>S{m9Ԟ@݃3 _;;d yPF1lcw6>>VQ.  D .Jeh+@ Ќf~1ϝyn+_8}`~rw͘@ɖ݋-_;L2@2܃VP@;݅[iKTENOe7FH+* 5 Ҵ0,R{&~ nԠw@oL?яQn0شzU۝~׌2ݰsرvv ى2kOV0F$e45w*e>ZTHe)(CyDUr'pUFvW@0HyL}21SNIQl13x8>g_Wgۂڧs22%{!(dD#M5;Tbnx{лLP.<~ W*ݽ;DeOSmnQR:ȱD)ۑp&?C͘~r}v ;XYV,4rXP|oF+ x+v > ܕgROӼI(B]TBed纣(Iw$>R"@{Cbfd)LΜ駟I]y!Ysa|tv;Yk%j_4+5)|+ $@b7)Dd1WgԜP#^Ļ{A)xoy)+N^i?s9 /XvdO%c ;3'](!O[dwCfǶIFRݢq#3gzcYV[Ҫdreqgo"g;ӴQ{&Kt:JٳP&S{3'Yr^G.0L>#'JjN.?xmj?FƏ<' RWvl=ws;gIF5a$S{qnr<V0-6cfjh.M(:q,$}D I!/Sn3PS{NSEj{wK; ? Cϙ0 ×,ߣp+2#T/Nh1f?-:9)XnHaNnV5yIPnŬ=&,9Q@,_;DO}Չʎ-p0 ϙ0dy=:sǘ>`2PPcwƈfj>-ZCXOSW=SP&f)g7z2 US{NSj? dwR/0yB ' `M9u u5mˇFoDoLh-F\xQ #΃q?j$9nJȇDj2XI}j͗MuɄ` 'p‥gu`j7uzXV hݑ¸@oQL&r"tKC*#u/Ԓr!Fve\='݈@Tj2'wXwلK'_A x-vk{y831`HVCQHNiN?({sNyȇD}jq|u˟?˕^1e-v_xF3sVXV %{4/1f$H`3b)[6wG< $j٣*Z׿5`weoxکv2ɔbD_83ݖ/޻L݉!VHO]9R9KiNur0l3 MEMG Fttk%*cygr@㢵뺋" QgvNWMb} 0V(VB-K g:r`g*wt5ŕٓV8f( W @(E;_rf`/v?y YV _ 1KG7Q6ofTHpL C4SG< gZmWkЀCjmjv|Y;YԷLzcq5G&t7Ѣgn -A$nTΤ*cjj+* vqGگ95%pjԞmeX\* /w6:35CJdyyTRx3`jW>.V SY|oX{NS VHO6:3U<0D[51)Sdy 3\*sRګF 㩧5czAvd?^`"435׀N\Y;͂ ;=qGSZ:]XU+`QaNݻ 'm_{GڙkceX@_7 ~x143`g. |8u!1W5rpS;nV[VHev [љ)bYFvÂ:vEbU@j;;d{㑱H"@7љZAme/(_g40W5rTگ;0ijQpŬ+P {x3SjR?9cN9Mc5ٳ]QcjW>.V TP{]Ԟ`D07f"莩I!ML} IP?QՑьIoaQ%jkmt-`XU@CB&635<U1N{.ejW>.V TR{u;_{|2\ܟ+o݊# '935<دA$Pzת)VAwϘѦGvQ撬+ DTg"yDˮ /WJ+?c8ʮ\ޏӦ(GX;if,+hޙF.oQ2|W>zKAtt~hUF qkP|DLy#qXV T;mEgzGvERO&Mh$[>0vt2AXON|IRF'ѡ9wj?4+޳M}p;#+0+ e-T&e6$w5ʛy幣w y8dhhZ{L-koTA[)Snnٚ&O?3զg2pS{.k`X+PfÓ'hjBнܽlJB=.I u2'$l~D,M"?Ŧ j(/TQQUK FMᶡS?mwws}NݧԾI:Ԟ`@ Kntg9;D'dO@_m"U}sH%DpK[E7-OLUpW>Mud(?ٚ&۵k֬6}^m{nؼ?V>tY]K;S{x+Pm ~v]+gC9EbVyMedHYPH9ѵ*=W[gPjosolӷ? W/P'_X~F @ |իlhw*IlT⤔*rY#{ZJgS{pdjVeCck8̀6ڷo> Nj vgL7'+ Ԥ-a&+SdnL} l6gdO S{lɭ%@0So=dDAC Ԧ@e6lOYrPb^e0R"/BK,:eSFzC-aOyw^SOT-8x+ e  *Q^ ,8#{ W7A 0=7 P{[ {ѭGlغGyQ;ݎ3}`X LVk!QB%K;CݔP/S.%qR .>e{6l~nL5|k䡳@9w !ECAx`dOnLbOa^EKNw1[p߰m'>Ƈڗ0mG 9TdsGRRR~j.4358L({VQLK%j[nQ1Nj~S{Ƹ+P "2WZٳu{jNȞCKm\\1J|'FWjf'} } w|ck?k:n`KV=JI!w(Rx@vJ.i(x䗂Qk[`jץD>._ Q$ -vGLڏej!+ զp$ PGP;"{ pDobd|kKq<˗B]Spj_X{mp߰~_}:F5YV0żK )n'nj즔,@=FDoVn߾}wt@ rPn /i}S&mv}Î2]v?#"+ H@H͎Qqr0)m!!j #OY:,ݻw+i4Vr+`0[Q bnjoͫ,%tjYV0@B6w`pgvPԠLo2;ͬ5H TK=PMlԞO#SD+wǵ8d[6V`RR@ :eRC{`qds3~F8ZvXq*S˸Let C_Un X;S{Qoj<.VA-c/+<*fa!&ba=R0k|=CFeXVȋ ^tKFAtb*]bdWQ60 L10ZbQ AןLyCQ@+@8AI!)#>&q+L192Lr֧AϞDNagv3dX* l102~9k Ȯ-}་[oS:}4S{Lt8S{$v.j?za ,͏.b豢}?=&GF:=\}$EjOKZѭK%O?ʣ~DP@0wqL2(cQQo| [<λ:"Ɍ.Z3HyLgjɑgj$W"p4锳^9bN?3}X V&@E}_)PA~WB T@eb舦K_GЉϒ۩o1|_E?U~F'wU{PBȗL1!2LQsom~u_&_촫P{|*^@4aC0"r.jy. UYeL%S݈@X&nSU]&_f}#YX1rL1!2LQ+,fΨS_l/u#*+1Cb9Q"q+`^6wC(ݍ:5ҸPϓ|7)hBWgđvLRES쐉ɑgj$W[O*}VC&X{X:"IZMu~AZb/d -%]4/@h׉˕+vwmNFvu|hoA(v=bQ_7A39P5@(@nљnMݰD]7/׆@{rr*TUnhe'daqj駯oO*|ppy0 tߎI!N?ck$c$QQ@PApڼOUVUZk}v~Uw=Y>w5򗿌mnv6/S/BK-vyl3:ED(<@+FP1H \{<2؃;R{!>,@P1-n;"S7}ڏ?nŗ_~9Q<| ;b(UWNnIynfDC=wU|}!X"* e:Ŧ($ Be"PћAB^?Tt+LnvwݺuW_}5@ FIׯ_ovV]9Q4d 3[ݦYj7/"uȮnrs~򓟄";x*`8{WǖAѥQ4*Gs>Yg\@}_ Wέvq.iǨ\iה 5(jw=<_ˣ@*<v~ӛj׮[%]Xfᷨ;q3fL}1?ϽwNP ,ۃqDP $О]p_c?; ^4j qglQ~eZ zC@T(s0wMe^$VA\pKÇ 81K4ǵ{|G儷AΪ+'j7 |v1HMk)?`wOs4& ]SཀྵN?GRšPED sg~_f{Kaxz?KM<H͊ VPu+OǴ2V~p kRlbC 6ެrvO>2W 0!^OUXjw~]arglu{nvj* %_|nxτ-"vo+G|; uB1@{ zĘ{.S+'jϛa|ĵ|v xahuZg8h9XveryR4nv3dރ/ɟVV]9Q{ESk&Nk_@ivs4BPT^â?ȮRD$HyYY{K^KjdӞ.SzSj߽{wZDnS=oQҊIv G{G]1FN1u,RNCãZh)H$03* ZB"Kp0?qX9)"dSLvky[ul mUWNԞ7Cŵ+ xD6L#R{E.Œm?8rT@RR/FQUQaB.'7_=N4JmY?Єrƕ,J1K۷oOmaՕM@;jR?E jrQT@PT c{1N+=oZQeUp)#jbx阶|E{҆_Ʋȳ??C3 :IK$y6ٸ/* @Yaw!U}*wJeX?mؤ'NWJmʁҲ :V_{Bcb>bbLvUlJ|;IL}QT@(v LRUfyu'~ꐪӖ,5j߶m>p>HQ>PTsem hO.%>>OUjI_{0_!Qh9ƩBr 8ZZPT@l0hS@OOdc:;Cø8p AuP|TZZr+`w4+?j'8 O:ul,6ɼ $}QT@DBS>"~fEvoҔCuxF+X6h'+G;:֨رc@?֠x (O hC힗}eB W-Kz}</.K*p[Dߥ>v^ۅE*00'ҏt Wq 1q\[TA{.sMv5֨0W__@ b)_~$r@곀%ePlYl3S*،HI}QT(&߂pD:ozt#ؕCU_r}G~֋cڋZosew>e~qKGw sW,8 vgڲps9V[a-Jb* *`>oBz/8u|/iEE9hLxS_,a`G֎v0pHҢ(Ǩrְ eXGۜs,[T˭QT Om: 6ĮP=vgvr"ڝ3Fjc1>t^ b@)Q{bfwqWZ޴޽qAov(6HcH3dnwb* hPG@Н?8 ssT - i3xzHEK@ Q{mDLv !Xʶ,$^bK2v6XBgV0fBPT0F=w~|f-Û8ۨʉkw2W%Nb @GsC ""+^H·Qx옏B^~-wsM~aN@Vd^qćr5YwAPTV@+6P/8U&TΞfLWt:Ny!BXՉU{ӥvX]7OWgbؿ>cΘv.ns\bT@PT@DRv.$w0 *3?*_Sڋb* *Q!;v4qJ14LH]ǧPЕ#@PT@ƺR;[o@@P58)z9gF/>@%dR{Zs#*K[']&)>Υ_X:Z7ѸBQ[w%.W)v Lǜᙘ4+{{)QT@2T79w#4- R=?euϸ=HeX=jgDAq;CirGݮv[<ڣռH帅sR&U}{DU* X(`It< R= #f 3c3p/jw'wr'#yR2%?1[Z&@PT@V * ˻ ;k-/9={|K_4\}Q9DYSk|{ݘz_ѣG /Q%èL|B.BS4 nȝtau),Kl ])ˑ\rf QT@JP.T|?ڹvKGvBgf*+|_dұ7#GDՐ/Q%CLlѤQv'.RE^j؞skEPTc dN'|8K5Sv(W"io~^*cR{kmY*.]XAځ݋!&Tsԓh * @*-ݻ77MTZ=裟^J}o̯/[>YBZ:sצBǵfl-CPT@PȐڃ1w(KC_kbܣ{YRkn߶9ͣ>c =ʨӟmDT@PT@VԾ{=6#3pG5T,uUwܹj%(ϭxގ}5d\j/MVw8AI+QG@PT@PP2 >Lnw{{yR{MMjM^0jьų*/cw9ѣv^8 ́D#dqDPT@P(P|j4y9cxYs(]{c2w ˒?TUjں={kN?{vt/$R{^(@PT@v;OǦvV](:"cmģv%\Yt__[UqI4vOR;fNݣ:mkm=o ڃ * a A|!]zn26ʒC ,LQ䝤jԿfnZ]#L>?l:* *P: m"1xq2v%yMPI}RŹ 4w5u5v5tO9e©w_{>t&1@PT >lgڣʰʒ-dj?W. c6Jl&y^Q1i`@kGks{kS{k#֡S# * )LHoYbՕ%+_2^,;#6JfB6}rŤ5k[[Z[[ZZ[O9k/Y  *  A,G*s-ؗ+KjT"W"='`l}9+'W]3 fBFj @PT(} A=\$b .OO%ҡ#?6uxu#mהfEJ6J"(i/EiʊuktwwPjP)Fb\{OhT@PTl(߿?*~W'?/U S6Q;2W/naPA7w>FI~)rN3TM^nMOw[[lP;iԲa* @i*Pj߷o_ b{g!0?#SΪKH>tc Pn6n/nݺna=J.^fjܰ~ԞNp9BQ;TAPT@PT uDc x {ݻ@i^Zir/l=Jg#eMM&A2m{(,0̨* * $T &= O.KmOL9T2R3j6o\7cjwim]{޶yZ3R{1{BPT@P8 $v9)aʒsdXod6oZ?kz4$A2n|HuV ±uQD4TH@j߱cG#Ϊ+KjϡT_e3z!HfJ w{/w^úPTW߾i&xވo`e)6 @RT ?S)ZZ.j מC%C# fjonٲyY$H$v9dvGjϪ#^T<ؾ};,sNxk LXn/5*PPPO#E@EPT UoٲE(@䂠wB Ԟg%s{P{s[7]` m xݒD?k/Xmw"綳0TxǕF^BMFSQT ĠC;'.PT|ǹ^ aߣGcj/E E#)JݵųL;8:2#vCPT K'ʞ@2=a2VL흭@,sy~hLnkoeX}e8bPW1>D3="1b")`C`|-<ٷ,1 ˆs(ڻj̈́RwEȤkOGqu;-ޟwJ>7 {VRp-{ zv@Aej =;%J4V=dwW_/z23Nvk\8wS8NLv ,O-Ω.PލgJT ;䦩kH>Y^BL%w7%xN%{ȾhO|_7x?H 1HtJHW\L|$HǨ}4j|nLyHϑN-shO߽Z):)5 ${V9/RFoVM^%_uUgUV{ϽF? vIι 1 s/ynU#>!>J[I sG"Ml7;3#ߙ%y@U:.lYN6 H^ !אIE^׽p?#w%.pCni8I0g5jۙ^PIחR|@[O#d`k}מD=7ReK _iBIDATLjsjg=sUz'Kz>RSf8'NVG%By'W;)kssw/>|KM"P<iE w!(Ȟni s=˹xed5<*k0^̭8!m k+/Y@Hp%g/Yз{w7dy7HiTIG@ 3 O2Uhn=ߙQEWw* Hw6-dzl;IG՝<-A{^1~ ["LM`/AdHԊm 8 @BgdKnvx ,#C, jwoz #i\lsv.Vzݓ"0"aQ̊li}C)28l1n𵇍L1J{~)|S i^:HcD4 3& !¤J݀/-ɤ<="HJdg=:#"̹К!ސJj?m"<ʨu%WNO3q|sMyZRa9Aiɒ-:9;yOG.@QكT8׍8S'WcYTD㚑Ii[=)(MW`8fz 0n ${VSd^k)x>)HǏ+?f4jBٓ< qퟸdUۗ.2S-e/l8'Gܳxڳ:+ vsL󔭕'<n|/,a:Kt.Bd{ Ə!";YQ;W)7% lø`gu,-:{w:_;a| &ˑx@_{$̭8R+2̜[m|d=w6qk?{iIx󭷓%: [V[^<Nj]v~0.>q'C4rfH,۸g7E%72D8ss#.<Ȥc.>{^VZf_s:oGf*?52.2&d m'_r콻wMeyjAKIv[I z̀4c`Kڛt6߲Trh*x"cBPw~vΓXB%=kWEP t7nʤ HqDx Xs|[Sۿ?%?>܁KRMEULG3=}GYR;ߔxc_=Ƶ|fG;d}+9o$TBsN}bHIo7J(ͳϗ%0 d菲g"{n+e#0;Gx C 7 l6UWNkȄ v vH <ZHސo/Bj/h*+3=s[)R{$^g=_ ,9r@D![%rv,W _wu6=zoВRj?ڟ2[DRr_~PT@PT(Pb3xg{=O/rvK8җă;F:'T@{jpg>~O?%I"dP; -ʞ칭R=vXurGe (IJxY-rv{;w}CCC[ T8;{j߽{7XSZRFkQlc<QLdm0#k?xRe`W=L=ۉ CP >FU,({*2M!HQIڣGHϪ+'jϛQ]Ԏ^6s#6@3({&R0Q;$?=oƠvv('v@PT@PT CiH0QSO=iDŽYuDy=YFPT@Pp#GOL0BkY kBkj̯ *]sR{Tf~ĉ_WQMJˆs(`~gW~dh8gŊ.NplYKEwVj6?4OL.B:CK[rCM]fP#.bhcnTH Q Gw a[ZTK\ R{b ˪$m6oց}G򁊠:޲eKTs?uҏ<{Sz +1>/*J=Ejj&C/MuʗtIj|#h7Ʃ%B;l( \ d>W--%9gvLfӨvppСC048#;3TA|cs+`!%j L|6g0j@/9T'nsv 5_i>c@10kQk8O~ܘ.nn>L4/l\K1dVաj4,ȪXVH,{1N)"̹0) Нۦ6Ĥv[Ah>[rSf32(}J*&TnRF'鄨K8>@q}!V}+Magrtiʗ{v)Ԫoo6HqZ FĀW_}?ĸ1Pi#;S;ZR'?%x7%z)g;a4C׌کvԮn"BvMEs8%Ɍ daKtO X>*V s#=pǀpq#xЋn5%+tH{SkzP"{=cP;R DvQ|v.=g;d0vCT @Ԯb}COR0R!}Aȟ3:5@tj´.xF8*- UZpN;򹥨Qda{Љi"APlT ,O|<׮vwsJR ?]vy c 6B"HBm{(4̂y<1aNh̅ dp {jXDDo {x!-Ѩ]W!BFKq!:S8=M-H1w)KB{Spw=kgN= ' cTf4dh+˳MR˝Lӣv$׽h"cnT C109З[x2Ԯ%K * >Z /GPj'IO 4jç;v ?{g?=oH MOm۶ ;vL'K-Rrl*PH/ڲQLdm^ 8ڑFaL| ۡC97 FjO4rԒH>ȽxgE({&RHd yxD,P# `KIKq.Es;/a@cnqkQҷ'vKSŇIQ_=o6;B&y @PT@P*BWB@ x)ԻHq}2,;W 1Q;!ane3y]4NJa6HW06&B]u>'vH9$T@PT_ѣ/ґ]ihh׿Oo;nGJW0d2,A3sxlf{e&0F ({ xF7n|ŖǎW^~p>̞v3:{xxt׭[W_nI1'EL BƉs8?Åv.<ChBww6ҡ>׮ﰘr3zC]a~6J-5opE3\ v_;9_ NR{ng=4 @b(C仠5, ~Ws~ 8O.Ӑ%!%PȈ:^kTٸѵKzC]kp5x.nWy^u_0w{P{)-EiǶVB+,eDVj׮NjT{駟D*Vo(ӼPjhj_wi>_4k]ݥKs;a*C%eOa9Ԟ RFAX =S{S}[^d*qbܵ^N%@3({&RBt&en۶ [ox>*jzva˖-Arn ߻e\}+j?c4*Cqf2Ǎ7g>~ٷbl?%ZTFКreF13suH]Z&Z|@VDֳZG4^ẻ dQ?0q*#G5 \83!BT:88xСwy\څP&B,>̙s,P^xOۿgL:  =DYbğ˽9qg;K~ι\`T[I wK&9ߵm.Ұ >jjnhodOPlNum*sLe]jGj/,2OO5˪cǎ4g8ʠx, *s}v]hN⼞G>}^djwN:1szMz QTgm0}/B8Y ]!Ʌ {G?V=P^| "HO%4&㴒^)MHe>~amb1Pٙ97.CG|Kt^:]Wܿk%jsH21fBCaO FȐZBTI>OO/nJSbB;ixoP\8bj2QTqͱ n~|灋{E kKKV 'D=ܽln+Zk|ϻ @I7;ɩ3-hѨy„GNΠ831=yp"eI*r˵v&z(:︿=8 ssԧfGv].QZXӚ3hVi>Z6܉ I@(>岩엷\Th{NyWv֔ǒ[lj|= dB^]ChpRbXVW=TM*SmTK:qLP^zrG#wk/ŝ='`!Bd mIYojc(ܳbՉԞp߲Q +ݸiMMi+'߹=}%9OK?tԼDp˵S7[ѬLdaPUm˲+Mc L`Y')OuբN]̅ d@`1zLsWգ KzkF@C^FjWR.QNbF*XK[ ,VnV zV߼kzXΝgR']21= * *PfO/ c)OD?o/%P{D+޸⾶{[/n}C;z)Q@ HlX5* *Pn k5~OWN]5c'f-{)>B_g:J`T xG+({ZJG9?>zC=yXr۶zC=y)ƵeIR{}uugONR]fwN52zgF^{S/bWXzeo{J3R{y̓ T wP+_טC_mI6/JIKkgR{$rYuBZYTy^[Uq}$u9} > .v}]1ksݿ)-H9#dFFF2vVo(G7[R~QzC<&Ѭ/emHn^M5J5l9,ԾҩK.~3/ ?>{֩ޑgBG*/0T@PTJ|RO?fݬ&+J̳3JhRDz^n͆ގS;g4cj $BtkK>6}f]~켋AjjVzQT@PrT W3NL'N~=`I a#;@s ?h^.0wY6es/x .j։p/Tȟ ʞ칭4W2@N]=r6XӤ6] %-Xr%.m= * Y)7jQOa>w_tޒ -pڳ^T@PTȭH)bU Pd4kg_5ds/\_p /IBxKm9TL:eDV^ҠƧ@j뵿̳sٗ,\d%lݺ5ƍb?[16ҏ (}ƜSʈ?+ MMZ-5Ej/gqNt7Q1&Zβ@o^h%-tv i4!r p- V]QȎ(kMcIwzyc)QQIJŞ^rZ+INkj̯^<"aQ@TB}>/Mi}ɂd??+jg9+V,(qpwb^dvVJdSuM>ՔD58v^ >je ZsoiX9Y[!R^{hE.t?ujk 4u0R{ 4%]E@k|fA0D kK"LiM q+X{Սq{j,ǻfQ4% J+XgXh2趋N&jV,Mb|SÉ;@~3gtFBJfYRQ`@jwKY*`CmT~kG{;tJPoXf{ ,TrBE7Uw 9^Y r D(YS7DqյԢZ[!QT)mAJ *Oooh2vf4؆C)/Nsڕ~`_.l+I Z>CC|#J壔KR)77&&`qI@j/KFPLUk׮^:_ggϞ]j'~>|gGLj%9;SUL-NU{QTv0MsSM !n>zj}:/Z:;KRT帽HK%-dL킼:53dp\j7F }jem#>pQ;ؔP9e7$|KAܗƎvN =X)N}Covj.xԾf֩,H4<wJ՞#kZjݼ )PYEi2+*[K= :29H)L'hȃQϋ.ˋ){SgX jgȭ9>R|u}S[k#F L;[A]Z{>c%xJ^6w %v 5V1%wͯ4jY2(6*!^Q+Q{W9h_Sjg>w ΪtX.'rJ7O2::?9x@sx%ZV>IW\jYFȘ:%8݊t 5mCZX2(_- oǸ/-zjްF v.Y.5:cpLqz&Zڣ/K¨fu-$:I&Oq&##;B^=JҩVbb‘=TXUD<^t׮|u3hc)lp2h 5=C!Z(|siƕ7΁a2}N@wЗ6XY#>&E.I֐%<ܓH}1B,Cؽץi\ מtΐو[\XſJTgTm%#eEoExu+߅k!W"V-K>НJ R;?L% ekTfӍk!v 07\;t}SޤGaŁoorD9]Mw&6۴ ~~="dĢr{Ky\@&p.H1w)K"Q{GK/Q;;rvag'b%J>LaR=F4ݨ8FyE.PqJZ΂2x)"rvmI {{_M5@0  ~fVZ0Xc:54yԝZ)+VQ'c# ܈E5aП%_ #>8a[ tD*\cEUe@}DJeɎبv-=!żtݛ,l:QT^qM{Dez{#FzgwXoY*`C+}E|iT(xjIOK, ȣ)Hb<+QA_8L^<Çґ ,9Fŧ:k=-8oyԞYmCP H(}3 ڏv'NvuH'N~7xG_~YC tu7 >#뮻n`{-`9O͙F(S.](Q!`H% ˣ?zUM`]Iz2Y5 3FGGL;}Ծi3 mX%o6c{PB*x!Ֆg"{n+'C ;DŀuفL΀3m&JbhH~?BާH>rVΠ4q?"ofD쏤.~e9:oK R,+KvO;}ddsjoԩ _=s @|$WZQ,rr4j2jYQ2W_8ϓz!Wvs`л[)GB8~.i5.Whh;\b" ;+{+??qiOlj4mJw{5fĆc\Lʞy4+ƀbY` ?'v7㦛ED(=SRu0_/CjhE )(m~|A`~P)ꯁȢ@D.XGȨ|'6<4NRgG5kk2z[Z)R{Tq,~Lq X*P J]28p>]7C1=H_^AȊs|g ѭpBpSͱDc-X keOЭt+.-Z9wD1{+T7Ԍ58ìkMKQL鞒t8rEqe8xvk%8f猈faaDjC/bQ ġ2I'0P")=2,hcP 9j1]$?$ZD!_ (ݢ^;{xمwWL;;nilj]cm=jifd~ I ^!qͱ]Mi9C 3HҠ~Q~44JK!D|UXzd^4 kR{$ 0joiɄDTUTNjkq$lo_Dxţڠv1\;K %?At|&S)FW=&!5N(=*;D|а34>=ji^~Cs^F=5pkG75^ Nwy< Twڇe*in}KT3)=whwhC&u0ҢQ|Cvrtj-XKq-7w@ RC4Hvl(Hl_kYC& \._w+uuV56t2.P'td_թ`&"~T ln*My.8/_n0('Ue&S3XT ǥ8ol)0Q{];&U^dǹC~;e b{Ƌ}-J΂k9>@{Œ46:j] Pfe^vCHAjWk%F sQ-տE_w5=0 ]1]!WA@HLm>%E3D 1&]jJs90 !\=* ?j^kpL.c @HGjesVS;evHP;V7Դ6֒TN {#vCPT )#R)n_)̭}=!w@|\joiiimvEKYe }Y(Y CRQ1GUUNFCRLa#( Hǧ>ܳ_W\^J21NLw⤣zR BPQLff=s[ia<;v#;?K qݭ+a;5'OZ ^\_xkZvrqĵ#@HLHeDV<{PJ.^~pށN%?veln)Q̀Q;;IR%Z6v^FP*x&g"{n+iT:WN|,^\l1ix|ҳU &Hj+qA2I|8M͹0T 1IȞJO x9ȩ] QWůhϪ4S{0V^ʏǦr`XQ{me#wp$FsԞY CP >-.({r ˩GDv2F8Nڸv1&wW }P;IUM4;R{9MT@|d ȞJsN.MG}U|4jogUvF4j, C>YLPLdmv!TŰۭ=9ꃅh\!~I kWR0u/%v0R5Wq{R̉(f?j\*XH}ΡN7a74C}r*C7g{q S#< (Go />|W_=}7/u8qɓGP1PX\{bPX Smw[awX&kO@% * S=N妀 WW3jgK#pS *x&ȞJ1BW j_ ^Ek[ij81kSKngy4 HE-.({r ˩rcOlO\bP;O-R5Wq{R̉(f+jݵȝ[Ä H`=>0j]B<{Sz +`f&* @ i/MuX`)`<?~ĉ'O3m'u&{Ri05>[ 4vd^1^U)V,gt{#p'a_vS {"j'{j.S{SC $sJ֞Z,zEM27\t/ I?NQ#Lǯ3#IoȭD%tFN ;ZgYJ(5_Rlf?MlXgU ?Hlc6!3/<-(<^pA|LUtHUGqT 54pr&>?8E{*x|^LR{kOړ:WxX_㓱z7A4[Sy#,V 9ZJ3T'?nE%:sq):&A.8T !5+̂V2XY;Ag\_ݢڵpnvA0ǒI t$ӈ=En}gJSݜE } cilaľo& k>㹕K]erA-|d:M!Cs{#_,=bPjaR i4[k̄  `eNR#&/Q5;f / .f*Q]uk9u7/LX**Q4 v]6BQSI8k=@ DȨؖvKuUVn;+_ M=y=٤v]]] Dbq2 -4B&[Nfthv92]Gs'od|(C@l9*gPW9y٬bl &<[ cv5Շ> 4v1nN|XĻ(omH._xUuViabTX|Sspϫl.\6& BkdLtrgŠ&a¨fqs;*ƽ_Uu@}+ߧQWoe?-Ma(CF;O[A3hN~^|i_uUgUV{ϽF?k}AjojO@\1,pT(]B@nrT mrLB ꂧwsՂG>vL.vŠUgSPځΕL#d\jof1M$5j+ 69Gm dJdʏHא ۈ ) JcJHE#U˾˯YSzۓDȔbᩥ{ mFc^s)YE!A'&kDj45jkۋ * _>Z|-RPT} z\)EKa@^c<@3==] W|$H0* %ʞ칭=]ګ+>$B?nk#dq@)IȞJڋ5r)ԔGv`w-75Өk/ QT` >LZS({&S}Ɋ+'zGjO0jǷl#s 7o~ꩧ=CKy'XkwD-ݡj]qPԧV$ * e@Fhߊ+)_6lx7zwvY-dr?쭨_~ї9z{wnݺN$kGjÔ * v }7ړo+\ͷ ߅j7(`r-O|'s{߱s|lhh\0P  8(|8sh;O ÷|ܟCڙ_ǎWO{<3k诶?; KMhoij|cK1m.ۀ K<ƋPʞ칭4qSĶֹ iYHq x'N2d?r={;|rc=׿Q\j_q?Tȟ ʞ칭40JO-Ds]@ok8ԎȞhT|H~7*sv@@|̤3PLdmvO9UHvb]z_ǚs;n25,kj'N҇%jwR{KkjT^@PT@r@~%SF_7t } -"<0>%fڇ]G{KsK+$BոL ڀ * B ˞u^5dt9%;:@yuفW'R%Z6*0c<^G3=:BFr/9Y3U4oȒ? /Wr#dvJR+R{ŽPT >f1({&\SxaTK{zG.%F9226^:k^>{$5dNލzq&LjRګFȔ4]6}*0Vc?É;*! >VQDikk vVqaPT@PT H3Q Hי,sŤoc2P;w^Pĉ駍ֶ^DKL/V xgq({&Rs sqcٰL}rET3\[ BvݑŶc&g"{n+Ejmנa:2UwܾrRdݵ잝KKI4N-J#HN\ܡ- gqI)&T~RVnQ)'rQ.lPz6](" R,MQ\gP774P#(8$#y)\/S0Ke>"{nR{% * WUUcUMU]:w+?}Q5Ewp^pT._ pԮ5upGfpE{G[%(V rw${oc{F &rȑLZ [ ŷZ`0EaHq"Jc,Yï(QR\ Ű7jڣ*3W jUWZUWP[S_]UW5}|I|I%VB!o"fV,w(A@*B=V4X)領b]W !D?]]]fͺ o_ -XILvͺֶΖ榆ơҠvB'Q;L`zdg sO*6A>64(J *A=i H(h(2X,,* _j $_pYhZͰq. C~z/8e] j;& kHշJR;_uU|s_oGk/.C{!\v@Զ6`֎f rky3h7yݭlܒBݥ _V` -5O"yq/$I*V+u?\WW:9WYkW<5kF3J# 3c-\o8<ߣU~v*~AebO2p/}믿[ٟx 1B&=[JPuNٝSfttOk> d^·Z u[ςV.k# bj2yx vX\)5Nn{Km=XPemo[nR] PtIg+Ѥn\PZ"ҥ#< k:B)a!*9!dvؒEi̥>,:sLبwbR{[kN3:~ZCj*,r cOWlsBf˰}-?He8 JIcGm@}σt}yYC&^SKc@(1Ԏ^\5y03.>̹.}^ʝ_3j}w(.7pNBe E3h7* * R@A(CK[OB VwR{;wv* *P<f R{ kr`#6ݡ>w3dut<{) R@R`@Y*x&݊g"{n+"d}ivnPj1 3pWS;$&T@PT@RW@1db' G4])*Plj߸yP;vW1'* * @jOS(^Fn ^񨽥qf.1x܉}2B&=%* *`@ jzqL@AIM\?뼩3Rv'PĉYPYfMvc s* *\ԞR,nIJ[ۛ7m0gM{!wDPT@P@jϼ ЀH ep:wEj$2fFPT@P)Ԟ.A έ,5o̹ f/2&jq* *P @'!ٶeYxg]N]{F8K!{GT@PT@R{1ƺ+`J /}.Ԟ\v,@PT@2V=#*`C.pϙ{v:cvT@PTȗH&LV/`>MNq&L2aRzn@(0jŊ_W@á^'TЁ2ЧQl~[296HG{~艓'8?jdEA,Pn_^,\;bPx>r0Deu U#!.vw/pɼ={vy֙kOkTvɓxcl@5  ey ?9?jH^8zwlнI4!t joosϦN}g^ƨMCRRnD;jtEG,P6;@t=[Hڃ =k׊"P4o3zd˿ P;7Im2Evl,}{1]N?kFTDg4)Lk/KLevڰaCgg'ٟ__2 bkB,E %رC+ވeDTv=S:ڧ###~Z|Nb~:Cv?N^mk'2fwa lpsyݬ$I<|eMVqu6x4ݳL}|GF9{A9G3wϿ^yէ[/ .33h5q{tgcG}gR ˡΥ-R^Д Y1㳪JK71="k,F|80m띈m6>Epf.CF*"EvekCnw-ӊ"^;*b+kD&#AZ qx@FM|o ?˸&Qi6Ѐx qfj{g ;nܙgjժ/}K(ypjo~Ð_ K{_Xfݚ' O<`.v=dMy"ãvC/f M7q|*g&}>߿"78{r \V;kiy?ae# _VOK?sFjW]d!`9l~rYޟ yw+0.gY4"SΥKt+"SQoHۃo|ɌxgMx߅>N=|:>||z7CbR{ *u^ƌ':'VJpz:;|ܸS0aO:nܟYIV?~u!i:`\{i!x k ., } 6桇7H~3$c#BnΝ;:: 1Aj{߻w^x#ZmC5-mMmm -$ O8P`[+.r wV9_D&j )|_ jg4 Q]sCӶ%w?eW㯽~{9 S;Է1+]ev|gH9ByK (w]u1n-+ӡv@V,0ЖGu1QK1^@KS~Fy!Pޢv93 "bX3ŒW\ 0=_tEVo|x޽;9?P/~ ( s{?yZ9`z]SK]#I;'L(Ê1jg- c'NX!r"@wT\_Ϸbٿ}C0]{O$"[?]M |*'%Kyr]R [ƳY) tXP3ɇ1t=`bWΘ0C|*GI+1SڵNqEnKoP;P]c>XGG1*2S{umM5 -5$/ú#0) g ;}-I0%ȝnT /#Y.+=vC݃{Ŋ5<-Sνt- s2_=|Ȇ?^_\G_NG؜k9ۥp.<j'H- 9/o_SFջKv$KYx^S8@lkbt~'&'\b2R9Rܻ6$<Ÿv𠠰hvGً-C)A ÖGXC#/F~ Q; R"dRM6 1ƵӪ%? v_aI&[Tjgv!&'١x#֡;Vz%M&#G*%Xyt>MBamAQ{1M) ,@@#{ڹ8@@~G~!]Xҭ-خk?G D; +HJI~NHy-C{X,-y=:{孒\'t%yR3>/g&j,$Q#1R{Z<]rԮ@O?4,|r׍6j+~GƯ7|sh7bY2v K햽Y=/bk1޶CBOfvNwF)+"R )Db r^T* * +Ld4q%A F,a܄wSjikmvo>?PUkO>, @PT@PT@&WV߱!655Ot}p֖6W\¡* * @^[XWX_XT8P)w 7RJٽmʁ uV * * Ծre?zC-溆> CO7V`fX]5 * * *P< F}چ&u #P{[>{mAj/^aM* * @ueUUb^ooאָMo!e[WW~G* * *P<j*V\Ex {I =ޖ42v@KVW~x=5* * UU+W^#]_Ipg/S"CUw'霪siTϪVUTWMH3:v|*i\養UNU5ҬT[]㥚1%_T2OR0ٗ+2M'WB`JBe ¾ʾSqĜ\uUI"MkB[&QvW7unԱ@tmXla0|(w ;t`gEeդs&O>CI?\'{=} I~ i"2R؊IAH'}TBrR]Շѧs몤4jR=+ir}u0U6TTϥɵՓka'gJ2KeMsX7;33=I۰;'v9 O ^$#KkJi q5 ~Y?F֬Yf-mX iu7K7W  H |!㖹> %S: ·G>`|Cv)ȇ5Kx =8|XoѪU?\I+WKq!;tn~p>v4n5[o.}Q TZ괈4; ~?ZҪ;Un"jٔNdN]c6]u mRRZy=6Ӛ;7(;7O%Iڴ~ [ SD5V qj︽ocUmnS$@dU6W$.$1ۗKdZdշ޺*մ[5G+o.]'hr wz ;ngd`%kV\ӿ ױ4zj7wmX?` %H?Ai֙z[߶=lX֔P,<교VHJ$BG7팙?yM{,R~?Chse? 7O_CZrwouA_=E|ga3hi`kӇZq&Xg,5\Rf#fjmlkknkkikkmFC~i [IjnikjnkljoZH-5BjRu]K\]ħFXUX) R y[U]Sm=<*|Ijo#VLdKmjkjXq@f(lhljljf~qmjn uwvtvwvtM/S:;a{gwGGMN] uwtuLRkz:z[ 2HsZ{T9uNm'iZG:L1ei3N5ӦϘ6o4Hӧrl!?7cf͜7ct7w?H؋8uZoޞ)=DN4OSE'g=4N7TM gq4#B?¿$;Lu>Ӡn3N={JGww[WWc{;erS㤦s?ﯭj>O頻ٕ!KgOХ*&ҙ%\7?tƹsΐs> PW5CpcM45tn LMZ'5OhZ9jZgΚݵ3T7kJ^H nj3^՞{NV%nNtsI*VdT_qJKSOksZ:M[h6]!v4Z)3COm`*MmiZ[4rBERG7K}D3iImSYsqK;Im=MS[:;:jkڪ[!UյT64OM5%RUbiXHmSB3;2V6{Ӗ~a*yk!ՐDޚ/:kb7mUbX;^}VG۷7?2gQ;|w]&gwx*{Jp"{s[CDv ʚuM5 $NwYDb?h'$A `Ei{N롉|wb1ew3'\&'$i*u@^קL]E{/ewV+H\dAهLjPz{zpQGyrSӹA !x;p7PY&;%Zj'Avi7iݳ=@(^ͨ=45NP{KEGʞU;jf:^ٽb {΁O)v7ӦvNinjlo訫kin&L#l%p?Yhތ桿]vT`~.7ӆU;~No ?Ϸ(vxD^H'w;j*) H}*׻vv+@ٝxܩ<ݽӝ{ ӝ2]pEwvMdG{sGgC[[MKKesӤFBh穝@'$^jj|Ξ<=,Q|׺+*ήPI؝nRQ><3w3p?TVqSp'7%Kkg8G;$%Swtywkwjw|S>m ڧu7.bwuP,~6Ys·?NqgO8e u߯ A13iLSEksekKum^ !#{I @Rx SAj TE@Ox1E!ÆzzjH"^WYU V9q~Li{Blq Aյ€/ȿ'.ZSvopv83DO>>t 8vxoJo_>\H=ScM`H{.H4|[`;Ig|O%tYrhrwvR7Xwcn\vD7' ;s9e ;8ڛ::Hxh11Yb%kjW]ͧVUGvS;ew@s)\f:k|:pD9 䂻G q2! F!R1zGx䀻Cݽ8.HP;$e +dD=DtN>|=@-]@k {v'NEv?"tEsC/ܧvn1fv07<-8GnR:i n< { ]CpGlLB IPj&<&0{/{2N Sdwwz<pobnCNw]R] ; C { ]_g.v֙K_'v֌>kZiMN%uU~Dvoek3{mk qFSv^v%;vJ,%;] VTCr]R7 R-$5ՓT=]N=k,U~o5\':Cl=vohlmljm|kG8vlilirS7=ݣ|o ~qdX暴 .8@ -1vs dBkjXDﭬ])$=.ZFb39Iߑ~?Ѱ} 3=&di Dw~n'w'Ƶ7WtVtAxk!CdQ;$/v jjouC=w|h{gv'Rk:}TJS[ H۽o1 2I5zqޥv{DjbfB<5b!o;OyC Cx ܥ{5 w{6!.tE^[;w;]q{k;v'N` ຈvi{ 6=5Т Aq.SL/*$ƉbWY{_SMQ]5m\Y3;p?e"\?m^U'ix'MC4?!?&v2;vid)|`;|_E9=}mޠ23&ittEU!wV~v3gص q!Ž CrCC,=L;w>J޹Svzg TS;vH=3d8tC;%mrȰFwܥHCFv*!ݻiϮ=FiQ^QLãd2Ei9OC;w#O4H|+!g5NڹbީLjKTt9gс#$2.NgʓWS-\QS; f` l~"2wIӛ=`}eC` x;紵.7g1jKq)Ƴn&Jx7M?/'ҩ'^:u©$O3~mSB{~$wWi6#$SlʌGjhl`C4r꩐!]"93k}"1ǟz܉iɄSNX&اM&Nrf?  50q K)y-2-/h f qڄ |alQ1;Z:*%JJz IENDB`candle-1.1.9/screenshots/screenshot_toolpath_highlighting.png000066400000000000000000002447761421102410500246440ustar00rootroot00000000000000PNG  IHDR.JsRGBgAMA a pHYsodIDATx^1$FI4MSl@P?;E&)7AzAbł&;ۻ{ oovۻϽM3g5gϞZ׿U凵k8o^$ ա+zky_PeQ6*7W˺c=k /wdݺu;o[[o6ځ#,7Co򶥼%ZxA}K ꘗ{6AZyA0g,b:%YĜӭVc ޽{/.;wۮ(]~O?_G?ѝwٱc`߫V3fL=wRvY UAP`c EtI)'*Te޽ѧO޽pGϞݪVWwѣ{?uޭcnv`x!sGnpa=^]-Ckn]:wܩk?ڵ16;mcvGOS]~k;uasg_,NBa١sN*7S:Ѷ}6O?駞l׮e۶iXVjOxC=c#ǽ-ZCw?]>H=F_$z[!W7VG(7:"*)y=JH-V UX{rQ˕\M!<- Gs\y(x|<O>$W\i+m.W@(0!D`2NxNE}oyI'ˋ套^ZxQcIzWS}RX+?ڸt!}q9xgxuq?&q2ίw'.qx_6~_oÂ94q5k@@/Zdëy" 8br(fbfI`T2+Ɍ?qO>}ׯ_ ;Lz۳o>8zW8G^t8H[\קo>}zǾxիwϞ{ѽ{]:ܱG;7i=:t ܹg׮uս{ѣ{_dzN׮=tٵKOҵk7q@]jv R]K8:w~Sv;СMz 0Y6ȈGk<x.=}=tC={$ЃKsPo[np@fa2"29gX' x*e_91P,aUt(@1ٟ41 ~$˚64qۨ_|1Y`l@`dLk;4ظM.K5m2bp2. "P่h h%hlՙgvAU~ {@ng  f"(.9rC1]Sʠ16D%1F c|+Q̛`DebXMǼQLd*u\@2 B2+ decDcȈèI##11z-,F e2('V U4rݕz۫ou>t0@G~o^zا g>}ҿ}zaЫW޽ӿw~}'d Y`G+`n°סem:oݮm<ֺO>٢%a!4Py@1` ({~sX 0&hLW:~ ^b`]iW],aya002 5ğ9bW^ $˚\jѰṹdhH M뗀 K.<֤Ʌ\X ?a3Q4 3c1D&6 $c+-\F瑉 .Qh c6a< {Q/"0'8JXR +gɂTN;$v Lb9b $Z5F0;&mc)ljXdh ]@[9^[܀L5uP 4yXTSdLɤ 4&b!0I 2 g`7xC*f1ٍdT0FD14:U]~W{uƱWս:ѷ˛}坾]뼡_w7nVşo_g4-}F.w9_O (SqbeL&&L\ o`"2 % PF Ө`ѣѵR'΍=jĨ#FCGLjCfj׆G 6b!C JkH 4؋0+,I$Q+a`hhL4v%^Bd2a*k S00WM.K7mzjf>=ix*UodF&Ld.`@lZr% GԻ0_ٰ^srV\* kWԅ~Mw$ Mʹ#.K܅a\0B1&2(XOMAc]m,F+Ďb Y,LﲄⲔ2]JDcedk)L+idH x≰c- [/^K,h*Blz^|}&7xD)/NW\9tmkWqtk{׻{GƱ86hnhAӿ%6kUۭѭ݊nN}(6a(nݺ *l3" IKXbOE &< ic;vܸqǏ@*>H'1;>?v0k0ΣS_0ƎP8ƌ;j19zĈ1rO;fH6vw̘qcƌ1v3cxaƙ1Ǐ=n4Q]e4ԂB0Jt:DF0+UA}oX#۴kתM!& ` {x>d,|^J1njf_1cr-"0îfL EǦ,9>kƊf96ͤ14ִ%\*"K9đ;Ė?\up {ayXз|!0d2خe2ł RQ+W 5}bL_pDI@~p;ğ\Iy\0,{0a3ACX83#$sAcDc)nR1Lj1dEA16M C5MO%Un!C, 2ŐIw #S-dqd].K<\[AS\^.`,[g PQgAJY`_cޞ3{^1W?;+8q³pL:bN&x eƀfrIB9 reTDgW) 6i7rpC7hЀ~dO1` klZ=nưX\)t02 ݰ "6c&('59 6f8+qouaTrСg5qc6&`\ZxXp&lKUp9b||"&K1F2ve@TL2\iz" _dL^ʭ R2dVHYT5 Q[_Aa*jJIcd 40f*įKr44UL2ҲRF[Zѿ~;K,Af0hL2i[lY^܊&n1ߕTdQ!i0Q7>yo/%޾[q,{߶Vⶵvx(8ͩDžJ6ݶ^xܱ;z;r_}QϝrSZ|Q/-zF hg_&ru1#N>f 1=I%4fCxR&=NfƦ,'/w]v$2`썕HJ 7d3r a;b2CFӢ@Rn ̔E&,IFk3[R\36\TNDcTT>;*HF|J"U}Kn E/4ݿ ȑ q'`|ogۙ[pa O>lqhy9jxj.2.asO>lɇM38YhV1YSO=4ivj*ve ێE(FM0eQCBKВ/6٬'蘱zŻٽ\hG18(?gk 2];i&P` aR#( T;aLj(_Y$9d B4- ^9TՁ4mwSRc˂JHr*6﫣 -!fYI*y%=\e閯b$aa {<~:.{pañQܼӟNϡZ)j1|{ࠬ4c!9f_uʱcO=SxSN=vƩ:عga.1j{~s } 9;aNq?aO|n)?gws /8wltq~']X{~ןq~՟| 9q9'=4򜓆s҂vhX.\`V{Ck5_O1\Ɖ@-LL)L#khؤ xkD}=fElyF[.ÖE0i QU$oJefVpUyb1+JAYbS<`~; lbCW԰}|ͤkR,K~TK`vOd2B\ИbssS&XƅbY0qX4 fr #XhOeY.<*Dk-ݼn[{ Z/,@FPyL%PLn1Na`;-yGme9z˥@c1d|b3_adoWNU쬳Κ4yZݟl՞V;ȣu86m;Gvg&L%K.]5wSkN8l=Ӭфk1Sk8pލ p-n[/~_q?^.| >Z|8hMfxq<{}Snk;LbYŐT 湌b"VC$\2SVZjiR PdzF ORry[W\Ǒ\f•KU!WzÃh؛k/PJP%KkoאQDx/G]1R#l#KZ0#f˵UԺUA>$oe |¨|K@7yX TNJa#r{]ѣxEG1Q -;#QqOfaA1KWrPeB;#QRj1jVJD He&G-a4Q?L9c~fA&*)WM(E>t/*Pb}%\H* /P M±w i,d>(+9Fr5|UxL4$涻LJOGØcn$mF5\艞Pũz;,nJo177%E1 0=-jzIc=d ;1e [+qgW `cT|M/N9TSO?>m ~Ӌ~Ňhx!:m_79Mmc3/;pk0_\r'496o.ݯ.ݯ.< 8ya?쏇kr.6ĄP0OC{.8P33ѷ܀s^RD ,IO`6/Dhs\Q;'leُ' w&UGD̔4LӲqΟd#tn6BۃCn:'MQsXH$Qa$f7% sbQj}nfG1R1q43iS)"rIe^,- cI% RK)i" Ţg %_[zXRfD[L&ė1/WYJ%d!SZnE$$.o&*).*o)mLfwׯ_q a(֫ %IDx$'6ҎV0Va6@`EddO> &sӒI 0ǀ0_@4#2ˌJdHcV%Bo{Y8 sm T'Є[9^X\Id)7PA$-d2ƟLȈL1<*K јbx %YL@F(F4&Q }s2 @1c ʜY 2)%@EJ\#$[2 8X6!"HJhdhhږż;Aexb&# IxBT.NԌ| ]BMBzwy\FQp=_1i>[oV|?C|fs4.$wS&OlqPz;Q'7bh,4c1&Ph,Fi9.1d8I -"etih̞4,(1T d*92 dQ/i( 62b9jCMADvhN[IZT>R^˦F(@()#TWI" N1`1xDԻWoO9=u!Ӛ\m"gCغzڵ[.]^~Sjۦ-~)!2 jc0+zm˧2߉O'Nomc[dA Տ&B{ayo bdЈD;+df滵%/k_]hIA{+H&w~_$wW]JIcn2#ߥ 1mL1JM#m̾ҋ-` Sd ϚwL& E=W2Zbb)/4F¦ىOv㓀+V&Z7 RDLZPjJ[uu[>I?nߡ=J)O="O$~(О{/{.0$Y&t5zGr $uwpi#eU=<_|_v~T\Cnߠ1cO6h [4,.Kq˂v2LdС~u$ d@&&i}1zZ4@g;9ƼP̌oI T F!B5LjMj!׆t*8$`bv.,a0- 4 Z2b a`jӺMVݕUV|1O<~"2QV %x1s }GxxXd{!_F>䪸{|]Ayirr̩ 6@`2afퟸn?^a:(%9M!&mTzux]M/?p常 kØꦴP,tXr(V19tj3y}_KL$XZTWYZL1<1MdD4FxИ= =BSi1(~kRbX[62Mbd12K gj03g#a3_e҈%X,Z6CƝ7?eV'["jiL?cÏ ~0Aa+C8,d1{${x$nD;fdnEǍ!^oQ_URbf/"dbeBz>QY:ҿZ+e'+>c\ \ː1+ܔf4.~-+k 1_+W I[ŒMHf$S;_<&WYn!s22Lndg __HcjSQMҘj#go2HKXV"n=z@+Vmeb+/KFy,}a8,}a 8+ebXd":.cLP6ǦCliB)+/_y ӭȄƑmCd_S eds9"AY,k ]FA7$p.v}oԢ "%nTE2 :"ѝ0IljQ8 =7]mOlIef1gl]P+E<1({\z"͎/'AvƑ'-!ge+:Zs̶/ \w|"3齨ߠA_<èrj$đE1Z6XЋ8A% 5!jAH\S5n·Ƶ.ޠ(B׹6} $BfpӼ:v$:>FWX@:@`ƜṔ̰ ֭W5|Xk5` Ģja!lr}` Xk5}һ}|Xk5` D?SV=k5` X?_zضm:|k5` X@t <XQN-;>5` Xk >?~V1eo٨S>u9Vkիu£/>ޢq#i6$Dy*}cU-!TXk5PT $!*brj\{g9[k.g=y\IYO7Վ}%qťn5` X*fn2dl1I+(WݸV{g9[k.^]N2l-v#ME-dXk5PF13 w9+(oi'ӿxuOצܺy4UO\ M]Kתuq:˵8тҘbM V;ihhCk5` XY֝V\Wlz;]MX&P g?UW[s_' q٦l_U^M)hPVh ӇE Zs.N` X@k`νzJ֬#k<{1u$fPJ1;o4դkT%B1M괞A/HNq!Uf'È/9 dĸ\oXk5P&ضKhJX\1Z+^ǵlQ0CڟZ, ݅Ak5` X?uPJ~r -PߕgתuxB^ |Gx2BV,k5` X{̍ 00Wvq֪]mی4u7QlO` Xk54fC (M|Xk5` DՀňP9(~k5` XX4@+(aXPLútbr؇\Xk5` bҀ? #[n:1ͰXk5` |bAH0g5` X@|ZAG.]buU,>sKk5` T+Fqb&֕Pc*# ` Xk > HQ,>sKk5` DbB4b`2XŰ5` Xk . (F4b+(޹k5` X@cbXk5` īkַo_t}╭b*[c Xk5 QLہO ˢUlY[/g XkT5[r%8 lc(F10E8ՒjL :cAk5 O 7#ķB荇zbaT/_ŌoATb5I#=X* {>B|+bxЀD1X>}dVQ @9Zׂ-%BD:Q:,/Tk|EUȟ4бb\\Eeժj;vs׳'5w5L OD|n`ȓW=/0W:sJր,ثڳgOјŌ}Ŗ-[%}ܹ说,8dl5(*E'Ņ0a_Ek5 RU'-(f-(& q,8Xypܒ&ŪPl۶m>ঋr9PN#5~m8e)T1+,o[#lokWNhٙ[SvU>"rہ+)^}̺Uo` X`OD)j@aN(mvb`Y@iiQKKE1- ULj[` XEXo B:(֒4b1dWl qok5F@р&0V85` `D)j@6+)^bxYfk5PN`+Y9cA1ì(FIڄQr>4hŀX0a4 ` Xj s(v#0~e+}4byI+@1#keǎ˖Vxn5` 5#U2ğֿD`${ uqhObˑ*f(n:n"yxe%Ok5H1؇,&HV<|钋n8FC^ܒ|Q J'XU,ʢcǎJF@s Wf XP'j p,b jTrF4ւݪ+0`H_o6`oˣ 9A0y .O<7ʆB5b2rߊbd3gXI/b X  @!v2jLUJ+פ`+)Y,3I:AV\M#V|]J9ڸQ,nb@-iˣZbWPF.k5` @(Ǔy[h͡J5uU  ȩA^;*f98!-",'&o(VA E1TJk5xQ,= Lؐ we}墴 cI{ڋZn8'b+X*.OAb9*#& LbsL2\5` k75cF1Zɋ B46*x<81U,_Q9tb<zXXŬpWok Mh  2XYd Xj`k{fcͦc(fbi+(\Ċ!9 8<)jsteRU5ˁ r1l_jhSEƾ*sع+49j]`3bD! cXs` j }0JQ`%bC啪=_\#`wk9bk~(FA|r΋&i+&OڒY@ z :cr}k5{*͢tPL8(uYŖsX*7` k }0JGF,V:(n!n'L5` į}0ڱcǺuK!bGF}.E1ZAbr;'b=G?Jg:@H /Bj0؊+;?y7nܸO?[(obY )|QLAIP.Xm.+35j=oT:(7LS}D ȿBͥ5]oe>cэn8~x]BR׺ P6w87F+Ѷ;6Q,LR* 3.u5|0ݯ.\Jb)(eQ:(FbV1x'e/U>#!ۣjr2V1;bgaZ9On)H9k$ךHw45t@nEѕ=%@P蟴;"iL9N0 d79'|rӦMQbI(E`j@ŤU[nJЙQVYI_E -t0:u`s|;Oxbl ֜8 ߚ:mS LvZ 7GQrڒ8\]uPKPȡM1=2-و>ŋoܸ/ys9g#hժՆ (¼v܉F|MUA(vZʜ9sg};FlٲfbY )tP8 X Ju(V'imQ8[u3H8$fjp\b*Rg9yy\zhAiBw-ZfXkVS],ulVW2c&NN6R^oٳ?s.Xm͋-4i.Yr&Yz\z5~~k_C {_~9|͚=ƈb7;k΂1&!ӟǕq4Q8̺"R,Me!d <<0@>eujr%Ôm$f=.PT(֚VhXL5?zпD3ڼYSMwj. cr?iJc+;ZQ }:D@(m֬YaT",`/P{l'tҷmY(({۶.-Z x\YK;iQ״bOi%hNVԐޛ9rn%RoZUk B~ZSb Jo8іbSk}n7/Xe#ctF1%orU{*Xf 8Z$` ,X{^|EB(F. @X_ _l_@P, lFlDJ>c0"京@ 0PZf.A1i!,^\-r_:FJCa w_:(F&1,ez%O_[_RvΒJRy !J O"Jeh/Wd)qYb%G%;#k u 01+4QLbX1GbϷ!k5pX(6ӽzTc>ձ:(y\ M~領Nv޽`;p3(UY@bKzDŊ!W_Ue+d--V /^cLfAVjOl<`̱`PUSi/#YQ *|ٲbł}46k5d X [}],2eɐ͛4xK=bf͚ s x رcfC1"c>&CӾ_PpP %;(}}6k5HJ+ʡ૙TaAIV1 k A x0zEn};w.Jl{nl ~ꩧ"D.f[һG@1:[RYɀDPǕG1pW=(&\A)VPbdYlVp57l`Yk2 G?ٺu+9[T*.4QHO[*a$",c&Pb[,k/XB9X>̒tkNUS+^}k 𶊅<"7V1%[ -Rf寳جb<.(baV1#TL$`$\'5?ͩp?fOkڠo1ER)_` 2cb ' = gϞP 1182қ^}ڤQG~MqK^:WPw'kH`K4b.Rׯo>}gOFg{}j_.;;bi5H]bQw4Q QlǎP%biOGKe=lTwfK.pi ,_(pi@((ֿ"Lc+l<@"5)ӦýXgm?-wpӀ&P(6.,(Vw5CƈqOe˜^kԩiӦfͽXiQQ4baT4SՀ1Ac(ؼ0Z,Ś>쿿F\5(% 01(/5@KD(hLqbjZwͺuǚ55k/7k5REeo,4QBf\Ib0Vb 2`l×Q,I5H\xMo՜yfAPݽ{fHbn:|.kvܸqKVCyܧЀ>}_~8f1ΰ}`JZG혪¿5,X$YEUVPr G;w(ziР'xI'5lذM6[5ۙ t?ҥKg̘ɓ/^[o}qB{ @ c`d/jopb{TK?WGkRYp< V8(e"waes\9:XEիWQ) 6tcpS^:bYKFdeQr?]c,EѸ`Uyi%XX@H!=|߅gλ/Gy~Gr>`Psρ!b$×_W?(BIOĄ5ꠔ,ҰQ4ى`j yv!y": -TsD1'(@S:(|*. C=~βUd'c&@*$?<3&c`q0Sÿ x9%m=C97վ}7x#zIOȑ#<_/dӦMKӈۙ ^ܹ2p(V{L CiGNiX)tn=iwro;TQ+衘[18$"*cV hpDFn3خ]F ePa{V1vPFA+rIVMtt# G!ied{ÊXt9|I.]Jc^]] G7SN9ξ|W_}G/"]K,yw ǡ[f02Q*vnH+b dִKK]q+ @ \U*5@ ąRb#G0?С,2;5gY0!a݁/˒ wq@bɿ|rP tXt bi#~a77|s-՚֮] 3$>.`Ʌ b,؟5k}} B#o*>}'8۸q:plRDP X*OQ>e DBzdBhŀX-Y PlԩdX'R:J >E=UUsX4֦Mǥ!LZN(=7ţ}fU}lݧz*rJ5(I +99$~"eo%ˠ8k}:2 XgR}AOe[;!>)}THJ\v"F1G$5WQZuVl`;HQz*~û,3nR»a+k7~!Q\VpV1ߙ+ Xp"Zhh8,F1c/yEΝ%-"c({۶0xEb~~,x/_bE/ [+W3gb6@:u>8$kIJiVM6l8w7^;` }yY^M8b Q,P2 KT~Q,zjƥbePWŰf665 2SQXBҹ uhKN-YC1\;7i$ܵzU.]\Xcc1 1}Q ВfʬYXS.Xo}&DױG'bRPaj8 D+ҥK"9XQzF1 V%[bs"hlUNTfxT̢R {;J1_!$O{ql(PqNBݥGEzwJD}nI3V CA*yJ2΂Hڋ7 Emz;,)C3ScɈ0ؒ[nɈ0'Fa33U St28" K/rԻZ(D\yCr=(|*jrx-m7$Ѩs8_o0Sw]Æ S:*Zks2؝x\55E1 0~J-P(;T7nD *.EdQ*cLS?{n=VT_C1絢| 'PUSi/_b/L%^=F`_ʨjǸVez 2^`X*>!n24 :4{b*~9cbl(R_:(W!Y"Xp!U,'Jq*d~+bt>(LJpR@&PL8NV|wqez͛ 2^bf+/iZ@L(.'MbbbI|쳚!㔂bЄ~J*T^>zŜq*HXuPL2GO?%QwQQ,ɨۄ+\Ѓ I,r =,\((Vy(o)C(J\7>ڲeA\fbxY^FA=Foc)ty>!d/*c5 bbbE3Q!b9uB1Abb!nJy^[_\w(4sXbET~A1< X<Ľ)KU1XrfB|bbv;蠃Ms9튺 ,pZ-X;>M6bd{[w, < Sb&qɣg}By(b< K؍R!Y.!%; 11yw]G#-TPi,}s{ly@jEm۶P ǫW7Pz,LZW?‰QW87}4hQ,G>wM ثJ)@Jپ};,ݧotZB0" B\^RɐJ֒ҠX`7MGQ+mcl&+TjŀXHde(_җ+AB2lUUU} -)2QbV1[0}=Z${cKύgS(Fbx({P~qC,>k&.J'x̌bbvHr}ߞ2e+xKpee:+(lf*J:(J)(FW^t[eY2H(^p01C P¦o,:aT'-2˅b#j)Nbb(;(:A3\Eĩb+7BO7%}! ƨ J8pm$e8yR 111%j{Ge >nC;wؚ5k{bY$$ }bBYĞGq2®M_r#i2X( '7p X *@6vP&`A'EEph,93E<}(Sk<"˝gԓ4%a"R\ả1Fo$@XM|Q SN+u QLGK%Q'A{7*)^5^Q-bP|jJRezJWrW䤰'dHJj%ȂAbZׯz*_X2 ڵKQ`Sb}F+()xHstQEYei3bl[ƒnjJx["xݗ %p(Sqc>_?p  B('(͛*˳0D3emxADE]\ҝ QQt6>Rsu#TK_ltE)5hP~[lyW^ΕO?+u.(;w _|9X\OČ%XC)(_?vX_R$bbn(F&Ac ,EpP:j%U~V2̔D6iuE1%27^@e*8B;(ׯbŊJٶmb7nlpٳg׭[m|Aw}X"H:&1!{zp!(,wb(7%[F4Vs$&Gy,15XUL_ULQT`q)^ܹsoV[o}wM۰a_' ffΜYXa[~ 7 D"n, xȣ((b2n̑RĊb83KStqXgzyZTKU 1]Ԋ^Ӊ_ŰFQnjn0$&P lԓ5vah/c'h8tQ!; HjQQ̎bt,K#IiXhi aS\yZӶ)W_(7|)QyBo`nզ]5((fZA J>trB !hpRj6$q21Q,1YHsM!#ݭbҖc3彚bFDj _n@̂boZAY.[⚃2J=)Bg&t b(F1FG1UpT"\*\\X.6Y*J! VPb;d[Кa-50(F0&ʬYb #'YBZ,k{,,0%q|8dc+y3)W%{ruWU I3"Yu.g-VEEv:,'HnJ$(3٭bf>3k,ރ2gc[~A>[{:gX飘YAY f(XAy7K+3(VZ@҆`@_9(YR@HhQQP,^dAr|ĢcrJyT;J(/^R(f&0`Q,cT. B[C$zȸTB'`c+QLfF4aQ(Q sOA]MlrHN3{9Lb;ac+ʧP+x5.VL:($7ea2SYl-D,I@C[t)҂:J|B>'q11DrPlʕx~s) nrSe ,(vBJE\2BPQ!RЌTh asQŊˈsHT98X.fY ʢLIu"*9ajapiE0F1F2%JxD^1x)^2'%ie `ô84PTXtchBA%A/Rf.Q ؼy8ŊY9dn;pF2(Vo ?$4֕abb81VfK 5G1N2h *7= V411kbKD55c+քL3FȒF4ޠk(abbi|?`K 5bGi϶OF1kFpVHEX(A,9ł~e(2+pwj@ňINةF[2Cf9QQ,%AQ/HSg jN|Dݪ!S0]یbqM.Yh0 b"b%%abb|B4#5A xpxUQ 4V`3Px!&,^G82EЌXB((K[(GZlsCX5m6ػ{֪] î3X yr2XMvҥ/jB=Fqfƒ0F1F͆C1_?W` dPbzQa׊m8۾Q …ted!4(11~(Ab`ҀV1ރ2&%tH[#S4411%tQ,>7A YDa+֔KAȐF"abb2eX4 Q >JrS:(i#FbF%F*>)RMƎ:($ #":=蠃ٷwYe﵌b = jQwB( !.a{!VXȂF%KSLh4z)&F1F>f.2H ,RBA19(g֫WMw]|MNL+\>2!6AӀoM8lt%$Hڋ٠ec >XBO}n6|dD2 FX!WZN;@4(p;^+C50^)tbc^Q,"%?ޓbO7)4k ` b )@jڴGT*;9Cu9^u$u}`\(u%fNZ(֬5(8k\LZ$aIK4!aɓ'G׿UZa؅^HK_t3`-[b2%@4b7t {i-:bb|6wJ@R VZi AbUU3glAg֏1Iw'D'N|ɘ`^7oKhGưrG?Bw/|<}ghyBx\;V5|D b*``m]vF`0"1b3ŢL,E6""zTi(>3q~3׹=B?РAfÆ cAjG2G%jqؘ*GCXPC3ZW3՚fu sieLI HŪf0;$Z HX7ì`5|[hz?#x㍢̲xGy$2F1F|cF1AK$&Yj,of K#nI=ݒЀG]Se{ XQНt/" 'u1cg}6zYgi|`c$Q!!IX_K=mC1IZ~E3o"dKb)~qE$iI@L`={̂ ,fP.]wyGQQ,oaA?!P[ZJVeθ)ӬiNwP01pXn< h(! r.s9 B4iB( ޚ5kB01D*(y7Nb^V1u58l$) 領bbg.TMD*X1W~8E @((ҷ͸Qb-+(¼c H˯Uf5(VLĮ}'T-$~>Qbj QBH}kd(QQLccQ`h9;(eލdX5 Ū̘am?Ɖ&z O܄fK]24((QZ(ⓗb h O:(DDkX4a⫁4s'qC %>'ؔ >YF|?$IT`c)' DD|2 dgX3Nm^uU2ډ_j㎋Q8[dBEgqObbEl3X"B(>c+ʔ)X[_~mڴmYM:q V0@]e9B7{_F1Ɨr@T4F,xznXH14HS@Ջ.PYS&v+ND^/k:8:FrK$C>OyAYi!bv?rc|Gy$=2Xmq~0F1Ɨr@TAejra; 6yD6;Wt'K''On!+eFrK4CbQg>SN]6ZӹÆ IDd@t:*:w !01"UWrU8 [cŲ9mT )Ogijԅ((ʊKCj^^!6m Z!Mb"<(( +]q2?!qa50ָS2 ! cH_2`,,t)YF1Ɨr@$"WRz55l06+)!cY,w/>iQ@৐(ygڴilKs&Bkix#S/RA۱qQ̏~o=%s#ŶoߎO=ԍAСÎ;q%3eH(ˌx, PN:ePO?2Ry|J|>!'M8aK l6F|bq͚5۷n4ޚRa$2p@1`g+]_|17#GԔ7>;h{Y?\=i.[vҳɣwZGK˰[!nw}uQ7L(F= W_}g}Q2tN믿ޱcGYBR:b](Iq^[RxM$K4kg~4϶Ώ7^%C= PȂեLsXm= qtoihϭF|e'1/jׯǬW^e?0FI c aj_mM֔bMN:cŊ;7;br!= Hx*^^1ݶ?zל?C"-is$- TWvꭳ'~nڇǜzv[ܿӖ?K!eyWɧv7cD1!Aa*[k1܀%ERa$C؍Q,,tD琑 ׿u kSC2b9[ - *lWT"3L_hvl[~@@4kڣͦ9wMM9v7M#HP̮H[6#@bG1߇}tP,Q|g }U[CP 0N ԩxf_ds:6c_4AV(HOpF8 q`!B}دӖ[bbOmF{J'-ڃ^͎,CmkjQoFL b&5(9l5`` Xottu0Ae'YtHvR,PSrFm;(N`߫`}֬ u_Jv3E'@-0RcP0Ac(ӦU,)PXo߾Zf$kvzlv$+bN9,! Ąa:1e˖H꡿87m۶|;xuO@'kQZK&MLC;(raa,~@N .ДYV1NC䘈4i *2NM)~]2ߦMy&l\YNqQ /OxǞz+B3tRN۝wkJCҲ4{N_7t>irKvDIb/' MVZaܹs{g}{xqHww#sڗdAMeYA}k_}ݎ=? 9s„ ԓO>? rĈwjjh{x_:c@ECE85PϚ5+UKFa+0vbgeRwڈN@Z LeB7A>bc?,hkQϛj]D(S%ĢLtI` SN9 ݰ`و@8`vXP,L|{@30%.ZHU ^ڵXH_G T1,E>}Xn/ 4F!IBT*aq}T4h0oY&|` )Р>uyb<ăGMnf6<q !42ac?2J86nxupV I֮]1<4} x hxsW~?~ww4o- W1:uƍ!'_>l/^`87QE1.Vu$Aw =K@:DtaGє~0t@5JD!qI?B0bDԁ  a8xƥ@n'D>t84 X֤Id~W,|v 7!)ipp˖-z5l+=$$ (jO~f aC0+޽#=>`:D(k(81( o@ Ԟ7 L&MNP~I\aa'տֻfUU !BЬ~J}DDL?~%8^Q C | D!޽QSXK !,x`ـ c@(;-YD}.\N j,D.x&Xw\57 0H- "Ҽ(";lB$ hEPȾAKa'[0If`"dϞ=I@O<B-P/̐~ Ql X,3L/}d0k2Ț&؂Fl;Xo4#cj @vӢa W`H8!* .sKݪx4Q +x衇v)i' jV:s>ipzX%5 ( e5kF|#: A `QSMzAAiOk#a \CdLGl f3 4GD5лXe_ I09@c8 LΜ93U3<0(܌{)l9yȼf͚@]Se 6" HlDZ6L_}cd}ċwyp@Ŧߣ/I F  n??3de<QS`" %G1LABoC)oW2!Jq!E( rˑwsdD?~<ŷ^̰=iaU,(DwZBqIśxxÒ.y=[l~ _f, }IզbTl,cF*YXnꪫ\eO Ɍʈ7[p%gѱKR[-i}@ WfonEM&:|`N9auKHx+Ҍo.RFOf%1pk-sK8y tq)0,BHWRC1n|z0+<4a#ac+Ɋn(fy&gsa'RiP.Ȁ,X@]z, 7!+"H0,m$+V`Dմ! H$XÁ(>BKJň*y30K?&5NH{f=BJ9fy8Al}r<溜+bOÇI~ c (N׮]H:մK6P ¶g- 7]Z{Րyر?a#aGuX.vq탥RQhk2'쎴kqJ@hmŀbBOxMyVrX*|ȐMXߦBYDzD9}}pCApJ@V1ǍࠃmIM/b!:uaD; HǍ'&ubq_$|g?D*,tHbQA`´@D8D齷zDŸ}E ΃p(/XEp9VCH"$c\ێ+a4bٙ| &;H@14bUe=,olPڷ^(F)!BFs5@1_T}[W`$pWQ /ԃ$SMӔ w Q8xAgh,Hb0G]~]$0D2NG"\5Q'?Ow; b ]w݅ͱr9i=0",ll+/)6񬤝i .4lcB;M cbJvP{SBĊ-H"U mm`[@c袦-WCB7u@(fy'.," 'ܽ?ҐRM aPy./ {Jc>ub+aD:X:`СLJW((N9il|47> :_P ˰ís\=pKlCQhPZ(!_QbS վ̸$P_A1KтDKN4bC1{ub+!kl#E}u$!vP1AiP袋܍Sߍ4Yʱ kKLD&G 2+ej_ $P;DJ/ #^ Pub%-!h @]vx Ǩٳg#]j@b<YjaJa)TہMb_ ( ^smD>yBfOD5z^XBǮd]%b'iQLcVՒ@1! >5aHnOOjXIi:>,+at#X&&J@Qގ09prNR -^ǚa\guV 4o1W@1,AZ:/ {Eԩ&UzΈH(VVZ%؅^sLm!D}ߌbZ8[Xf?!m|%)EC> V1[B1U֡N5Q%tT~06 LbXf #tbWSW% ؚ4rg[&Qm"GD)X 2" vtZN5Q%tTi0:]aٙB9n^PLuگbchDQ(@}) bG>:,)A1Me((NI(l@nnbE#1XyK#_{|Pr=mQّ;Epb5("6[J(Qry(F?3ٌX:E;=@YB{R:bGz؆(uh$(Βh 6馛Uet(=ˢ@ my?K{Touڂ{w}^MX`Ϟ٢ŊUdKZ1X1Hf[l!pżub3lּY3Acv%=(h Үj֘;v>*M]!r{k[X45+?I /Ι!ZH/(}IXrcDR߇}tP,Q|/i bl_ؔ)I?lڑm<bK3> lK>{f͆غE cK3&Ռ|V(ifgUo%C_eX$fĊa`2eJݺu9ki%* 69r"= 咅 SĞzmB{~G6![ׯMjAe26ŒV2/[A'b}pu& ԩSի(>XfQE#kA?30䤀tˮ1m=!Z\Ұsנ:Z}FH(w(lA'bKZ>(bF2n]0XӦ&?bIO=:3eń)DD:y 8XB'u+9k"Œ)شiӆ [(iȾ)zS77o~8 7Ť1FŒÂgGDxb5xeْr32ū꠭1X)֭[_jŊ4=x [Z,(}wPHhe׮]ϳ>ۺukDv{#G\t)t+Z! q'?7̓>;vMCBo_QnJ;0(t*I>XPlD~x~O֊yS?\(TgWRFAaK.c+l@S(@l~-7[@*t}FL bBAc+_)c ݉>X,.kwxH׮]{ѢE޵k^|D 6bڵ+v? X~`I"~xw뮻; %%{G߮#G(=H͛wRl(cXSNbI|y8vg gԈIɐ_vD(68ϱbIF5U'F>6-!OV1uכK2u½{gxڼysh[~=_]܅/BΝ;_:$Æ #t W^ !ɲe|w~(0c^A>Xr(ϝ}TCe?uX0axAEsG,WHTbd&Xҷ#5C0ӯk$W!';seY\z=Q̣˗\2JS,(%c!ؔB`/?-F CϠXo (!bbحr-*v'&Y X=+>XrX<=ۉ|TC.T۾?~w,z3 ݞޔ<6X*O ŀP#<?{UV9> 6&4ԇm ;Y!QGI""_(Om j9c%ӦM,R^}U TT6lHgڼy8 @\AIbFXSVS&=(ZA9떩cwݴj*66jcbSkB-E7n<3 9Kޥ-TC}p1GP w$<^xEb/2V0H3:iKj}߿r(Tdӟߝz?Y61FsHU2b0P˧Á-,D F(~-Xtzì4{5L2ѣ;"=:vGRO Q$\`a={X#Ȩ;֯_vU &C>ɏE2EznRUKa9䍏ztǤЩ\u2bc%!&8F~ŒvPo*0x*}Û7"F8>±βDO[A")=T <_[ $2V!WB(F]p #و#TojDbGbIO=:å'0NSt{0MӢҌ}bEѿQ,igz {>%aw3TWH!qo#s>Q ] a$G"~۶mIP(+\q3r)knΝŲ1%=n;ħ ~ƍ]ХKÇkUtO8U#{-ʌb`vPW!O_29~;rZjIBPaDe!=D߾}5x.G?@1$@ 2*N;d{뮻bSLM8AEr|ߨ>ҟ 1>4GD5uuԡb&T ۄOtQ )ݛrRkQ,iUgŰvM}-`%j;s‹Q,FxC1Q۷o'TtCФ=/:"! , c})`<-Zdg,dxXr8n_ #a^(VӜ9*q2Ρ2(eFbd0wmIݧ[~}ŧgQb/0ؚIB~/^| 5#ܞ:D1U:(!foȜy}gO:$ QX$D#85y$(+aTM 'JwBJb\!B#y衇HDy঄@ӗT؃ rQcO4Q1J /h{~F]ď8{K8,Jc 6tWBC[seod݄NFv1Uq@{webȈGFY]UaQB&0Ì@3p1u@~| r֧Mžm+!~vbpw#.H`kIv̉p!chϭc8Z$Q,&+$P /}tԩ&꫁d@px?vˮ*K6.$$RVZwyX|%ɍU~gϞ@rҶGe_ A1=(o hԈ A~`=AI֯ݻ[kɖ7_̀T]Ql_xԱnJҸ,\'Ѹq_hQ,&+$P >PtF9Q쨍\C`4! !pԢ#)v@25Q >JrS:;({3tȑ#A9mZ(ƧG|p'kЋn\s)*=`ȾOe"m޼9*f(/ u :/rcLQ@(c ;>xA9Kb2ǿWuݷ欳fiaL5/{M9JŰv!#[bDy3I&C7ԩ& t5hS,aMQ'؇瘓"07Un3ʠzG+7[,ַQQ=?Rmڨ>l`5qbHG0Xл_cG>X5A':/pǃbfC5쮻sR x΅]K@NK(՞/U1|B$-H;t!?fw~بbC(pעSMXd 4ØPȶa3s@/ߥEM0.RHCe$-s\a=Zoj %dpK{l}Xd =X\bbWf\5Į 4̂bhgz?t.ɻv‚ͩB1h X쟓l0FCt;vl۶-\)%a0}Xd }e.rF1[b1sLbA%:юbj\gbi!> m.[a%bmQLcuEp48,fg3.at3Y<9F?Cv ƀ2H!zrL:g ݷӀBY~[zbbU*9XďG\^i(&q_k 1F ؁A*ia sh"vaԬ Ɓ )+(aM”5vvd!<001@ɓ'Q,/aK4ho+F c2qFMąE-Aij'nV1Y66D ˏv+EY%hڂŒakG^W'5ŚfԌ$1%rb&1ev*/5 5{`H7%Eqԣ&H(F;sXtقX gzŧo =[0Lpm2f/SbH_W]w]0|PCaK4 rN6 {' z]|B,=GXLݕ{f(=i nMzP^@+dpE9]ԡt!ZYO`Dko !}$r"=VDbK>~F>{w{3UC^=ڈ]w9nɣwA/-G<$%9iO? ,r Z`K 5 55u2Uڄ}6+vP&ٟtV{Poj-]opM4GaPkW-]gҨP)aw\2o=H~N=eN8}p`3p~TͅA$YR/aA?3 crbQiS$l,5 4'aYgf xM7DF,`ّ݈[5 ]P[U+^$e4@X֬ (n <"6$'Vj){ 0%rDKy㣲) 9F{Hlܑ24൜2f'kYM3'Ĝ4iNԝNj (}嗈I=t4'>n54h0o޼[Kak7 "mRF L5}z/$`2b)kzCJpEnM eRu*qp2\S|Uj (!G4k 0|tQ3UqK Ք-So٣>52urjX c8n=4K!RZD-k` m`-! 01n\q;(GZ(Yr1 -1D/"\P9x7qX*ّw5J5qx+V>[TQ`}  ٌ vs[Ǣ|n4t\E\55 0Uxvsy~_r)#]>h, pGW Ȫ|`Xd~y7z͛7Oh*rrXpIN:(f{+(iKk,Hj.8q )QJQF i1 G^f-H 6V|,!wW`K-gMZ(F,,rKnP1a2_IxqcygK>4\ R2iy䑥2(3`.xOofcv"ḇa>_P5(܃[ΚtP̄1F1(5Y:cwV%%5dRL(֧wŹŐfѫaˡ=bP/~ ސ1F!˓xKDG_'pR!ӾI؞ҷK 1g !| upzX , U,^.J.V>x{٥K"xcL`!ei71Dhpҏ{l# T}7BHHn5(D`р 0(Vs_\OTt$UB#w ,-{M{$E"~֛V`UEQorrFt {ɂP0X8-'GcmHOFB[wHHfk,|=M(AfA~t56jU0˟go9ŀVnxbsνoɕw}Uv\2 #R2ZQt'$a dEةj8nlUs%qu @GTbM"cG:Y>~GH=~8li}UBXgd Q, ˴PO(Viaҏ-sh {~4dcQ:mm'f)-Q]Yaka;6$/-xpPL]?Mp  L3J1U|xys kk\+Zϡ͊.Gl 2Tbp+"i%ҌV||y'[pLc!aH{f g вǑj•/2v}X#J% '(h( F1P8?ݭb$+59:˽g_Yh+3to(WTDQGbG:(!>Y=(*j* 1<2^)b| 0@_!u 5_({f+.,b(Ŕ> dsGR4b"+;(CL'tfGnqja9#h0HZ\Ieź~?tE8pjxm EęAώ܉aW5q7,j8 W%܎Uh셓SBڞ_ꌋd׉KYAXNlHHV V18Fv8'SG 0"X.XD(SDt2`"&7kަe0^yl&BG KX,.ęwctHQ ފ:׶``MS.m8EA/(b Ɗ oI&#塩 9 \6t(jbʂ5F8,@ rƍdbp+ef)kwl _}I-2LvHGPu0!Gv͚5Gy$rM8g@Q,f6["cs@4PL>}:XLpI (#mf#*(j/@GWA e )YŔLX*M(Fv11ey*l7/Վ T^LTlO[R`aK^AQ3c;d X5ŮEXm {2PDҬ[:510VL9i QL{6;rSS3ǖ!~d+ xpJL4u( Dx,[Ŋ>/eWXECS !";bvd /a,݋J,]p#F1Ɨr@$꫅{(ӧ B.fGnEO= @!\^!QM*{de˖ >5OϴQGu衇EMnh3z[?q8cԩ};wgŋfSyUb"<(frb+V%l8Á8C ǁ <<8hm#b18h3Gpj9Nvn?8#q$dCMzl 1  iS,?W`u$B  J֝w ; jDN/k6mg(mڴۡˉ=Q^̘1^q.ڷo 7@`f-FPp1c#ke+[i_IP̈7 !&t.p`_lg~PLfֿ }GGxz[|=T/g ={؃ԥڮ`:pIj<:CӅ٠gT@[3r졙PGH Dx,QLx'm?)'f/OD TtQ a,x_Wlۏl]t8+ncn/.؃6D8n+mKn.] 01"HjA9m&kζt7JؚZ3¡٣&8>+!o2>xPH ;4§"6/su Dx,Q2ĀbS27]  "^d\G{_¸8$#2isٰaðwyGd8aNrh` k1Xf- K9i 3bM(VLb0Ų Q 6x/8I'YhXhGg|ıe7B0XtP즛n9W6nx֪]"dX'h NWV,t O}/ މx|41̟tsVoÍf&懆Q4b12 8V,T i5[Ɏ2gn~f'}_lws]p_~Z,Ä7~;( 5x,b"ɫXAa4ap405j2 9[Qxu^[O^op9 Uᦜ4 UWr^$)C uo񌰣zJd&9qk^U_Y 4>Ǘе>˲ X9%GYࠬGf̘^^=NfQ -qL6XnxsƐ ZA`qVIҾ`^Fׇ!q)]ؗ_~zg dSp#&[ ΝKbT,(VB4}KJw< xJ(LboG BԱ^kKۃ0![AXccC 뵍S.E1<` dP]s5 c+|cr $f姐+x"( .o_cE/!l ! @lwڸ]83a^sHާ:madV.!w24j'`6(GZFH޶: c+Tj\>MQ3䵂icupQ68 ㊥ V O?{f؎Y_ٔaO.ؓM Rp(MKcl+.!o]S>5+?i W,+f>H$ϼiv}rgI01Tb6l )RR( ET4 1v$! [33j9qB:7(V9 #B1 cK|IkRטA񼇛2OlW=xjs`c@ Xff>NJO~;-<Winfx|k"Blb"S,繳D\J:_^'ƶhGg%)(ƀR9E13a(Č6>\֊2cEIDGOoFL}X b K\G_b"NTժU5ƼzL|=F<$b2>'vLQ67ο^8Z?fN܅q m b$f/ZDʈ"wŴW_BUe"j`_`'F(*'Y`'4RRW*@gk_W׀7ojUlskzķ]|b~rSEрwoY{۰^ۊ:kPlĦ^潪bSy(V`2caa9Rbf ,QcyTY +4%n-a ĀbXlsLI5$ QX;#DcCg8R-|@kyߪn`(&(ʖU1Ә}(_UeK4k(F5G(SR Q>L,Je_&_|%[+8jEAʉQQ,gpAX s[H(vu Qf13%đqaYNWHƍKX ;~H&C2Ux}QlΜ97)eƍx`ڵkoذ 18V,9d ࠜ<|⫞s8(/E6~nqŠ(P<@$dFk8kL4,%k["LȝqޘXI (&H )^biJ줱PU~)-ߣ ^ _ Cl1i>ZIh 2QV1*VNζ|2BUU0g8kv`фkW% /XI (0V+f3YKcRZ`h#49 '"\pIuP2i>ZIh -*VicX/4eK>isS?OZ)+yG֧O?.`@_J0XHM Āb5ʲBXJ.rh+_ӛcWR{vm7AiAKY8F1gLdp1 H#Z-_J Z^Z1E}놷X,jFݑ}ѭ@23tPy(f(DcxЩtǕƂaxFڀ[{L,Kia@X?t?T%*9"]0ONgdQ$Ԁ&I+'#5kVzAlTbIc!a 8汲LixW ԅŕO*碲]s@puMc{F1gU!ǞJ0XHM Ąb'gQVr ݸV-DT1rYXAd &{VxRY|=_i,J crMiqa=zf!HkV P9CҼƕRC,3;Zž?|.r5@QN4h0gx'e)pPJXJ5Sy+8^۔!N̩'O'ZhO`+_\:E8CW846b!8By?-#v]'7ٜa:+F2#;_PCh@5aX(VScXǔƙ+蟌2ӵsa_']<}^bjaKcѾEc&b3&h*|/ R=|=?#O 0(sWWYn3R~qK# HH7k 6X.Tk3 :kgSӎ(XAd +>1YL|BZ1McѬ>}#/:ɕ/JzB^_)O,xo1kn+9PrK^ Z|.CXRv9qw4b2fkM<ūb3{8V??%( kLxRm8U9J^4EDc]@fty%sF c22 }4,jG_G1u`FpsHW^X<-ƹcb3^LVk M 蠘H*QVVRaqRZǓt*G3a~ i %C*cP3[头п0VN%Ra Lek|ZwG(^H_ddfRqOSxsV3g)lKjAy5kX:AiNs +X헬ԱI_z iRUbuc'(V\8Ԁ/](gΜ)1NĢS 9V?i>~r'3z9 SI{%'@ox{K$kV`J P*2{]`(BRq,kWшI~a(~ssHeuu$<ƹT{ҌDaK"k@ 53g$b);L臚- d)+yK giVq*GMc1,ybSZDa 2 a~ۉ( @36FƤ(2oPxqɼ=,tvarȄԝCMGRg+OxZ«`~s>l+2p)j@ Œ3Ys+5"Mc} Oipe10tY`6#ܩn- 79q7TΛ{yZDG'F# f!opUں$H{°rYIFI*|Q,XT܉X `+V7g9. q["[ԢAa%G}:*z Gߎ]1Zp8:o ).gܢ?@Ms4pݧ/۸a.)LAmk1EqacB^UY`kl[9vϟ!( njgv3e7,HB#q.nMV4Q*px)PĴ-h+4y٭b@~29Tlf;(Cރr n_>P %i(l?il noIL9RmZ <@1%ٻaY5P**VְXs|C ~̣nεZ,>X$%VIŎ?x:ƕkÆ Lfb)Wg!su(IL]lcN9WuK.:X rX' Xg$H miz=d_ZKQ,ҺRv2u:?'fl O,e{7aM̙3r-r'fƊ 5 [)^ӂ -(1uTNyo(S5(I L?,ttP?ˣ83d yR$`UUly*Q p5cƌr5S6>飘,49Sjk5eVq2ͺ|XGoħw!!gI>Xh@j*(U0Hctc#$\&^P^;@Pg݇M+ǫCJd?<_Skb#=oC0.r:D2 +f(Ai|Փ|S:V?i6|Зw쑄Y5P0 WSšUS5Wcӌ4aFFr7lg\uU0J>ūD14Vws%+XA$Q*9;s @p&me ɖٸY];!WC^ekǰ=jfvHMeOT9kFʑ8 SFr7刍m{PU,c)%_;~+蟌arP:0lcAxn5HScgϽh\b5ɜar篖TTAs?b5EN cG1_'%XeKׯ?kkx3dqENkс,pP%bs $_ݱ&a )-:κ= k ] HUo!*uɟrIe}Ҏ%/IQ)ƴ}4~gf?c+7xjfB0YhCZ&kϫҰ3lKǽ2 . sEQ+廆 h+f7Xb6okР]2I?(Bؾ65uNciqrɌ>VX,k DdY/%=sR L}yɔ7+Q@ǢbH/îb_(F(S|sQt{mL Q S~&$pXEyS>*U*U\N[ml:+sg/Rˉ2v2_$*31tP %n2TR^?k,L"[ar/"o+P*&(cqa͍`菢59hLqɉBYbx\B _ ~2 J[^1,Vb%[rGrk 5(V9 #UQh̞Q&0|ji4W!/ԼFG`kkA[wa!se |x̬k/*g,M{lsAbXW1UHX1V b͛ƒ߃& /69T`>.\jMfܒy6_6=В-O%5PqDW/RSmYb (a(p,o٘BZvӹ ;;=~ \hw&9*G!Vcs-tg1ssEsQd=xRӀ&l}").X Yb'Ɗ 3J(f| 6_yǓ9U9 uXJZ[bQ pG19Ѭ}s79ΩtOSe T ~PaB3eb1ܒJk@12b)[Lw7%a}|+\bdimkd'ݾp'J[ł I6}Ůs<`@5lMӟ)e L?[TAR}4@(v{ ۘ 5o>)_QGsgXX*G8ORumQڣ f2xaae*QJgG8U7s*Gb?qy/k]jL,Qyk(6sL+24 F0Ŋ#O:N o1G/ظҵQr." =vjP}ep1W4Qlt \89Ċ9N,^](-xQ, (&i*Bؾ`QpA֑UsZqD1%ǣtZ&:vPx/QQLjoLVS+\*9'^;(5 ?%ɬIX$P,Ҁ<)P2KW,[>XfMBfFq@|V1֭$])Io` B[A1@W散eyIiAc*q㣤TX@ii 4EruI*قD/ AcbŌ8VZ֩Sbb5kk4Pds49*#x5b3f̐(X^@1͚5Q: k5ȪBX$eaX2R'հjn5bUUUdsF1(vbYX.k5P^HHeQd~"_>(w|s|(F4Vx4k5|~zULOt5bdCsX b,2k5(i dŔb tW_ #[~Xv7n4YPۯ[KzrcY@ih (y$T*ƒd j@ňQ̄ٳbW4f+5` fIP 4V`k<Ҳƃb X%FrKDk%15k5_I(%*&PhbL@ k5` 0XA1Ok5_I:(vUWI*X:` Xb"\E5bW)7"XS$wȚ.]Z]]ru-[k׮$aY(Ŋ="0a3뮻n֬u<|k50dȐy[7nܰaÔ)S.\=_J`YkQ,vr)h ^صf2p2@ϟ0p0gΜ}yyMrNHspbclB ?~ {4Y63wF;v&AxB1E461#B+fFBX`ju{_QvWW}߯W֭J=_#p@Dx i'N,"*A"FL+ /ppp>ɂc>z"̮Nuwn޼ئMx.T0DǻFD 0T>Ib8AiY`2Dos=[nzDD~H&M؀.FP1;DDT^x-/\L$T&UFj*&C*V ""h%zP@bp1BoBD bA%TBoP~gq/FD@D$%R$2ccbPGd@@+ ٳÇ%<9rGGs1b`5U)DQ*F\b>}[( TNǕ\Qr~ 5bxmvqceOv.mK%WZ)4Rgjʨau&{1=|IIDAT}/馛,Yr-06{4uَ2QF8F)9ݫJBEA`1Ag';;;S?8oߋ!ncɦ߾sE,}c?LsRK0^!N,׵J$Kn51P1CŴ,~F@&QÏfovͦ`b+b0?bBRS-%ߍTJuˆgrYU]drxx8e T~V_%G~}1*Sσ{~F4gwtcs8Z޷(Q.z VJke!u-\-(#5- =#$y34obT-^:G+,ѥb#Fu3JX6acTLy2ZwG_-g2̎ldi^a"?.`󿱒._IJe9_ѭIV[)ԝfS v*wu-_ OVF lH+mhr,)'֙_nAd6E9C)^1F0@ND3y,%soLJe=.Ρb{Vc~dbrO_̥"VZ*bO+r1+G={߿ð͘0du킪zaGKB$J (!+׈$Tlb;'(7(;(? ʏ9T,*#b[xUwXU-IGijҊT"n;R2XTBIŀ *6T̤4@@NP~+f9RD@ŨScx(83l @DZ^^G_0}Z&(^!";b]C,DpVeE* a7HL D@Tlߠ5m$ĊZizeT%LS@&'}p3ڰԢ6@NPzEM`G*f bb69s [ګY[VU _ƍZE(Dq$@MPE*f bbI|(G{礬0wr+>7EP)cF-Q'N)W7S}zQX((ݍ'KHDū#j1?SJ \P'G8KS(EKPهDi6Ձ!vt*$rN uiF{ s-B|C,I$2 {Ilv&Nu-PЯ:2A `R>ATFģd"WX*T5=p|ZW+jM2pIŨc, %`h"V婥*ez-W_aNoE-LG!j&SX#w)ՁRP4P񫵈zjU7AF~^E+OtS1x8bdKvHL'Twbćr\ZBj'u P"4ˏtz_zJHCJQibMt6Sɷj5UU={W_+f0M {l]F5¨S*(k<ʢ*h„6bJ2~^bm0N |iӄG+鹫S\q,)ٙa%:b&Փt*C3cU4-xju1n}@r]UYH، ̩Rs:ڰ{PxhyIV9tDKt@A9cF,Lq7>WjB^HdIK$~ATG su ._^%J(8H4L-ۗ1ac"yO YE˜=*|6E(%6B}u(Sb3xЁ?11˯Ӕ\+V~EHLo}Q8ꎝ[l߸q {^ڈT,y%2E,T b"Hp &"31]#ca> u;A^1>Ӕs􊕄9R')qSJA| %s.=4t{WG&hGG8ᅚ۫.}ZdK KvzN 1ܗl7jQ*-2K qپ b>>x|qr{za=_"'Ut<Ŭ5΍0Y>R16ȨزesGOq۵cWwn֭7o/< ʪ#,|LT,gd,W,_LF:#4?}$K޵mgKloac?!sh33_e=Wxd$C [YQel29}9رOޢE|QOVO S\螭.Z |瀍G#0x[X==*F?CEX%;,Z0}7ދD@DrN13*gϞ>|-)[p=zXUӑz>F*=:V}*lIoi*@h+E*T,&fTI"FP1Iir"^r(+4TwHꍎԳqQ1: 䇆NP3Acb!FbI}x^Z{;{MkbӨoPSlbs#{L 3iHꇈebRvW&%J+R 8A~>1^T0"IC bhA@*fAMPǧN2e |,|> 33q0 "P)TyvbHPTl``] vi@f3b\pAbUab&-PnUle X4={vvEb@ŀe2 (۴iӂQ8 +s٘!fhED؋BČߠDR'b3gkP1LzpHZ ?/"X}[R:!"f0*^z#:ShA# k֬>sS!AW@+H#& J6F`'v ' G\mUV}gՆ5rT(n;R10Mm wy˗/\ K}#++H+WXOXm jQc 'H"&#3A g_)K}ޱcZK.y':,ba.E!"T%LSb#|N jN:$Bŀ} _җ{3<3 Q D@-Ո@0*O}H ۶mЇ>RxG?O F@D H*>]NQ1r|衇fIS??*޳XUZr UAJ+>n;NPij`TO~--Dغu+xR͑x>! sA-j Pvb&(a@ ;x>h$M?vՆ5rT+n;R10Mm /bHŜmm"T%LSbRزe4AW,G{礬0wr+>V8R)o)YVOAoi歚*@$PDB+#ה: 5Z{YZu[#=Peq#'0T 6zk>Z0"B1`Z-a %$mlMuR  pR've0G-~)eqT%TJ/V#0Bodu*(%:PFȥK·%ETmfa@ZJACn#HvE99 ,KWk9f~XD59u3PCk$.D#þd9bVK ASLaF:+R1$OVN *PV=[/WHʅ4SyS6oL֊1*;> H;,pc%%U[xBZ 0$_:6$VwxlIZ9X[uV[ HK~^1N]֧,,43?bՋw4ҞfXV-*B +b%J)bp`c,'?lH#+; )$)cVt_Jbm%Dz@+5)T bn0G@ &b`M^,<餓R;.2]v9˗Ú2%Q$D9AEla7]P17납I ai@0*o>|$u'ܹꫯqժUg}N0*@P$D@ )b,%rQ1X%.{SN9%u)ZǦ??"x!h%%`+V,G02 +W;)zꩩN;m||<-ӧbШ0"" D#x #"PQ1 W08W 0- 4,5eʔ<|02y݂D@Fߠ,)Lāݲ5k'DX']FFF`1bqT "`R10Mb5` T |H>p!ˢSJ(*6{`Q p* @ //qH8OTݮXw>K O FRj^T |7B&Ewޖ:_[oʿT-۟O׊O?(?4L4 QH [6_"_)pPeGCII$T@# R1跁)%۷oҗ$Sk k 7r5bdîaXѦX<Bt{w߅uQx*V6|5JUF*G|b ;Xp-~L R#0zzzBؾbdW1MP2ĪAG\zhu?/gx/֌#Y{.s-DϯGw;Tc8C(7&KU UF*TިC?>~ëݻwÎ&O,K c>JK J3^xi/oھeѱ?K*cМp0c|{Z2wC孇<`}rS/c̛Q3p"E%H6+֢zTĭ&72{-B2NPgC%xK-ioӟ}sGGG  JR&&&An*g^yRx7(; |ynd_1ذq+[vl56>{k>+/*F)FQ͆tJEehb/m]7>~CRŹX87in_z8#]otK/FBW{eD*y&D]ū2^Vկyڴi&FyiƍK EźC:::7(gm_ F,l}0~t.GnzA,Ev $MkSYx.p@i"A'y$2- £Ngh䙭;w;A ,tcYP 9F\F C?vդM{LxeTj~mrc|i/-}Bw t]ū2XQuY:hFT30n,/ }4T aʕ@I'___W[#IR}X,ESR&#:ud7 FFF@2/Bf<`;vOL}{ݼega^ĬbeG>CDJ4y,Lx4vIhw*1~_[įϷ\q7[ gAyy4D_L$JPMMHِ 'ʬ}~0{ϋ4gJc)ԄJR4mj."`8UO[\ Iʬ6z4MYWJT$/{p1BdOfpJ4xRQ.[r:bDLtb8H@,$ 05 uWL|A8L'(-0~v֭t+n*w!_W̟uÛȀ L_k{fk;v驘)S\<&w*#Y<'k%LSdzQ]_'ͻ+w?j"6KdITLei\ڄ6S1wcs4W5=|o#5rHA.KGRJr R_J(LR^ߢkt'0YД 3i.@vQƵEFּElpi1θ6 RotB\ dC*fB_j)!OK/ZwЇo|ggy%3$~hE 3A f)7( )v$W/߼yΉ}o8p0YWI{2Z-Odn-)RYMPD;v>=.xS.J%eߗ<'B]sbGa_.H-G r +v*$W8LP*ۺ#KX^V:m oNƵ0U Wv_1+&<^2-XӘW,/̾ X-,]|W'iٲeYnիWR X]y`up….˿.~26(t;Y$TlVp4K{Sf JAXe,Kn "TL m d}:nN+10K2b2D6Yߍ4gt68TW,D,٨2K/ޕFƮdU#qJԸ6 54] *GN/n_zsRLF.ަOKĜcHjfCż:_|a M~|@骫b}ȿ*45Q*vԉ]]]]##bIQ:BQ1x&Ӧ}cuѤ)KU@6 ̕b }4T̫7~z,@tRرK.cGQ0T oĩؔS7;;:[:!Ϛd_:Qդ"Tرc}XEت-#hKŕUF*ߠ%tbtb ؟ }g&=)^1b0+bcنl1krCkfd(W!k<᫮K@ETh-?cʘUt@//F*V?T,Nh#*O)&T,#+vʔ鹙̼l"#RKO؁>a.@&T*h-|g{&j#.-;ojԆFP5^^H:+vЛ{1@yxN̤PT4ccW j @@ŒJSbkҙP1\+V6J#"%"PJNk33YX?zp8AY@D JE&U.LA)[OoPf2܂PЬ p3r "BE5"`H~@-^ kd\5??[V̈" Hj*J1M:k<Ӓɶfsm|{~xp8؇ nT@D >Ň-X-ky@ł}<>0gD@BX]Uw(e2l.gCξ ]pޚA ADH 0p ǠV$[GSe%iX:748XK "Ą Ǡ0l#cEخ]M4DX164PAv@D ;Z)3JۭW촩@ZZg3}> " "P*TliSvrMKVmV̞XczD@D@o*v]cMW-h/7}kYӐ " "T)cc .ol|+W|220#D@D@_*cF .YtiSz~nCED@D o*vc 7킾'fT,21#D@D@ " "P1LP6\(!Wb#" @"Pl卍5@~ur!΂*I7iرi>4lygϞ163]!9}6)q,]L*9.*Cf|GuLضLB9 L"0|'G4UO.YlЮxM\評qL]EH+ ɣ5zq[^!q[br<*1i 2t8Rw|\@fƌM۬b%yUICiSRv=5o g٢BLDC;"P!KKa|||ԩ)]W5.j>'`WU5PC$XJ  Ck];B# !~ Xn#kךƁkYtR8v:G֭qukz :Y`p%֑Lip^uBf͊C') Ph33*0#'<7!fH4ӒA%4g>  eWH '(%z@KQMfg9OOAG+/qM?Qpp`ppp>M°FA Ce JPVM*UIfo56n3>[o*Y4 nf9Y7BDQ+kTuIcЪ$(|ׄGPq<0DjZݲA Z H5Eph ƈZa^:uO1i1%ɨh[x͘1K~|MS4^ u^K?tS&ۜ͵mήLWWMw2}L B7m/ ]]]-$q!ݝt,Z{ѢEp?{=YJ"C "7ؓ!1k\ODgO…49SR$,\DbעEkeۊ=^ .kI p:rK׵ײ|'i"3bn"Inw$ʥh.|.ݹn/DBV)Nc"bG[Vls,fdM46i@dٖ,| ŠgK&[Y̐ؒarGjmma8Uydcb,UD#1~+|*HG;--8y[Ƚ$QHlonoo&_ʹer\.BGgWGWW/teHtvf:1I"2U̪EVfmeіښ;r$Q5HIl T9mZraM$;i&UOL41̊i!Fۥn3%HCb #ɖ-H Fv,δ|:И2s `,|\6{,+ǂ6f* Lb{k{{4D5YCh PL_&f\.' @Cwww .\DõV=v#ĎꀡAC!M` @!0Y`&%din)&7|~a)u<5onih6 ۔0 iBzt#љuA, h;:wnB c+,\Գ"6W-$R* )\P$COv,gDIϰ,Zč{k b$aЖ)lL"du_Ѧqϑ3f?x) (xEV wt=,IC{{7E!u,G8t4dd]l Hrp=^\=#9cfrd35V"v!ˇQ-p, DƟxdϊddc6.F&at-MC*#Ϩ9*t aE$XV][+Ԯe3m ,D410:g;}y#1Q$BK̀T= [ʹ[Z3Ą6u`Z}tL`%Z @Ddg-9h6Eƽ"v7cTxXbҐ|?`l cTzXT LLJ1"bq٘0?l,<G_{{y q`al\'<Cf :}Fc7!a$&< \bGl<]YX5;CmHc]x9~zQ1lLx΍E]$̥g zjAR<Vw- &Ag"EfT"ro`d'"F`'ȘHO BChEǥ6b":I#"m%-E1LZm-mmgK[ks+DHϢȓȟeW1b^TL;M%j҆b7< 5\OSXDl |cgqƒۖR.)Z 'xTGp$w$c*vO;ؽGY]q\z-1jKR3aBY%X LpJ=׵MJ(Cl k ɭE7iL#:.$nV[u& i۵Ƣ6V))*X,Y% NSPrincipalClass NSApplication NSHighResolutionCapable True candle-1.1.9/src/candle.pro000066400000000000000000000056151421102410500155040ustar00rootroot00000000000000#------------------------------------------------- # # Project created by QtCreator 2014-05-23T17:51:21 # #------------------------------------------------- QT = core gui opengl serialport greaterThan(QT_MAJOR_VERSION, 4): QT += widgets win32: { QT += winextras DEFINES += WINDOWS QMAKE_LFLAGS += "-Wl,--large-address-aware" QMAKE_CXXFLAGS_DEBUG += -g3 -pg QMAKE_LFLAGS_DEBUG += -pg -lgmon } unix:!macx { DEFINES += UNIX #GL_GLEXT_PROTOTYPES QMAKE_LFLAGS += "-Wl,-rpath,\'\$$ORIGIN/libs\'" } contains(QT_CONFIG, opengles.) { warning("GL ES detected. VAO will be disabled.") DEFINES += GLES INSTALLS += target target.path = /home/pi } TARGET = Candle TEMPLATE = app VERSION = 1.1.8 RC_ICONS += images/candle.ico DEFINES += sNan=\"65536\" DEFINES += APP_VERSION=\\\"$$VERSION\\\" TRANSLATIONS += translations/candle_en.ts translations/candle_ru.ts translations/candle_es.ts translations/candle_fr.ts translations/candle_pt.ts SOURCES += main.cpp\ frmmain.cpp \ frmsettings.cpp \ frmabout.cpp \ drawers/gcodedrawer.cpp \ drawers/heightmapborderdrawer.cpp \ drawers/heightmapgriddrawer.cpp \ drawers/heightmapinterpolationdrawer.cpp \ drawers/origindrawer.cpp \ drawers/shaderdrawable.cpp \ drawers/tooldrawer.cpp \ parser/arcproperties.cpp \ parser/gcodeparser.cpp \ parser/gcodepreprocessorutils.cpp \ parser/gcodeviewparse.cpp \ parser/linesegment.cpp \ parser/pointsegment.cpp \ tables/gcodetablemodel.cpp \ tables/heightmaptablemodel.cpp \ widgets/colorpicker.cpp \ widgets/combobox.cpp \ widgets/groupbox.cpp \ widgets/scrollarea.cpp \ widgets/styledtoolbutton.cpp \ widgets/widget.cpp \ widgets/glwidget.cpp \ widgets/slider.cpp \ widgets/sliderbox.cpp \ drawers/selectiondrawer.cpp \ widgets/comboboxkey.cpp HEADERS += frmmain.h \ frmsettings.h \ frmabout.h \ drawers/gcodedrawer.h \ drawers/heightmapborderdrawer.h \ drawers/heightmapgriddrawer.h \ drawers/heightmapinterpolationdrawer.h \ drawers/origindrawer.h \ drawers/shaderdrawable.h \ drawers/tooldrawer.h \ parser/arcproperties.h \ parser/gcodeparser.h \ parser/gcodepreprocessorutils.h \ parser/gcodeviewparse.h \ parser/linesegment.h \ parser/pointsegment.h \ tables/gcodetablemodel.h \ tables/heightmaptablemodel.h \ utils/interpolation.h \ utils/util.h \ widgets/colorpicker.h \ widgets/combobox.h \ widgets/groupbox.h \ widgets/scrollarea.h \ widgets/styledtoolbutton.h \ widgets/widget.h \ widgets/glwidget.h \ widgets/slider.h \ widgets/sliderbox.h \ drawers/selectiondrawer.h \ widgets/comboboxkey.h FORMS += frmmain.ui \ frmsettings.ui \ frmabout.ui \ widgets/sliderbox.ui DEFINES += _USE_MATH_DEFINES RESOURCES += \ shaders.qrc \ images.qrc CONFIG += c++11 candle-1.1.9/src/candle.sln000066400000000000000000000020251421102410500154700ustar00rootroot00000000000000 Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 VisualStudioVersion = 15.0.28307.168 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "candle", "candle.vcxproj", "{225C620D-C774-30C0-A16D-B392DA51D110}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x86 = Debug|x86 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {225C620D-C774-30C0-A16D-B392DA51D110}.Debug|x86.ActiveCfg = Debug|Win32 {225C620D-C774-30C0-A16D-B392DA51D110}.Debug|x86.Build.0 = Debug|Win32 {225C620D-C774-30C0-A16D-B392DA51D110}.Release|x86.ActiveCfg = Release|Win32 {225C620D-C774-30C0-A16D-B392DA51D110}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {D534C18E-1297-47CD-9BA5-4E960950B387} EndGlobalSection EndGlobal candle-1.1.9/src/candle.vcxproj000066400000000000000000000643221421102410500163770ustar00rootroot00000000000000 Release Win32 Debug Win32 {225C620D-C774-30C0-A16D-B392DA51D110} Candle Qt4VSv1.0 10.0.17763.0 10.0.17763.0 v141 release\ false NotSet Application release\ Candle v141 debug\ false NotSet Application debug\ Candle $(MSBuildProjectDirectory)\QtMsBuild .\build-$(Platform)\$(Configuration)\Bin .\build-$(Platform)\$(Configuration)\ Candle true false .\build-$(Platform)\$(Configuration)\Bin .\build-$(Platform)\$(Configuration)\ Candle true .\GeneratedFiles\$(ConfigurationName);.\GeneratedFiles;.;..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\include;..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\include\QtOpenGL;..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\include\QtWidgets;..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\include\QtWinExtras;..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\include\QtGui;..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\include\QtANGLE;..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\include\QtSerialPort;..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\include\QtCore;release;\include;..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\mkspecs\win32-msvc;%(AdditionalIncludeDirectories) -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions) release\ false None 4577;4467;%(DisableSpecificWarnings) Sync $(IntDir) MaxSpeed _WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WINDOWS;APP_VERSION="1.1.8";_USE_MATH_DEFINES;QT_NO_DEBUG;QT_OPENGL_LIB;QT_WIDGETS_LIB;QT_WINEXTRAS_LIB;QT_GUI_LIB;QT_SERIALPORT_LIB;QT_CORE_LIB;NDEBUG;%(PreprocessorDefinitions) false $(IntDir)vc$(PlatformToolsetVersion).pdb MultiThreadedDLL true true Level3 true $(QTDIR)\lib\Qt5OpenGL.lib;$(QTDIR)\lib\Qt5Widgets.lib;$(QTDIR)\lib\Qt5WinExtras.lib;$(QTDIR)\lib\Qt5Gui.lib;$(QTDIR)\lib\Qt5SerialPort.lib;$(QTDIR)\lib\Qt5Core.lib;$(QTDIR)\lib\qtmain.lib;%(AdditionalDependencies) $(QTDIR)\lib;E:\QT\QT5.12.0\5.12.0\MSVC2017\lib;%(AdditionalLibraryDirectories) "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions) true false true false $(OutDir)\Candle.exe true Windows true 1.1 Unsigned None 0 _WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WINDOWS;sNan="65536";APP_VERSION=\"1.1.8\";_USE_MATH_DEFINES;QT_NO_DEBUG;QT_OPENGL_LIB;QT_WIDGETS_LIB;QT_WINEXTRAS_LIB;QT_GUI_LIB;QT_SERIALPORT_LIB;QT_CORE_LIB;%(PreprocessorDefinitions) E:\QT\QT5.12.0\5.12.0\MSVC2017 .\build-$(Platform)\$(Configuration)\moc_%(Filename).cpp _WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WINDOWS;APP_VERSION="1.1.8";_USE_MATH_DEFINES;QT_NO_DEBUG;QT_OPENGL_LIB;QT_WIDGETS_LIB;QT_WINEXTRAS_LIB;QT_GUI_LIB;QT_SERIALPORT_LIB;QT_CORE_LIB;NDEBUG;%(PreprocessorDefinitions) msvc ./$(Configuration)/moc_predefs.h Moc'ing %(Identity)... %(FullPath) output .\GeneratedFiles\$(ConfigurationName);.\GeneratedFiles;E:/QT/QT5.12.0/5.12.0/MSVC2017/mkspecs/$(Platform)-msvc;.;E:/QT/QT5.12.0/5.12.0/MSVC2017/include;E:/QT/QT5.12.0/5.12.0/MSVC2017/include/QtOpenGL;E:/QT/QT5.12.0/5.12.0/MSVC2017/include/QtWidgets;E:/QT/QT5.12.0/5.12.0/MSVC2017/include/QtWinExtras;E:/QT/QT5.12.0/5.12.0/MSVC2017/include/QtGui;E:/QT/QT5.12.0/5.12.0/MSVC2017/include/QtANGLE;E:/QT/QT5.12.0/5.12.0/MSVC2017/include/QtSerialPort;E:/QT/QT5.12.0/5.12.0/MSVC2017/include/QtCore;C:\Program Files (x86)\Microsoft Visual Studio\VC98\atl\include;C:\Program Files (x86)\Microsoft Visual Studio\VC98\mfc\include;C:\Program Files (x86)\Microsoft Visual Studio\VC98\include;E:\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\include;E:\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um;C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt;C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared;C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um;C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt;C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\cppwinrt .\build-$(Platform)\$(Configuration)\qrc_%(Filename).cpp E:\QT\QT5.12.0\5.12.0\MSVC2017 default Rcc'ing %(Identity)... %(FullPath) E:\QT\QT5.12.0\5.12.0\MSVC2017 Uic'ing %(Identity)... %(FullPath) .\build-$(Platform)\$(Configuration)\ui_%(Filename).h .\GeneratedFiles\$(ConfigurationName);.\GeneratedFiles;.;..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\include;..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\include\QtOpenGL;..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\include\QtWidgets;..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\include\QtWinExtras;..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\include\QtGui;..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\include\QtANGLE;..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\include\QtSerialPort;..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\include\QtCore;debug;\include;..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\mkspecs\win32-msvc;%(AdditionalIncludeDirectories) -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions) debug\ false ProgramDatabase 4577;4467;%(DisableSpecificWarnings) Sync $(IntDir) Disabled _WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WINDOWS;APP_VERSION="1.1.8";_USE_MATH_DEFINES;QT_OPENGL_LIB;QT_WIDGETS_LIB;QT_WINEXTRAS_LIB;QT_GUI_LIB;QT_SERIALPORT_LIB;QT_CORE_LIB;%(PreprocessorDefinitions) false MultiThreadedDebugDLL true true Level3 true $(IntDir)vc$(PlatformToolsetVersion).pdb $(QTDIR)\lib\Qt5OpenGLd.lib;$(QTDIR)\lib\Qt5Widgetsd.lib;$(QTDIR)\lib\Qt5WinExtrasd.lib;$(QTDIR)\lib\Qt5Guid.lib;$(QTDIR)\lib\Qt5SerialPortd.lib;$(QTDIR)\lib\Qt5Cored.lib;$(QTDIR)\lib\qtmaind.lib;%(AdditionalDependencies) $(QTDIR)\lib;E:\QT\QT5.12.0\5.12.0\MSVC2017\lib;%(AdditionalLibraryDirectories) "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions) true true true $(OutDir)\Candle.exe true Windows true 1.1 Unsigned None 0 _WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WINDOWS;APP_VERSION=\"1.1.8\";_USE_MATH_DEFINES;QT_OPENGL_LIB;QT_WIDGETS_LIB;QT_WINEXTRAS_LIB;QT_GUI_LIB;QT_SERIALPORT_LIB;QT_CORE_LIB;_DEBUG;%(PreprocessorDefinitions) E:\QT\QT5.12.0\5.12.0\MSVC2017 .\build-$(Platform)\$(Configuration)\moc_%(Filename).cpp _WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WINDOWS;APP_VERSION="1.1.8";_USE_MATH_DEFINES;QT_OPENGL_LIB;QT_WIDGETS_LIB;QT_WINEXTRAS_LIB;QT_GUI_LIB;QT_SERIALPORT_LIB;QT_CORE_LIB;%(PreprocessorDefinitions) msvc ./$(Configuration)/moc_predefs.h Moc'ing %(Identity)... %(FullPath) output .\GeneratedFiles\$(ConfigurationName);.\GeneratedFiles;E:/QT/QT5.12.0/5.12.0/MSVC2017/mkspecs/$(Platform)-msvc;.;E:/QT/QT5.12.0/5.12.0/MSVC2017/include;E:/QT/QT5.12.0/5.12.0/MSVC2017/include/QtOpenGL;E:/QT/QT5.12.0/5.12.0/MSVC2017/include/QtWidgets;E:/QT/QT5.12.0/5.12.0/MSVC2017/include/QtWinExtras;E:/QT/QT5.12.0/5.12.0/MSVC2017/include/QtGui;E:/QT/QT5.12.0/5.12.0/MSVC2017/include/QtANGLE;E:/QT/QT5.12.0/5.12.0/MSVC2017/include/QtSerialPort;E:/QT/QT5.12.0/5.12.0/MSVC2017/include/QtCore;C:\Program Files (x86)\Microsoft Visual Studio\VC98\atl\include;C:\Program Files (x86)\Microsoft Visual Studio\VC98\mfc\include;C:\Program Files (x86)\Microsoft Visual Studio\VC98\include;E:\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\include;E:\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um;C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt;C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared;C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um;C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt;C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\cppwinrt default .\build-$(Platform)\$(Configuration)\qrc_%(Filename).cpp E:\QT\QT5.12.0\5.12.0\MSVC2017 Rcc'ing %(Identity)... %(FullPath) E:\QT\QT5.12.0\5.12.0\MSVC2017 Uic'ing %(Identity)... %(FullPath) .\build-$(Platform)\$(Configuration)\ui_%(Filename).h Document true ..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\mkspecs\features\data\dummy.cpp;%(AdditionalInputs) cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -Zi -MDd -g3 -pg -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E ..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\mkspecs\features\data\dummy.cpp 2>NUL >debug\moc_predefs.h Generate moc_predefs.h debug\moc_predefs.h;%(Outputs) Document ..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\mkspecs\features\data\dummy.cpp;%(AdditionalInputs) cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -O2 -MD -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E ..\..\..\QT\QT5.12.0\5.12.0\MSVC2017\mkspecs\features\data\dummy.cpp 2>NUL >release\moc_predefs.h Generate moc_predefs.h release\moc_predefs.h;%(Outputs) true ui_frmabout.h ui_frmabout.h ui_frmmain.h ui_frmmain.h ui_frmsettings.h ui_frmsettings.h ui_sliderbox.h ui_sliderbox.h images images shaders shaders candle-1.1.9/src/drawers/000077500000000000000000000000001421102410500151745ustar00rootroot00000000000000candle-1.1.9/src/drawers/gcodedrawer.cpp000066400000000000000000000322131421102410500201670ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #include "gcodedrawer.h" GcodeDrawer::GcodeDrawer() : QObject() { m_geometryUpdated = false; m_pointSize = 6; m_ignoreZ = false; m_grayscaleSegments = false; m_grayscaleCode = GcodeDrawer::S; m_grayscaleMin = 0; m_grayscaleMax = 255; m_drawMode = GcodeDrawer::Vectors; connect(&m_timerVertexUpdate, SIGNAL(timeout()), SLOT(onTimerVertexUpdate())); m_timerVertexUpdate.start(100); } void GcodeDrawer::update() { m_indexes.clear(); m_geometryUpdated = false; ShaderDrawable::update(); } void GcodeDrawer::update(QList indexes) { // Store segments to update m_indexes += indexes; } bool GcodeDrawer::updateData() { switch (m_drawMode) { case GcodeDrawer::Vectors: if (m_indexes.isEmpty()) return prepareVectors(); else return updateVectors(); case GcodeDrawer::Raster: if (m_indexes.isEmpty()) return prepareRaster(); else return updateRaster(); } } bool GcodeDrawer::prepareVectors() { qDebug() << "preparing vectors" << this; QList *list = m_viewParser->getLines(); VertexData vertex; qDebug() << "lines count" << list->count(); // Clear all vertex data m_lines.clear(); m_points.clear(); m_triangles.clear(); // Delete texture on mode change if (m_texture) { m_texture->destroy(); delete m_texture; m_texture = NULL; } bool drawFirstPoint = true; for (int i = 0; i < list->count(); i++) { if (qIsNaN(list->at(i)->getEnd().z())) { continue; } // Find first point of toolpath if (drawFirstPoint) { if (qIsNaN(list->at(i)->getEnd().x()) || qIsNaN(list->at(i)->getEnd().y())) continue; // Draw first toolpath point vertex.color = Util::colorToVector(m_colorStart); vertex.position = list->at(i)->getEnd(); if (m_ignoreZ) vertex.position.setZ(0); vertex.start = QVector3D(sNan, sNan, m_pointSize); m_points.append(vertex); drawFirstPoint = false; continue; } // Prepare vertices if (list->at(i)->isFastTraverse()) vertex.start = list->at(i)->getStart(); else vertex.start = QVector3D(sNan, sNan, sNan); // Simplify geometry int j = i; if (m_simplify && i < list->count() - 1) { QVector3D start = list->at(i)->getEnd() - list->at(i)->getStart(); QVector3D next; double length = start.length(); bool straight = false; do { list->at(i)->setVertexIndex(m_lines.count()); // Store vertex index i++; if (i < list->count() - 1) { next = list->at(i)->getEnd() - list->at(i)->getStart(); length += next.length(); // straight = start.crossProduct(start.normalized(), next.normalized()).length() < 0.025; } // Split short & straight lines } while ((length < m_simplifyPrecision || straight) && i < list->count() && getSegmentType(list->at(i)) == getSegmentType(list->at(j))); i--; } else { list->at(i)->setVertexIndex(m_lines.count()); // Store vertex index } // Set color vertex.color = getSegmentColorVector(list->at(i)); // Line start vertex.position = list->at(j)->getStart(); if (m_ignoreZ) vertex.position.setZ(0); m_lines.append(vertex); // Line end vertex.position = list->at(i)->getEnd(); if (m_ignoreZ) vertex.position.setZ(0); m_lines.append(vertex); // Draw last toolpath point if (i == list->count() - 1) { vertex.color = Util::colorToVector(m_colorEnd); vertex.position = list->at(i)->getEnd(); if (m_ignoreZ) vertex.position.setZ(0); vertex.start = QVector3D(sNan, sNan, m_pointSize); m_points.append(vertex); } } m_geometryUpdated = true; m_indexes.clear(); return true; } bool GcodeDrawer::updateVectors() { // Update vertices QList *list = m_viewParser->getLines(); // Map buffer VertexData *data = (VertexData*)m_vbo.map(QOpenGLBuffer::WriteOnly); // Update vertices for each line segment int vertexIndex; foreach (int i, m_indexes) { // Update vertex pair if (i < 0 || i > list->count() - 1) continue; vertexIndex = list->at(i)->vertexIndex(); if (vertexIndex >= 0) { // Update vertex array if (data) { data[vertexIndex].color = getSegmentColorVector(list->at(i)); data[vertexIndex + 1].color = data[vertexIndex].color; } else { m_lines[vertexIndex].color = getSegmentColorVector(list->at(i)); m_lines[vertexIndex + 1].color = m_lines.at(vertexIndex).color; } } } m_indexes.clear(); if (data) m_vbo.unmap(); return !data; } bool GcodeDrawer::prepareRaster() { const int maxImageSize = 8192; qDebug() << "preparing raster" << this; // Generate image QImage image; qDebug() << "image info" << m_viewParser->getResolution() << m_viewParser->getMinLength(); if (m_viewParser->getResolution().width() <= maxImageSize && m_viewParser->getResolution().height() <= maxImageSize) { image = QImage(m_viewParser->getResolution(), QImage::Format_RGB888); image.fill(Qt::white); QList *list = m_viewParser->getLines(); qDebug() << "lines count" << list->count(); double pixelSize = m_viewParser->getMinLength(); QVector3D origin = m_viewParser->getMinimumExtremes(); for (int i = 0; i < list->count(); i++) { if (!qIsNaN(list->at(i)->getEnd().length())) { setImagePixelColor(image, (list->at(i)->getEnd().x() - origin.x()) / pixelSize, (list->at(i)->getEnd().y() - origin.y()) / pixelSize, getSegmentColor(list->at(i)).rgb()); } } } // Create vertices array // Clear all vertex data m_lines.clear(); m_points.clear(); m_triangles.clear(); if (m_texture) { m_texture->destroy(); delete m_texture; m_texture = NULL; } QVector vertices; VertexData vertex; // Set color vertex.color = Util::colorToVector(Qt::red); // Rect vertex.start = QVector3D(sNan, 0, 0); vertex.position = QVector3D(getMinimumExtremes().x(), getMinimumExtremes().y(), 0); vertices.append(vertex); vertex.start = QVector3D(sNan, 1, 1); vertex.position = QVector3D(getMaximumExtremes().x(), getMaximumExtremes().y(), 0); vertices.append(vertex); vertex.start = QVector3D(sNan, 0, 1); vertex.position = QVector3D(getMinimumExtremes().x(), getMaximumExtremes().y(), 0); vertices.append(vertex); vertex.start = QVector3D(sNan, 0, 0); vertex.position = QVector3D(getMinimumExtremes().x(), getMinimumExtremes().y(), 0); vertices.append(vertex); vertex.start = QVector3D(sNan, 1, 0); vertex.position = QVector3D(getMaximumExtremes().x(), getMinimumExtremes().y(), 0); vertices.append(vertex); vertex.start = QVector3D(sNan, 1, 1); vertex.position = QVector3D(getMaximumExtremes().x(), getMaximumExtremes().y(), 0); vertices.append(vertex); if (!image.isNull()) { m_texture = new QOpenGLTexture(image); m_triangles += vertices; m_image = image; } else { for (int i = 0; i < vertices.count(); i++) vertices[i].start = QVector3D(sNan, sNan, sNan); m_lines += vertices; m_image = QImage(); } m_geometryUpdated = true; m_indexes.clear(); return true; } bool GcodeDrawer::updateRaster() { if (!m_image.isNull()) { QList *list = m_viewParser->getLines(); double pixelSize = m_viewParser->getMinLength(); QVector3D origin = m_viewParser->getMinimumExtremes(); foreach (int i, m_indexes) setImagePixelColor(m_image, (list->at(i)->getEnd().x() - origin.x()) / pixelSize, (list->at(i)->getEnd().y() - origin.y()) / pixelSize, getSegmentColor(list->at(i)).rgb()); if (m_texture) m_texture->setData(QOpenGLTexture::RGB, QOpenGLTexture::UInt8, m_image.bits()); } m_indexes.clear(); return false; } void GcodeDrawer::setImagePixelColor(QImage &image, double x, double y, QRgb color) const { if (qIsNaN(x) || qIsNaN(y)) { qDebug() << "Error updating pixel" << x << y; return; }; uchar* pixel = image.scanLine((int)y); *(pixel + (int)x * 3) = qRed(color); *(pixel + (int)x * 3 + 1) = qGreen(color); *(pixel + (int)x * 3 + 2) = qBlue(color); } QVector3D GcodeDrawer::getSegmentColorVector(LineSegment *segment) { return Util::colorToVector(getSegmentColor(segment)); } QColor GcodeDrawer::getSegmentColor(LineSegment *segment) { if (segment->drawn()) return m_colorDrawn;//QVector3D(0.85, 0.85, 0.85); else if (segment->isHightlight()) return m_colorHighlight;//QVector3D(0.57, 0.51, 0.9); else if (segment->isFastTraverse()) return m_colorNormal;// QVector3D(0.0, 0.0, 0.0); else if (segment->isZMovement()) return m_colorZMovement;//QVector3D(1.0, 0.0, 0.0); else if (m_grayscaleSegments) switch (m_grayscaleCode) { case GrayscaleCode::S: return QColor::fromHsl(0, 0, qBound(0, 255 - 255.0 / (m_grayscaleMax - m_grayscaleMin) * segment->getSpindleSpeed(), 255)); case GrayscaleCode::Z: return QColor::fromHsl(0, 0, qBound(0, 255 - 255.0 / (m_grayscaleMax - m_grayscaleMin) * segment->getStart().z(), 255)); } return m_colorNormal;//QVector3D(0.0, 0.0, 0.0); } int GcodeDrawer::getSegmentType(LineSegment* segment) { return segment->isFastTraverse() + segment->isZMovement() * 2; } QVector3D GcodeDrawer::getSizes() { QVector3D min = m_viewParser->getMinimumExtremes(); QVector3D max = m_viewParser->getMaximumExtremes(); return QVector3D(max.x() - min.x(), max.y() - min.y(), max.z() - min.z()); } QVector3D GcodeDrawer::getMinimumExtremes() { QVector3D v = m_viewParser->getMinimumExtremes(); if (m_ignoreZ) v.setZ(0); return v; } QVector3D GcodeDrawer::getMaximumExtremes() { QVector3D v = m_viewParser->getMaximumExtremes(); if (m_ignoreZ) v.setZ(0); return v; } void GcodeDrawer::setViewParser(GcodeViewParse* viewParser) { m_viewParser = viewParser; } GcodeViewParse *GcodeDrawer::viewParser() { return m_viewParser; } bool GcodeDrawer::simplify() const { return m_simplify; } void GcodeDrawer::setSimplify(bool simplify) { m_simplify = simplify; } double GcodeDrawer::simplifyPrecision() const { return m_simplifyPrecision; } void GcodeDrawer::setSimplifyPrecision(double simplifyPrecision) { m_simplifyPrecision = simplifyPrecision; } bool GcodeDrawer::geometryUpdated() { return m_geometryUpdated; } QColor GcodeDrawer::colorNormal() const { return m_colorNormal; } void GcodeDrawer::setColorNormal(const QColor &colorNormal) { m_colorNormal = colorNormal; } QColor GcodeDrawer::colorHighlight() const { return m_colorHighlight; } void GcodeDrawer::setColorHighlight(const QColor &colorHighlight) { m_colorHighlight = colorHighlight; } QColor GcodeDrawer::colorZMovement() const { return m_colorZMovement; } void GcodeDrawer::setColorZMovement(const QColor &colorZMovement) { m_colorZMovement = colorZMovement; } QColor GcodeDrawer::colorDrawn() const { return m_colorDrawn; } void GcodeDrawer::setColorDrawn(const QColor &colorDrawn) { m_colorDrawn = colorDrawn; } QColor GcodeDrawer::colorStart() const { return m_colorStart; } void GcodeDrawer::setColorStart(const QColor &colorStart) { m_colorStart = colorStart; } QColor GcodeDrawer::colorEnd() const { return m_colorEnd; } void GcodeDrawer::setColorEnd(const QColor &colorEnd) { m_colorEnd = colorEnd; } bool GcodeDrawer::getIgnoreZ() const { return m_ignoreZ; } void GcodeDrawer::setIgnoreZ(bool ignoreZ) { m_ignoreZ = ignoreZ; } void GcodeDrawer::onTimerVertexUpdate() { if (!m_indexes.isEmpty()) ShaderDrawable::update(); } GcodeDrawer::DrawMode GcodeDrawer::drawMode() const { return m_drawMode; } void GcodeDrawer::setDrawMode(const DrawMode &drawMode) { m_drawMode = drawMode; } int GcodeDrawer::grayscaleMax() const { return m_grayscaleMax; } void GcodeDrawer::setGrayscaleMax(int grayscaleMax) { m_grayscaleMax = grayscaleMax; } int GcodeDrawer::grayscaleMin() const { return m_grayscaleMin; } void GcodeDrawer::setGrayscaleMin(int grayscaleMin) { m_grayscaleMin = grayscaleMin; } GcodeDrawer::GrayscaleCode GcodeDrawer::grayscaleCode() const { return m_grayscaleCode; } void GcodeDrawer::setGrayscaleCode(const GrayscaleCode &grayscaleCode) { m_grayscaleCode = grayscaleCode; } bool GcodeDrawer::getGrayscaleSegments() const { return m_grayscaleSegments; } void GcodeDrawer::setGrayscaleSegments(bool grayscaleSegments) { m_grayscaleSegments = grayscaleSegments; } candle-1.1.9/src/drawers/gcodedrawer.h000066400000000000000000000055301421102410500176360ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef GCODEDRAWER_H #define GCODEDRAWER_H #include #include #include "parser/linesegment.h" #include "parser/gcodeviewparse.h" #include "shaderdrawable.h" class GcodeDrawer : public QObject, public ShaderDrawable { Q_OBJECT public: enum GrayscaleCode { S, Z }; enum DrawMode { Vectors, Raster }; explicit GcodeDrawer(); void update(); void update(QList indexes); bool updateData(); QVector3D getSizes(); QVector3D getMinimumExtremes(); QVector3D getMaximumExtremes(); void setViewParser(GcodeViewParse* viewParser); GcodeViewParse* viewParser(); bool simplify() const; void setSimplify(bool simplify); double simplifyPrecision() const; void setSimplifyPrecision(double simplifyPrecision); bool geometryUpdated(); QColor colorNormal() const; void setColorNormal(const QColor &colorNormal); QColor colorHighlight() const; void setColorHighlight(const QColor &colorHighlight); QColor colorZMovement() const; void setColorZMovement(const QColor &colorZMovement); QColor colorDrawn() const; void setColorDrawn(const QColor &colorDrawn); QColor colorStart() const; void setColorStart(const QColor &colorStart); QColor colorEnd() const; void setColorEnd(const QColor &colorEnd); bool getIgnoreZ() const; void setIgnoreZ(bool ignoreZ); bool getGrayscaleSegments() const; void setGrayscaleSegments(bool grayscaleSegments); GrayscaleCode grayscaleCode() const; void setGrayscaleCode(const GrayscaleCode &grayscaleCode); int grayscaleMin() const; void setGrayscaleMin(int grayscaleMin); int grayscaleMax() const; void setGrayscaleMax(int grayscaleMax); DrawMode drawMode() const; void setDrawMode(const DrawMode &drawMode); signals: public slots: private slots: void onTimerVertexUpdate(); private: GcodeViewParse *m_viewParser; DrawMode m_drawMode; bool m_simplify; double m_simplifyPrecision; bool m_ignoreZ; bool m_grayscaleSegments; GrayscaleCode m_grayscaleCode; int m_grayscaleMin; int m_grayscaleMax; QColor m_colorNormal; QColor m_colorDrawn; QColor m_colorHighlight; QColor m_colorZMovement; QColor m_colorStart; QColor m_colorEnd; QTimer m_timerVertexUpdate; QImage m_image; QList m_indexes; bool m_geometryUpdated; bool prepareVectors(); bool updateVectors(); bool prepareRaster(); bool updateRaster(); int getSegmentType(LineSegment *segment); QVector3D getSegmentColorVector(LineSegment *segment); QColor getSegmentColor(LineSegment *segment); void setImagePixelColor(QImage &image, double x, double y, QRgb color) const; }; #endif // GCODEDRAWER_H candle-1.1.9/src/drawers/heightmapborderdrawer.cpp000066400000000000000000000030531421102410500222520ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #include "heightmapborderdrawer.h" HeightMapBorderDrawer::HeightMapBorderDrawer() { } QRectF HeightMapBorderDrawer::borderRect() const { return m_borderRect; } void HeightMapBorderDrawer::setBorderRect(const QRectF &borderRect) { m_borderRect = borderRect; update(); } bool HeightMapBorderDrawer::updateData() { m_lines = { {QVector3D(m_borderRect.x(), m_borderRect.y(), 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(m_borderRect.x(), m_borderRect.y() + m_borderRect.height(), 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(m_borderRect.x(), m_borderRect.y() + m_borderRect.height(), 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(m_borderRect.x() + m_borderRect.width(), m_borderRect.y() + m_borderRect.height(), 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(m_borderRect.x() + m_borderRect.width(), m_borderRect.y() + m_borderRect.height(), 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(m_borderRect.x() + m_borderRect.width(), m_borderRect.y(), 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(m_borderRect.x() + m_borderRect.width(), m_borderRect.y(), 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(m_borderRect.x(), m_borderRect.y(), 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, }; return true; } candle-1.1.9/src/drawers/heightmapborderdrawer.h000066400000000000000000000007551421102410500217250ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef HEIGHTMAPBORDERDRAWER_H #define HEIGHTMAPBORDERDRAWER_H #include #include "shaderdrawable.h" class HeightMapBorderDrawer : public ShaderDrawable { public: HeightMapBorderDrawer(); QRectF borderRect() const; void setBorderRect(const QRectF &borderRect); protected: bool updateData(); private: QRectF m_borderRect; }; #endif // HEIGHTMAPBORDERDRAWER_H candle-1.1.9/src/drawers/heightmapgriddrawer.cpp000066400000000000000000000075741421102410500217360ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #include "heightmapgriddrawer.h" HeightMapGridDrawer::HeightMapGridDrawer() { m_model = NULL; m_pointSize = 4; } bool HeightMapGridDrawer::updateData() { // Clear data m_lines.clear(); m_points.clear(); // Prepare vertex VertexData vertex; vertex.start = QVector3D(sNan, sNan, m_pointSize); // Calculate grid parameters int gridPointsX = m_model->columnCount(); int gridPointsY = m_model->rowCount(); double gridStepX = gridPointsX > 1 ? m_borderRect.width() / (gridPointsX - 1) : 0; double gridStepY = gridPointsY > 1 ? m_borderRect.height() / (gridPointsY - 1) : 0; // Probe path / dots for (int i = 0; i < gridPointsY; i++) { for (int j = 0; j < gridPointsX; j++) { if (m_model == NULL || qIsNaN(m_model->data(m_model->index(i, j), Qt::UserRole).toDouble())) { vertex.color = QVector3D(1.0, 0.6, 0.0); vertex.position = QVector3D(m_borderRect.x() + gridStepX * j, m_borderRect.y() + gridStepY * i, m_zTop); m_lines.append(vertex); vertex.position = QVector3D(m_borderRect.x() + gridStepX * j, m_borderRect.y() + gridStepY * i, m_zBottom); m_lines.append(vertex); } else { vertex.color = QVector3D(0.0, 0.0, 1.0); vertex.position = QVector3D(m_borderRect.x() + gridStepX * j, m_borderRect.y() + gridStepY * i, m_model->data(m_model->index(i, j), Qt::UserRole).toDouble()); m_points.append(vertex); } } } // Horizontal grid lines vertex.color = QVector3D(0.0, 0.0, 1.0); for (int i = 0; i < gridPointsY; i++) { for (int j = 1; j < gridPointsX; j++) { if (qIsNaN(m_model->data(m_model->index(i, j), Qt::UserRole).toDouble())) continue; vertex.position = QVector3D(m_borderRect.x() + gridStepX * (j - 1), m_borderRect.y() + gridStepY * i, m_model->data(m_model->index(i, j - 1), Qt::UserRole).toDouble()); m_lines.append(vertex); vertex.position = QVector3D(m_borderRect.x() + gridStepX * j, m_borderRect.y() + gridStepY * i, m_model->data(m_model->index(i, j), Qt::UserRole).toDouble()); m_lines.append(vertex); } } // Vertical grid lines vertex.color = QVector3D(0.0, 0.0, 1.0); for (int j = 0; j < gridPointsX; j++) { for (int i = 1; i < gridPointsY; i++) { if (qIsNaN(m_model->data(m_model->index(i, j), Qt::UserRole).toDouble())) continue; vertex.position = QVector3D(m_borderRect.x() + gridStepX * j, m_borderRect.y() + gridStepY * (i - 1), m_model->data(m_model->index(i - 1, j), Qt::UserRole).toDouble()); m_lines.append(vertex); vertex.position = QVector3D(m_borderRect.x() + gridStepX * j, m_borderRect.y() + gridStepY * i, m_model->data(m_model->index(i, j), Qt::UserRole).toDouble()); m_lines.append(vertex); } } return true; } QPointF HeightMapGridDrawer::gridSize() const { return m_gridSize; } void HeightMapGridDrawer::setGridSize(const QPointF &gridSize) { m_gridSize = gridSize; update(); } QRectF HeightMapGridDrawer::borderRect() const { return m_borderRect; } void HeightMapGridDrawer::setBorderRect(const QRectF &borderRect) { m_borderRect = borderRect; update(); } double HeightMapGridDrawer::zTop() const { return m_zTop; } void HeightMapGridDrawer::setZTop(double zTop) { m_zTop = zTop; update(); } double HeightMapGridDrawer::zBottom() const { return m_zBottom; } void HeightMapGridDrawer::setZBottom(double zBottom) { m_zBottom = zBottom; update(); } QAbstractTableModel *HeightMapGridDrawer::model() const { return m_model; } void HeightMapGridDrawer::setModel(QAbstractTableModel *model) { m_model = model; update(); } candle-1.1.9/src/drawers/heightmapgriddrawer.h000066400000000000000000000016061421102410500213710ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef HEIGHTMAPGRIDDRAWER_H #define HEIGHTMAPGRIDDRAWER_H #include #include #include "shaderdrawable.h" class HeightMapGridDrawer : public ShaderDrawable { public: HeightMapGridDrawer(); QPointF gridSize() const; void setGridSize(const QPointF &gridSize); QRectF borderRect() const; void setBorderRect(const QRectF &borderRect); double zTop() const; void setZTop(double zTop); double zBottom() const; void setZBottom(double zBottom); QAbstractTableModel *model() const; void setModel(QAbstractTableModel *model); protected: bool updateData(); private: QPointF m_gridSize; QRectF m_borderRect; double m_zTop; double m_zBottom; QAbstractTableModel *m_model; }; #endif // HEIGHTMAPGRIDDRAWER_H candle-1.1.9/src/drawers/heightmapinterpolationdrawer.cpp000066400000000000000000000067411421102410500236730ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #include "heightmapinterpolationdrawer.h" HeightMapInterpolationDrawer::HeightMapInterpolationDrawer() { m_data = NULL; } bool HeightMapInterpolationDrawer::updateData() { // Check if data is present if (!m_data || m_data->count() == 0) { m_lines.clear(); return true; } QColor color; // Clear data m_lines.clear(); // Prepare vertex VertexData vertex; vertex.start = QVector3D(sNan, sNan, sNan); // Calculate grid parameters int interpolationPointsX = m_data->at(0).count(); int interpolationPointsY = m_data->count(); double interpolationStepX = interpolationPointsX > 1 ? m_borderRect.width() / (interpolationPointsX - 1) : 0; double interpolationStepY = interpolationPointsY > 1 ? m_borderRect.height() / (interpolationPointsY - 1) : 0; // Find min & max values for coloring double min = m_data->at(0).at(0); double max = min; for (int i = 0; i < interpolationPointsY; i++) { for (int j = 0; j < interpolationPointsX; j++) { min = Util::nMin(min, m_data->at(i).at(j)); max = Util::nMax(max, m_data->at(i).at(j)); } } // Horizontal lines for (int i = 0; i < interpolationPointsY; i++) { for (int j = 1; j < interpolationPointsX; j++) { if (qIsNaN(m_data->at(i).at(j))) continue; color.setHsvF(0.67 * (max - m_data->at(i).at(j - 1)) / (max - min), 1.0, 1.0); vertex.color = QVector3D(color.redF(), color.greenF(), color.blueF()); vertex.position = QVector3D(m_borderRect.x() + interpolationStepX * (j - 1), m_borderRect.y() + interpolationStepY * i, m_data->at(i).at(j - 1)); m_lines.append(vertex); color.setHsvF(0.67 * (max - m_data->at(i).at(j)) / (max - min), 1.0, 1.0); vertex.color = QVector3D(color.redF(), color.greenF(), color.blueF()); vertex.position = QVector3D(m_borderRect.x() + interpolationStepX * j, m_borderRect.y() + interpolationStepY * i, m_data->at(i).at(j)); m_lines.append(vertex); } } // Vertical lines for (int j = 0; j < interpolationPointsX; j++) { for (int i = 1; i < interpolationPointsY; i++) { if (qIsNaN(m_data->at(i).at(j))) continue; color.setHsvF(0.67 * (max - m_data->at(i - 1).at(j)) / (max - min), 1.0, 1.0); vertex.color = QVector3D(color.redF(), color.greenF(), color.blueF()); vertex.position = QVector3D(m_borderRect.x() + interpolationStepX * j, m_borderRect.y() + interpolationStepY * (i - 1), m_data->at(i - 1).at(j)); m_lines.append(vertex); color.setHsvF(0.67 * (max - m_data->at(i).at(j)) / (max - min), 1.0, 1.0); vertex.color = QVector3D(color.redF(), color.greenF(), color.blueF()); vertex.position = QVector3D(m_borderRect.x() + interpolationStepX * j, m_borderRect.y() + interpolationStepY * i, m_data->at(i).at(j)); m_lines.append(vertex); } } return true; } QVector > *HeightMapInterpolationDrawer::data() const { return m_data; } void HeightMapInterpolationDrawer::setData(QVector > *data) { m_data = data; update(); } QRectF HeightMapInterpolationDrawer::borderRect() const { return m_borderRect; } void HeightMapInterpolationDrawer::setBorderRect(const QRectF &borderRect) { m_borderRect = borderRect; } candle-1.1.9/src/drawers/heightmapinterpolationdrawer.h000066400000000000000000000015251421102410500233330ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef HEIGHTMAPINTERPOLATIONDRAWER_H #define HEIGHTMAPINTERPOLATIONDRAWER_H #include #include #include #include #include "shaderdrawable.h" #include "utils/util.h" class HeightMapInterpolationDrawer : public ShaderDrawable { public: explicit HeightMapInterpolationDrawer(); QVector > *data() const; void setData(QVector > *data); QRectF borderRect() const; void setBorderRect(const QRectF &borderRect); protected: bool updateData(); private: QRectF m_borderRect; double m_gridSize; QVector> *m_data; double Min(double v1, double v2); double Max(double v1, double v2); }; #endif // HEIGHTMAPINTERPOLATIONDRAWER_H candle-1.1.9/src/drawers/origindrawer.cpp000066400000000000000000000056421421102410500204030ustar00rootroot00000000000000#include "origindrawer.h" OriginDrawer::OriginDrawer() { } bool OriginDrawer::updateData() { m_lines = { // X-axis {QVector3D(0, 0, 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(9, 0, 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(10, 0, 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(8, 0.5, 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(8, 0.5, 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(8, -0.5, 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(8, -0.5, 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(10, 0, 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, // Y-axis {QVector3D(0, 0, 0), QVector3D(0.0, 1.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(0, 9, 0), QVector3D(0.0, 1.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(0, 10, 0), QVector3D(0.0, 1.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(0.5, 8, 0), QVector3D(0.0, 1.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(0.5, 8, 0), QVector3D(0.0, 1.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(-0.5, 8, 0), QVector3D(0.0, 1.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(-0.5, 8, 0), QVector3D(0.0, 1.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(0, 10, 0), QVector3D(0.0, 1.0, 0.0), QVector3D(sNan, sNan, sNan)}, // Z-axis {QVector3D(0, 0, 0), QVector3D(0.0, 0.0, 1.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(0, 0, 9), QVector3D(0.0, 0.0, 1.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(0, 0, 10), QVector3D(0.0, 0.0, 1.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(0.5, 0, 8), QVector3D(0.0, 0.0, 1.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(0.5, 0, 8), QVector3D(0.0, 0.0, 1.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(-0.5, 0, 8), QVector3D(0.0, 0.0, 1.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(-0.5, 0, 8), QVector3D(0.0, 0.0, 1.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(0, 0, 10), QVector3D(0.0, 0.0, 1.0), QVector3D(sNan, sNan, sNan)}, // 2x2 rect {QVector3D(1, 1, 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(-1, 1, 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(-1, 1, 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(-1, -1, 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(-1, -1, 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(1, -1, 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(1, -1, 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, {QVector3D(1, 1, 0), QVector3D(1.0, 0.0, 0.0), QVector3D(sNan, sNan, sNan)}, }; return true; } candle-1.1.9/src/drawers/origindrawer.h000066400000000000000000000003251421102410500200410ustar00rootroot00000000000000#ifndef ORIGINDRAWER_H #define ORIGINDRAWER_H #include "shaderdrawable.h" class OriginDrawer : public ShaderDrawable { public: OriginDrawer(); protected: bool updateData(); }; #endif // ORIGINDRAWER_H candle-1.1.9/src/drawers/selectiondrawer.cpp000066400000000000000000000016461421102410500211010ustar00rootroot00000000000000#include "selectiondrawer.h" SelectionDrawer::SelectionDrawer() { m_endPosition = QVector3D(sNan, sNan, sNan); m_pointSize = 6.0; } bool SelectionDrawer::updateData() { m_points.clear(); VertexData vertex; vertex.color = Util::colorToVector(m_color); vertex.position = m_endPosition; vertex.start = QVector3D(sNan, sNan, m_pointSize); m_points.append(vertex); return true; } QVector3D SelectionDrawer::endPosition() const { return m_endPosition; } void SelectionDrawer::setEndPosition(const QVector3D &endPosition) { m_endPosition = endPosition; } QColor SelectionDrawer::color() const { return m_color; } void SelectionDrawer::setColor(const QColor &color) { m_color = color; } QVector3D SelectionDrawer::startPosition() const { return m_startPosition; } void SelectionDrawer::setStartPosition(const QVector3D &startPosition) { m_startPosition = startPosition; } candle-1.1.9/src/drawers/selectiondrawer.h000066400000000000000000000011071421102410500205360ustar00rootroot00000000000000#ifndef SELECTIONDRAWER_H #define SELECTIONDRAWER_H #include "shaderdrawable.h" class SelectionDrawer : public ShaderDrawable { public: SelectionDrawer(); QVector3D startPosition() const; void setStartPosition(const QVector3D &startPosition); QColor color() const; void setColor(const QColor &color); QVector3D endPosition() const; void setEndPosition(const QVector3D &endPosition); protected: bool updateData(); private: QVector3D m_startPosition; QVector3D m_endPosition; QColor m_color; }; #endif // SELECTIONDRAWER_H candle-1.1.9/src/drawers/shaderdrawable.cpp000066400000000000000000000133441421102410500206550ustar00rootroot00000000000000//#define sNan qQNaN(); #include "shaderdrawable.h" #ifdef GLES #include #endif ShaderDrawable::ShaderDrawable() { m_needsUpdateGeometry = true; m_visible = true; m_lineWidth = 1.0; m_pointSize = 1.0; m_texture = NULL; } ShaderDrawable::~ShaderDrawable() { if (!m_vao.isCreated()) m_vao.destroy(); if (!m_vbo.isCreated()) m_vbo.destroy(); } void ShaderDrawable::init() { // Init openGL functions initializeOpenGLFunctions(); // Create buffers m_vao.create(); m_vbo.create(); } void ShaderDrawable::update() { m_needsUpdateGeometry = true; } void ShaderDrawable::updateGeometry(QOpenGLShaderProgram *shaderProgram) { // Init in context if (!m_vbo.isCreated()) init(); if (m_vao.isCreated()) { // Prepare vao m_vao.bind(); } // Prepare vbo m_vbo.bind(); // Update vertex buffer if (updateData()) { // Fill vertices buffer QVector vertexData(m_triangles); vertexData += m_lines; vertexData += m_points; m_vbo.allocate(vertexData.constData(), vertexData.count() * sizeof(VertexData)); } else { m_vbo.release(); if (m_vao.isCreated()) m_vao.release(); m_needsUpdateGeometry = false; return; } if (m_vao.isCreated()) { // Offset for position quintptr offset = 0; // Tell OpenGL programmable pipeline how to locate vertex position data int vertexLocation = shaderProgram->attributeLocation("a_position"); shaderProgram->enableAttributeArray(vertexLocation); shaderProgram->setAttributeBuffer(vertexLocation, GL_FLOAT, offset, 3, sizeof(VertexData)); // Offset for color offset = sizeof(QVector3D); // Tell OpenGL programmable pipeline how to locate vertex color data int color = shaderProgram->attributeLocation("a_color"); shaderProgram->enableAttributeArray(color); shaderProgram->setAttributeBuffer(color, GL_FLOAT, offset, 3, sizeof(VertexData)); // Offset for line start point offset += sizeof(QVector3D); // Tell OpenGL programmable pipeline how to locate vertex line start point int start = shaderProgram->attributeLocation("a_start"); shaderProgram->enableAttributeArray(start); shaderProgram->setAttributeBuffer(start, GL_FLOAT, offset, 3, sizeof(VertexData)); m_vao.release(); } m_vbo.release(); m_needsUpdateGeometry = false; } bool ShaderDrawable::updateData() { // Test data m_lines = { {QVector3D(0, 0, 0), QVector3D(1, 0, 0), QVector3D(sNan, 0, 0)}, {QVector3D(10, 0, 0), QVector3D(1, 0, 0), QVector3D(sNan, 0, 0)}, {QVector3D(0, 0, 0), QVector3D(0, 1, 0), QVector3D(sNan, 0, 0)}, {QVector3D(0, 10, 0), QVector3D(0, 1, 0), QVector3D(sNan, 0, 0)}, {QVector3D(0, 0, 0), QVector3D(0, 0, 1), QVector3D(sNan, 0, 0)}, {QVector3D(0, 0, 10), QVector3D(0, 0, 1), QVector3D(sNan, 0, 0)} }; return true; } bool ShaderDrawable::needsUpdateGeometry() const { return m_needsUpdateGeometry; } void ShaderDrawable::draw(QOpenGLShaderProgram *shaderProgram) { if (!m_visible) return; if (m_vao.isCreated()) { // Prepare vao m_vao.bind(); } else { // Prepare vbo m_vbo.bind(); // Offset for position quintptr offset = 0; // Tell OpenGL programmable pipeline how to locate vertex position data int vertexLocation = shaderProgram->attributeLocation("a_position"); shaderProgram->enableAttributeArray(vertexLocation); shaderProgram->setAttributeBuffer(vertexLocation, GL_FLOAT, offset, 3, sizeof(VertexData)); // Offset for color offset = sizeof(QVector3D); // Tell OpenGL programmable pipeline how to locate vertex color data int color = shaderProgram->attributeLocation("a_color"); shaderProgram->enableAttributeArray(color); shaderProgram->setAttributeBuffer(color, GL_FLOAT, offset, 3, sizeof(VertexData)); // Offset for line start point offset += sizeof(QVector3D); // Tell OpenGL programmable pipeline how to locate vertex line start point int start = shaderProgram->attributeLocation("a_start"); shaderProgram->enableAttributeArray(start); shaderProgram->setAttributeBuffer(start, GL_FLOAT, offset, 3, sizeof(VertexData)); } if (!m_triangles.isEmpty()) { if (m_texture) { m_texture->bind(); shaderProgram->setUniformValue("texture", 0); } glDrawArrays(GL_TRIANGLES, 0, m_triangles.count()); } if (!m_lines.isEmpty()) { glLineWidth(m_lineWidth); glDrawArrays(GL_LINES, m_triangles.count(), m_lines.count()); } if (!m_points.isEmpty()) { glDrawArrays(GL_POINTS, m_triangles.count() + m_lines.count(), m_points.count()); } if (m_vao.isCreated()) m_vao.release(); else m_vbo.release(); } QVector3D ShaderDrawable::getSizes() { return QVector3D(0, 0, 0); } QVector3D ShaderDrawable::getMinimumExtremes() { return QVector3D(0, 0, 0); } QVector3D ShaderDrawable::getMaximumExtremes() { return QVector3D(0, 0, 0); } int ShaderDrawable::getVertexCount() { return m_lines.count() + m_points.count() + m_triangles.count(); } double ShaderDrawable::lineWidth() const { return m_lineWidth; } void ShaderDrawable::setLineWidth(double lineWidth) { m_lineWidth = lineWidth; } bool ShaderDrawable::visible() const { return m_visible; } void ShaderDrawable::setVisible(bool visible) { m_visible = visible; } double ShaderDrawable::pointSize() const { return m_pointSize; } void ShaderDrawable::setPointSize(double pointSize) { m_pointSize = pointSize; } candle-1.1.9/src/drawers/shaderdrawable.h000066400000000000000000000026761421102410500203300ustar00rootroot00000000000000#ifndef SHADERDRAWABLE_H #define SHADERDRAWABLE_H #include #include #include #include #include #include #include "utils/util.h" #define sNan 65536.0 struct VertexData { QVector3D position; QVector3D color; QVector3D start; }; class ShaderDrawable : protected QOpenGLFunctions { public: explicit ShaderDrawable(); ~ShaderDrawable(); void update(); void draw(QOpenGLShaderProgram *shaderProgram); bool needsUpdateGeometry() const; void updateGeometry(QOpenGLShaderProgram *shaderProgram = 0); virtual QVector3D getSizes(); virtual QVector3D getMinimumExtremes(); virtual QVector3D getMaximumExtremes(); virtual int getVertexCount(); double lineWidth() const; void setLineWidth(double lineWidth); bool visible() const; void setVisible(bool visible); double pointSize() const; void setPointSize(double pointSize); signals: public slots: protected: double m_lineWidth; double m_pointSize; bool m_visible; QVector m_lines; QVector m_points; QVector m_triangles; QOpenGLTexture *m_texture; QOpenGLBuffer m_vbo; // Protected for direct vbo access virtual bool updateData(); void init(); private: QOpenGLVertexArrayObject m_vao; bool m_needsUpdateGeometry; }; #endif // SHADERDRAWABLE_H candle-1.1.9/src/drawers/tooldrawer.cpp000066400000000000000000000115471421102410500200720ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #include "tooldrawer.h" ToolDrawer::ToolDrawer() { m_toolDiameter = 3; m_toolLength = 15; m_toolPosition = QVector3D(0, 0, 0); m_rotationAngle = 0; } bool ToolDrawer::updateData() { const int arcs = 4; // Clear data m_lines.clear(); m_points.clear(); // Prepare vertex VertexData vertex; vertex.color = Util::colorToVector(m_color);//QVector3D(1.0, 0.6, 0.0); vertex.start = QVector3D(sNan, sNan, sNan); // Draw lines for (int i = 0; i < arcs; i++) { double x = m_toolPosition.x() + m_toolDiameter / 2 * cos(m_rotationAngle / 180 * M_PI + (2 * M_PI / arcs) * i); double y = m_toolPosition.y() + m_toolDiameter / 2 * sin(m_rotationAngle / 180 * M_PI + (2 * M_PI / arcs) * i); // Side lines vertex.position = QVector3D(x, y, m_toolPosition.z() + m_endLength); m_lines.append(vertex); vertex.position = QVector3D(x, y, m_toolPosition.z() + m_toolLength); m_lines.append(vertex); // Bottom lines vertex.position = QVector3D(m_toolPosition.x(), m_toolPosition.y(), m_toolPosition.z()); m_lines.append(vertex); vertex.position = QVector3D(x, y, m_toolPosition.z() + m_endLength); m_lines.append(vertex); // Top lines vertex.position = QVector3D(m_toolPosition.x(), m_toolPosition.y(), m_toolPosition.z() + m_toolLength); m_lines.append(vertex); vertex.position = QVector3D(x, y, m_toolPosition.z() + m_toolLength); m_lines.append(vertex); // Zero Z lines vertex.position = QVector3D(m_toolPosition.x(), m_toolPosition.y(), 0); m_lines.append(vertex); vertex.position = QVector3D(x, y, 0); m_lines.append(vertex); } // Draw circles // Bottom m_lines += createCircle(QVector3D(m_toolPosition.x(), m_toolPosition.y(), m_toolPosition.z() + m_endLength), m_toolDiameter / 2, 20, vertex.color); // Top m_lines += createCircle(QVector3D(m_toolPosition.x(), m_toolPosition.y(), m_toolPosition.z() + m_toolLength), m_toolDiameter / 2, 20, vertex.color); // Zero Z circle if (m_endLength == 0) { m_lines += createCircle(QVector3D(m_toolPosition.x(), m_toolPosition.y(), 0), m_toolDiameter / 2, 20, vertex.color); } return true; } QColor ToolDrawer::color() const { return m_color; } void ToolDrawer::setColor(const QColor &color) { m_color = color; } QVector ToolDrawer::createCircle(QVector3D center, double radius, int arcs, QVector3D color) { // Vertices QVector circle; // Prepare vertex VertexData vertex; vertex.color = color; vertex.start = QVector3D(sNan, sNan, sNan); // Create line loop for (int i = 0; i <= arcs; i++) { double angle = 2 * M_PI * i / arcs; double x = center.x() + radius * cos(angle); double y = center.y() + radius * sin(angle); if (i > 1) { circle.append(circle.last()); } else if (i == arcs) circle.append(circle.first()); vertex.position = QVector3D(x, y, center.z()); circle.append(vertex); } return circle; } double ToolDrawer::toolDiameter() const { return m_toolDiameter; } void ToolDrawer::setToolDiameter(double toolDiameter) { if (m_toolDiameter != toolDiameter) { m_toolDiameter = toolDiameter; update(); } } double ToolDrawer::toolLength() const { return m_toolLength; } void ToolDrawer::setToolLength(double toolLength) { if (m_toolLength != toolLength) { m_toolLength = toolLength; update(); } } QVector3D ToolDrawer::toolPosition() const { return m_toolPosition; } void ToolDrawer::setToolPosition(const QVector3D &toolPosition) { if (m_toolPosition != toolPosition) { m_toolPosition = toolPosition; update(); } } double ToolDrawer::rotationAngle() const { return m_rotationAngle; } void ToolDrawer::setRotationAngle(double rotationAngle) { if (m_rotationAngle != rotationAngle) { m_rotationAngle = rotationAngle; update(); } } void ToolDrawer::rotate(double angle) { setRotationAngle(normalizeAngle(m_rotationAngle + angle)); } double ToolDrawer::toolAngle() const { return m_toolAngle; } void ToolDrawer::setToolAngle(double toolAngle) { if (m_toolAngle != toolAngle) { m_toolAngle = toolAngle; m_endLength = m_toolAngle > 0 && m_toolAngle < 180 ? m_toolDiameter / 2 / tan(m_toolAngle / 180 * M_PI / 2) : 0; if (m_toolLength < m_endLength) m_toolLength = m_endLength; update(); } } double ToolDrawer::normalizeAngle(double angle) { while (angle < 0) angle += 360; while (angle > 360) angle -= 360; return angle; } candle-1.1.9/src/drawers/tooldrawer.h000066400000000000000000000023321421102410500175270ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef TOOLDRAWER_H #define TOOLDRAWER_H #include #include #include #include #include "shaderdrawable.h" class ToolDrawer : public ShaderDrawable { public: explicit ToolDrawer(); double toolDiameter() const; void setToolDiameter(double toolDiameter); double toolLength() const; void setToolLength(double toolLength); QVector3D toolPosition() const; void setToolPosition(const QVector3D &toolPosition); double rotationAngle() const; void setRotationAngle(double rotationAngle); void rotate(double angle); double toolAngle() const; void setToolAngle(double toolAngle); QColor color() const; void setColor(const QColor &color); signals: public slots: protected: bool updateData(); private: double m_toolDiameter; double m_toolLength; double m_endLength; QVector3D m_toolPosition; double m_rotationAngle; double m_toolAngle; QColor m_color; double normalizeAngle(double angle); QVector createCircle(QVector3D center, double radius, int arcs, QVector3D color); }; #endif // TOOLDRAWER_H candle-1.1.9/src/fonts.qrc000066400000000000000000000001471421102410500153670ustar00rootroot00000000000000 fonts/Ubuntu-Regular.ttf candle-1.1.9/src/fonts/000077500000000000000000000000001421102410500146565ustar00rootroot00000000000000candle-1.1.9/src/fonts/Ubuntu-Regular.ttf000077500000000000000000011072441421102410500202720ustar00rootroot00000000000000 GPOSTo,Q*~GSUB=|OS/2.s`VDMXs|cmapt>cvt -$$!fpgmvDt#gasp QglyfS,Ihdmx THhead (_6hheaFr$hmtxD"_@loca;]3KLmaxp K, name6U#vpostCl%,pprepAF2@  //103!'!222vG #@   c[??9/3210#.=3#"&54632 : d$$$$TDDT((((HZ&  1j@              ?        /!0 yA y B BA???]?]]]+}]]+}10]]3733#3##7##7#537#537337##T#Xg"#T##T#Xf"#TT#JJJJL=3@4))(W%%h Y  +) `'+- $ $s  $ 0'--0'''''5 104jw & f   10,*--g-w--Jx?O/]3]3]2?]]33299]]]]]]2^]]]]9/99+}2/]2]10]]]]]]]]]]]%2654.'.546753.#"#5.'7M>-;;.UQS,LH6,GW ~ K2(3?C@fCA@ABCBCB@B@*  )  : 44)44?***&**E  &  & )DCABBAB@A%}7=}/F}}E??????^]]]]]]]99//+}104>32#".74&#"3264>32#".74&#"326#2+:"":++:"":+*''**''*+:"":++:"":+*''**''*7&54>3267#.'#".73267'4&#">.)6J/A'(?+'2" M!#;b #)lFAV5] 3&1S %-',/D''=1%JO(@,(8#8.&?M )a0&J#*)3%9D!*#$! #0Q"/5'A> ")H @   Z?9/10#.= 7 21k55k21NG= a@B *           m }   W db?3?3]]]]]]]]q2]]qq210.5467JHBN__NBHJ+]-__-]G a@B % brX bd?3?3]]]]]]]]q2]]qq2104&'7'>JHBN__NBHJ+]-__-]%7,@yvxi#@]H#""t@{ H,,**' .- 7' !'##+de+[?2/2]3]9/93233]339/33333/3/3/3+3/]3]]3/]]3]]3/3+10]]]]>?'.''7>7./7.=3$F)(P*!:I##I:!*P()F$Z*M)&T 5#3$G&&G$3#5 T&)M*55! 1@ P  /]3/9/2103533##5#5PPSO&ar .@ H  ? O  /3/]9/322+107'>54&'% Hr?{83i.  W-@@@ $H/+]10^]3#WW8y " @ H  c?q+q107#"&54632$$$$6((((G'@ddbb????/և+}10#3G_S]2 ݵMM@ MM @M M MMM@*M M M @M@ML L!MML L M @M WMMX?++?++++++++++10++++++++++++4632#"&%4.#"32>2{mm{{mm{n 4&&4 4&&4 [9fL--Lf99fL--Lf]q P@5 _o 0 P ` p  UV??9/]3]]9/^]]3910>73#]9l-B] #)-&E4K4 8,@/ @M@ L.$%k {  -$M$M$@M$ML LLM %L% M%*L*M* L*@ M*X U??++++3++99+++++2+++q2++99//+}10!!&454>7>54.#"'>320<-(?\2>-# +0&. $2>$mm$CA?.2.O /QH@//2* B e78@!!!MM6M4M@bMYi#####+{&]&m& & &5jIY++++:659&& 65M50L0W LX?+32?+3+29/9=/22^]]]]]99//]]]]]10+++++]]]72654.+532>54.#"'>32#".'7YM 4E$!5,!+0C$ %.57P4>,2%AbC70$ODF;&4 L -"( G 1C'6M.<%-M8  Q( k@?(+(8   ;_o   UV?3?9/3/22r^]22/^]]q210^]]7>733##5!3(BS_0YRRZ6=:3,u|x0HL OVZ+A'@ M M M@;MM"j)##    (#" LMM@ M M V M LW?+3+2?9/+++++229+}^]]10+++++#".'732>54.#>7!#Ǘ?`B6.$M8-=&BnTNxg.N8  Q"-&;(1VRQ-O374?--M$MM @9MMW0Y++w/  !GW. &@ L&WMX?+?+9/32]2]2]]9/]]310]+++++4>7>32#"&7"32>54&?8g\;aL4 A#;R45R8rw#< 4(!. Aej7N4S= $;M*&PB*  ,N;#,3DH<%@U V?2?9/103>7!5!-BO&!PG3P-QM&]7!3E2M2@ M.M MLEM@M4@!LCA A1//M/A / A//A@7MP M_   ,vG>L" M F 9 LX'M'@ M LW?+++?+9/3/++]]99//]+]++}++10+++++++%#".54>7&54>3232>54.'4.#">9V8AW4)b7N08P3%v 2&"3 -?(-1 , - "7&*2*G5%8C5.%8m&E4"5@3," 8'!( 0$ J0$%,& C3-@ $ M MMMMMM@) M ! L!wOh/+M+@M+M. @ M &M&XMW?+?+9/+32+++^]]9/]]]3+2210++++++++'2>7#".54>322676454.#"?eL3 B#;R45R89W;#> 4(!. AN5T= #;M*%PB*(Lm  +O;#+3DG8&@  PO++4&a&@ PO++45L `@& M@ MP/]++//+}/+}10%5%cP+MPM5.@ ?O0@/]]9/33/3107!!!!566O$O5L d@"@ M MP/]++///+}+}107'%5PcMPMy!- M MM@6L"(@8H((Xhx ' 7  ///. ++%cMLh?3+2+?q2]]]9/^]3/+10++++"'>32#&54>54&#"&54632B?"U09I,&.&N$($6 $$$$w"H0;"5.*-5!  4-'(,*5((((AguEU@DCCg?U?X5)##i IM.//VxYAAAAAAWS y  v&&&'&7&W&&777VMP3232>54.#"3267#".54>32'267.=.#" *>0O: ;U63U' ,RuIIzX14]L;M Y3YvEDsTRn@4H+"GFD+ ;V90U?$ $:I&?oT01[TXY-J3iplk65eZDhG$Q  XCGTܹ@4 M     L s  @C M s  @py_o B A AB????99//]32^]]]q9/+}++}+10+!.'!#>73.'%?e(FCB$Y$BCF( ?"#?-W-nKKnWKKWVP)8W0vML@ M$v@ L@L@ M0M::@ M8s985| *y)) E|F?22?39/922+++++++2+10]".'>3232>54.#'32>54.#"11001032.#"3267IxV/5ZxD+E3  "+37X>!:W:CX$6H0\WW\0 P &Hg@>fI( P V@L M MMv@ MM@L@ Ms M| M E@ M|MF?+3+2?+3+2++++++++10#"&'>322654&#"8fU*e))e*Uf8)- -[ZW+  +WV 5@   s y y ByA??9/2^]103!!!!!V"_SQSV (@ s y ByA??9/2103!!!!VSR:^'ѵ M@,M M's@M@M))@M)@ M)M@ Mv @M M @ M @M (@M M|@ LME'$M$ M$|F?3++2?+3+9/+2+++++++]++]++210+++3#".54>32.#"3267a -;F$IxV/5ZyE/I4!`25W=";W;*; U 0\WW\0 Q&Hg@>fI( Vk 7@ s  s yABBA????9/2^]103#!#3! aaaaSK@V$@MsBA??]+103#VaaKy@ Mgs@ M@ M @ M @ M  A @M|  L MMMF?+++3++2?^]++2+]+10]+%#".'7326535YC"9." &C2HBa2VA%  M!IYVo@`MYy M   M H  (  s Ms)9 @/M0 P `  sA{AB BA????9/]q9qq?22]+]]+}]q+3^]++10]]]]+]+#.'#3>7WNUT%+`\QrNWY*aa#TRI"SWT$Xdh//_WJ!STMV@ sAyB??10%!3_aTTC%)J%M$M!@Hf!! fMW@9M i iWs+ M+ Ls@$ H"sO)vO@& H  L s  *@H|))BAAA" M"L@ H|A B??]+]+2+????9/+^]++]]]]]]2+++]]210]]]]]]q]]]]+]+]]]]+++%.'#>73>73#&' !&+&! _  U>>::>>U"_ !&+&! `JV[Q@vZK,x66x,v@Q[VJV@  w  s  s@ L@C Ms BzkZIbr@P4A A ABB?????99]]_]]]]]]]?^]+++}_]10]]!.'#3319BGFB_M/ki] _%\cf_T 25K:' M M@M MMM M MMMM@MM Mv @ M M @M @ M ))M@ Mv@MMM@M(M M@ M|F#M# M# M#|E?+++?+++++++++]++++++10++++++++++++4>32#".732>54.#":5[yDCwZ55ZwCDy[5f ;U55T; ;T55U; [Y[..[YY[..[Y?gH''Hg??gH''HgV=R M M Mv@L s y B| E?22?9/2+10+++2+#>"32>54.+QtIMa)e2>!I2P75Fon32.'.732>54.#":5[yDCwZ5(G_6'32"32>54.143j/0/ Wa)e*I>!E2P73E"AOV(&NG> nmEb- 3*'4 !0@9'  &"%!!!s!!v%L% L%@a Mp%%2v M M M  M .-@H-1y=M tBG..g|-MX--(FwV|@MwVE?3]]]+2]]?3]+]2]99//]]^]]]]+2++++]+++99+}]]]]]210]]]]]]7254.'.54632.#"#".'7.;!&D2|m?gS70$(5 -K7y)E6' ^Eh -! !->,[fO  %& $2E1[b P %:@$ sByA??^]]]]]10###5%aTaTQ_Y@. M M M MssAA | M MF?++??]^]10++++".5332>53XDd@a\J%=,aAc*Id:Xh^0K4M:dI* @*xg7 G w   x 8H@0 L s  L  s   LHs@L   A A ABBA??????^]]+++]Ƈ+}++}+]]10]]]]]]]]]#.'367&EBA"["ACF%k6h77h5nKKn܀% ^@$8  M8x7w @ Mt@U Ls""7 6s { L s@`M6)IY sp   !BBA Mxf ` D T  AAABB?????99]]]]]]+3???^]]]qՇ+}]]]q+]+}+]]q]q+}]]q]]]+}+]q+10]]]]]q]q+]q#&'3>73>73#.*V+a5Q#f (Z'T'\( c$Q4a,TֆlTN9ii8Nlc㳠@, HM        L L@ L  s  @H LM Ls@P`/   BAAAA B BB????????^]]]]+}+++և+}+++10]+]+]!.'#>733*2661+k-wCpoDx.IOO##OOIX`GaYP @R L  s  o  s Lso B A AAAB??????9/3/^]]2+}+]3+}+103.'3>73Ez6r&^21^'l6zDkdRNNRdj!M@*   s yA y B?2?3^]և+}ć10!!5>7!5!=DHE> 9AFEAhIYced-SA(`df^RS`GA@  //103#3#`ኊIIG)@bbdd????/Ƈ+}103#]S_8G@  //10#53#53ኊI6I/;l@B8hx7gwJZ/]23/3/3/2/2/10]]]]]]] 'CJJ&&TG@ K?3/3/10!! jO=D7@ LM M/+++10'y/*+5@ ! M,M"M@M M)M)@ L@ M8 L7723@ L3 @ LM@MP L@M6)$@M@ M@L@MQ2/3P?32?329/++++32++++++2]++++10+++++%2675.#"2#".54>3254.#"'>!3 - /'@/8M/ +6?,J6#&-# MP! M@+ MMMM L#!"N L M Q!L!@ LMP?+3+2+?++32?22++++10++>32#"&'732654.#"E-8W<%D`32.#"32672?_A #@]9#F 7NS)@.%< &+ (Hc<32@&(9$ZK&3] dA<`D%32!3267#".%6&#"3(BV-ipRW1C U6Dc@eA9 1"EgD"QTN )Hcn?Q(4PD@!  J ILMO?+2+2??210]^]2.#"3##46);  , A4]b P G<-NF7dm3D-( M' M#س MMM M @ M-@ L@ L/%M% M%@ M%@ LL@M@ MHM.@!LR" P- L-* L/^]3+2+?32?+32++++++++2++210+++++++%#".54>32#"&'73265.#"3267 E./S>$"A^;Aa!|~1W Q,SI/(KQ'3%>4?^A9_E'0xl Q BHbQ-@*Pn MK L@,M  @ L @ L OJ JMPN??+2??2]q++10++]+37>32#4.#"P];>R1] 2%  #?X50D*PB3@ @ H SIJ???+22^]103#3'"&54632]]/####^!!!!EO L@M  @ HS IR?22??+32^]10++"&'732653"&54632 &  0)][,####L;9da!!!!!P@M MM M @ M  M  M MMMLMM@LM M LL@MMMM@" H I LIN J JJJ??????9/+?+++++}+++++++2++10++++++++++#.'#7>73 CA:m7<>]]:82m6:;DOQ##IC8&:<7<==N =@ ML  L @ H  N Q??+10+++.57VH] FJp P-!@# ML MLMгM L M سM M @M M MLMLMгMM/ L/@7 M/@M O+-.,JJJ+&&M M L P?+3+3/32+2/3???^]q29]+++10+++++++++++++++++++>32>32#4.#"#4.#"#P iE2D,6".B,IPn@M M MMM@M J JMP?+32??]^]10++++++>32#4.#"#P jE>R1] 2% ]#?X50D*I3س M@ M( M( MM!!@#M @ L @ L MMPMMQ?++?+++++]+10++++#".54>324&#"326$AZ55ZA$$AZ55ZA$aODDOODDO>dH''Hd>=eH''He=XggXXggPG!z@X  M MM0 MMMMMM L#"PK L  LQ?3+2+??322++++++10++++4&#"32>7#"&'#>32ZK*/@&(9$a32#5#".$9(&@/*KZa%D`  3(3]!bQ K (-:%س M%@M 0 M @M M+@M& L%M"M"M"@ M!M!M! M L @ M M M@BMMLM L!!!$/?/ *.MM+M+@M+*'QMP?+32?32++99++]]99+}10+++++++++++++++++++++++72654&'.54632.#"#"&'7976>7(fX,&@-': (%:)kcENFC!"( "0#EQP! $3%HJPJ^@/? M  @ H O @L  L MQI??++3+22]+310+]3#3267#".57 $*3 F-5E*]N'3 M6O4JP@!MT  I I@ LLQ?+3+2??]^]10]+%#".5332>73 iE7'i1T1i'd !%&&%! jj 1omf((fmo1$@ @&MMM MM@M(MM#M@ MM$ M$L$ L$@ M@$4$$&*H$@ %Hr$@$P$`$$@H$  !$!$&!M!M!M@J M ML M M[ (+H}_oJM@M(M M@ M LMM@ MM@M M M@ M6vdRF?OM MLM M MO;@&*H %H}O_o H    M@ MMLLM MT@'+HvDd@HMM M M@MM ML M M6 gVJ?O_@`@    %$J!I II$dt+k{I I IJJJ??????99]]]q]q3????^]q]q]q+}]]]qqqqqqrr+++++++++++qqqq+r++++++++}+qq++rr++++++]q+}]]qqqqqqqrr++++++++++++++]qqqqqqqqq+r++++++++Ƈ+}+qq++rr++++10+++++++++++q!.'#&'3>73>73?>Q.X'd "! M !!  `'X.HddHg/nnf&/ikg--gki/&fnn/g@$F  I      L@ L    @0 L L   JIIII J JJ????????^]Ƈ+}++և+}++qq10!.'#>7'373 &((% `#a0i|}c0e#698996D@AED MM@ MMM  M "@L@ M M@ M    &M '*H       ! RII I I?????329q^]2+}++++++Ƈ+}210+]++]+]++3267&'3>73#".' #7>?m$d &,&8`$X3+4A) a 17x -hnn3imv-A*$A@%  I J??^]]և+}10!!5>7!5!EOOsFMIwTfp3N>,ji] N(GE(Z@   @( H((b(r(("" H")(  //9/3/+]2]]+2210^]]2>=4>;"3#".=4.#(" ,I691# #196I, "O#)@+I):BHHB:)I,@)#`G//9/103#`WW8G%(^@$g    H"m}@ H*((  //9/3/+]]]3+2210^]]]"+526=467.=4Ȕ3%" ,I691# #196I, "#)@,I):BHHB:)I+@)#*~!X@: y!Pp$ )"!  /223/]]]10^]]]]]#"&'.#"'>3232>7 1#32 @1#32 e0+ 1+ -'3@y'X&.!"53*G1+(....F...4!!!%11((+"""%%Q T?]]3]]2]?]3]99//23/33/^]22]]]]2222]2222]22299//3310]]>32.#"3#3#3267#"&'#53&45<7#5j,:9&9)YC*=T3uZRRuu P (9#H   HYF O qH   H!r 4@ H  ? O   /]3/]9/322+107'>54&'&Hr  4f,,Z'  E_@  M(M L@$M M R IO?22??3222210+++++2.#"3##"'7326546';  -D4[Q)  /(a P F=-NPda L;9.dm!er&ccby&*'w'oF@* O_    L?//9///^]]]]210#.=#53533 . PTDDTMM'ox@L O_O_    L?////9/////^]]]]]]]]223310%#.5#535#53533#3 . PQCCQMMMM4FD.@P_/3]3/2/]2/]10'''aa',XX,23?CWc@CA@ABCBCB@B@*  )  : 44)44?***$** DD)DD^ XX)XX&NNNNe  &  & )dCABBAB@AI%}[7a=}S/F}}E??3222????^]]]]]]]]]]]]99//+}104>32#".74&#"3264>32#".74&#"326# 4>32#".74&#"3262+:"":++:"":+*''**''*+:"":++:"":+*''**''*32!!!!!!&Gf?! ,?fG&Qe9:eQ8P`9[@dE%%Ed_,XYYX,QOQ< KM@&M: + @  /?o/]]3/]22^]]310++<7>7<&H  4f,,Z'  ! )@  / ? o  @/]3/]]3210'>54&'&H  4e--Y'  <&nn!e&oo44 /9/10#".54>324!//!!//!a.""./""/S/10!! SOS/1010!!SOg`U@7iy/  4D9I/]3/3]]]3/32^]210]#"&'.#"'>323267`## 0##   h0D0@SH0  p  p++"K&@H&%!!!!"10[%[+t++[" /33?229/3]]??]]+9/]]]]+9/]10###5!#.'#.'#>73>7.iEi F 1 E B ==3{99832, ,23899{308::80(&V_#@ .2*#P 3O++4(?(@@H/322+22107'7'7iAooA?##3}'3<@hw$%<V.f..  =<gP7I+Y++P$!!F1V11Q%hQ?]22?]23?]2?]39/^]]]]99//]]]]2]99310]"&'#".54>32>32!32674&#"326%6&#"Oi b?5ZA$$AZ5?c!e6hqSV1C UODDOODDObA9 1! :368'Hd>=eH';386  PUN XggXXgg?Q(4Pz&<o@% POO+++44GG #@   PK??9/321074673#4632#"&X : d$$$$TDDT~((((V$l@C@H &&V%FV  J IY P?^]33]2?]33]2]]]229/+32104>753.#"3267#5.V1H-S:47NS)@.%< D$S0H0#1VD. M ^Z(C0L -CV<"M@TMMM M M$"s L 0#|y gEy B??]39/^]3/22]]+29/210]++++++3#!!>=#5354>32&#"!v ]]9P0,<5<,uK2n2PGGKSJa9 P&@0,mI2@`4/4O4 e u   jz))3jz eu$$$$..../]]3]]3223]]3]3]]32]23]]310^]47'76327'#"&''7&%4.#"32>YI:J/;;.K:JJ:K096J:I7 ++  ++ [=-J:KK:J5 4J:JJ:I->.!!.-!!-$@n s os  s  o   yyBAA A AB??????9/3/222^]]22]3]+}2]3]+}2]1035#535#53.'3>733#3#6a+g$T-,Q%e,a6jGfGXRNHHNSWGfGj`G@  ZY??9/21073#3#`WWWW+;Q @%67++(WE7 7432/e+  JM-58 6* *27227--S?B;#8R w?2 22J*v**k*V*?z?m?J z i Z  J?*S;;8Q?32]?3]9]]]]]]]]]]]]3^]]3]]2/]2]22]2]]99]]2210]]]]]]]]]]]]]]]]32654&'.54>7.54632.#"#"&'.'>54.DH8896@$A1 aX3XE4'9 ($A1$jbCW $)8! $(4 !$#' (8(-% 4"EQM !! (8(,$ 8%KM 3# 2##hU )@ H@ H  //3/++10"&546323"&54632]########h!!!!!!!!A'I@7EEhwXh( K>>>>>w--gwW g   &  J88;}7p2a22}gHXEDA}E(n((#####}hGWF?]]]]]]]22?]]]]]]]22]^]]]]]]]]_]]_]]]]]210#".54>324.#"32>".54>32.#"32678^|DD|^88^|DD|^8I(Gc;;cG((Gc;;cG(+F34F'+  5#3D><'3"+[U]11]UU]11]UBmN**NmBBmN**Nm4M21L5 <GD>O< &IP1@*HXHW%%%%Wg&6F3/@ H/  IYi@$ H2.+%""" /h?39/]^]22+]]+]]]10]]]]]2675.#"2#".54>3254.#"'>, "#/")8#R)!7(,: " 7 =d ;$3  , , ? ?&ll55@ //99//10#!5POWA'=HE@V757E754E4U4 w4((BBBBw5+++88==5j5'5W55w(Xh J,HHHHu.Y.i..@.)..w  & V f  I>>>{8 +0+++-E}2a2U22F22}gIYE=-n--I-Y--#####}hFVF?]]]]]]]2?]]]]]]]]9/]3]^]]]]]]]]2_]]]]]]]2}/23]]2}/10_]]]]]]]#".54>324.#"32>.'##>32'32654&#"8^|DD|^88^|DD|^8I(Gc;;cG((Gc;;cG(9CG<VZ'$  &-<9(  [U]11]UU]11]UBmN**NmBBmN**Nm-Q@A%7 $,0'%.J@0/]]3/2/10!!.H2i@H   @ H  ! F=&h H/+]?]]]]]99//+^]]]]10#".54>324&#"3262&33&&33&C++++} 4$$4 4$$4 #))##))5l `@:   /P   \ @O  _?]]]3/?9///]]]3]23103533##5#!!5PP6OO;8!_@; # 3 gwV    #"I  fvUFq?]3]]]299//33/3/]]10]3!&>7>54&#"'>32( *!&"+!$E-EBV(''! ?!3*#1 1#: 36-g@$$7gv" *"@H"/+`**. +*'q?32229/9]22+9/]310]^]]2654.+532>54&#"'>32#"&'75((%.C"I=7#)(?,@1q!9 7 ;.1 3#+! < D;8@@L@M M/+++10'7;/͉*PG8@    IK0 HQ I??3+??99//21032>73#"&'#>E ] e<7A\_L9g+G!1@uu CEC??]?9///10"#.54>32#.No|-TxJ*`)N*o hf7R8 #8iEC2@  ij??29/9/310#"&'73254&/>73 (+ $ @%! 9   "2; .@   { p?2]]9/]210>73#2&J1F9m )~&+HZ@>     ! hg??99//^]]]]]]]10#".54>324&#"3260B''B00B''B0J73287337+F22F++G11G+8CC87DD(?&xx2R&'nkp2;&'nV R&'nzpD!-a@>f "((p/@ H.+%Py  )  R?]3]2?+]29/3/^]10]]327#".54>5<'34632#"&~71B?"U06H-&+&N!(!%$$$$&1"H,7!4/*/4!  4-((*((((&$C@ P O++4&$@ P O++4&$i@ P O++4{&$u@ (P 'O++4z&$@-P %O O+++44G '3" M @H .@H..1@H(@RH((11 !"#$$$s'&%$$s$$5@5p5554HW@- H+1 y'@!!!$$z$Y$i$!$!$1ABB???2/99//]]]]]32+]+^]]]9/+}+}ć33/++3/++10+7#>7.54>32#./.'4&#"326?e%B?=!%%!>?B&j ?"#?fG*%%)Gg-X-OWKKX@F Hs syy   yAyB?3/3/?299//329/32+}+10!!!!!5!#>7!3i FZ/h9mhe2s5r=dOQ,Y-lGLHj:CS@@LB@ Hd.S.B.#.3...U*#*3*C***h)9j/z//.s***b*E*U*@~H*>:>>4,::"#BvhWA18>)J"Z"j""Wg|J#Z#j##h&x&&W&&FEUeXh|EUe g X  E?]]]3]]]2]?]]33]]2]]]]]22/39/]10+]]]]]]]^]]]]]]]]]]+.54>32.#"3267#"&'73254&/>J>dG'5ZxD+E3  "+37X>!:W:CXkR (+ $ 7[}OW\0 P &Hg@>fI( P  ! 9  V&(C@  PO++4V&(~@ # P O++4V&(im@  PO++4Vz&(m@  PO O+++44&,C@ PO++4D&,@ PO++4&,i@  PO++4 z&,@POO+++44%w@M)iy vVf''p''# s & y !!| WE#|XF?]3]2?]3]29/3233]]]]^]]]10#"&'#53>322654&#"3#8fU*e)PP)e*Uf8)- -[ZW+ 9K +WKV{&1u@ # P "O++4:&2C@ +) P*O++4:&2@ *( P)O++4:&2i@ -) P*O++4:{&2u@ 7( P6O++4:z&2@*< P4O(O+++44Pa @X `          /3]qr33]qr3/]23/]r39/3]qr3]qr3/]33/]r310%''7'77888a888:$/l@&E.e.6-f-,xh9(JddfMY  @TMF j l My..Z-Z,f)U(H#VETWejY j w)9 L@ MMMM@ M % M M- M @ M.-  @ L @ M*M*M* M*v M @M @ M 11M@ MvM@MM@M0L..%M% M% M%|@=L MMMF-L- M  M  M | L  M MME?++33+2++++23+?++33+2++++23+++++++]++++++99//+992+}++++333++++++]10]]]]]]]]]]]]]]]]]]]+]]]+]+]]]]]]]]]]]4>327#"&''7.7&#"2>54&':5[yDjR;>@'-5ZwC5_):>>(.f,?7O5U; 5T; 5[Y[.8M.S-RY[.K.P-TmF+'Hg'Hg?5W#e)Q_&8C@ PO++4Q_&8@ PO++4Q_&8i@ PO++4Q_z&8@,P$OO+++44P&<j@  PO++4V=RM@#Mvs | y  AB??99//299//22310++732>54.#*5>3 +#I2P78N/')7+QtIMa 6*(5 q54&#"#4>32  /#af*$!'20.9!+ ,  44C=]6P46N1h'! ! '5%NT Q ,%'2(6 ,1LC*2R: +;+&DCR@ 97P8O++4+&DE@ +86P7O++4+&DiK@ ;7P8O++4+&DuL@ E6PDO++4+&DK@8JPBO6O+++44+ &DcK ?6P+44,%;LU @VRc4T4w+%H y, M9-''fUG%'UUfUUF22B?JJ! w---{;   - -WV0WU111BEEEP'w*h***P !$P?<Q859Q?22?32?32?^]]]39/]323/]]9///]_]]]]_]]33]2]]99]]]]]]_]10]]]]]_]]]]]"&'#".54>3254.#"'>32>32!3267%267.'.#"%6&#"e9U !.9"2O8#&-# M/*-,  PUN O @$!3&?Q(43C:@ O<_<<<@H@ H &`666<<W--@DMW;'X*I**&#P5W2F22  H 6M )iyQ?2^]+22+2]]2?3]]2]]+]]]9/]10++]#"&'73254&/>7.54>32.#"3267>  (+ $3M4#@]9#F 7NS)@.%< "' ! 9  "-F[632&''7&'774&5.#"32>4k ,8_H;Y;!327&#"4'326$AZ5O:156$AZ5'E15}$1EO("3EO#]9>dH')@(F#^9=eH'@(A-gY>/gJ&XCg@ P O++4J&XZ@ P O++4J&Xi`@ P O++4J&X`@*P "O O+++44D&\C@ .#! P "O++4PG%h@E#ZIX)9I'&!PNK  Q?3]2]???3222]]]]]]]10]]4&#"32>7#"&'#7>32ZK @&(9$a733267#"&5467>.'&?e(FCB$Y$BBF( (  #86 W ?"#?-Y-nKKm=)#+ WKKW+EK@u(7&0 HB8)& '''!!??'M/MH I0I@II 555,555L!$ 0?:-0QHEIP?32?3329/^]]3222]_]]_]]2]]]]]]10]]]]]+]%2675.#"23267#"&5467>7#".54>3254.#"'>!3 - /'@/8M/ (  #861,J6#&-# M:S&&@ B*(#P )O++43&F]@ @$"P #O++4:S&&i@ (-)#P *O++43&Fic@ ''#P $O++4:S|&&b@ (*0#P (O++43&Fbc@ '$*P "O++4:S&&_@ ((,#P -O++43&F_c@ '"&P 'O++4V&'_@ "P #O++43&G#@"@H"@H"@H"@ H"@H+++++103G)@^  7 G '%+VfVf*(((('%%%"""P  QN??3]2?^]3]2]2]2]]]]3310]]].#"326773##".54>325#53@&(9$ZK&3]JJ dA<`D%7V"_ (  #86 SQQ=)#+ 3E09۵%0H@M.M% ML@ M)&&&  @M1;_;9M9 M M@ L:#,9  ),@MG,,Q4M4 M4P?++?]+339/]2^]++++]+2]2]210++++++4>32!32673267#"&5467#".%6&#"3(BV-ipRW1C "  &3;!Dc@eA9 1"EgD"QTN   =$(4)Hcn?Q(4V&(_d@  PO++43&H_b@ $(P*O++4:^&*i@ +-) P*O++43D&Jis@ 3/P 0O++4:^&*a@ +,: P(O++43D&Jap@ 2@P .O++4:^|&*b@ +*0 P(O++43D&Jbs@ 06P .O++4:D^&* 4* P+43D &J@ 708P .O++4Vk&+i@  PO++456Kf@>s   Ps y yB BAA????9/^]2222]322]]22210]353!533##!##)!PaSaPPaaPSRccccG@ w!@DL@###_##  "!JJ   @LPN??^]+]2]22??]323]q]10]]+]3#53573#>32#4.#"PJJ];>R1] 2% fEM]El #?X5 0D*T,{&,u@ PO++4$& u@ PO++4c&,>M@&M@ L@ L@ L@ LPO++4++++++ & >M@&M@ L@ L@ L@ LPO++4++++++ &,a@ PO++4& a@ PO++4E7@!0Hs BA??3]]]10+33267#"&5467>7Va  ( *95 K = )#+  E$S@ 0H  &&&"%@ HSI J?222??+22^]]]10+33267#"&5467>73'"&54632( *95]/####= )#* ^!!!!K|&,b@  PO++4P@IJ??^]103#3]]BLV&,-BE&LM&-i@ PO++4G&]i@ J P O++4VDo&. ˴' P+4PD&N д' P+4V&.n-@@H@H@H@ H++++10P @%z Wi 6 ) i (  h@RH$+vtf Ie)9II J JJJ??????9/]3]?]]Ƈ+}]]]q]q2+10q]]]]]]]]]]]#.'#3>73HE<n;@B]]>?6l;?>CNQ#"GB8=?9=@?V&/@ PO++4;6OVD&/ P+4'D&O Ѵ P+4V&/{?@H@H@H@H@H@!"H@%%HP+4+++++++10NJ&O[ H @ H++10V&/b dP+4Ns&Ob{ H @ H++10  `@;j {i sv    )  A yB??99]]]]3]3]222210]]]%!'737 _I!jat TT%B6D-V&>6 V&1@  P O++4P&Q`@ PO++4VD&1   P+4PD&Q $P+4V&1_@  P O++4P&Q_f@ PO++4&1p^&Q^&@ #PO++4VE @/ Hg  s  s"s!@H]K@ I@P`4A AAB?3]322???99]]+]]]+2+}]210+%.'#33#"&'73265##]db(_M/ki] _ :-% %9-25K.F/I1-PE%fh ж H@'L''#%&$JR J#LP?+32??32?]^]210+]+]>32#"&'732654.#"#P jE>R1 !:-% % 2% ]#?X5.F/I1-!0D*I:c&2@ () P*O++43&Rk@  ! P"O++4:&2a@ ,: P(O++43&Rah@ $2 P O++4:&2e@**, P-O)O+++443&Re@*"$ P%O!O+++44Vc&5d@ +)P*O++4Px&U$@ PO++4VDc&5 δ5+P+4Dx&U |P+4Vc&5_j@ )-P.O++4Px&U_)@ PO++4!&6R@ "31-$P2O++4(&V!@ 0.*#P /O++4!&6iX@  62-$P3O++4(&Vi'@ 3/*#P 0O++4!CI8.@DH "54>,))))(A (%:: %!!!s!!v%@ M%%%@_ H%%Kv M   GF@HFJ18>Ay=MRGGGg|FMXFF(AFwV|@MwVE?3]]]+2]]?33]+]2]99//^]]]]]]+2]]+]+]+99+}]]]]]29/993]210]]+7254.'.54632.#"#"&'73254&/>7.'7.;!&D2|m?gS70$(5 -K7kd  (+ $ &?2$ ^Eh -! !->,[fO  %& $2E1Q` ! 9   P (CH/@H%%   F&*&:&v"!r!% 5  zh)956?-g*w**'BE'$;;E$!!!!$J EI29?zFFFE'BQP?]32?332]]99]]]99+}9/993]210]]]]]]]]]]]]]^]]]]+72654&'.54632.#"#"&'73254&/>7.'7976>7(fX,&@-': ($:*PK (+ $ ?G FC!"( "0#EQP! $3%>H ! 9  PC%#@OM L( L!! % s$   ByyAB???22^]]]2]]993310]+++#"&'73254&/>7##5!##& (+ $ %! 9 (aTT JC2l@O4 H00 ",-@H-4#3,)0  -0Q" I??332222+29/2333310+]]#"&'73254&/>7.573#3267 (+ $ (5 ] $*3  9&%! 9  ! 4I/N'3 M %&7_^@  P O++4J&W^!@H@ H@ H@ H++++10%J@,s B  yA?22?^]]]32]]10#3###535#5%ڂaTK>KTJ]@ @ H @)H  ( QI??]]3]29/22+2210^]+3#3#3267#".57 $*3 F-5E*]NF"'3 M6O4Q_{&8u@ 'P&O++4J&Xuc@ %P $O++4Q_c&8@ PO++4J&X`@ P O++4Q_&8a@ *PO++4J&Xa]@ (P O++4Q_&8c !P+44J &Xc` P+44Q_&8e@*POO+++44J&Xez@*P O O+++44QE_+'0HȳM@LMI';'++i+y++(((!"" `s-s,AA"%! | M M MF?+++22??^]9/]993]2]2]]10]]+++".5332>533267#"&5467XDd@a\J%=,a;?%(  #86%*Id:Xh^0K4MQ~$=)#3JE-p@J  )0H  +---/" .,I!I+F&V&&  iyQ?]3]322]2??^]]]210+]]%3267#"&5467>7#".5332>73 (  #86154&'"C  3U&&I& 4JD4@_Pp/]23/3/]3/]310774'aa',XX,.J9bE.@ @H (/^]+]210".7332>731%<<%1b#4!  !4#f @ @ H /9/+10"&54632####f!!!!U?# t@'@H@H     ! @&H/mHk?+]q?^]qq+]q99//]]++10#".54>324&#"326#%%%%2%%%%GE/@0 H   B/22?9/3]2210+"&5467>73326786 ] (  #)#+ =$DtT@+@DT/3]222]]10]]]]'7'7{0s{0sЌ$8$&:C@ $"P#O++4&ZC@ (& !P 'O++4&:@ #!P"O++4&Z@ '% !P &O++4z&:@#5P-O!O+++44&Z@'9 !P 1O %O+++44P&<Cv@  PO++4D&\CP@ $" P %O++4Y7'@ABBA????/ԇ+}10 #7yWK3I <@& !   q?^]]]]]104632#"&74.#"32>PFFPPFFPahhaahha3&&32&&2;OF@(p p?]2/22]]]222103##5#5>7322D,4:@v;]].@DAS Q&(3>_@  @+ H#30 p?229/]2^]_]+10]_]#"&'732654.#>73#>PT A35))D4 ؜^V5E <# 2f/?(A%3I(l@J&&p6FV *6 F V  ) &!)9IYq?]]9/3]22]]]]10]]4>7>32#"&7"32>54&%$D_<!=2#%&6!#5$KM'$0$7V;= $#,.%Wk7C  "%;CD@+MziO_o  p?2]]2]]]+9/10>7#5!_'/2-";*[VKA7GYd2 3F+7@a75,&o 9)2   O_8555)) k { 4 D T  # H0 H/ H Hq?++++9/]]]3]3]3]]2]]2]]2]]210]#".5467.54>3232654&'74&#">FLH*8"$$2$4!$)#93%%*/2? '1/(%-.#  " &  9C#z@O :JZ4kZK$%"L\9$*  &q?]]9/]3]_]]]]]9/]32_]]10]#'>7#".54>322676&#"CIh%&6!#5$KM'$0!px=0/#,-&Wj7D  AIo28 6Op(>q%Ir%Cs FtCu#1@X   7GW% 'w?  3"# $1s!P  2H!"!#$|,E|F?3]2?9]+]2222]210^]]]]]]]]]74>323267#".='7>54.#"l.;!*5 6M//3 +%H02B)B$?I !EZ4 1=5aYS',EA E2B$/5:U! !;0Ac!3G@&" 5-54*$$'0!!'y'''T Q?22/?]]9/339/210"32673#".54>32'4'.#"3!25 0|IO09ER\0Sl??lSSm? 0|HG~/Q 38A6 3$9aKKb99bK 06:0 29&'nV HH@ H+++109&'nk& H&H&@ H+++102I&'nVtM; H- H H;H-H@H;@ H-@ H@ H+++++++++10 I&'nktM^ HP H2 H^HPH2@H^@ HP@ H2@ H+++++++++10(I&q'nktMN H@ H" HNH@H"@HN@ H@@ H"@ H+++++++++10%I&s'nBtM? H1 H H?H1H@H?@ H1@ H@ H+++++++++102A&'nVq HH@ H+++10A&'nzq& H&H&@ H+++10 A&'nkq2 H2H2@ H+++10A&p'nuq HH@ H+++102L&'nkr5* H H*H@ H*@ H@ H++++++10(L&q'nvr5= H" H=H"@ H=@ H"@ H++++++102F&'nNs HH@ H+++10F&'nks& H&H&@ H+++10 F&'ncs2 H2H2@ H+++10F&p'ncs HH@ H+++10(F&q'ncs" H"H"@ H+++10%F&r'ncs- H-H-@ H+++102F&'nVu5& H H&H@ H&@ H@ H++++++10F&'nsu5= H& H=H&@ H=@ H&@ H++++++10F&p'nsu5/ H H/H@ H/@ H@ H++++++10(F&q'nku59 H" H9H"@ H9@ H"@ H++++++10%F&s'nBu5* H H*H@ H*@ H@ H++++++10 F&t'nku5S H< HSH<@ HS@ H<@ H++++++10)"2@u.y.u*)H%!!K!  y hYLJ Ey    0  4(30##v++QT?22?]9/32]^]]210]]]]]]]]]]]]]]]]]]]]]]]"'>32#".54>32."32>7.@ P#WqBAkO/N9 #B_=2H2N/@(I74C'G O @jKFtJ:T6@jK)!7Y?##9H&MG;Yi- @~H Xudszks  Iiy*s 0 ` p  &Ffvsy B  } l D #  AAB???]]]]]q?22]]]2]]]9/]]]]]]]]]10]]3>73!."ABE'Y'EBA"dFFdlRRlF-Vc%@  /9/9/10#!#caa2"cMM@&M vvv A/2?9/322]9/10+++!!5>7.'5!!d>v-o!({B@<409?0TQSCN\-ZUK?TGRW45N/3/10!!56NOY7n8i @@Cx            //9/3/99//+}+}ć+}10]73#.'  RT D$YZ4'EFJ,UN. 3?@ ==@3H 7**D*t****$*D*T******t***@D H*A k{\8H, @444= = %/////:::%/3]2/^]393]2]_]]]]+]]]qr9/]+q]9=/3107267.#"7#".54>32>32#".72654&#",,++  &0++0&   &0++0& p++,,#**#'&&'  !7))7!   !7))7! '&&'#**#GiH@.  Ry'O?^]]]?]]]9///10463:#"#*'53265bi ?7bi ?77dmPE9dmPE9*o6ala5:i@Ay v     /33229/33/399=//^]]10]]]]]]737#5!73#3!'7#5DBB0qDBB0qO$_OO$_5N6D5N6!D #n@GO  !O$@ H p!!!Q!0!@!!/]]]222+]^]]]]222]]10>7.%.'>#@<::<@##@<::<@i&$$$$&*F&&F[7aXS))SXa77aXS))SXa7"<7447<"Dk44kP&IIP@#@1wf !%`%p%%%%/% $@ HSIJJ IhxO?]2]2?????+2^]]22]210]]]]2.#"3##46#3'"&54632#2 &A4]b]]/#### P G<-NF7dm^!!!!P@P{@wf  H @ !@. H pPNQJ IhxO?]2]2????/]]]+210^]+]]]2.#"3##46.57#2 &A4]bVH] P G<-NF7dmFJp PP&IP&I2#31/I=ox25x8=x 6=xO5px(>5qx%I7rx%C5sx F=txC=uxIoN2 N8N 6NO pN(> qN%I rN%C sN FtNCuN)@ N?9/210#5>D4@H  @ /^]9/]10+3#"&'52>5UY +  2  , 8 @a &@Y @ /2/]210]#&454>7Y!(! a $5$- #F@Z?9/]10#5>Nv=> /v> ///v>/Au #D`vA>>/v>?/v>@/(vE>^/v%>`/}7l>44r3s/3t/(}7x>G|}7&l>l>(}7&x>x>)@Wh!!h9IY+)*N V f  Q)))&hYP?^]]]3]222]?]]32?3223]]]]]10>32#"&'#53573#32654.#"E-8W<%D`|3y22E#(|F?22?9/93]2]^]]]]_]]2]10]_]]".'.54>32232>54.#'32>54.#"+v110[M:cH54.+2VIsP*110'G6 6O2R  $b5S32#"&'!32654.#"E-8W<%D`32#"&''>732654.#"E-8W<%D`>3 #"&''>7 9O0'  #'H7!);*e)F$U.*8  5 pp !L$ 2% Mv@LM@ M' @ L &@ LM L|M M!M!@ M!E  L M@ L| M  M MMF?++3++++2+?++3++++2++22++++10#".'732>54.#"'>322/VwI*H7$WB:W;:X;BU#6G*IxV/[U]1 P (If>>fI( M 1]:3ߵ''@ Hw x  .//?/o///5W&&&&vhW4EUe!!X!h!!| |W  U u F  g X  EJ.Z.j..++W+g++|J/Z/j//hxF?]2]]2]?]]]3]]]]]22]2]]]]]]]]^]22/323/]10]]+]".54>3>32.#".#"3267IxV/5ZxD)8??&    ",37X>!:W:CX$6H0\WW\0 4.G$- &Hg@>fI( P 30u0e@?6$F$%$$$"(/o2F1),@(%I" PF  Q?3]2?3]222]^]10]]]].#"3267#".54>32>32.#""NS)@.%< &+?_A #@]9>;$ b^*F2N (Hc<322654&#"#28fU*e)\M;bGUf8-1  #[ZW+ VH ;@+W.#?@$s%FvY  $y|FyA??329/]]]2105!#"&54>;5:767#"o020*PsIVb$  R2O6 6GdQUon325@&(9$ZK&3 dA<`D%32>54.#"+<$!,5D$2,!J404*7ES8_H;X:" 6'#5#.;! "#E?42&$2  L&lT*YH.*DW  )3:!;-1;,$% @@ s   y y y A B??9/9/9/9/9/1035!5!5!5!5!%_"SQSK8)"@MM M MȳM MML!M @'M)MLM M Lv@ M@L@ M+ +*M@Mv@MM@M M M@M*y))$|@ MF| M M E?3++2?+9/++++++++9/++++++++10++++++++++.#"'>32#"&546732>7" wz 5* $4D'WT)0TqBc-C,3K2r} P 6`M\\-O1R;!(?P(38"M4 M$M#M#L#M@$MM M88+:2v!vMM@ M MPM9,@M,/|&7y+M+&@L&E |MM MF?++3+2?+3+9/92++++++29/10+++++++++#"32>7#".54>7.54>32.#";>-M9!_U8.%  (6D&?hI))7;=$@X4=3) X7@M$8D!4F 3(D9 P 2O7(<-T0/E- O 9-#. E8@s| y  H GyA??+39/2210!!!!#"&'73265V !:-% %QO.F/I1-:5@}  x !#o##W###_5s7?7o77g-&--vx g   6##u#T#E##((||FgXE5W222|hF?]3]]2?]]3]9/22]2]]]]^]]]]]]]]23/]]]3]310]]]3#".54>32>32.#".#"3267a -;F$IxV/4YxE-:??&    #.75VfI( H'3@91s+s""$(2* * )* *%&' $   $2 $* $ s * *322s22$  54*$2$t$$?$O$$.y) C A A?.??^]]9]]333]99+}ćć+}]3/3/10]%.'3>73#".54>732654'!@@B%e5i;;h6c%C@?!  "8))8"?':zQrttsQx:1,*1((1*,15@ '' P1)@'&)++$+T+d++++:++++4+T+t++++++++@+`+/+++++ +@+p+++++! *!M$L$@  L$P NJ@MMM LQI??++++???+++322]]]]qqq_qqqqrrr^]9/10^]]_]]%32653#".=4.#"#7>329<<9].RAAR. 1%: ]]6?Q/XIIX,TA''AT,30D* P #?X5Vp0@   s|  H FA??+32210^]33267#"&5Va/0#  9"`R>6 P ak7 0@s  y BA??9/3/29/3210333###daddad&KDV$@dy '$#"! +;M$4Ks  I :  (  /OM H(s@BMD0& s % |tE;   {6 A BB???9/]]9]]]?33]]]322]]+2^]++]2]]]+}]]]q+q10]]]#.'#3>7>32.#"+c`SrPY\*aa59<7-*:,%9UtYdi//_WJAED #E:fP(@# F 9 8  xL#M#@]L M LLt#$##$* )$I9I#I&6O J JJJ?????^]]32?9/]?]2]+}]+++++2+10q]q]]]q]]#.'#4>32.#">73 CA:m7<>] !:-% %:82m6:;DOQ##IC8M.F/I1-:<7<==G@ 8  H @ H   NQ??9/3232+10+].=#5373#VHNN]\\ FJFCF '@Vf3 $    #!$$ $% %     %  ' %%$%$$$  W0  ?$$)0(%J$J  OJJ???392333]??qq9/9q]3+}ć+}ćć+}]^]10]]]]]]]]]#>7''7.#"'>327#./' _,6? jd' %5$?"K;0+?)R?^Vy/j@D///|/x1)s''s s 0(AA A*--'"V"f""Vf|F?^]3]22]333???]]10]]]]%#".5332>7.5332>73#"& %1<"EW1a 5*+$ a 5)$"a%zE3P- )Jf<j9R5  M'j9R5cW E!@1wss@ #s"@Hm[@*IP`pD!BAAA|  H   GB??^]+32????99]]+]]]+]2+}]10!.'#"&'732653319BGFB :-% %M/ki] _%\cf_T .F/I1-25KPGL@ L J KXLP?+3]2??^]10+]>32#4.#"#P jE>R1] 2% ]#?X5#0D*I:%@LMM M M@ M MM@M!M!MM Mv @M @ M  '' M MM@" MvM@M&! yM@ M|MFM|ME?++?+++9/]2^]+++++2+q]+++++2+10+++++++++4>32#".2>7!"!.:5[yDCwZ55ZwCDy[5K1P:#: wddv #;O[Y[..[YY[..["?Y8p*~o7W>!:!5@\))$/h )  v,hw77g&vx$$$$63,X |g)))EW|hF?]]]?]]]33^]]]]q]]22]2]]29331032>54.#"#".54>32>54&'3 ;U54U; ;U45U; 1)&$*5ZwCDy[55[yD7d*^[?gH''Hg??gH''Hgc0V$-|OY[..[YY[. 5#  3Et ,x @= M Y'i''*.V!f!!-G$W$$$QH*X***@ L[P?3]+3]?]^]]3933]+2104>32>54&'3#".732654&#"3$AZ5.P\R$AZ55ZA$aNEENNEEN=eH'3#  eI P.>dH''Hd>XggXXgg9';@n y yv v--)-i---=< s ==&7f77v##<((|x)iF BIY|fv22|w&fE?]]]3/]]3]2??]]]^]]]9/]]3210]]]]]2>32#4.#"#".54>2>54.#"w3_'U:ES-a 0" 1!'2WsAAsW33Wt@3P77P33P88P(&Ec32>32#4.#"4&#"326$?W33W@$$@W3'EI,dH''Hd>=eH'#@X4#.B, "T2XggXXgg(u@K( GW$vGWg*0** s s P p  )y B |@E?23?9/]]]222]]]10]]^]]2+#.54>"#32>54.t+QtIMa\M;bO..I2P75Fon7#"&'#4>32.#">32ZK @&(9$a54.8AFhHz'aa%2M ,E2P73E$MhG.RkmDa+ 3*'4 0-M)M(M( M@M M  M M M@L(L(,,(s(,M@ M, Mv%M%M%M% L% H2/M/vMM@M M L @ L HM 1M|"M M@M,M,, MML"M"@M"E|L M F?+3+2?++3+++99//++++2+++++++++++++++99+++}++10+++++++++%267#"&54>7>54.#"'>32D^ '6E)y7K-6($07Sg?m|2D&!;.E P b[1E2$ &%  Of[,>-! !- h'+@wv'v& 8'$ 6F%'   :J+ !$' $ '$'$ ''''  0-)   ,8''PQ?32?399]2^]2]299]]+}10]]]]]]]]]]]]]]7267#"&54>7>54&#"'>32:FNEbl*:$75:'-@&+Xf(7>67CPJH%3$$#!PQE#0" ("!! @aWV    s   s   z  wy AyB?2?9/2^]]]9]+}ć+}ćć10]]!!5>7.'5!!t7|/y5=@=91-5:iHCSIDIL'&LG>=S9AGE(V@. H (( @  ) @%OgwHR?+]?23/310^]+.5#".54>32'4&#"3267 VH!+"1 !7*UF]"" !  NFJ9%0/*`U(+)  JE|,R@1  H$  .,*-  $ '')''QR,I??32?]3]2232210+3#3267#"&'732654&=#"&57 $+:  6,$ & "UI]N'3 +E1D2-gi@9@!  * su@   ByA?22?^]10]".54>3!##*2P 1=ad+% -;"QdJ#j@D v  %#$h  vO  ( QI??]]3]2?^]]]3]22310]]]3#3267#".54632.#" $+2 F-5E*aj*:  , A4N'3 L6O4ndm P G<E%Z@;  ( O_syA|  H G?+32?2^]]]]2]]10]3267#".5#5!#K% %-:! -1I/F.dQQQ!(K@.s% s @   **s@)({!AA|I'7F?]]??]^]]]10#".5332>532654&' 1$AcDDd@a,=%%=,I#! .':dI**Id:X4K00K4"$ Jkt$f@1 M"!@M@M@ L& &@%"II@ L L Q?+3+2??]+++2210+#".5332>732654&'3k 1$ iE7#5!32>54.'5!#AuY5$. 6( :R22R: (7 .$5Yv+U~S/VJ=RD=JY6;^A""A^;6YJ=DR=JV/S~U+Qt#[@;e V IJs(8Hvh% s $|A A'7|F?]??]]]10]]]]]]]#".5332654&#"'>32tCpUEa>a*9!aaAM @V4dBkB*Id:X4K0Q3[} @[MsK[k8$ "ss!(H B|EAAB????322?9]3^]Ň+}2]]]]+}10+3.'3>7>32.#"Ez6r'^1 ')#4/,:0+.,jdRNKLA +,!BLVSG8/@ g&&.-7"G"""'((@YH""((hW6F%10.(-*P II K?32??99?333^]]9]]]]]]]+}]+}+]210]]]]"#".'732>7&'3>7>32&A&*4A)  #*! ?m$d &,  :>)vY-@)K 'w-hno3'LMQ,7>H !y@?   s      yy A y B?2?9/3223333^]Ƈ+}ć103#!!5>7#53>7!5! \1,O S/w-T#h$qDK?|8QA7EK?n(Q$y@A          I J??9/322333^]]Ƈ+}ć103#!!5>7#53>7!5!A%p9"s=#X8wK0B*T'L:)^0B)FL,~@OX sx  H&X&&vwi.-{Y+++#|XIF yA?2?3]]29/]2^]]]]9/]+}10]]>7!5!#".'732654.+74..8<-Q<#)Ih?&D6(  %.8U_!9M-<<8Q::?@1J16O3 P :D(5 2,@P'''#s,',,',&.#viyV7-'#&y%,{YH%A |IYF?3]2?9/]]222]]]9/3+}^]]]]10]#"32>7#".54>7.'5!!-M9!_U8.%  (6D&?hI)#7.'5!!_&H8!VQ/R]7;`E% 7K*50) )/2 1'AG P 6Q61E-AA;6N7=<C-@&  ,Z7H W | #"! $  <   $ $ $ $$  x  h //*.wfx$$5$$$$+   0  +I?2/9/]]]99]]]^]]]]]2]]]]]]]9+}qr^]^]+}^]10]]^]]]]]]]]4>7>54&'5>7!5!.'2$B3Xk3S W60H/%AW2"I r!) ' -/>-SN9)[0&8'0;'  $(*@] !)X))$v7###,,!v%%*$+%!y#y))#By  h  |&E?]3]]]]2]?9/3/2223]^]]99]]9910]]3>54.#"'>323#!!&>7#U#1)!4(.'2?&gq) W8*<?W*9ti#I,* Da\*O&I9+K Q.OF?+@hX%vc@B I@--'s" ###,yH)9&y"y$A|h  HHF?+]3]2?9/]]+^]222]]+_]10]_]#".'732>54.#>7#5!!Ř CfE;3&!+5/A)GtUawg.N8  R "-&:(&D@> QQ274)U@2(+$ *$HI Q?32?9/+2^]222]10]%#".'732654.+>7#5!#32up91$+3GC2T@2Q9]B$KW N +)' 8Z0JJ !# +B/%@f$#x 9" "" " " ""   e  %''%&J ;  *: QI??399]^]]]22]]99]]]+}10]]]]]]]73##"&'732654&'.5J^ %$:*qbESL:9<6>4%M& $2%HJP!") &9,PG  T@4 g{  WgwPvGiK?]]]?]3222^]10]]]4&#">7#>32NF*/,ZH-a8`~F] dA9Z?",EO r(>W3232>7(BV-hqdSV1C U6Dc@A9 1!EgD"PUN )Hdm?Q(4&$@-P,3O %O O++++444+"&DK@8JPHPOBO6O++++444&$@%&P'O O+++44+"&DK@BCP32.#"32675#53aPP -;F$IxV/4YxE/J5"b45VfI( pI3G@"5M@sMM"44#17W)g)F)7))UeHI6fvR#& 43 P111./^]3]2]?39/322?]32+]]]]]]2]]32]210+]]++%#".54>323##"&'73265.#"32675#53 E./S>$"A^;Aa!NN|~1W Q,SI/(KQ'3%>pp4?^A9_E'Dxl Q BHbQ-@*jD:^&*_@ ,(, P-O++43D&J_e@ .2P 3O++4Vo&._@  P O++45&N@  P O++4:E,@*@*M. >   I:i @ L!@L!'@M 7M7 M7v M @M @ M BB-M-@+ M-vMM@MAL LM2M2 M2@$ M2|(M(M(F<M< M< M<|MME?+++++?++3+++++++++++]+++++9/9+9++210]]]^]]+4>323267#"&5467>7#".732>54.#":5[yDCwZ52D)&(  #86Dy[5f ;U55T; ;T55U; [Y[..[Y@iT< =)#+.[Y?gH''Hg??gH''Hg3E(4@i(<L\ +@ Y)i))6V/f//5H,X,,,$PYi G2W222Q?3]2]2?]^]]]9/92]2]10]]]]3267#"&5467>7.54>324&#"326F<+(  #86 2S<"$AZ55ZA$aODDOODDOV =)#+ *Ga;=eH''He=XggXXgg:Ec&O@ AB PCO++43E&Pk@ 56P#7O++4&_[@ -1P2O++4G&_@ )-P.O++4G &]_@ L P O++4V&'=V~&']3&G]Q:^&*@ L*( P)O++43D&Jd@ .0.P /O++4VX@4s ss  yBu f U F  |F IAA????]]]]]?9/9///2103!332653#".=!#VaSa=II=`4YEDY5a"Nb[[b7]D&&D]7SVGSM@-   vsI|B9I|EC??3]2?99//]]2210]]#>325>54&#"a19@!@oWAqS0cU0<G ~WjQ![=QmKQWV&1C@  P O++4P&QCm@ PO++4#/3e@ M20Hwew e $122 @zH ****-300@H@$$$$--   s#"!  s 5@5p55540H03211 HW  @- H '-y#@  z Y i   -ABB???2/99//]]]]]32+]+2/+^]]]9/+}+}ć33/]+]2/33/]+2/3]10]]]]+]+7#>7.54632#./.'4&#"3267'7?e%C?>!7&%8!>?C&j ?"#?-gG $+11+# Gg-X-OXKKX<7N+&DK@ ?6P+444&w@ PO++4,%&@ XV ,P#WO++4:&@ 20 P1O++43&e@ -+P,O++4&$j@ P O O+++44+&D!@ =7P54.+532>54&#"'>32#"&'7O9lT4-BN!&(I8!ME7Sh?6ZA%!2LUCoN & d,I92A&N%9&BH O6S:60( rHPlBT G3@lK:Uw  wvw ((w5t  ""54./4g  #!!wR.+/P?22?]]9/2]^]229/9]]]]10]]]]]]]]]]]]]]]]2#'>54.+52>54&#"'>,L7 ) 2"DlA>?=/'7> =/;6-J *.,C0+' *1F\6O "1"&,M , 05P Vk&+_@  PO++45&K@  PO++4VGS?@&WDEs s  | 7GE BC???]32^]10]]]#4&#"#>32SbRZ(&" b7AH&Hb>Org )Jf<3D(7D3@e H4'$G3iX&(# ###77;BGF711E%$? KO)),f W  P8874Q?32^]?]]3]2]??2]]]2223]]310]]]]]]]]+]%#".54>327>32#"&''7&4.#"3267"32654&8<`D%54.7#".54>7.5467332654&'3O)C23C%%C32D-03%MlF &20- ^ ELLE ^ O 1"#22#"1 9T +9#bq7N1$8+ T90D&#F#CGGC#F#&D4 9e@>637 ;*-)#&:#v00D0T00RI6N)NF V  Q?]??9/]]]]99^]22222210%4&#"326#".54>7.5467332654&'3ODDOODDO>0',!$AY55ZA$!,'0 [;:9;[ MZZMMZZ9X )7C'8[A$$A[8'C7) X9*Q*#G#QHHQ#G#*Q!E#a@7v   s%!$ !y"Ay  H GyB?32?+?3^]և+}]10!#"&'7326=!5>7!5!#cje$ :-% %f9AFEAh&~CQ.F/I1-A(`ef^SQ$E!e@:##" I  H RJ?3?+32?^]]և+}_]210!#"&'7326=!5>7!5!EOO 6,$ &FMIwTfp3N+E1D2->,ji] N|&$b@ !P O++4+&DbK@ 8>P6O++4VC'|@K H @$''@ H    )s( H$@ H$ y y ByA??39/+^]+2]9/+23/]10+3!!!!!##"&'73254&/>7V"_  (+ $SQS ! 9 (3C6? @  HcD@M4M944*4 4  HL@"M2//&%++@M7 A?M? M M@- L@%"H"&)/@ H/?  2@MQ:M:P?+?+339/]2+2+2^]+++++29/]3/2]10+++]]]++]]+4>32!3267#"&'73254&/>7.%6&#"3(BV-hqSV1C K1 (+ $8P5eA9 1!EgD"  PUN ! 9  "-G\h?Q(4:&2@*< P:BO4O(O++++4443"&Rk@"4 P2:O,O O++++444:&2@7( P32#"&''7&457"32654&,1#$8'9HK0h]L"(##%$H'43*/)[*~$,+*PD,9@fvdt  vvD117;p;O;+:+J{ %5   ---4 K*X%%P?3]2?]]33]]3]3]]?]]]2222]310^]]]]]]]]]]]]>32>32#"&''7&454.#"#%"32654&P jE>R1,1#$8'9HK0h 2% ]"(##%$#?X5'43*/)[*~0D*I$,+*D)x@J  ''++  *IS& J$    R?]33/?^]]2]]]2??2]22/3]10]]]7>32#"&''7&4573#"32654&,1#$8'9HK0h]L"(##%$H'43*/)[*~Ne$,+*3j@@=B433!BB< P11 P)A4117  L .7@L7P3N!$$ LQ?+23333??+3+22333]2/]]93/310^]%32654.#"#.#"3267"&'#".54>327>323&KZ$9(&@]@&(9$ZK&3-NM-<`D%32>32>54&#"$9(&@/*KZ<`D%73737.'-[6ehD__?c(FCB$V/FE#CaSV  .j-X-nKfNX=z:a %0@ *)h)W#$ $k{9Y)* $% %$ $ %$ @ H2a202$&&&&vhV1))IY|$#i[IkW!!F*V,|FV XE?]333]2]22?]3]3]]]322]2]]]]]]]++}]]210]]]]]]7.54>327.'3267#"''&#"BK4ZvB/ G '5B[%8I*@4+G&&3T327#"   u"%@ (,%#>==#@]9  >nNSN N PQ!}S '"',,("+'()I"!JZjI:K?]]]]>]2?^]]2/+}10]3267#".'.+5>7!5!EOQ!(  !#' & !1($ !*6 FKIwRgs7 "O$ >,ji] N'@T  iyJDsi y  v)(yH"6"("""|@ HEBB???3+29/]]]^]2]]]9/]]10]]]]]]]3#54>7>54.#"'>32a!1!!&27X )5<sy#/% );/% !%  P _S&7*! * %@eJ;J%%2  '&vE h 7    wVfPJJ???3]]29]]]^]]]]]]2]9/]10]]]]]]]]3#54>7>54&#"'>32Y*.@/,)"  '27bg&  !0'+&  M MD.#  ]1B@bH*g8vgsf,vgw D DPDD" Bs CB=|2y1y    1 1 E"'|F?22?399//^]3292323]]]]]_]]2]10_]]".'5#53>323#232>54.#'32>54.#"110PP011=!KaLaKKAcDDd@KR%=,\KS:dI**Id:S0K4HHh^V3@d()  )8H* s9( y y ByA?3?3339/32223323]]2^]]]+}]10]]3'7#!73#!37#37#1E&XzFFgfYfv\EMP3g%,15@u# '&54#" "" &   10 ! ?!! ! -7?72,VfG66"!G444W1&,5# @ HQ0Y'' v e  IP?]33]]2]2?+3339/]3322]]222]2^]]]]]99//]3}]]]3210]]4>327#3267#"''7.?&!4&'73)DX0  >|3'2GY62*>>90%:)*/)EgD"TP4 $  SU#{}+91>DT,e@= swh yyA |  L  M MF?+3++2?99//9////]]210^]%#".'7326=#5333#5YC"9." &C2HBaPP2VA%  M!IY\K&KE#e@)!   %$   @ HSIR???+99//9///^]32310]"&'7326=#53533#"&54632 &  0)\\]NNZ+####L;9FFda!!!!!:E?$8@  L  L$@L$M$ M$s%M% M% M%v/@L/M/ LL@ M//:94M4|@ L ME*@M*|LL@ MFy G?2?++3++?+++9///++++++++3+++210++3267#".=#".54>32!32>54.#"% %-:! 3>D!Dy[55[yDCvY4 ;U54U; ;U45U; -1I/F.c*.[YY[..[Y?gH''Hg??gH''Hg3Es/a@<  H/'''''10( 8  G,W,,P" H"QR?2?+3?]]99//^]3210+3267.#"3267#".=#".54>32$9(&@/*KZi% %-:! E-8W<%D`32"#32>54.243j/0/aPP)e*L#  X.H33E$BOV(&OH?KM nmDa+ 3('4 :@ J  P?2222?9/32332102.#"3##5#535>  3(3]JJ!bQ FF Z$@"!   $ s     s  s  & &P&&&%By B A AAA?????9/923/3?^]2/]]2/9/2+}3+}ć103.'33>733##.'#>7#S)n&'h*T~:a ;}($# &J%%J&&J%%J&I0`01a0w: :G*/y%M@M.+*- &*)&* *   +++ &  &+&+&&&&& &   vU7G 101@1p111 *0 #*&6@ K I III?????39/]9]232^]22]]29]]]]+}+}10]++]3&'33>733##".'73267.'#67#K&a  ]BX0*4@*  #6? ;eu;jc-i73e56d3DH<-@)K .7<CLOTG(@e     H( 8 X   "vi 0**)g((K I?2?329/]^]3]]]]]]+9+}]]10]]]]]]7>7!5!#"&'732654.+x2/()05*K7 %E`;7]R/QV"7H&<=7N6;AA-E16Q6 P GA'1 6bB.@@H'  /3]^]+102#.#"#&>1%<<%1#4!  !4#DdG@#DT/32]2]2]]10/'s0{ms0{$8$_?t@ HiH@@H  iH H @ HH/++++]2/++2/]10+'7#"&546324&#"3268%&77&%8-E<7N+11++11+!KW" A@H @H  @H/+/3/+]+]10"&546323"&54632'3#W K@=K;" 1@ @H@  H /+9/+10"&54632'3#  K@K\V @,tE4%Dt6$T1A"@; IKktcT@wVv~o @.H@H  @Od@H/+]]]/3/++9/]]]]]]]]]]]10]^]+]]]]]]]]]]]]]"&546323"&54632'R `-oK &K\V @Lv  Huv v@ H{o @%H@H  @O@H/+]]/3/++9/]10]]]]_^]+]]]]]]+]_]"&546323"&54632'R L323267'3#U " - "      j@]30@ZzM@/10+]'7o<7NA67:@  @/]3339/^]2]210]''{^^_-==-A675@ @/]]9/32210^]]77A^^{-==-_zp@yjy @"H@H  @/329/3/2/2/++10]]^]]]]]'"&546323"&54632`-o  &zb@Ue@H @H  @/329/3/2/2/++10]^]]'7"&54632!"&54632$o-`\ &z @@6H@`@H@ ` xH~xI]N0 H/+]]+_]+3/3/3++10]]]]"&546323"&54632%774 ^^{-==-_V&(C@  PO++4Vz&(m@  PO O+++44'MM@%MM L`pvs@0M@`)(#| MyyAB |F?32??9/+29////^]]+22]]]10+++++%#"&'732654&#"##5!#>323K1 <;^T#Ca $&DeB!,M9 MJ9LF aTT 32.#"!!3267IxU//VxI*G6#UB5R:!0!;S6BW$7H1]VU]1 M !&v (ssI Y   21 I Y  1) ,||%% FyA??339/2223/]39///]2210^]]#'>7>5!>3 #"&'%4.#*32>  )=S8 FM)4*NpF*`*|8M.'/%F5 bpZ-O;$THJU8T8 *8  5V)T@/v&ssIY+*y|##AAB| F????9/23/9///]22210>32#"&'!#3!32>54.#"\)*NpF*`*aaDa[%F5 8M.'/ls8T8 M 5**6 t@Jf  ss|wVfHyyABB???9/]]]^]29////]]]]]2210]#>32#54&#"##5, $&D[7`DS#CaT 7!3#5!l\I37W\,(= :VbB;V(r1 @,$$ssr$$% %3'', && ,''s--'  s} s%%%----2-B,B&B %BBBAA A AAA?????????9/3???^]]]2]]q+}+}3/}]3/99}3]]q+}]+}10]].'33>73#.'##>6IIEq=EG ]GE>pEIH(PKBnDHI!]!JHCmBKQp#UWT"LSU%5%UTK"TWT#$Y`d0.]WLKLW].0d`X 8@!!fgO8_888) Mv@ M0L2vM@L: *)))9y77*@ M*/|)M)$F | L L M ME?+3+++2?3+2+9/2^]22+++++39/]10]]]]]32>54&#"'>32#".'732654.+4!D8$M@7X )3< 4X@$=;7))Ih?&D6(  %.8U_!9M-> .#-9 O -E/0T-<(7O2 P 9D(3 V@   v   s s   @Ps B B;   H9 *    AAA$rc@P2#B?2]]]]]_]]]q2???33^]_]]+]q??]q]+}ć10]]]]]]]33>73#V_ ]ik/M_BFGB952K T_fc\%V&@  PO++4Vo. mO@2(s s    ByA F  y F?]]??^]2]9/]10]'>7>5!#C)=S8 FMab8ic^--O;$THJTKbC%0Vk+:2Ve*@s sBByA???^]10#!#eaaKbV=3:S&%7C$@sXs $! cs4DT' &&o& &P&&& % AXAAA | F?32.???9]?^]2/3]]]]9]]]]]]]}+}]+}ԇ10]%#".'732>7.'3>73+;S=  %-$ ,NB6n!g?(I i....Q<"R 'Gw2Wu[lHuo8(c;VG 1@s s s AAyBC??2??9/2/10%3#5!3!3eW\aMaSb:!L@, s s|y A B A???9/^]]399//]]31032>73##".=3%?0'$ aaO-L`7`*?)_K #A]9V @w s s s o       0 P p 90 P   0 p   0 P ` yy AA A B????]qr^]^]qr_]q9/9/9/1033!3!3VaaabbKVG]@9 s sssp_ @ yyB C AAA?????2^]]]]]9///2/1033!3!33#5VaaaW\bb M@-v sYi"! |y A|F??9/29///^]]]2210%#"&'#5!>3 4.#*32>*d*);f 9O0'- 'H7!pp XS*8  5V $O@-"s$VvsI$$&%&|!#B!AA |F????9/2]9///]22]10%4.#*232>7#"&'3>3 73#8M.'""%F5 f*NpF*`*a)4iaa*8  5*8T8 KVC <@ v sVI  |A|F??9/299//]]2210%#"&'3>3 4.#*32>C*d*a);f 9O0'- 'H7!pp *8  52(@$v&W gy )vh)vM@MM*    )@ L|$yM L$M$@ M$E  L M@!M| M M  M MMF?++3+++++2+?++3++9/]2+^]22+++]]]]9/10]]]]#".'732>7!5!.#"'>322/VwI*H7$WB6S;!0!:R5BU#6G*IxV/[U]1 P #@Y7R4T2>54.#"@sW32WsA?pU5aa8Tk;3P77P33P88P.[YY[.+T}SKrL''Hf??fH''Hf??fH'$%/@3 s 11vx&&+0 M+@Hl+/+?+O+++ s!@! H!!!0H&&y BB | ||E???9/33]^]+3/]_]++3]2]]10_]";"'.'2##"&'#>7.54>c&E6 __d  #010aS**)f,/+2**Opg 4'J9UU@HN%'TLA.E06R7+D>"7@WV&%f-Y-i--95#f##g8g OW(F(( Q5I22P?3]2?]]?^]]]]]]]22]]9/310]]]]>32#".54>7>732>54.#"S&ps;Z>G^7Bu\) -$cj !8,&6" "9+*Mz4`J,4ZxCWrK T b/T@%2C&"@2$ (P6b@<4&*/',7,, 2x222 228#7'/ $'P# Q?32?39/222]]]]]310]^]732>54.+72>54.#""&'>325'$1oc-!'1/a;dd;)N<%& +3%AXF!!E  !9*&6;5/>&P@ IJ??10##!]BFoFX@4  GW L J LI???22?]9///]32]2/1073>7!3#5!#%#8!'UFXzX!L0fmwBDݑn/_]Y*3H- @'$$###g#w##*-- *)*)     4));(hx '('(/ (.-I)I(I$I#IJJJJ J JI??????????9/3??^]2/99}]3]]q+}]3/3]]q+}]]9ć+}]]+}10#.'#5#>7.'353>7267@=8h7;;Y;;7g7=@762g$^?Y?^$;?>DIM$!ID;;DI!$LID>?;-nHHn-,6@ M%   M@< M& 87' G  8127 !Q1,2P?22?329/]2^]22]]29/10]]++]]]+2#"&'732654.+532>54.#"'>-N8  .5xg?[S:?B&,WT'! +*( "+0$6$&G6JH O''#J  P P@8y   ZjI I I J @I a q R 4 D  JJJI????3]]]]+????3]]]2/2]^]22/]]10##3>7ZHHBSZBGG&fmj)+ge]"P6kP  N@'8H      JI H Q?+??^]2]9/]10]'>7>5!# !0@+ 19Z]!KKI 8+N 6'"V]^*C$@K)9I +&&&   & 6 F   $%JJII0@@&+H| I? O  @&+H |  IJJ???9/+q?+q2????2/^]3]]322]2/]33]]10#>73>73#.'#. Y U V88V V \ *)$ N %)*cW=<4vv4<=WcWZRR[WP ;@"      IIJJ????9/2]^]210!#5##3353]]]]3RP*@ IJJ???^]10!###!]]FPGS3F.@ JI??^]]]10###5]NFND\2G /@/1**% /$"##0 @3M&6//v//J)9"y%%%%I#$OKK???3?]3]2?]]3]]+2^]]]}}]]10>54.'#5.54>7574G))G4)G44G)Z;hO..Oh;Z:iO..Oi:,D/r/D/D,+D/$Ca>>aC$$Ca>>aC$[Po5 1@   IIJL??2??9/2/10%3#5!333FXs]]MޑE.T@3)        I JI???9/]32]^]310]]]]326753#5#".=<4&3]]!$+G3;/*E4P @s    ? O   H     0 @ ` : P p  P p   @ ` p  @BEH II I J????+^]qr^]^]qr^]_^]r9/9/9/10333333P]]]EEPo-_@;  0`p J L III?????2]]]_]]9///2/103333333#5P]]]FXEEEޑ8'b@> &)"@ ( "#QI??329/32^]]22]]]10]#53>32#"&'72654.#""+L9" 32#"&'#33 =B#,]A)J8! :R1/`-V]].3$ )A-/B* P%P@0'' &  #QI??329/3222]^]]]]10]%2654.#"3>32#"&;D#.9]"+L9" 32@`@8V %(QQ MK)> !'*?_@!32#".'##34&#"326r)>P.3W@$$@W30S>'q]]MAAMMAAM14T< 'He=>dH'#?Z7XggXXgg'u@L ) )   ##(& JJ PJJ???32??9/^]33]]]2]]2]210]]%"&'#>7.54>32#=.#";' ;^ !"$ !:O/B\\ 3!9FH9]0m/=:4 $),B+ /32&36HCi36HbE/@  H @IL#@111_1 .0/J R.h)) @LPN??^]+32]2]2?32?]323]q]210]]+]+]3#53573#>32#"&'732654.#"PJJ];>R1 !:-% % 2% fEM]Ek #?X5.F/I1-0D*SP6J3$]@ &P&W@ H%  Q  P?32?39/2^]+2]]229/104>32.#"3#32>7#".3!@_?+'! =*KM QQ)% U9A_@9bJ* K OCKKU O )Id(VBL6 @POO+++44EM A7r@F8+)+7"#66"6"6. 9-..8"7I.f.v... -!Q?3322]]?9/32]2]99//]210]]"32654.'>32#"&'#'>7>5!g3 =B#,zA)J8! :R1/_- !0@+ 19Y.3$ @)A-/B* !KKI 8+N 6'"V]^*P5+Z@7  '&-, IIJ$ Q????9/3/2^]9/]3210]2#"&'5##3353>"32654.i)J8! :R1/_-]]\A3 =B#,M)A-/B* L.3$ P 6[P6CxD6\FPo 8@      IIJJ????^]9/10!##5#333X]]E3(8@&''* 0WE4%$#"&"..i.W.,&&&",&,"&"&"", i))/:hf11   9v"""7"G"g"",NF6V666Q?]?3299]]^]]]]]99+}]]]]]10]]]]]]]]]#".54>7.5463267#"4.'326;\A=[<*9" -]NAKI-0:  .T@%`.5AL#8'HK3bK.)G]3-OB5;+EKO# 1AY@1F1 sJ"@1h)r@D$s+Yivw+*y### yD%| B?32?]22/9/^]]]]]99//]2310#32#".'#535332>54.+2VIsP*110ak'G6 6O2R  $B5S32#"&'#2654.#"]"+L9" 32#".%267.#">32".#"3267:5[yDCwZ55ZwCDy[5-#:Q23R;"<-$<99$<99!&<t\^t.[Y[..[YY[..[T9]A#$C`;L%bowf 3$5s@0!8Hx(Y"i""7.Vf   61@H1@H%%Y++PFVQ?]?]9/++^]]2]210]]#".54>32".#"3267'267.#">32$AZ55ZA$$AZ55ZA$&$#& L<>M ! LdH''Hd>=eH''HerEOVK B FPVK  @V(7hs   vG  s    s  A B B |E?222???^]]]2+}]]]+}10]]]]2.#"#.'3>!9+  ["ACF%k6h7 $2F &0Kn܀ 4&:@R(x     PIIJJ?????322^]]]+}]+}210]]]!#&'3>32&#"%T1i'd !%&f *)! j 1omf(3+H VC-!@/x-, v+*#$$ ss  s  /@/P///s. yBG; H9* A#+$****'''' AA$rc@P2#B?2]]]]]_]]]q2??]]22?33^]_]]+]q?3?]q]2/2]+}ć9/10]]]]]]]]]]]33>733'>7#"&'73267V_ ]ik/M\!-C TBFGB9>PG&!!&FO52#JHA* ', T_fc\%@9 (( 9@PZ^+@f- )(!""y -P--,ZjI!)"((((%%%%IIJ@IaqR4DJJKI??3??3]]]]+???]]22?3]]]2/2]^]]222/]]9/10]]3'>7##3>7'"&'73267X'@RHHBSZBGG>PG&!!&FOE#E?7("'&fmj)+ge]"T@9 (( 9@P(d@3 #"&'#535334.#*232>F);*e)PPa 9O0'  #'H7!fpp IMMq*8  5"+k@ '@4 H-,$  0  QPP???39/]32222]32]3+]10]3533#>32#"&'#"32654.J\A)K9"!;S1/_-J3 =E#.EEAa'?-/A( +3# V=$@\H"6F  s0 vGWg& s%6vy 6  B|E?22?9/9933]322]32]99]+}10^]]]2'+#>"3:7'7>54.FA@@K3Ma)e2>!I.?:&(5FonN_o% UP&e:1(4 PG'@eeu     ZIX)9I)( #PK  Q?333]2]23??322]]]]]]]99+}ć10]]4&#"327'7>7'#"&'#>32ZK*/@&;==a416>9 $-E]!cA<`D%[bg%kO0Mx#\$b  &FeV9#@s syABB???1053!#XaP)@  IJJ???^]1053##HT]F 0@s  y y AB??9/323310!3###53ʛaPPTK>K, 6@    IJ??9/^]323310#3##5#535!咒]JJBFFVGJ'@V/Iiyv8))s(8|##yABB7 &  yC?]]???9/3]22]]^]]]10]]]]]%#"&'732>54&#"#!!>32J$Ec@ (D1gQ#Fa $&DgE"AqU1O;V8rp S,PsPF"a@=vg%/?  gV$#IJJR????9/322]]^]]10]]]]2#"&'732654&#"#!!> si6P4   ?EEK6]b"@x6]E'JW]_PMG39@ +&&s% % %3.33s .-.- sr--s    }  , 55  +,+,   s ,s43A-A ,A&A%ABBBBy B CA??????????9/3??^]]]2/]]]]]99}3/]]]3]]q+}3/3]]q+}9ć+}]և+}10]]3#5#.'##>7.'33>7bFJG>{3S\3DHI!]!JHCmCJP'GJGq?EF]FE>"SWT$:N.]WLKLW].0c`Y$$TWT"KSU&5&USKo/5@11)&&% % %g%w%%,// ,+,+  H x   4++  ;    *   HH)*)*1W*0/I+I *I&I%IJJJJ J LI??????????9/3??^]2/]]99}]+]3]]q+}]3/3]]q+}]]9ć+}]]+}10]3#5#.'#5#>7.'353>7267-_)GX$7;;Y;;7g7=@762g$^?Y?^$;?>+k8ޑ!ID;;DI!$LID>?;-nHHn-C S@==&<<3-,@ H6''%''!---{-\-l-K-fg32*8OS_SS8S8DXvMvfvU EDDDTyRRGEEJ|?2/36'54&#"'>32#"&'73254&/>7".'732654.+4!D8$M@7X )3< 4X@$=;7)9Q1 (+ $ &C6'  %.8U_!9M-> .#-9 O -E/0T-<(0H2 ! 9   P 9D(3 ,CQ@H%)5)))5('2#sRbC5#%5SE@Q H  4&$;$;SRB G5  SLM/...R <:::/2+"(.+QLGMP?22?332229/]2^]22]]299//210]]]]]+]]]]]]]]]]]]]]]]]]]2#"&'73254&/>7.'732654.+532>54.#"'>-N8  .5[Q (+ $ 9US:?B&,WT'! +*( "+0$6$&G6@G! 9   O''#J  P VG@)ss  s @$HT  sCAA AABByB??????9/??2}3]+ć+}2+}ć10]!.'#3>733#5NWY*aa#TRIuNUT%"JKGR\/_WJ!STM"SWT$AKR(Po@`          p d  IIJ JJII????9/???2]]299}^]ć+}]2/}+}]10>733#5#.'#3>?6l;?>453EX%;AB]])=?9=@?/6<ޑ"GB8V"@    /""   s   s    $o !s#AAB"! BBBAA?????9/3/22???222]}+}qև+}q3qq10^]]>73#.'#5##3353?B@8pEIH(PKBm?DDH@aa@H$PNF"TWT#$Y`d0-YRI֘P] @;4  4    4   " !9   t + ;    IIJ JJJII?????9/3/???/_^]]]]]q22]}+}q]+}q3qq10_]>73#.'#5##335.9R"f267@=8h146D=]]=lAf*;?>DIM$D@:srs{"@\Yy M   M H  (  s !"""M""s"")9 @8M0 P `  $s#"A{AB BA????9/]9]2]2?323]+]]+}]+3^]++10]]]]+]#.'##53533#>7cNUT%+`\QrNWY*`PP`aa#TRI"SWT$Xdh//_WJ"FMMF!STM""@ !"  $+ ++;6tf$$    #III J JJJ?????22?9/3/?239}]]]]+}]]]q]]]q+}ć10]#.'##53533#>73!HE<l;CG"]JJ]NNC@6l;?>CNQ#"HC;@EE@B@:=@?@xYy     H (   s  s)9Y 0 P `  sA{yAB BA????9/]9qq?22]]]]]+}q^]]]q3]]+]10]]]]]]]]#.'##5!>7NUT%+`\QrNWY*a#TRI"SWT$Xdh//_WJbS!STMQ@*z Wi 6 ) i (  h@\H$+vtf Ie)9II J JJJ??????9/]3]]]?]]Ƈ+}]]]q]q2+10q]]]]]]]]]]]]#.'##53>73THE<l;AB]>?6l;?>CNQ#"GB8N=?9=@?VGE@'ss s  A A B ByyBCAA????9/????221033#5#!#3! aW\\aaS@Po@H@*   I IJJL?????9/2]^]210%3#5#5##3353FXK]]]MޑV ;@! s s  y ABByA????9/2^]10!##!#3! aaaST@P ?@$      IIJJ????9/2]^]210!#5##3353#]]]NVG)}@RvY#i#y#(#8##v(8+s*&6yC)&y  yABB???9/]32?]]]]]]9/3^]210]!#!#!>32#"&'732>54&#"Qaa $&DgE"$Ec@ (D1gQ#Fb,PsFAqU1O;V8rp PF>"`@9"!i$!#v!IJJV R?3]2???9/^]]32]]29/310>32#"&'732654&#"###!Bsi6P4   ?EEK4]]1 x6]E'JW]_PF:H5E@M*vDvC+*y*wv6A>v(( gv-f-"65--56"GFG@\H|;;;;;# |5522Eg  wAAA&A6AFAAyw(g((((FW""y#W###G?^]]]]?]]3]]]2]?]3]]]29/]]]+]]9/////]]33]2]]]210]]]]]]].#".54>32.'.54>324.#">C"9^C%cX 1O:6M0"A[9:@; 'WRGExX37^~G/ZB (96 *F2Y $FgDp&Z47bJ+(DZ12]L6 % N)@.2ZVW\0 o!:,]d9V##7I3p3 A@d< 6'!fv$ A#))%44V9/9.A99A.CB I>&6   @% H 4A>PFfw)))4Q.w///L?]]?3]]2?39/+]]]]]]29/////^]]]33]22]310]]]]]]%>54&#"7.#".54>32.'.54>32L :F('%*&"=-?< &=+(;&.B*+-* C@85YA$)E[24&>V<->>1I1Pe>$+J61A%'G:* D 2#'EcABdC# :CS3CG% G@,s s   yBC yA???^]]]]]10#3#5##5%Y\^TaTo ;@"    JL I???^]]]10#3#5##5FXKNޑNP<G@RG(       __    IKI??9/3/?^]]]]]+}]+}]10]#5&'3>7&g0]0f&d !%&&%! jj1omf((fmo1P@O  sos  soyBAAAAB??????9/3/2^]]3+}]3+}1035#53.'3>733#Cx5r&^21^'l6xBJicRNNRciJG@qyD3:J(x_ 5E     _   IK  JI??3/2??^]]]+}]]]]]]+}]]]]]]103##5#53.'3>7"X,r]s,Y!d !%&&%! ~bDDb1nme((emn1GZ@@MM7'W MM@8MMMx        s  @M{m\K=+ GgMsMtbZC: )so   CAAAA B ByB????????^]]]]_]]_]]]]]]++}]+]]]]]]]]]++}]10]]+++++]]]+]+]!.'#>7333#5*2661+k-wCpo4_)R\IOO##OOIX`GKEo@LF  I        | Hv@N Hz\l+;K    LIIII J JJ????????^]]]]]]]]]]+}+]]]]+]]+}qq10]!.'#>7'3733#5 &((% `#a0i|}c#I FX698996D@0f4ޑG<B@%ss s  A yyA yBC????9/////10%3#5!#5!#!3W\MaSaTTboB@%   I I JL????9/////10%3#5!#5!#33:FXsn]MޑNN:Gx\@8s s s|yA yB A???9/^]]399//]]310]32>733#5##".=3%?0'$ aW\\O-L`7`*?)_ #A]9.o l@D)     @/I J LI????9/]32^]]]310]]]]]3267533#5#5#".=<4&3]FXK!$+G3;/Eޑ*E4:(o@B  s us/f|yAB A???9/^]]332]]9///]]32310]53>73##5.=3 ,!K&;aa;&K@R.`$9({~ _K'@X6'|@L)     +; wp I J I???9/]33]2]3_]]^]39/3210_]]]]53>753#5#5.=*&E%]] )E'?.23_` ^\*C1VEI@(fs s  |VHAB B???9/]]3299//2210^]]>32#54.#"#3Q-Mb8`'@1'Maa $B^;+A* PK /:@:g)8**u*)u)7) Hx& 0v/',,,<:@LMv"W;""0y@X55|''7'g'w'''EY&|Z  hxW(F?]]]3]2]]?]]9/3/]22/22]2+2]2210^]]]+]]]]]]]]32>7#".'.5467>32'4.#"! wz 5* $4D'T~T+&?.M,36Qi32!3267#".%6&#"!8'IM,?M)hqSV1C U6A`A!bA9 1!#5& F 7R6  PUN &C\}?Q(4G 2=@Cg);--u-,u,7, Hxs/3v 2'///?=@RMv%W">%%3y@X88|'*7*g*w***ECY&|Z  hxW(F?]]]3]3]2]]??]]9/3/]22/22]2+2]229/]]10^]]]+]]]]]]]]32>7#5.'.5467>32'4.#"! wz 5* "2@%[@_@"&?.M,36Qi32!3267#5.%6&#"!8'IM,?M)hqSV1C I0X/G/cA9 1!#5& F 7R6  PUN ,?Qv?Q(4V,r66VGL+!@ #LM MM@ M7MLMM@2M  s   L( M L  M vMM@ L@ M- @,L M ()s+,*B(%y )ByCAAA????]?9/2?2}3++3/]3+++++++++}ć10+++++]+++++>73#"&'732654.#"#!QPHrEJM#;gL,!Aa@ Oa2KU$a"VWQ!MPP#"BgI73#"&'732654&#"#3??9m7;:gv7Q4   ?Ia[#]]%=?;797r0WC'JUQ_X C!l@C H(s ss###    "yBG!yA F  y F?]]??3?^]2]9/3]]310]+'>7>5!3'>7#C)=S8 FM\!-C Vb8ic^--O;$THJT#JHA* ',b Z^#k@8H8H!  "!%`%%    $!JY#I H Q?+??3?^]2]]9/]3310]+'>7>5!3'>7# !0@+ 19ZX&@U!KKI 8+N 6'"V]^*E#GA6("'VEkU@/ H ssyAB y GA??32??9/2^]210]]+3#"&'73265!#3! a !:-% %aaSK.F/I1-QPE]@5 H&  IIJ R?32???9/2]^]2210]]+!#"&'7326=##3353 !:-% %]]].F/I1-VC`@; Hss ssyAByB GA??3???9/2^]]]2]]310+33'>7#!#3! a\!-C VaaS#JHA* ',@PZSW@5 H  0IIJ JK?3????9/2^]]23210+%3'>7#5##3353X'@U]]]M#E?7("'AG(T@2s s ss|y ACy B A????9/^]]3]99//]1032>73##35#".=3%?0'$ a\\WO-L`7`*?)_K  #A]9.o_@;)       I L JI????9/]32]^]10]]]]326753##535#".=<4&3]KXF!$+G3;/}*E4CC~6D.@cHf..-j))(fW i iWs&%%%8,s s++@* LO+_++/s@ MW6v@ M@6 LX 0 s  7@H|66 y,B&%GAAA/L@ H|A B??]+]+2????3?9/+^]]]]++]]]+]2]+2/]3]3]]210]]]]]]q]]]]]]]]]]]+%.'#>73>733'>7#&' !&+&! _  U>>::>>U\!-C P !&+&! `JV[Q@vZK,x66x,ў#JHA* ',v@Q[VJCZ0@b0H)9I &&+&&&#2p222""",+  & 6 F   $1#J"JKII&0@@&+H| I? O  @&+H |,, IJJ???9/+q?+q2???3??2/^]3]]322]2/]332/]33]]10+#>73>733'>7#.'#. Y U V88V V X'@Q *)$ N %)*cW=<4vv43nrr6#E?7("'WcWZRR[WV,6$+6DHz6$+6DK,%V6(a36H[8)@*& M&M(MM0M8L0 M MLM@ MMM) M)v @ M@:L@ M+v@ML@M*y))$|L MF| LE?+32?++9/++++++9/3+2+10++++++++++++.#"'>32#"&546732>7" wz 5* $4D'WT)0TqBc-C,3K2r} P 6`M\\-O1R;!(?P(6#@Y!x e!j x #I#Y##%x$  gXPhWQ?]]?]]39/]2^]]9/3]]210]]]]]]]#"&=47!.#"'>3232>7(BV-hqdSV1C U6Dc@A9 1!EgD"PUN )Hdm?Q(48z6u66vUrz66 z6C,6+GVc6P6qVz6P6q:z6236Rk:3!o@MXh8H#Wg7G   "P`@PIYPFVQ?]?]9|/]q^]]]]]10#".54>32267!"!.$AZ55ZA$$AZ55ZA$?MM?dH''Hd>=eH''HeXLLX~QFFQ:z636j2z6>"6 Cc6vD6\ICz6vD6\IC6eD6\ec:!z6x.6=VG &@ ss y AyBC???10!3#5#W\\TPo &@  IJL???10#3#5#!FXKBޑVz6P6 V2'37@uGg H5(((9?97...o    sxs s 8775 )1 ++)++##&##EA ABB?????^]]]]22]+}ć]]]]]10]]]!.'#33#".54>324&#"326!!6+g&w&&|/ 7{8{@,///F  |  E?]]3]]2?]]39|/]3222]2++2]210]]]]]^]]]]]]]5!654.#"'>323#!!32>7#".547#53>?%U"+3E*O);Q1 4[A&,?H/'#.e0BV4 5]H-%C'  Q !4C!C)C!/6 J0>"&C)( @U''   s      ByA??9/333]222222]222^]]]2222]]22222310]]#77#5'75'75#5 tt[ttP7?Es7?E6?Ds6?DP*\U 6@       i?]]2210^]"&'73267?OG&!!&FN\@9 (( 9@$VP%VV(!=Vk+:'+@ )h)v M @M @ M  -(M@, MvMM@M,+y))?)O))))M M@# M|MMF#M# M# M#|MME?+++++?+++++9/^]]+++++]+++]]104>32#".732>54.#"!!:5[yDCwZ55ZwCDy[5f ;U54U; ;U45U; Q'[Y[..[YY[..[Y?gH''Hg??gH''HgPV,Vo.y@I7w8 x w  s   s @p BIYAB??33]?^]]]9/+}+}10]]]3>73#&'%FBA"["ACE&k6h77h5nKKn$۞C%0V1% 3@     y yByA??9/10^]!5!!!!!6,"6raTTT:2VeV=3! %7P<8( $/@@ /%$" #1x9s0s0w*6**v0$B/L| "M"L"@ M"#BD %L%|LMD?++2+2??+++2+2?^]]]]]]]]]]3}310%2>54.#".54>753##"30S=$$=S0^@w[77[w@^@v\77\v@^0S=$$=S05M22M5&IkEEjI&PP&IjEEkI&TB5M22M5c;A@Mss s @H  dK$48$4T$DT @/ L M @ L |MMAAAB????9/+3/++++2^]]]]_]]qrrr^]]]]]q9///+^]210+!#5".=33326=3#_QpG^k^_^k^GpQ+Kh54.#"!53.54>@vY5$.7( :R22R: (6 .$5Yu+U~S/VJ=RD>JY6;^A""A^;6YJ>DR=JV/S~U+3I,a@: YJ! o.P.(-  Q"%(%8%%P?2]]2?3/322]]2210]]]^]2"&'#".54>267&5.#";92)  -=N6;Y<%Eb*)?5P[$9 # N!(Hc;?eF&3 !  b[(E3PG085M5@ M" M @M))0M0 @.L %M%::89 (**J3M3MMOK??+++?39/3/22]+++9/10++++#4>32#"&'532>54&+532>54&#"]5T;.M863);%%E`;)A=3!<-]c5';:#02U?#1H0-U +8@!:W: V $7%LYL-1B*9!G^@+H8H IKK@ HQ I II????+???^]9/]]+9310>73#.'z "" +% ] #3E-X%'%$eru3+ioo12~FVX:uf'3>@*F*WC404*,,**,:Y i  0@( fW:::?Vf5Q#O,v,, ,,7WI?^]]]3]]]?3]2?]]]]]]99+}qq210]]]]]]]]32>54.'.54632.#"#".54>-HR$8'$7%)2`&/eW1( ", #3-'K:#;\A=[=/AmK$C30A&-C0#=>+FF J  +7DX=/[I-*H`6.P@079@` +&7710 0000+)+"#;5---:?00""w#(Q  P?2]2?3]2]9/3/]q^]2210]]]qqq]]]2.#";#"32>7#".5467.54>$0)&,6J&Y[,"6-! &4C'$N@*2) 9QO #&I !S M  ">1(F$%8&4D(@25(E(#((('I :I: hx)@T HU 0 H9I W!w!!!xg  *)*NW&& R?3/]?2]9/////^]]]]3]]+]10]]+]]]]]]]]]]]]]]]'>54&'.54>7#5!P 9A3H/32#4.#"#P jE>R1] 2% ]#?X5#0D*I7#)f@Cx%+w$*$'7g H  Q(8GO?]]]?]]]9/^]2]]10]]2#".54>2>7!"!.-=]==]=>\==\>'8$$8('7$-$77g[\g77g\[g7:(JhAAhJ(t&Ec==cE&N ;@    @ @ H  I  HQ?+?+^]10].53VH] FJ P "@ ! L L Mس M M@2 M  !"    LسM@" M$# JJO JJ??/?32??9^]29/++++}ć+}10++++++#>7.#"'>32#./' _,7> $ %"5( Jp$aA6sog+:>*A,K$1^PGY2D>@sW>:W: j FV5$v g  5&fv@@v//ihV<G<<?'*#755&#OJ R?3??39/3/2^]]]]2]]]2]]2]]10]]]]]]]]]]]%'>54&'.54>7.54>32.#";#").@'P 8Bdd.5+"<3RPJG !w@Oif hXI#!"XI PKziFVziQ?]2]]]]]2]]]??]]2]]10]]]^]"&'#4>32'32>54&#"1,I]9R6w =YB(:&DQ?D  6X?#;cH)z3F([bR[3D)h@EEU$4fvTf T  +7%G%%Xh*"PJ R?3??^]]]9/3]]2]]]10]]%'>54&'.54>32.#"1&4!P (->R2 @_?#C6RT+9Q +&G  +>R58dL, O iW4?&3U']@;Yh)) W    (HI%F%%Q?]]?]2^]]]2210]]]]]%#".54>3!#4&'#"326#@Y52XA&-Kd6 _.&!<5#'5DN:]A#$D`;JhBN.5:>l"*M>)B.[J@,   @    I HQ?+32?^]]]210]%#".=#5!#3267)5B' !! 4O4NN'3 J:@%IIW g  yQ?^]]]??]10".5332653 AS0]=<<=]0S 'AT,+XIIX,TA'3G$q@&L L"L@ L%K!@LQ" L P?+?+?^]++22++105.54>324.'>%TBkK)/W|LQ|U,0I3f\"aaaa)E_;?fF&&Ff?v (C3 } fPPe  i[JGR@ II L@ LQ KI???++??2^]10>=3#5.53S]]BfFZGeB]\T?^j9bI++Ib9j^9 8@6++.L.M.@M.)M) M):/L/гM/@!M/44 L MMM@G M L0M M   9./PP& MM MLMQ?++3+++?3?3^]2+++++2+++]9]2+++++2+++10]]]]"&'#".54>732>=332654.'7=7SS7-L8"S:9(+\+(9:S #8L 1,,1?cH0WH7 /AQ-Sa.@EE@.aS-QA/ 7HW0Hd>6$H H++10U&(?l@ @H @H @ H+++10&+Dl@ @H @H @ H+++10&,Dl@@H@H@ H+++10 z&,@POO+++44&2l(@H( H( H+++10&<~l9@H@ H@H@ H@H@H H+++++++10Pz&<o@% POO+++44&l0H0 H0 H+++103I&[@ /- P.O++47&7@ <:,#P;O++4PG&J@ PO++49&@   P O++4&@   PO O+++44E &!@ POO O++++4443&RS@ " P!O++4J&d@*P"OO+++44J&L@ PO++4J &d@("P&OOO++++4449 &@ ;9 3P:O++4?F;@"BR@H@/]+^]]10'7F6qݞ&w)@A`?]?9/]q10'7DD.B Q @,H @H@H /O/]^]+]++10'7"&54632!"&54632 h4Y 3I &u@ -8 P>O++43I &p@ 1> P-O++43I&x@ -? P@O=O+++443I&Y@ 1? P@O-O+++443I&@-> P?O=O+++443I&x@ 1> P?O-O+++443Iq&s@ LB P5DO=O+++443Iq&s@ LB P5DO-O+++44&$c@$%HHH@ H@ H&'H&'HHHH H+++++++++++10&$̠@$%HHH@ H@ H@ ''H@%%HHHHHH H H H+++++++++++++++10&$vǹ*@$%H*H*H*@H*@ H@$%HHH@H@ H/@H/@H/H/H/@ H/@ H/@ H/@H*$&H$&H*HH*HH*HH* H H++++++++++++++++++++++++++++10&$gH*@$%H*H*H*@H*@ H@$%HHH@H@ H/@""H/@ H/@H/H/H/@ H/@H/H/@ H/@H*03H03H*''H''H* !H !H*HH*HH*HH*HH*HH* H H++++++++++++++++++++++++++++++++++++++10&$>T*@$%H*H*H*@H*@ H@$%HHHH@ H++++++++++10&$Y̹6$!1O+&$ !1O+7 &U@  :E,#PKO++47 &P@ >K,#P:O++47&X@:L,#PMOJO+++447&9@ >L,#PMO:O+++447&x@(:K,#PLOJO+++447&X@>K,#PLO:O+++44U&(?_U&(?m'(ǹ'(¹'('(̹PG &h@ #P)O++4PG &c@ )PO++4PG&k@*P+O(O+++44PG&L@ *P+OO+++44PG&@%)P*O(O+++44PG&k@)P*OO+++44PGq&f@7-P /O(O+++44PGq&f@7-P /OO+++44&+?_&+?mh'+ǹY'+¹R'+m'+̹'+'+> &@  PO++4/ &@  P O++40&@  POO+++44&@  PO O+++44E&@  POO+++440&@  PO O+++44q&@ +! P#OO+++44q&@ +! P#O O+++44&,?_&,?m',ǹ',¹',',̹g',g',3 &Rm@  + P1O++43 &Ri@ $1 P O++43&Rp@ 2 P3O0O+++443&RR@ $2 P3O O+++443&R@% 1 P2O0O+++443&Rx@ $1 P2O O+++44&2 _&2.m'2ǹ'2¹s'2'2̹J &f@ !P'O++4J &a@ 'PO++4J&i@(P)O&O+++44J&J@ (P)OO+++44J&@%'P(O&O+++44J&i@'P(OO+++44Jq&d@5+P-O&O+++44Jq&d@5+P-OO+++44&ONQ P-8 P+4+4+3DI &&p-O@ NQ P1> P+4+4+3DI&&x&@ @O=OPT P-? P++444++3DI&&Y&@ @O-OPT P״1? P+44+4++3DI&'&@ ?O=OPT P״-> P+44+4++3DI&&x&@ ?O-OPT P1> P+44+4++3DIq&&s&ad P@ LB P5DO=O+++44+43DIq&&q&ad P@ LB P5DO-O+++44+4&$&&$&̴ &$v&ǹ&$g&¹&$>&&$Y&̹&$&&$ &PD &&h@9<P #P)O++4+4PD &&c9<P@ )PO++4+4PD&&k @'&ǹ'&¹'&'&̹b&U&i&r&3I&ap@ 1? P-O++43I&s@ -. P/O++43DI&&y?C P@ 0. P/O++4+43DI& :? P+43DI&&m@@C P /- P.O+++443I&s@ ?1 P2O++43DI&&sRU P@ ?1 P2O++4+46$ac6$6$C6$&$x?  ZD!@ H@ 10+3#".5<73  + Y? 8 ,  x?  .@  H H  /++]10>7.54632x !$'a &&$6bB1@@H& H /+^]+102#.#"#&>2$<<$2#4!  !4#!KWa +W@ Hp %p&&&@H ,@H"@ H"%O /]+++2/]]+10"&546323"&546322#.#"#54>W {0%5&((&5%0K.)).PD&&l+.PP+4+4PD&'*P%P+4+PD&&`'*Pݴ%+P+4+4PG&f@ *PO++4PD&&f@=@P*PO++4+4&(yC'b(y&+yC'b+yV&+?hT@ H  @H /2/3/3/3/+]+10>7&546327' $"%m4~a% &&$Ъ&?]f@ Hd$4D  @H /2/3/3/3/+]^]]]]+10>7&54632%'7 $"%~4ma% &&$&7?Aq$Z@/  @H %@H@ H/^]+]++qq3/]1067.546322#.#"#54>l) '40%5&((&5%0a " 2.)).&a@  P O++4 &@  PO++4E &!@$ POOO++++444E &!@ POO O++++444&@  PO++4a&!@  P*OO O++++444&,a@ PO++4c&,@ PO++40&,yC0'b,y?^V@0FV@ @H /2/3/3/3/+]]]10].546327'&"$ Lm4~?$&& %&?hT@/JZ@ @H /2/3/3/3/+]10]]].546327'7w&"$ ~4m?$&& %|&7?Aq$R@# @H &@H@ H/^]+]++qq3/10.546322#.#"#54>' )P0%5&((&5%0? " .)).J&aa@ (PO++4J&d@ PO++4J &d@.P&OOO++++444J &d@("P&OOO++++444JG  &s@ "- P 3O++4JG  &n@ &3 P "O++4J&d@ (PO++4Ja&d@*P4O"OO++++444P&<al@ # PO++4Pc&<o@  PO++4'<C'b<|&3?mB Y@H @ H@H/O  /]^]]+]++10'"&54632!"&54632Y4hB   tB /D @ </10]'d(49D &'LO P@ <: 3P;O++4+49D & HK P+49D &'@LO P;9 3P:O++4+49 &@ K= 3P>O++49D &'@^a PK= 3P>O++4+47&2gC'b28?&cC'b54 &nDI-@3 H@/]+]10'7I(4o? (@@H@ H /++]10.54632'$! ?$&& D6$&D6$&̴D&$v&ǹ9D&$g&¹*D&$>&D&$Y&̹D6$&D&$ &D&+?'_D&+?'mDh'+&ǹDY'+&¹DR'+&Dm'+&̹D'+&D'+&D&'_D&*'m*D'&ǹD'&¹D{'&D'&̹D1&U&UDN&r&rD6$VDk6+4D6C&)MMLMMM@M s+#MMM@# M"s$)*y))y 0@@314H 0`p_$B#ByA?2??9/]]]qqqqq+qr2/9/32++++3222210+++++++32>7!5!.+5!#3##.'C]=6) !%/E:1HY/?C@mAB@d %H&HH2H,=&BMR&'OI?+?Xs@)]<#0Wz EF??910#".54>32"32654&4&#"326%467'7.76323.'#".'.#"3267>32>7##"&2654&#"8bLKb99bKLb8!&.  .&!1! 1&F!   1 !/   !F&1ZKa99aKLb88b%=<?' &>>=<#.&F :  F)0#-!t'o'g't]'o+I #'+/37@&6Ff= &6Ff= &f&fIYIY i i6f 6 f  9  9=11i1y111@ H 11/4;H/(((,/H(@#(+H((i(y(((@ H (($4;H$$$@!+/H $$$$$i$y$$$@ H $$6@ 4;H6652@ H2'2722+@-1H1+ +++++@ H+'+7++'-1H'@(,H'@ H'''7''  "/ ;^[Ly  ; ? o =O   { L   9 i   /_ ;{L8 f3`=PSDv 0`=ArD@=f7  0 = !   T   F   9@ 4EH",585@91;Ha5@5P5!5155555555555c5s5T5C555@ H55'55"@H"""""3,,@@ &HK,[,<,,@H,,,,H,@ H,2EH11&40;H4,/H4@-#+H|44k4\4K44H4@ H4#+#;##H#)+B-$'H-#H-H-@H-@ H- -@2EH$&A @P`;`!Arc$D6Ff'  <wC i3/?<O `@*IL\l )i AL\  /O_o;Oo.Ll| +Ii8) >xK f  3 B `=AScDe@:' APA`p A?r2_]_q_qqrrrr^]2^]]]qqqqrr^]?^]]2^]]qqrrr^]2^]]]]]]qqqrrrr^]9/]3^]]]qqqrr^]3^]]]]qq+rrrr^]]^]]2^]]qqrrr^]]2^]]]qqqqqqrrrr^]]]?2+2^]+++++?2+q2++qqqq+++9/3+3++]+qq+q2]]+2]+]qqqqqqqrrrrr+22+22r22]]]]qqqrr^]2^]]]]qqqrr^]2^]]]qqqqr^]^]]2^]]qqqrrr^]]2^]]]qqqqrr^]2^]2^]]]qqqqrr^]]^]22]+++2]+qrrr+2]+]+2]+]]qr+r+2]+]]++r2+2]+]]10^]]]]]]]]]]]]^]^]^]^]335!5!35!3335!5!35!3j444555k**yhk**L**yhk** (7Me}@LL[ LTMSMDMD@L=M=M1(M.M.гMM @LMM~{igfXA VNdKM@B/7&A (  @ A8ov}ifd X ^QcNLBF;(,#4 ???????????????????9910++++++++++++++++%#".5332>73>32#"&'732654.#"#".5332>73>32#4.#"#3#3267#".57#".5332>73%#".54>32"32654&32654&#"'467'7.723&'#"&'&#"6"'327>3267#72654&#" iER1] 2% ]u $*3 F-5E*] iE32"32654&32654&#"'467'7.723&'#"&'&#"6"'327>3267#72654&#"":O--N:"":N--O:"    T"/)##)/(  0-N:"":N--O:"":O    u$ $%  $$ $j- 0! ## !0 -   /Y AAAAL!  `  S S[/];N-_ ) y!"%"b#$N$&Q'(()O*+--./1j23i34;445Q557F869R:h;y>?@AIBCDElFFHIYIJO-P%QRRRSTUVFWWW;WXvXZZ[\\\]]]r]]^}__`aaaaabcdffGh8hjSkykkkmn&nopMq6qrrrs0stFt^t~ttuuuv vJv{x7yz{{;{h{{{||N}7}a}}}~ ~=~)S}Bj b 7_>f 8 4cg:;e 1[,TAn:d a UGn>c 6`*RhV+\*R| 8b.TxAk:dDk\6|PMz,]:gyċĝį .Cǁ_={ɹ5ʌ!_˝W̮\ͳ aϡКјѨҷ+ԺzՒժ֊֢אנ؂ؒت"2BRbrقْ٢ٲ&8J\nڀڒڤڶW۴ +;K[k{܋ܛܫܻ/+w&5%5Amqv; f8+=aZ   =   q EQk9P`x6Vn8b.f  B x  !""8"i"""$%`%%%& '))D)l)))***1*[*+5+,,/.2.Y..../3/e///0 0M0u0011-1a11122K2x223303X456 6468)9l:t;@< <6<^=P??G?}??@@/@`@@@AC%DEeFH+IJKfLQNNOPRNS8SHTMUVWgXYZ[T\^^_q_`Va$ab"ccdkeKf+fwfg(ghiiikk/lllm-m=n:oopp.pXppppqqqsituvvvvvvw0w@wPw`xxxy"yz{{|},~$#^K]-=4Dt^t+ opOM(=1R!: n‹Ģũ_ȜɌA̕(8ίѱ:Jbz(؃,|(ݼ!9Og}ߍߝߵ#4Jbz$<Rb?Wm%=S ~IYiy 0 v+qmWA%5 =[$Uq+S~@hc  9 d    + ]     xL~ $<Tl Q&>Vn&X5Me}0_ !9Qi5f #;S}@q3Kcy 5` 1\U)o7Us " \  !!V!!!""2"R"r"""# #K##$$W$$$%%;%[%{%%%&&-&l&&&'9'Q'i''''((()**3*g****+ +"+:+,-P-{--..C.|..../0801 1H1~112 222h222233344@4d4455525H5`5x56&6D6b666667767V7v77778868V8v888899*9B9Z:PN3MPM3P(J>J $M(`M4*4-!!b''x42!#:<!<!h4x(#(3VG4V4<4,4`+x#.A&45+.Ax.L45gg xDP+8xEg2+(j2j2j l:;V;V;V;V  D  V : : : : :4P :QQQQVaVoP + + + + + +[,3/3/3/3/3<M3>PN3N3N3N3N345N3>J>J>J>JMP + + +l:3l:3l:3l:3Vn3M3;V/3;V/3;V/3;V/3;V/3:B3:B3:B3:B3V;5;      KPBVBuV PVPV;V'VNVqNV>PV>PV>PH>V>P :N3 :N3 :N3uVPuVuVP!(!(!(5J5J5JQ>JQ>JQ>JQ>JQ>JQ>J V=!$=!$=!$P!(5Jxtx4x.x9xxUxGx$   VYggg(g%g%g ggg2gg gg(g%g%g gAj2jj2j j(j%j2jj jj2j(j2jj jj(j%j2jjj(j%j I)V445Y84 Lq4*454545(PPPPP PP42u"3&1"/gg2gg gg(g%g%g ggg2gg gg(g%g%g gx@xDND+AI`IM(M#h4#(G(MkVMPM ll:3.q.M3F3;%8<3:{PxVEV PV>P : :N3953MPuV'3!JPJ5QUJ4Q:=!$772(!(/;P``9,G VV(3VVNVV?P +  :N3Q>JQ>JQ>JQ>JQ>J/3 + +[,:N3:B3uV 5 :N3 :N37 VV(3:B3!VVV>P +[, :N3 + +;V/3;V/3   :N3 :N3uTuVPQ>JQ>J V;5V31O4=!$ +;V/3 :N3 :N3 :N3 :N3VP33 :3l#& SV>3#:M3jx6xx_x!x=xxxx"x]xAxAxxx;V;VVl:! V  VuVVKVkVVV;V<VVuV gCV :V`Vl:5K`8wVw:VVXVhVlV{$ +S>$PP[/3,UPUPPV CJPN3BPMP32JP.7PBPVPP"+P$/3/3;P3(B_ SP;PUP?PL3V :N3 4V`Pu `VMPVP pV P<,V"PVkP,_VUP/VPV\P:a3l:35VV N: .~:'V;PC C  VwV P a VJPVUP~A.CC V + +[,;V/38/68/6<,7VUPVUP :N3 :N3 :N3l"KKKw:.VPXVPjV4%4(x*VV;V=!V : VuVgCV(% :V`V3!5V`8w/A4^3cPM374>PZ7NPDP2N3BPSJ3e3@J3JF9zQ #V&^37>P9N3@J@J@JF9xxwx^3^3^3^3^3^3^3^3 777777zz8)"=>P>P>P>P>P>P>P>Pqq>/LL N3N3N3N3N3N38@J@J@J@J@J@J@J@JcMF9F9F9F9F9F9F9F9:e^3^377>P>P+N3N3@J@JF9F9^3^3^3^3^3^3^3^3">P>P>P>P>P>P>P>PF9F9F9F9F9F9F9F9,O z^3^3^3^3^3^3^3xxZxxx6x!>P>P>P>P>P::Vxxx7  xxx7@J@J@J@JSJSJ@J@JVVxxx/F9F9F9F9F9qBsE%4xnxo qq:eV44CI  C Y] ZO P [DAMA@G8 V $ 8 L  !!"!#"$$%%&%'&('))**+*,+-,.-/.0/102131425364768798:9;:<;=<><?>@?A@BBCBDCEDFEGEHGIGJHKILJMKNKOMPMQORPSPTQURVSWUXVYVZW[X\Y]Z^[_\`^a^b_c`daeafbgchfifjgkhlimjnkokplqmrnsotpuqvrwsxtyuzw{x|y}y~z{|}}~  !!"!#"$$%%&%'&('))**+*,+-,.-/.0/102131425364768798:9;:<;=<><?>@?A@BBCBDCEDFEGEHGIGJHKILJMKNKOMPMQORPSPTQURVSWUXVYVZW[X\Y]Z^[_\`^a^b_c`daeafbgchfifjgkhlimjnkokplqmrnsotpuqvrwsxtyuzw{x|y}y~z{|}}~  !!"!#"$$%%&%'&('))**+*,+-,.-/.0/102131425364768798:9;:<;=<><?>@?A@BBCBDCEDFEGEHGIGJHKILJMKNKOMPMQORPSPTQURVSWUXVYVZW[X\Y]Z^[_\`^a^b_c`daeafbgchfifjgkhlimjnkokplqmrnsotpuqvrwsxtyuzw{x|y}y~z{|}}~! % * - 1 49>BEIMPVY^afimquy} !"#$%&'()*+,-./0123456789:;<=>?@AB C DEFGH!I%J)K.L1M6N:O=PAQFRJSMTRUVVYW]XaYeZj[m\q]v^y_}`abcdefghijklmnopqrstuvwxyz{|}~ "'*.26:>AGINRVZ^bfknsvz~~||{{zxxxvuuurrrqqonnlllkiihh gfeecb"b  !!"!#"$$%%&%'&('))**+*,+-,.-/.0/102131425364768798:9;:<;=<><?>@?A@BBCBDCEDFEGEHGIGJHKILJMKNKOMPMQORPSPTQURVSWUXVYVZW[X\Y]Z^[_\`^a^b_c`daeafbgchfifjgkhlimjnkokplqmrnsotpuqvrwsxtyuzw{x|y}y~z{|}}~ '                                                                                                                    ' *                                                                                                                                              * .                                                                                                                                                                                           .5                                                                                                                                                                             58                                                                                                                                                                           8<                                                                                                                                                            <C                                                                                                                                                                                                     C F                                                                                                                                                                                                                "F J                                                                                                                                                                                                                         #J Q                                                                                                                                                                                                                         'Q T                                                                                                                                                                             (T X                                                                                                                                                             *X _               !                                                     # ! #                                        !!!!##!"       -_ b               "                                               $!" $!                                #""# $$"# !      /b f               $                                               %"$ %"                         !         $##$"" &%#$!"      1f i              %                                            '$ % '$                         "          %%$%## !'&%%"#      2i p                '                                !"        !    )&"!'  )&""     !!     !! !   !   $         !  "! !!!(''(%%"#))'(%&   " ! 6p!t               ! ( ! !                              "#    !    !"    +'#"(! +'##   !!    "" !" "  %!         !! "!  #"!""")(()&&#$+*()&'   #   "! 8t#{    !       # + # #  !       !            !  $%  ! #   !$   -*%$+" ! -*%%! !!   %$!##$ !$ !  !!(#      "!!" ##!" $#!" !!%%#$!!%%++*+))%'--+,()! "   % "!!"$#!";#{%     # #    !  %- %  % #        #         #  ### "  &'   #  % !  #&   0,'&-$ #  0,''#  ##  '&##% & #&  #  # # *%    ###$!! &%#$ "&%#$ ! ##''%&##''.--.++()0/-.*+# $ !!'###$!!&%#$ !>&& !   $ "#      &/ & & $     !!!$ !        #  ####!!!!!!!!!!!!!!!!!!!!!!!! '(  $  & !  $'   1-('/%  $! 1-(($! &&  ('"""%&!'  ! "'!    "# $!"!+& ""      $$$%!! '&$%!# '&$%!"  $$((&'$$((/../,, )*11./,-$ %  ! " ($$$%!!'&$%!"@&( "   & "%    "  (1 ( ( &  ! !  ###% "       "%  %%%%######################## )*  &  ( !$  ()!   40+)1'! %" 40+*%" ((  *)$""&(")  !  #"%!)""!! $# %"$"-( ""!   "   "! !&&%'##  !)(&'#%""""""""" !)(&'#$ ""&&**()&&**1112..""""""""+,4312./& !!' """""#!#!*&&%'## !)(&'#$C(* $   ( &!!'  $!  *4 * *  (  " " %%%' !!!!!!$       #!!!'!  '!'!'!'%%%%%%%%%%%%%%%%%%%%%%%%! !+,  ( * "% *!!+" !  62-+!4)# !'$!! 62-,'$! !!!!!!(( !  ,+&&!$**$+  "# " $$!' "+$!$## & ( '$& !!!$ /*! &!$!!   "  "" "!  #""# (('(%% !#+*()$'#""""""""!#+*()%& ""'',,*+'(,,433411""""""""-.663401' ##) !"""""%#%#-!   (('(%%!#+*()%&!!G(. '   ,! (!$$ +  ($  .8 . .# ,  % % (((+ !!$$$$$$ ( !! " # "    !!!'!$$$      +$  +$+$+$+(((((((((((((((((((((((( $ $00  , . "!% ( ,!$$/&! !$   ;71/$8-& $     +( $$ ;711!+($ $$   !$$$$!,,! $# 0/"! !*!!!( $ &!,.!'/$!"&&#% ('!$#"+% "!%/($'&& *$! !*# +(  *$!!$$$'#4. $ (!$ &%$ "$&$ %!% &$#!#&%%&##,++,)) $&/.+- (*'&&&&&&&&$&/.+-() &&++10./+,00988955&&&&&&&&13;;8956+  &&- "$&&&&&)&)'1$#!###,++,))$&/.+-() $$M,2 !+!    0! $"# -$''"#/  +' 2=2 2&/ )) ,,,!!!!!!/ $$''''''""""+ !!!$$""""#% & %$$$*$'''""""""/' /'/'/'/,,,,,,,,,,,,,,,,,,,,,,,,!#' ' !!45 02%!$)#"!,!1$''3)$$'#!A;53'=1*! '"""""!!/+#"'' A;5"5 $!/+'!! ''""#"$"!''''$11! !$!' & 43%$#! $-$$#-#'#+ $ 12$+4 '#'(*&) ++$'&%-'!# %$)!4+'!*!!  *"*" -' $#$ .% !!/+##-'$$''' +&92! !#' !-$'#+ )'''+! ' ($(+!!'&$&!" )(()&&0//0,,')32/0#+.*++++++++()32/1+-++//5423/044>==>::++++++++57A@=>9;!!!!/##))1 %'"+++++,*,*5!!'&$&!"&&0//0,,()32/1+-!#''T16 $.$    3$#!'$&"/'*!*"%%3"   / ) 6B6 6)3 ,,# ///$$$$$$2!''******%%%%!".    $$$!!!!'"' $$$$&'     )"('''-'* * * """%%%%%%3)3)3)3)2//////////////////////// #&*  *####89 36 (! !!$'," &$#/$5'** 7,& " & *%#F@97*B5-$ * %%%%%$$2.& $"* * F@9$9#'$2.* $$  * * ""%%&%'$ $* * * * '33$#!#'# * #!)!87("' &$!#'1''"&/&*&!! /"'"56'.!!8" !)  )  + .- ), /.  ' * )(!"! "2*#&!#(!' ,#8.*!!#.$#"#-$-$1)"'!& ' "1)$$2.&&1)' ' * * * !   ".)=6$##&*"#/'*&!/"-*!! !  !++-$"*+',! -!!!!!!!!$$*)')$$""-,+-))433400 +-7634&/2.--------+-7634/0!! --!!!!!!!!3398683388CBBC??--------:?!!!!!!!$$$$3%%--5 (*$-----0-0-9$$*)')$$))433400+-7634/0$&**[5: '!2'!!!!!!!!!!!!!!7&%$)!')$2*-#-$"((6%"!!"" "!3!"""!-!!:G::,7" !!!"/!/!"%333&&&&&&6$!!!!**-----!-(((("#$2 "!"""""!"!!!!"&&&$$$$)$*"! ! ! ! ! '"'"'"'")!*!-$+*!*!*!1!*!-"-"-"$$$"""(!(!(!(!(!(!6-"!!!"6-6-6-" 6333333333333333333333333"&(-! !"!!!! -%%''<=!  7:"+$""$$&*/$""!)!'&3'8*!--";0)"$!#")#-(&!!!! !!KE>;-G90&-"(!(!(!(!(! &&62)"'"$-"-"!KE>'"=%*!&62-"&&! ! -"-"$$(!(!)!'*'"!&! -"-"-"-""*99&%$&)&#!."%$!!,$=<+$*")&$%*!4!**$)2)-)#$""2%*%::*2$$<%# # -###+""""-"/0#,/ !21!#!"*#-"-!+#$#"$ 5-!& )%% +#*#/&<2.#$"""&1&& %%!0'0'4-% *#)"*#%4,&&62! ) ) 4-!!*#*#-"-"-"$"""%2,B:! &%&!!)-$&2* -)#!""2%.-##"!#"""#$!-//&%-/*"/#!"!!!/########&&-,*,&'%%0//0!!!!!!!!--876833"""""".0;:78!!!!!!!!)251////////.0;:7824##!!""!!//########77==:<77!!!!!!!!==HGFHCC////////>@KJGHBD#######&&&&7!!!!!((009!!!!##!!""+-'/////3031>&&-,*,&'--876833.0;:7824&)-!-b8C"-&9- &&&&&&&&&&&&&&@,+*0&$-/"*#;14)4*$'.->*'&&!#''%'&#<&(''&"4"! &&C R$C!C3?'&&&'!7!&7&'+!;;;,,,,,,?*&&&&1144444&4....')*######:%%%%'&(((((&(&&&&!'!,#,#,#****0*1'&%&%&%&%&%-'-'-'-'/&1&3""*#2$####$1&1&1&8&1&4(4(4(***$$$'''.&.&.&.&.&.&>4'!& & & $'>4>4>4'! >;;;;;;;;;;;;;;;;;;;;;;;;',/#5& &'&&&&%4++--EG&!"$!% %%@!C!!'2)''**,"17*''&/&$-,<,#"C1&44(E70'*$&('0(5/-&& && %$!& &VPGD4$RB8,#4(.&.&.&.&.&%,#,#?:/(-'*#4(4(& VPG-'G+1&,#?:4(,#,#&%&%4(4(**.&.&$/&-1-(& ,#&%4(4(4(4('!0BB,+ $* ,0,(&#5'+)# &&2"*$"FE2*1'/,)+"0&=&11*/;/4/)*'';*0*BC19)*E+#(%(%4!(($(0'(''!4"'$68(3#!6%%%&!:9&$(!''1(4(3&2)*#)'"#*$>4&!,%0)+%2)1(7,E:5)*''"'",#9,,$+$+&8-8-=4*$1)/'0(+$=2,#,#?:&%/%/%=4&!& 1(1(4(4(4(*!'!'!'!*$"93LC&',+",&&/4*,;1%4/)&'';*75))"'"&($"'"('()'4"68,*461'6)"&('''8)))))))),,4312,-""""""**7668&&&&&&&&33@??A;;#""#((((((57DC?A''''''''/:>98888888857DC?A:<))""&&((''88))))))))??GFCE?@&&&&&&&&FFSRQSNN88888888HJWVRTMO))))))),,,,?&&&&&..77B''''((''''24-88888;8;8G,,4312,-33@??A;;57DC?A:<,/5&4qCH ~17HQS_aw67O_cuEMWY[]}    " & 0 : D p y !!!"!&!.!^""""""""+"H"`"e%  28IRT`bx78br HPY[]_    & 0 9 D p t !!!"!&!.!S""""""""+"H"`"d%feAa&`FF z@:*߶/mTxSߘߕߍߋ߈߅y]FC# mykwzRSTUVWXi_abcduestnocpqeghrlx@?XUTSRQPONMLKJIHGFEDCBA@?>=<;:98765/.-,(&%$#" ,E#F` &`&#HH-,E#F#a &a&#HH-,E#F` a F`&#HH-,E#F#a ` &a a&#HH-,E#F`@a f`&#HH-,E#F#a@` &a@a&#HH-, <<-, E# D# ZQX# D#Y QX# MD#Y &QX# D#Y!!-, EhD ` EFvhE`D-, C#Ce -, C#C -,(#p(>(#p(E: -, E%EadPQXED!!Y-, EC`D-,CCe -, i@a ,b`+ d#da\XaY-,E+)#D)z-,Ee,#DE+#D-,KRXED!!Y-,%# `#-,%# a#-,%-, ` <<-, a <<-,CC -,!! d#d@b-,!QX d#d b@/+Y`-,!QX d#dUb/+Y`-, d#d@b`#!-,E#E`#E`#E`#vhb -,&&%%E#E &`bch &ae#DD-, ETX@D E@aD!!Y-,E0/E#Ea``iD-,KQX/#p#B!!Y-,KQX %EiSXD!!Y!!Y-,EC`c`iD-,/ED-,E# E`D-,E#E`D-,K#QX34 34YDD-,CX&EXdf`d `f X!@YaY#XeY)#D#)!!!!!Y-,CX%Ed `f X!@Ya#XeY)#D%% XY%% F%#B<%% F%`#B< XY%%)%%)%% XY%%CH%%`CH!Y!!!!!!!-,CX%Ed `f X!@Ya#XeY)#D%% XY%% F%#B<%%%% F%`#B< XY%%)) EeD%%)%% XY%%CH%%%%`CH!Y!!!!!!!-,% F%#B%%EH!!!!-,% %%CH!!!-,E# E P X#e#Y#h @PX!@Y#XeY`D-,KS#KQZX E`D!!Y-,KTX E`D!!Y-,KS#KQZX8!!Y-,KTX8!!Y-,CTXF+!!!!Y-,CTXG+!!!Y-,CTXH+!!!!Y-,CTXI+!!!Y-, #KSKQZX#8!!Y-, IQX@# 84!!Y-,F#F`#Fa#  Fab@@pE`h:-, #Id#SX<!Y-,KRX}zY-,KKTB-,B#Q@SZX TXBYY-,Eh#KQX# E d@PX|Yh`YD-,%%#>#> #eB #B#?#? #eB#B-dA  0P`69F AU UU/(F@F߳@@ F@P`` }G2}HdOo@8;F}>"d 0P`@ʇ69Fυ ~y3}{7|yd{-z_yoyyxtwu~vsdu}t`spss sssr~oUq~pUh[[Ug[_Uf[]Ud[ZUc[\Ub[YUXCVUWCUUSMURKUQJUPIUONU/NIIIG[CUF[BUE[AUoATSKRKP[%S@QZUZ[XYBKSXYKHSX@YKSXBY++s+++ss++++++++++++++++tu++++++t++++++t++++++s+++tu++++++++stu+++++++++++++++++++++++++stts+ssss++ss++++t+++tu+EEGGGo GbHNgCDh;aIfNO :TCn]D`LETPk=\`3LQuY2EH]O>Bn /rRn=*X<R5NPH>b]`TP Z     0   Copyright 2011 Canonical Ltd. Licensed under the Ubuntu Font Licence 1.0UbuntuRegular0.83;DAMA;Ubuntu-RegularUbuntu Regular0.83Ubuntu-RegularO  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghjikmlnoqprsutvwxzy{}|~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Eurouni00A0uni00ADAmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccent Gcommaaccent gcommaaccent Hcircumflex hcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogoneki.loclIJij Jcircumflex jcircumflex Kcommaaccent kcommaaccentkgreenlandic.case kgreenlandicLacutelacute Lcommaaccent lcommaaccentLcaronlcaronLdotldotNacutenacute Ncommaaccent ncommaaccentNcaronncaronnapostrophe.case napostropheEngengOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracute Rcommaaccent rcommaaccentRcaronrcaronSacutesacute Scircumflex scircumflexuni0162uni0163TcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentlongs Scommaaccent scommaaccentuni021Auni021Bdotlessj apostropheuni02C9WgravewgraveWacutewacute Wdieresis wdieresisYgraveygrave zerosuperior foursuperior fivesuperior sixsuperior sevensuperior eightsuperior ninesuperior zeroinferior oneinferior twoinferior threeinferior fourinferior fiveinferior sixinferior seveninferior eightinferior nineinferior afii61289 estimatedonethird twothirds oneeighth threeeighths fiveeighths seveneighthsonefifth twofifths threefifths fourfifthsonesixth fivesixths oneseventh twosevenths threesevenths foursevenths fivesevenths sixseventhsoneninth twoninths fourninths fiveninths sevenninths eightninthsuni2126uni2215uni2219f_ff_if_lf_f_if_f_lzero.altone.alttwo.alt three.altfour.altfive.altsix.alt seven.alt eight.altnine.alt zero.supsone.supstwo.sups three.sups four.sups five.supssix.sups seven.sups eight.sups nine.sups zero.sinfone.sinftwo.sinf three.sinf four.sinf five.sinfsix.sinf seven.sinf eight.sinf nine.sinf caron.alt commaaccentrevcommaaccentcaron.alt.short Parenleft ParenrightHyphenSlashAt Bracketleft Backslash Bracketright Braceleft Braceright GuilsinglleftBulletEndashEmdashGuilsinglright Exclamdown GuillemotleftGuillemotright Questiondownuni0180uni0181uni0182uni0183uni0184uni0185uni0186uni0187uni0188uni0189uni018Auni018Buni018Cuni018Duni018Euni018Funi0190uni0191uni0193uni0194uni0195uni0196uni0197uni0198uni0199uni019Auni019Buni019Cuni019Duni019Euni019FOhornohornuni01A2uni01A3uni01A4uni01A5uni01A6uni01A7uni01A8uni01A9uni01AAuni01ABuni01ACuni01ADuni01AEUhornuhornuni01B1uni01B2uni01B3uni01B4uni01B5uni01B6uni01B7uni01B8uni01B9uni01BAuni01BBuni01BCuni01BDuni01BEuni01BFuni01C0uni01C1uni01C2uni01C3uni01C4uni01C5uni01C6uni01C7uni01C8uni01C9uni01CAuni01CBuni01CCuni01CDuni01CEuni01CFuni01D0uni01D1uni01D2uni01D3uni01D4uni01D5uni01D6uni01D7uni01D8uni01D9uni01DAuni01DBuni01DCuni01DDuni01DEuni01DFuni01E0uni01E1uni01E2uni01E3uni01E4uni01E5Gcarongcaronuni01E8uni01E9uni01EAuni01EBuni01ECuni01EDuni01EEuni01EFuni01F0uni01F1uni01F2uni01F3uni01F4uni01F5uni01F6uni01F7uni01F8uni01F9 Aringacute aringacuteAEacuteaeacute Oslashacute oslashacuteuni0200uni0201uni0202uni0203uni0204uni0205uni0206uni0207uni0208uni0209uni020Auni020Buni020Cuni020Duni020Euni020Funi0210uni0211uni0212uni0213uni0214uni0215uni0216uni0217uni021Cuni021Duni021Euni021Funi0220uni0221uni0222uni0223uni0224uni0225uni0226uni0227uni0228uni0229uni022Auni022Buni022Cuni022Duni022Euni022Funi0230uni0231uni0232uni0233uni0234uni0235uni0236uni0238uni0239uni023Auni023Buni023Cuni023Duni023Euni023Funi0240uni0241uni0242uni0243uni0244uni0245uni0246uni0247uni0248uni0249uni024Auni024Buni024Cuni024Duni024Euni024Funi0292breve_inverted double_grave ring_acutedieresis_macron dot_macrondieresis_gravedieresis_acutedieresis_breve tilde_macron acute.asccircumflex.asc caron.ascdieresis_grave.capdieresis_acute.capdieresis_breve.capuni0400 afii10023 afii10051 afii10052 afii10053 afii10054 afii10055 afii10056 afii10057 afii10058 afii10059 afii10060 afii10061uni040D afii10062 afii10145 afii10017 afii10018 afii10019 afii10020 afii10021 afii10022 afii10024 afii10025 afii10026 afii10027 afii10028 afii10029 afii10030 afii10031 afii10032 afii10033 afii10034 afii10035 afii10036 afii10037 afii10038 afii10039 afii10040 afii10041 afii10042 afii10043 afii10044 afii10045 afii10046 afii10047 afii10048 afii10049 afii10065 afii10066 afii10067 afii10068 afii10069 afii10070 afii10072 afii10073 afii10074 afii10075 afii10076 afii10077 afii10078 afii10079 afii10080 afii10081 afii10082 afii10083 afii10084 afii10085 afii10086 afii10087 afii10088 afii10089 afii10090 afii10091 afii10092 afii10093 afii10094 afii10095 afii10096 afii10097uni0450 afii10071 afii10099 afii10100 afii10101 afii10102 afii10103 afii10104 afii10105 afii10106 afii10107 afii10108 afii10109uni045D afii10110 afii10193afii10066.locluni0462uni0463uni0472uni0473uni0474uni0475uni048Auni048Buni048Cuni048Duni048Euni048F afii10050 afii10098uni0492uni0493uni0494uni0495uni0496uni0497uni0498uni0499uni049Auni049Buni049Cuni049Duni049Euni049Funi04A0uni04A1uni04A2uni04A3uni04A4uni04A5uni04A6uni04A7uni04A8uni04A9uni04AAuni04ABuni04ACuni04ADuni04AEuni04AFuni04B0uni04B1uni04B2uni04B3uni04B4uni04B5uni04B6uni04B7uni04B8uni04B9uni04BAuni04BBuni04BCuni04BDuni04BEuni04BFuni04C0uni04C1uni04C2uni04C3uni04C4uni04C5uni04C6uni04C7uni04C8uni04C9uni04CAuni04CBuni04CCuni04CDuni04CEuni04CFuni04D0uni04D1uni04D2uni04D3uni04D4uni04D5uni04D6uni04D7uni04D8uni04D9uni04DAuni04DBuni04DCuni04DDuni04DEuni04DFuni04E0uni04E1uni04E2uni04E3uni04E4uni04E5uni04E6uni04E7uni04E8uni04E9uni04EAuni04EBuni04ECuni04EDuni04EEuni04EFuni04F0uni04F1uni04F2uni04F3uni04F4uni04F5uni04F6uni04F7uni04F8uni04F9 afii61352 afii00208uni20B4uni20AEkratkaAlphaBetaGammauni0394EpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsialphabetagammadeltaepsilonzetaetathetaiotakappalambdauni03BCnuxiomicronrhosigma1sigmatauupsilonphichipsiomega Alphatonos EpsilontonosEtatonos Iotatonos Iotadieresis Omicrontonos UpsilontonosUpsilondieresis Omegatonos alphatonos epsilontonosetatonos iotatonos iotadieresisiotadieresistonos omicrontonosupsilondieresis upsilontonosupsilondieresistonos omegatonostonos tonos.cap dieresistonosuni1F00uni1F01uni1F02uni1F03uni1F04uni1F05uni1F06uni1F07uni1F08uni1F09uni1F0Auni1F0Buni1F0Cuni1F0Duni1F0Euni1F0Funi1F10uni1F11uni1F12uni1F13uni1F14uni1F15uni1F18uni1F19uni1F1Auni1F1Buni1F1Cuni1F1Duni1F20uni1F21uni1F22uni1F23uni1F24uni1F25uni1F26uni1F27uni1F28uni1F29uni1F2Auni1F2Buni1F2Cuni1F2Duni1F2Euni1F2Funi1F30uni1F31uni1F32uni1F33uni1F34uni1F35uni1F36uni1F37uni1F38uni1F39uni1F3Auni1F3Buni1F3Cuni1F3Duni1F3Euni1F3Funi1F40uni1F41uni1F42uni1F43uni1F44uni1F45uni1F48uni1F49uni1F4Auni1F4Buni1F4Cuni1F4Duni1F50uni1F51uni1F52uni1F53uni1F54uni1F55uni1F56uni1F57uni1F59uni1F5Buni1F5Duni1F5Funi1F60uni1F61uni1F62uni1F63uni1F64uni1F65uni1F66uni1F67uni1F68uni1F69uni1F6Auni1F6Buni1F6Cuni1F6Duni1F6Euni1F6Funi1F70uni1F71uni1F72uni1F73uni1F74uni1F75uni1F76uni1F77uni1F78uni1F79uni1F7Auni1F7Buni1F7Cuni1F7Duni1F80uni1F81uni1F82uni1F83uni1F84uni1F85uni1F86uni1F87uni1F88uni1F89uni1F8Auni1F8Buni1F8Cuni1F8Duni1F8Euni1F8Funi1F90uni1F91uni1F92uni1F93uni1F94uni1F95uni1F96uni1F97uni1F98uni1F99uni1F9Auni1F9Buni1F9Cuni1F9Duni1F9Euni1F9Funi1FA0uni1FA1uni1FA2uni1FA3uni1FA4uni1FA5uni1FA6uni1FA7uni1FA8uni1FA9uni1FAAuni1FABuni1FACuni1FADuni1FAEuni1FAFuni1FB0uni1FB1uni1FB2uni1FB3uni1FB4uni1FB6uni1FB7uni1FB8uni1FB9uni1FBAuni1FBBuni1FBCuni1FBDuni1FBEuni1FBFuni1FC0uni1FC1uni1FC2uni1FC3uni1FC4uni1FC6uni1FC7uni1FC8uni1FC9uni1FCAuni1FCBuni1FCCuni1FCDuni1FCEuni1FCFuni1FD0uni1FD1uni1FD2uni1FD3uni1FD6uni1FD7uni1FD8uni1FD9uni1FDAuni1FDBuni1FDDuni1FDEuni1FDFuni1FE0uni1FE1uni1FE2uni1FE3uni1FE4uni1FE5uni1FE6uni1FE7uni1FE8uni1FE9uni1FEAuni1FEBuni1FECuni1FEDuni1FEEuni1FEFuni1FF2uni1FF3uni1FF4uni1FF6uni1FF7uni1FF8uni1FF9uni1FFAuni1FFBuni1FFCuni1FFDuni1FFE uni1F88.alt uni1F89.alt uni1F8A.alt uni1F8B.alt uni1F8C.alt uni1F8D.alt uni1F8E.alt uni1F8F.alt uni1F98.alt uni1F99.alt uni1F9A.alt uni1F9B.alt uni1F9C.alt uni1F9D.alt uni1F9E.alt uni1F9F.alt uni1FA8.alt uni1FA9.alt uni1FAA.alt uni1FAB.alt uni1FAC.alt uni1FAD.alt uni1FAE.alt uni1FAF.alt uni1FBC.alt uni1FCC.alt uni1FFC.altuni20B9uniE0FFuniEFFDuniF000ubuntuuniF0FF Bcyrlgrek latn,kernkern&kern6  5pXi0&000&&&00&&&00RLR>LRR>>LLLR`Jli.79:<=Idz<>@NPRTVX[fhjl)MV-/AI     4567>VfffN ((( ) 3     )( *|)*|4h?O/  N O*^^ 4?)?4 >II*S?I*SII>NO)^^4 >>>*4^4*S)T 4N)^^* %&,.g  ' ''      <-FF Z !" !      "# "u       P$9DFIIKUWW%Y[&]])dd*kk+mm,-DIPQ\]^opqrstuvw'x)688::<BDDFFHHJJLLOOSSUUWY[]ggiikk  *8::<<>>@@BGIIKKMRUUWY]a cikkmy{{#$&*278:$ !"#$%&'()*+,- * %&&&&&&,,,,      !!""#####% % % % & & & ) ) ) ***+++,,,,,,*+&&-"% &' )++!! & ,,,,, "& & % &   & & ) ) ,,& & & &  )V? ++!@67Af89B:;<=C>DS*50$/.-,334 12%&  B8 2>@@@@@@E6888888;;;;>5555555....3&&&&@5@5@566667777//.......A-,,,,,3333a888111B2B2B2:%:%:%;&;&;&;&;&;&=>DDD$B2:% ===>$$$$$$$PLTMNQRU^OTT`O`000\6c"]K8<_-#F3888dW%':;&GH>DXe(YZ,3@5.8;&;&;&;&;&b@5@5E577-88X(73@5E58@5@5..8811;&;&I)/D@58888>3 @6[2J@>(RS|VP!      !#"    #P PPz |    "  P ! P#"P" ???>t #9:;<=>@^`bceflnpstxz|~(NPRTVfhjl  !#$)STV\}n    ##::;;<<==>> @@ ^^ `` bbcceeffllnnppstxxzz||~~((NNPPRRTTVVffhhjjll*+,-./0123 !"#$%&' ('()45<=6>?7  @ABC8DEFG  H!!I##J$$K))SSDTTGVV\\L}}MN:;O9GLm7''!`#abc$de"fg@h%i&jUB:D (z)*+{,|}T~x--./012E5896 C T 'mU %2 .l !!!!!!#bbbbeeeeah%%%%%%BBBBk((((((()++++}}}}-......66!(!(!(#)#)#)#)a**b+b+b+b+b+$,$,$,$,d|d|e}e}e}e}e}}e}"Tf~fgxgxgxgxgxh-h-h-h-%.%.%.j1j1j1U2U2U2EEEBBBBBB86:::{U2ET8886{{{{{{{XY_VZW\^[]A> ?K>>zzzR#)43tS=;c%Ff~qGh-%%.%.vME<Bno6:NyrpwOsaa*ggxgg-!(e}%.BBBBB!(!(($,$,f~%.%.NpTaa*$,h-!((%.!(!(b+b+e}e}%.%.j1j1BBPud|*:!(b+%.%.%.%.6H-H*0!#)IQ2J!b+6p*4D/$)* .))))))+  )))*!       ...   "( #, .-$%&')     ))+-%)+))  .)))%""%5R    " ! """ !!! ! !!! !   """ " !    # "    %  ## >> @@ ^^``ccefllnnppstxx&)+CLTZb&+j47p@Gt|Y      ##>>@@^^``cc ee ff ll nnppst xx  !"#$%&'()*+,-./01234!#%+04!#%&++470@G4!#%0-+4#44O( ( " : #@#+9"";##>><@@^^``cc'ee'ff#llnn%oo&pp%qq&st@xx??^^&47K82Q56L=3KJ3J     >P.ABNC/DE-F M!GH*)0,$1I>BCD!,I>BCD %!,3,8?IHI>JKBLMCNODPQ!RS,TUIV]>fmCv}I>CD,H,I h-  &&###,   "  $,2: %B,3H8P<       % ,38?HIJKLMNOPQ RSTUV]^efmnuv}~P"    #"" ##&>>$@@^^``cceeffllnnoo ppqq st ^^ '!,*( +)% ',*%',* %,3%8?HI'JK,LM*PQRS%TUV]'fm*v}'*%%&(&)N.j    " #!#4"## ! ! *""3"A " "      i #>@^`ceflnpstx!#-/13579;=AGI]^blmosy{b      ##>>@@^^``cc ee ff ll nnppst xx " ,)&%) !"#$%&'()*)+,-))*!!##*-- // 1133#55$77&99&;;&==&AA-GG,II-]])^^#bb'll)mmooss"yy#{{$%%*** )L, , ' M !(I(-N""O##">>P@@%^^#``$cc+ee+ff(ll&nn)oo*pp)qq*stIxxS&S^^*ECgHBFGhQDgfDf      V;W[5.6JXY7Z[/\]0<123[=^  _  >  [  8`9.T[a:iR7[UYX1b  ;!!""?##$$/%%&&1((X**K,,]--..[//00[1122[33 4465566J77 88Y99 ::Y;; <<Y== >>Y??@@[AABB[CCDD[EEFFcGGHH0IIJJ<KKLL4MMNN4OO PP3QQRR<SSTT=UUVV=WWYYZZ@[[\\@]]^^ __6``aa[bbcc7ddee[ffgg[hhii=kkZllmm nnVoo ppVqqrrdsstt.uu vveww xxeyy zz6{{||J}}~~AXX///J111=[[ L|*!!!!  "&2DFLNXZ\aervx~""&&22DD FF LL NN XX ZZ \\ aaeerrvvxx~~Q   "" ##>>@@ ^^``cc)ee)ffllnn oo pp qq stxx&&^^ '(#    (  $$&&**$4466FFHHJJLL!NN!PPRRTT#VV#ZZ%\\%__cc(ii#ttzz||~~"#!<(b     3"*"F"  " !! # !!(&%,,"       "Tq     $%'()*,.0468:<>?@ABCEHIJKMOPQRSTUWY[_`cdfghjknpqtuwz|}   !"#$%%&&'&&"%&% ! $%%% %%"""M6 6 / 0 W1.17+""2##(>>L@@*^^)``Kcc5ee5ff1ll,nn3oo4pp3qq4st.xx-,-^^4JHIU V%$a%!GS"#$%&']%`:;<=>NO?@ABCDEXFY          >8  PQA9@?X   ;!!%""\###$$C%%&&X((?**,,D..002233G44N55S66O88@::@<<@>>@@@BBDDEEFFGG$HHEII%JJKKZLL[MMZNN[OO'PPYQQ%RRSS]TTUU]VVXXRYY_ZZ[[_\\^^G__NaabbccAeegghh]iikkBmm!nn:oo!pp:rrtt>uu^vvww^xxyyGzzN{{S||O}}T~~??#C#C#COXXX] cyrlgreklatnBGR 0MKD JSRB d -9FS^i  '.:GT_j  (/;HU`k  )0<IVal   1=DJQWbm"AZE BCRT ^MOL zROM TRK !28>EKRXcn "*3?LYdo #+4@MZep $5AN[fq %6BO\gr &,7CP]hstcasecasecasecasecasecasecasecasecasednomdnomdnomdnomdnomdnomdnomdnomdnomdnomdnomfracfracfracfracfracfracfracfracfracfracfracligaligaligaligaligaligaligaligaloclloclloclloclloclloclnumr numr numr numr numr numr numr numr numr numr numr ordnpnumpnumpnumpnumpnumpnumpnumpnumpnumpnumpnumsalt"salt"sinfsinfsinfsinfsinfsinfsinfsinfsinfsinfsinfss01"ss01"subs,subs,subs,subs,subs,subs,subs,subs,subs,subs,subs,sups2sups2sups2sups2sups2sups2sups2sups2sups2sups2sups2tnum8tnum8tnum8tnum8tnum8tnum8tnum8tnum8tnum8tnum8tnum8     888LLL`x >l  J  2 b L/b DRj2vwxyz{|}~xywvz{|}~vwxyz{|}~vwxyz{|}~vwxyz{|}~ ou j2 o (j2 o  nn0fH:,H:f,fH:,fH:,fH:,fH:,0bjrz "*2:BJRZbjrznnnnnnnnnnnpnqnrnsntnunxnynzn{n|n}n~nnnnnnnnnnnnnnnnnnnnnnnnn2:BJRZbjrznnnnnnqnsnunyn{n}nnnnnnnnnnnnn2:BJRZbjrznnnnnpnqnsntnzn{n}n~nnnnnnnnnnnn&.6>FNV^fnv~nnnnqnsnun{n}nnnnnnnnnn2:BJRZbjrznnnnnrnsntnun|n}n~nnnnnnnnnnnnn&.6nnsn}nnn "*2:BJRZbjrnnntnun~nnnnnnn&.6nnunnnn pt w~ (j2opqrstuopqrstuopqrstuopqrstuopqrstuv nnv06- #>?@^`lrstx|X]$%&'()*+,-./0123456789:;<=kmz   "$&(*,.02468:<>@BDFHJLNPRTVY[fhjlDEFGHIJKLMNOPQRSTUVWXYZ[\]wy  !#%')+-/13579;=?ACEGIKMOQSUWZ\gikm6 "(ILIOILOI ^e nu ~ xywvz{|}~oucandle-1.1.9/src/frmabout.cpp000066400000000000000000000013341421102410500160510ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #include #include "frmabout.h" #include "ui_frmabout.h" frmAbout::frmAbout(QWidget *parent) : QDialog(parent), ui(new Ui::frmAbout) { ui->setupUi(this); ui->lblAbout->setText(ui->lblAbout->text().arg(qApp->applicationVersion())); QFile file(qApp->applicationDirPath() + "/LICENSE"); if (file.open(QIODevice::ReadOnly)) { ui->txtLicense->setPlainText(file.readAll()); } } frmAbout::~frmAbout() { delete ui; } void frmAbout::on_cmdOk_clicked() { this->hide(); } void frmAbout::on_lblAbout_linkActivated(const QString &link) { QDesktopServices::openUrl(link); } candle-1.1.9/src/frmabout.h000066400000000000000000000007251421102410500155210ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef FRMABOUT_H #define FRMABOUT_H #include namespace Ui { class frmAbout; } class frmAbout : public QDialog { Q_OBJECT public: explicit frmAbout(QWidget *parent = 0); ~frmAbout(); private slots: void on_cmdOk_clicked(); void on_lblAbout_linkActivated(const QString &link); private: Ui::frmAbout *ui; }; #endif // FRMABOUT_H candle-1.1.9/src/frmabout.ui000066400000000000000000000074521421102410500157130ustar00rootroot00000000000000 frmAbout 0 0 431 500 About QWidget { font-size: 9pt; } 9 9 9 9 14 100 100 image: url(:/images/candle_256.png); QFrame::StyledPanel QFrame::Raised <html><head/><body><p>Candle<br/>Version: %1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visit: <a href="https://github.com/Denvi/Candle/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/Candle/<br/></span></a>© 2015-2016 Hayrullin Denis Ravilevich</p></body></html> Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter Qt::Horizontal 40 20 <html><head/><body><p><span style=" font-weight:600;">The program is provided AS IS without any guarantees or warranty. Use at your own risk.</span></p></body></html> true 9 true Qt::Horizontal 40 20 OK candle-1.1.9/src/frmmain.cpp000066400000000000000000004467771421102410500157130ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich //#define INITTIME //QTime time; time.start(); //#define PRINTTIME(x) //qDebug() << "time elapse" << QString("%1:").arg(x) << time.elapsed(); time.start(); #define UNKNOWN 0 #define IDLE 1 #define ALARM 2 #define RUN 3 #define HOME 4 #define HOLD0 5 #define HOLD1 6 #define QUEUE 7 #define CHECK 8 #define DOOR 9 #define JOG 10 #define PROGRESSMINLINES 10000 #define PROGRESSSTEP 1000 #include #include #include #include #include #include #include #include #include #include #include #include #include #include "frmmain.h" #include "ui_frmmain.h" frmMain::frmMain(QWidget *parent) : QMainWindow(parent), ui(new Ui::frmMain) { m_status << "Unknown" << "Idle" << "Alarm" << "Run" << "Home" << "Hold:0" << "Hold:1" << "Queue" << "Check" << "Door" // TODO: Update "Door" state << "Jog"; m_statusCaptions << tr("Unknown") << tr("Idle") << tr("Alarm") << tr("Run") << tr("Home") << tr("Hold") << tr("Hold") << tr("Queue") << tr("Check") << tr("Door") << tr("Jog"); m_statusBackColors << "red" << "palette(button)" << "red" << "lime" << "lime" << "yellow" << "yellow" << "yellow" << "palette(button)" << "red" << "lime"; m_statusForeColors << "white" << "palette(text)" << "white" << "black" << "black" << "black" << "black" << "black" << "palette(text)" << "white" << "black"; // Loading settings m_settingsFileName = qApp->applicationDirPath() + "/settings.ini"; preloadSettings(); m_settings = new frmSettings(this); ui->setupUi(this); #ifdef WINDOWS if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS7) { m_taskBarButton = NULL; m_taskBarProgress = NULL; } #endif #ifndef UNIX ui->cboCommand->setStyleSheet("QComboBox {padding: 2;} QComboBox::drop-down {width: 0; border-style: none;} QComboBox::down-arrow {image: url(noimg); border-width: 0;}"); #endif // ui->scrollArea->updateMinimumWidth(); m_heightMapMode = false; m_lastDrawnLineIndex = 0; m_fileProcessedCommandIndex = 0; m_cellChanged = false; m_programLoading = false; m_currentModel = &m_programModel; m_transferCompleted = true; ui->cmdXMinus->setBackColor(QColor(153, 180, 209)); ui->cmdXPlus->setBackColor(ui->cmdXMinus->backColor()); ui->cmdYMinus->setBackColor(ui->cmdXMinus->backColor()); ui->cmdYPlus->setBackColor(ui->cmdXMinus->backColor()); ui->cmdFit->setParent(ui->glwVisualizer); ui->cmdIsometric->setParent(ui->glwVisualizer); ui->cmdTop->setParent(ui->glwVisualizer); ui->cmdFront->setParent(ui->glwVisualizer); ui->cmdLeft->setParent(ui->glwVisualizer); ui->cmdHeightMapBorderAuto->setMinimumHeight(ui->chkHeightMapBorderShow->sizeHint().height()); ui->cmdHeightMapCreate->setMinimumHeight(ui->cmdFileOpen->sizeHint().height()); ui->cmdHeightMapLoad->setMinimumHeight(ui->cmdFileOpen->sizeHint().height()); ui->cmdHeightMapMode->setMinimumHeight(ui->cmdFileOpen->sizeHint().height()); ui->cboJogStep->setValidator(new QDoubleValidator(0, 10000, 2)); ui->cboJogFeed->setValidator(new QIntValidator(0, 100000)); connect(ui->cboJogStep, &ComboBoxKey::currentTextChanged, [=] (QString) {updateJogTitle();}); connect(ui->cboJogFeed, &ComboBoxKey::currentTextChanged, [=] (QString) {updateJogTitle();}); // Prepare "Send"-button ui->cmdFileSend->setMinimumWidth(qMax(ui->cmdFileSend->width(), ui->cmdFileOpen->width())); QMenu *menuSend = new QMenu(); menuSend->addAction(tr("Send from current line"), this, SLOT(onActSendFromLineTriggered())); ui->cmdFileSend->setMenu(menuSend); connect(ui->cboCommand, SIGNAL(returnPressed()), this, SLOT(onCboCommandReturnPressed())); foreach (StyledToolButton* button, this->findChildren(QRegExp("cmdUser\\d"))) { connect(button, SIGNAL(clicked(bool)), this, SLOT(onCmdUserClicked(bool))); } // Setting up slider boxes ui->slbFeedOverride->setRatio(1); ui->slbFeedOverride->setMinimum(10); ui->slbFeedOverride->setMaximum(200); ui->slbFeedOverride->setCurrentValue(100); ui->slbFeedOverride->setTitle(tr("Feed rate:")); ui->slbFeedOverride->setSuffix("%"); connect(ui->slbFeedOverride, SIGNAL(toggled(bool)), this, SLOT(onOverridingToggled(bool))); connect(ui->slbFeedOverride, &SliderBox::toggled, [=] { updateProgramEstimatedTime(m_currentDrawer->viewParser()->getLineSegmentList()); }); connect(ui->slbFeedOverride, &SliderBox::valueChanged, [=] { updateProgramEstimatedTime(m_currentDrawer->viewParser()->getLineSegmentList()); }); ui->slbRapidOverride->setRatio(50); ui->slbRapidOverride->setMinimum(25); ui->slbRapidOverride->setMaximum(100); ui->slbRapidOverride->setCurrentValue(100); ui->slbRapidOverride->setTitle(tr("Rapid speed:")); ui->slbRapidOverride->setSuffix("%"); connect(ui->slbRapidOverride, SIGNAL(toggled(bool)), this, SLOT(onOverridingToggled(bool))); connect(ui->slbRapidOverride, &SliderBox::toggled, [=] { updateProgramEstimatedTime(m_currentDrawer->viewParser()->getLineSegmentList()); }); connect(ui->slbRapidOverride, &SliderBox::valueChanged, [=] { updateProgramEstimatedTime(m_currentDrawer->viewParser()->getLineSegmentList()); }); ui->slbSpindleOverride->setRatio(1); ui->slbSpindleOverride->setMinimum(50); ui->slbSpindleOverride->setMaximum(200); ui->slbSpindleOverride->setCurrentValue(100); ui->slbSpindleOverride->setTitle(tr("Spindle speed:")); ui->slbSpindleOverride->setSuffix("%"); connect(ui->slbSpindleOverride, SIGNAL(toggled(bool)), this, SLOT(onOverridingToggled(bool))); m_originDrawer = new OriginDrawer(); m_codeDrawer = new GcodeDrawer(); m_codeDrawer->setViewParser(&m_viewParser); m_probeDrawer = new GcodeDrawer(); m_probeDrawer->setViewParser(&m_probeParser); m_probeDrawer->setVisible(false); m_heightMapGridDrawer.setModel(&m_heightMapModel); m_currentDrawer = m_codeDrawer; m_toolDrawer.setToolPosition(QVector3D(0, 0, 0)); QShortcut *insertShortcut = new QShortcut(QKeySequence(Qt::Key_Insert), ui->tblProgram); QShortcut *deleteShortcut = new QShortcut(QKeySequence(Qt::Key_Delete), ui->tblProgram); connect(insertShortcut, SIGNAL(activated()), this, SLOT(onTableInsertLine())); connect(deleteShortcut, SIGNAL(activated()), this, SLOT(onTableDeleteLines())); m_tableMenu = new QMenu(this); m_tableMenu->addAction(tr("&Insert line"), this, SLOT(onTableInsertLine()), insertShortcut->key()); m_tableMenu->addAction(tr("&Delete lines"), this, SLOT(onTableDeleteLines()), deleteShortcut->key()); ui->glwVisualizer->addDrawable(m_originDrawer); ui->glwVisualizer->addDrawable(m_codeDrawer); ui->glwVisualizer->addDrawable(m_probeDrawer); ui->glwVisualizer->addDrawable(&m_toolDrawer); ui->glwVisualizer->addDrawable(&m_heightMapBorderDrawer); ui->glwVisualizer->addDrawable(&m_heightMapGridDrawer); ui->glwVisualizer->addDrawable(&m_heightMapInterpolationDrawer); ui->glwVisualizer->addDrawable(&m_selectionDrawer); ui->glwVisualizer->fitDrawable(); connect(ui->glwVisualizer, SIGNAL(rotationChanged()), this, SLOT(onVisualizatorRotationChanged())); connect(ui->glwVisualizer, SIGNAL(resized()), this, SLOT(placeVisualizerButtons())); connect(&m_programModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(onTableCellChanged(QModelIndex,QModelIndex))); connect(&m_programHeightmapModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(onTableCellChanged(QModelIndex,QModelIndex))); connect(&m_probeModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(onTableCellChanged(QModelIndex,QModelIndex))); connect(&m_heightMapModel, SIGNAL(dataChangedByUserInput()), this, SLOT(updateHeightMapInterpolationDrawer())); ui->tblProgram->setModel(&m_programModel); ui->tblProgram->horizontalHeader()->setSectionResizeMode(3, QHeaderView::Stretch); connect(ui->tblProgram->verticalScrollBar(), SIGNAL(actionTriggered(int)), this, SLOT(onScroolBarAction(int))); connect(ui->tblProgram->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(onTableCurrentChanged(QModelIndex,QModelIndex))); clearTable(); // Console window handling connect(ui->grpConsole, SIGNAL(resized(QSize)), this, SLOT(onConsoleResized(QSize))); connect(ui->scrollAreaWidgetContents, SIGNAL(sizeChanged(QSize)), this, SLOT(onPanelsSizeChanged(QSize))); m_senderErrorBox = new QMessageBox(QMessageBox::Warning, qApp->applicationDisplayName(), QString(), QMessageBox::Ignore | QMessageBox::Abort, this); m_senderErrorBox->setCheckBox(new QCheckBox(tr("Don't show again"))); // Loading settings loadSettings(); ui->tblProgram->hideColumn(4); ui->tblProgram->hideColumn(5); updateControlsState(); // Prepare jog buttons foreach (StyledToolButton* button, ui->grpJog->findChildren(QRegExp("cmdJogFeed\\d"))) { connect(button, SIGNAL(clicked(bool)), this, SLOT(onCmdJogFeedClicked())); } // Setting up spindle slider box ui->slbSpindle->setTitle(tr("Speed:")); ui->slbSpindle->setCheckable(false); ui->slbSpindle->setChecked(true); connect(ui->slbSpindle, &SliderBox::valueUserChanged, [=] {m_updateSpindleSpeed = true;}); connect(ui->slbSpindle, &SliderBox::valueChanged, [=] { if (!ui->grpSpindle->isChecked() && ui->cmdSpindle->isChecked()) ui->grpSpindle->setTitle(tr("Spindle") + QString(tr(" (%1)")).arg(ui->slbSpindle->value())); }); // Setup serial port m_serialPort.setParity(QSerialPort::NoParity); m_serialPort.setDataBits(QSerialPort::Data8); m_serialPort.setFlowControl(QSerialPort::NoFlowControl); m_serialPort.setStopBits(QSerialPort::OneStop); if (m_settings->port() != "") { m_serialPort.setPortName(m_settings->port()); m_serialPort.setBaudRate(m_settings->baud()); } connect(&m_serialPort, SIGNAL(readyRead()), this, SLOT(onSerialPortReadyRead()), Qt::QueuedConnection); connect(&m_serialPort, SIGNAL(error(QSerialPort::SerialPortError)), this, SLOT(onSerialPortError(QSerialPort::SerialPortError))); this->installEventFilter(this); ui->tblProgram->installEventFilter(this); ui->cboJogStep->installEventFilter(this); ui->cboJogFeed->installEventFilter(this); ui->splitPanels->handle(1)->installEventFilter(this); ui->splitPanels->installEventFilter(this); connect(&m_timerConnection, SIGNAL(timeout()), this, SLOT(onTimerConnection())); connect(&m_timerStateQuery, SIGNAL(timeout()), this, SLOT(onTimerStateQuery())); m_timerConnection.start(1000); m_timerStateQuery.start(); // Handle file drop if (qApp->arguments().count() > 1 && isGCodeFile(qApp->arguments().last())) { loadFile(qApp->arguments().last()); } } frmMain::~frmMain() { saveSettings(); delete m_senderErrorBox; delete ui; } bool frmMain::isGCodeFile(QString fileName) { return fileName.endsWith(".txt", Qt::CaseInsensitive) || fileName.endsWith(".nc", Qt::CaseInsensitive) || fileName.endsWith(".ncc", Qt::CaseInsensitive) || fileName.endsWith(".ngc", Qt::CaseInsensitive) || fileName.endsWith(".tap", Qt::CaseInsensitive); } bool frmMain::isHeightmapFile(QString fileName) { return fileName.endsWith(".map", Qt::CaseInsensitive); } double frmMain::toolZPosition() { return m_toolDrawer.toolPosition().z(); } void frmMain::preloadSettings() { QSettings set(m_settingsFileName, QSettings::IniFormat); set.setIniCodec("UTF-8"); qApp->setStyleSheet(QString(qApp->styleSheet()).replace(QRegExp("font-size:\\s*\\d+"), "font-size: " + set.value("fontSize", "8").toString())); // Update v-sync in glformat QGLFormat fmt = QGLFormat::defaultFormat(); fmt.setSwapInterval(set.value("vsync", false).toBool() ? 1 : 0); QGLFormat::setDefaultFormat(fmt); } void frmMain::loadSettings() { QSettings set(m_settingsFileName, QSettings::IniFormat); set.setIniCodec("UTF-8"); m_settingsLoading = true; m_settings->setFontSize(set.value("fontSize", 8).toInt()); m_settings->setPort(set.value("port").toString()); m_settings->setBaud(set.value("baud").toInt()); m_settings->setIgnoreErrors(set.value("ignoreErrors", false).toBool()); m_settings->setAutoLine(set.value("autoLine", true).toBool()); m_settings->setToolDiameter(set.value("toolDiameter", 3).toDouble()); m_settings->setToolLength(set.value("toolLength", 15).toDouble()); m_settings->setAntialiasing(set.value("antialiasing", true).toBool()); m_settings->setMsaa(set.value("msaa", true).toBool()); m_settings->setVsync(set.value("vsync", false).toBool()); m_settings->setZBuffer(set.value("zBuffer", false).toBool()); m_settings->setSimplify(set.value("simplify", false).toBool()); m_settings->setSimplifyPrecision(set.value("simplifyPrecision", 0).toDouble()); m_settings->setGrayscaleSegments(set.value("grayscaleSegments", false).toBool()); m_settings->setGrayscaleSCode(set.value("grayscaleSCode", true).toBool()); m_settings->setDrawModeVectors(set.value("drawModeVectors", true).toBool()); m_settings->setMoveOnRestore(set.value("moveOnRestore", false).toBool()); m_settings->setRestoreMode(set.value("restoreMode", 0).toInt()); m_settings->setLineWidth(set.value("lineWidth", 1).toDouble()); m_settings->setArcLength(set.value("arcLength", 0).toDouble()); m_settings->setArcDegree(set.value("arcDegree", 0).toDouble()); m_settings->setArcDegreeMode(set.value("arcDegreeMode", true).toBool()); m_settings->setShowProgramCommands(set.value("showProgramCommands", 0).toBool()); m_settings->setShowUICommands(set.value("showUICommands", 0).toBool()); m_settings->setSpindleSpeedMin(set.value("spindleSpeedMin", 0).toInt()); m_settings->setSpindleSpeedMax(set.value("spindleSpeedMax", 100).toInt()); m_settings->setLaserPowerMin(set.value("laserPowerMin", 0).toInt()); m_settings->setLaserPowerMax(set.value("laserPowerMax", 100).toInt()); m_settings->setRapidSpeed(set.value("rapidSpeed", 0).toInt()); m_settings->setHeightmapProbingFeed(set.value("heightmapProbingFeed", 0).toInt()); m_settings->setAcceleration(set.value("acceleration", 10).toInt()); m_settings->setToolAngle(set.value("toolAngle", 0).toDouble()); m_settings->setToolType(set.value("toolType", 0).toInt()); m_settings->setFps(set.value("fps", 60).toInt()); m_settings->setQueryStateTime(set.value("queryStateTime", 250).toInt()); m_settings->setPanelUserCommands(set.value("panelUserCommandsVisible", true).toBool()); m_settings->setPanelHeightmap(set.value("panelHeightmapVisible", true).toBool()); m_settings->setPanelSpindle(set.value("panelSpindleVisible", true).toBool()); m_settings->setPanelOverriding(set.value("panelOverridingVisible", true).toBool()); m_settings->setPanelJog(set.value("panelJogVisible", true).toBool()); ui->grpConsole->setMinimumHeight(set.value("consoleMinHeight", 100).toInt()); ui->chkAutoScroll->setChecked(set.value("autoScroll", false).toBool()); ui->slbSpindle->setRatio(100); ui->slbSpindle->setMinimum(m_settings->spindleSpeedMin()); ui->slbSpindle->setMaximum(m_settings->spindleSpeedMax()); ui->slbSpindle->setValue(set.value("spindleSpeed", 100).toInt()); ui->slbFeedOverride->setChecked(set.value("feedOverride", false).toBool()); ui->slbFeedOverride->setValue(set.value("feedOverrideValue", 100).toInt()); ui->slbRapidOverride->setChecked(set.value("rapidOverride", false).toBool()); ui->slbRapidOverride->setValue(set.value("rapidOverrideValue", 100).toInt()); ui->slbSpindleOverride->setChecked(set.value("spindleOverride", false).toBool()); ui->slbSpindleOverride->setValue(set.value("spindleOverrideValue", 100).toInt()); m_settings->setUnits(set.value("units", 0).toInt()); m_storedX = set.value("storedX", 0).toDouble(); m_storedY = set.value("storedY", 0).toDouble(); m_storedZ = set.value("storedZ", 0).toDouble(); ui->cmdRestoreOrigin->setToolTip(QString(tr("Restore origin:\n%1, %2, %3")).arg(m_storedX).arg(m_storedY).arg(m_storedZ)); m_recentFiles = set.value("recentFiles", QStringList()).toStringList(); m_recentHeightmaps = set.value("recentHeightmaps", QStringList()).toStringList(); m_lastFolder = set.value("lastFolder", QDir::homePath()).toString(); this->restoreGeometry(set.value("formGeometry", QByteArray()).toByteArray()); m_settings->resize(set.value("formSettingsSize", m_settings->size()).toSize()); QByteArray splitterState = set.value("splitter", QByteArray()).toByteArray(); if (splitterState.length() == 0) { ui->splitter->setStretchFactor(0, 1); ui->splitter->setStretchFactor(1, 1); } else ui->splitter->restoreState(splitterState); ui->chkAutoScroll->setVisible(ui->splitter->sizes()[1]); resizeCheckBoxes(); ui->cboCommand->setMinimumHeight(ui->cboCommand->height()); ui->cmdClearConsole->setFixedHeight(ui->cboCommand->height()); ui->cmdCommandSend->setFixedHeight(ui->cboCommand->height()); m_storedKeyboardControl = set.value("keyboardControl", false).toBool(); m_settings->setAutoCompletion(set.value("autoCompletion", true).toBool()); m_settings->setTouchCommand(set.value("touchCommand").toString()); m_settings->setSafePositionCommand(set.value("safePositionCommand").toString()); foreach (StyledToolButton* button, this->findChildren(QRegExp("cmdUser\\d"))) { int i = button->objectName().right(1).toInt(); m_settings->setUserCommands(i, set.value(QString("userCommands%1").arg(i)).toString()); } ui->cboJogStep->setItems(set.value("jogSteps").toStringList()); ui->cboJogStep->setCurrentIndex(ui->cboJogStep->findText(set.value("jogStep").toString())); ui->cboJogFeed->setItems(set.value("jogFeeds").toStringList()); ui->cboJogFeed->setCurrentIndex(ui->cboJogFeed->findText(set.value("jogFeed").toString())); ui->txtHeightMapBorderX->setValue(set.value("heightmapBorderX", 0).toDouble()); ui->txtHeightMapBorderY->setValue(set.value("heightmapBorderY", 0).toDouble()); ui->txtHeightMapBorderWidth->setValue(set.value("heightmapBorderWidth", 1).toDouble()); ui->txtHeightMapBorderHeight->setValue(set.value("heightmapBorderHeight", 1).toDouble()); ui->chkHeightMapBorderShow->setChecked(set.value("heightmapBorderShow", false).toBool()); ui->txtHeightMapGridX->setValue(set.value("heightmapGridX", 1).toDouble()); ui->txtHeightMapGridY->setValue(set.value("heightmapGridY", 1).toDouble()); ui->txtHeightMapGridZTop->setValue(set.value("heightmapGridZTop", 1).toDouble()); ui->txtHeightMapGridZBottom->setValue(set.value("heightmapGridZBottom", -1).toDouble()); ui->chkHeightMapGridShow->setChecked(set.value("heightmapGridShow", false).toBool()); ui->txtHeightMapInterpolationStepX->setValue(set.value("heightmapInterpolationStepX", 1).toDouble()); ui->txtHeightMapInterpolationStepY->setValue(set.value("heightmapInterpolationStepY", 1).toDouble()); ui->cboHeightMapInterpolationType->setCurrentIndex(set.value("heightmapInterpolationType", 0).toInt()); ui->chkHeightMapInterpolationShow->setChecked(set.value("heightmapInterpolationShow", false).toBool()); foreach (ColorPicker* pick, m_settings->colors()) { pick->setColor(QColor(set.value(pick->objectName().mid(3), "black").toString())); } updateRecentFilesMenu(); ui->tblProgram->horizontalHeader()->restoreState(set.value("header", QByteArray()).toByteArray()); // Update right panel width applySettings(); show(); ui->scrollArea->updateMinimumWidth(); // Restore panels state ui->grpUserCommands->setChecked(set.value("userCommandsPanel", true).toBool()); ui->grpHeightMap->setChecked(set.value("heightmapPanel", true).toBool()); ui->grpSpindle->setChecked(set.value("spindlePanel", true).toBool()); ui->grpOverriding->setChecked(set.value("feedPanel", true).toBool()); ui->grpJog->setChecked(set.value("jogPanel", true).toBool()); // Restore last commands list ui->cboCommand->addItems(set.value("recentCommands", QStringList()).toStringList()); ui->cboCommand->setCurrentIndex(-1); m_settingsLoading = false; } void frmMain::saveSettings() { QSettings set(m_settingsFileName, QSettings::IniFormat); set.setIniCodec("UTF-8"); set.setValue("port", m_settings->port()); set.setValue("baud", m_settings->baud()); set.setValue("ignoreErrors", m_settings->ignoreErrors()); set.setValue("autoLine", m_settings->autoLine()); set.setValue("toolDiameter", m_settings->toolDiameter()); set.setValue("toolLength", m_settings->toolLength()); set.setValue("antialiasing", m_settings->antialiasing()); set.setValue("msaa", m_settings->msaa()); set.setValue("vsync", m_settings->vsync()); set.setValue("zBuffer", m_settings->zBuffer()); set.setValue("simplify", m_settings->simplify()); set.setValue("simplifyPrecision", m_settings->simplifyPrecision()); set.setValue("grayscaleSegments", m_settings->grayscaleSegments()); set.setValue("grayscaleSCode", m_settings->grayscaleSCode()); set.setValue("drawModeVectors", m_settings->drawModeVectors()); set.setValue("spindleSpeed", ui->slbSpindle->value()); set.setValue("lineWidth", m_settings->lineWidth()); set.setValue("arcLength", m_settings->arcLength()); set.setValue("arcDegree", m_settings->arcDegree()); set.setValue("arcDegreeMode", m_settings->arcDegreeMode()); set.setValue("showProgramCommands", m_settings->showProgramCommands()); set.setValue("showUICommands", m_settings->showUICommands()); set.setValue("spindleSpeedMin", m_settings->spindleSpeedMin()); set.setValue("spindleSpeedMax", m_settings->spindleSpeedMax()); set.setValue("laserPowerMin", m_settings->laserPowerMin()); set.setValue("laserPowerMax", m_settings->laserPowerMax()); set.setValue("moveOnRestore", m_settings->moveOnRestore()); set.setValue("restoreMode", m_settings->restoreMode()); set.setValue("rapidSpeed", m_settings->rapidSpeed()); set.setValue("heightmapProbingFeed", m_settings->heightmapProbingFeed()); set.setValue("acceleration", m_settings->acceleration()); set.setValue("toolAngle", m_settings->toolAngle()); set.setValue("toolType", m_settings->toolType()); set.setValue("fps", m_settings->fps()); set.setValue("queryStateTime", m_settings->queryStateTime()); set.setValue("autoScroll", ui->chkAutoScroll->isChecked()); set.setValue("header", ui->tblProgram->horizontalHeader()->saveState()); set.setValue("splitter", ui->splitter->saveState()); set.setValue("formGeometry", this->saveGeometry()); set.setValue("formSettingsSize", m_settings->size()); set.setValue("userCommandsPanel", ui->grpUserCommands->isChecked()); set.setValue("heightmapPanel", ui->grpHeightMap->isChecked()); set.setValue("spindlePanel", ui->grpSpindle->isChecked()); set.setValue("feedPanel", ui->grpOverriding->isChecked()); set.setValue("jogPanel", ui->grpJog->isChecked()); set.setValue("keyboardControl", ui->chkKeyboardControl->isChecked()); set.setValue("autoCompletion", m_settings->autoCompletion()); set.setValue("units", m_settings->units()); set.setValue("storedX", m_storedX); set.setValue("storedY", m_storedY); set.setValue("storedZ", m_storedZ); set.setValue("recentFiles", m_recentFiles); set.setValue("recentHeightmaps", m_recentHeightmaps); set.setValue("lastFolder", m_lastFolder); set.setValue("touchCommand", m_settings->touchCommand()); set.setValue("safePositionCommand", m_settings->safePositionCommand()); set.setValue("panelUserCommandsVisible", m_settings->panelUserCommands()); set.setValue("panelHeightmapVisible", m_settings->panelHeightmap()); set.setValue("panelSpindleVisible", m_settings->panelSpindle()); set.setValue("panelOverridingVisible", m_settings->panelOverriding()); set.setValue("panelJogVisible", m_settings->panelJog()); set.setValue("fontSize", m_settings->fontSize()); set.setValue("consoleMinHeight", ui->grpConsole->minimumHeight()); set.setValue("feedOverride", ui->slbFeedOverride->isChecked()); set.setValue("feedOverrideValue", ui->slbFeedOverride->value()); set.setValue("rapidOverride", ui->slbRapidOverride->isChecked()); set.setValue("rapidOverrideValue", ui->slbRapidOverride->value()); set.setValue("spindleOverride", ui->slbSpindleOverride->isChecked()); set.setValue("spindleOverrideValue", ui->slbSpindleOverride->value()); foreach (StyledToolButton* button, this->findChildren(QRegExp("cmdUser\\d"))) { int i = button->objectName().right(1).toInt(); set.setValue(QString("userCommands%1").arg(i), m_settings->userCommands(i)); } set.setValue("jogSteps", ui->cboJogStep->items()); set.setValue("jogStep", ui->cboJogStep->currentText()); set.setValue("jogFeeds", ui->cboJogFeed->items()); set.setValue("jogFeed", ui->cboJogFeed->currentText()); set.setValue("heightmapBorderX", ui->txtHeightMapBorderX->value()); set.setValue("heightmapBorderY", ui->txtHeightMapBorderY->value()); set.setValue("heightmapBorderWidth", ui->txtHeightMapBorderWidth->value()); set.setValue("heightmapBorderHeight", ui->txtHeightMapBorderHeight->value()); set.setValue("heightmapBorderShow", ui->chkHeightMapBorderShow->isChecked()); set.setValue("heightmapGridX", ui->txtHeightMapGridX->value()); set.setValue("heightmapGridY", ui->txtHeightMapGridY->value()); set.setValue("heightmapGridZTop", ui->txtHeightMapGridZTop->value()); set.setValue("heightmapGridZBottom", ui->txtHeightMapGridZBottom->value()); set.setValue("heightmapGridShow", ui->chkHeightMapGridShow->isChecked()); set.setValue("heightmapInterpolationStepX", ui->txtHeightMapInterpolationStepX->value()); set.setValue("heightmapInterpolationStepY", ui->txtHeightMapInterpolationStepY->value()); set.setValue("heightmapInterpolationType", ui->cboHeightMapInterpolationType->currentIndex()); set.setValue("heightmapInterpolationShow", ui->chkHeightMapInterpolationShow->isChecked()); foreach (ColorPicker* pick, m_settings->colors()) { set.setValue(pick->objectName().mid(3), pick->color().name()); } QStringList list; for (int i = 0; i < ui->cboCommand->count(); i++) list.append(ui->cboCommand->itemText(i)); set.setValue("recentCommands", list); } bool frmMain::saveChanges(bool heightMapMode) { if ((!heightMapMode && m_fileChanged)) { int res = QMessageBox::warning(this, this->windowTitle(), tr("G-code program file was changed. Save?"), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel); if (res == QMessageBox::Cancel) return false; else if (res == QMessageBox::Yes) on_actFileSave_triggered(); m_fileChanged = false; } if (m_heightMapChanged) { int res = QMessageBox::warning(this, this->windowTitle(), tr("Heightmap file was changed. Save?"), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel); if (res == QMessageBox::Cancel) return false; else if (res == QMessageBox::Yes) { m_heightMapMode = true; on_actFileSave_triggered(); m_heightMapMode = heightMapMode; updateRecentFilesMenu(); // Restore g-code files recent menu } m_fileChanged = false; } return true; } void frmMain::updateControlsState() { bool portOpened = m_serialPort.isOpen(); ui->grpState->setEnabled(portOpened); ui->grpControl->setEnabled(portOpened); ui->widgetUserCommands->setEnabled(portOpened && !m_processingFile); ui->widgetSpindle->setEnabled(portOpened); ui->widgetJog->setEnabled(portOpened && !m_processingFile); // ui->grpConsole->setEnabled(portOpened); ui->cboCommand->setEnabled(portOpened && (!ui->chkKeyboardControl->isChecked())); ui->cmdCommandSend->setEnabled(portOpened); // ui->widgetFeed->setEnabled(!m_transferringFile); ui->chkTestMode->setEnabled(portOpened && !m_processingFile); ui->cmdHome->setEnabled(!m_processingFile); ui->cmdTouch->setEnabled(!m_processingFile); ui->cmdZeroXY->setEnabled(!m_processingFile); ui->cmdZeroZ->setEnabled(!m_processingFile); ui->cmdRestoreOrigin->setEnabled(!m_processingFile); ui->cmdSafePosition->setEnabled(!m_processingFile); ui->cmdUnlock->setEnabled(!m_processingFile); ui->cmdSpindle->setEnabled(!m_processingFile); ui->actFileNew->setEnabled(!m_processingFile); ui->actFileOpen->setEnabled(!m_processingFile); ui->cmdFileOpen->setEnabled(!m_processingFile); ui->cmdFileReset->setEnabled(!m_processingFile && m_programModel.rowCount() > 1); ui->cmdFileSend->setEnabled(portOpened && !m_processingFile && m_programModel.rowCount() > 1); ui->cmdFilePause->setEnabled(m_processingFile && !ui->chkTestMode->isChecked()); ui->cmdFileAbort->setEnabled(m_processingFile); ui->actFileOpen->setEnabled(!m_processingFile); ui->mnuRecent->setEnabled(!m_processingFile && ((m_recentFiles.count() > 0 && !m_heightMapMode) || (m_recentHeightmaps.count() > 0 && m_heightMapMode))); ui->actFileSave->setEnabled(m_programModel.rowCount() > 1); ui->actFileSaveAs->setEnabled(m_programModel.rowCount() > 1); ui->tblProgram->setEditTriggers(m_processingFile ? QAbstractItemView::NoEditTriggers : QAbstractItemView::DoubleClicked | QAbstractItemView::SelectedClicked | QAbstractItemView::EditKeyPressed | QAbstractItemView::AnyKeyPressed); if (!portOpened) { ui->txtStatus->setText(tr("Not connected")); ui->txtStatus->setStyleSheet(QString("background-color: palette(button); color: palette(text);")); } this->setWindowTitle(m_programFileName.isEmpty() ? qApp->applicationDisplayName() : m_programFileName.mid(m_programFileName.lastIndexOf("/") + 1) + " - " + qApp->applicationDisplayName()); if (!m_processingFile) ui->chkKeyboardControl->setChecked(m_storedKeyboardControl); #ifdef WINDOWS if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS7) { if (!m_processingFile && m_taskBarProgress) m_taskBarProgress->hide(); } #endif style()->unpolish(ui->cmdFileOpen); style()->unpolish(ui->cmdFileReset); style()->unpolish(ui->cmdFileSend); style()->unpolish(ui->cmdFilePause); style()->unpolish(ui->cmdFileAbort); ui->cmdFileOpen->ensurePolished(); ui->cmdFileReset->ensurePolished(); ui->cmdFileSend->ensurePolished(); ui->cmdFilePause->ensurePolished(); ui->cmdFileAbort->ensurePolished(); // Heightmap m_heightMapBorderDrawer.setVisible(ui->chkHeightMapBorderShow->isChecked() && m_heightMapMode); m_heightMapGridDrawer.setVisible(ui->chkHeightMapGridShow->isChecked() && m_heightMapMode); m_heightMapInterpolationDrawer.setVisible(ui->chkHeightMapInterpolationShow->isChecked() && m_heightMapMode); ui->grpProgram->setTitle(m_heightMapMode ? tr("Heightmap") : tr("G-code program")); ui->grpProgram->setProperty("overrided", m_heightMapMode); style()->unpolish(ui->grpProgram); ui->grpProgram->ensurePolished(); ui->grpHeightMapSettings->setVisible(m_heightMapMode); ui->grpHeightMapSettings->setEnabled(!m_processingFile && !ui->chkKeyboardControl->isChecked()); ui->cboJogStep->setEditable(!ui->chkKeyboardControl->isChecked()); ui->cboJogFeed->setEditable(!ui->chkKeyboardControl->isChecked()); ui->cboJogStep->setStyleSheet(QString("font-size: %1").arg(m_settings->fontSize())); ui->cboJogFeed->setStyleSheet(ui->cboJogStep->styleSheet()); ui->chkTestMode->setVisible(!m_heightMapMode); ui->chkAutoScroll->setVisible(ui->splitter->sizes()[1] && !m_heightMapMode); ui->tblHeightMap->setVisible(m_heightMapMode); ui->tblProgram->setVisible(!m_heightMapMode); ui->widgetHeightMap->setEnabled(!m_processingFile && m_programModel.rowCount() > 1); ui->cmdHeightMapMode->setEnabled(!ui->txtHeightMap->text().isEmpty()); ui->cmdFileSend->setText(m_heightMapMode ? tr("Probe") : tr("Send")); ui->chkHeightMapUse->setEnabled(!m_heightMapMode && !ui->txtHeightMap->text().isEmpty()); ui->actFileSaveTransformedAs->setVisible(ui->chkHeightMapUse->isChecked()); ui->cmdFileSend->menu()->actions().first()->setEnabled(!ui->cmdHeightMapMode->isChecked()); m_selectionDrawer.setVisible(!ui->cmdHeightMapMode->isChecked()); } void frmMain::openPort() { if (m_serialPort.open(QIODevice::ReadWrite)) { ui->txtStatus->setText(tr("Port opened")); ui->txtStatus->setStyleSheet(QString("background-color: palette(button); color: palette(text);")); // updateControlsState(); grblReset(); } } void frmMain::sendCommand(QString command, int tableIndex, bool showInConsole) { if (!m_serialPort.isOpen() || !m_resetCompleted) return; command = command.toUpper(); // Commands queue if ((bufferLength() + command.length() + 1) > BUFFERLENGTH) { // qDebug() << "queue:" << command; CommandQueue cq; cq.command = command; cq.tableIndex = tableIndex; cq.showInConsole = showInConsole; m_queue.append(cq); return; } CommandAttributes ca; // if (!(command == "$G" && tableIndex < -1) && !(command == "$#" && tableIndex < -1) // && (!m_transferringFile || (m_transferringFile && m_showAllCommands) || tableIndex < 0)) { if (showInConsole) { ui->txtConsole->appendPlainText(command); ca.consoleIndex = ui->txtConsole->blockCount() - 1; } else { ca.consoleIndex = -1; } ca.command = command; ca.length = command.length() + 1; ca.tableIndex = tableIndex; m_commands.append(ca); // Processing spindle speed only from g-code program QRegExp s("[Ss]0*(\\d+)"); if (s.indexIn(command) != -1 && ca.tableIndex > -2) { int speed = s.cap(1).toInt(); if (ui->slbSpindle->value() != speed) { ui->slbSpindle->setValue(speed); } } // Set M2 & M30 commands sent flag if (command.contains(QRegExp("M0*2|M30"))) { m_fileEndSent = true; } m_serialPort.write((command + "\r").toLatin1()); } void frmMain::grblReset() { qDebug() << "grbl reset"; m_serialPort.write(QByteArray(1, (char)24)); // m_serialPort.flush(); m_processingFile = false; m_transferCompleted = true; m_fileCommandIndex = 0; m_reseting = true; m_homing = false; m_resetCompleted = false; m_updateSpindleSpeed = true; m_lastGrblStatus = -1; m_statusReceived = true; // Drop all remaining commands in buffer m_commands.clear(); m_queue.clear(); // Prepare reset response catch CommandAttributes ca; ca.command = "[CTRL+X]"; if (m_settings->showUICommands()) ui->txtConsole->appendPlainText(ca.command); ca.consoleIndex = m_settings->showUICommands() ? ui->txtConsole->blockCount() - 1 : -1; ca.tableIndex = -1; ca.length = ca.command.length() + 1; m_commands.append(ca); updateControlsState(); } int frmMain::bufferLength() { int length = 0; foreach (CommandAttributes ca, m_commands) { length += ca.length; } return length; } void frmMain::onSerialPortReadyRead() { while (m_serialPort.canReadLine()) { QString data = m_serialPort.readLine().trimmed(); // Filter prereset responses if (m_reseting) { qDebug() << "reseting filter:" << data; if (!dataIsReset(data)) continue; else { m_reseting = false; m_timerStateQuery.setInterval(m_settings->queryStateTime()); } } // Status response if (data[0] == '<') { int status = -1; m_statusReceived = true; // Update machine coordinates static QRegExp mpx("MPos:([^,]*),([^,]*),([^,^>^|]*)"); if (mpx.indexIn(data) != -1) { ui->txtMPosX->setText(mpx.cap(1)); ui->txtMPosY->setText(mpx.cap(2)); ui->txtMPosZ->setText(mpx.cap(3)); } // Status static QRegExp stx("<([^,^>^|]*)"); if (stx.indexIn(data) != -1) { status = m_status.indexOf(stx.cap(1)); // Undetermined status if (status == -1) status = 0; // Update status if (status != m_lastGrblStatus) { ui->txtStatus->setText(m_statusCaptions[status]); ui->txtStatus->setStyleSheet(QString("background-color: %1; color: %2;") .arg(m_statusBackColors[status]).arg(m_statusForeColors[status])); } // Update controls ui->cmdRestoreOrigin->setEnabled(status == IDLE); ui->cmdSafePosition->setEnabled(status == IDLE); ui->cmdZeroXY->setEnabled(status == IDLE); ui->cmdZeroZ->setEnabled(status == IDLE); ui->chkTestMode->setEnabled(status != RUN && !m_processingFile); ui->chkTestMode->setChecked(status == CHECK); ui->cmdFilePause->setChecked(status == HOLD0 || status == HOLD1 || status == QUEUE); ui->cmdSpindle->setEnabled(!m_processingFile || status == HOLD0); #ifdef WINDOWS if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS7) { if (m_taskBarProgress) m_taskBarProgress->setPaused(status == HOLD0 || status == HOLD1 || status == QUEUE); } #endif // Update "elapsed time" timer if (m_processingFile) { QTime time(0, 0, 0); int elapsed = m_startTime.elapsed(); ui->glwVisualizer->setSpendTime(time.addMSecs(elapsed)); } // Test for job complete if (m_processingFile && m_transferCompleted && ((status == IDLE && m_lastGrblStatus == RUN) || status == CHECK)) { qDebug() << "job completed:" << m_fileCommandIndex << m_currentModel->rowCount() - 1; // Shadow last segment GcodeViewParse *parser = m_currentDrawer->viewParser(); QList list = parser->getLineSegmentList(); if (m_lastDrawnLineIndex < list.count()) { list[m_lastDrawnLineIndex]->setDrawn(true); m_currentDrawer->update(QList() << m_lastDrawnLineIndex); } // Update state m_processingFile = false; m_fileProcessedCommandIndex = 0; m_lastDrawnLineIndex = 0; m_storedParserStatus.clear(); updateControlsState(); qApp->beep(); m_timerStateQuery.stop(); m_timerConnection.stop(); QMessageBox::information(this, qApp->applicationDisplayName(), tr("Job done.\nTime elapsed: %1") .arg(ui->glwVisualizer->spendTime().toString("hh:mm:ss"))); m_timerStateQuery.setInterval(m_settings->queryStateTime()); m_timerConnection.start(); m_timerStateQuery.start(); } // Store status if (status != m_lastGrblStatus) m_lastGrblStatus = status; // Abort static double x = sNan; static double y = sNan; static double z = sNan; if (m_aborting) { switch (status) { case IDLE: // Idle if (!m_processingFile && m_resetCompleted) { m_aborting = false; restoreOffsets(); restoreParserState(); return; } break; case HOLD0: // Hold case HOLD1: case QUEUE: if (!m_reseting && compareCoordinates(x, y, z)) { x = sNan; y = sNan; z = sNan; grblReset(); } else { x = ui->txtMPosX->text().toDouble(); y = ui->txtMPosY->text().toDouble(); z = ui->txtMPosZ->text().toDouble(); } break; } } } // Store work offset static QVector3D workOffset; static QRegExp wpx("WCO:([^,]*),([^,]*),([^,^>^|]*)"); if (wpx.indexIn(data) != -1) { workOffset = QVector3D(wpx.cap(1).toDouble(), wpx.cap(2).toDouble(), wpx.cap(3).toDouble()); } // Update work coordinates int prec = m_settings->units() == 0 ? 3 : 4; ui->txtWPosX->setText(QString::number(ui->txtMPosX->text().toDouble() - workOffset.x(), 'f', prec)); ui->txtWPosY->setText(QString::number(ui->txtMPosY->text().toDouble() - workOffset.y(), 'f', prec)); ui->txtWPosZ->setText(QString::number(ui->txtMPosZ->text().toDouble() - workOffset.z(), 'f', prec)); // Update tool position QVector3D toolPosition; if (!(status == CHECK && m_fileProcessedCommandIndex < m_currentModel->rowCount() - 1)) { toolPosition = QVector3D(toMetric(ui->txtWPosX->text().toDouble()), toMetric(ui->txtWPosY->text().toDouble()), toMetric(ui->txtWPosZ->text().toDouble())); m_toolDrawer.setToolPosition(m_codeDrawer->getIgnoreZ() ? QVector3D(toolPosition.x(), toolPosition.y(), 0) : toolPosition); } // toolpath shadowing if (m_processingFile && status != CHECK) { GcodeViewParse *parser = m_currentDrawer->viewParser(); bool toolOntoolpath = false; QList drawnLines; QList list = parser->getLineSegmentList(); for (int i = m_lastDrawnLineIndex; i < list.count() && list.at(i)->getLineNumber() <= (m_currentModel->data(m_currentModel->index(m_fileProcessedCommandIndex, 4)).toInt() + 1); i++) { if (list.at(i)->contains(toolPosition)) { toolOntoolpath = true; m_lastDrawnLineIndex = i; break; } drawnLines << i; } if (toolOntoolpath) { foreach (int i, drawnLines) { list.at(i)->setDrawn(true); } if (!drawnLines.isEmpty()) m_currentDrawer->update(drawnLines); } else if (m_lastDrawnLineIndex < list.count()) { qDebug() << "tool missed:" << list.at(m_lastDrawnLineIndex)->getLineNumber() << m_currentModel->data(m_currentModel->index(m_fileProcessedCommandIndex, 4)).toInt() << m_fileProcessedCommandIndex; } } // Get overridings static QRegExp ov("Ov:([^,]*),([^,]*),([^,^>^|]*)"); if (ov.indexIn(data) != -1) { updateOverride(ui->slbFeedOverride, ov.cap(1).toInt(), 0x91); updateOverride(ui->slbSpindleOverride, ov.cap(3).toInt(), 0x9a); int rapid = ov.cap(2).toInt(); ui->slbRapidOverride->setCurrentValue(rapid); int target = ui->slbRapidOverride->isChecked() ? ui->slbRapidOverride->value() : 100; if (rapid != target) switch (target) { case 25: m_serialPort.write(QByteArray(1, char(0x97))); break; case 50: m_serialPort.write(QByteArray(1, char(0x96))); break; case 100: m_serialPort.write(QByteArray(1, char(0x95))); break; } // Update pins state QString pinState; static QRegExp pn("Pn:([^|^>]*)"); if (pn.indexIn(data) != -1) { pinState.append(QString(tr("PS: %1")).arg(pn.cap(1))); } // Process spindle state static QRegExp as("A:([^,^>^|]+)"); if (as.indexIn(data) != -1) { QString state = as.cap(1); m_spindleCW = state.contains("S"); if (state.contains("S") || state.contains("C")) { m_timerToolAnimation.start(25, this); ui->cmdSpindle->setChecked(true); } else { m_timerToolAnimation.stop(); ui->cmdSpindle->setChecked(false); } if (!pinState.isEmpty()) pinState.append(" / "); pinState.append(QString(tr("AS: %1")).arg(as.cap(1))); } else { m_timerToolAnimation.stop(); ui->cmdSpindle->setChecked(false); } ui->glwVisualizer->setPinState(pinState); } // Get feed/spindle values static QRegExp fs("FS:([^,]*),([^,^|^>]*)"); if (fs.indexIn(data) != -1) { ui->glwVisualizer->setSpeedState((QString(tr("F/S: %1 / %2")).arg(fs.cap(1)).arg(fs.cap(2)))); } } else if (data.length() > 0) { // Processed commands if (m_commands.length() > 0 && !dataIsFloating(data) && !(m_commands[0].command != "[CTRL+X]" && dataIsReset(data))) { static QString response; // Full response string if ((m_commands[0].command != "[CTRL+X]" && dataIsEnd(data)) || (m_commands[0].command == "[CTRL+X]" && dataIsReset(data))) { response.append(data); // Take command from buffer CommandAttributes ca = m_commands.takeFirst(); QTextBlock tb = ui->txtConsole->document()->findBlockByNumber(ca.consoleIndex); QTextCursor tc(tb); // Restore absolute/relative coordinate system after jog if (ca.command.toUpper() == "$G" && ca.tableIndex == -2) { if (ui->chkKeyboardControl->isChecked()) m_absoluteCoordinates = response.contains("G90"); else if (response.contains("G90")) sendCommand("G90", -1, m_settings->showUICommands()); } // Jog if (ca.command.toUpper().contains("$J=") && ca.tableIndex == -2) { jogStep(); } // Process parser status if (ca.command.toUpper() == "$G" && ca.tableIndex == -3) { // Update status in visualizer window ui->glwVisualizer->setParserStatus(response.left(response.indexOf("; "))); // Store parser status if (m_processingFile) storeParserState(); // Spindle speed QRegExp rx(".*S([\\d\\.]+)"); if (rx.indexIn(response) != -1) { double speed = toMetric(rx.cap(1).toDouble()); //RPM in imperial? ui->slbSpindle->setCurrentValue(speed); } m_updateParserStatus = true; } // Store origin if (ca.command == "$#" && ca.tableIndex == -2) { qDebug() << "Received offsets:" << response; QRegExp rx(".*G92:([^,]*),([^,]*),([^\\]]*)"); if (rx.indexIn(response) != -1) { if (m_settingZeroXY) { m_settingZeroXY = false; m_storedX = toMetric(rx.cap(1).toDouble()); m_storedY = toMetric(rx.cap(2).toDouble()); } else if (m_settingZeroZ) { m_settingZeroZ = false; m_storedZ = toMetric(rx.cap(3).toDouble()); } ui->cmdRestoreOrigin->setToolTip(QString(tr("Restore origin:\n%1, %2, %3")).arg(m_storedX).arg(m_storedY).arg(m_storedZ)); } } // Homing response if ((ca.command.toUpper() == "$H" || ca.command.toUpper() == "$T") && m_homing) m_homing = false; // Reset complete if (ca.command == "[CTRL+X]") { m_resetCompleted = true; m_updateParserStatus = true; } // Clear command buffer on "M2" & "M30" command (old firmwares) if ((ca.command.contains("M2") || ca.command.contains("M30")) && response.contains("ok") && !response.contains("[Pgm End]")) { m_commands.clear(); m_queue.clear(); } // Process probing on heightmap mode only from table commands if (ca.command.contains("G38.2") && m_heightMapMode && ca.tableIndex > -1) { // Get probe Z coordinate // "[PRB:0.000,0.000,0.000:0];ok" QRegExp rx(".*PRB:([^,]*),([^,]*),([^]^:]*)"); double z = qQNaN(); if (rx.indexIn(response) != -1) { qDebug() << "probing coordinates:" << rx.cap(1) << rx.cap(2) << rx.cap(3); z = toMetric(rx.cap(3).toDouble()); } static double firstZ; if (m_probeIndex == -1) { firstZ = z; z = 0; } else { // Calculate delta Z z -= firstZ; // Calculate table indexes int row = trunc(m_probeIndex / m_heightMapModel.columnCount()); int column = m_probeIndex - row * m_heightMapModel.columnCount(); if (row % 2) column = m_heightMapModel.columnCount() - 1 - column; // Store Z in table m_heightMapModel.setData(m_heightMapModel.index(row, column), z, Qt::UserRole); ui->tblHeightMap->update(m_heightMapModel.index(m_heightMapModel.rowCount() - 1 - row, column)); updateHeightMapInterpolationDrawer(); } m_probeIndex++; } // Change state query time on check mode on if (ca.command.contains(QRegExp("$[cC]"))) { m_timerStateQuery.setInterval(response.contains("Enable") ? 1000 : m_settings->queryStateTime()); } // Add response to console if (tb.isValid() && tb.text() == ca.command) { bool scrolledDown = ui->txtConsole->verticalScrollBar()->value() == ui->txtConsole->verticalScrollBar()->maximum(); // Update text block numbers int blocksAdded = response.count("; "); if (blocksAdded > 0) for (int i = 0; i < m_commands.count(); i++) { if (m_commands[i].consoleIndex != -1) m_commands[i].consoleIndex += blocksAdded; } tc.beginEditBlock(); tc.movePosition(QTextCursor::EndOfBlock); tc.insertText(" < " + QString(response).replace("; ", "\r\n")); tc.endEditBlock(); if (scrolledDown) ui->txtConsole->verticalScrollBar()->setValue(ui->txtConsole->verticalScrollBar()->maximum()); } // Check queue if (m_queue.length() > 0) { CommandQueue cq = m_queue.takeFirst(); while ((bufferLength() + cq.command.length() + 1) <= BUFFERLENGTH) { sendCommand(cq.command, cq.tableIndex, cq.showInConsole); if (m_queue.isEmpty()) break; else cq = m_queue.takeFirst(); } } // Add response to table, send next program commands if (m_processingFile) { // Only if command from table if (ca.tableIndex > -1) { m_currentModel->setData(m_currentModel->index(ca.tableIndex, 2), GCodeItem::Processed); m_currentModel->setData(m_currentModel->index(ca.tableIndex, 3), response); m_fileProcessedCommandIndex = ca.tableIndex; if (ui->chkAutoScroll->isChecked() && ca.tableIndex != -1) { ui->tblProgram->scrollTo(m_currentModel->index(ca.tableIndex + 1, 0)); // TODO: Update by timer ui->tblProgram->setCurrentIndex(m_currentModel->index(ca.tableIndex, 1)); } } // Update taskbar progress #ifdef WINDOWS if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS7) { if (m_taskBarProgress) m_taskBarProgress->setValue(m_fileProcessedCommandIndex); } #endif // Process error messages static bool holding = false; static QString errors; if (ca.tableIndex > -1 && response.toUpper().contains("ERROR") && !m_settings->ignoreErrors()) { errors.append(QString::number(ca.tableIndex + 1) + ": " + ca.command + " < " + response + "\n"); m_senderErrorBox->setText(tr("Error message(s) received:\n") + errors); if (!holding) { holding = true; // Hold transmit while messagebox is visible response.clear(); m_serialPort.write("!"); m_senderErrorBox->checkBox()->setChecked(false); qApp->beep(); int result = m_senderErrorBox->exec(); holding = false; errors.clear(); if (m_senderErrorBox->checkBox()->isChecked()) m_settings->setIgnoreErrors(true); if (result == QMessageBox::Ignore) m_serialPort.write("~"); else on_cmdFileAbort_clicked(); } } // Check transfer complete (last row always blank, last command row = rowcount - 2) if (m_fileProcessedCommandIndex == m_currentModel->rowCount() - 2 || ca.command.contains(QRegExp("M0*2|M30"))) m_transferCompleted = true; // Send next program commands else if (!m_fileEndSent && (m_fileCommandIndex < m_currentModel->rowCount()) && !holding) sendNextFileCommands(); } // Scroll to first line on "M30" command if (ca.command.contains("M30")) ui->tblProgram->setCurrentIndex(m_currentModel->index(0, 1)); // Toolpath shadowing on check mode if (m_statusCaptions.indexOf(ui->txtStatus->text()) == CHECK) { GcodeViewParse *parser = m_currentDrawer->viewParser(); QList list = parser->getLineSegmentList(); if (!m_transferCompleted && m_fileProcessedCommandIndex < m_currentModel->rowCount() - 1) { int i; QList drawnLines; for (i = m_lastDrawnLineIndex; i < list.count() && list.at(i)->getLineNumber() <= (m_currentModel->data(m_currentModel->index(m_fileProcessedCommandIndex, 4)).toInt()); i++) { drawnLines << i; } if (!drawnLines.isEmpty() && (i < list.count())) { m_lastDrawnLineIndex = i; QVector3D vec = list.at(i)->getEnd(); m_toolDrawer.setToolPosition(vec); } foreach (int i, drawnLines) { list.at(i)->setDrawn(true); } if (!drawnLines.isEmpty()) m_currentDrawer->update(drawnLines); } else { foreach (LineSegment* s, list) { if (!qIsNaN(s->getEnd().length())) { m_toolDrawer.setToolPosition(s->getEnd()); break; } } } } response.clear(); } else { response.append(data + "; "); } } else { // Unprocessed responses qDebug() << "floating response:" << data; // Handle hardware reset if (dataIsReset(data)) { qDebug() << "hardware reset"; m_processingFile = false; m_transferCompleted = true; m_fileCommandIndex = 0; m_reseting = false; m_homing = false; m_lastGrblStatus = -1; m_updateParserStatus = true; m_statusReceived = true; m_commands.clear(); m_queue.clear(); updateControlsState(); } ui->txtConsole->appendPlainText(data); } } else { // Blank response // ui->txtConsole->appendPlainText(data); } } } void frmMain::onSerialPortError(QSerialPort::SerialPortError error) { static QSerialPort::SerialPortError previousError; if (error != QSerialPort::NoError && error != previousError) { previousError = error; ui->txtConsole->appendPlainText(tr("Serial port error ") + QString::number(error) + ": " + m_serialPort.errorString()); if (m_serialPort.isOpen()) { m_serialPort.close(); updateControlsState(); } } } void frmMain::onTimerConnection() { if (!m_serialPort.isOpen()) { openPort(); } else if (!m_homing/* && !m_reseting*/ && !ui->cmdFilePause->isChecked() && m_queue.length() == 0) { if (m_updateSpindleSpeed) { m_updateSpindleSpeed = false; sendCommand(QString("S%1").arg(ui->slbSpindle->value()), -2, m_settings->showUICommands()); } if (m_updateParserStatus) { m_updateParserStatus = false; sendCommand("$G", -3, false); } } } void frmMain::onTimerStateQuery() { if (m_serialPort.isOpen() && m_resetCompleted && m_statusReceived) { m_serialPort.write(QByteArray(1, '?')); m_statusReceived = false; } ui->glwVisualizer->setBufferState(QString(tr("Buffer: %1 / %2 / %3")).arg(bufferLength()).arg(m_commands.length()).arg(m_queue.length())); } void frmMain::onVisualizatorRotationChanged() { ui->cmdIsometric->setChecked(false); } void frmMain::onScroolBarAction(int action) { Q_UNUSED(action) if (m_processingFile) ui->chkAutoScroll->setChecked(false); } void frmMain::onJogTimer() { m_jogBlock = false; } void frmMain::placeVisualizerButtons() { ui->cmdIsometric->move(ui->glwVisualizer->width() - ui->cmdIsometric->width() - 8, 8); ui->cmdTop->move(ui->cmdIsometric->geometry().left() - ui->cmdTop->width() - 8, 8); ui->cmdLeft->move(ui->glwVisualizer->width() - ui->cmdLeft->width() - 8, ui->cmdIsometric->geometry().bottom() + 8); ui->cmdFront->move(ui->cmdLeft->geometry().left() - ui->cmdFront->width() - 8, ui->cmdIsometric->geometry().bottom() + 8); // ui->cmdFit->move(ui->cmdTop->geometry().left() - ui->cmdFit->width() - 10, 10); ui->cmdFit->move(ui->glwVisualizer->width() - ui->cmdFit->width() - 8, ui->cmdLeft->geometry().bottom() + 8); } void frmMain::showEvent(QShowEvent *se) { Q_UNUSED(se) placeVisualizerButtons(); #ifdef WINDOWS if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS7) { if (m_taskBarButton == NULL) { m_taskBarButton = new QWinTaskbarButton(this); m_taskBarButton->setWindow(this->windowHandle()); m_taskBarProgress = m_taskBarButton->progress(); } } #endif ui->glwVisualizer->setUpdatesEnabled(true); resizeCheckBoxes(); } void frmMain::hideEvent(QHideEvent *he) { Q_UNUSED(he) ui->glwVisualizer->setUpdatesEnabled(false); } void frmMain::resizeEvent(QResizeEvent *re) { Q_UNUSED(re) placeVisualizerButtons(); resizeCheckBoxes(); resizeTableHeightMapSections(); } void frmMain::resizeTableHeightMapSections() { if (ui->tblHeightMap->horizontalHeader()->defaultSectionSize() * ui->tblHeightMap->horizontalHeader()->count() < ui->glwVisualizer->width()) ui->tblHeightMap->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); else { ui->tblHeightMap->horizontalHeader()->setSectionResizeMode(QHeaderView::Interactive); } } void frmMain::resizeCheckBoxes() { static int widthCheckMode = ui->chkTestMode->sizeHint().width(); static int widthAutoScroll = ui->chkAutoScroll->sizeHint().width(); // Transform checkboxes this->setUpdatesEnabled(false); updateLayouts(); if (ui->chkTestMode->sizeHint().width() > ui->chkTestMode->width()) { widthCheckMode = ui->chkTestMode->sizeHint().width(); ui->chkTestMode->setText(tr("Check")); ui->chkTestMode->setMinimumWidth(ui->chkTestMode->sizeHint().width()); updateLayouts(); } if (ui->chkAutoScroll->sizeHint().width() > ui->chkAutoScroll->width() && ui->chkTestMode->text() == tr("Check")) { widthAutoScroll = ui->chkAutoScroll->sizeHint().width(); ui->chkAutoScroll->setText(tr("Scroll")); ui->chkAutoScroll->setMinimumWidth(ui->chkAutoScroll->sizeHint().width()); updateLayouts(); } if (ui->spacerBot->geometry().width() + ui->chkAutoScroll->sizeHint().width() - ui->spacerBot->sizeHint().width() > widthAutoScroll && ui->chkAutoScroll->text() == tr("Scroll")) { ui->chkAutoScroll->setText(tr("Autoscroll")); updateLayouts(); } if (ui->spacerBot->geometry().width() + ui->chkTestMode->sizeHint().width() - ui->spacerBot->sizeHint().width() > widthCheckMode && ui->chkTestMode->text() == tr("Check")) { ui->chkTestMode->setText(tr("Check mode")); updateLayouts(); } this->setUpdatesEnabled(true); this->repaint(); } void frmMain::timerEvent(QTimerEvent *te) { if (te->timerId() == m_timerToolAnimation.timerId()) { m_toolDrawer.rotate((m_spindleCW ? -40 : 40) * (double)(ui->slbSpindle->currentValue()) / (ui->slbSpindle->maximum())); } else { QMainWindow::timerEvent(te); } } void frmMain::closeEvent(QCloseEvent *ce) { bool mode = m_heightMapMode; m_heightMapMode = false; if (!saveChanges(m_heightMapMode)) { ce->ignore(); m_heightMapMode = mode; return; } if (m_processingFile && QMessageBox::warning(this, this->windowTitle(), tr("File sending in progress. Terminate and exit?"), QMessageBox::Yes | QMessageBox::No) == QMessageBox::No) { ce->ignore(); m_heightMapMode = mode; return; } if (m_serialPort.isOpen()) m_serialPort.close(); if (m_queue.length() > 0) { m_commands.clear(); m_queue.clear(); } } void frmMain::dragEnterEvent(QDragEnterEvent *dee) { if (m_processingFile) return; if (dee->mimeData()->hasFormat("text/plain") && !m_heightMapMode) dee->acceptProposedAction(); else if (dee->mimeData()->hasFormat("text/uri-list") && dee->mimeData()->urls().count() == 1) { QString fileName = dee->mimeData()->urls().at(0).toLocalFile(); if ((!m_heightMapMode && isGCodeFile(fileName)) || (m_heightMapMode && isHeightmapFile(fileName))) dee->acceptProposedAction(); } } void frmMain::dropEvent(QDropEvent *de) { QString fileName = de->mimeData()->urls().at(0).toLocalFile(); if (!m_heightMapMode) { if (!saveChanges(false)) return; // Load dropped g-code file if (!fileName.isEmpty()) { addRecentFile(fileName); updateRecentFilesMenu(); loadFile(fileName); // Load dropped text } else { m_programFileName.clear(); m_fileChanged = true; loadFile(de->mimeData()->text().split("\n")); } } else { if (!saveChanges(true)) return; // Load dropped heightmap file addRecentHeightmap(fileName); updateRecentFilesMenu(); loadHeightMap(fileName); } } void frmMain::on_actFileExit_triggered() { close(); } void frmMain::on_cmdFileOpen_clicked() { if (!m_heightMapMode) { if (!saveChanges(false)) return; QString fileName = QFileDialog::getOpenFileName(this, tr("Open"), m_lastFolder, tr("G-Code files (*.nc *.ncc *.ngc *.tap *.txt);;All files (*.*)")); if (!fileName.isEmpty()) m_lastFolder = fileName.left(fileName.lastIndexOf(QRegExp("[/\\\\]+"))); if (fileName != "") { addRecentFile(fileName); updateRecentFilesMenu(); loadFile(fileName); } } else { if (!saveChanges(true)) return; QString fileName = QFileDialog::getOpenFileName(this, tr("Open"), m_lastFolder, tr("Heightmap files (*.map)")); if (fileName != "") { addRecentHeightmap(fileName); updateRecentFilesMenu(); loadHeightMap(fileName); } } } void frmMain::resetHeightmap() { delete m_heightMapInterpolationDrawer.data(); m_heightMapInterpolationDrawer.setData(NULL); // updateHeightMapInterpolationDrawer(); ui->tblHeightMap->setModel(NULL); m_heightMapModel.resize(1, 1); ui->txtHeightMap->clear(); m_heightMapFileName.clear(); m_heightMapChanged = false; } void frmMain::loadFile(QList data) { QTime time; time.start(); // Reset tables clearTable(); m_probeModel.clear(); m_programHeightmapModel.clear(); m_currentModel = &m_programModel; // Reset parsers m_viewParser.reset(); m_probeParser.reset(); // Reset code drawer m_currentDrawer = m_codeDrawer; m_codeDrawer->update(); ui->glwVisualizer->fitDrawable(m_codeDrawer); updateProgramEstimatedTime(QList()); // Update interface ui->chkHeightMapUse->setChecked(false); ui->grpHeightMap->setProperty("overrided", false); style()->unpolish(ui->grpHeightMap); ui->grpHeightMap->ensurePolished(); // Reset tableview QByteArray headerState = ui->tblProgram->horizontalHeader()->saveState(); ui->tblProgram->setModel(NULL); // Prepare parser GcodeParser gp; gp.setTraverseSpeed(m_settings->rapidSpeed()); if (m_codeDrawer->getIgnoreZ()) gp.reset(QVector3D(qQNaN(), qQNaN(), 0)); qDebug() << "Prepared to load:" << time.elapsed(); time.start(); // Block parser updates on table changes m_programLoading = true; QString command; QString stripped; QString trimmed; QList args; GCodeItem item; // Prepare model m_programModel.data().clear(); m_programModel.data().reserve(data.count()); QProgressDialog progress(tr("Opening file..."), tr("Abort"), 0, data.count(), this); progress.setWindowModality(Qt::WindowModal); progress.setFixedSize(progress.sizeHint()); if (data.count() > PROGRESSMINLINES) { progress.show(); progress.setStyleSheet("QProgressBar {text-align: center; qproperty-format: \"\"}"); } while (!data.isEmpty()) { command = data.takeFirst(); // Trim command trimmed = command.trimmed(); if (!trimmed.isEmpty()) { // Split command stripped = GcodePreprocessorUtils::removeComment(command); args = GcodePreprocessorUtils::splitCommand(stripped); // PointSegment *ps = gp.addCommand(args); gp.addCommand(args); // if (ps && (qIsNaN(ps->point()->x()) || qIsNaN(ps->point()->y()) || qIsNaN(ps->point()->z()))) // qDebug() << "nan point segment added:" << *ps->point(); item.command = trimmed; item.state = GCodeItem::InQueue; item.line = gp.getCommandNumber(); item.args = args; m_programModel.data().append(item); } if (progress.isVisible() && (data.count() % PROGRESSSTEP == 0)) { progress.setValue(progress.maximum() - data.count()); qApp->processEvents(); if (progress.wasCanceled()) break; } } progress.close(); m_programModel.insertRow(m_programModel.rowCount()); qDebug() << "model filled:" << time.elapsed(); time.start(); updateProgramEstimatedTime(m_viewParser.getLinesFromParser(&gp, m_settings->arcPrecision(), m_settings->arcDegreeMode())); qDebug() << "view parser filled:" << time.elapsed(); m_programLoading = false; // Set table model ui->tblProgram->setModel(&m_programModel); ui->tblProgram->horizontalHeader()->restoreState(headerState); // Update tableview connect(ui->tblProgram->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(onTableCurrentChanged(QModelIndex,QModelIndex))); ui->tblProgram->selectRow(0); // Update code drawer m_codeDrawer->update(); ui->glwVisualizer->fitDrawable(m_codeDrawer); resetHeightmap(); updateControlsState(); } void frmMain::loadFile(QString fileName) { QFile file(fileName); if (!file.open(QIODevice::ReadOnly)) { QMessageBox::critical(this, this->windowTitle(), tr("Can't open file:\n") + fileName); return; } // Set filename m_programFileName = fileName; // Prepare text stream QTextStream textStream(&file); // Read lines QList data; while (!textStream.atEnd()) data.append(textStream.readLine()); // Load lines loadFile(data); } QTime frmMain::updateProgramEstimatedTime(QList lines) { double time = 0; for (int i = 0; i < lines.count(); i++) { LineSegment *ls = lines[i]; // foreach (LineSegment *ls, lines) { double length = (ls->getEnd() - ls->getStart()).length(); if (!qIsNaN(length) && !qIsNaN(ls->getSpeed()) && ls->getSpeed() != 0) time += length / ((ui->slbFeedOverride->isChecked() && !ls->isFastTraverse()) ? (ls->getSpeed() * ui->slbFeedOverride->value() / 100) : (ui->slbRapidOverride->isChecked() && ls->isFastTraverse()) ? (ls->getSpeed() * ui->slbRapidOverride->value() / 100) : ls->getSpeed()); // TODO: Update for rapid override // qDebug() << "length/time:" << length << ((ui->chkFeedOverride->isChecked() && !ls->isFastTraverse()) // ? (ls->getSpeed() * ui->txtFeed->value() / 100) : ls->getSpeed()) // << time; // if (qIsNaN(length)) qDebug() << "length nan:" << i << ls->getLineNumber() << ls->getStart() << ls->getEnd(); // if (qIsNaN(ls->getSpeed())) qDebug() << "speed nan:" << ls->getSpeed(); } time *= 60; QTime t; t.setHMS(0, 0, 0); t = t.addSecs(time); ui->glwVisualizer->setSpendTime(QTime(0, 0, 0)); ui->glwVisualizer->setEstimatedTime(t); return t; } void frmMain::clearTable() { m_programModel.clear(); m_programModel.insertRow(0); } void frmMain::on_cmdFit_clicked() { ui->glwVisualizer->fitDrawable(m_currentDrawer); } void frmMain::on_cmdFileSend_clicked() { if (m_currentModel->rowCount() == 1) return; on_cmdFileReset_clicked(); m_startTime.start(); m_transferCompleted = false; m_processingFile = true; m_fileEndSent = false; m_storedKeyboardControl = ui->chkKeyboardControl->isChecked(); ui->chkKeyboardControl->setChecked(false); if (!ui->chkTestMode->isChecked()) storeOffsets(); // Allready stored on check storeParserState(); #ifdef WINDOWS if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS7) { if (m_taskBarProgress) { m_taskBarProgress->setMaximum(m_currentModel->rowCount() - 2); m_taskBarProgress->setValue(0); m_taskBarProgress->show(); } } #endif updateControlsState(); ui->cmdFilePause->setFocus(); sendNextFileCommands(); } void frmMain::onActSendFromLineTriggered() { if (m_currentModel->rowCount() == 1) return; //Line to start from int commandIndex = ui->tblProgram->currentIndex().row(); // Set parser state if (m_settings->autoLine()) { GcodeViewParse *parser = m_currentDrawer->viewParser(); QList list = parser->getLineSegmentList(); QVector> lineIndexes = parser->getLinesIndexes(); int lineNumber = m_currentModel->data(m_currentModel->index(commandIndex, 4)).toInt(); LineSegment* firstSegment = list.at(lineIndexes.at(lineNumber).first()); LineSegment* lastSegment = list.at(lineIndexes.at(lineNumber).last()); LineSegment* feedSegment = lastSegment; int segmentIndex = list.indexOf(feedSegment); while (feedSegment->isFastTraverse() && segmentIndex > 0) feedSegment = list.at(--segmentIndex); QStringList commands; commands.append(QString("M3 S%1").arg(qMax(lastSegment->getSpindleSpeed(), ui->slbSpindle->value()))); commands.append(QString("G21 G90 G0 X%1 Y%2") .arg(firstSegment->getStart().x()) .arg(firstSegment->getStart().y())); commands.append(QString("G1 Z%1 F%2") .arg(firstSegment->getStart().z()) .arg(feedSegment->getSpeed())); commands.append(QString("%1 %2 %3 F%4") .arg(lastSegment->isMetric() ? "G21" : "G20") .arg(lastSegment->isAbsolute() ? "G90" : "G91") .arg(lastSegment->isFastTraverse() ? "G0" : "G1") .arg(lastSegment->isMetric() ? feedSegment->getSpeed() : feedSegment->getSpeed() / 25.4)); if (lastSegment->isArc()) { commands.append(lastSegment->plane() == PointSegment::XY ? "G17" : lastSegment->plane() == PointSegment::ZX ? "G18" : "G19"); } QMessageBox box(this); box.setIcon(QMessageBox::Information); box.setText(tr("Following commands will be sent before selected line:\n") + commands.join('\n')); box.setWindowTitle(qApp->applicationDisplayName()); box.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel); box.addButton(tr("Skip"), QMessageBox::DestructiveRole); int res = box.exec(); if (res == QMessageBox::Cancel) return; else if (res == QMessageBox::Ok) { foreach (QString command, commands) { sendCommand(command, -1, m_settings->showUICommands()); } } } m_fileCommandIndex = commandIndex; m_fileProcessedCommandIndex = commandIndex; m_lastDrawnLineIndex = 0; m_probeIndex = -1; QList list = m_viewParser.getLineSegmentList(); QList indexes; for (int i = 0; i < list.count(); i++) { list[i]->setDrawn(list.at(i)->getLineNumber() < m_currentModel->data().at(commandIndex).line); indexes.append(i); } m_codeDrawer->update(indexes); ui->tblProgram->setUpdatesEnabled(false); for (int i = 0; i < m_currentModel->data().count() - 1; i++) { m_currentModel->data()[i].state = i < commandIndex ? GCodeItem::Skipped : GCodeItem::InQueue; m_currentModel->data()[i].response = QString(); } ui->tblProgram->setUpdatesEnabled(true); ui->glwVisualizer->setSpendTime(QTime(0, 0, 0)); m_startTime.start(); m_transferCompleted = false; m_processingFile = true; m_fileEndSent = false; m_storedKeyboardControl = ui->chkKeyboardControl->isChecked(); ui->chkKeyboardControl->setChecked(false); if (!ui->chkTestMode->isChecked()) storeOffsets(); // Allready stored on check storeParserState(); #ifdef WINDOWS if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS7) { if (m_taskBarProgress) { m_taskBarProgress->setMaximum(m_currentModel->rowCount() - 2); m_taskBarProgress->setValue(commandIndex); m_taskBarProgress->show(); } } #endif updateControlsState(); ui->cmdFilePause->setFocus(); m_fileCommandIndex = commandIndex; m_fileProcessedCommandIndex = commandIndex; sendNextFileCommands(); } void frmMain::on_cmdFileAbort_clicked() { m_aborting = true; if (!ui->chkTestMode->isChecked()) { m_serialPort.write("!"); } else { grblReset(); } } void frmMain::storeParserState() { m_storedParserStatus = ui->glwVisualizer->parserStatus().remove( QRegExp("GC:|\\[|\\]|G[01234]\\s|M[0345]+\\s|\\sF[\\d\\.]+|\\sS[\\d\\.]+")); } void frmMain::restoreParserState() { if (!m_storedParserStatus.isEmpty()) sendCommand(m_storedParserStatus, -1, m_settings->showUICommands()); } void frmMain::storeOffsets() { // sendCommand("$#", -2, m_settings->showUICommands()); } void frmMain::restoreOffsets() { // Still have pre-reset working position sendCommand(QString("G21G53G90X%1Y%2Z%3").arg(toMetric(ui->txtMPosX->text().toDouble())) .arg(toMetric(ui->txtMPosY->text().toDouble())) .arg(toMetric(ui->txtMPosZ->text().toDouble())), -1, m_settings->showUICommands()); sendCommand(QString("G21G92X%1Y%2Z%3").arg(toMetric(ui->txtWPosX->text().toDouble())) .arg(toMetric(ui->txtWPosY->text().toDouble())) .arg(toMetric(ui->txtWPosZ->text().toDouble())), -1, m_settings->showUICommands()); } void frmMain::sendNextFileCommands() { if (m_queue.length() > 0) return; QString command = feedOverride(m_currentModel->data(m_currentModel->index(m_fileCommandIndex, 1)).toString()); while ((bufferLength() + command.length() + 1) <= BUFFERLENGTH && m_fileCommandIndex < m_currentModel->rowCount() - 1 && !(!m_commands.isEmpty() && m_commands.last().command.contains(QRegExp("M0*2|M30")))) { m_currentModel->setData(m_currentModel->index(m_fileCommandIndex, 2), GCodeItem::Sent); sendCommand(command, m_fileCommandIndex, m_settings->showProgramCommands()); m_fileCommandIndex++; command = feedOverride(m_currentModel->data(m_currentModel->index(m_fileCommandIndex, 1)).toString()); } } void frmMain::onTableCellChanged(QModelIndex i1, QModelIndex i2) { Q_UNUSED(i2) GCodeTableModel *model = (GCodeTableModel*)sender(); if (i1.column() != 1) return; // Inserting new line at end if (i1.row() == (model->rowCount() - 1) && model->data(model->index(i1.row(), 1)).toString() != "") { model->setData(model->index(model->rowCount() - 1, 2), GCodeItem::InQueue); model->insertRow(model->rowCount()); if (!m_programLoading) ui->tblProgram->setCurrentIndex(model->index(i1.row() + 1, 1)); // Remove last line } /*else if (i1.row() != (model->rowCount() - 1) && model->data(model->index(i1.row(), 1)).toString() == "") { ui->tblProgram->setCurrentIndex(model->index(i1.row() + 1, 1)); m_tableModel.removeRow(i1.row()); }*/ if (!m_programLoading) { // Clear cached args model->setData(model->index(i1.row(), 5), QVariant()); // Drop heightmap cache if (m_currentModel == &m_programModel) m_programHeightmapModel.clear(); // Update visualizer updateParser(); // Hightlight w/o current cell changed event (double hightlight on current cell changed) QList list = m_viewParser.getLineSegmentList(); for (int i = 0; i < list.count() && list[i]->getLineNumber() <= m_currentModel->data(m_currentModel->index(i1.row(), 4)).toInt(); i++) { list[i]->setIsHightlight(true); } } } void frmMain::onTableCurrentChanged(QModelIndex idx1, QModelIndex idx2) { // Update toolpath hightlighting if (idx1.row() > m_currentModel->rowCount() - 2) idx1 = m_currentModel->index(m_currentModel->rowCount() - 2, 0); if (idx2.row() > m_currentModel->rowCount() - 2) idx2 = m_currentModel->index(m_currentModel->rowCount() - 2, 0); GcodeViewParse *parser = m_currentDrawer->viewParser(); QList list = parser->getLineSegmentList(); QVector> lineIndexes = parser->getLinesIndexes(); // Update linesegments on cell changed if (!m_currentDrawer->geometryUpdated()) { for (int i = 0; i < list.count(); i++) { list.at(i)->setIsHightlight(list.at(i)->getLineNumber() <= m_currentModel->data(m_currentModel->index(idx1.row(), 4)).toInt()); } // Update vertices on current cell changed } else { int lineFirst = m_currentModel->data(m_currentModel->index(idx1.row(), 4)).toInt(); int lineLast = m_currentModel->data(m_currentModel->index(idx2.row(), 4)).toInt(); if (lineLast < lineFirst) qSwap(lineLast, lineFirst); // qDebug() << "table current changed" << idx1.row() << idx2.row() << lineFirst << lineLast; QList indexes; for (int i = lineFirst + 1; i <= lineLast; i++) { foreach (int l, lineIndexes.at(i)) { list.at(l)->setIsHightlight(idx1.row() > idx2.row()); indexes.append(l); } } m_selectionDrawer.setEndPosition(indexes.isEmpty() ? QVector3D(sNan, sNan, sNan) : (m_codeDrawer->getIgnoreZ() ? QVector3D(list.at(indexes.last())->getEnd().x(), list.at(indexes.last())->getEnd().y(), 0) : list.at(indexes.last())->getEnd())); m_selectionDrawer.update(); if (!indexes.isEmpty()) m_currentDrawer->update(indexes); } // Update selection marker int line = m_currentModel->data(m_currentModel->index(idx1.row(), 4)).toInt(); if (line > 0 && !lineIndexes.at(line).isEmpty()) { QVector3D pos = list.at(lineIndexes.at(line).last())->getEnd(); m_selectionDrawer.setEndPosition(m_codeDrawer->getIgnoreZ() ? QVector3D(pos.x(), pos.y(), 0) : pos); } else { m_selectionDrawer.setEndPosition(QVector3D(sNan, sNan, sNan)); } m_selectionDrawer.update(); } void frmMain::onTableInsertLine() { if (ui->tblProgram->selectionModel()->selectedRows().count() == 0 || m_processingFile) return; int row = ui->tblProgram->selectionModel()->selectedRows()[0].row(); m_currentModel->insertRow(row); m_currentModel->setData(m_currentModel->index(row, 2), GCodeItem::InQueue); updateParser(); m_cellChanged = true; ui->tblProgram->selectRow(row); } void frmMain::onTableDeleteLines() { if (ui->tblProgram->selectionModel()->selectedRows().count() == 0 || m_processingFile || QMessageBox::warning(this, this->windowTitle(), tr("Delete lines?"), QMessageBox::Yes | QMessageBox::No) == QMessageBox::No) return; QModelIndex firstRow = ui->tblProgram->selectionModel()->selectedRows()[0]; int rowsCount = ui->tblProgram->selectionModel()->selectedRows().count(); if (ui->tblProgram->selectionModel()->selectedRows().last().row() == m_currentModel->rowCount() - 1) rowsCount--; qDebug() << "deleting lines" << firstRow.row() << rowsCount; if (firstRow.row() != m_currentModel->rowCount() - 1) { m_currentModel->removeRows(firstRow.row(), rowsCount); } else return; // Drop heightmap cache if (m_currentModel == &m_programModel) m_programHeightmapModel.clear(); updateParser(); m_cellChanged = true; ui->tblProgram->selectRow(firstRow.row()); } void frmMain::on_actServiceSettings_triggered() { if (m_settings->exec()) { qDebug() << "Applying settings"; qDebug() << "Port:" << m_settings->port() << "Baud:" << m_settings->baud(); if (m_settings->port() != "" && (m_settings->port() != m_serialPort.portName() || m_settings->baud() != m_serialPort.baudRate())) { if (m_serialPort.isOpen()) m_serialPort.close(); m_serialPort.setPortName(m_settings->port()); m_serialPort.setBaudRate(m_settings->baud()); openPort(); } updateControlsState(); applySettings(); } else { m_settings->undo(); } } bool buttonLessThan(StyledToolButton *b1, StyledToolButton *b2) { // return b1->text().toDouble() < b2->text().toDouble(); return b1->objectName().right(1).toDouble() < b2->objectName().right(1).toDouble(); } void frmMain::applySettings() { m_originDrawer->setLineWidth(m_settings->lineWidth()); m_toolDrawer.setToolDiameter(m_settings->toolDiameter()); m_toolDrawer.setToolLength(m_settings->toolLength()); m_toolDrawer.setLineWidth(m_settings->lineWidth()); m_codeDrawer->setLineWidth(m_settings->lineWidth()); m_heightMapBorderDrawer.setLineWidth(m_settings->lineWidth()); m_heightMapGridDrawer.setLineWidth(0.1); m_heightMapInterpolationDrawer.setLineWidth(m_settings->lineWidth()); ui->glwVisualizer->setLineWidth(m_settings->lineWidth()); m_timerStateQuery.setInterval(m_settings->queryStateTime()); m_toolDrawer.setToolAngle(m_settings->toolType() == 0 ? 180 : m_settings->toolAngle()); m_toolDrawer.setColor(m_settings->colors("Tool")); m_toolDrawer.update(); ui->glwVisualizer->setAntialiasing(m_settings->antialiasing()); ui->glwVisualizer->setMsaa(m_settings->msaa()); ui->glwVisualizer->setZBuffer(m_settings->zBuffer()); ui->glwVisualizer->setVsync(m_settings->vsync()); ui->glwVisualizer->setFps(m_settings->fps()); ui->glwVisualizer->setColorBackground(m_settings->colors("VisualizerBackground")); ui->glwVisualizer->setColorText(m_settings->colors("VisualizerText")); ui->slbSpindle->setMinimum(m_settings->spindleSpeedMin()); ui->slbSpindle->setMaximum(m_settings->spindleSpeedMax()); ui->scrollArea->setVisible(m_settings->panelHeightmap() || m_settings->panelOverriding() || m_settings->panelJog() || m_settings->panelSpindle()); ui->grpUserCommands->setVisible(m_settings->panelUserCommands()); ui->grpHeightMap->setVisible(m_settings->panelHeightmap()); ui->grpSpindle->setVisible(m_settings->panelSpindle()); ui->grpOverriding->setVisible(m_settings->panelOverriding()); ui->grpJog->setVisible(m_settings->panelJog()); ui->cboCommand->setAutoCompletion(m_settings->autoCompletion()); m_codeDrawer->setSimplify(m_settings->simplify()); m_codeDrawer->setSimplifyPrecision(m_settings->simplifyPrecision()); m_codeDrawer->setColorNormal(m_settings->colors("ToolpathNormal")); m_codeDrawer->setColorDrawn(m_settings->colors("ToolpathDrawn")); m_codeDrawer->setColorHighlight(m_settings->colors("ToolpathHighlight")); m_codeDrawer->setColorZMovement(m_settings->colors("ToolpathZMovement")); m_codeDrawer->setColorStart(m_settings->colors("ToolpathStart")); m_codeDrawer->setColorEnd(m_settings->colors("ToolpathEnd")); m_codeDrawer->setIgnoreZ(m_settings->grayscaleSegments() || !m_settings->drawModeVectors()); m_codeDrawer->setGrayscaleSegments(m_settings->grayscaleSegments()); m_codeDrawer->setGrayscaleCode(m_settings->grayscaleSCode() ? GcodeDrawer::S : GcodeDrawer::Z); m_codeDrawer->setDrawMode(m_settings->drawModeVectors() ? GcodeDrawer::Vectors : GcodeDrawer::Raster); m_codeDrawer->setGrayscaleMin(m_settings->laserPowerMin()); m_codeDrawer->setGrayscaleMax(m_settings->laserPowerMax()); m_codeDrawer->update(); m_selectionDrawer.setColor(m_settings->colors("ToolpathHighlight")); // Adapt visualizer buttons colors const int LIGHTBOUND = 127; const int NORMALSHIFT = 40; const int HIGHLIGHTSHIFT = 80; QColor base = m_settings->colors("VisualizerBackground"); bool light = base.value() > LIGHTBOUND; QColor normal, highlight; normal.setHsv(base.hue(), base.saturation(), base.value() + (light ? -NORMALSHIFT : NORMALSHIFT)); highlight.setHsv(base.hue(), base.saturation(), base.value() + (light ? -HIGHLIGHTSHIFT : HIGHLIGHTSHIFT)); ui->glwVisualizer->setStyleSheet(QString("QToolButton {border: 1px solid %1; \ background-color: %3} QToolButton:hover {border: 1px solid %2;}") .arg(normal.name()).arg(highlight.name()) .arg(base.name())); ui->cmdFit->setIcon(QIcon(":/images/fit_1.png")); ui->cmdIsometric->setIcon(QIcon(":/images/cube.png")); ui->cmdFront->setIcon(QIcon(":/images/cubeFront.png")); ui->cmdLeft->setIcon(QIcon(":/images/cubeLeft.png")); ui->cmdTop->setIcon(QIcon(":/images/cubeTop.png")); if (!light) { Util::invertButtonIconColors(ui->cmdFit); Util::invertButtonIconColors(ui->cmdIsometric); Util::invertButtonIconColors(ui->cmdFront); Util::invertButtonIconColors(ui->cmdLeft); Util::invertButtonIconColors(ui->cmdTop); } ui->cboCommand->setMinimumHeight(ui->cboCommand->height()); ui->cmdClearConsole->setFixedHeight(ui->cboCommand->height()); ui->cmdCommandSend->setFixedHeight(ui->cboCommand->height()); foreach (StyledToolButton* button, this->findChildren(QRegExp("cmdUser\\d"))) { button->setToolTip(m_settings->userCommands(button->objectName().right(1).toInt())); button->setEnabled(!button->toolTip().isEmpty()); } } void frmMain::updateParser() { QTime time; qDebug() << "updating parser:" << m_currentModel << m_currentDrawer; time.start(); GcodeViewParse *parser = m_currentDrawer->viewParser(); GcodeParser gp; gp.setTraverseSpeed(m_settings->rapidSpeed()); if (m_codeDrawer->getIgnoreZ()) gp.reset(QVector3D(qQNaN(), qQNaN(), 0)); ui->tblProgram->setUpdatesEnabled(false); QString stripped; QList args; QProgressDialog progress(tr("Updating..."), tr("Abort"), 0, m_currentModel->rowCount() - 2, this); progress.setWindowModality(Qt::WindowModal); progress.setFixedSize(progress.sizeHint()); if (m_currentModel->rowCount() > PROGRESSMINLINES) { progress.show(); progress.setStyleSheet("QProgressBar {text-align: center; qproperty-format: \"\"}"); } for (int i = 0; i < m_currentModel->rowCount() - 1; i++) { // Get stored args args = m_currentModel->data().at(i).args; // Store args if none if (args.isEmpty()) { stripped = GcodePreprocessorUtils::removeComment(m_currentModel->data().at(i).command); args = GcodePreprocessorUtils::splitCommand(stripped); m_currentModel->data()[i].args = args; } // Add command to parser gp.addCommand(args); // Update table model m_currentModel->data()[i].state = GCodeItem::InQueue; m_currentModel->data()[i].response = QString(); m_currentModel->data()[i].line = gp.getCommandNumber(); if (progress.isVisible() && (i % PROGRESSSTEP == 0)) { progress.setValue(i); qApp->processEvents(); if (progress.wasCanceled()) break; } } progress.close(); ui->tblProgram->setUpdatesEnabled(true); parser->reset(); updateProgramEstimatedTime(parser->getLinesFromParser(&gp, m_settings->arcPrecision(), m_settings->arcDegreeMode())); m_currentDrawer->update(); ui->glwVisualizer->updateExtremes(m_currentDrawer); updateControlsState(); if (m_currentModel == &m_programModel) m_fileChanged = true; qDebug() << "Update parser time: " << time.elapsed(); } void frmMain::on_cmdCommandSend_clicked() { QString command = ui->cboCommand->currentText(); if (command.isEmpty()) return; ui->cboCommand->storeText(); ui->cboCommand->setCurrentText(""); sendCommand(command, -1); } void frmMain::on_actFileOpen_triggered() { on_cmdFileOpen_clicked(); } void frmMain::on_cmdHome_clicked() { m_homing = true; m_updateSpindleSpeed = true; sendCommand("$H", -1, m_settings->showUICommands()); } void frmMain::on_cmdTouch_clicked() { // m_homing = true; QStringList list = m_settings->touchCommand().split(";"); foreach (QString cmd, list) { sendCommand(cmd.trimmed(), -1, m_settings->showUICommands()); } } void frmMain::on_cmdZeroXY_clicked() { m_settingZeroXY = true; sendCommand("G92X0Y0", -1, m_settings->showUICommands()); sendCommand("$#", -2, m_settings->showUICommands()); } void frmMain::on_cmdZeroZ_clicked() { m_settingZeroZ = true; sendCommand("G92Z0", -1, m_settings->showUICommands()); sendCommand("$#", -2, m_settings->showUICommands()); } void frmMain::on_cmdRestoreOrigin_clicked() { // Restore offset sendCommand(QString("G21"), -1, m_settings->showUICommands()); sendCommand(QString("G53G90G0X%1Y%2Z%3").arg(toMetric(ui->txtMPosX->text().toDouble())) .arg(toMetric(ui->txtMPosY->text().toDouble())) .arg(toMetric(ui->txtMPosZ->text().toDouble())), -1, m_settings->showUICommands()); sendCommand(QString("G92X%1Y%2Z%3").arg(toMetric(ui->txtMPosX->text().toDouble()) - m_storedX) .arg(toMetric(ui->txtMPosY->text().toDouble()) - m_storedY) .arg(toMetric(ui->txtMPosZ->text().toDouble()) - m_storedZ), -1, m_settings->showUICommands()); // Move tool if (m_settings->moveOnRestore()) switch (m_settings->restoreMode()) { case 0: sendCommand("G0X0Y0", -1, m_settings->showUICommands()); break; case 1: sendCommand("G0X0Y0Z0", -1, m_settings->showUICommands()); break; } } void frmMain::on_cmdReset_clicked() { grblReset(); } void frmMain::on_cmdUnlock_clicked() { m_updateSpindleSpeed = true; sendCommand("$X", -1, m_settings->showUICommands()); } void frmMain::on_cmdSafePosition_clicked() { QStringList list = m_settings->safePositionCommand().split(";"); foreach (QString cmd, list) { sendCommand(cmd.trimmed(), -1, m_settings->showUICommands()); } } void frmMain::on_cmdSpindle_toggled(bool checked) { ui->grpSpindle->setProperty("overrided", checked); style()->unpolish(ui->grpSpindle); ui->grpSpindle->ensurePolished(); if (checked) { if (!ui->grpSpindle->isChecked()) ui->grpSpindle->setTitle(tr("Spindle") + QString(tr(" (%1)")).arg(ui->slbSpindle->value())); } else { ui->grpSpindle->setTitle(tr("Spindle")); } } void frmMain::on_cmdSpindle_clicked(bool checked) { if (ui->cmdFilePause->isChecked()) { m_serialPort.write(QByteArray(1, char(0x9e))); } else { sendCommand(checked ? QString("M3 S%1").arg(ui->slbSpindle->value()) : "M5", -1, m_settings->showUICommands()); } } void frmMain::on_chkTestMode_clicked(bool checked) { if (checked) { storeOffsets(); storeParserState(); sendCommand("$C", -1, m_settings->showUICommands()); } else { m_aborting = true; grblReset(); }; } void frmMain::on_cmdFilePause_clicked(bool checked) { m_serialPort.write(checked ? "!" : "~"); } void frmMain::on_cmdFileReset_clicked() { m_fileCommandIndex = 0; m_fileProcessedCommandIndex = 0; m_lastDrawnLineIndex = 0; m_probeIndex = -1; if (!m_heightMapMode) { QTime time; time.start(); QList list = m_viewParser.getLineSegmentList(); QList indexes; for (int i = 0; i < list.count(); i++) { list[i]->setDrawn(false); indexes.append(i); } m_codeDrawer->update(indexes); qDebug() << "drawn false:" << time.elapsed(); time.start(); ui->tblProgram->setUpdatesEnabled(false); for (int i = 0; i < m_currentModel->data().count() - 1; i++) { m_currentModel->data()[i].state = GCodeItem::InQueue; m_currentModel->data()[i].response = QString(); } ui->tblProgram->setUpdatesEnabled(true); qDebug() << "table updated:" << time.elapsed(); ui->tblProgram->scrollTo(m_currentModel->index(0, 0)); ui->tblProgram->clearSelection(); ui->tblProgram->selectRow(0); ui->glwVisualizer->setSpendTime(QTime(0, 0, 0)); } else { ui->txtHeightMapGridX->setEnabled(true); ui->txtHeightMapGridY->setEnabled(true); ui->txtHeightMapGridZBottom->setEnabled(true); ui->txtHeightMapGridZTop->setEnabled(true); delete m_heightMapInterpolationDrawer.data(); m_heightMapInterpolationDrawer.setData(NULL); m_heightMapModel.clear(); updateHeightMapGrid(); } } void frmMain::on_actFileNew_triggered() { qDebug() << "changes:" << m_fileChanged << m_heightMapChanged; if (!saveChanges(m_heightMapMode)) return; if (!m_heightMapMode) { // Reset tables clearTable(); m_probeModel.clear(); m_programHeightmapModel.clear(); m_currentModel = &m_programModel; // Reset parsers m_viewParser.reset(); m_probeParser.reset(); // Reset code drawer m_codeDrawer->update(); m_currentDrawer = m_codeDrawer; ui->glwVisualizer->fitDrawable(); updateProgramEstimatedTime(QList()); m_programFileName = ""; ui->chkHeightMapUse->setChecked(false); ui->grpHeightMap->setProperty("overrided", false); style()->unpolish(ui->grpHeightMap); ui->grpHeightMap->ensurePolished(); // Reset tableview QByteArray headerState = ui->tblProgram->horizontalHeader()->saveState(); ui->tblProgram->setModel(NULL); // Set table model ui->tblProgram->setModel(&m_programModel); ui->tblProgram->horizontalHeader()->restoreState(headerState); // Update tableview connect(ui->tblProgram->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(onTableCurrentChanged(QModelIndex,QModelIndex))); ui->tblProgram->selectRow(0); // Clear selection marker m_selectionDrawer.setEndPosition(QVector3D(sNan, sNan, sNan)); m_selectionDrawer.update(); resetHeightmap(); } else { m_heightMapModel.clear(); on_cmdFileReset_clicked(); ui->txtHeightMap->setText(tr("Untitled")); m_heightMapFileName.clear(); updateHeightMapBorderDrawer(); updateHeightMapGrid(); m_heightMapChanged = false; } updateControlsState(); } void frmMain::on_cmdClearConsole_clicked() { ui->txtConsole->clear(); } bool frmMain::saveProgramToFile(QString fileName, GCodeTableModel *model) { QFile file(fileName); QDir dir; qDebug() << "Saving program"; if (file.exists()) dir.remove(file.fileName()); if (!file.open(QIODevice::WriteOnly)) return false; QTextStream textStream(&file); for (int i = 0; i < model->rowCount() - 1; i++) { textStream << model->data(model->index(i, 1)).toString() << "\r\n"; } file.close(); return true; } void frmMain::on_actFileSaveTransformedAs_triggered() { QString fileName = (QFileDialog::getSaveFileName(this, tr("Save file as"), m_lastFolder, tr("G-Code files (*.nc *.ncc *.ngc *.tap *.txt)"))); if (!fileName.isEmpty()) { saveProgramToFile(fileName, &m_programHeightmapModel); } } void frmMain::on_actFileSaveAs_triggered() { if (!m_heightMapMode) { QString fileName = (QFileDialog::getSaveFileName(this, tr("Save file as"), m_lastFolder, tr("G-Code files (*.nc *.ncc *.ngc *.tap *.txt)"))); if (!fileName.isEmpty()) if (saveProgramToFile(fileName, &m_programModel)) { m_programFileName = fileName; m_fileChanged = false; addRecentFile(fileName); updateRecentFilesMenu(); updateControlsState(); } } else { QString fileName = (QFileDialog::getSaveFileName(this, tr("Save file as"), m_lastFolder, tr("Heightmap files (*.map)"))); if (!fileName.isEmpty()) if (saveHeightMap(fileName)) { ui->txtHeightMap->setText(fileName.mid(fileName.lastIndexOf("/") + 1)); m_heightMapFileName = fileName; m_heightMapChanged = false; addRecentHeightmap(fileName); updateRecentFilesMenu(); updateControlsState(); } } } void frmMain::on_actFileSave_triggered() { if (!m_heightMapMode) { // G-code saving if (m_programFileName.isEmpty()) on_actFileSaveAs_triggered(); else { saveProgramToFile(m_programFileName, &m_programModel); m_fileChanged = false; } } else { // Height map saving if (m_heightMapFileName.isEmpty()) on_actFileSaveAs_triggered(); else saveHeightMap(m_heightMapFileName); } } void frmMain::on_cmdTop_clicked() { ui->glwVisualizer->setTopView(); } void frmMain::on_cmdFront_clicked() { ui->glwVisualizer->setFrontView(); } void frmMain::on_cmdLeft_clicked() { ui->glwVisualizer->setLeftView(); } void frmMain::on_cmdIsometric_clicked() { ui->glwVisualizer->setIsometricView(); } void frmMain::on_actAbout_triggered() { m_frmAbout.exec(); } bool frmMain::dataIsEnd(QString data) { QStringList ends; ends << "ok"; ends << "error"; // ends << "Reset to continue"; // ends << "'$' for help"; // ends << "'$H'|'$X' to unlock"; // ends << "Caution: Unlocked"; // ends << "Enabled"; // ends << "Disabled"; // ends << "Check Door"; // ends << "Pgm End"; foreach (QString str, ends) { if (data.contains(str)) return true; } return false; } bool frmMain::dataIsFloating(QString data) { QStringList ends; ends << "Reset to continue"; ends << "'$H'|'$X' to unlock"; ends << "ALARM: Soft limit"; ends << "ALARM: Hard limit"; ends << "Check Door"; foreach (QString str, ends) { if (data.contains(str)) return true; } return false; } bool frmMain::dataIsReset(QString data) { return QRegExp("^GRBL|GCARVIN\\s\\d\\.\\d.").indexIn(data.toUpper()) != -1; } QString frmMain::feedOverride(QString command) { // Feed override if not in heightmap probing mode // if (!ui->cmdHeightMapMode->isChecked()) command = GcodePreprocessorUtils::overrideSpeed(command, ui->chkFeedOverride->isChecked() ? // ui->txtFeed->value() : 100, &m_originalFeed); return command; } void frmMain::on_grpOverriding_toggled(bool checked) { if (checked) { ui->grpOverriding->setTitle(tr("Overriding")); } else if (ui->slbFeedOverride->isChecked() | ui->slbRapidOverride->isChecked() | ui->slbSpindleOverride->isChecked()) { ui->grpOverriding->setTitle(tr("Overriding") + QString(tr(" (%1/%2/%3)")) .arg(ui->slbFeedOverride->isChecked() ? QString::number(ui->slbFeedOverride->value()) : "-") .arg(ui->slbRapidOverride->isChecked() ? QString::number(ui->slbRapidOverride->value()) : "-") .arg(ui->slbSpindleOverride->isChecked() ? QString::number(ui->slbSpindleOverride->value()) : "-")); } updateLayouts(); ui->widgetFeed->setVisible(checked); } void frmMain::on_grpSpindle_toggled(bool checked) { if (checked) { ui->grpSpindle->setTitle(tr("Spindle")); } else if (ui->cmdSpindle->isChecked()) { // ui->grpSpindle->setTitle(tr("Spindle") + QString(tr(" (%1)")).arg(ui->txtSpindleSpeed->text())); ui->grpSpindle->setTitle(tr("Spindle") + QString(tr(" (%1)")).arg(ui->slbSpindle->value())); } updateLayouts(); ui->widgetSpindle->setVisible(checked); } void frmMain::on_grpUserCommands_toggled(bool checked) { ui->widgetUserCommands->setVisible(checked); } bool frmMain::eventFilter(QObject *obj, QEvent *event) { // Main form events if (obj == this || obj == ui->tblProgram || obj == ui->cboJogStep || obj == ui->cboJogFeed) { // Jog on keyboard control if (!m_processingFile && ui->chkKeyboardControl->isChecked() && (event->type() == QEvent::KeyPress || event->type() == QEvent::KeyRelease) && !static_cast(event)->isAutoRepeat()) { switch (static_cast(event)->key()) { case Qt::Key_4: if (event->type() == QEvent::KeyPress) emit ui->cmdXMinus->pressed(); else emit ui->cmdXMinus->released(); break; case Qt::Key_6: if (event->type() == QEvent::KeyPress) emit ui->cmdXPlus->pressed(); else emit ui->cmdXPlus->released(); break; case Qt::Key_8: if (event->type() == QEvent::KeyPress) emit ui->cmdYPlus->pressed(); else emit ui->cmdYPlus->released(); break; case Qt::Key_2: if (event->type() == QEvent::KeyPress) emit ui->cmdYMinus->pressed(); else emit ui->cmdYMinus->released(); break; case Qt::Key_9: if (event->type() == QEvent::KeyPress) emit ui->cmdZPlus->pressed(); else emit ui->cmdZPlus->released(); break; case Qt::Key_3: if (event->type() == QEvent::KeyPress) emit ui->cmdZMinus->pressed(); else emit ui->cmdZMinus->released(); break; } } if (event->type() == QEvent::KeyPress) { QKeyEvent *keyEvent = static_cast(event); if (!m_processingFile && keyEvent->key() == Qt::Key_ScrollLock && obj == this) { ui->chkKeyboardControl->toggle(); if (!ui->chkKeyboardControl->isChecked()) ui->cboCommand->setFocus(); } if (!m_processingFile && ui->chkKeyboardControl->isChecked()) { if (keyEvent->key() == Qt::Key_7) { ui->cboJogStep->setCurrentPrevious(); } else if (keyEvent->key() == Qt::Key_1) { ui->cboJogStep->setCurrentNext(); } else if (keyEvent->key() == Qt::Key_Minus) { ui->cboJogFeed->setCurrentPrevious(); } else if (keyEvent->key() == Qt::Key_Plus) { ui->cboJogFeed->setCurrentNext(); } else if (keyEvent->key() == Qt::Key_5) { on_cmdStop_clicked(); } else if (keyEvent->key() == Qt::Key_0) { on_cmdSpindle_clicked(!ui->cmdSpindle->isChecked()); } else if (keyEvent->key() == Qt::Key_Asterisk) { ui->slbSpindle->setSliderPosition(ui->slbSpindle->sliderPosition() + 1); } else if (keyEvent->key() == Qt::Key_Slash) { ui->slbSpindle->setSliderPosition(ui->slbSpindle->sliderPosition() - 1); } } if (obj == ui->tblProgram && m_processingFile) { if (keyEvent->key() == Qt::Key_PageDown || keyEvent->key() == Qt::Key_PageUp || keyEvent->key() == Qt::Key_Down || keyEvent->key() == Qt::Key_Up) { ui->chkAutoScroll->setChecked(false); } } } // Splitter events } else if (obj == ui->splitPanels && event->type() == QEvent::Resize) { // Resize splited widgets onPanelsSizeChanged(ui->scrollAreaWidgetContents->sizeHint()); // Splitter handle events } else if (obj == ui->splitPanels->handle(1)) { int minHeight = getConsoleMinHeight(); switch (event->type()) { case QEvent::MouseButtonPress: // Store current console group box minimum & real heights m_storedConsoleMinimumHeight = ui->grpConsole->minimumHeight(); m_storedConsoleHeight = ui->grpConsole->height(); // Update splited sizes ui->splitPanels->setSizes(QList() << ui->scrollArea->height() << ui->grpConsole->height()); // Set new console mimimum height ui->grpConsole->setMinimumHeight(qMax(minHeight, ui->splitPanels->height() - ui->scrollAreaWidgetContents->sizeHint().height() - ui->splitPanels->handleWidth() - 4)); break; case QEvent::MouseButtonRelease: // Store new console minimum height if height was changed with split handle if (ui->grpConsole->height() != m_storedConsoleHeight) { ui->grpConsole->setMinimumHeight(ui->grpConsole->height()); } else { ui->grpConsole->setMinimumHeight(m_storedConsoleMinimumHeight); } break; case QEvent::MouseButtonDblClick: // Switch to min/max console size if (ui->grpConsole->height() == minHeight || !ui->scrollArea->verticalScrollBar()->isVisible()) { ui->splitPanels->setSizes(QList() << ui->scrollArea->minimumHeight() << ui->splitPanels->height() - ui->splitPanels->handleWidth() - ui->scrollArea->minimumHeight()); } else { ui->grpConsole->setMinimumHeight(minHeight); onPanelsSizeChanged(ui->scrollAreaWidgetContents->sizeHint()); } break; default: break; } } return QMainWindow::eventFilter(obj, event); } int frmMain::getConsoleMinHeight() { return ui->grpConsole->height() - ui->grpConsole->contentsRect().height() + ui->spacerConsole->geometry().height() + ui->grpConsole->layout()->margin() * 2 + ui->cboCommand->height(); } void frmMain::onConsoleResized(QSize size) { Q_UNUSED(size) int minHeight = getConsoleMinHeight(); bool visible = ui->grpConsole->height() > minHeight; if (ui->txtConsole->isVisible() != visible) { ui->txtConsole->setVisible(visible); } } void frmMain::onPanelsSizeChanged(QSize size) { ui->splitPanels->setSizes(QList() << size.height() + 4 << ui->splitPanels->height() - size.height() - 4 - ui->splitPanels->handleWidth()); } bool frmMain::keyIsMovement(int key) { return key == Qt::Key_4 || key == Qt::Key_6 || key == Qt::Key_8 || key == Qt::Key_2 || key == Qt::Key_9 || key == Qt::Key_3; } void frmMain::on_grpJog_toggled(bool checked) { updateJogTitle(); updateLayouts(); ui->widgetJog->setVisible(checked); } void frmMain::on_chkKeyboardControl_toggled(bool checked) { ui->grpJog->setProperty("overrided", checked); style()->unpolish(ui->grpJog); ui->grpJog->ensurePolished(); // Store/restore coordinate system if (checked) { sendCommand("$G", -2, m_settings->showUICommands()); } else { if (m_absoluteCoordinates) sendCommand("G90", -1, m_settings->showUICommands()); } if (!m_processingFile) m_storedKeyboardControl = checked; updateJogTitle(); updateControlsState(); } void frmMain::updateJogTitle() { if (ui->grpJog->isChecked() || !ui->chkKeyboardControl->isChecked()) { ui->grpJog->setTitle(tr("Jog")); } else if (ui->chkKeyboardControl->isChecked()) { ui->grpJog->setTitle(tr("Jog") + QString(tr(" (%1/%2)")) .arg(ui->cboJogStep->currentText().toDouble() > 0 ? ui->cboJogStep->currentText() : tr("C")) .arg(ui->cboJogFeed->currentText())); } } void frmMain::on_tblProgram_customContextMenuRequested(const QPoint &pos) { if (m_processingFile) return; if (ui->tblProgram->selectionModel()->selectedRows().count() > 0) { m_tableMenu->actions().at(0)->setEnabled(true); m_tableMenu->actions().at(1)->setEnabled(ui->tblProgram->selectionModel()->selectedRows()[0].row() != m_currentModel->rowCount() - 1); } else { m_tableMenu->actions().at(0)->setEnabled(false); m_tableMenu->actions().at(1)->setEnabled(false); } m_tableMenu->popup(ui->tblProgram->viewport()->mapToGlobal(pos)); } void frmMain::on_splitter_splitterMoved(int pos, int index) { Q_UNUSED(pos) Q_UNUSED(index) static bool tableCollapsed = ui->splitter->sizes()[1] == 0; if ((ui->splitter->sizes()[1] == 0) != tableCollapsed) { this->setUpdatesEnabled(false); ui->chkAutoScroll->setVisible(ui->splitter->sizes()[1] && !m_heightMapMode); updateLayouts(); resizeCheckBoxes(); this->setUpdatesEnabled(true); ui->chkAutoScroll->repaint(); // Store collapsed state tableCollapsed = ui->splitter->sizes()[1] == 0; } } void frmMain::updateLayouts() { this->update(); qApp->processEvents(QEventLoop::ExcludeUserInputEvents); } void frmMain::addRecentFile(QString fileName) { m_recentFiles.removeAll(fileName); m_recentFiles.append(fileName); if (m_recentFiles.count() > 5) m_recentFiles.takeFirst(); } void frmMain::addRecentHeightmap(QString fileName) { m_recentHeightmaps.removeAll(fileName); m_recentHeightmaps.append(fileName); if (m_recentHeightmaps.count() > 5) m_recentHeightmaps.takeFirst(); } void frmMain::onActRecentFileTriggered() { QAction *action = static_cast(sender()); QString fileName = action->text(); if (action != NULL) { if (!saveChanges(m_heightMapMode)) return; if (!m_heightMapMode) loadFile(fileName); else loadHeightMap(fileName); } } void frmMain::onCboCommandReturnPressed() { QString command = ui->cboCommand->currentText(); if (command.isEmpty()) return; ui->cboCommand->setCurrentText(""); sendCommand(command, -1); } void frmMain::updateRecentFilesMenu() { foreach (QAction * action, ui->mnuRecent->actions()) { if (action->text() == "") break; else { ui->mnuRecent->removeAction(action); delete action; } } foreach (QString file, !m_heightMapMode ? m_recentFiles : m_recentHeightmaps) { QAction *action = new QAction(file, this); connect(action, SIGNAL(triggered()), this, SLOT(onActRecentFileTriggered())); ui->mnuRecent->insertAction(ui->mnuRecent->actions()[0], action); } updateControlsState(); } void frmMain::on_actRecentClear_triggered() { if (!m_heightMapMode) m_recentFiles.clear(); else m_recentHeightmaps.clear(); updateRecentFilesMenu(); } double frmMain::toMetric(double value) { return m_settings->units() == 0 ? value : value * 25.4; } void frmMain::on_grpHeightMap_toggled(bool arg1) { ui->widgetHeightMap->setVisible(arg1); } QRectF frmMain::borderRectFromTextboxes() { QRectF rect; rect.setX(ui->txtHeightMapBorderX->value()); rect.setY(ui->txtHeightMapBorderY->value()); rect.setWidth(ui->txtHeightMapBorderWidth->value()); rect.setHeight(ui->txtHeightMapBorderHeight->value()); return rect; } QRectF frmMain::borderRectFromExtremes() { QRectF rect; rect.setX(m_codeDrawer->getMinimumExtremes().x()); rect.setY(m_codeDrawer->getMinimumExtremes().y()); rect.setWidth(m_codeDrawer->getSizes().x()); rect.setHeight(m_codeDrawer->getSizes().y()); return rect; } void frmMain::updateHeightMapBorderDrawer() { if (m_settingsLoading) return; qDebug() << "updating border drawer"; m_heightMapBorderDrawer.setBorderRect(borderRectFromTextboxes()); } void frmMain::updateHeightMapGrid(double arg1) { if (sender()->property("previousValue").toDouble() != arg1 && !updateHeightMapGrid()) static_cast(sender())->setValue(sender()->property("previousValue").toDouble()); else sender()->setProperty("previousValue", arg1); } bool frmMain::updateHeightMapGrid() { if (m_settingsLoading) return true; qDebug() << "updating heightmap grid drawer"; // Grid map changing warning bool nan = true; for (int i = 0; i < m_heightMapModel.rowCount(); i++) for (int j = 0; j < m_heightMapModel.columnCount(); j++) if (!qIsNaN(m_heightMapModel.data(m_heightMapModel.index(i, j), Qt::UserRole).toDouble())) { nan = false; break; } if (!nan && QMessageBox::warning(this, this->windowTitle(), tr("Changing grid settings will reset probe data. Continue?"), QMessageBox::Yes | QMessageBox::No) == QMessageBox::No) return false; // Update grid drawer QRectF borderRect = borderRectFromTextboxes(); m_heightMapGridDrawer.setBorderRect(borderRect); m_heightMapGridDrawer.setGridSize(QPointF(ui->txtHeightMapGridX->value(), ui->txtHeightMapGridY->value())); m_heightMapGridDrawer.setZBottom(ui->txtHeightMapGridZBottom->value()); m_heightMapGridDrawer.setZTop(ui->txtHeightMapGridZTop->value()); // Reset model // int gridPointsX = trunc(borderRect.width() / ui->txtHeightMapGridX->value()) + 1; // int gridPointsY = trunc(borderRect.height() / ui->txtHeightMapGridY->value()) + 1; int gridPointsX = ui->txtHeightMapGridX->value(); int gridPointsY = ui->txtHeightMapGridY->value(); m_heightMapModel.resize(gridPointsX, gridPointsY); ui->tblHeightMap->setModel(NULL); ui->tblHeightMap->setModel(&m_heightMapModel); resizeTableHeightMapSections(); // Update interpolation updateHeightMapInterpolationDrawer(true); // Generate probe program double gridStepX = gridPointsX > 1 ? borderRect.width() / (gridPointsX - 1) : 0; double gridStepY = gridPointsY > 1 ? borderRect.height() / (gridPointsY - 1) : 0; qDebug() << "generating probe program"; m_programLoading = true; m_probeModel.clear(); m_probeModel.insertRow(0); m_probeModel.setData(m_probeModel.index(m_probeModel.rowCount() - 1, 1), QString("G21G90F%1G0Z%2"). arg(m_settings->heightmapProbingFeed()).arg(ui->txtHeightMapGridZTop->value())); m_probeModel.setData(m_probeModel.index(m_probeModel.rowCount() - 1, 1), QString("G0X0Y0")); // .arg(ui->txtHeightMapGridZTop->value())); m_probeModel.setData(m_probeModel.index(m_probeModel.rowCount() - 1, 1), QString("G38.2Z%1") .arg(ui->txtHeightMapGridZBottom->value())); m_probeModel.setData(m_probeModel.index(m_probeModel.rowCount() - 1, 1), QString("G0Z%1") .arg(ui->txtHeightMapGridZTop->value())); double x, y; for (int i = 0; i < gridPointsY; i++) { y = borderRect.top() + gridStepY * i; for (int j = 0; j < gridPointsX; j++) { x = borderRect.left() + gridStepX * (i % 2 ? gridPointsX - 1 - j : j); m_probeModel.setData(m_probeModel.index(m_probeModel.rowCount() - 1, 1), QString("G0X%1Y%2") .arg(x, 0, 'f', 3).arg(y, 0, 'f', 3)); m_probeModel.setData(m_probeModel.index(m_probeModel.rowCount() - 1, 1), QString("G38.2Z%1") .arg(ui->txtHeightMapGridZBottom->value())); m_probeModel.setData(m_probeModel.index(m_probeModel.rowCount() - 1, 1), QString("G0Z%1") .arg(ui->txtHeightMapGridZTop->value())); } } m_programLoading = false; if (m_currentDrawer == m_probeDrawer) updateParser(); m_heightMapChanged = true; return true; } void frmMain::updateHeightMapInterpolationDrawer(bool reset) { if (m_settingsLoading) return; qDebug() << "Updating interpolation"; QRectF borderRect = borderRectFromTextboxes(); m_heightMapInterpolationDrawer.setBorderRect(borderRect); QVector> *interpolationData = new QVector>; int interpolationPointsX = ui->txtHeightMapInterpolationStepX->value();// * (ui->txtHeightMapGridX->value() - 1) + 1; int interpolationPointsY = ui->txtHeightMapInterpolationStepY->value();// * (ui->txtHeightMapGridY->value() - 1) + 1; double interpolationStepX = interpolationPointsX > 1 ? borderRect.width() / (interpolationPointsX - 1) : 0; double interpolationStepY = interpolationPointsY > 1 ? borderRect.height() / (interpolationPointsY - 1) : 0; for (int i = 0; i < interpolationPointsY; i++) { QVector row; for (int j = 0; j < interpolationPointsX; j++) { double x = interpolationStepX * j + borderRect.x(); double y = interpolationStepY * i + borderRect.y(); row.append(reset ? qQNaN() : Interpolation::bicubicInterpolate(borderRect, &m_heightMapModel, x, y)); } interpolationData->append(row); } if (m_heightMapInterpolationDrawer.data() != NULL) { delete m_heightMapInterpolationDrawer.data(); } m_heightMapInterpolationDrawer.setData(interpolationData); // Update grid drawer m_heightMapGridDrawer.update(); // Heightmap changed by table user input if (sender() == &m_heightMapModel) m_heightMapChanged = true; // Reset heightmapped program model m_programHeightmapModel.clear(); } void frmMain::on_chkHeightMapBorderShow_toggled(bool checked) { Q_UNUSED(checked) updateControlsState(); } void frmMain::on_txtHeightMapBorderX_valueChanged(double arg1) { updateHeightMapBorderDrawer(); updateHeightMapGrid(arg1); } void frmMain::on_txtHeightMapBorderWidth_valueChanged(double arg1) { updateHeightMapBorderDrawer(); updateHeightMapGrid(arg1); } void frmMain::on_txtHeightMapBorderY_valueChanged(double arg1) { updateHeightMapBorderDrawer(); updateHeightMapGrid(arg1); } void frmMain::on_txtHeightMapBorderHeight_valueChanged(double arg1) { updateHeightMapBorderDrawer(); updateHeightMapGrid(arg1); } void frmMain::on_chkHeightMapGridShow_toggled(bool checked) { Q_UNUSED(checked) updateControlsState(); } void frmMain::on_txtHeightMapGridX_valueChanged(double arg1) { updateHeightMapGrid(arg1); } void frmMain::on_txtHeightMapGridY_valueChanged(double arg1) { updateHeightMapGrid(arg1); } void frmMain::on_txtHeightMapGridZBottom_valueChanged(double arg1) { updateHeightMapGrid(arg1); } void frmMain::on_txtHeightMapGridZTop_valueChanged(double arg1) { updateHeightMapGrid(arg1); } void frmMain::on_cmdHeightMapMode_toggled(bool checked) { // Update flag m_heightMapMode = checked; // Reset file progress m_fileCommandIndex = 0; m_fileProcessedCommandIndex = 0; m_lastDrawnLineIndex = 0; // Reset/restore g-code program modification on edit mode enter/exit if (ui->chkHeightMapUse->isChecked()) { on_chkHeightMapUse_clicked(!checked); // Update gcode program parser // m_codeDrawer->updateData(); // Force update data to properly shadowing } if (checked) { ui->tblProgram->setModel(&m_probeModel); resizeTableHeightMapSections(); m_currentModel = &m_probeModel; m_currentDrawer = m_probeDrawer; updateParser(); // Update probe program parser } else { m_probeParser.reset(); if (!ui->chkHeightMapUse->isChecked()) { ui->tblProgram->setModel(&m_programModel); connect(ui->tblProgram->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(onTableCurrentChanged(QModelIndex,QModelIndex))); ui->tblProgram->selectRow(0); resizeTableHeightMapSections(); m_currentModel = &m_programModel; m_currentDrawer = m_codeDrawer; if (!ui->chkHeightMapUse->isChecked()) { ui->glwVisualizer->updateExtremes(m_codeDrawer); updateProgramEstimatedTime(m_currentDrawer->viewParser()->getLineSegmentList()); } } } // Shadow toolpath QList list = m_viewParser.getLineSegmentList(); QList indexes; for (int i = m_lastDrawnLineIndex; i < list.count(); i++) { list[i]->setDrawn(checked); list[i]->setIsHightlight(false); indexes.append(i); } // Update only vertex color. // If chkHeightMapUse was checked codeDrawer updated via updateParser if (!ui->chkHeightMapUse->isChecked()) m_codeDrawer->update(indexes); updateRecentFilesMenu(); updateControlsState(); } bool frmMain::saveHeightMap(QString fileName) { QFile file(fileName); QDir dir; if (file.exists()) dir.remove(file.fileName()); if (!file.open(QIODevice::WriteOnly)) return false; QTextStream textStream(&file); textStream << ui->txtHeightMapBorderX->text() << ";" << ui->txtHeightMapBorderY->text() << ";" << ui->txtHeightMapBorderWidth->text() << ";" << ui->txtHeightMapBorderHeight->text() << "\r\n"; textStream << ui->txtHeightMapGridX->text() << ";" << ui->txtHeightMapGridY->text() << ";" << ui->txtHeightMapGridZBottom->text() << ";" << ui->txtHeightMapGridZTop->text() << "\r\n"; textStream << ui->cboHeightMapInterpolationType->currentIndex() << ";" << ui->txtHeightMapInterpolationStepX->text() << ";" << ui->txtHeightMapInterpolationStepY->text() << "\r\n"; for (int i = 0; i < m_heightMapModel.rowCount(); i++) { for (int j = 0; j < m_heightMapModel.columnCount(); j++) { textStream << m_heightMapModel.data(m_heightMapModel.index(i, j), Qt::UserRole).toString() << ((j == m_heightMapModel.columnCount() - 1) ? "" : ";"); } textStream << "\r\n"; } file.close(); m_heightMapChanged = false; return true; } void frmMain::loadHeightMap(QString fileName) { QFile file(fileName); if (!file.open(QIODevice::ReadOnly)) { QMessageBox::critical(this, this->windowTitle(), tr("Can't open file:\n") + fileName); return; } QTextStream textStream(&file); m_settingsLoading = true; // Storing previous values ui->txtHeightMapBorderX->setValue(qQNaN()); ui->txtHeightMapBorderY->setValue(qQNaN()); ui->txtHeightMapBorderWidth->setValue(qQNaN()); ui->txtHeightMapBorderHeight->setValue(qQNaN()); ui->txtHeightMapGridX->setValue(qQNaN()); ui->txtHeightMapGridY->setValue(qQNaN()); ui->txtHeightMapGridZBottom->setValue(qQNaN()); ui->txtHeightMapGridZTop->setValue(qQNaN()); QList list = textStream.readLine().split(";"); ui->txtHeightMapBorderX->setValue(list[0].toDouble()); ui->txtHeightMapBorderY->setValue(list[1].toDouble()); ui->txtHeightMapBorderWidth->setValue(list[2].toDouble()); ui->txtHeightMapBorderHeight->setValue(list[3].toDouble()); list = textStream.readLine().split(";"); ui->txtHeightMapGridX->setValue(list[0].toDouble()); ui->txtHeightMapGridY->setValue(list[1].toDouble()); ui->txtHeightMapGridZBottom->setValue(list[2].toDouble()); ui->txtHeightMapGridZTop->setValue(list[3].toDouble()); m_settingsLoading = false; updateHeightMapBorderDrawer(); m_heightMapModel.clear(); // To avoid probe data wipe message updateHeightMapGrid(); list = textStream.readLine().split(";"); // ui->chkHeightMapBorderAuto->setChecked(false); // ui->chkHeightMapBorderAuto->setEnabled(false); // ui->txtHeightMapBorderX->setEnabled(false); // ui->txtHeightMapBorderY->setEnabled(false); // ui->txtHeightMapBorderWidth->setEnabled(false); // ui->txtHeightMapBorderHeight->setEnabled(false); // ui->txtHeightMapGridX->setEnabled(false); // ui->txtHeightMapGridY->setEnabled(false); // ui->txtHeightMapGridZBottom->setEnabled(false); // ui->txtHeightMapGridZTop->setEnabled(false); for (int i = 0; i < m_heightMapModel.rowCount(); i++) { QList row = textStream.readLine().split(";"); for (int j = 0; j < m_heightMapModel.columnCount(); j++) { m_heightMapModel.setData(m_heightMapModel.index(i, j), row[j].toDouble(), Qt::UserRole); } } file.close(); ui->txtHeightMap->setText(fileName.mid(fileName.lastIndexOf("/") + 1)); m_heightMapFileName = fileName; m_heightMapChanged = false; ui->cboHeightMapInterpolationType->setCurrentIndex(list[0].toInt()); ui->txtHeightMapInterpolationStepX->setValue(list[1].toDouble()); ui->txtHeightMapInterpolationStepY->setValue(list[2].toDouble()); updateHeightMapInterpolationDrawer(); } void frmMain::on_chkHeightMapInterpolationShow_toggled(bool checked) { Q_UNUSED(checked) updateControlsState(); } void frmMain::on_cmdHeightMapLoad_clicked() { if (!saveChanges(true)) { return; } QString fileName = QFileDialog::getOpenFileName(this, tr("Open"), m_lastFolder, tr("Heightmap files (*.map)")); if (fileName != "") { addRecentHeightmap(fileName); loadHeightMap(fileName); // If using heightmap if (ui->chkHeightMapUse->isChecked() && !m_heightMapMode) { // Restore original file on_chkHeightMapUse_clicked(false); // Apply heightmap on_chkHeightMapUse_clicked(true); } updateRecentFilesMenu(); updateControlsState(); // Enable 'cmdHeightMapMode' button } } void frmMain::on_txtHeightMapInterpolationStepX_valueChanged(double arg1) { Q_UNUSED(arg1) updateHeightMapInterpolationDrawer(); } void frmMain::on_txtHeightMapInterpolationStepY_valueChanged(double arg1) { Q_UNUSED(arg1) updateHeightMapInterpolationDrawer(); } void frmMain::on_chkHeightMapUse_clicked(bool checked) { // static bool fileChanged; // Reset table view QByteArray headerState = ui->tblProgram->horizontalHeader()->saveState(); ui->tblProgram->setModel(NULL); CancelException cancel; if (checked) try { // Prepare progress dialog QProgressDialog progress(tr("Applying heightmap..."), tr("Abort"), 0, 0, this); progress.setWindowModality(Qt::WindowModal); progress.setFixedHeight(progress.sizeHint().height()); progress.show(); progress.setStyleSheet("QProgressBar {text-align: center; qproperty-format: \"\"}"); // Performance test QTime time; // Store fileChanged state // fileChanged = m_fileChanged; // Set current model to prevent reseting heightmap cache m_currentModel = &m_programHeightmapModel; // Update heightmap-modificated program if not cached if (m_programHeightmapModel.rowCount() == 0) { // Modifying linesegments QList *list = m_viewParser.getLines(); QRectF borderRect = borderRectFromTextboxes(); double x, y, z; QVector3D point; progress.setLabelText(tr("Subdividing segments...")); progress.setMaximum(list->count() - 1); time.start(); for (int i = 0; i < list->count(); i++) { if (!list->at(i)->isZMovement()) { QList subSegments = subdivideSegment(list->at(i)); if (subSegments.count() > 0) { delete list->at(i); list->removeAt(i); foreach (LineSegment* subSegment, subSegments) list->insert(i++, subSegment); i--; } } if (progress.isVisible() && (i % PROGRESSSTEP == 0)) { progress.setMaximum(list->count() - 1); progress.setValue(i); qApp->processEvents(); if (progress.wasCanceled()) throw cancel; } } qDebug() << "Subdivide time: " << time.elapsed(); progress.setLabelText(tr("Updating Z-coordinates...")); progress.setMaximum(list->count() - 1); time.start(); for (int i = 0; i < list->count(); i++) { if (i == 0) { x = list->at(i)->getStart().x(); y = list->at(i)->getStart().y(); z = list->at(i)->getStart().z() + Interpolation::bicubicInterpolate(borderRect, &m_heightMapModel, x, y); list->at(i)->setStart(QVector3D(x, y, z)); } else list->at(i)->setStart(list->at(i - 1)->getEnd()); x = list->at(i)->getEnd().x(); y = list->at(i)->getEnd().y(); z = list->at(i)->getEnd().z() + Interpolation::bicubicInterpolate(borderRect, &m_heightMapModel, x, y); list->at(i)->setEnd(QVector3D(x, y, z)); if (progress.isVisible() && (i % PROGRESSSTEP == 0)) { progress.setValue(i); qApp->processEvents(); if (progress.wasCanceled()) throw cancel; } } qDebug() << "Z update time (interpolation): " << time.elapsed(); progress.setLabelText(tr("Modifying G-code program...")); progress.setMaximum(m_programModel.rowCount() - 2); time.start(); // Modifying g-code program QString command; QStringList args; int line; QString newCommand; GCodeItem item; int lastSegmentIndex = 0; int lastCommandIndex = -1; // Search strings QString coords("XxYyZzIiJjKkRr"); QString g("Gg"); QString m("Mm"); char codeChar; // Single code char G1 -> G float codeNum; // Code number G1 -> 1 QString lastCode; bool isLinearMove; bool hasCommand; m_programLoading = true; for (int i = 0; i < m_programModel.rowCount() - 1; i++) { command = m_programModel.data().at(i).command; line = m_programModel.data().at(i).line; isLinearMove = false; hasCommand = false; if (line < 0 || line == lastCommandIndex || lastSegmentIndex == list->count() - 1) { item.command = command; m_programHeightmapModel.data().append(item); } else { // Get commands args args = m_programModel.data().at(i).args; newCommand.clear(); // Parse command args foreach (QString arg, args) { // arg examples: G1, G2, M3, X100... codeChar = arg.at(0).toLatin1(); // codeChar: G, M, X... if (!coords.contains(codeChar)) { // Not parameter codeNum = arg.mid(1).toDouble(); if (g.contains(codeChar)) { // 'G'-command // Store 'G0' & 'G1' if (codeNum == 0.0f || codeNum == 1.0f) { lastCode = arg; isLinearMove = true; // Store linear move } // Replace 'G2' & 'G3' with 'G1' if (codeNum == 2.0f || codeNum == 3.0f) { newCommand.append("G1"); isLinearMove = true; // Drop plane command for arcs } else if (codeNum != 17.0f && codeNum != 18.0f && codeNum != 19.0f) { newCommand.append(arg); } hasCommand = true; // Command has 'G' } else { if (m.contains(codeChar)) hasCommand = true; // Command has 'M' newCommand.append(arg); // Other commands } } } // Find first linesegment by command index for (int j = lastSegmentIndex; j < list->count(); j++) { if (list->at(j)->getLineNumber() == line) { if (!qIsNaN(list->at(j)->getEnd().length()) && (isLinearMove || (!hasCommand && !lastCode.isEmpty()))) { // Create new commands for each linesegment with given command index while ((j < list->count()) && (list->at(j)->getLineNumber() == line)) { point = list->at(j)->getEnd(); if (!list->at(j)->isAbsolute()) point -= list->at(j)->getStart(); if (!list->at(j)->isMetric()) point /= 25.4; item.command = newCommand + QString("X%1Y%2Z%3") .arg(point.x(), 0, 'f', 3).arg(point.y(), 0, 'f', 3).arg(point.z(), 0, 'f', 3); m_programHeightmapModel.data().append(item); if (!newCommand.isEmpty()) newCommand.clear(); j++; } // Copy original command if not G0 or G1 } else { item.command = command; m_programHeightmapModel.data().append(item); } lastSegmentIndex = j; break; } } } lastCommandIndex = line; if (progress.isVisible() && (i % PROGRESSSTEP == 0)) { progress.setValue(i); qApp->processEvents(); if (progress.wasCanceled()) throw cancel; } } m_programHeightmapModel.insertRow(m_programHeightmapModel.rowCount()); } progress.close(); qDebug() << "Program modification time: " << time.elapsed(); ui->tblProgram->setModel(&m_programHeightmapModel); ui->tblProgram->horizontalHeader()->restoreState(headerState); connect(ui->tblProgram->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(onTableCurrentChanged(QModelIndex,QModelIndex))); m_programLoading = false; // Update parser m_currentDrawer = m_codeDrawer; updateParser(); // Select first row ui->tblProgram->selectRow(0); } catch (CancelException) { // Cancel modification m_programHeightmapModel.clear(); m_currentModel = &m_programModel; ui->tblProgram->setModel(&m_programModel); ui->tblProgram->horizontalHeader()->restoreState(headerState); connect(ui->tblProgram->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(onTableCurrentChanged(QModelIndex,QModelIndex))); ui->tblProgram->selectRow(0); ui->chkHeightMapUse->setChecked(false); return; } else { // Restore original program m_currentModel = &m_programModel; ui->tblProgram->setModel(&m_programModel); ui->tblProgram->horizontalHeader()->restoreState(headerState); connect(ui->tblProgram->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(onTableCurrentChanged(QModelIndex,QModelIndex))); // Store changes flag bool fileChanged = m_fileChanged; // Update parser updateParser(); // Select first row ui->tblProgram->selectRow(0); // Restore changes flag m_fileChanged = fileChanged; } // Update groupbox title ui->grpHeightMap->setProperty("overrided", checked); style()->unpolish(ui->grpHeightMap); ui->grpHeightMap->ensurePolished(); // Update menu ui->actFileSaveTransformedAs->setVisible(checked); } QList frmMain::subdivideSegment(LineSegment* segment) { QList list; QRectF borderRect = borderRectFromTextboxes(); double interpolationStepX = borderRect.width() / (ui->txtHeightMapInterpolationStepX->value() - 1); double interpolationStepY = borderRect.height() / (ui->txtHeightMapInterpolationStepY->value() - 1); double length; QVector3D vec = segment->getEnd() - segment->getStart(); if (qIsNaN(vec.length())) return QList(); if (fabs(vec.x()) / fabs(vec.y()) < interpolationStepX / interpolationStepY) length = interpolationStepY / (vec.y() / vec.length()); else length = interpolationStepX / (vec.x() / vec.length()); length = fabs(length); if (qIsNaN(length)) { qDebug() << "ERROR length:" << segment->getStart() << segment->getEnd(); return QList(); } QVector3D seg = vec.normalized() * length; int count = trunc(vec.length() / length); if (count == 0) return QList(); for (int i = 0; i < count; i++) { LineSegment* line = new LineSegment(segment); line->setStart(i == 0 ? segment->getStart() : list[i - 1]->getEnd()); line->setEnd(line->getStart() + seg); list.append(line); } if (list.count() > 0 && list.last()->getEnd() != segment->getEnd()) { LineSegment* line = new LineSegment(segment); line->setStart(list.last()->getEnd()); line->setEnd(segment->getEnd()); list.append(line); } return list; } void frmMain::on_cmdHeightMapCreate_clicked() { ui->cmdHeightMapMode->setChecked(true); on_actFileNew_triggered(); } void frmMain::on_cmdHeightMapBorderAuto_clicked() { QRectF rect = borderRectFromExtremes(); if (!qIsNaN(rect.width()) && !qIsNaN(rect.height())) { ui->txtHeightMapBorderX->setValue(rect.x()); ui->txtHeightMapBorderY->setValue(rect.y()); ui->txtHeightMapBorderWidth->setValue(rect.width()); ui->txtHeightMapBorderHeight->setValue(rect.height()); } } bool frmMain::compareCoordinates(double x, double y, double z) { return ui->txtMPosX->text().toDouble() == x && ui->txtMPosY->text().toDouble() == y && ui->txtMPosZ->text().toDouble() == z; } void frmMain::onCmdUserClicked(bool checked) { int i = sender()->objectName().right(1).toInt(); QStringList list = m_settings->userCommands(i).split(";"); foreach (QString cmd, list) { sendCommand(cmd.trimmed(), -1, m_settings->showUICommands()); } } void frmMain::onOverridingToggled(bool checked) { ui->grpOverriding->setProperty("overrided", ui->slbFeedOverride->isChecked() || ui->slbRapidOverride->isChecked() || ui->slbSpindleOverride->isChecked()); style()->unpolish(ui->grpOverriding); ui->grpOverriding->ensurePolished(); } void frmMain::updateOverride(SliderBox *slider, int value, char command) { slider->setCurrentValue(value); int target = slider->isChecked() ? slider->value() : 100; bool smallStep = abs(target - slider->currentValue()) < 10 || m_settings->queryStateTime() < 100; if (slider->currentValue() < target) { m_serialPort.write(QByteArray(1, char(smallStep ? command + 2 : command))); } else if (slider->currentValue() > target) { m_serialPort.write(QByteArray(1, char(smallStep ? command + 3 : command + 1))); } } void frmMain::jogStep() { if (m_jogVector.length() == 0) return; if (ui->cboJogStep->currentText().toDouble() == 0) { const double acc = m_settings->acceleration(); // Acceleration mm/sec^2 int speed = ui->cboJogFeed->currentText().toInt(); // Speed mm/min double v = (double)speed / 60; // Rapid speed mm/sec int N = 15; // Planner blocks double dt = qMax(0.01, sqrt(v) / (2 * acc * (N - 1))); // Single jog command time double s = v * dt; // Jog distance QVector3D vec = m_jogVector.normalized() * s; // qDebug() << "jog" << speed << v << acc << dt <showUICommands()); } else { int speed = ui->cboJogFeed->currentText().toInt(); // Speed mm/min QVector3D vec = m_jogVector * ui->cboJogStep->currentText().toDouble(); sendCommand(QString("$J=G21G91X%1Y%2Z%3F%4") .arg(vec.x(), 0, 'g', 4) .arg(vec.y(), 0, 'g', 4) .arg(vec.z(), 0, 'g', 4) .arg(speed), -3, m_settings->showUICommands()); } } void frmMain::on_cmdYPlus_pressed() { m_jogVector += QVector3D(0, 1, 0); jogStep(); } void frmMain::on_cmdYPlus_released() { m_jogVector -= QVector3D(0, 1, 0); jogStep(); } void frmMain::on_cmdYMinus_pressed() { m_jogVector += QVector3D(0, -1, 0); jogStep(); } void frmMain::on_cmdYMinus_released() { m_jogVector -= QVector3D(0, -1, 0); jogStep(); } void frmMain::on_cmdXPlus_pressed() { m_jogVector += QVector3D(1, 0, 0); jogStep(); } void frmMain::on_cmdXPlus_released() { m_jogVector -= QVector3D(1, 0, 0); jogStep(); } void frmMain::on_cmdXMinus_pressed() { m_jogVector += QVector3D(-1, 0, 0); jogStep(); } void frmMain::on_cmdXMinus_released() { m_jogVector -= QVector3D(-1, 0, 0); jogStep(); } void frmMain::on_cmdZPlus_pressed() { m_jogVector += QVector3D(0, 0, 1); jogStep(); } void frmMain::on_cmdZPlus_released() { m_jogVector -= QVector3D(0, 0, 1); jogStep(); } void frmMain::on_cmdZMinus_pressed() { m_jogVector += QVector3D(0, 0, -1); jogStep(); } void frmMain::on_cmdZMinus_released() { m_jogVector -= QVector3D(0, 0, -1); jogStep(); } void frmMain::on_cmdStop_clicked() { m_queue.clear(); m_serialPort.write(QByteArray(1, char(0x85))); } candle-1.1.9/src/frmmain.h000066400000000000000000000246721421102410500153420ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef FRMMAIN_H #define FRMMAIN_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include "parser/gcodeviewparse.h" #include "drawers/origindrawer.h" #include "drawers/gcodedrawer.h" #include "drawers/tooldrawer.h" #include "drawers/heightmapborderdrawer.h" #include "drawers/heightmapgriddrawer.h" #include "drawers/heightmapinterpolationdrawer.h" #include "drawers/shaderdrawable.h" #include "drawers/selectiondrawer.h" #include "tables/gcodetablemodel.h" #include "tables/heightmaptablemodel.h" #include "utils/interpolation.h" #include "widgets/styledtoolbutton.h" #include "widgets/sliderbox.h" #include "frmsettings.h" #include "frmabout.h" #ifdef WINDOWS #include #include "shobjidl.h" #endif namespace Ui { class frmMain; } struct CommandAttributes { int length; int consoleIndex; int tableIndex; QString command; }; struct CommandQueue { QString command; int tableIndex; bool showInConsole; }; class CancelException : public std::exception { public: #ifdef Q_OS_MAC #undef _GLIBCXX_USE_NOEXCEPT #define _GLIBCXX_USE_NOEXCEPT _NOEXCEPT #endif const char* what() const noexcept override { return "Operation was cancelled by user"; } }; class frmMain : public QMainWindow { Q_OBJECT public: explicit frmMain(QWidget *parent = 0); ~frmMain(); double toolZPosition(); private slots: void updateHeightMapInterpolationDrawer(bool reset = false); void placeVisualizerButtons(); void onSerialPortReadyRead(); void onSerialPortError(QSerialPort::SerialPortError); void onTimerConnection(); void onTimerStateQuery(); void onVisualizatorRotationChanged(); void onScroolBarAction(int action); void onJogTimer(); void onTableInsertLine(); void onTableDeleteLines(); void onActRecentFileTriggered(); void onCboCommandReturnPressed(); void onTableCurrentChanged(QModelIndex idx1, QModelIndex idx2); void onConsoleResized(QSize size); void onPanelsSizeChanged(QSize size); void onCmdUserClicked(bool checked); void onOverridingToggled(bool checked); void onActSendFromLineTriggered(); void on_actFileExit_triggered(); void on_cmdFileOpen_clicked(); void on_cmdFit_clicked(); void on_cmdFileSend_clicked(); void onTableCellChanged(QModelIndex i1, QModelIndex i2); void on_actServiceSettings_triggered(); void on_actFileOpen_triggered(); void on_cmdCommandSend_clicked(); void on_cmdHome_clicked(); void on_cmdTouch_clicked(); void on_cmdZeroXY_clicked(); void on_cmdZeroZ_clicked(); void on_cmdRestoreOrigin_clicked(); void on_cmdReset_clicked(); void on_cmdUnlock_clicked(); void on_cmdSafePosition_clicked(); void on_cmdSpindle_toggled(bool checked); void on_chkTestMode_clicked(bool checked); void on_cmdFilePause_clicked(bool checked); void on_cmdFileReset_clicked(); void on_actFileNew_triggered(); void on_cmdClearConsole_clicked(); void on_actFileSaveAs_triggered(); void on_actFileSave_triggered(); void on_actFileSaveTransformedAs_triggered(); void on_cmdTop_clicked(); void on_cmdFront_clicked(); void on_cmdLeft_clicked(); void on_cmdIsometric_clicked(); void on_actAbout_triggered(); void on_grpOverriding_toggled(bool checked); void on_grpSpindle_toggled(bool checked); void on_grpJog_toggled(bool checked); void on_grpUserCommands_toggled(bool checked); void on_chkKeyboardControl_toggled(bool checked); void on_tblProgram_customContextMenuRequested(const QPoint &pos); void on_splitter_splitterMoved(int pos, int index); void on_actRecentClear_triggered(); void on_grpHeightMap_toggled(bool arg1); void on_chkHeightMapBorderShow_toggled(bool checked); void on_txtHeightMapBorderX_valueChanged(double arg1); void on_txtHeightMapBorderWidth_valueChanged(double arg1); void on_txtHeightMapBorderY_valueChanged(double arg1); void on_txtHeightMapBorderHeight_valueChanged(double arg1); void on_chkHeightMapGridShow_toggled(bool checked); void on_txtHeightMapGridX_valueChanged(double arg1); void on_txtHeightMapGridY_valueChanged(double arg1); void on_txtHeightMapGridZBottom_valueChanged(double arg1); void on_txtHeightMapGridZTop_valueChanged(double arg1); void on_cmdHeightMapMode_toggled(bool checked); void on_chkHeightMapInterpolationShow_toggled(bool checked); void on_cmdHeightMapLoad_clicked(); void on_txtHeightMapInterpolationStepX_valueChanged(double arg1); void on_txtHeightMapInterpolationStepY_valueChanged(double arg1); void on_chkHeightMapUse_clicked(bool checked); void on_cmdHeightMapCreate_clicked(); void on_cmdHeightMapBorderAuto_clicked(); void on_cmdFileAbort_clicked(); void on_cmdSpindle_clicked(bool checked); void on_cmdYPlus_pressed(); void on_cmdYPlus_released(); void on_cmdYMinus_pressed(); void on_cmdYMinus_released(); void on_cmdXPlus_pressed(); void on_cmdXPlus_released(); void on_cmdXMinus_pressed(); void on_cmdXMinus_released(); void on_cmdZPlus_pressed(); void on_cmdZPlus_released(); void on_cmdZMinus_pressed(); void on_cmdZMinus_released(); void on_cmdStop_clicked(); protected: void showEvent(QShowEvent *se); void hideEvent(QHideEvent *he); void resizeEvent(QResizeEvent *re); void timerEvent(QTimerEvent *); void closeEvent(QCloseEvent *ce); void dragEnterEvent(QDragEnterEvent *dee); void dropEvent(QDropEvent *de); private: const int BUFFERLENGTH = 127; Ui::frmMain *ui; GcodeViewParse m_viewParser; GcodeViewParse m_probeParser; OriginDrawer *m_originDrawer; GcodeDrawer *m_codeDrawer; GcodeDrawer *m_probeDrawer; GcodeDrawer *m_currentDrawer; ToolDrawer m_toolDrawer; HeightMapBorderDrawer m_heightMapBorderDrawer; HeightMapGridDrawer m_heightMapGridDrawer; HeightMapInterpolationDrawer m_heightMapInterpolationDrawer; SelectionDrawer m_selectionDrawer; GCodeTableModel m_programModel; GCodeTableModel m_probeModel; GCodeTableModel m_programHeightmapModel; HeightMapTableModel m_heightMapModel; bool m_programLoading; bool m_settingsLoading; QSerialPort m_serialPort; frmSettings *m_settings; frmAbout m_frmAbout; QString m_settingsFileName; QString m_programFileName; QString m_heightMapFileName; QString m_lastFolder; bool m_fileChanged = false; bool m_heightMapChanged = false; QTimer m_timerConnection; QTimer m_timerStateQuery; QBasicTimer m_timerToolAnimation; QStringList m_status; QStringList m_statusCaptions; QStringList m_statusBackColors; QStringList m_statusForeColors; #ifdef WINDOWS QWinTaskbarButton *m_taskBarButton; QWinTaskbarProgress *m_taskBarProgress; #endif QMenu *m_tableMenu; QList m_commands; QList m_queue; QTime m_startTime; QMessageBox* m_senderErrorBox; // Stored origin double m_storedX = 0; double m_storedY = 0; double m_storedZ = 0; QString m_storedParserStatus; // Console window int m_storedConsoleMinimumHeight; int m_storedConsoleHeight; int m_consolePureHeight; // Flags bool m_settingZeroXY = false; bool m_settingZeroZ = false; bool m_homing = false; bool m_updateSpindleSpeed = false; bool m_updateParserStatus = false; bool m_updateFeed = false; bool m_reseting = false; bool m_resetCompleted = true; bool m_aborting = false; bool m_statusReceived = false; bool m_processingFile = false; bool m_transferCompleted = false; bool m_fileEndSent = false; bool m_heightMapMode; bool m_cellChanged; // Indices int m_fileCommandIndex; int m_fileProcessedCommandIndex; int m_probeIndex; // Current values int m_lastDrawnLineIndex; int m_lastGrblStatus; double m_originalFeed; // Keyboard bool m_keyPressed = false; bool m_jogBlock = false; bool m_absoluteCoordinates; bool m_storedKeyboardControl; // Spindle bool m_spindleCW = true; bool m_spindleCommandSpeed = false; // Jog QVector3D m_jogVector; QStringList m_recentFiles; QStringList m_recentHeightmaps; void loadFile(QString fileName); void loadFile(QList data); void clearTable(); void preloadSettings(); void loadSettings(); void saveSettings(); bool saveChanges(bool heightMapMode); void updateControlsState(); void openPort(); void sendCommand(QString command, int tableIndex = -1, bool showInConsole = true); void grblReset(); int bufferLength(); void sendNextFileCommands(); void applySettings(); void updateParser(); bool dataIsFloating(QString data); bool dataIsEnd(QString data); bool dataIsReset(QString data); QTime updateProgramEstimatedTime(QList lines); bool saveProgramToFile(QString fileName, GCodeTableModel *model); QString feedOverride(QString command); bool eventFilter(QObject *obj, QEvent *event); bool keyIsMovement(int key); void resizeCheckBoxes(); void updateLayouts(); void updateRecentFilesMenu(); void addRecentFile(QString fileName); void addRecentHeightmap(QString fileName); double toMetric(double value); QRectF borderRectFromTextboxes(); QRectF borderRectFromExtremes(); void updateHeightMapBorderDrawer(); bool updateHeightMapGrid(); void loadHeightMap(QString fileName); bool saveHeightMap(QString fileName); GCodeTableModel *m_currentModel; QList subdivideSegment(LineSegment *segment); void resizeTableHeightMapSections(); void updateHeightMapGrid(double arg1); void resetHeightmap(); void storeParserState(); void restoreParserState(); void storeOffsets(); void restoreOffsets(); bool isGCodeFile(QString fileName); bool isHeightmapFile(QString fileName); bool compareCoordinates(double x, double y, double z); int getConsoleMinHeight(); void updateOverride(SliderBox *slider, int value, char command); void jogStep(); void updateJogTitle(); }; #endif // FRMMAIN_H candle-1.1.9/src/frmmain.ui000066400000000000000000003100551421102410500155210ustar00rootroot00000000000000 frmMain 0 0 952 847 true Candle :/images/candle_256.png:/images/candle_256.png /*QWidget { font-size: 9pt; }*/ QSpinBox, QDoubleSpinBox { padding-top: 1px; padding-bottom: 1px; } QGroupBox { } QGroupBox:disabled { color: palette(shadow); } QGroupBox[overrided="true"] { color: red; } QGroupBox[overrided="false"] { color: palette(windowtext); } QGroupBox[checkable="true"]::title { margin-top: 1px; } QGroupBox[checkable="true"]::indicator { padding: 0 -2 -0 2; width: 13; height: 13; } QGroupBox[checkable="true"]::indicator:checked { image: url(:/images/collapse.png); } QGroupBox[checkable="true"]::indicator:unchecked { image: url(:/images/expand.png); } QFrame#frameManualControlXY,#frameManualControlZ { border: 1px solid lightgray; border-radius: 4px; } QSplitter::handle { background-repeat: no-repeat; background-position: center center; } QSplitter::handle:vertical { background-image: url(":/images/handle_horizontal.png"); } /* QSplitter::handle:horizontal { background-image: url(":/images/handle_vertical.png"); } */ QTableView { selection-background-color: #cdcdff; selection-color: rgb(0, 0, 0); } QSlider::horizontal { padding-top: 1px; padding-bottom: 1px; } QSlider::groove:horizontal { border: 1px solid #999999; height: 2px; background: #8f8f91; margin: 2px 0; } QSlider::handle:horizontal { background-image: url(:/images/handle2s.png); border: 0px; width: 16px; margin: -7px 0; } QSlider::handle:horizontal:hover { background-image: url(:/images/handle2sh.png); } /*QSlider::sub-page:horizontal { background: red; margin: 1px 0; }*/ 9 9 9 5 9 G-code program false 7 8 8 8 8 30 30 Isometric view :/images/cube.png:/images/cube.png 20 20 30 30 Top view :/images/cubeTop.png:/images/cubeTop.png 20 20 30 30 Front view :/images/cubeFront.png:/images/cubeFront.png 20 20 30 30 Left view :/images/cubeLeft.png:/images/cubeLeft.png 20 20 30 30 Fit :/images/fit_1.png:/images/fit_1.png 20 20 Qt::Vertical 12 0 0 0 200 border: 1px solid gray; 1 1 1 1 9 9 Qt::CustomContextMenu QAbstractItemView::AnyKeyPressed|QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked QAbstractItemView::ContiguousSelection QAbstractItemView::SelectRows Qt::DashLine false 50 false true QAbstractItemView::SingleSelection Qt::DashLine false 60 false false Heightmap settings 11 8 8 8 8 Border: X: 0 0 Qt::AlignCenter QAbstractSpinBox::NoButtons -999.000000000000000 999.000000000000000 0 0 Qt::AlignCenter QAbstractSpinBox::NoButtons -999.000000000000000 999.000000000000000 10.000000000000000 H: 0 0 Qt::AlignCenter QAbstractSpinBox::NoButtons -999.000000000000000 999.000000000000000 Y: W: 0 0 Qt::AlignCenter QAbstractSpinBox::NoButtons -999.000000000000000 999.000000000000000 10.000000000000000 Show border true 44 18 Auto Probe grid: X: 0 0 Qt::AlignCenter QAbstractSpinBox::NoButtons 0 2.000000000000000 1000.000000000000000 2.000000000000000 0 0 Qt::AlignCenter QAbstractSpinBox::NoButtons -999.000000000000000 999.000000000000000 1.000000000000000 0 0 Qt::AlignCenter QAbstractSpinBox::NoButtons -999.000000000000000 999.000000000000000 -1.000000000000000 0 0 Qt::AlignCenter QAbstractSpinBox::NoButtons 0 2.000000000000000 1000.000000000000000 2.000000000000000 Zb: Y: Zt: Show grid true Qt::Horizontal 40 1 Interpolation grid: Y: X: 0 0 Qt::AlignCenter QAbstractSpinBox::NoButtons 0 2.000000000000000 1000.000000000000000 2.000000000000000 0 0 Qt::AlignCenter QAbstractSpinBox::NoButtons 0 2.000000000000000 1000.000000000000000 2.000000000000000 Type: false 0 0 Bicubic Show Qt::Horizontal 40 1 0 0 22 0 Check mode 0 0 22 0 Autoscroll Qt::Horizontal 8 20 Open Reset 0 0 93 0 Send Pause true Abort 4 State false 8 8 8 9 8 Work coordinates: 8 X 0 Qt::AlignCenter true Y 0 Qt::AlignCenter true Z 0 Qt::AlignCenter true 8 Machine coordinates: 8 X 0 Qt::AlignCenter true Y 0 Qt::AlignCenter true Z 0 Qt::AlignCenter true 14 Status: false QLineEdit {color: palette(text);} Qt::AlignCenter true 4 Control false 8 8 8 9 8 44 44 Home ... :/images/search_for_home2.png:/images/search_for_home2.png 30 30 44 44 Z-probe ... :/images/search_for_z.png:/images/search_for_z.png 30 30 44 44 Zero XY ... :/images/axis_zero.png:/images/axis_zero.png 30 30 44 44 Zero Z ... :/images/zero_z.png:/images/zero_z.png 30 30 false 42 42 Restore origin ... :/images/origin.png:/images/origin.png 30 30 44 44 Safe position ... :/images/run.png:/images/run.png 30 30 44 44 Reset ... :/images/restart.png:/images/restart.png 30 30 true 44 44 Unlock ... :/images/unlock.png:/images/unlock.png 24 24 QSplitter::handle { background-image: url(":/images/handle_small.png"); } Qt::Vertical 10 false 0 0 QFrame::NoFrame Qt::ScrollBarAsNeeded Qt::ScrollBarAlwaysOff QAbstractScrollArea::AdjustToContents true 0 -416 228 691 0 0 0 0 4 0 true User commands true false 9 8 8 8 8 0 0 0 0 8 true 44 44 Spindle on/off :/images/num2.png:/images/num2.png 30 30 true 44 44 Spindle on/off :/images/num4.png:/images/num4.png 30 30 true 44 44 Spindle on/off :/images/num3.png:/images/num3.png 30 30 true 44 44 Spindle on/off :/images/num1.png:/images/num1.png 30 30 Heightmap true false 8 8 8 9 7 0 0 0 0 Use heightmap Map: Qt::NoFocus Qt::AlignCenter true Absent 0 0 0 25 Create 0 0 0 25 Open 0 0 42 25 Edit mode true true Spindle true false 8 8 8 8 0 0 0 0 true 0 0 44 44 Spindle on/off :/images/cutter.png:/images/cutter.png 28 28 true true Overriding true false 8 8 8 8 0 0 0 0 Jog true false 8 8 8 8 10 0 0 0 0 8 4 0 0 44 44 X- ... :/images/1401561986_chevron-left.png:/images/1401561986_chevron-left.png 30 30 0 0 0 44 44 Y- :/images/1401562173_chevron-down.png:/images/1401562173_chevron-down.png 30 30 0 0 44 44 X+ :/images/1401562173_chevron-right.png:/images/1401562173_chevron-right.png 30 30 0 0 0 44 44 Y+ :/images/1401562173_chevron-up.png:/images/1401562173_chevron-up.png 30 30 0 Qt::Horizontal 0 20 0 0 44 44 Z+ :/images/1401562699_icon-arrow-up-b.png:/images/1401562699_icon-arrow-up-b.png 28 28 0 Qt::Horizontal 0 20 0 0 44 44 Z- :/images/1401562699_icon-arrow-down-b.png:/images/1401562699_icon-arrow-down-b.png 28 28 0 0 0 44 44 Stop :/images/brake.png:/images/brake.png 30 30 7 true QComboBox::NoInsert Continuously 0.01 0.1 1 5 10 100 Step: Feed: true QComboBox::NoInsert 10 50 100 500 1000 2000 Keyboard control 4 false Console 0 8 8 8 8 0 1 9 true Qt::Vertical QSizePolicy::Fixed 20 7 padding-top: 3; padding-bottom: 3; padding-right: 8; true 5 10 QComboBox::InsertAtTop Send command :/images/send_1.png:/images/send_1.png 16 16 Clear console :/images/erase_1.png:/images/erase_1.png 16 16 0 0 952 26 &File &Recent files &Service &Help &Open E&xit &Settings &New &Save Save &as... &About &Clear Save &transformed as... ScrollArea QScrollArea

widgets/scrollarea.h
1 Widget QWidget
widgets/widget.h
1
GroupBox QGroupBox
widgets/groupbox.h
1
StyledToolButton QToolButton
widgets/styledtoolbutton.h
GLWidget QWidget
widgets/glwidget.h
1
ComboBox QComboBox
widgets/combobox.h
SliderBox QWidget
widgets/sliderbox.h
1
ComboBoxKey QComboBox
widgets/comboboxkey.h
chkTestMode chkAutoScroll cmdFileOpen cmdFileReset cmdFileSend cmdFilePause cmdFileAbort cmdTop cmdIsometric cmdFront cmdLeft cmdFit tblProgram tblHeightMap txtHeightMapBorderX txtHeightMapBorderWidth txtHeightMapBorderY txtHeightMapBorderHeight chkHeightMapBorderShow cmdHeightMapBorderAuto txtHeightMapGridX txtHeightMapGridZTop txtHeightMapGridY txtHeightMapGridZBottom chkHeightMapGridShow txtHeightMapInterpolationStepX txtHeightMapInterpolationStepY cboHeightMapInterpolationType chkHeightMapInterpolationShow txtWPosX txtWPosY txtWPosZ txtMPosX txtMPosY txtMPosZ txtStatus cmdHome cmdTouch cmdZeroXY cmdZeroZ cmdRestoreOrigin cmdSafePosition cmdReset cmdUnlock scrollArea chkHeightMapUse cmdHeightMapCreate cmdHeightMapLoad cmdHeightMapMode grpSpindle cmdSpindle grpOverriding grpJog cmdXMinus cmdXPlus cmdYPlus cmdYMinus cmdZPlus cmdZMinus chkKeyboardControl txtConsole cboCommand cmdCommandSend cmdClearConsole grpHeightMap chkKeyboardControl toggled(bool) tblProgram setDisabled(bool) 858 813 493 576 chkKeyboardControl toggled(bool) slbSpindle setDisabled(bool) 786 804 741 431 chkKeyboardControl toggled(bool) widgetFeed setDisabled(bool) 807 799 773 504 chkKeyboardControl toggled(bool) tblHeightMap setDisabled(bool) 799 803 456 790 candle-1.1.9/src/frmsettings.cpp000066400000000000000000000363271421102410500166110ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #include "frmsettings.h" #include "ui_frmsettings.h" #include #include #include #include #include frmSettings::frmSettings(QWidget *parent) : QDialog(parent), ui(new Ui::frmSettings) { ui->setupUi(this); this->setLocale(QLocale::C); m_intValidator.setBottom(1); m_intValidator.setTop(999); ui->cboFps->setValidator(&m_intValidator); ui->cboFontSize->setValidator(&m_intValidator); foreach (QGroupBox *box, this->findChildren()) { ui->listCategories->addItem(box->title()); ui->listCategories->item(ui->listCategories->count() - 1)->setData(Qt::UserRole, box->objectName()); } ui->listCategories->item(0)->setSelected(true); connect(ui->scrollSettings->verticalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(onScrollBarValueChanged(int))); searchPorts(); } frmSettings::~frmSettings() { delete ui; } int frmSettings::exec() { // Store settings to undo m_storedValues.clear(); m_storedChecks.clear(); m_storedCombos.clear(); m_storedColors.clear(); foreach (QAbstractSpinBox* sb, this->findChildren()) { m_storedValues.append(sb->property("value").toDouble()); } foreach (QAbstractButton* cb, this->findChildren()) { m_storedChecks.append(cb->isChecked()); } foreach (QComboBox* cb, this->findChildren()) { m_storedCombos.append(cb->currentText()); } foreach (ColorPicker* pick, this->findChildren()) { m_storedColors.append(pick->color()); } return QDialog::exec(); } void frmSettings::undo() { foreach (QAbstractSpinBox* sb, this->findChildren()) { sb->setProperty("value", m_storedValues.takeFirst()); } foreach (QAbstractButton* cb, this->findChildren()) { cb->setChecked(m_storedChecks.takeFirst()); } foreach (QComboBox* cb, this->findChildren()) { cb->setCurrentText(m_storedCombos.takeFirst()); } foreach (ColorPicker* pick, this->findChildren()) { pick->setColor(m_storedColors.takeFirst()); } } void frmSettings::on_listCategories_currentRowChanged(int currentRow) { // Scroll to selected groupbox QGroupBox *box = this->findChild(ui->listCategories->item(currentRow)->data(Qt::UserRole).toString()); if (box) { ui->scrollSettings->ensureWidgetVisible(box); } } void frmSettings::onScrollBarValueChanged(int value) { Q_UNUSED(value) // Search for first full visible groupbox for (int i = 0; i < ui->listCategories->count(); i++) { QGroupBox *box = this->findChild(ui->listCategories->item(i)->data(Qt::UserRole).toString()); if (box) { if (!box->visibleRegion().isEmpty() && box->visibleRegion().boundingRect().y() == 0) { // Select corresponding item in categories list ui->listCategories->setCurrentRow(i); return; } } } } QString frmSettings::port() { return ui->cboPort->currentText(); } void frmSettings::setPort(QString port) { ui->cboPort->setCurrentText(port); } int frmSettings::baud() { return ui->cboBaud->currentText().toInt(); } void frmSettings::setBaud(int baud) { ui->cboBaud->setCurrentText(QString::number(baud)); } double frmSettings::toolDiameter() { return ui->txtToolDiameter->value(); } void frmSettings::setToolDiameter(double diameter) { ui->txtToolDiameter->setValue(diameter); } double frmSettings::toolLength() { return ui->txtToolLength->value(); } void frmSettings::setToolLength(double length) { ui->txtToolLength->setValue(length); } bool frmSettings::antialiasing() { return ui->chkAntialiasing->isChecked(); } void frmSettings::setAntialiasing(bool antialiasing) { ui->chkAntialiasing->setChecked(antialiasing); } bool frmSettings::zBuffer() { return ui->chkZBuffer->isChecked(); } void frmSettings::setZBuffer(bool zBuffer) { ui->chkZBuffer->setChecked(zBuffer); } double frmSettings::lineWidth() { return ui->txtLineWidth->value(); } void frmSettings::setLineWidth(double lineWidth) { ui->txtLineWidth->setValue(lineWidth); } double frmSettings::arcLength() { return ui->txtArcLength->value(); } void frmSettings::setArcLength(double arcPrecision) { ui->txtArcLength->setValue(arcPrecision); } double frmSettings::arcDegree() { return ui->txtArcDegree->value(); } void frmSettings::setArcDegree(double arcDegree) { ui->txtArcDegree->setValue(arcDegree); } double frmSettings::arcPrecision() { return ui->radArcDegreeMode->isChecked() ? ui->txtArcDegree->value() : ui->txtArcLength->value(); } bool frmSettings::arcDegreeMode() { return ui->radArcDegreeMode->isChecked(); } void frmSettings::setArcDegreeMode(bool arcDegreeMode) { ui->radArcDegreeMode->setChecked(arcDegreeMode); } bool frmSettings::showProgramCommands() { return ui->chkShowProgramCommands->isChecked(); } void frmSettings::setShowProgramCommands(bool showAllCommands) { ui->chkShowProgramCommands->setChecked(showAllCommands); } bool frmSettings::showUICommands() { return ui->chkShowUICommands->isChecked(); } void frmSettings::setShowUICommands(bool showUICommands) { ui->chkShowUICommands->setChecked(showUICommands); } QString frmSettings::safePositionCommand() { return ui->txtSafeCommand->text(); } void frmSettings::setSafePositionCommand(QString command) { ui->txtSafeCommand->setText(command); } bool frmSettings::moveOnRestore() { return ui->chkMoveOnRestore->isChecked(); } void frmSettings::setMoveOnRestore(bool value) { ui->chkMoveOnRestore->setChecked(value); } int frmSettings::restoreMode() { return ui->cboRestoreMode->currentIndex(); } void frmSettings::setRestoreMode(int value) { ui->cboRestoreMode->setCurrentIndex(value); } int frmSettings::spindleSpeedMin() { return ui->txtSpindleSpeedMin->value(); } void frmSettings::setSpindleSpeedMin(int speed) { ui->txtSpindleSpeedMin->setValue(speed); } int frmSettings::spindleSpeedMax() { return ui->txtSpindleSpeedMax->value(); } void frmSettings::setSpindleSpeedMax(int speed) { ui->txtSpindleSpeedMax->setValue(speed); } int frmSettings::laserPowerMin() { return ui->txtLaserPowerMin->value(); } void frmSettings::setLaserPowerMin(int value) { ui->txtLaserPowerMin->setValue(value); } int frmSettings::laserPowerMax() { return ui->txtLaserPowerMax->value(); } void frmSettings::setLaserPowerMax(int value) { ui->txtLaserPowerMax->setValue(value); } int frmSettings::rapidSpeed() { return ui->txtRapidSpeed->value(); } void frmSettings::setRapidSpeed(int rapidSpeed) { ui->txtRapidSpeed->setValue(rapidSpeed); } int frmSettings::heightmapProbingFeed() { return ui->txtHeightMapProbingFeed->value(); } void frmSettings::setHeightmapProbingFeed(int heightmapProbingFeed) { ui->txtHeightMapProbingFeed->setValue(heightmapProbingFeed); } int frmSettings::acceleration() { return ui->txtAcceleration->value(); } void frmSettings::setAcceleration(int acceleration) { ui->txtAcceleration->setValue(acceleration); } int frmSettings::queryStateTime() { return ui->txtQueryStateTime->value(); } void frmSettings::setQueryStateTime(int queryStateTime) { ui->txtQueryStateTime->setValue(queryStateTime); } int frmSettings::toolType() { return ui->cboToolType->currentIndex(); } void frmSettings::setToolType(int toolType) { ui->cboToolType->setCurrentIndex(toolType); } double frmSettings::toolAngle() { return ui->txtToolAngle->value(); } void frmSettings::setToolAngle(double toolAngle) { ui->txtToolAngle->setValue(toolAngle); } int frmSettings::fps() { return ui->cboFps->currentText().toInt(); } void frmSettings::setFps(int fps) { ui->cboFps->setCurrentText(QString::number(fps)); } bool frmSettings::vsync() { return ui->chkVSync->isChecked(); } void frmSettings::setVsync(bool value) { ui->chkVSync->setChecked(value); } bool frmSettings::msaa() { return ui->radMSAA->isChecked(); } void frmSettings::setMsaa(bool msaa) { ui->radMSAA->setChecked(msaa); } bool frmSettings::autoCompletion() { return ui->chkAutocompletion->isChecked(); } void frmSettings::setAutoCompletion(bool autoCompletion) { ui->chkAutocompletion->setChecked(autoCompletion); } int frmSettings::units() { return ui->cboUnits->currentIndex(); } void frmSettings::setUnits(int units) { ui->cboUnits->setCurrentIndex(units); } QString frmSettings::touchCommand() { return ui->txtTouchCommand->text(); } void frmSettings::setTouchCommand(QString touchCommand) { ui->txtTouchCommand->setText(touchCommand); } bool frmSettings::simplify() { return ui->chkSimplify->isChecked(); } void frmSettings::setSimplify(bool simplify) { ui->chkSimplify->setChecked(simplify); } double frmSettings::simplifyPrecision() { return ui->txtSimplifyPrecision->value(); } void frmSettings::setSimplifyPrecision(double simplifyPrecision) { ui->txtSimplifyPrecision->setValue(simplifyPrecision); } bool frmSettings::panelUserCommands() { return ui->chkPanelUserCommands->isChecked(); } void frmSettings::setPanelUserCommands(bool value) { ui->chkPanelUserCommands->setChecked(value); } bool frmSettings::panelHeightmap() { return ui->chkPanelHeightmap->isChecked(); } void frmSettings::setPanelHeightmap(bool panelHeightmap) { ui->chkPanelHeightmap->setChecked(panelHeightmap); } bool frmSettings::panelSpindle() { return ui->chkPanelSpindle->isChecked(); } void frmSettings::setPanelSpindle(bool panelSpindle) { ui->chkPanelSpindle->setChecked(panelSpindle); } bool frmSettings::panelOverriding() { return ui->chkPanelOverriding->isChecked(); } void frmSettings::setPanelOverriding(bool panelFeed) { ui->chkPanelOverriding->setChecked(panelFeed); } bool frmSettings::panelJog() { return ui->chkPanelJog->isChecked(); } void frmSettings::setPanelJog(bool panelJog) { ui->chkPanelJog->setChecked(panelJog); } QList frmSettings::colors() { return this->findChildren(); } QColor frmSettings::colors(QString name) { ColorPicker *pick = this->findChildren("clp" + name).at(0); if (pick) return pick->color(); else return QColor(); } int frmSettings::fontSize() { return ui->cboFontSize->currentText().toInt(); } void frmSettings::setFontSize(int fontSize) { ui->cboFontSize->setCurrentText(QString::number(fontSize)); } bool frmSettings::grayscaleSegments() { return ui->chkGrayscale->isChecked(); } void frmSettings::setGrayscaleSegments(bool value) { ui->chkGrayscale->setChecked(value); } bool frmSettings::grayscaleSCode() { return ui->radGrayscaleS->isChecked(); } void frmSettings::setGrayscaleSCode(bool value) { ui->radGrayscaleS->setChecked(value); ui->radGrayscaleZ->setChecked(!value); } bool frmSettings::drawModeVectors() { return ui->radDrawModeVectors->isChecked(); } void frmSettings::setDrawModeVectors(bool value) { ui->radDrawModeVectors->setChecked(value); ui->radDrawModeRaster->setChecked(!value); } QString frmSettings::userCommands(int index) { return this->findChild(QString("txtUserCommand%1").arg(index))->text(); } void frmSettings::setUserCommands(int index, QString commands) { this->findChild(QString("txtUserCommand%1").arg(index))->setText(commands); } bool frmSettings::ignoreErrors() { return ui->chkIgnoreErrors->isChecked(); } void frmSettings::setIgnoreErrors(bool value) { ui->chkIgnoreErrors->setChecked(value); } bool frmSettings::autoLine() { return ui->chkAutoLine->isChecked(); } void frmSettings::setAutoLine(bool value) { ui->chkAutoLine->setChecked(value); } void frmSettings::showEvent(QShowEvent *se) { Q_UNUSED(se) ui->scrollSettings->updateMinimumWidth(); } void frmSettings::searchPorts() { ui->cboPort->clear(); foreach (QSerialPortInfo info ,QSerialPortInfo::availablePorts()) { // ui->cboPort->addItem(info.portName()); ui->cboPort->insertItem(0, info.portName()); } } void frmSettings::on_cmdRefresh_clicked() { searchPorts(); } void frmSettings::on_cmdOK_clicked() { this->accept(); } void frmSettings::on_cmdCancel_clicked() { this->reject(); } void frmSettings::on_cboToolType_currentIndexChanged(int index) { ui->lblToolAngle->setEnabled(index == 1); ui->txtToolAngle->setEnabled(index == 1); } void frmSettings::on_cmdDefaults_clicked() { if (QMessageBox::warning(this, qApp->applicationDisplayName(), tr("Reset settings to default values?"), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel) != QMessageBox::Yes) return; setPort(""); setBaud(115200); setIgnoreErrors(false); setQueryStateTime(40); setRapidSpeed(2000); setAcceleration(100); setSpindleSpeedMin(0); setSpindleSpeedMax(10000); setLaserPowerMin(0); setLaserPowerMax(100); setTouchCommand("G21G91G38.2Z-30F100; G0Z1; G38.2Z-2F10"); setSafePositionCommand("G21G90; G53G0Z0"); setMoveOnRestore(false); setRestoreMode(0); setHeightmapProbingFeed(10); setUnits(0); setArcLength(0.0); setArcDegreeMode(true); setArcDegree(5.0); setLineWidth(1.5); setAntialiasing(true); setMsaa(true); setSimplify(true); setSimplifyPrecision(0.0); setFps(60); setZBuffer(false); setGrayscaleSegments(false); setGrayscaleSCode(true); setDrawModeVectors(true); setToolType(1); setToolAngle(15.0); setToolDiameter(3.0); setToolLength(30.0); setShowProgramCommands(false); setAutoCompletion(true); setPanelOverriding(true); setPanelHeightmap(true); setPanelJog(true); setPanelSpindle(true); ui->clpTool->setColor(QColor(255, 153, 0)); ui->clpVisualizerBackground->setColor(QColor(255, 255, 255)); ui->clpVisualizerText->setColor(QColor(0, 0, 0)); ui->clpToolpathNormal->setColor(QColor(0, 0, 0)); ui->clpToolpathDrawn->setColor(QColor(217, 217, 217)); ui->clpToolpathHighlight->setColor(QColor(145, 130, 230)); ui->clpToolpathZMovement->setColor(QColor(255, 0, 0)); ui->clpToolpathStart->setColor(QColor(255, 0, 0)); ui->clpToolpathEnd->setColor(QColor(0, 255, 0)); setFontSize(9); } void frmSettings::on_cboFontSize_currentTextChanged(const QString &arg1) { qApp->setStyleSheet(QString(qApp->styleSheet()).replace(QRegExp("font-size:\\s*\\d+"), "font-size: " + arg1)); } void frmSettings::on_radDrawModeVectors_toggled(bool checked) { ui->chkSimplify->setEnabled(checked); ui->lblSimpilyPrecision->setEnabled(checked && ui->chkSimplify->isChecked()); ui->txtSimplifyPrecision->setEnabled(checked && ui->chkSimplify->isChecked()); ui->radDrawModeRaster->setChecked(!checked); } void frmSettings::on_radDrawModeRaster_toggled(bool checked) { ui->radDrawModeVectors->setChecked(!checked); } void frmSettings::on_radGrayscaleS_toggled(bool checked) { ui->radGrayscaleZ->setChecked(!checked); } void frmSettings::on_radGrayscaleZ_toggled(bool checked) { ui->radGrayscaleS->setChecked(!checked); } candle-1.1.9/src/frmsettings.h000066400000000000000000000104771421102410500162540ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef FRMSETTINGS_H #define FRMSETTINGS_H #include #include #include #include "widgets/colorpicker.h" namespace Ui { class frmSettings; } class frmSettings : public QDialog { Q_OBJECT public: explicit frmSettings(QWidget *parent = 0); ~frmSettings(); int exec(); void undo(); QString port(); void setPort(QString port); int baud(); void setBaud(int baud); double toolDiameter(); void setToolDiameter(double diameter); double toolLength(); void setToolLength(double length); bool antialiasing(); void setAntialiasing(bool antialiasing); bool zBuffer(); void setZBuffer(bool zBuffer); double lineWidth(); void setLineWidth(double lineWidth); double arcLength(); void setArcLength(double arcLength); double arcDegree(); void setArcDegree(double arcDegree); double arcPrecision(); bool arcDegreeMode(); void setArcDegreeMode(bool arcDegreeMode); bool showProgramCommands(); void setShowProgramCommands(bool showProgramCommands); bool showUICommands(); void setShowUICommands(bool showUICommands); QString safePositionCommand(); void setSafePositionCommand(QString command); bool moveOnRestore(); void setMoveOnRestore(bool value); int restoreMode(); void setRestoreMode(int value); int spindleSpeedMin(); void setSpindleSpeedMin(int speed); int spindleSpeedMax(); void setSpindleSpeedMax(int speed); int laserPowerMin(); void setLaserPowerMin(int value); int laserPowerMax(); void setLaserPowerMax(int value); int rapidSpeed(); void setRapidSpeed(int rapidSpeed); int heightmapProbingFeed(); void setHeightmapProbingFeed(int heightmapProbingFeed); int acceleration(); void setAcceleration(int acceleration); int queryStateTime(); void setQueryStateTime(int queryStateTime); int toolType(); void setToolType(int toolType); double toolAngle(); void setToolAngle(double toolAngle); int fps(); void setFps(int fps); bool vsync(); void setVsync(bool value); bool msaa(); void setMsaa(bool msaa); bool autoCompletion(); void setAutoCompletion(bool autoCompletion); int units(); void setUnits(int units); QString touchCommand(); void setTouchCommand(QString touchCommand); bool simplify(); void setSimplify(bool simplify); double simplifyPrecision(); void setSimplifyPrecision(double simplifyPrecision); bool panelUserCommands(); void setPanelUserCommands(bool value); bool panelHeightmap(); void setPanelHeightmap(bool panelHeightmap); bool panelSpindle(); void setPanelSpindle(bool panelSpindle); bool panelOverriding(); void setPanelOverriding(bool panelFeed); bool panelJog(); void setPanelJog(bool panelJog); QList colors(); QColor colors(QString name); int fontSize(); void setFontSize(int fontSize); bool grayscaleSegments(); void setGrayscaleSegments(bool value); bool grayscaleSCode(); void setGrayscaleSCode(bool value); bool drawModeVectors(); void setDrawModeVectors(bool value); QString userCommands(int index); void setUserCommands(int index, QString commands); bool ignoreErrors(); void setIgnoreErrors(bool value); bool autoLine(); void setAutoLine(bool value); protected: void showEvent(QShowEvent *se); private slots: void onScrollBarValueChanged(int value); void on_cmdRefresh_clicked(); void on_cmdOK_clicked(); void on_cmdCancel_clicked(); void on_cboToolType_currentIndexChanged(int index); void on_listCategories_currentRowChanged(int currentRow); void on_cmdDefaults_clicked(); void on_cboFontSize_currentTextChanged(const QString &arg1); void on_radDrawModeVectors_toggled(bool checked); void on_radDrawModeRaster_toggled(bool checked); void on_radGrayscaleS_toggled(bool checked); void on_radGrayscaleZ_toggled(bool checked); private: Ui::frmSettings *ui; void searchPorts(); QList m_storedValues; QList m_storedChecks; QList m_storedCombos; QList m_storedColors; QIntValidator m_intValidator; }; #endif // FRMSETTINGS_H candle-1.1.9/src/frmsettings.ui000066400000000000000000001616511421102410500164430ustar00rootroot00000000000000 frmSettings 0 0 555 715 Settings /*QWidget { font-size: 9pt; }*/ QSpinBox, QDoubleSpinBox { padding-top: 1px; padding-bottom: 1px; } QGroupBox { border: none; padding-top: 16; font-weight: bold; } true QListWidget::item { height: 1.75em; } 1 0 0 QFrame::NoFrame Qt::ScrollBarAlwaysOn Qt::ScrollBarAlwaysOff true 0 0 436 1749 Connection Port: true 0 0 padding: 0 1 0 2; ... :/images/restart.png:/images/restart.png Baud: true 9600 9600 14400 19200 38400 57600 115200 Sender Ignore error responses Automatically set parser state before sending from selected line Machine information 9 Qt::AlignCenter QAbstractSpinBox::NoButtons 99999 Status query period: 9 Qt::AlignCenter QAbstractSpinBox::NoButtons 9999 0 0 mm inch Qt::Horizontal QSizePolicy::Fixed 6 20 Units: Rapid speed: 9 Qt::AlignCenter QAbstractSpinBox::NoButtons 99999 Acceleration: 9 Qt::AlignCenter QAbstractSpinBox::NoButtons 99999 max.: Spindle speed min.: 9 Qt::AlignCenter QAbstractSpinBox::NoButtons 99999 Laser power min.: 9 Qt::AlignCenter QAbstractSpinBox::NoButtons 99999 max.: 9 Qt::AlignCenter QAbstractSpinBox::NoButtons 99999 Control padding-top: 3; Probe commands: 0 Qt::AlignCenter Command 1; command 2; ... padding-top: 3; Safe position commands: 0 Qt::AlignCenter Command 1; command 2; ... 0 0 "Restore origin" moves tool in: false Plane Space Qt::Horizontal QSizePolicy::Fixed 9 20 User commands padding-top: 3; Button 1: 0 Qt::AlignCenter Command 1; command 2; ... padding-top: 3; Button 2: 0 Qt::AlignCenter Command 1; command 2; ... padding-top: 3; Button 3: 0 Qt::AlignCenter Command 1; command 2; ... padding-top: 3; Button 4: 0 Qt::AlignCenter Command 1; command 2; ... Heightmap Heightmap probing feed: Qt::Horizontal 40 20 9 Qt::AlignCenter QAbstractSpinBox::NoButtons 99999 Parser Arc approximation segment size: Qt::Horizontal 0 20 by length true Qt::Horizontal QSizePolicy::Fixed 6 20 true Qt::AlignCenter QAbstractSpinBox::NoButtons 2 99.000000000000000 by angle (deg.) false Qt::AlignCenter QAbstractSpinBox::NoButtons 2 180.000000000000000 Visualizer Z-buffer false MSAA Line width: Qt::AlignCenter QAbstractSpinBox::NoButtons 1 9.000000000000000 FPS lock: Qt::ImhDigitsOnly|Qt::ImhFormattedNumbersOnly true 30 60 120 Program draw mode: Vectors true false Raster false Qt::Horizontal QSizePolicy::Fixed 6 20 false By 'Z'-code false false By 'S'-code false Grayscale segments false Qt::AlignCenter QAbstractSpinBox::NoButtons 2 99.000000000000000 Simplify geometry false Precision: V-sync Smoothing Tool model Type: Diameter: 0 0 Flat Conic false Angle: Length: Qt::Horizontal QSizePolicy::Fixed 6 20 0 0 Qt::AlignCenter QAbstractSpinBox::NoButtons 3 99.000000000000000 0 0 Qt::AlignCenter QAbstractSpinBox::NoButtons 3 999.000000000000000 0 0 Qt::AlignCenter QAbstractSpinBox::NoButtons 3 180.000000000000000 Console Show G-code program commands Show UI commands Command auto-completion Panels User commands Heightmap Jog Spindle Overriding Colors Z-movement: Toolpath true Background: Highlight: Start point: End point: Visualizer Text: Tool: Qt::Vertical QSizePolicy::Fixed 20 6 Drawn: Normal: Font Size: 0 0 true 8 10 1 8 9 10 11 12 pt Qt::Horizontal 40 20 color: blue; (restart needed) Qt::Horizontal 40 20 Set to defaults false Qt::Horizontal 40 20 OK false Cancel false ScrollArea QScrollArea
widgets/scrollarea.h
1
Widget QWidget
widgets/widget.h
1
GroupBox QGroupBox
widgets/groupbox.h
1
ColorPicker QWidget
widgets/colorpicker.h
1
listCategories scrollSettings cboPort cmdRefresh cboBaud cboToolType txtToolAngle txtToolDiameter txtToolLength chkShowProgramCommands chkShowUICommands chkAutocompletion cboFontSize cmdDefaults cmdOK cmdCancel chkAntialiasing toggled(bool) radMSAA setEnabled(bool) 363 240 484 240 chkGrayscale toggled(bool) radGrayscaleS setEnabled(bool) 271 367 386 367 chkGrayscale toggled(bool) radGrayscaleZ setEnabled(bool) 271 367 487 367 chkVSync toggled(bool) label_7 setDisabled(bool) 363 271 184 270 chkVSync toggled(bool) cboFps setDisabled(bool) 363 271 243 270 chkMoveOnRestore toggled(bool) cboRestoreMode setEnabled(bool) 333 -47 498 -64 radArcDegreeMode toggled(bool) txtArcDegree setEnabled(bool) 421 170 498 169 chkSimplify toggled(bool) lblSimpilyPrecision setEnabled(bool) 271 339 386 338 chkSimplify toggled(bool) txtSimplifyPrecision setEnabled(bool) 271 339 487 338
candle-1.1.9/src/images.qrc000066400000000000000000000036551421102410500155120ustar00rootroot00000000000000 images/search_for_home2.png images/search_for_z.png images/safe_z.png images/axis_zero.png images/axis_return.png images/restart.png images/handle_horizontal.png images/handle_vertical.png images/unlock.png images/1401562699_icon-arrow-up-b.png images/1401562699_icon-arrow-down-b.png images/1401562173_chevron-down.png images/1401562173_chevron-up.png images/1401562173_chevron-right.png images/1401561986_chevron-left.png images/zero_z.png images/cutter.png images/handle2s.png images/handle2sh.png images/cube.png images/fit_1.png images/send_1.png images/erase_1.png images/cubeFront.png images/cubeLeft.png images/cubeTop.png images/icon3png.png images/expand.png images/collapse.png images/collapse_disabled.png images/expand_disabled.png images/small_arrow.png images/shadow.png images/handle_small.png images/guard.png images/origin.png images/candle_256.png images/run.png images/num1.png images/num2.png images/num3.png images/num4.png images/handle2s1.png images/brake.png candle-1.1.9/src/images/000077500000000000000000000000001421102410500147725ustar00rootroot00000000000000candle-1.1.9/src/images/1401561986_chevron-left.png000066400000000000000000000015111421102410500212420ustar00rootroot00000000000000PNG  IHDR>abKGDIDATxݻjTQ/*):5/ y|`g6 VbCX.hQH$]s;c a89gY:{f™ I$I$I$I$I$I$ ..0Sh^sPUA`[*p/I\X\>0/}mF^bKVUƁOt~WcKWfo}sx*~uA5w~لg/qm8G ^ǵNM_/?ԃƨ?XQ IJPO*i @L2I]@&E|5_^KmDhNM_ D4R Om ПHoS1 `ϒg32 Ϙg3f>&g3fe3>:(]7p3?rn9rD!ПJp( k#;@Ɇ`g8J:wS  `ПJp-r@*!z@ͩ;.p.9b'xҙJIqE-ߣvͨԹgX7:w?8~\qkX];GS1;U*vUR `΃I+' @q2ca',u[C^sPVi` i+iE$I$I$I$I$I$I?/^`o IENDB`candle-1.1.9/src/images/1401562173_chevron-down.png000066400000000000000000000023301421102410500212440ustar00rootroot00000000000000PNG  IHDR>asRGBgAMA a pHYsttfxtEXtSoftwarePaint.NET v3.5.100rGIDATx^훻A "hd6AP T5- YD Er~^fS]鮮]vm@ @ @ @ @ @ @ @ @ @ @M`}8jq) R'-.X帽n5jg=1~E,>Z(n^g9ߔ|Ӛv@]`Jle`N{'W& 5-Oɭh 3twv߁՞]VoȜDl/wGj`GB$6E#ݯ@4++b7捓 BX-ES&%ҟ9Lm}x(Bou@ߏ˱3Paem+ @b a#8 *<*tR|tzo찾LZ|{88L*!F?eUf\Ml1&_bL%؈Qe7s6dK|1*MQ@F361JS|*JSot)?͞#L)~=k 5qT8OkL0HsFϑ 1t}\sMv.u$!Q@&RFz 7L}$$V# lxY>b|poդT۷cze{o r6CϪu:!T|S;P'+1mwy ?LLwabKGDIDATx;kQg7!JR؈h?A\ҏ`gB"Id93xsfv3;$I$I$I$I$I$Iڧ{.3>_rNJInj<0k0>0eY` tI j-Xu.TSwZG9:^*E 4NP[[wݡ I2 tf NPso*;A\K:Kw8 i7 ^ :xMжS'p^N=`w!OETe,Ah@YK%(%%%@-@X,,`KP%>̆Lnҧ d,;듾5 ?0Oe2 ?0`~`Xl? =Cu~Xh>"nVW~XM0•_C+?Cő~z7\{>W~\~Մ$W~hg wp𷀹,3UfIW( \,Y׶<03$I$I$I$I$I$IjW`hIENDB`candle-1.1.9/src/images/1401562173_chevron-up.png000066400000000000000000000022271421102410500207260ustar00rootroot00000000000000PNG  IHDR>asRGBgAMA a pHYsttfxtEXtSoftwarePaint.NET v3.5.100rIDATx^ܹA낈F&jF&.`䃨/>.ih鱧k;o(pSUuuO@@@@@@@@@@@@@@@@loOB6U)%A(|BPILPAW|B8CO`G!P/Y~0L->3[‚0^Pg&(z?t7uA#?F (> Ü2{0̨ ar)>!HމzpBſVohѻFB(}q0(19}Y@p91@; & 3h?,h[82F+gM0^F>k6 XC#i53L" [w{v[ADP/<`sjO2(&Z}Au!Ps+SūRLp=] L8.X/'ܩB ٸ>vXf\?Ֆ3q#`b&x +~x#{&81#`gXO{ U!81 tc`@!(UkP[>{,~ӧ)Yzg!nֳ3jFF3 u"6Wdf=|;1)B Tq^~}bvZ(#k|;g}G>|H=~اjs[vk ҳ>Y[ˢ S{CNY;kMO?kǭvr/a%8                    M2e}IENDB`candle-1.1.9/src/images/1401562699_icon-arrow-down-b.png000066400000000000000000000015071421102410500221210ustar00rootroot00000000000000PNG  IHDR>abKGDIDATxKNqk"S bBɥe%jd;JS6vbX*6eF(+lfQ\Be$^?o;4 $I$I$I$I$I$I$I$I$I$m5s?; Z&ܺeX;@ߕs2ݗNcDo%e^`^?T˾@ h7Ps-]`}WF %3er;7Kjn&_tUsl^k'0|&W%׀Cˏ`ѐ]* ŚFD#wf{/%W>(I?\9PPgsᔝ@q! 9Qk ;&POZQyDz>^?a/| ~=VZf/iM=~3LG+!~f&Z,C5KFHk/WsںƀiFK{zya[DZFWyv֪o1$v_I)qO!YslSo֭cUv-{5NZ5.=*l;i [gITut㮡)Lfw DVaֳc 0 ܣc܍un-BݣJxƿvwb8 'KQC$I$I$I$I$I$I$I$I$I$I-t6mIENDB`candle-1.1.9/src/images/1401562699_icon-arrow-up-b.png000066400000000000000000000022641421102410500215770ustar00rootroot00000000000000PNG  IHDR>asRGBgAMA a pHYsttfxtEXtSoftwarePaint.NET v3.5.100r#IDATx^OMQ„? %JQFқʘL))31R F 2eB0 +B`Ksԩֹu~wl@@@@@@@@@@@@@@@@@@@w|i ;oٹY=`<󡽾:@#z$IʮYxR`58"! صS 3v$n7LzJ!0"! ۽R 6G ^9?$n^Z7bmM2{ l>8? \5HI#0n>OOiN]T~-w]od~H )Z[׽vN0 N u|BkMT{I{߭M>֌&Kq')J_ZB^;x&:\xf-;s$P:<6(2-?s$Pݭ;wPg-Cs8 nQ]y7wGIh٪G4WZ Ѳ9Z{mr[̿[l3oγڛ?$f>${$`8^pCknXե{+~H=UE6b욯%H.(6g?$I&m+~H{f0$P=|m>]˻?p}pI&ZYjl}&CW7f ~ fm5m%;E%|ɏ~N%$@lht>mJwM ?.$A$P%EmgϷyNvd##m[VD                   D diIENDB`candle-1.1.9/src/images/axis_return.png000066400000000000000000000013451421102410500200460ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs a aJ%tEXtSoftwarewww.inkscape.org<bIDATh홽kQ'BTTE3"heF(4V"b#ZDlM i҈i""/P+ ;3of̒=p7y㌩ T 鰤o2e+@ xN Y/yuN]k{|)dlSー1쏍3 \z؛BR=&߁JY*%JKhUIKsWI {Hp?of$">}Nbgtڌ10*H /'@ϒ]ʜ%ÑxY:pޤzx'Ӣ )60D_%=I c! Ѿٷmf.zk>ދKu͆BR8Pr*A *p^gzsڀ+I}©;yꄤCrkP&&'BԅIENDB`candle-1.1.9/src/images/axis_return.svg000066400000000000000000000127461421102410500200700ustar00rootroot00000000000000 image/svg+xml Ø candle-1.1.9/src/images/axis_zero.png000066400000000000000000000021471421102410500175070ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs a aJ%tEXtSoftwarewww.inkscape.org<IDATh]UUc*PQfzj%(2!J x(+2% 5!) @@QL`4ˇ{ssw?,{ݵZGfTFN`7HZ(ɔA!I=Sf+~q"VKQDIGg@/oLORlI?|<'s  `E 80@kH!ؗjK&OdMoK 22,5|w<LIH57q+o8t` m$? ̈2`Y[n![X_v`o5`Z$2#Cymv؝,5_Hb{v&0>#Pu1(;5uaigLy&0?t{p [.l܀r!io/YͷonzC'95s)9U-ukf۞H^ifX%fPtWr#V ? 92l~ #@GoY~K72B+0p&[J7c#N*,ϥ:$-ǕK3lQ'1+$ .=;`{X_O K Wl`!I-W.&n{Aax̾+Ǽ13p&Bգ*|W޸mg IKI 6p] iM=Ne&K7+I٩We\m%rNC( Qhw :QL Q9Ї+Z9wcy'>gVmmfv"׫UEW0DP!3]_( >;~޵8`IENDB`candle-1.1.9/src/images/axis_zero.svg000066400000000000000000000127431421102410500175250ustar00rootroot00000000000000 image/svg+xml Ø candle-1.1.9/src/images/brake.png000066400000000000000000000026071421102410500165710ustar00rootroot00000000000000PNG  IHDR@@iqsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATxMh]E'6J0 ֤R""q nTDA ET•A, \DW*n\IB@].7jbZw\y7kB|=0Μs{fttmu[-OXD {L7+?Q2( p ,Ǫ]5V@OWe2S%LDUKi${$*ڦ񱷴K LOuwK Ɓm /!w 5-MkdU{?WM :pTU_n8ᣴL| >+}B@040PB06.+!|oخ<5`lm3C_}UoD),u.g~,>gXM<o5<%)ϴ9g3o\mZg~p:w:}S%r&70'=ޤ?B1 *XbwO b1B)Hǀ_8l;m?D0pZxo.~!LZ:/F/p;; ~?h+x{/%9?H^,d{{\ Y:*Zn8îqY/}O{9mȳ?êa[0 c鴒# ؋%T.l1` %`{.?Unl1`Lm@iC l1`V#3}M.! ""];3`,Ifs[M 9j$i#[0`KN+H^Qq-ᐠ-R@Dj'{Te{̭ W_X4u.-M,Y{(v P[Vճ!6s-%M]iWٝt>*"ג/I9bRlmOz[G_>Q@t$ؑ1|( |3EŁWjgx97Ɯ+V<\ŋˆ1*x1ƌaWq^~IK1+k/obuR#qs-2 B=zZ.+PP0+f[$ 0/CM㿩NγL9j_/&0YaE:5ݳW76W-_>d9 6 @LwoN BWyHoB&ӟLloQ0bdθz|6 ӻH37j|y!kX͢MwJ斾`精_A7cb}oYzu !F ((CA˗h14z~ >E+nϹxS-o"fX^1zA e;?o/kZؓ!|L{ >lum>ƫDPh6 9<@@@T%f@CnfJUP0յNmRUJ@$@. 4 n0~6z;;NFYƋ5]h>|5mL0z ~ցhxƋȀ]h>̽;ی5z e.zqL4D$+ DP3hpV__n)Um'hptI@?->R,/FO^A!QT^[ѭа O>@.HHC-"2F=y@GM6ͯaW'&!'$S? D@gU h :fǑ CdfjuN]Sv|R@t@"DN%nx߾AĬ!@@;ZA Plʯ EQ:yF'`!Md`(PhjpӤcHίC߃RBD-| )@(Ppy8nKBBB0O;,   @rJf ~&F[(*>8<ڵkP\3v7zh ;' -JV2J+p80EpxNF/`H [>"2 RR*1d0!<<W *G7z '@!A" sTU5gj v2Y?22zt?]* 0/9+(8Ӓ9dhDEEY/";{˜TRQpO?&rcPi 7SQX}֋IJ[q͙F7`iL4}Ǚ8l> ~}m#Uz "(4y ?&&z3=쀅"|v~;Z/G?\{Bf@BG@>9ϻ> ~NlP0\LӍz@CBAGz?5աv;?$Ll_]͟="awr0[xw~|{D#$3 2z  E Ɔb<2+&j? }ΝmO?#`݁јo4e xr^څ;~vqv©=kqs"P6ڒ.*BhϞ7-n ]it‡k0am#섟~,ώ?S Ʉ:$07Gd\+ߧc/UVA^=(#۟w_1c="7Mŷ{jHI~~RyGUU.z c="5/R>D~-'jkkedtQVU`gZ*s؏w" $FJ5z E /] 178/߰ϻ?9'3)eT >Iũv¯|YYݟDVpCBP`YiBw}|GO;?OP^^C_>ʌr@C {Sqtׇ 齢s_~Vyg  @җ~FO;@MGJ9AhC=a>~.Oj?$/YcxP xb~>L! ;?JaG~|QY'0L2" 1wK.^\\vyZj?k dj(3HW Ѻ,t^?rOuI ?A$6Eחdh^g}+(0XLq<7]4ߑ>  p ECyk|sV_ i]N@&Wk4PC3RDá|Qv~=9O_WS&/4.(Pw`{N׋/'|d : (h}w ݼ~-_~I 2ô/HǐGł/_9P@"6:$4;hDg xYQ. ޏsamv wUyg$ (0(88irG||_CzX{s/@ZAdΏS\dw xPWWȻGF$/RкaP_i4#PLR`,!UYr*{ilj?v0ˑ&6gb/cރDMZ˪8f~y۷p]f4>9CkMBNAfA (h]P^SQ\c_~y߷v&킵?R"%ֿzӆTNJ6Oc0;n%&.m9NaAud[zrCiƈ~.S;Pu wO@5utjk$[е}ubzvv(j" E~2i+% _VE#Z ^X{ZA֭sH wG)jj[K⭽ϡOPnDbnϪky'mD}x-CKXߛE~m$@qDd_? ǽڅ/zG=Bӻ>IƎS&?qw%_N-)AwbPWN?)yOBOg#_ pmWF//-u{=B@+N<MB}*.α;qu|JʬģKl? ?i4{7bXއF/1^[wVb`pYFǧPy e:#6 slwng/%!]. kc6_C@+'&/8N,! ?{)upVPgf%j@JKK̓q*yxzA$#ɏO Z!|"k9_eO>tUVcqI #^:&x=2@P?cTZ?:30O 3@@+êӜ|۝8m'7N̻}3㤪C?]% ide!kMMR.x*vG]10Z~I*=3`jѤ,rNt7Xw-Xy]PQjq@ci%z!Do3y|@f"V=9 5p[ny=[>q;\'nDCD~E嵸S D p,'\[2j^]ٻ`3#هߞaȸ| E%u5񤵎X_oX?seIKQ8-cc~çTY!@GN@0ha~.$ ;y5,&U"xnE{&cI8~9G' ho"*k1lr[ j|B#'Wp$7}ߤZ2a ËgnFx;ӣ 鞺ʖ/V%!u1[>/;o]2xܞ+ޯ{G/;n VecvO1.T,ȳC}:._CXO/;w+eȚ5yAːIv>"""14ud 8aFPBJYT%Z[ө i> LSҁcӏTr1G`P۶/Hrޞ¥,7Xd~|$:Ey@IL׼kY:yUW`\,͸"@o0[_AI嗅IL}p$~AC 2{6ЉعS@$>(FI\7'?\L`.9^EpC؆)0wr[R}/}zlpi/WqRtš >48w fGLrc>Lݟ/}&LWXCm|?+J<3hyplsͪ{#{}.WgGƯEb$'w87o[wRi4v@Ey)x ѾR |jqtFڅĝBt睟y$T'|bO{1]$ 4V>D~2ۻ |w0:6iL @ZJņ1̶DP]k'qhL?񷮥@\_9RsdC0Y hk+$`DHZ*^z\f۵@QP#kafmRԃ_BO=}rȏi1~4vZ;@io"*;xyeZ 7̔byE>y<\˪O'A*̀iw)Tm `"|Bd.{N .9"w9w֜)٫Qxy5+pr/;?m6ݓrqG nEQs|2Nߌs< ܒTgBrԅ.NG *6 M~~V~'i>.+Ul^>9%L"T}XrH%xi\ɩg/m-_۵f՟h/ӳ׿Et'0ae.Vvd'H|NI`p GRmǨKbzu>TgE￘ j,.nTu&x fqdWFeS}e՟_u=Ő9~S>&ڢ;*2j@Z i3[nPґg"$^ *5ÉTZI?=޵FO׊fY^v'Es'pIzf!4{蚇.Q&d!q(tZS& ^\@ThE)N%O[bkD p_ZsQŪr3=xsimyVvG!?xwdis>6v@1Htx;xzzOMkK# =!ͯ% H\>uodԇ4d]+D1u֧'Gઌ>P ,(]'k_%0ii]ygK_ I=%S^A@ 0kS..G>f*&}vNmŖexeSCrIs)ֆ_LL+ۙ}1brY-galMF/xzn&/ZynzW=]x{u!699ǂ]uAv{gU '.9om#(7mN01G09?n|pk=8j;rJ3-!vyW'[NÁU+}[gEsj[֟VYΧgUA/O!nD6aqDhz{ܓY,^B~c߿1}[SP \N22*l'򮧕GwKvaho6$S꨾6_td娥u-:gwӵe;5VbJX˕YŤ<`?:s"l.hg)X'nύbM43wI}y>#?õZu_ t.Ctz`$dPͰ-"71rb *l'_l1-'YZX˴@~ЮS_hj>@k#?yգ R q?Dygy)=fL; @/@$dk^Z0R>|ӕٓP>9~;+>b_L} YBC6_?cr@`-@+O->! Eni''Nw99\{Ȍ;pe3%G "(GF<p%$5qnXn):w鈈iSż3iq!گ ag3ϲ3sb8P> IJ8+u*۱_v'}jϺٸk"wN܄f#i>@?".ƿ\sӱxwW?aTL"ԓ0?]ح+@x7~ kE⊾ۏ!Cv* ;hzS$k?ՕH;GLs$s|'?i\HId>ʦܸŕ3n8"X-/wq7X>Jz۾FOg:ulII>&, %.Ҫc}φ>+4{Ʉj"gi%,EjK>&nxP$n<5k .]O1aQ(zx\ۻĥ{`z΍VB!b'KN= G`{,ev `\|;"v^e;n!@"ocx \TĐ& ^OU{׆w>U5xaPCKOD$ZHϜd%*# ܘvDؒXnpsa6w rJj~$*%]ڑ]ODatM<¢; }^>CW& @ |oo,@\*Vi2oC@Dq?ޅ1S7U`&Z(D$5Hu.jF9}ImZ*tt` n@BaMI:>Z>3zquCL ^ ݎ5>-CQxyYp%(C&G@1OL:E9,og8 HŅaj*ÏWN@"lLkZX>vU3El. )' K-#;\M:30zz<Bk#bqcf_Pڠ݊dG;΢SW$VaWpHhZYi'pgp.ibUU)&o25IBaP.܍]_ 7Ψ UNN^px /AuML'`5X]3[> ^}7W !UvGep EGpIFOpLG#|v'z[)XM<uS]%EAJg- ~~:t0 W Ɋj@JN\lxs} #Z .{:Ϊ<,Kj#Ntl@=>uJOZd<0%*PX^6BdlhA !9"y='a#_FX-&2eɗNrӀ}7u%to N BZszd=(Zx/RGZJ "nk^ʲP36.+A"2=a}fO_3 c]"'t/n:䓾#F@chKZNκSo]"'l L"qw#s=6 &3}!((٤4yk"pJt}'>\=v;h4, @9zE.ѹEH779$] Jh%i=4DY;78]OvgggK[P&/Mr1Q2^7l) @Ks&5cN@,N=]z/h@>O.65MKIW<7 O|ǩb; &%~v76znA 4#sOzH ,x_pg9H J&s.E.%H& Bڃi A@N6zvrc6.{G=rQ9 eQe;3\_d_;?J. Z <70zv4 gϴʉ7.eMk>oKP"Rr%(ײ{d:KOܪ I,-FǨv/}q #Z3[lkM8w;gxOu *P>Ȯ|&#I+HQQ o=gY7VYg7zXndn|VrGGN\zx>_vPU J&qd#D@"HWPLw0zh.cBg]]G;EA*@?avwV= ӵ Ҫ$Jٍ~c-Ż+2ޏVBgDX}m5n?Hu hڻ5@TKntn=;P& kϱib Gf&2,ܻu&‡!͆._1[OH*dWQw'@;یfMH+ٜ 2IȒp{tiŤUzp3WygQyIt!oe!$fo9c%7z/"fȍ8Ϯ͔09$>H|̀pC h{s0}Ge$qM䯸{gJwy'r0zj b# C9Vg84T],;=CI);zd?:  rD3wZghmCCn|%~xQVӜJ7g,?C@35ȍȦpiN+mJ--@6WqIFOŗ{­sZ1p zahR~1v!@9z#Vl3aoFu>`[ Eđ* ta^l+W U聢d/Xg WO^tC#!a!`k*|Zf$84'"2&LABWᯗ212y¯E<(SYQYcpn Ek-+rh5j.Z@^nz?-yV wy6aҒ " Ҧ?}uS$h}c٣uhx $$疋@a!ˆH$Q!\J^YH}>'0B뺓cwG5"1ӵc[.B&x*YtosC&ڙN# Ȟ&u:9>hC}h3"wTONI;_+aK}& QOܲxk㇚ѵfjnF\Z09ٙ88omd('ڝYThV+KKOnjgq|?7?mrG w/ "2+H Hѧ H&6 $8?\x;'Qi.EDsmS [P77g-@ :-kbDHhsL-Zy>n<ξq`ْ/1֞ǭs>-Mlpu|(>j!^7[ 1* !c䙾QE4n(ՄG9Х|d[k¿c#3'l$x3ش1*@꧞SPj09i8/s*.?@ĞzJ7,.}xtmbxPK/UkBSEi#~Π˘nsC(:E38*yn]pHhL\~{W[%wȨhڊ?1/CL[3 upY:5A6 nEl\c\7@뼀\wM"|dن{nDLvXW  @Aֵ׽ۑet'lsӎl_ڴO |5>Rt0f $@%?Lz"+񧳎yms eøJe?uk괦Ϫ?gxi#z~(!*,;֗ 1vW494$Po>\B c%?~^O 48_~9'ZGwDSе}` E`ӱj .ڑ(;z~@,~tr.@W[UatT"qEKJkd0谶*z3 BqqO' @^.eolN@H80)7ϣc"H) ' hu 8[M,czVo![G#`Ua.^d#Ӱf"9Uq~/-LQG&0Q1wx:>K'a?K6OUWpm\BCȁB@+jl(].c38Ysյ|&@Gpol gy&<% <5zci>\m~q2l(!A8縰nzv Xp¢1Ӯ{2κ2Oݟ @̴ oҽ`Hd",B@+GZA fuD}?VpuN"C8D9iC75x<{7hԟu%VEc3,ەCݸ":(U(#JᚁpDuf&VlWh \1D `/pcfw²t֛m&rC~ӳ $P)9ї9#S"& rpSF ?}kjMY8͚K,¿ݟm\[kV1j 9NYL_PAq#(] a+F^? ,whiL~]fuONEVR1CqA +FZ*(N~8‘Q%P^֠ bD4#w"ڊJ|ܒ<;75 >CG83.omPq8 {2L8R0}*ֵbg zb?"+/}aPס p4 1޹`H ;[>șv"/ ; 7O2z @A!@A!aP8\ GM6W oeŝƏH_]&\n9Ui1CG^$W}3=y@K^ڭ՛a2+(:rCk5~M+(:8#/qɴ9PPTWWtzt;յZGa3CF/BbÅwΏLsi,Ȯ` fdEBAޯ@0Ϲ Żym@I{2P'a=QoJ|U\3$85"F@!N@6#'sf{U#OukL4 as;3za:.r˻:5 0) zW3mF/B[EO j'@5 re6^>z !1WM2F/B[M:' NBOOZBJgРM기BA+Җ` D$ jQ /YF镎M&SnVPh&(οpIS/4: < >@7ޓCIKcҫSذS{SA/@齻O~cqI>?Dg7~]3ЍLKdXp'Fr1uڽcDHLLdp{L PlʺڒE);E'ŷHVka<w\]-W7rE7ښ@A07^ch'Mwi^#Y \]@A2H@A`g՟ :Hi'S4 ABK ?l OAuxUX 5Z O$@б{3((8M~$$D$ߣyP7^4ӮOO@d@@I MI@XO >4wm IT~I;6^`O!Pڀ]vtQ)_xvVBHCEd@9B/HL{)(kpPMOON?I/"]'Jd }cO1 p}å+(-@!p!lW ^Սá>]'!L|Oj&C!4@# I^}H!2 ;+"d-@z1JALW 1 D ʗhMerƫ+5{u z(IENDB`(<x   .UgklllllllllllllllllllllllllllllllllllllllllllkdK 3m~{_  )?;#`*t*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*u*t"_ 1{K +d;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:Ekd;+<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;: 1k=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"_l;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*tl;;;;;;;;;;;;;;;;;;;;AL>;;=gE;;2:;;;;;;;;;;;;;;;;;;;*ul;;;;;;;;;;;;;;;;;@ef<;;A[rC;;/y*4Xn\;;;;;;;6K\;;;;;;;;;;;*ul;;;;;;;;;;;BM;;;;;;;3Mc_`aN;;;;;;;;4noooM;;;;;;;;;;*ul;;;;;;;;;;;Xp;;;;;;;;!=V6u;;;;;;;;;6aaa;;;;;;;;;;*ul;;;;;;;;;;:qsu;;;;;;;;2;;;;;;;;;;8Z[\<;;;;;;;;;*ul;;;;;;;;;;;r;;;;;;<;;;;;;;;;;;;8W[_M;;;;;;;;;*ul;;;;;;;;;;=n_;;;;;;;;;;;;;;;;;;;9X\_`;;;;;;;;;*ul;;;;;;;;;;@iZ;;;;;;;;;;;;;;>X;;;9Z^bt;;;;;;;;;*ul;;;;;;;;;;Ac[;;;;;;;;;;;;;;]L;;9bfi;;;;;;;;;*ul;;;;;;;;;;=Zs`;;;;;;;;;;;;;@<;?}}~~;;;;;;;;;*ul;;;;;;;;;;:[wg;;;;;;;;;;;;;`}{n;;;;;;;;;*ul;;;;;;;;;;3mkkk;;;;;;;;;;;;TzX;;;;;;;;;*ul;;;;;;;;;;4UUU;;;;;;;;;;;;w|J;;;;;;;;;*ul;;;;;;;;;;9>CHI;;;;;<;;;;C<;;;;;;;;;*ul;;;;;;;;;;;1Oh{{{t;;;;;;;;;;Tq;;;;;;;;;;*ul;;;;;;;;;;;1qVVV;;;;;;;;;;los;;;;;;;;;;*ul;;;;;;;;;;;96<<<<<;QUX<;;;;1k```<;;;;;;;;;;;*ul<<<<<<<<<<<<<<<.kDDDw<<<<;TTU;;;;;8ADEc;;;;;;;;;;;;*ul<<<<<<<<<<<<<<<;+TwNNNK<<<;UUU[;;;;;;1Kb`dg@;;;;;<;;;;;;*ul<<<<<<<<<<<<<<<<:*IdUUU><<:VVV@;;;;;;-g4Ph;;;;;;;;;;;;;*ul<<<<<<<<<<<<<<<<<9+DYZZZ;<:\\\;;;;;;;4+k;;;;;;;;;;;;;*ul<<<<<<<<<<<<<<<<<<8+=M]]]q<;qrr;;;;;;;;9;;;;;;;;;;;;;*ul<<<<<<<<<<<<<<<<<<<8+?O[[[`;<;;;;;;;;;;;;;;<;;;;;;*ul<<<<<<<<<<<<<<<<<<<<8+BUYYYU;;;;;;;;;;;;;;;;;;;;;;*ul<<<<<<<<<<<<<<<<<<<<<8+CXVVV;;;;;;;;;;;;;;;;;;;;;;*ul<<<<<<<<<<<<<<<<<<<<<<9*G_QQQ;;;;;;;;;;;;;;;;;;;;;;*ul<<<<<<<<<<<<<<<<<<<<<<<:+NmKLL<;<;;;<;;;;<;<;<;<;;;<*ul;;;;;;;;;;;<<<<<<<<<<<<<:+V{FGG;;;;;;;;;;;;;;;;;;;;;;*ul;;;;;;;;;;;<<<<<<<<<<<<<<;,^BBB;;;;;;;;;;;;;;;;;;;;;;*ul;;;;;;;;;;;<<<<<<<<<<<<<<<;-f>?@;;;;;;;;;;;;;;;;;;;;;;*ul;;;;;;;;;;;<<<<<<<<<<<<<<<;;/o;>@oqr:;;;;;;;;;;;;;;;;;;;;;*uk;;;;;;;;;;;<<<<<<<<<<<<<<<;;;.n2468;;;;;;;;;;;;;;;;;;;;;*ug;;;;;;;;;;;<<<<<<<<<<<<<<<;;;;*g3;;;;;;;;;;;;;;;;;;;;;*u~U<;;;;;;;;;;<<<<<<<<<<<<<<<;;;;;;;;;;;;;;;;;;;;;;;;;;;*tm.=;;;<;;;;;;<<<<<<<<<<<<<<<;;;;;;;;;;;;;;;;;;;;;;;;;;;#`3 ;+<;;;;;;;;;<<<<<<<<<<<<<<<;;;;;;;;;;;;;;;;;;;;;;;;;;;)?;2d<;;;;;;;;<<<<<<<<<<<<<<<;;;;;;;;;;;;;;;;;;;;;;;;;<+d ;+=;;;;;;;<<<<<<<<<<<<<<<;;;;;;;;;;;;;;;;;;;;;;;;=;+00p(0` !&''''''''''''''''''''''''''''''''''& (auxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxsV !5R=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^4Q ~V 'z@9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7,EsA ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7 x&=L;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4Qx';^;;;;;;;;;;;;;;;;=<;:[~f;;:;;;;;;;;;;;;;;;;=^x';^;;;;;;;;;;;;;Bmq=;9x;;*e8UmSA;;;;;;;;;;;;;=^x';^;;;;;;;;;;;=t>;;:x;;;/_aaa>;;;;;;;;;;;=^x';^;;;;;;;;;;EA;;;:x;;;;3LbD;;;;;;;;;;=^x';^;;;;;;;;;AM;;;;:x;;;;6PRT?;;;;;;;;;=^x';^;;;;;;;;;q;;;;;8wO;;;;;8Xt;;;;;;;;;=^x';^;;;;;;;;CF;;;;;3qRVZH;;;;;;6{zzzQ;;;;;;;;=^x';^;;;;;;;;Yv;;;;;;,q4;;;;;;;8kkk;;;;;;;;=^x';^;;;;;;;:quy;;;;;;;;;;;;;;;9egj;;;;;;;;=^x';^;;;;;;;9{;;;;;;;;;;;;;;;9dhj>;;;;;;;=^x';^;;;;;;;;v;;;;;;;;;;;@[;;9hknK;;;;;;;=^x';^;;;;;;;9}y;;;;;;;;;;;fI;;vxzO;;;;;;;=^x';^;;;;;;;7y;;;;;;;;;;B=DO;;;;;;;=^x';^;;;;;;;6ttt;;;;;;;;;;csI;;;;;;;=^x';^;;;;;;;7]^_;;;;;;;;;=<;;;;;;;=^x';^;;;;;;;;ENU=;;;;;;;;O;;;;;;;;=^x';^;;;;;;;;6YwZ;;;;;;;;m{;;;;;;;;=^x';^;;;;;;;;2wggg;;;;;;;<;;;;;;;;=^x';^;;;;;;;;:=EM?;;;;;;C}\;;;;;;;;=^x'<^<<<<<<<<<1hkkku<<<<<;Lo<;;;;;;;;=^x'<^<<<<<<<<<99DN<<<<<;UizP;:Ti;;;;;;;;;=^x'<^<<<<<<<<<<1wSST<<<<;Zck];;8BKRe;;;;;;;;;=^x'<^<<<<<<<<<<;.SsnnnL<<<;_ac<;;;3f~~~?;;;;;;;;;=^x'<^<<<<<<<<<<<93CR<<<;abb;;;;6SSSo;;;;;;;;;;=^x'<^<<<<<<<<<<<<68BJ}<<;cccg;;;;;1AO@;;;;;;;;;;=^x'<^<<<<<<<<<<<<<4=CI[<:gggS;;;;;(_:;;;;;;;;;;=^x'<^<<<<<<<<<<<<<<3@CFG;}C;;;;;:;;;;;;;;;;;=^x'<^<<<<<<<<<<<<<<<3?DIB<;;;;;;;;;;;;;;;;;=^x'<^<<<<<<<<<<<<<<<<4E;9]Y;7;;;;;;;;;;;;;0~2;;;;;;;;;;;UO;8o;62GYdU;;;;;;;;;;0~2;;;;;;;;;AZ;;8g;;6NSW@;;;;;;;;0~2;;;;;;;;@u;;;8`;;;3m?;;;;;;;0~2;;;;;;;;w=;;;8yyyF;;;:NX`;;;;;;;0~2;;;;;;;Dq;;;;6GPWD;;;;;>iT;;;;;;0~2;;;;;;;Z{E;;;;65;;;;;;<<<<<<<<<<<=KA<<<<<<<<-k{cE +b`zr(IENDB`candle-1.1.9/src/images/candle_20.png000066400000000000000000000011361421102410500172300ustar00rootroot00000000000000PNG  IHDR sBIT|d pHYs9tEXtSoftwarewww.inkscape.org<IDAT8Kq?>sm$K$n]tu.$Efx]D!!$|AҦ\{8Og{?Ώ9p4i:xEE#I";5]$l1RuYt (Y=|F1Uw1(e9X&!i0A`UN 9}w!3k|Eb[?0t '`o_fk!:#w84Z=,?+k,"0BbfAn6Ck/ղiQVoUz A{+kC`V~ _2]s.bi>/f~(h\ֺF㗇Gxx/Ґ| <}Uh遷OW@X~7 /}<RM)T_?ki|d<}C>F- ] d:C_C"6B= ?$vdyD: @~g9&"N. aA&w_t k~ kDPRj_/pZ +"z)կqp8wa'.Kf(@ @y瞙5M%r~^!˗]`1EaaH@@`ho9NݸԞ7, zxs8gIycoeǤV̸zȯp8-A~3$Ư $Pyp8۲kr:@Mk[S'>1)yU?@р aF-u{4dn+T9",x~"AgBߓsS"G ʅ03ST >}"<%v( #?M(Z1@?(dYƢ",+<O<bߌYGmq졇3S<~(EQ08ΐ@2aG&?1?~?~?BV"6csSU3ÂiP``~}V&8 8h6? "#"I6F ̿y'pHHpx!phs O2mc"'ӃD"|>x=Yca*bd===Eoo/zzz I/lcrx:o:ۋ>CEQ1T @~IGoLVF03}>#1tH>szx~bA($IGt0\\;;@o$A0,E =Kn,|<` @AK:../N$d}>< Àet0\\OO&(V' ?b$E 4 /2t$\\w^m$'˲%[|EZt]*o |>M5KU CxzaY($ OGUjWǩ.]N"S?«[gC~''~!@gC9)ZC~ i^wAu .ed&o:1\Gg' ?jiiUrj @wz)o&ݟ9+xdi؟ G 6e"ßxmdR^4;o4.^`Ě #Lz!Iꏮ 6dd&n<ф@_G1zzc/ RE<$RC>' .mTWxGRrAX~MӰίG /bQi(B4iAN7\ZĞ>~/-u]G6ܺ%b)-nz\.W ´K4 .-`d&2wlOjm .]Q~b.@VS~~ m$9̀$d%&3PqM U}v~tNv-i¥'>TVG2F:6dʯXODj!u䇏:.M$񱛇p8&﷯𣍟>vawlٹ'*:DFC*MS'Bn?~boەW& |Cxh[o;Sm?SO|vRǙOuRR76a. ܿiէQph|C|X(X_;8~QUzl6k&XO;+jxbG(> @{ݺٽ+aӯWUE,o_gkN@$:ҞIbn{no}'tx][/r>հ@׌Hĵ;PGbz"Ϯ=7K8^zix<-;>'TmA$|>~KAl[숛P'bi bY~x~RKu W~]yPvP8#@"O֢SfOo e=j.u0~1o>2G2^iÚͶC K?H>?zn{,׌E=^\ :GGaQi=ݯ%K~ެT`ouۢ$2 ػ_pG^SP?mG'_ud),sR@?+v%´a{~~xjW^cIpSq?}a1`8yicΰ5RVV~f d{*Ȕ"[} bO:.U2P_@l}x~->bxۯΆ^Ξg\I/"rNaQx>B=x og*1J?c;@4؏ 蟱uD^/f͛\Fޟ1?iip[; 3匿O/8{EH90}v9Q1pRk4%H"b~Ly2.s$<u4~ؓMU@bh^jxOV$@⣰}f,ޟ6~eG #W'/z  Kg_UU&yrdDHz_]ոET9G|WM{,g6~6[c4 f\*Ӵk Ɇc_Lz;SHduh,Z?Hw]9> `P&ϼ5_mXh~}lҏGqM&!$I,sCk~DAL*NGv @LU|)|cﴬXXXiv5,mnsYcwb!,\Րd{b1!z~:ڢ >r+Wp7lk#ޟ@OWiiE{/G ؙ,Z}N}@ |O$If 2G80Ň4\J[sx|V$ݸ-~D~*Lb='`bps~l E%D?+m3u;n @zhҲ֜\kmwCUmAc1|;9mfȲOź1ܸ!]>h%9H@8S8FeΟA?iIą}Zsïtɾv1~;a6YL-$iɚwcXk\8p$6$ M_θs}1 ;HgC^l/C4U+ >ҵ5~::y3[Upp ~i?oW?&\?c傰. 8K'\*V yU @e(k?T{ paݶYp.>|lϮ>maovG Ȁ[f$hӁے( `pͅ+?#%{K1f $I1&,wѡ t|)|؟(VkW&myLjI+g-^' L@~iaÀ\.l6c< .;N@{ulLapl7R/0l({Gt 7;\~$a봟[k1*UU}gl98bv"@O'UUrcI .'^000<7P5#P(TҒmЊ;;aɛ[2NpHeuܲ1 _0O kB _>!蒠؂!]$,D4v]V]dلl?>#^ussŐH$JsM!!Z`wR*Ute7UٿlyFŹG} ?Y/B!kvv?_4oagzGYbl$`7 ED Mu(Rf7aia5N#A4` /(mF,Hwrq.&.$2n}! YtnιTO W62~X끾_/z` z  t@ [#x~: @yC <pg&P%D"J'Xs?m"vu;irb4x:\gE2a6dxT*l6[ ~l_1fŮXbIȶ(^3pSDS~Rѻ̔So"0.X^SV(}9"`w3 ,TUS/z_πD&NYa5 =5&!T iI`4MS+!Fc":qTDCq^!ɘYP=>>v?c3v5vdVҐ堥ǩ֜M89ek?6shէ.px:mGGVP03B{\.EQLѡslN *.(|e+%IB1.MHTkiKBZ=9ZƺCi4%4 FH[1(IiЯmgU{׋'`rXD \/ٔ,rZiTlkGs@(Nء=B;vg{״['އKu`vMz˖- :[qI{IP*@)i8F!?^i-W}06Vu:W/YK{i:LщRI'tV^fٜ4DdjM ЍDنl;/vio5>6zXrFܵKkx|V4+vmK;iN%V\bŜR,0~6!X"!\z)ZιÀ@T}: gxͩ%v?9Zv'bƯiv=}+-lQ >6\6?'ONP)vˊJ}o]'6 5Dzg7f_]uD"Dt.R¡Fa7 "9K+ TgL9gBwjx/ZYc3L#.<@%T+}}6^uF޳q~{4~6pj/]jP/ v؂+N-OtkliѧյyJxvwY/EznYfG.j޵ʏVᔃEOI.]LfV9-4a Mh[pڲμgFMd2Q@zK7nOv3x|{һ{˕KÎ7?+?9:If!DQDBr_p ӻfo<Zif*K4DciQSʉM $Q\[iw\%ɬ-(xZM'q}FgMO KwY"\ ^"Pxs0ZAg?[I1v_,TzͼpqA93 G3FU#mE[Ua HteaǪc8w"t$FiF?$ {~k 0 VǩIK~G'N >Ojl=(.[?;]GЏ G`[yu"i횚k`s=K4So6J/4+POVz<n5#9ε$V5kEٟ+=G*B*@B&3[y":k`X>dŠxMSq\w==!E)i8QP?{]!sIq``f疥IDATUu~anGNL_, 4Ψ1z Iǻ$Sڰm(tjzC=/7뒚fT4ɠmr,+]0U:+C钛Lz:]aLwn)޷b"8Ԯݢ؞ՊyDpiS?yp{j#gJL&m6X v8 JUPNGoiB&4N3`Ccz:wP)Bw #LP, (evAYUU܉n O^/?l*"@S 䊦SI?Pώĉ?[ƦgcH"QKðdgP[|  NefFL& @oAV l 0H?_g: ]qH o6}xgS %8>(lIGU#ۍ=v3VO>?^Iqs>=#K>'Q D+NUy:0- i!6_x|jU8KD*3#"lh^.5d|*\>6>)=h4X,xh13 㵻ӗWwZ> ,@r TGGah;$yд\sd-ޏgKm#]בCTv[A5"a3Tο@Uit}a"R~e5gg(C{%ղiE K=n_T݆G:va@&IێKM=a&Bz%Υz+yA \kID,3"[H=j`4q T.i םG"7h4h4oյHئ!v߫3]x&tݱEX W Ղl1N^ HCCC< @ϱ49{. t_*VRAWRC_@@vnh3SdUn]3EٿItގZNJN)ط5Jʕ`nn#Gk33$93Zsnw\!,k SX݉ זg)6j_?;RIv]_͚5vra̦ r_c cV |+"e†ŲȄJhIr KM)u* -G=\!',Bŋ`1 \է4\!'.,(':tTb޾q?G ws\yR>P9O4z۽&܏gq+?Eě)Lö /iUp-M ٷ&R\!"l2ɮ(", +8Q؅coo穵=ӖX7dm,Qn>@,Y{>rj\Ϣ؄/q՝`8_A`Xlx +A@b2985t% G03\v3@2RL5($p[ɴN*mN>dNpx`M$nzjаx5jW&p?3i; Ɵ1I.8{n>ݬҩl9 AӰ&^Myp;eV嵂@pK ׁc\ *dZhӂ,vE@<|hm,PIJ\xyog@V5ȉ-ݝw(Z5 W ~G&M[L"P;@w1;B~&⓿ߑ] W8EіJL㧅ņ$±Mx/?“;:}TNJ3ŒZ0~k9X1(6= i_jѕW )+X=d :P* `<-6ZE1 Oݯo[G2Hފ8e+K>st:e 9w8EG#Qz$ Q@$Aoo/z{s ܞK`_$I$VMg3i u }p\j~R)s7[6('!HyP%I-BHtb7 D"C?ߏ6&<5]`}'.q؟ZO#o;H$ 2-XMT{$ia"" DӃ^ctg*lhoɟ,A@)79)[uim`RN{ A򠑇bh/׶L0Cpf$0øiSz/Xn򷴞!ӱ-4~gt$@ @?o? \/aEGD"liMS" 2$Oj-}~v"̋@৛[fPWT?I#Pnb.=)e7 ԠQâs[a]BD H$ׇsZv5bFvk2N^CynH&HM @۔][@D[ l}8 mao/sƟ`f/b3Gl# 5..^vwWgv O?->1`=ip\K@q ل,hIvlwHm-CDz66ߘ3?w@@bt`7~cw~w~G89#bnn@MeQ#콢m:#@& n[gE"fUUE":_O+a`9annΌHN\yE'wv(Xsv"@ A2<)?1`0`0h H&߮;.O:`˅k.y3On[Vhei9ez&V@;`5\.ͷ%.^վ .E:Favv@i*PKl=|B L7_7dP(d`6g_UUqllxsNqW*y[ƤJ֙a3~?x^^qԀܒ벃MdxҞ|5@0d?鬿i?⛴2lOo>\ v{ i">ϲ'An Z188dVW$ͤi?kcrx뿈V1.?ч'}g8\K>۾SV_k /ƍ(ƓB!0EHgpMm6N]JwVJBd~aL\39E]oٝheIkiR soGq6@RD 3~0wqbv< X!~ك9ckoخ0==m& Y:98^=q_ l0Fcjh*{|B?Q~[43, dVEɸ@ &ǘ=H]QN~ tBs't@}':>$uB!AOi8 74Xp#S ̥ƣ "{'-~eʊ$@ `khװsv2xCw0/q$ I?3~0GKC^>yN @37#<4 AdYK:-d8@sr =K[?=( QkۺQ<@0X2tO'$I >} ޥm+.u2[ /mߏϳ-_%"KVc 7F4vQ3oO 邹~btOԍ8؂?Y,?pj/ӟ3P,,>O-"@Ƴ@>9H r9WbP=3V5G0|$]^?<0ѮڏKP1­8',Gn @=._[1&< cp _*/#!wI{L}pN@5 ᆧbfrO;[q8~cVI/xmӽؕ;S?`b֩Bd/ӸDpo\[_׍'5X> K$fr9k0c"&Bgc!Y w3#g{Bu"@{trF~71zO^oYZI9O| .-/{p WqxK2Ĭ| x>7v:pٕye-QW ?$E0kw tcCXT᭸.m '.qR(QW.)?9G{tbX)o.t]@&`0,WEsZ`R.rw܋#1}|ORf"Y @pv /)wW 4<G+(8SOgK@խkԉDZKV %X[xp8tRmުԍt[⺪ԍoi 0Us8Ifԝ'4@p85@|WV[2 ߃ia?xЋFmp7^kp8ظ+m3r6z{oTNN3r_c߳eA}5A>q_^D0E>}׀pC]^e֙6=ns) 8NLGo>Uאo(aAw 7nu{Mc~̋z٫T ckE(!o{usgW 4#džוOC 'su@o{)} Tn]m_c߳$ϟCg7q @kD䛼]yW.Bot!ɬz zy~b7c0 @/O\˗]p=-镗==1Aoq!`$Zr.Ŧjlx*=wn)I`h 5zX C@?E?3vȴ|8=,x 0 Q] '!G~^2\p8@dŐ, 0 Ad9b?Eé'"?!o1пQ@y㗐7x=g|H]GyßC^@`> I䍜D$,Z p8t/ /I,xݠDX.OT ^FTr8 U2X*QP4W"@ # z1,Q䍟LYG"@-$IB!ݰq >vO"h6"@. RȫUB2N7ÎY'a ycOb1?׏"y1P)b!YD^d >dN(FXOI@Y0~h FMx|$yq""D襾(f@ |hD>7cه(iZ& X+|5r r PC[`_+5|xrmT{IENDB`candle-1.1.9/src/images/collapse.png000066400000000000000000000002571421102410500173060ustar00rootroot00000000000000PNG  IHDR r|sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<,IDAT(c?dT ## b5_,G i &6~KIENDB`candle-1.1.9/src/images/collapse_disabled.png000066400000000000000000000002571421102410500211350ustar00rootroot00000000000000PNG  IHDR r|sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<,IDAT(c?dT Cvv b5L:U,G e IENDB`candle-1.1.9/src/images/cube.png000066400000000000000000000007761421102410500164300ustar00rootroot00000000000000PNG  IHDR00WIDATx^횁m0D)b:tnA;!ݠ7' a tRrEl驪Xa=4u@ɅZ@! TZEd+vیgɅ#8(pnYӕ6JmmW2n뻒v[ߕLRhiBW vw lC WԺtn m*Ñn F(@ \+!,v B擥05t`C' ]+ģ90Nj  c&-SFFċ /6&||ƅ\,@XO,  pى NF|ܢj誠E /GmJ]n!τǤnh[IrLѷ/>&||s!"^DL(޹(n`AIENDB`candle-1.1.9/src/images/cubeFront.png000066400000000000000000000011461421102410500174310ustar00rootroot00000000000000PNG  IHDR00WgAMA a pHYs(JtEXtSoftwarepaint.net 4.0.5e2eIDAThC획0F@)b)@ pCW%\ ar!!/8a&¾Q3ϳ9s;u oi~Hj@ԞkxH &m?⪔- ٖdU%@+RQU$5-V%:R]U|wȶfؾ :w*"muUud5"v(."rde`o<hv`l 0M]+p9 Ϗ,ȣ`"V6琏/$D/f$21Zz $ ;MjhD5 PHzeiH/H Gw!WrG)]BwB]*@]PC7Œ}A~ܭړd[ DR χ^]Hؓ+^%&M ~9W/&y?`'K -xHJ$5UqCzĚ@@q?tIENDB`candle-1.1.9/src/images/cubeLeft.png000066400000000000000000000011641421102410500172330ustar00rootroot00000000000000PNG  IHDR00WgAMA a pHYs(JtEXtSoftwarepaint.net 4.0.5e2eIDAThC횋q0 ٠#dQ:#tt2\I3w\ILNgnmYoh+~oop3&Ż riv(::+hSAYHMae*TRV(Ѧ$m*!+!;D crZ wc ҬL3+hx6%Š3Y > N ZG{Ӄ`rb!fEm!.P.`A0rR{ i<&1m=hW&@H6&r H`C7G9F y 2xqGFExF/俜`wB Q*Lq va>Rh*n%[PyX, I?G҃A.T<(TJ㰚t&<:ںV zڃ |g¢Fh>.R<ƒ"Sc7ϭ_ĥeТ8/4Tšh LN[۰U:|mi[++ N';p.JӤn^TRJs\A쥭FTԥw5B+Kc3ϖXm?D> uT0,\j >f,m/5t*}ZI Ρ8\),KvB*pݖs?iw)9&}$Ջ $ ֿmkl"$,+("-l|3Ks+Vx[r 7E%DOK`*JGnZXE:6)jpz,3 A<ԦwpI/p#ӬfeaJӛp1ܜeKS-Ybu \ҳJ5IԗfU7>d'7AXGWknT,نY "pnTgj jl8v pu|zmX23Cg@&1)Bo8+ٲNx|[xMЏJeNĨXa&*^d(ՄIBߒ)9}+, *tO'^ rvvp'`=.U'4TpM`2$ lHvϟolfїo` mb%ڞ;/ Ł;H8vboFUPTn=;HbQ%eT]-'_KTE70Y3T&/`;9,. WrQ9D*^}ϒ@IO$Xnp`3ѫ^y^}%{5;Psa~+ҧU.jPO7 Fջ3g9˂z˘ID^M8'EQ2JkP"jќ6&ڤY3O]36V󱵬KBE27jkJXkXUKsdMpא5H(iGL'Ŧh^4~qM$Sdm]{b!u[^')X$_{d✜[!()he>a&82_Еh \AMcx>#gxZ 'C,u8˵Olr&% ,1r#浜U) 4wO֧L3Dj(CyޠLyxB0tXdcRd:h'aa G as ԓ9=$Ђ&2,CJXPsqb(K m?R9xo(%2ޤs)ݚL"͙n^̥n0=nws(q_T%cI64o}xi=&ujGѕ7<[cvӑ5tdf3;ɤd0W8xG5ɼ X`YFL,!$0tuCngͬ abI~qRN)۲){iZFtC^r%*?PP|CcY),gϘye7]!s^D 'DӒH &]qdW +?eVsl:QӭyG/ID$vt3 DFrʩ29Q) rz8_@'2YQP߲ge|NF<=L?.-xy\TQH6'fr@ڨC xSڎog0կ«RD34 >ݔƗ0;>i#2%t8*#L`ޒyz:K05>r0]saGZ\n'VR*ٰ?`i 6F2?IcNҏSVCopОnK*3,B.eT](gC֌E~ ʈvjxt$C 9̥ ͒w U gߩ 3`_/YCedn\wdQ3Rq\g| _tfR2xD?1~|6YuRIfMM!H?mle9N6 Dgt\e{&քƸv^Gw<)]ܾX]G`HٜOԁі8D/pJ~qGqE̠%tg@r pN`.Աov0S5/,wb(_h.0=AS ^й#*uD$ hKss&j: col+n{ǜLn,T۪b f)i Lc>ckͯqT\^hnZ\:b8Ճ¿mTfsqX)h%MMtlV)o[jW6wi`)(%.Y;4.U>5c6k'f5\MB|9xR՗jէr$LBh6[T-yQqՁL2 be+ocgC8W}D iځlP{ZS L+muZ* yvd!I%\5 }FXyXf]2RJS0#lQ"_{WUd:!S+xEƫ|,T:~ 6z[+rT I]!.|"V>rmT sXmr:t"V'=Pb@!~J{eErH ? C;U~o#RUR _T (+TlvҼ&Ӄ#?N$W׊+m?R֋VfR~-p~hŔVveX1^PX@ay6qj_8^mF[ |@%_ :[ / $.qRG 5+VBVqT^nQxOPCXD_sܤr\ANYX ]c}.}+r@Qqށg?z*&mU@_/OD|Wj]V߬OmUvkBYa_.NVy{07 lT<_[!VHӼ¢/LJoBA4M4uVC 3@[16ph&+YOq@*Gp>.x84YdTޣF7!Ԇʾh|c9c^>@QO6+p5( jqF. H(ÏNBH>MUss>c}\^vRh9检oC_{EFZZ~meXj\ >ߕl;kA J+}u_[Y_aCL!-#߻jڮ*8!yy˥ޕGM6YHs.ӝ:(ZE[*O zXKK cVIpALQ]x.G,f3(&\ ZGj@av T%ڜ}C 0 na#"x3&xɷ|j5ND3O8h 55S><<5-d95.Z<{['Mp)x6h F6띕™e+LּsgFF>wJjcᏬR\\ ^W 8/NR!2bP<*<*WTϕ7'V'*T0[h=H ~>9802`{fHW|OkL>R;<" /,-4/8(񱲻\T(LYfB@x_q,TS:y۸[yEl!Ka1;A5uּ4k+k{YѠb.S᥈+muH 0s(e-DӞ.\I?:XGZ`ŏ"VޅA+AIX ;l!(:o7y䱛%Gz1t `=Yڪ,]aUcVU 0emuBhE (ccZОO.&1b9-4%kJJO ZS*8W5vop);X| _r<P^$t"*\*G'nC, !^ X!U@0 $0QÜ|ǔ #MN=Hnf!X!?NX!Q3T5QmU `ZA=8Ia?80.EJY[5\(U)bՕa|qMX ,d j :/.$0YU"j0 &F DJ%ϛlq"AwnbdQoSU{Z6h۳˟CVd kw;S[|ǚo0SŃa r$֯oE )xh[*ǘj=(5rvsoeo5S_g.,ԏ0>&7N5brU+$xf y  iK% U! Z|| j'BDu;T~wp?ݙ:}] YER0D{@QBg<՞$$G$(^.u:_ubUWRw4TqB6K,LW~/VLj1fW}*dG\uuay % |V˛B..V@*/Xma>BIo3~GkK>F( %16ج@[6~);|j~yNo״|mЙaWQ|GZSDu lV+QÌg"I,_yqzlsUFݤ eb '^/pȴiʬIٌiBWJZ * <+.9f C?:ew+'8Ib4,NLմC-]g1/(ࣄ+pHwX,O5p ;9 Ea&3nII3C|\‹/ iagr2Y*ڨ#N8vL.ҘAo3H03MPg1Paan1 !LQf1Q\lq )9MAhKt}LW*_8>Zf|U8o3ny?ͣ~欏g=%zSXno)aF2E'i`J 4]XAWHx*7}4x/Iܐx)'/ya>u0JNr1X7ƒcK]o84\R%xz0~\F-8 vᤐ,N.ۿ7poֱS߱PmU$rgMpZC"`TP)(YgRP>Ȭ@D. 9*Q]B$X@"I>̔N% Slgl)Kc1R#6RSGY%yPrd/By~)ǹTPN]YYd2tSE9* ̠Lcgx?U7%=^$gx6rd`4M3dZdV ZrfXer<pFGr z4-i1A(S>{9|8M͹@gSO-b.5GJY0@HՎ2̽*He6hiy읃bD'qШ/nqhRkd|H Z )5#Joz3}|M2(ez'#ML \`{'xQ,g䛕lF!0S`(C!g- +Ma(RMCLeBѺtwa”dA X4NE1N&82_Еd; PS__+?gxkVPc@ĐyU_l($uTKsdMpא5H(iGL'60Z2,>u\y? 0yZ;Iָ&)a$P㤈"*pRFi UJD 5#0 #QG7vr=qV^/~ْr Ov%j綠TY L`WHK(/3alf\<ƪ@iOc5O"2U"sqqКB{@%B IO#=`͓BN dQmҙ'ؠD*7{]udګH,(Iո碉u +mA(IƏYN3ю~̟6& pD般gD`4g(㹑vpl4Nk_ -W1x W2uV[s7i(!%D#W_֔TLZ0W<)Mln9  _͡H׌{5JW:VAGZ3q '&xA5@F5FFH\l/D?68-jT8IV8hMdMP&$ཕ}A_n&K@hB}!6x^N2+HZӬIoryo<ڌ`EeE߅{^(|hǫ!$iդ${F[1-Fr⦈ÜHb2Xd=*@;qÈm,+("-Q5Z?f:3nJ| f9I $teP:ɞx@ߜjp.*e'/um8W"[ZZ1^zToTm 8h]|bA+fEadI.yϟQى0u:$Oj+˺pEFG[Uï^] !B˟H OBg:.st@F mE3UI)Voi'C-\)(JQmTT CcP%X r '7aGW0uK +Ѓ B!acxtz|${"IӵDs+5-'!%y#jj䰁9* ?D"moB_[P9yCZFF1öꭵ *VPy)BѕYCFhK}؂{#]6+ i2+hQtYvNQI( b #mx͒yPAC+ :2۸6<)'(ZJ?cl&/Zp=s9(TT[\3cyR5s/4gs8VoBM0 Atb+mzkYeLGު4WeὔHf9gVo9963~'{dl kxT[*Ԙ*-OZ"f C/` q1!j7Y 'XWR2NF.gpioxhHhbDsx(#dȡB|*49es|B+i29C*)lg?g(U_{%yd';)} z"J$IfX*e3cX8Nvr٨ p.!wjwE!j)K f,פl,@cLyd;I02Fy^5T YyE `/[Ḧ́ycP;J%tEXtdate:create2013-04-19T04:59:47-07:00,<>%tEXtdate:modify2013-04-19T04:59:47-07:00qtEXtSoftwarewww.inkscape.org<IENDB`candle-1.1.9/src/images/cutter1.ico000066400000000000000000003147001421102410500170620ustar00rootroot00000000000000 hf R00 %   > (pO@@ (BW(    0)k9d)&k9-s&~.~o67i,(n2s,3PNG  IHDR{`bKGD̿ pHYs  IDATxy`IHXdl"DPPl7PZn}ժO- UZE\ %EǪ@$f̝w{sܹ{λo.Vp>ӕs1Ėz\ |O>VG: Đ gChPo2Ă41o}uEZ5Ct1rBIg 2KGNZEC0dp+m]!B1)ҊS6~uɑVՠ `#DX A')\&eG0CZeyg'<Ù..<x)<iQ{wOGcЈ!:@ 9AQ@tp:\wU+ˠ#]I5iM}e6w|˷n(+9yQC8Y.)G 5"d)|?Ro .'evN3CPѩFC@-yLJH7,hLfkrBKRk] I1]=٠ӗ\ꖹJ;Adaˇ-ba}fR4&:Lq?6?i\qk GTkrNV~"i'HZxwNYI=i'?4>LI~ms0 㤝 6f˱;L|,9ڲӲYFcdҹ?6n"/mfuɑ+v/:4͈Z'?v}@Kr^P(.2^ R/Z]97֙]/;[F 4eb23\=8D+'] ˃ʴ:,9tl|>CvH+_8IAXG|śd:y_ەhR\FrF=0ΐb; 5t IJ4Ki2\sZP7a͂TS)+Y$y1H1,r.Ri{ 49r~ 8} ›(.)^cCΛn?o[T8b#SoB"&˶](Tȧ ;פ2WWmJ} nbsNWp(I$xRijaRZD(e7@e?rZWc,a< lcʢ| 2k.b~QfV[ ~82YoGLI !b1]VblN׾J'_TxDBMS>e F2N6l7!>0'@|&uϜݾ}u7tE# %psƩ~L<^~~᣹:Xݲv=<73Fh7+[OW%z;}Y^iHdWf؈fVkl6I#WIxhkgܨVrʋ h_qG{ű Jm<CKf\^؞s@53I8Tfsz#RZO<#hܐ1BZOs FWsSZOÁ@]@\ *NZS\֟ŽISBs GK2#=Sc-I*G~* 0Ȗ6R#G MtU >C4 &>NHz*ؕ fXfPb[jJxVEb3L_%8?ңǻ>49'Њ6=h[aEQ>%9Cb{L7VHw앚 uDyv4cR>le߱la+;MoC:2QF1+҆*WMю =f쥐"rG1 0Σ8uZK-D,R>;@*8}k|'ER)L9+Ύ.&b(8X`߸>IceS9ZjBUҚ&1\S5lSPUdtBW1)G9ɳЩ1 N@9*` ti\3rE`I~X88EK> gy$7gS=1wِ <.lx[*?J{?W}_S#-yKcQQ6l2Ec=v{RN=Kh@Ih'$ 9M9 z9 C(ï؄o'|Kj,'O.;S*[z{lxU\{=2ȚxK:X\qrYID߸xWo3o,Tج8)3k䲀lVN4N+}L<2w9}.E{M|tRP#c$uZ[]@i )'*e=R V&wrG_piuj<*A#t֫1&u.Xv~-Av_#i ޲_z357hS[MZs"V ,!Xq 0> 4"FXT yHx,OQP6]*{CT١ F"DlOjDӘ;X+n e\Tդhh3 kTtlTNxsK'E$l~U#e Ě$\z+Գ`-S&ac zsobJDfFu.<ǹBf\*`ge $\2y xZN/Ћ^N]ߵ`+lV} yKi"4:q2's2iC[Z(#c!4?̣s#Id҄N:iPB ^R1m*%e2G(n_y_@wi z8ŵ79fHr~>jx<5c_9^Z]̴S*U$|ieuc=yLf ҊamaޣYO,i AFqy`/ H(\Z}m0ol,' ̸n%tEXtdate:create2015-05-09T00:26:08-05:00U%tEXtdate:modify2015-05-09T00:26:08-05:00$FIENDB`(0` $  <U2cc4*dN pE8$5vlt )oNU. ew=-]p1bPT_H 1q7X3T f=>l f37qV)dk9*u>SI'q|u50EUUUj-6eb1[A#?#?( @   $ ;]jcG5] @BiIcdF7;Yf_+<ID3I)<M)3&gna6>B oaGjOsEe:Icj]; (??@(   eqeGE](X7 .RmtY91nPGe;),8aUhapMpOvb:1fKP+t/Cjt V}KZ (z*ifm@C/~&2%cVZfp$zHfdG}' YImqtl 4PRq(R2Y 'TtI S)sh=4hC#'x$u%=YyL4Yb%8bQo+{ID'JL|ZkSw]8(+AlU3 B3|P`c<kk^+qGz~;e<: bwR~=38 ww;!Ev$^d}#i!E\(W\jl3c (P,C5[//  1~|B Ge' ) /Oj|cF$2>TXXtAl^??x8??????????????????????????>??(@ @  L '_~P|L A `?1)G JNDkQ`3BJEQ@88!Y! W6Hz LV Hl#6L\^  Khj/!ORg FDU.qK eYIF&7DR:CNO~\# M????????`pcandle-1.1.9/src/images/erase_1.png000066400000000000000000000015741421102410500170260ustar00rootroot00000000000000PNG  IHDR00WsRGBgAMA a pHYsTtEXtSoftwarePaint.NET v3.5.11GB7IDAThC͚NA )!Xha &H$6~ ,0<1!&6d83wΰ$zι1be ?-DOu;&Gp_ڜHTHoDk$0!K%K d«*a&0 /q"6&Lm=*PZI̼_$qL(Rcs&omZ\"<ɔj UwW6@|2UuRW;%^V`R%5HsGy~s\w8Y%*`%ZFN`PgP52&^z'2tLD/ 7# w8> =Ǔ2?qV O]J]7j%Y)Yj B"^%$> 5yfq'52}TYN(y}_<-M2&pCp>6&ٗgqcI[ 0>3 |>Ҳ*=6_k42ڝCŢV\d8v]3AKJzAMKhu'R -{̻́ǺPB%JU <̡|Ρ*&T;;2@##Vq׬d:Gh}<IENDB`candle-1.1.9/src/images/expand.png000066400000000000000000000002631421102410500167600ustar00rootroot00000000000000PNG  IHDR r|sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<0IDAT(c?d , / lb G?OIENDB`candle-1.1.9/src/images/expand_disabled.png000066400000000000000000000002631421102410500206070ustar00rootroot00000000000000PNG  IHDR r|sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<0IDAT(c?d , /0uT lb G? IENDB`candle-1.1.9/src/images/fit_1.png000066400000000000000000000037631421102410500165130ustar00rootroot00000000000000PNG  IHDR>asRGBgAMA a pHYsD#D##b+tEXtSoftwarePaint.NET v3.5.11GB7bIDATx^KGG#sYyŊ`1`a 1e/WMw32 6]ߗQYQg777gB[dX_;d#V 1#v|"0닙3Yve+sl`2t-H.'ӕ5^!p803! <7SSX8\og.>{hSzː$^l>HSUoLZL7$oD:6߀Tl>4l> T P Ln| qٸț~X+ە<\nmxCK@Bh/v?X$O! #| >>>; :blFr|zJ`~U9'P\ ׵lh}e > |W΋%ݑ%h_RrGcmJK*A_I+V,3=W Y(C'fZ ʇ+$7v%+~[~Dd_HHiz\{<2$jcV_YZCەd߯,@s*U$b:Jq[FFU'JSST_YRe(r]~`?u(Ob< ~XaUJuJY=o E%X *qjL7&RM7"} ).(浛b{94`%`t`(tZ9y9A7b$&l|an;~D+,ۭ|U/W + s N"4 #|*6/!|:6+)|J6'1|Z6#9|jK`>f%0߄$0ߌn(JZLhrtJ~%Ft[k t_}phmJ|'C? [,؟5ao+t  Hp 0.%0U,l`;;d83bin` 8ϤG^IENDB`candle-1.1.9/src/images/g7567.png000066400000000000000000000017221421102410500162610ustar00rootroot00000000000000PNG  IHDR)(cEFreaNFNe?E'sȉÑ`b#9baVpqXL./UAKd"/?J& ڸv]WBǥG">Kd5 שqFXg2E Nx.po.;..K%>"LZ2q 7x6,921|_$~_|ʜH+@pw]Xy՗3$[YL&NVح5n7"UOöw1^Qc6Hz]n/K~!vu*NY\PK{6|,-M~Lx("7\ {RZ`>aiNĻDIENDB`candle-1.1.9/src/images/grblControl1.ico000066400000000000000000000730011421102410500200370ustar00rootroot00000000000000 +v00 %(( hI6  P Ya j hqPNG  IHDR\rf pHYsodIDATxk]X)&)T Q^$Rʥ /h*R(`cBh"R!/ ZE6A[KivOY^<3%ggHwf$I$I$I$I$I$9 /@e/;T?awY>g~HKHct'7Ͱlg] //Uv|CbhDywuL ʪMwId9o^"4yz+7缋/\U!܊ 7'bpa |a9]D}/?+b6՗[F62} H4p'a"oyWs?va.ӄcyh[} &4|# _&\ͳ"\?TzEZ_.y`' 1H= |!4E~qk;.T MU$>ܔ'\86&8A8\Ytm>F82d*\KS ]pd|#t^U6a)8<҆ *dBl`4άғ;0fp'\Xv{`σpӰ< {I jYݷa>+*Gs*kw yn*S%!p_(>zy UX+ X'tsC@e93oǏÉBWz9N牌e5ed=E[^XZ*E^Buah<cz 1 0K @\%Bc.K ͋PS1C@U3jP 0T! UhC@e3f;!\r-j>f ǁw\hYB`h % h!`hEBKѼ_K_gL' j8Ew %ki\KM VAZYSy3~䧳fÛx߄Y71H8d|!n4w6cZLhW ?=PwfM§:_"Bo4q 'cи- {Pƭm-`h\V?Il gh:"oJ,-_"fH38P+͇{R )b1@ E"fH3R )b1@ E"fH3R )b1@ E"fH3R )b1@ E"fH3R )b].D| Й^NOXk~8Rkd<>^>Ɗ^#xu[+#GؙO{Y:Y {*-t~XIv#w2@˲ |ۼ&! @B{w,!II[z9~U 'EN8ymG"{7,􇭗}~xpp |wRqw;?ލ{K{f}p|鵞~UEl/B> #mo[nS/,M |& T3xoxM—BHH^kW2\%! kr|O]V6aO[ہ&\EX3_}݅[{kSp!xšגO=hSd雁fݺ`iJƺ&q{ijǹy6N8c̼j`ڲM?淘~LMB`Xeq8U>  ʪ9_UYoKIWu=X`^C rk ܖ0FRmP[dԓp_4M߸hC@g(^/%P@{f1 % n,yfs[j 5Ӟ4ҔKI1*!k!1*!{!@`(60`(0j;KE !`zk;!\r-02*bxxgɵeL`YB`hA{*bX]_ DECZH`B_,Yӟ*+ CaT%½>w{帗Fƴ%&3 U藁!܈S|O1mހST/% oʚ=ifHv6cZЯ ?@ ۙ 7 @@I{B`sH-2 ҽ߹Re]H30z0ƪumSuZwu嗁R )bөс]u=Ui"fH3R )b1@ E"fH3R )b1@ E"fH3R )b1@ E"fH3R )b1@ E"fH3R )b1@ E"fH3R )b1@ E"fH۵3a#dHKQEۮ+h7؛Lߠ+JvjZ`%%"itO4Uh&@O+J*"II}]t%2Uh .+:Zr:^NWJxmiZcw0HtUխÌ%8 <ߖ@36Pvuxp%sx+6~UMϖ]:rwpX0wT.$ :ET09Gtsme5Gy"k6BG5`8 Iƫv:~8'N(nK+uTenǭTAE b^!`HsP9K[ht@ E"fH3R )b1@ E"fH3RĚ|_Ook' ud(i\cp]CF֥<2篯2ui( 7"N B@4. q6cZЯ ?P_#Pg&L$|%ui(I{B`sԗ{*l9 {UOPaYWRϫ*,$6z QGu>21@ I$IRN B6IENDB`(0` %0ooooooooooooooooooooooooL"oooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOZZZϰ\\\<<<OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOAoOOOE&Pooo???toOOO}E}}}Qooo???oOOO~F{{{Qooo???oOOO~F{{{Qooo???oOOO ~F{{{Qooo]]];;;oOOO~F{{{QooooOOOwa_________~F{{{Qooozc__n______oOOOa  333 ²~F{{{Qoooj   oOOO_ׯ~F{{{QooohoOOO_ ߯~F{{{QooohoOOO_߯~F{{{QooohoOOO_߯~F{{{QooohoOOO_߯~F{{{QooohoOOO_ ߯~F{{{QooohoOOO_߯~F{{{QooohoOOO_߯~F{{{QooohoOOO_ ~F{{{Qoooh(((oOOO_+߯߯߯~F{{{QoooٯϾկ߯߯WoOOO_?~F{{{Qooo KKK555oOOO_ ?~F{{{Qooo N??@\%oOOO_?qqq~F{{{Qooo+??Z|2oOOO_333i~F|||Qooo*??@|2oOOO_ W~F~~~Qxxx2KKK|2oOOO_Oddd֯ׯׯׯׯׯׯׯׯxxx~Feee8ί֯ׯׯׯץ00߭ׯׯWWW|2oOOO_)S~~~}E)))LLLPT~~~~{2oOOOwgFI&SFFFFFFDoOOO< ~  oOOO_GhhhhhC%ehhhhW^hhhhcoOOO_ oOOO_oOOO_ oOOO_oOOO_oOOO_888 oOOO翿ܛoOOO222 oOOOxg?oOOOXMoOOOMoppp////////////////////////////////////////////////9!!//6///M>ƏǏǏǏǏǏǏǏǏǏǏǏǏǏ''ފǏǏkkkMTTTD|}}}}}}}}}}}}}}}}}|K999999999999= }9|ONNPNO0?????????00000 ??????((P @Hه؇؇؇؇؇؇؇؇؇؇؇؇؇؇؇؇ه7 ݇؇؇؇؇؇؇؇؇؇؇؇ه2---JJJo### }}}QQQhه777ggg^BBB#???___؇777gggn<<<$???___؇777gggn<<<$???___؇㟟㟟㟟㟟㟟㟟㟟㟟㟟㕕777gggn<<<$WWW韟㟟㟟㖖ttt㟟㩩JJJ؇~}}}}}}}}777gggn<<<$ggg777}}}}}}؇~L........777gggn<<<$ggg777j2..0.....؇}.777gggn<<<$ggg777^؇}.777gggn<<<$ggg777^؇}.777gggn<<<$ggg777^؇}.777gggn<<<$ggg777^؇}.777gggn<<<$ggg777^؇}.777gggn<<<$ggg777^؇}.777gggn<<<$ggg777^؇}.777gggn<<<$ggg777^DDD؇}.V筭第第筭炂777gggn<<<$JJJ簾竫第筭竫9؇}._???777gggn<<<$___NNNb#؇}._===777gggn<<<$x__o???_؇}.@@@|777gggn===$z__b???a؇}.]777777777777777777777777cccgggn>>>$777777777777777777%%77????a؇}.<fffkggggggggggggggggggggggggggg***n***hgggggggggggggggTT__ggggggga؇}enp` !!!+7qnnnnS؇} 0)  ؇}T}z\Zz~%؇}.؇}.؇}.؇}.؇} .؇ꡡް׵׶׶׶׶׶׶׶׶׶׹І؇% ؇&Yuه&2y<<<'''''''''''''''''''''''''''''''''''''''; ''a'''y?~wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwCC~wwwwwwJJJy!!! brrrrrrrrrr ;rv]89GGC(GGGk!!_GGG(CGG98GGE&GGG ( @ cş՟ًßşOş___555J111___/___0ϋSSS___0wwwOOO|kjjjjj|______0___wjmsjjjk ```%______0___Qj______0___Oj______0___Oj______0___Oj______0___Oj______0___Oj;______0ssse j____________###___0 _______________QQQj___0hjOOO___0}"jcWWW__________________0____________LL_))__r}"j!+++U /^^^t)|"0he 3000/ o^F'0jjjj666쉉ߑߑߑߑߑߑߑߑߔo%"93y]˟ @"];ppp~_____________________________n]]____///]NOOOOOOOlJml#"#"####"#"#"  (0 ` Ƀxs___K{{{___Đ___buuu___ϐ__________________buuu______)))___DDD___R4444iiiy___buuu___W4B444___4W___buuu___;___4W___buuu___<___4W___buuu___<___4W___buuu___;___46WW___buuueeeWWA___4___buuu#kkk #___4SSS___buuuO__fW___4h_______________}}}b_________55 ^^tttW___wj_"\&tbbC___D"-7___4___4___4___bbblllmmmmmmmmmmmmmmmnnn瞞[Bx___$JF___(4GGGGGGGGGGGGGGGGGGGGGGGP &&VGGG'A``'(( xxxxxxxxxxxxxxxxxxxxxxxxxxxá xxxxxxxxxxxxxxxxxxèxxxOOOECCCOOOxxx***OOOOOOOOOOOOOOO%%%OOOICCC@@@OOOMMMEEEdddxxxOOOrUUUUPPPOOOICCCOOOf^|UUxxxOOOUUUUOOOICCCOOO2xxxOOOUVVVOOOICCCOOO1xxxOOOUVVVOOOICCCOOO1xxxOOOUVVVOOOICCCOOO1xxxOOOUVVVVVV OOOICCC;;;QQQVVVvvvNNN/xxxOOOUPPPOOOICCC|//xxxOOOUe"""OOOOOOOOOOOOWWWEwwwOOOOOO%%""bbd{xxxOOOG%3>=6xxxOOO_?@%7@7%@? xxxOOOUxxxOOOUxxx'''PPPYYY[[[[[[[[[[[[\\\끁VxxxKOOOOOOOOOOOOOOOOOOOOO33zOO^:::)))=AAAAj*Y-#" ##(  @`````````````````````ψ_aaa````````````ϋ```???NNN???```ggg?????????WWW???NNNOOO???'''333```???|||???NNN???*```??????NNN???(```??????NNN???(```???///knnn???NNN???XXXI```???JJJ???NNN??B```???a$$$?????????777JJJV??????//l333```???Y'?```???```???555```???FFFHHHHHHHHHII[___TjjjX???^^^6//////////////3}/// 00NO/0ON0/ON0  ?candle-1.1.9/src/images/grblControl2.ico000066400000000000000000000777461421102410500200640ustar00rootroot00000000000000 v00 %(( h.@  Z >k t h~{PNG  IHDR\rf pHYsodIDATx[,Gy鞙5Ʊ "A"88!JVA (D(!""&)QDȀb>=gٝeJ~Uuu@!B!B!B!B!B!B!vm#~<ԫv(fY!-"p 9^?{Gҳ؁ az'[@5(^v !ٲԼX6 !3;}/g˛}]pҶG?筟B[ǹ3 c/,c[ٍ5,<ȿ|v" VoÏ|.fSuS}' Q@wt?Qt6N14X(:'> #u}|!b"BA)esDe6Qd=p@by/!)^q>܂B[($`Hpsm?!9jo{397_y_KYw~M('R:GB*u˻E;K瞣X\f< ! 8(NZ?:}0+P̃0=Dz/}<-ɴ( }"唼 L ("BZm~=eB)Y "%bp3!B} ǁ8UXwO*8Cf)j>E cd=x{qӻGΈV u]SR ӡO%I$I0_R&*8ЛJ`0`8Y@9q@f18xK^&I(jo|yTk88cL&DQDF'PwK7բ@Հ{{{Fpo/<ߞR!)ILs{~#N~\B diSzB楓fIPzԝ?/sݜ& ~)]mL&8/ڮ V" 23 (Lue8/VOMA|G p8`0@`7y1Iqc<-DlۆuRRۜT34ME+;5Mlnnb0)L 8E0,8PW `8bkk eV$Br2Að-{ `_HvtPbcc[[[,˺NH1& {oX2| H7&F$ (x\GAK,m:>y^[>ɹ:HXV^W{$E?:.?I~>2[Xf1&I\Iv;v̴4羫}Qz5WaIlT/cn `E/d<c<u](J4u+몋T1zJ.i.`yÂF@y>waY`Y?X^`],zH)5<(w|s3ۖ%:%WC{T_DߪVM} W[WNaV @{lu/={r_m_@'ف%Շ X$<[6Atk׮!wkXnBp3us loo#zH}{G:mvR{0 MSfK젼Dz 3'S׮]>,˚,>ω; i(puXuxWdSVJt!XSt35 vwwQuSdq(0FL&h&:K@em7Q]8@uG@wz, ],MCto] |~G 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 :R@!$!eY럙,N mm"Gu@X)@..Е:)jBq]@ݰ`rVN;j$2K; ϫ[ۑ }^" "c qeÅm.im۸?oo˸t.^+W`{{;;;xF҆4=3ʳ"r_ @zx "3cJo)TOUC9@m ~ ʤ@,@IԅFb3V8'(ǿYamk$GQw>\^?n1P]:(d28X6zV@4ypmTKu!κW]5yl:'ЃEA3TGӍJt~iZf0BfƢ]w8 %4yJHJV:)`kmjpT{qWJmFS{Y'Y]LUY>W ,ƺ6ѬPBBPLk Y_ӏi>op\t7}UW8~0O{a\JɶJ+sd1)պ^Nr\ @4MNƑ$IydO4 Y ]r,y\;m%"'IiF"#L&E%&IB, ӥ,*jv\u HUR0siB)UV\ՆrH$L/C׷/È|JƮ Qb4aJ}[8}JݯYP;WLFR]Js ;6.lJ=zpuMz:#<ǯˁqׯQ5?/7N]]=@b0!Cb0!Cb0!Cb0rKEpiB8ݛ s4}(Bd~-!di<y|e/e?6k !Koop/ < ! e/<}Py$zB?=,yGx:c\K/b>^WO~÷o7\:eʷ=D<w3?/])^*c.iB 1|P|`?7s|MyQBa/FO={O~'OxE"`>C߾Cw_[[gs3oU_BHC@;Nׯ%ן<跷'^{eH/%hlUg|C/p  `?y!&QMoF_~?lUBzWs !!/3#~uZ ɁEh􀶴b(BcU#TN[5E0" x~࿆i8[@l |=~oOTzHWc~}yb́ t9}B:FO_V- MCts(BaL~ ~AEEˢ]3= NdI]8((Nbիؑ1-ק{(zC8% D# Q,@ʀtxP{1.@Nz(^/T{},^"\{ƛ&y=g}3bGe"~o=4D,"!=ՠ?pϣhC@խ *< @LzcϬX{ߓЦy]зi 9+ÁO1BYIENDB`(0` % &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&% 'auxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrU #7 5R=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^=^4Q }U 4@:<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<7,Er; ;;;<;;<;<;;;<;;<;;<;;<;;<;;<;<;;<;;<;;<;;7 x%;K<;;<;;<;<;;;<;;<;;<;;<;;<;;<;<;;<;;<;;<;;<4Qx&;^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<=^x&;^<;;;FOPPPPPPPPPPPPPPPPD;<:DNPPPPPPPPPPPB;<=^x&;^<;;C;<9889888:;<=^x&;^<;;D<;;;<;;<;;av;<=s;;<;;<;;<;;<=^x&;^<;;D<;;;<;;<;;`u;<=s;;<;;<;;<;;<=^x&<^<<{<<<<<<<<<<<<<<<<<<<<=^x&;^<;;0n@EI[_c_dh_dh_dh_dh_dh_dh_dh_dh_dh_dh_dh_dh_dh_dh^cgNar;;<;;<;<;;<;;<;;<;;<=^x&;^<;;;::::::::::::::::::;;<;;<;<;;<;;<;;<;;<=^u ;^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<=^a;K<;;<;;<;<;;;<;;<;;<;;<;;<;;<;<;;<;;<;;<;;<5R'; ;;;<;;<;<;;;<;;<;;<;;<;;<;;<;<;;<;;<;;<;;:)@ &;@;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<;5@; ;K;^;^;^<^;^<^;^;^;^<^;^;^<^;^;^<^;^;^<^;^;^<^;^;^<^;^<^;^;^<^;^;^<^;^;^;^;K; ((P @.11111111111111111111111111111/ 05r|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}u@%hY,{000000000000000000000000000000,z8Vu:Q;;<<<<<<<<;;;;;;;;;;;;;;;;;;;;;;;;8V}/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,z}1;<;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<0}1<<;AqL<:ZP<0}1<<;Me<:o<0}1<<;Mf<:k<0}1<<;Mf<:N<0}1<<;MV<999999Gf<:A:99999:<0}1<<;MG<<<<<<???????????????????????9Bg 0Z(?(?(?(?(?(?(?(?(?(?(?(?(?(?(?(?(?(?(?(?(?(?(?(? *n8;<<<<<<<<<<<<<<<<<<<<<<<<;$d9;'<<<<<<<<<<<<<<<<<<<<<<<<<<<; *?;><<<<<<<<<<<<<<<<<<<<<<<<<<<<(??<><<<\><}~d<(??<><<\=<}~N<(??<><<\o<::::;=<}~E::::9;<(??<><<\f<<<<<<=<}~<<<<<<<<(??<><<\f<<<<<<=<}~<<<<<<<<(??<><<\f<<<<<<=<}~<<<<<<<<(??<><<\f<<<<<<=<}~<<<<<<<<(??<><<\f<<<<<<=<}~<<<<<<<<(??<><<\f<<;;<<=<}~<<<<;<<<(??<><<\f<<}~i<<<(??<><<\f<<<\f<<5T`kmynznznzit;<:FQjvnznznznzmyF<<<(??<><<\f<<<<<<<<<<<<<<<<<<<<<<(??<><<\f<<<<<<<<<<<<<<<<<<<<<<(??<><<\f<<<<<<<<<<<<<<<<<<<<<<(??<><<\f<<<<<<<<<<<<<<<<<<<<<<(??<><<\g<<<<<<<<<<<<<<<<<<<<<<(??<><<\feeeeeeeN<<<<<<<<<<<<<(??<><<\<<<<<<<<<<<<<(??<><<<4sLoRvRvRvRvRvRvRvRvRvRuC<<<<<<<<<<<<<(?>;><<<<<<<<<<<<<<<<<<<<<<<<<<<<(?*;'<<<<<<<<<<<<<<<<<<<<<<<<<<<; 1Z;<<<<<<<<<<<<<<<<<<<<<<<<<<8Oz;';><><><><><><><><><><><><><><><><><><><><><><>;>;'(0 `  AOOOOOOOOOOOOOOOOOO<0%g)q)q)q)q)q)q)q)q)q)q)q)q)q)q)q)q)q)q"_ <;;;;;;;;;;;;;;;;;;;;;"_O;;>EFFFFFFFC<=EFFFFF=)qO<;v,t.,t.<<<<<<<<,t.,t.<<<<<<<<,t.,t.<<}L<,t.,t.<L))64 ؂[ތmG9π~l?؋Ksv_4RHqirU+6[sG! FsYT)ܡw)/T(Wrȟ WR59"&SJ'a~%vڃkJ1)@+OEAkהaWaMRJYe m yjmYAD/SnZlֈx%_*iYƬdB UWMdVCdN'CXS1PҒ!EZ, FQVc@dD r9lK(4* tV-=a4>V*>cv 5Z*Pu+B`߆L+$+F/y/^FLW*L K*^׻kyAvB'2i.|UZic~~l୶96&gt'eD/ S<+|XkC=ҳ3؀=~}rc;^Vt E%$$07p@i3g y58UkM8;r'Ù^3 ^4yV`EýxI^ C= '%0U-3ax:Lߤ .JZW?Z]IENDB`candle-1.1.9/src/images/guard.svg000066400000000000000000000067371421102410500166320ustar00rootroot00000000000000 image/svg+xml candle-1.1.9/src/images/handle2s.png000066400000000000000000000010311421102410500171730ustar00rootroot00000000000000PNG  IHDRagAMA a cHRMz&u0`:pQ< pHYsodtEXtSoftwarePaint.NET v3.5.100riIDAT8ON032vd;1U$Հ*5 EjԠLR"3c>BGhw4 F 78}?CJiԃ1֡aLt>i][H)I6} *`!Q?]iW;(ߚ&5DPN$̲i+Ar /MHǹXyޣPΦ۽=2[X,r0VHat_<>*Rcf5 c XSA?I@sJC=FH1hP<z|i(* *ismݿd4 #j6" _=be} M ŷe*A:^Z\_oTljaEUIENDB`candle-1.1.9/src/images/handle2s1.png000066400000000000000000000010321421102410500172550ustar00rootroot00000000000000PNG  IHDRagAMA a cHRMz&u0`:pQ< pHYs(JtEXtSoftwarePaint.NET v3.5.11GB7jIDAT8ON0;222<####cnj:Rv*UJ&U,} !q!i]Sr}?ٗ1vgLJ/M`0p.>t/wD!l_a>PLq*/C~Pyq Y)߀Jy/}I)+ޙ[E[hl# 'i2+B]7&$ԿCMpIq\"_h|, w@C_Q A)j[Xq}0`}"Ptk9ePڙ&HOz P.˒8[ &m_\VA8fl^[=G{ŋvPuV_<,V h0x Ѐ 7Pyp hΡ%L3=5F1h!x$5Ez[|i|Ͻ *i_D0\H# Q' fR>pM E;lg2 l}[JIENDB`candle-1.1.9/src/images/handle_horizontal.png000066400000000000000000000007661421102410500212150ustar00rootroot00000000000000PNG  IHDR@ XsRGBgAMA a pHYsodtEXtSoftwarePaint.NET v3.5.100reIDATHKU@GXD >JB XP?ğ$m1s/W7p0ޭ?e0$\i*E糑o 5 x^\.10q:~+L<5Ly.EQjBfAEXp]M&)_7zր0<|>p@n| &)_7zրg _?)f27[o[v:l[eBh۸^s4MԳ'|>e2jOaہӡ,K10ԳcEq,A/xYz@hsG>@N*IS\IENDB`candle-1.1.9/src/images/handle_small.png000066400000000000000000000007241421102410500201260ustar00rootroot00000000000000PNG  IHDR@ XgAMA a pHYs(JtEXtSoftwarepaint.net 4.0.5e2eRIDATHKU=@_0@iB~@ S CB%gj-B8<aݹ[Z-ZE@X(!H M]fugqWvu̷ !Cv;uaն><難,KV4qjv JB8`h@4xu: ~bXQDQ8q:!%v;XPȲ yyb~idkq<*lz|>Elc6 2LY+}n7$P/ ,(ߜGb&A@\'ҳ*I6IENDB`candle-1.1.9/src/images/home.svg000066400000000000000000000071461421102410500164530ustar00rootroot00000000000000 image/svg+xml candle-1.1.9/src/images/icon.png000066400000000000000000000042621421102410500164340ustar00rootroot00000000000000PNG  IHDR((msBIT|d pHYs**"9tEXtSoftwarewww.inkscape.org</IDATX͘{pT޽wwl6n1B $A[hX8X[m+T1g;:Ψ`jDQ01($a}ܽ}r k9w|0 0X2mZ6aX@\T؇!7U sSpj:h/)M(+\6^QKd˫#W?FmNOE.|$x> x) (LUQZZJ8ONaA 9ʅ`O!,#=*[^n<4,XD"NkڷTIl8b]s ʐ$3f [E};# ;m(P0ݻgsn2RPP@yy9qX攪oډZH&$ ;(UsvϮDuv9s&7D-K &X,rX_^mf>z#N>M,0 dY&''y,c#[_!`XFUU"ZSȒ+Okʹ$p0PJ.y?q or4b5̰ K1A՟ Ȋ ೾ RUkl M7ϱ-;~QO~+O1<'nz׋$I7?)b\x5KV| YNIoYu5SMN@>!NRЃVS=s`###x{K!'7ÁDe(DUU|9`z:;8PUl\q?<`8NSQto~,\ﱥ5#=ljЊ`/>3Nn72I& PYdtHfʵ8NEjf z &(zL(.331oR%m/#NJiaz.j$ybCdV$Jg֝J!5;h{;#A0*F)gD<'2> fĊštL~M(ʀb144As2mN0 4M#'rlEJrQh-Mߏa$ :;OΟeK]v.0 [4~0.`WLgl6 XsMVn:]F4[Z]*!v'=oqF\ΡS:0./J1(vblm b躎Fb}g$ !Ql/yxN\q;Q-@ϻ^oy~ۼ}ac0`̲J=X954zƻ_/(p rدu! _Y2 e;~^w&>wq8׺|10zR&wJap&#b*+c IJ*IENDB`candle-1.1.9/src/images/icon.svg000066400000000000000000000337161421102410500164550ustar00rootroot00000000000000 image/svg+xml candle-1.1.9/src/images/icon1.png000066400000000000000000000104551421102410500165160ustar00rootroot00000000000000PNG  IHDR\rfsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATx[$]Y׻]_DbqBh2BrX&+ь AaU@(A ?Je@0!évTTuW~RTWίN]z*].@R )c1@ʘ e2fH3R !JBBZM,9g} 0jP'1CsU_ .bcz+kwXqT]oUV+?80 =M5֪oꫬ 3U l)R7{+; =m2u*B @tO@ 5R_-a+[({)@No8{`$FN4~Hʘ e2։cüC4R )c1@ʘ e2fH3R )c1@ʘ e2fH3R )c1@ʘ e2fH3R )c1@ʘ e2fH3R )cg]@.n ! ^ L}1soBx=.'+x1Nc|7!\K\?\{?18c}/!L @Qki`8V7{Z-t{|$x_ !L/FY>c| ~M&'>ck37\b]?cN&B(ohF \cL$1b.d~ >BiwOV8||'!\j̺isx߬r&}q}}.9p^q;iBfELS t;Cu۸{ڷ϶IYL|YPY&.akl|8C:vnu]y|QPW 9o=ŊXeuyT>@k?絻H?gH8t߰tGDٸz#ͺ1t5# ҴY%]4 zWjDf6M[)q>J7WI~ x *jC:ӱN^*~(\n u&_nRvBt [g]Ȁu}lI>|:p-k-ˤ*iq1 !(qWk`Emٖ R契Hw ?gI+l\Y6Ӥئc!jց }o+/K'>?]0K+nvR}ցH_ "îv૤}g*NHA0̓h/El+C\ WgIYKl8ox 3;Imyپ@^{VnGZ-=U8C.u1ŭXY~#'^Z{m<Vj@gupi1҃jcyO.v ( !a!'M~O?pp:^0ĶYW풊-ZD)"njixƸ@N#K;U#`>B`cԸ,`ddx]!0c>Z͗.,...,--i>sVsf`g#pX !n404=bG庯[^^fqΉͅGaa떗P3TR6!E!2 pK6M,+g^5aҕe$ @iҞ4ʲ@ .P=Yg^C C@cd`y  3O!` 1/!` 1..Lr4!` YZZPU; 2 `C@uLh 1 1Ij5h߭5I/Ԡ!`HsNlNr#uʅ4IVe^-`څrA]w45mWWWWO-ʓHrTUpp#} Rzzuu79<zu*j}+R{Ui` =5ƝIR{  =OR,TC }t/ _{fV#pHʜVq%иkܱ^9rcǎ~KKK3,H-:z( _b mfH-[ZZlt5:q @2/ e2fH3R )c1@ʘ e2fH3R )c}/g֊cuۦedϕ,w5oӲ4Tϕ*_as6-K@Uy~_&vP7mZ81HjgKl]*y~_%5WP7mZk_ ]T۸c+PʟMPmcb=4gTۨFw^[]mp $e2fH>m[׫ e21#!IENDB`candle-1.1.9/src/images/icon1.svg000066400000000000000000000303401421102410500165240ustar00rootroot00000000000000 image/svg+xml candle-1.1.9/src/images/icon2.svg000066400000000000000000000202001421102410500165170ustar00rootroot00000000000000 image/svg+xml candle-1.1.9/src/images/icon3.svg000066400000000000000000000223201421102410500165250ustar00rootroot00000000000000 image/svg+xml candle-1.1.9/src/images/icon3_16.png000066400000000000000000000007201421102410500170200ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYsjtEXtSoftwarewww.inkscape.org<MIDAT8KPi_Z$ pV'wQ*Z7'qppҭNPE E1Z-MsԴ.{﹇*RJvקլJR(t{v43_(J!?.NrFWs 7Q7,cdңLH9dO?(ny[JR("T?vUJX{NJį41 #<߅Vd jw1+L  Z5No羶 *,e'ރt_tz =Hߓv4RsL4~f(\v4S:y2S^IENDB`candle-1.1.9/src/images/icon3_20.png000066400000000000000000000007631421102410500170220ustar00rootroot00000000000000PNG  IHDR sBIT|d pHYs)~tEXtSoftwarewww.inkscape.org<pIDAT8KBQ?5-!AQ!pjhik "J(HE-=M_xLL…{r^$I RExfczµnY@fOW#[w;Ifna/+_YO۬N󐹕WMO&³\3/ny=cZOKl\W7B|Ʃ(!$ƞb@~\ֺOyfRt52 y "IENDB`candle-1.1.9/src/images/icon3png.png000066400000000000000000000152441421102410500172260ustar00rootroot00000000000000PNG  IHDR\rfsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<!IDATx[$Wy3&B8ȄAOdO) wu?!"{wPRJ-c]o,K!> @),5eޝ- !'V'@o)z k9#g}J<6KgqS}' Q@$> ݃|rl{+` @XLR J)rDtpB -cs/;I<py>,QJjp |/R/7x)p]@mB|=? `W1'~.lymJp eDzV`2_O|Кn1)R_<!5䱬0 hM#m $!|?F!l@),oEHP-|Я\!t Bi &=t _.AiF ]/m }(䱭K 0i宀|Ѓv "/bc1Lcn@ySY~7 $oy^rqIwA&SaRj ؂38mmò,( !P G/DeHi"I\|M|@Pڣ*ܬ mx t>|/D PJ pzDYHqq|td @y: vGyL& YpztH1(ݬY(8ECGGCEә?"a/[ɗВ( z=A8ǡDO$Anxȯ$%&(8A f!rJ})' !`\3Qp]T^>.<+% Cqc<"-`8p=>AAPqgd]Q!"c]׭(ض uـN A^WL tT u](p=D`YVL% D2y^`pzDJ)$I4 ,ض=#da C@EPJ!MSL&a4Jҧ D|,+,OhDU2П 0?" _ )T̢8l/ot$ oq2ò$l> 1 il`~m>PވY^U|GW7dZ+rE.J8˂YRU-|9Օ֮JUid%)`RƗG&K(d2AaRU7~St9p4a8`awFr/$&:-?^z[+?.!s@M)=!J38)B*hzmK/dۄ}JO R9H+P^A@Bi p#pZ)Հ!i^OIh dZ-" #@ `(B  `(B  `(B  `(B  `(B  `(B  `(B  `(B  `(B  `(B  `(B  `(B  `(B  `(B  `(B  `DIk{Q݇]=ߞ/FHlGLzT /nO\-6q.lۆm۰, eA)cdYVli"I?m}Oc8Ly4,\V_XJ)x>|/~_%)p݅i6\3e!塗^ri.(y:. @AӁ$-EpBue!y3hBY"ϻUa"|Gzzt 4% Ѓ_0L8YheX. H$*2U~X9R}n~ nwםdY>HQa<-VElۆeBR3$I!;5Mlnn) 6(!!ߺw  lmmaccȊD5*YN&x|P@ (^@oֿ¾bc8Ydea͝NHE& {oX2ꭷ| HW:J10x ІS7@ ۃ&P R n(p-8[au@8@ FF#L&a8% 2ܦ0 gZ6YY ȺZ~=Hh~[[6}Z@ʷN[?YCnAQP @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P-@)u`#$!eYퟙ,V mm"GeT^A^Y)6l@[>GShʭmu]xw@U݂uYM]8u@Hm/,wMG}t:_-h˲f) uu+m16]Wʕ+~:px0 14Ee@ylۆ8}n~n뺇fHy};W94M)}G̏uf<NA#"i ۶>& (jTE"t0 q3m:z'I`TqRlq[^Q!˲A0 E$ABNSdNg+P3m8z$ 8RXZ)UT,`Yn1w֙rE0M̍<Sn-H+)2U_I% vŌ@UδQa2Q=xz92[x}$= ibz/gbpy x< X橼Z 婴rz('i/[Aԑ)DNm8`49qH?Q@-kZ%9p]qEhy!&  RYr#MV_ _wLs:譅,^9\9,eEmN[ΫW$E/ ,eii(.y,U[Wp^ERuJVChRX}_gϫR mumk tdM3Yg%XM] Vr^4FC ! Ab0S9md1β|M?MqB_]U]m]FQu޺XPWLFR^J2;>.te=_sÂQ5Έ5;wr`zuᨊ狵oڶSUg;Є @P @P @P"x4 Rp\]ང%qk }%,a7{Ef?y;%,y; ԵOYa|_G ',S|&ZھՈI,7{r},&/= 2ѷ}/*6X le0BB鉒,З~4K/޿~!'o?ďyX@~+zx)"ɷ~2O+%eO/mSE>OEKYޙfxdi$|'cO='OZ@4bhZwK9!%Yȷi+~ E7GK(,o'! Ͳ3{?З~S -We{=G["9az3sOp!=ב{ӿLp[w|;xk6_a˻u67{vO(Ddpg]{__?^!O"Uht|/p;8?<)BGb7l#o`H,KW݀b -@yA%HwY ~C.[DYeJ)9yʱ<] YÂy`y d4_ȃEJ{;v 9j?=o"XY>9Dz/`_f|2!!+=//yoL H0lcKl`#'V?tۙn `ow"v K@ ,mi0 &_«_#3Fa?E27V"=mA>J@UBL|U;7?p6]* S@6S_`bc:׏#X@! !f<oN2 &RnndtaB~P2 QH@D_hQ g21lTGrg8שM̊@Yb2{b;i @к=b -Č+IENDB`candle-1.1.9/src/images/icons.svg000066400000000000000000000152441421102410500166340ustar00rootroot00000000000000 image/svg+xml candle-1.1.9/src/images/icons_arrow.svg000066400000000000000000000135101421102410500200400ustar00rootroot00000000000000 image/svg+xml candle-1.1.9/src/images/laser.svg000066400000000000000000000102671421102410500166270ustar00rootroot00000000000000 image/svg+xml candle-1.1.9/src/images/laser1.svg000066400000000000000000000252271421102410500167120ustar00rootroot00000000000000 image/svg+xml candle-1.1.9/src/images/list.png000066400000000000000000000003361421102410500164550ustar00rootroot00000000000000PNG  IHDR szzsRGBgAMA a pHYs  ~tEXtSoftwarepaint.net 4.0.5e2eOIDATXGA 0;<`JZE' i @#F:ր%$t|888p)q**=Fy.DIENDB`candle-1.1.9/src/images/list_collapsed.png000066400000000000000000000003411421102410500204770ustar00rootroot00000000000000PNG  IHDR szzsRGBgAMA a pHYs  ~tEXtSoftwarepaint.net 4.0.5e2eRIDATXGA 0 cւ<7A#Ofj`a T+ ڀt@@u2 `"|/8j !PIENDB`candle-1.1.9/src/images/menu.png000066400000000000000000000003131421102410500164410ustar00rootroot00000000000000PNG  IHDR szzsBIT|d pHYs  mIDATXA 0 DѯkuUt *̃' t@D.3v X/6@V+3++o䲖z`Vbz@tR>m`ZIENDB`candle-1.1.9/src/images/menu.svg000066400000000000000000000054751421102410500164720ustar00rootroot00000000000000 image/svg+xml candle-1.1.9/src/images/menu_13.png000066400000000000000000000004031421102410500167440ustar00rootroot00000000000000PNG  IHDR r|gAMA a pHYs  d_tEXtSoftwarepaint.net 4.0.5e2eIDAT(Sc`'ZDj6㔀' 3h?p_Xd -f#D`PH !y3p@LLIDAT(Sc``܀8Tҩ??+P0H -fӰ3(k7>܈IENDB`candle-1.1.9/src/images/menu_collapse_16.png000066400000000000000000000002441421102410500206340ustar00rootroot00000000000000PNG  IHDRagAMA a pHYs  d_tEXtSoftwarepaint.net 4.0.5e2e"IDAT8Oc`(ND p|H "f IENDB`candle-1.1.9/src/images/num1.png000066400000000000000000000023221421102410500163570ustar00rootroot00000000000000PNG  IHDR@@iqsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<OIDATx훿kY?wyb҄ jظF XYlX(6],R )aXncqӗsg'/\g2|sڌ_&4h@9 6u` $5wJxιi"p8t =x&"o+Wι20 (nx<E "54 HEm8]* 55 րI|i{A|l 2V#? znZ&W)V@]0Y;;Df:E˳/fG}n$]T*I/ce%nI" T M(/\U\4fq' 4+>>g51*ʡsu>%0 BWd S/MJ-2 X (\3\R!c{kxX"CC౶\Ux;2wHsjMl6(U܏g {K`&PV%&K71(?3ր(~Vt [!"˭ֻavXcYXϻ/ ;2e#qHrv &㥰umB{{!Jja O)W+ 95F*(s%+'[RV Ճ ħګ8j4םs vݸ' İoW+9Fa⑲T8*eIis~L7Sk7Oww9A%*gh`?lvojnk #2}%CR}${L.R <(GGe#yX:"B{G>h'3MU-@,`>vo6Mi^o?S=QlIENDB`candle-1.1.9/src/images/num1.svg000066400000000000000000000071351421102410500164010ustar00rootroot00000000000000 image/svg+xml 4 candle-1.1.9/src/images/num2.png000066400000000000000000000026471421102410500163720ustar00rootroot00000000000000PNG  IHDR@@iqsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<$IDATxMhU AZ`1-.DP( ~@]Y&ԅ]*&)bRN*)IfQm*TDi;.N;oμ*s1wDUj7vێ&nh5ue` -NJl<F Ψꅦk"2 <+nN7EՙvC%З"B!2 H?8ю' IR-{3ppi6u1$"Cwzk3 ,JiDqhh۰fx|wc^`Cp2\pεϲ`Lz ppD x6ϯ9ښ6 `p4.Z"7π(h作KTr/l _~7^#9zm{h-{w#`$:2j9{(2IQ#5/XLQv?іSVQ '4+(Zh[Ӿ)=ŝ!m錤V[(|EqUmR^[Uh3|bPUOzϠl?:~UX!KjQjNP !w?LT-@`~ݭnϰ~4IENDB`candle-1.1.9/src/images/num3.png000066400000000000000000000023331421102410500163630ustar00rootroot00000000000000PNG  IHDR@@iqsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<XIDATx[hU^J""VEb* b"P"x,D AxyP Q/mPo i;l$.N IMa|*ZHQ^f.9g$=_Ha a/0\j3GҪ;Ppl>) x,5H0w)Ys@WFO/ Fl:/\^e 6h&"ITg#Yi I7FUD /Wnu8>Jͥkٱil&T2p\v,< GqX |%DVaBw_G.ze{n]~;ohDO$ CztǁS^lp%mvOnJ-u.aBsO;,'(1LXR_ބɐZv QIeQrZ/jeӳeJu,q>>*; o1,vWCTC+ {6ǀWR+#%Gcs" ۻ KTIAm[#]z["g&v4 cȯQtL.h@ӈ p>RwUj" \-&Hݦ9ө1b d ,d\"MUߺ}l%}F>`WIB, /p]]~ԽLDOf ",ꏦ99-gs3`b)h@zUIENDB`candle-1.1.9/src/images/num4.png000066400000000000000000000016671421102410500163750ustar00rootroot00000000000000PNG  IHDR@@iqsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<4IDATx=hA1l$؈!ZLa-FKD(~Jjk!"XEPBgY슛IrwțogfwgGT"S`MkִT{^`1^/ U}WYd:Q@WY:+W!`L5HReL5*S@/@' L9׊$q`SMY_'8UiP.@W?zCqy?J|RC$Hr]< :3`'6^(|s _\nh`-PpHDdp&zcmnpŀFY|TL %{u M}@bp 1l0D(p¢m6&ɫ*s ""y\"1gL .a 5, ")1p#Qfi%Yh% p2FK |_Us%"r8omWCPDd :¿~\vC1:݉ E-{u %0 "Gcnx|ϔÙס4B.#^1})7 d;NU&+ 0w) ##}Me.V' X gOlkh!i3'fz[>͹|T렧*[?꬈>ƏFT||sDT-3)IZ6Wk泀k o_9N4$IENDB`candle-1.1.9/src/images/origin.png000066400000000000000000000015311421102410500167670ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs N N*ūtEXtSoftwarewww.inkscape.org<IDATh=hA`$\hHERb5 6XF, )ll "Xh'vbiTR $9-4Fg{e׻%Ã7og3+3#h+źz$ [/>{U \V[`` F֢m@ NQA<ȑHJ'Gdz ߣ䜙}IjYHs&@Tь᳿gPw%^THf'dVXK8H N'Xf,>AAU[Fm+$  %1px-i{R @Rp FfGJlNH0\G߈B؞4o*M56'~sߑTWgF #+Fy`, 5`} } 8_D8Xm7ߠ]8ztDi<׳HKE#7[G교II/B߁a3{,3 aBb6;RC,OLBq;aNcJ3ܧЪ 4k5=}$%@"؞(:.РO]IENDB`candle-1.1.9/src/images/origin.svg000066400000000000000000000100661421102410500170050ustar00rootroot00000000000000 image/svg+xml candle-1.1.9/src/images/restart.png000066400000000000000000000020621421102410500171640ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs a aJ%tEXtSoftwarewww.inkscape.org<IDAThKaAÜK$ׅ[EYX"FVS+JȥXؠX ̂PfP %Fbnj1U9=8Myy~9cDljHkTۆY44i_m".@I]`)p X ;#b//j hN!+ 0qV`ȲZ&gW3 w`gNƁ1f?pU?SD7^WGkqT`=vub-"r!E^7Iva"|~`6p[~k!>qQ *3 8\ 5am!wwV<^S$حIyd)a~(x/Qܘ@^KY p`n 2"y+$x`^:" 謄c 8\-|'VLQ^cDhD;pSy<[,QE}^Dŧ oEWgD1F< Y/}qTo%O7mt [M@/$ VӉos5[N|[z+dR<[JjNX~6Vj/Rh=J E%@?Ъ`?/oWc6ʌ1˰74?k 7^lV" t*_C [ &# !yMhxG} :*G{*d@pz?T ! o)`4G9 ?x8 >'*R癿ˉR`6F\{d" D-/$\By9P2qY`d$N 'fKw%Q^0 #X NG#1{9hfby.;3zgsM J `L~WZ@m&لͣ5<IENDB`candle-1.1.9/src/images/restart.svg000066400000000000000000000137751421102410500172140ustar00rootroot00000000000000 image/svg+xml candle-1.1.9/src/images/run.png000066400000000000000000000016401421102410500163050ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs N N*ūtEXtSoftwarewww.inkscape.org<IDAThkAb((H AJbs xAī ^<{qP!z b&AAQA!ld3ΣwH>(vgLFCdŌ'0ͬ 8lFG&6$)w:BrhNd[Z{Eqf9"tx*T>O:X֕ڀF]҈CDuIݱXQDWJ ,VFS-u C@RobG2D"/>/Jt"L\ $Pșa`90?$1IF<+ } !iRҧ=^7o~R=нUX4 Hy GqKTM~{ l盁5c:(1N+k蜑4 i|l\CU!iQ_9ff%=4 f׉O @13ozss@mq=G6Ņm3;mfz`p3M#p`۝aI]~3 !vc3k۔B!RB&3+ބ13D Dr+aN`GۅxJ&)\I@v]t"sfho %FFl#7KX I}\dBCUn=7L&_)_|+,IENDB`candle-1.1.9/src/images/run.svg000066400000000000000000000077241421102410500163310ustar00rootroot00000000000000 image/svg+xml candle-1.1.9/src/images/safe_z.png000066400000000000000000000010311421102410500167420ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs a aJ%tEXtSoftwarewww.inkscape.org<IDATh홱JP#EApsk N:tѱoM'.wpstu u(Urڠ^so~Hȹ ɅReMZ DD `/ image/svg+xml candle-1.1.9/src/images/search_for_home2.png000066400000000000000000000023211421102410500207030ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs a aJ%tEXtSoftwarewww.inkscape.org<NIDAThՙMhUGF"F jEt 7*mį .DB\dٝBh! m*ŸO"وmN3Ϝ;wk8?{yJk\;Fm hD) |:m[ <j~ZiK5@{/hO^@Q2~`,2PRf!{Nm!}ˀ.OUD%kA ]`ԀMo mdpr@/0)^*pձ'A0A跸u'@w0i6G&DorjjTGE&3 ErK `:إO=3 (pI<p [ Z #@7 @[Y'YfՔrVw# W"x@ǁo#g̗$o/_zBkؚc[}ZGwy x.Mͬ"σ^JI7[ zQ, E|8H+8'biEd;cQ΂԰3ْl=u! S`)?Jl'h3h+ҐR "<@?9ƀ5&,d%1fvS>bVpbE̫T'fLmN3\@HDfnO3B;d Bɓ)kSJ>lwlӟעFblVvaSPIENDB`candle-1.1.9/src/images/search_for_z.png000066400000000000000000000023421421102410500201450ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs a aJ%tEXtSoftwarewww.inkscape.org<_IDAThՙOWU?8%8#6 5DZ 8# n!e EPp5-]-4䦅4DEDDc`?0HU3.s߻|{ͽ'RewڒPDD:'^+߁Kz 9SR`8 44a@rQ2!`21X Ev!Y{2 Y 6eĝ/ɉV׷rؓ瀃@ON|)Sp}Gt8VcĞ*l=[T!mrL'4;O_xe"/!`;Բv HBoe,PbGC] v:q:`񧽘@W^L,4 z8N?pm&d3#  {V|-OԲF`ث_Sկ+I+ьZ$y%`Wʘϻ-E^~t"_J)n>oaoS|uQ/3"2쌸1O xoGȾׁǬ6p;>|BY#,8|KL)5{x5-,`ʫꟸk%\-~;2@ FwJ+`gyenZ/PwRmFTd(\D3 x^]CR՟3p-`6B9)~jA{Gr pk9U>@AKm&,GY`kw!xRikm} w s -vU\fZ3u1)@롂k'|+|E6+Љ}m&pb |"ED*#~1hρ[\.Y޺+B,nrx <Uگff%DvXsΔG9&} K*vM˸ݩ; {6EpRE,T@F"{l("i*<wbU F\fE'rE?6Y;_;]p[S-y;PIENDB`candle-1.1.9/src/images/search_home.svg000066400000000000000000000101541421102410500177710ustar00rootroot00000000000000 image/svg+xml candle-1.1.9/src/images/search_z.svg000066400000000000000000000106571421102410500173220ustar00rootroot00000000000000 image/svg+xml candle-1.1.9/src/images/send_1.png000066400000000000000000000017651421102410500166620ustar00rootroot00000000000000PNG  IHDR00WsRGBgAMA a pHYs  ~tEXtSoftwarePaint.NET v3.5.11GB7dIDAThCYkNA^+ZI$RB@%\ZJmH[JQJI!%EH.HD.Q3uf\Ιٳ7}3̙ygR*#!F*w9Iqw 4]Ax".* G/ą!e 3S2R + s͒0 ƁE VԟҴD}0O5~Y~s8X.'6xчAњ~m#Po`b,wh ~D{uh`3`b>>=gB7D(Ty K5!pJW-I[XKv=h]Y'E gMk<~%$pKu_z8$$#.8 0>[b)6?<'zLGKA7x ^w%ϽSzIA.1n+'qsI_Ifygsf.+2's˵*v7Sl)"02BX<+XZ9>2,M:O0\UaڻR㜳WG@ږ[R.ggz0e0- sV|z0ޅf|g8<&t=4-#^r.b9oW»qdo >q. ~ͩ/kr ;5ZP,UJf?2p Ӈ0,g)DGP~R~KjtuK" Rw4[E h|]𮸬G?حꢦIENDB`candle-1.1.9/src/images/shadow.png000066400000000000000000000066411421102410500167740ustar00rootroot00000000000000PNG  IHDR,,y}ugAMA7tEXtSoftwareAdobe ImageReadyqe< 3IDATx݁R8@Q1ǻݕ'Ɂ%sNU P5zzq”Rn[qTޏޖTy?W8)Ty͕|^ ~Nzjjv`ũu+?N@X*o[s׶Km ޿4^ ?T#G(R*'VFF?{bu^?oEJ&4E׽ph희I*V O-ka:W"uBVzhMX#;2Rt4R~i0H!g,&Sqj)})spBV+ZX <.L#ΪSw_cEGÑ)K=ΕPQp8 Vt,-XK0i,cLX+ XQpvai4a$Sﲆ2VevFv4LvYTco5(Xs𧻓5DV-\e#b=p&d_XXEGw*wXkeS﷯ZjKa]#XUeՎX֣c`8SsF-| YK.|dh8~z3#/р3j-k9 Ǎ챢X <(E+_&T|]U=-z#"6edm=]owb=f+bt 켦XMXB]&8XB]׹3YmV+Z{ZQF+8-?\~PX~SjjŪvV]kN L`_R{OKm ^W#v\ [pPEڑ$hW{U^G/;%Xs]~{zÿ_{/m(8Vʅ%UJk{^0 _; VӵˎT_KX W뵱D V lF~i;a]:GѠ̌XK#CV$~N{΍U ۟/;CL)9MZ8 %G΍T5 xGj8mVjΒ7`b{45Bk+wMX֋x~_KN8^o&Xaѽh/wNR%{~ p {?s#i`HmHC _Si`R"E:;;5%ojyvK52vX=}tvXy?oƑh +X#6xg{U{~V{6߬3tۙwt{LY_ aS @, @ ,,@ @, @ ,,@ ,,@ @, @ ,,@ @, @ ,,@ ,,@ @, @ ,,@ @, @ ,,@ ,,@ @, @ ,,@ @, @ ,,@ ,,@ @, @ ,,@ @, @ ,,@ ,,@ @, @ ,,@ @, @ ,,@ ,,@ @, @ ,,@ @, @ ,,@ ,,@ @, @ ,,@ 7gS}qcE(Ywa?C?y/0 NU7'tpޟ 4:тcj;Kۻ_u4}xT٣ur73 {-i ?e~[מ^|5ŦNuk#V[qpeǹft{KޝLXp5|iGCZv^z;ox`MCf4`U_+G(XbVXX K%\K%VNVzW.mޑe-ű_Eשu,\R\-oV VjG ڱ^Si7X8*?pF% ׯ \ݽ֒'%UcϕWvWp] i)vYhU=.So{sX5׋K0e ꅪyFǛ`Z~uvZV]X-c`LV,TkqG.}Vt$\ZVZF얇jmLW{+7,hEG*ۄ_pӊՔʋsNXvYKk{vXy'1-PՎQ ;YEʏJ,|0"R[Bڢ=:+^{^;DvT&SmUF D/ܻHtt%^p kd5f_8G;5'5h9}|+ ~nz/P;&9= ΕH희<3Z_MZscGݻw0-Nd hMXIu%|DzYC+V`&v* `홴x 6|u)5GwVBI/`yڣiJ@FS/N`52{0˧/IENDB`candle-1.1.9/src/images/small_arrow.png000066400000000000000000000003101421102410500200140ustar00rootroot00000000000000PNG  IHDRsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<EIDATA @ &Oߟˢz 5_s(F Jlk7OASIENDB`candle-1.1.9/src/images/small_arrow.svg000066400000000000000000000043021421102410500200340ustar00rootroot00000000000000 image/svg+xml candle-1.1.9/src/images/unlock.png000066400000000000000000000047431421102410500170030ustar00rootroot00000000000000PNG  IHDR>asRGBgAMA a pHYsD#D##b+tEXtSoftwarePaint.NET v3.5.100r RIDATx^kUUǯf6EOVDi8fo{Y $)RYf/`0T  ò_=νsk޳?8ܳYY{}ݷSJ2 ͂BOAv m>VBO@ !ml{K>5 VLI_]DP d)H1 ~f@!.l >P-{<'qޙ!a}d}(@\)@G@C$?OسjM9q|m!?j?@Po a5&υ_@0o$\"X)a ~[ uC d7;B0Pc+&T O-:=1?Σ ZJmXX38֤D/MyWVG+qB< n00f@#oz87_=T"mIm3^uV ڵ@ӡ=)| rlˀb>.vi_l}5o) QAflIsi t.vid`21e+,vR>{%& @i}2?^Ä`G%A[C8qod"5C|+Cܽ(gc(j|̀Z;{9Fjc@WDWO"aKDs$Q o3L?^g2薆38%ϑi isnlK!i'3]ͤv#%$,zb geZx,/Xc-_޸ uKOl">dk/8Ÿ ^;` 09Z>in_Fq?S{?[kdGQ@]_m#l~/}.`sPѥ.4 ?h`8@0T+@*@+s]㜾RS 9*'9eM29R nX+_Ju "iRuD #@OBc)$"Q!ڈF6hy  K*OĚIvoD<'H0SHRRvbF$kÿޟy87}c&{j6/{$$}&4A,4{1 ޻B0`~ `^hn׫?hw&}lLe3E['oRy4cRy](+".m;)"+H.r)B~H۶ C)am!@DڶU(i{s%RG9[xImHWAWBLjs;~K`M"]d@choZs= q_.Hp^ОK/[}ris>m"`9Ox-Cqmas_% piKloS1_ɶph>"֢>5;nQasC+GAQğiU7!/)0!>ph~"6g;KD_Rr!@QAy=5o"\ BVV 89:H*@& @Wo  q?MSؾCɕmzVZ&^. @+VAWA~2tC@v:dD E8er7q1@ԞX @ ]4  5܏ H~}\ ~nEW =F?_@S;_ț<9@I ST1s@Y@?$p~'_=jkP\`C(@|j_}=P}"A@*{`4 8X1@}hcvNc"8i8pVU :0*P= )DȈ5(#x8'e;<6   UIChaf3t$C8A ]XB&V8 3lQH"zq=N`"~`(Җ @OĽ i0Ncmx̖I`fx&X ee4OK:;ٙ%B צpDŽSۀ<3$r]eXӸ!cI_-L2,_% 3>O+%%O<7(C@- |ׄ*+%EEyɅ^3 %扥/AC5( |=qv{UIguds {~'f6\џI pgZcfݸt%$ S/q߅.ƀK&BtKon3Oq[E5n`cA]F}|_ %fv>|MROyVIzro3JfmKs}8UXǁ5z,4pWcyX[cG4 6GsYK)FH~#v[֙$\j!]@Wg "ǁyU$Tы2W%5JHJ~SrBrr`*媗}աXp *M'WS{ʐ+׬})\Cgo/fV ydm<"B"3Ŏ image/svg+xml Ø candle-1.1.9/src/main.cpp000066400000000000000000000136411421102410500151620ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #include #include #include #include #include #include #include #include #include #include "parser/gcodepreprocessorutils.h" #include "parser/gcodeparser.h" #include "parser/gcodeviewparse.h" #include "frmmain.h" int main(int argc, char *argv[]) { #ifdef UNIX bool styleOverrided = false; for (int i = 0; i < argc; i++) if (QString(argv[i]).toUpper() == "-STYLE") { styleOverrided = true; break; } #endif QApplication a(argc, argv); // QFontDatabase::addApplicationFont(":/fonts/segoeui.ttf"); // QFontDatabase::addApplicationFont(":/fonts/tahoma.ttf"); #ifdef GLES QFontDatabase::addApplicationFont(":/fonts/Ubuntu-R.ttf"); #endif QGLFormat glf = QGLFormat::defaultFormat(); glf.setSampleBuffers(true); glf.setSamples(8); QGLFormat::setDefaultFormat(glf); // QLocale::setDefault(QLocale("es")); QString loc = QLocale().name().left(2); QString translationsFolder = qApp->applicationDirPath() + "/translations/"; QString translationFileName = translationsFolder + qApp->applicationDisplayName() + "_" + loc + ".qm"; qDebug() << "locale:" << loc; if(QFile::exists(translationFileName)) { QTranslator* translator = new QTranslator(); if (translator->load(translationFileName)) a.installTranslator(translator); else delete translator; } QString baseTranslationFileName = translationsFolder + "qt_" + loc + ".qm"; if(QFile::exists(translationFileName)) { QTranslator* baseTranslator = new QTranslator(); if (baseTranslator->load(baseTranslationFileName)) a.installTranslator(baseTranslator); else delete baseTranslator; } a.setApplicationVersion(APP_VERSION); #ifdef UNIX if (!styleOverrided) foreach (QString str, QStyleFactory::keys()) { qDebug() << "style" << str; if (str.contains("GTK+")) { a.setStyle(QStyleFactory::create(str)); break; } } #endif #ifdef GLES a.setStyle(QStyleFactory::create("Fusion")); QPalette palette; palette.setColor(QPalette::Highlight, QColor(204, 204, 254)); palette.setColor(QPalette::HighlightedText, QColor(0, 0, 0)); a.setPalette(palette); a.setStyleSheet("QWidget {font-family: \"Ubuntu\";}\ QMenuBar {background-color: #303030; padding-top: 2px; padding-bottom: 2px;}\ QMenuBar::item {spacing: 3px; padding: 2px 8px; background: transparent; color: white;}\ QMenuBar::item:pressed {border: 1px solid #505050; border-bottom: 1px; border-top-left-radius: 3px; border-top-right-radius: 3px; background: #404040; color: white;}\ QToolTip { color: #ffffff; background-color: #2a82da; border: 1px solid white;}\ QDialog {border: 1px solid palette(mid);}"); #endif a.setStyleSheet(a.styleSheet() + "QWidget {font-size: 8pt}"); frmMain w; w.show(); // qDebug() << GcodePreprocessorUtils::overrideSpeed("G0 X0 Y10 Z200 F123", 50); // qDebug() << GcodePreprocessorUtils::removeComment("G1 X10 ((test comment 1))"); // qDebug() << GcodePreprocessorUtils::removeComment("G1 X10 ;;test comment 2"); // qDebug() << GcodePreprocessorUtils::parseComment("G1 X10 ((test comment 1))"); // qDebug() << GcodePreprocessorUtils::parseComment("G1 X10 ;;test comment 2"); // qDebug() << GcodePreprocessorUtils::truncateDecimals(1, "G0 X123.4456 Y3.12345 Z0.5"); // qDebug() << GcodePreprocessorUtils::removeAllWhitespace(" test spaces "); // qDebug() << GcodePreprocessorUtils::parseCodes(QString("G0 X123.4456 Y3.12345 Z0.5").split(' '), 'X'); // qDebug() << GcodePreprocessorUtils::parseGCodes("G0 G02 G12 G3 G021 M03"); // qDebug() << GcodePreprocessorUtils::parseMCodes("G0 G02 G12 G3 G021 M03"); // qDebug() << GcodePreprocessorUtils::splitCommand("G0 X123.4456 Y3.12345 Z0.5"); // qDebug() << GcodePreprocessorUtils::updatePointWithCommand("G0 X10 Y20 Z30", QVector3D(10, 10, 10), false); // qDebug() << GcodePreprocessorUtils::updateCenterWithCommand(GcodePreprocessorUtils::splitCommand("G0 X10 Y20 I0 J20 K6"), QVector3D(10, 10, 10), QVector3D(20, 20, 20), false, true); // qDebug() << GcodePreprocessorUtils::generateG1FromPoints(QVector3D(10, 10, 10), QVector3D(20, 20, 20), true, 3); // qDebug() << GcodePreprocessorUtils::getAngle(QVector3D(0, 0, 0), QVector3D(-10, 0, 10)); // qDebug() << GcodePreprocessorUtils::calculateSweep(M_PI / 2, 0, false); // qDebug() << GcodePreprocessorUtils::generatePointsAlongArcBDring(QVector3D(10, 0, 0), QVector3D(0, 10, 0), QVector3D(0, 0, 0), false, 10, 0.1, 5); // GcodeParser gp; // gp.addCommand("G1 X0 Y10"); // gp.addCommand("G1 X10 Y0"); // gp.addCommand("G1 X10 Y10 Z0"); // gp.addCommand("G2 X20 Y0 R10"); // qDebug() << "PointSegment list"; // for (int i = 0; i < 10000; i++) { // GcodeParser gp1; // gp1.addCommand("G1 X0 Y10"); // gp1.addCommand("G1 X10 Y0"); // gp1.addCommand("G1 X10 Y10 Z0"); // gp1.addCommand("G2 X20 Y0 R10"); // } // foreach (PointSegment *ps, gp.getPointSegmentList()) { // qDebug() << *ps->point() << ps->isArc() << ps->isClockwise(); // } // GcodeViewParse gvp; // QList commands; // commands.append("G1 X0 Y10"); // commands.append("G1 X10 Y0"); // commands.append("G1 X10 Y10 Z0"); // commands.append("G2 X20 Y0 Z0 R10"); // qDebug() << "LineSegment list"; // for (int i = 0; i < 10000; i++) // { // GcodeViewParse gvp1; // foreach (LineSegment* ls, gvp1.toObjRedux(commands, 5)) { // } // } // foreach (LineSegment* ls, gvp.toObjRedux(commands, 5)) { // qDebug() << ls->getStart() << ls->getEnd() << ls->getLineNumber() << ls->isArc(); // } // return 0; return a.exec(); } candle-1.1.9/src/parser/000077500000000000000000000000001421102410500150215ustar00rootroot00000000000000candle-1.1.9/src/parser/arcproperties.cpp000066400000000000000000000006011421102410500204040ustar00rootroot00000000000000// This file is a part of "Candle" application. // This file was originally ported from "ArcProperties.java" class // of "Universal GcodeSender" application written by Will Winder // (https://github.com/winder/Universal-G-Code-Sender) // Copyright 2015-2016 Hayrullin Denis Ravilevich #include "arcproperties.h" ArcProperties::ArcProperties() { radius = 0; center = NULL; } candle-1.1.9/src/parser/arcproperties.h000066400000000000000000000010001421102410500200430ustar00rootroot00000000000000// This file is a part of "Candle" application. // This file was originally ported from "ArcProperties.java" class // of "Universal GcodeSender" application written by Will Winder // (https://github.com/winder/Universal-G-Code-Sender) // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef ARCPROPERTIES_H #define ARCPROPERTIES_H #include class ArcProperties { public: explicit ArcProperties(); bool isClockwise; double radius; QVector3D *center; }; #endif // ARCPROPERTIES_H candle-1.1.9/src/parser/gcodeparser.cpp000066400000000000000000000314151421102410500200270ustar00rootroot00000000000000// This file is a part of "Candle" application. // This file was originally ported from "GcodeParser.java" class // of "Universal GcodeSender" application written by Will Winder // (https://github.com/winder/Universal-G-Code-Sender) // Copyright 2015-2016 Hayrullin Denis Ravilevich #include #include #include "gcodeparser.h" GcodeParser::GcodeParser(QObject *parent) : QObject(parent) { m_isMetric = true; m_inAbsoluteMode = true; m_inAbsoluteIJKMode = false; m_lastGcodeCommand = -1; m_commandNumber = 0; // Settings m_speedOverride = -1; m_truncateDecimalLength = 40; m_removeAllWhitespace = true; m_convertArcsToLines = false; m_smallArcThreshold = 1.0; // Not configurable outside, but maybe it should be. m_smallArcSegmentLength = 0.3; m_lastSpeed = 0; m_lastSpindleSpeed = 0; m_traverseSpeed = 300; reset(); } GcodeParser::~GcodeParser() { foreach (PointSegment *ps, this->m_points) delete ps; } bool GcodeParser::getConvertArcsToLines() { return m_convertArcsToLines; } void GcodeParser::setConvertArcsToLines(bool convertArcsToLines) { this->m_convertArcsToLines = convertArcsToLines; } bool GcodeParser::getRemoveAllWhitespace() { return m_removeAllWhitespace; } void GcodeParser::setRemoveAllWhitespace(bool removeAllWhitespace) { this->m_removeAllWhitespace = removeAllWhitespace; } double GcodeParser::getSmallArcSegmentLength() { return m_smallArcSegmentLength; } void GcodeParser::setSmallArcSegmentLength(double smallArcSegmentLength) { this->m_smallArcSegmentLength = smallArcSegmentLength; } double GcodeParser::getSmallArcThreshold() { return m_smallArcThreshold; } void GcodeParser::setSmallArcThreshold(double smallArcThreshold) { this->m_smallArcThreshold = smallArcThreshold; } double GcodeParser::getSpeedOverride() { return m_speedOverride; } void GcodeParser::setSpeedOverride(double speedOverride) { this->m_speedOverride = speedOverride; } int GcodeParser::getTruncateDecimalLength() { return m_truncateDecimalLength; } void GcodeParser::setTruncateDecimalLength(int truncateDecimalLength) { this->m_truncateDecimalLength = truncateDecimalLength; } // Resets the current state. void GcodeParser::reset(const QVector3D &initialPoint) { qDebug() << "reseting gp" << initialPoint; foreach (PointSegment *ps, this->m_points) delete ps; this->m_points.clear(); // The unspoken home location. m_currentPoint = initialPoint; m_currentPlane = PointSegment::XY; this->m_points.append(new PointSegment(&this->m_currentPoint, -1)); } /** * Add a command to be processed. */ PointSegment* GcodeParser::addCommand(QString command) { QString stripped = GcodePreprocessorUtils::removeComment(command); QStringList args = GcodePreprocessorUtils::splitCommand(stripped); return this->addCommand(args); } /** * Add a command which has already been broken up into its arguments. */ PointSegment* GcodeParser::addCommand(const QStringList &args) { if (args.isEmpty()) { return NULL; } return processCommand(args); } /** * Warning, this should only be used when modifying live gcode, such as when * expanding an arc or canned cycle into line segments. */ void GcodeParser::setLastGcodeCommand(float num) { this->m_lastGcodeCommand = num; } /** * Gets the point at the end of the list. */ QVector3D *GcodeParser::getCurrentPoint() { return &m_currentPoint; } /** * Expands the last point in the list if it is an arc according to the * the parsers settings. */ QList GcodeParser::expandArc() { PointSegment *startSegment = this->m_points[this->m_points.size() - 2]; PointSegment *lastSegment = this->m_points[this->m_points.size() - 1]; QList empty; // Can only expand arcs. if (!lastSegment->isArc()) { return empty; } // Get precalculated stuff. QVector3D *start = startSegment->point(); QVector3D *end = lastSegment->point(); QVector3D *center = lastSegment->center(); double radius = lastSegment->getRadius(); bool clockwise = lastSegment->isClockwise(); PointSegment::planes plane = startSegment->plane(); // // Start expansion. // QList expandedPoints = GcodePreprocessorUtils::generatePointsAlongArcBDring(plane, *start, *end, *center, clockwise, radius, m_smallArcThreshold, m_smallArcSegmentLength, false); // Validate output of expansion. if (expandedPoints.length() == 0) { return empty; } // Remove the last point now that we're about to expand it. this->m_points.removeLast(); m_commandNumber--; // Initialize return value QList psl; // Create line segments from points. PointSegment *temp; QListIterator psi(expandedPoints); // skip first element. if (psi.hasNext()) psi.next(); while (psi.hasNext()) { temp = new PointSegment(&psi.next(), m_commandNumber++); temp->setIsMetric(lastSegment->isMetric()); this->m_points.append(temp); psl.append(temp); } // Update the new endpoint. this->m_currentPoint.setX(this->m_points.last()->point()->x()); this->m_currentPoint.setY(this->m_points.last()->point()->y()); this->m_currentPoint.setZ(this->m_points.last()->point()->z()); return psl; } QList GcodeParser::getPointSegmentList() { return this->m_points; } double GcodeParser::getTraverseSpeed() const { return m_traverseSpeed; } void GcodeParser::setTraverseSpeed(double traverseSpeed) { m_traverseSpeed = traverseSpeed; } int GcodeParser::getCommandNumber() const { return m_commandNumber - 1; } PointSegment *GcodeParser::processCommand(const QStringList &args) { QList gCodes; PointSegment *ps = NULL; // Handle F code double speed = GcodePreprocessorUtils::parseCoord(args, 'F'); if (!qIsNaN(speed)) this->m_lastSpeed = this->m_isMetric ? speed : speed * 25.4; // Handle S code double spindleSpeed = GcodePreprocessorUtils::parseCoord(args, 'S'); if (!qIsNaN(spindleSpeed)) this->m_lastSpindleSpeed = spindleSpeed; // Handle P code double dwell = GcodePreprocessorUtils::parseCoord(args, 'P'); if (!qIsNaN(dwell)) this->m_points.last()->setDwell(dwell); // handle G codes. gCodes = GcodePreprocessorUtils::parseCodes(args, 'G'); // If there was no command, add the implicit one to the party. if (gCodes.isEmpty() && m_lastGcodeCommand != -1) { gCodes.append(m_lastGcodeCommand); } foreach (float code, gCodes) { ps = handleGCode(code, args); } return ps; } PointSegment *GcodeParser::addLinearPointSegment(const QVector3D &nextPoint, bool fastTraverse) { PointSegment *ps = new PointSegment(&nextPoint, m_commandNumber++); bool zOnly = false; // Check for z-only if ((this->m_currentPoint.x() == nextPoint.x()) && (this->m_currentPoint.y() == nextPoint.y()) && (this->m_currentPoint.z() != nextPoint.z())) { zOnly = true; } ps->setIsMetric(this->m_isMetric); ps->setIsZMovement(zOnly); ps->setIsFastTraverse(fastTraverse); ps->setIsAbsolute(this->m_inAbsoluteMode); ps->setSpeed(fastTraverse ? this->m_traverseSpeed : this->m_lastSpeed); ps->setSpindleSpeed(this->m_lastSpindleSpeed); this->m_points.append(ps); // Save off the endpoint. this->m_currentPoint = nextPoint; return ps; } PointSegment *GcodeParser::addArcPointSegment(const QVector3D &nextPoint, bool clockwise, const QStringList &args) { PointSegment *ps = new PointSegment(&nextPoint, m_commandNumber++); QVector3D center = GcodePreprocessorUtils::updateCenterWithCommand(args, this->m_currentPoint, nextPoint, this->m_inAbsoluteIJKMode, clockwise); double radius = GcodePreprocessorUtils::parseCoord(args, 'R'); // Calculate radius if necessary. if (qIsNaN(radius)) { QMatrix4x4 m; m.setToIdentity(); switch (m_currentPlane) { case PointSegment::XY: break; case PointSegment::ZX: m.rotate(90, 1.0, 0.0, 0.0); break; case PointSegment::YZ: m.rotate(-90, 0.0, 1.0, 0.0); break; } radius = sqrt(pow((double)((m * this->m_currentPoint).x() - (m * center).x()), 2.0) + pow((double)((m * this->m_currentPoint).y() - (m * center).y()), 2.0)); } ps->setIsMetric(this->m_isMetric); ps->setArcCenter(¢er); ps->setIsArc(true); ps->setRadius(radius); ps->setIsClockwise(clockwise); ps->setIsAbsolute(this->m_inAbsoluteMode); ps->setSpeed(this->m_lastSpeed); ps->setSpindleSpeed(this->m_lastSpindleSpeed); ps->setPlane(m_currentPlane); this->m_points.append(ps); // Save off the endpoint. this->m_currentPoint = nextPoint; return ps; } void GcodeParser::handleMCode(float code, const QStringList &args) { double spindleSpeed = GcodePreprocessorUtils::parseCoord(args, 'S'); if (!qIsNaN(spindleSpeed)) this->m_lastSpindleSpeed = spindleSpeed; } PointSegment * GcodeParser::handleGCode(float code, const QStringList &args) { PointSegment *ps = NULL; QVector3D nextPoint = GcodePreprocessorUtils::updatePointWithCommand(args, this->m_currentPoint, this->m_inAbsoluteMode); if (code == 0.0f) ps = addLinearPointSegment(nextPoint, true); else if (code == 1.0f) ps = addLinearPointSegment(nextPoint, false); else if (code == 38.2f) ps = addLinearPointSegment(nextPoint, false); else if (code == 2.0f) ps = addArcPointSegment(nextPoint, true, args); else if (code == 3.0f) ps = addArcPointSegment(nextPoint, false, args); else if (code == 17.0f) this->m_currentPlane = PointSegment::XY; else if (code == 18.0f) this->m_currentPlane = PointSegment::ZX; else if (code == 19.0f) this->m_currentPlane = PointSegment::YZ; else if (code == 20.0f) this->m_isMetric = false; else if (code == 21.0f) this->m_isMetric = true; else if (code == 90.0f) this->m_inAbsoluteMode = true; else if (code == 90.1f) this->m_inAbsoluteIJKMode = true; else if (code == 91.0f) this->m_inAbsoluteMode = false; else if (code == 91.1f) this->m_inAbsoluteIJKMode = false; if (code == 0.0f || code == 1.0f || code == 2.0f || code == 3.0f || code == 38.2f) this->m_lastGcodeCommand = code; return ps; } QStringList GcodeParser::preprocessCommands(QStringList commands) { QStringList result; foreach (QString command, commands) { result.append(preprocessCommand(command)); } return result; } QStringList GcodeParser::preprocessCommand(QString command) { QStringList result; bool hasComment = false; // Remove comments from command. QString newCommand = GcodePreprocessorUtils::removeComment(command); QString rawCommand = newCommand; hasComment = (newCommand.length() != command.length()); if (m_removeAllWhitespace) { newCommand = GcodePreprocessorUtils::removeAllWhitespace(newCommand); } if (newCommand.length() > 0) { // Override feed speed if (m_speedOverride > 0) { newCommand = GcodePreprocessorUtils::overrideSpeed(newCommand, m_speedOverride); } if (m_truncateDecimalLength > 0) { newCommand = GcodePreprocessorUtils::truncateDecimals(m_truncateDecimalLength, newCommand); } // If this is enabled we need to parse the gcode as we go along. if (m_convertArcsToLines) { // || this.expandCannedCycles) { QStringList arcLines = convertArcsToLines(newCommand); if (arcLines.length() > 0) { result.append(arcLines); } else { result.append(newCommand); } } else if (hasComment) { // Maintain line level comment. result.append(command.replace(rawCommand, newCommand)); } else { result.append(newCommand); } } else if (hasComment) { // Reinsert comment-only lines. result.append(command); } return result; } QStringList GcodeParser::convertArcsToLines(QString command) { QStringList result; QVector3D start = this->m_currentPoint; PointSegment *ps = addCommand(command); if (ps == NULL || !ps->isArc()) { return result; } QList psl = expandArc(); if (psl.length() == 0) { return result; } // Create an array of new commands out of the of the segments in psl. // Don't add them to the gcode parser since it is who expanded them. foreach (PointSegment* segment, psl) { //Point3d end = segment.point(); QVector3D end = *segment->point(); result.append(GcodePreprocessorUtils::generateG1FromPoints(start, end, this->m_inAbsoluteMode, m_truncateDecimalLength)); start = *segment->point(); } return result; } candle-1.1.9/src/parser/gcodeparser.h000066400000000000000000000054341421102410500174760ustar00rootroot00000000000000// This file is a part of "Candle" application. // This file was originally ported from "GcodeParser.java" class // of "Universal GcodeSender" application written by Will Winder // (https://github.com/winder/Universal-G-Code-Sender) // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef GCODEPARSER_H #define GCODEPARSER_H #include #include #include #include "pointsegment.h" #include "gcodepreprocessorutils.h" class GcodeParser : public QObject { Q_OBJECT public: explicit GcodeParser(QObject *parent = 0); ~GcodeParser(); bool getConvertArcsToLines(); void setConvertArcsToLines(bool convertArcsToLines); bool getRemoveAllWhitespace(); void setRemoveAllWhitespace(bool removeAllWhitespace); double getSmallArcSegmentLength(); void setSmallArcSegmentLength(double smallArcSegmentLength); double getSmallArcThreshold(); void setSmallArcThreshold(double smallArcThreshold); double getSpeedOverride(); void setSpeedOverride(double speedOverride); int getTruncateDecimalLength(); void setTruncateDecimalLength(int truncateDecimalLength); void reset(const QVector3D &initialPoint = QVector3D(qQNaN(), qQNaN(), qQNaN())); PointSegment *addCommand(QString command); PointSegment *addCommand(const QStringList &args); QVector3D* getCurrentPoint(); QList expandArc(); QStringList preprocessCommands(QStringList commands); QStringList preprocessCommand(QString command); QStringList convertArcsToLines(QString command); QList getPointSegmentList(); double getTraverseSpeed() const; void setTraverseSpeed(double traverseSpeed); int getCommandNumber() const; signals: public slots: private: // Current state bool m_isMetric; bool m_inAbsoluteMode; bool m_inAbsoluteIJKMode; float m_lastGcodeCommand; QVector3D m_currentPoint; int m_commandNumber; PointSegment::planes m_currentPlane; // Settings double m_speedOverride; int m_truncateDecimalLength; bool m_removeAllWhitespace; bool m_convertArcsToLines; double m_smallArcThreshold; // Not configurable outside, but maybe it should be. double m_smallArcSegmentLength; double m_lastSpeed; double m_traverseSpeed; double m_lastSpindleSpeed; // The gcode. QList m_points; PointSegment *processCommand(const QStringList &args); void handleMCode(float code, const QStringList &args); PointSegment *handleGCode(float code, const QStringList &args); PointSegment *addLinearPointSegment(const QVector3D &nextPoint, bool fastTraverse); PointSegment *addArcPointSegment(const QVector3D &nextPoint, bool clockwise, const QStringList &args); void setLastGcodeCommand(float num); }; #endif // GCODEPARSER_H candle-1.1.9/src/parser/gcodepreprocessorutils.cpp000066400000000000000000000366151421102410500223510ustar00rootroot00000000000000// This file is a part of "Candle" application. // This file was originally ported from "GcodePreprocessorUtils.java" class // of "Universal GcodeSender" application written by Will Winder // (https://github.com/winder/Universal-G-Code-Sender) // Copyright 2015-2016 Hayrullin Denis Ravilevich #include #include #include #include "gcodepreprocessorutils.h" #include "limits" #include "../tables/gcodetablemodel.h" /** * Searches the command string for an 'f' and replaces the speed value * between the 'f' and the next space with a percentage of that speed. * In that way all speed values become a ratio of the provided speed * and don't get overridden with just a fixed speed. */ QString GcodePreprocessorUtils::overrideSpeed(QString command, double speed, double *original) { static QRegExp re("[Ff]([0-9.]+)"); if (re.indexIn(command) != -1) { command.replace(re, QString("F%1").arg(re.cap(1).toDouble() / 100 * speed)); if (original) *original = re.cap(1).toDouble(); } return command; } /** * Removes any comments within parentheses or beginning with a semi-colon. */ QString GcodePreprocessorUtils::removeComment(QString command) { static QRegExp rx1("\\(+[^\\(]*\\)+"); static QRegExp rx2(";.*"); // Remove any comments within ( parentheses ) using regex "\([^\(]*\)" if (command.contains('(')) command.remove(rx1); // Remove any comment beginning with ';' using regex ";.*" if (command.contains(';')) command.remove(rx2); return command.trimmed(); } /** * Searches for a comment in the input string and returns the first match. */ QString GcodePreprocessorUtils::parseComment(QString command) { // REGEX: Find any comment, includes the comment characters: // "(?<=\()[^\(\)]*|(?<=\;)[^;]*" // "(?<=\\()[^\\(\\)]*|(?<=\\;)[^;]*" static QRegExp re("(\\([^\\(\\)]*\\)|;[^;].*)"); if (re.indexIn(command) != -1) { return re.cap(1); } return ""; } QString GcodePreprocessorUtils::truncateDecimals(int length, QString command) { static QRegExp re("(\\d*\\.\\d*)"); int pos = 0; while ((pos = re.indexIn(command, pos)) != -1) { QString newNum = QString::number(re.cap(1).toDouble(), 'f', length); command = command.left(pos) + newNum + command.mid(pos + re.matchedLength()); pos += newNum.length() + 1; } return command; } QString GcodePreprocessorUtils::removeAllWhitespace(QString command) { static QRegExp rx("\\s"); return command.remove(rx); } QList GcodePreprocessorUtils::parseCodes(const QStringList &args, char code) { QList l; foreach (QString s, args) { if (s.length() > 0 && s[0].toUpper() == code) l.append(s.mid(1).toDouble()); } return l; } QList GcodePreprocessorUtils::parseGCodes(QString command) { static QRegExp re("[Gg]0*(\\d+)"); QList codes; int pos = 0; while ((pos = re.indexIn(command, pos)) != -1) { codes.append(re.cap(1).toInt()); pos += re.matchedLength(); } return codes; } QList GcodePreprocessorUtils::parseMCodes(QString command) { static QRegExp re("[Mm]0*(\\d+)"); QList codes; int pos = 0; while ((pos = re.indexIn(command, pos)) != -1) { codes.append(re.cap(1).toInt()); pos += re.matchedLength(); } return codes; } /** * Update a point given the arguments of a command. */ QVector3D GcodePreprocessorUtils::updatePointWithCommand(const QString &command, const QVector3D &initial, bool absoluteMode) { QStringList l = splitCommand(command); return updatePointWithCommand(l, initial, absoluteMode); } /** * Update a point given the arguments of a command, using a pre-parsed list. */ QVector3D GcodePreprocessorUtils::updatePointWithCommand(const QStringList &commandArgs, const QVector3D &initial, bool absoluteMode) { double x = qQNaN(); double y = qQNaN(); double z = qQNaN(); char c; for (int i = 0; i < commandArgs.length(); i++) { if (commandArgs.at(i).length() > 0) { c = commandArgs.at(i).at(0).toUpper().toLatin1(); switch (c) { case 'X': x = commandArgs.at(i).mid(1).toDouble();; break; case 'Y': y = commandArgs.at(i).mid(1).toDouble();; break; case 'Z': z = commandArgs.at(i).mid(1).toDouble();; break; } } } return updatePointWithCommand(initial, x, y, z, absoluteMode); } /** * Update a point given the new coordinates. */ QVector3D GcodePreprocessorUtils::updatePointWithCommand(const QVector3D &initial, double x, double y, double z, bool absoluteMode) { QVector3D newPoint(initial.x(), initial.y(), initial.z()); if (absoluteMode) { if (!qIsNaN(x)) newPoint.setX(x); if (!qIsNaN(y)) newPoint.setY(y); if (!qIsNaN(z)) newPoint.setZ(z); } else { if (!qIsNaN(x)) newPoint.setX(newPoint.x() + x); if (!qIsNaN(y)) newPoint.setY(newPoint.y() + y); if (!qIsNaN(z)) newPoint.setZ(newPoint.z() + z); } return newPoint; } QVector3D GcodePreprocessorUtils::updateCenterWithCommand(QStringList commandArgs, QVector3D initial, QVector3D nextPoint, bool absoluteIJKMode, bool clockwise) { double i = qQNaN(); double j = qQNaN(); double k = qQNaN(); double r = qQNaN(); char c; foreach (QString t, commandArgs) { if (t.length() > 0) { c = t[0].toUpper().toLatin1(); switch (c) { case 'I': i = t.mid(1).toDouble(); break; case 'J': j = t.mid(1).toDouble(); break; case 'K': k = t.mid(1).toDouble(); break; case 'R': r = t.mid(1).toDouble(); break; } } } if (qIsNaN(i) && qIsNaN(j) && qIsNaN(k)) { return convertRToCenter(initial, nextPoint, r, absoluteIJKMode, clockwise); } return updatePointWithCommand(initial, i, j, k, absoluteIJKMode); } QString GcodePreprocessorUtils::generateG1FromPoints(QVector3D start, QVector3D end, bool absoluteMode, int precision) { QString sb("G1"); if (absoluteMode) { if (!qIsNaN(end.x())) sb.append("X" + QString::number(end.x(), 'f', precision)); if (!qIsNaN(end.y())) sb.append("Y" + QString::number(end.y(), 'f', precision)); if (!qIsNaN(end.z())) sb.append("Z" + QString::number(end.z(), 'f', precision)); } else { if (!qIsNaN(end.x())) sb.append("X" + QString::number(end.x() - start.x(), 'f', precision)); if (!qIsNaN(end.y())) sb.append("Y" + QString::number(end.y() - start.y(), 'f', precision)); if (!qIsNaN(end.z())) sb.append("Z" + QString::number(end.z() - start.z(), 'f', precision)); } return sb; } ///** //* Splits a gcode command by each word/argument, doesn't care about spaces. //* This command is about the same speed as the string.split(" ") command, //* but might be a little faster using precompiled regex. //*/ QStringList GcodePreprocessorUtils::splitCommand(const QString &command) { QStringList l; bool readNumeric = false; QString sb; QByteArray ba(command.toLatin1()); const char *cmd = ba.constData(); // Direct access to string data char c; for (int i = 0; i < command.length(); i++) { c = cmd[i]; if (readNumeric && !isDigit(c) && c != '.') { readNumeric = false; l.append(sb); sb.clear(); if (isLetter(c)) sb.append(c); } else if (isDigit(c) || c == '.' || c == '-') { sb.append(c); readNumeric = true; } else if (isLetter(c)) sb.append(c); } if (sb.length() > 0) l.append(sb); // QChar c; // for (int i = 0; i < command.length(); i++) { // c = command[i]; // if (readNumeric && !c.isDigit() && c != '.') { // readNumeric = false; // l.append(sb); // sb = ""; // if (c.isLetter()) sb.append(c); // } else if (c.isDigit() || c == '.' || c == '-') { // sb.append(c); // readNumeric = true; // } else if (c.isLetter()) sb.append(c); // } // if (sb.length() > 0) l.append(sb); return l; } // TODO: Replace everything that uses this with a loop that loops through // the string and creates a hash with all the values. double GcodePreprocessorUtils::parseCoord(QStringList argList, char c) { // int n = argList.length(); // for (int i = 0; i < n; i++) { // if (argList[i].length() > 0 && argList[i][0].toUpper() == c) return argList[i].mid(1).toDouble(); // } foreach (QString t, argList) { if (t.length() > 0 && t[0].toUpper() == c) return t.mid(1).toDouble(); } return qQNaN(); } //static public List convertArcsToLines(Point3d start, Point3d end) { // List l = new ArrayList(); // return l; //} QVector3D GcodePreprocessorUtils::convertRToCenter(QVector3D start, QVector3D end, double radius, bool absoluteIJK, bool clockwise) { double R = radius; QVector3D center; double x = end.x() - start.x(); double y = end.y() - start.y(); double h_x2_div_d = 4 * R * R - x * x - y * y; if (h_x2_div_d < 0) { qDebug() << "Error computing arc radius."; } h_x2_div_d = (-sqrt(h_x2_div_d)) / hypot(x, y); if (!clockwise) h_x2_div_d = -h_x2_div_d; // Special message from gcoder to software for which radius // should be used. if (R < 0) { h_x2_div_d = -h_x2_div_d; // TODO: Places that use this need to run ABS on radius. radius = -radius; } double offsetX = 0.5 * (x - (y * h_x2_div_d)); double offsetY = 0.5 * (y + (x * h_x2_div_d)); if (!absoluteIJK) { center.setX(start.x() + offsetX); center.setY(start.y() + offsetY); } else { center.setX(offsetX); center.setY(offsetY); } return center; } /** * Return the angle in radians when going from start to end. */ double GcodePreprocessorUtils::getAngle(QVector3D start, QVector3D end) { double deltaX = end.x() - start.x(); double deltaY = end.y() - start.y(); double angle = 0.0; if (deltaX != 0) { // prevent div by 0 // it helps to know what quadrant you are in if (deltaX > 0 && deltaY >= 0) { // 0 - 90 angle = atan(deltaY / deltaX); } else if (deltaX < 0 && deltaY >= 0) { // 90 to 180 angle = M_PI - fabs(atan(deltaY / deltaX)); } else if (deltaX < 0 && deltaY < 0) { // 180 - 270 angle = M_PI + fabs(atan(deltaY / deltaX)); } else if (deltaX > 0 && deltaY < 0) { // 270 - 360 angle = M_PI * 2 - fabs(atan(deltaY / deltaX)); } } else { // 90 deg if (deltaY > 0) { angle = M_PI / 2.0; } // 270 deg else { angle = M_PI * 3.0 / 2.0; } } return angle; } double GcodePreprocessorUtils::calculateSweep(double startAngle, double endAngle, bool isCw) { double sweep; // Full circle if (startAngle == endAngle) { sweep = (M_PI * 2); // Arcs } else { // Account for full circles and end angles of 0/360 if (endAngle == 0) { endAngle = M_PI * 2; } // Calculate distance along arc. if (!isCw && endAngle < startAngle) { sweep = ((M_PI * 2 - startAngle) + endAngle); } else if (isCw && endAngle > startAngle) { sweep = ((M_PI * 2 - endAngle) + startAngle); } else { sweep = fabs(endAngle - startAngle); } } return sweep; } /** * Generates the points along an arc including the start and end points. */ QList GcodePreprocessorUtils::generatePointsAlongArcBDring(PointSegment::planes plane, QVector3D start, QVector3D end, QVector3D center, bool clockwise, double R, double minArcLength, double arcPrecision, bool arcDegreeMode) { double radius = R; // Rotate vectors according to plane QMatrix4x4 m; m.setToIdentity(); switch (plane) { case PointSegment::XY: break; case PointSegment::ZX: m.rotate(90, 1.0, 0.0, 0.0); break; case PointSegment::YZ: m.rotate(-90, 0.0, 1.0, 0.0); break; } start = m * start; end = m * end; center = m * center; // Check center if (qIsNaN(center.length())) return QList(); // Calculate radius if necessary. if (radius == 0) { radius = sqrt(pow((double)(start.x() - center.x()), 2.0) + pow((double)(end.y() - center.y()), 2.0)); } double startAngle = getAngle(center, start); double endAngle = getAngle(center, end); double sweep = calculateSweep(startAngle, endAngle, clockwise); // Convert units. double arcLength = sweep * radius; // If this arc doesn't meet the minimum threshold, don't expand. // if (minArcLength > 0 && arcLength < minArcLength) { // QList empty; // return empty; // } int numPoints; if (arcDegreeMode && arcPrecision > 0) { numPoints = qMax(1.0, sweep / (M_PI * arcPrecision / 180)); } else { if (arcPrecision <= 0 && minArcLength > 0) { arcPrecision = minArcLength; } numPoints = (int)ceil(arcLength/arcPrecision); } return generatePointsAlongArcBDring(plane, start, end, center, clockwise, radius, startAngle, sweep, numPoints); } /** * Generates the points along an arc including the start and end points. */ QList GcodePreprocessorUtils::generatePointsAlongArcBDring(PointSegment::planes plane, QVector3D p1, QVector3D p2, QVector3D center, bool isCw, double radius, double startAngle, double sweep, int numPoints) { // Prepare rotation matrix to restore plane QMatrix4x4 m; m.setToIdentity(); switch (plane) { case PointSegment::XY: break; case PointSegment::ZX: m.rotate(-90, 1.0, 0.0, 0.0); break; case PointSegment::YZ: m.rotate(90, 0.0, 1.0, 0.0); break; } QVector3D lineEnd(p2.x(), p2.y(), p1.z()); QList segments; double angle; // Calculate radius if necessary. if (radius == 0) { radius = sqrt(pow((double)(p1.x() - center.x()), 2.0) + pow((double)(p1.y() - center.y()), 2.0)); } double zIncrement = (p2.z() - p1.z()) / numPoints; for (int i = 1; i < numPoints; i++) { if (isCw) { angle = (startAngle - i * sweep / numPoints); } else { angle = (startAngle + i * sweep / numPoints); } if (angle >= M_PI * 2) { angle = angle - M_PI * 2; } lineEnd.setX(cos(angle) * radius + center.x()); lineEnd.setY(sin(angle) * radius + center.y()); lineEnd.setZ(lineEnd.z() + zIncrement); segments.append(m * lineEnd); } segments.append(m * p2); return segments; } bool GcodePreprocessorUtils::isDigit(char c) { return c > 47 && c < 58; } bool GcodePreprocessorUtils::isLetter(char c) { return (c > 64 && c < 91) || (c > 96 && c < 123); } char GcodePreprocessorUtils::toUpper(char c) { return (c > 96 && c < 123) ? c - 32 : c; } candle-1.1.9/src/parser/gcodepreprocessorutils.h000066400000000000000000000051011421102410500220000ustar00rootroot00000000000000// This file is a part of "Candle" application. // This file was originally ported from "GcodePreprocessorUtils.java" class // of "Universal GcodeSender" application written by Will Winder // (https://github.com/winder/Universal-G-Code-Sender) // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef GCODEPREPROCESSORUTILS_H #define GCODEPREPROCESSORUTILS_H #include #include #include #include "pointsegment.h" class GcodePreprocessorUtils : public QObject { Q_OBJECT public: static QString overrideSpeed(QString command, double speed, double *original = NULL); static QString removeComment(QString command); static QString parseComment(QString command); static QString truncateDecimals(int length, QString command); static QString removeAllWhitespace(QString command); static QList parseCodes(const QStringList &args, char code); static QList parseGCodes(QString command); static QList parseMCodes(QString command); static QStringList splitCommand(const QString &command); static double parseCoord(QStringList argList, char c); static QVector3D updatePointWithCommand(const QVector3D &initial, double x, double y, double z, bool absoluteMode); static QVector3D updatePointWithCommand(const QStringList &commandArgs, const QVector3D &initial, bool absoluteMode); static QVector3D updatePointWithCommand(const QString &command, const QVector3D &initial, bool absoluteMode); static QVector3D convertRToCenter(QVector3D start, QVector3D end, double radius, bool absoluteIJK, bool clockwise); static QVector3D updateCenterWithCommand(QStringList commandArgs, QVector3D initial, QVector3D nextPoint, bool absoluteIJKMode, bool clockwise); static QString generateG1FromPoints(QVector3D start, QVector3D end, bool absoluteMode, int precision); static double getAngle(QVector3D start, QVector3D end); static double calculateSweep(double startAngle, double endAngle, bool isCw); static QList generatePointsAlongArcBDring(PointSegment::planes plane, QVector3D start, QVector3D end, QVector3D center, bool clockwise, double R, double minArcLength, double arcPrecision, bool arcDegreeMode); static QList generatePointsAlongArcBDring(PointSegment::planes plane, QVector3D p1, QVector3D p2, QVector3D center, bool isCw, double radius, double startAngle, double sweep, int numPoints); static inline bool isDigit(char c); static inline bool isLetter(char c); static inline char toUpper(char c); signals: public slots: private: }; #endif // GCODEPREPROCESSORUTILS_H candle-1.1.9/src/parser/gcodeviewparse.cpp000066400000000000000000000130451421102410500205370ustar00rootroot00000000000000// This file is a part of "Candle" application. // This file was originally ported from "GcodeViewParse.java" class // of "Universal GcodeSender" application written by Will Winder // (https://github.com/winder/Universal-G-Code-Sender) // Copyright 2015-2016 Hayrullin Denis Ravilevich #include #include "gcodeviewparse.h" GcodeViewParse::GcodeViewParse(QObject *parent) : QObject(parent) { absoluteMode = true; absoluteIJK = false; currentLine = 0; debug = true; m_min = QVector3D(qQNaN(), qQNaN(), qQNaN()); m_max = QVector3D(qQNaN(), qQNaN(), qQNaN()); m_minLength = qQNaN(); } GcodeViewParse::~GcodeViewParse() { foreach (LineSegment *ls, m_lines) delete ls; } QVector3D &GcodeViewParse::getMinimumExtremes() { return m_min; } QVector3D &GcodeViewParse::getMaximumExtremes() { return m_max; } void GcodeViewParse::testExtremes(QVector3D p3d) { this->testExtremes(p3d.x(), p3d.y(), p3d.z()); } void GcodeViewParse::testExtremes(double x, double y, double z) { m_min.setX(Util::nMin(m_min.x(), x)); m_min.setY(Util::nMin(m_min.y(), y)); m_min.setZ(Util::nMin(m_min.z(), z)); m_max.setX(Util::nMax(m_max.x(), x)); m_max.setY(Util::nMax(m_max.y(), y)); m_max.setZ(Util::nMax(m_max.z(), z)); } void GcodeViewParse::testLength(const QVector3D &start, const QVector3D &end) { double length = (start - end).length(); if (!qIsNaN(length) && length != 0) m_minLength = qIsNaN(m_minLength) ? length : qMin(m_minLength, length); } QList GcodeViewParse::toObjRedux(QList gcode, double arcPrecision, bool arcDegreeMode) { GcodeParser gp; foreach (QString s, gcode) { gp.addCommand(s); } return getLinesFromParser(&gp, arcPrecision, arcDegreeMode); } QList GcodeViewParse::getLineSegmentList() { return m_lines; } void GcodeViewParse::reset() { foreach (LineSegment *ls, m_lines) delete ls; m_lines.clear(); m_lineIndexes.clear(); currentLine = 0; m_min = QVector3D(qQNaN(), qQNaN(), qQNaN()); m_max = QVector3D(qQNaN(), qQNaN(), qQNaN()); m_minLength = qQNaN(); } double GcodeViewParse::getMinLength() const { return m_minLength; } QSize GcodeViewParse::getResolution() const { return QSize(((m_max.x() - m_min.x()) / m_minLength) + 1, ((m_max.y() - m_min.y()) / m_minLength) + 1); } QList GcodeViewParse::getLinesFromParser(GcodeParser *gp, double arcPrecision, bool arcDegreeMode) { QList psl = gp->getPointSegmentList(); // For a line segment list ALL arcs must be converted to lines. double minArcLength = 0.1; double length; QVector3D *start, *end; start = NULL; end = NULL; LineSegment *ls; // Prepare segments indexes m_lineIndexes.resize(psl.count()); int lineIndex = 0; foreach (PointSegment *segment, psl) { PointSegment *ps = segment; bool isMetric = ps->isMetric(); ps->convertToMetric(); end = ps->point(); // start is null for the first iteration. if (start != NULL) { // Expand arc for graphics. if (ps->isArc()) { QList points = GcodePreprocessorUtils::generatePointsAlongArcBDring(ps->plane(), *start, *end, *ps->center(), ps->isClockwise(), ps->getRadius(), minArcLength, arcPrecision, arcDegreeMode); // Create line segments from points. if (points.length() > 0) { QVector3D startPoint = *start; foreach (QVector3D nextPoint, points) { if (nextPoint == startPoint) continue; ls = new LineSegment(startPoint, nextPoint, lineIndex); ls->setIsArc(ps->isArc()); ls->setIsClockwise(ps->isClockwise()); ls->setPlane(ps->plane()); ls->setIsFastTraverse(ps->isFastTraverse()); ls->setIsZMovement(ps->isZMovement()); ls->setIsMetric(isMetric); ls->setIsAbsolute(ps->isAbsolute()); ls->setSpeed(ps->getSpeed()); ls->setSpindleSpeed(ps->getSpindleSpeed()); ls->setDwell(ps->getDwell()); this->testExtremes(nextPoint); m_lines.append(ls); m_lineIndexes[ps->getLineNumber()].append(m_lines.count() - 1); startPoint = nextPoint; } lineIndex++; } // Line } else { ls = new LineSegment(*start, *end, lineIndex++); ls->setIsArc(ps->isArc()); ls->setIsFastTraverse(ps->isFastTraverse()); ls->setIsZMovement(ps->isZMovement()); ls->setIsMetric(isMetric); ls->setIsAbsolute(ps->isAbsolute()); ls->setSpeed(ps->getSpeed()); ls->setSpindleSpeed(ps->getSpindleSpeed()); ls->setDwell(ps->getDwell()); this->testExtremes(*end); this->testLength(*start, *end); m_lines.append(ls); m_lineIndexes[ps->getLineNumber()].append(m_lines.count() - 1); } } start = end; } return m_lines; } QList *GcodeViewParse::getLines() { return &m_lines; } QVector > &GcodeViewParse::getLinesIndexes() { return m_lineIndexes; } candle-1.1.9/src/parser/gcodeviewparse.h000066400000000000000000000031731421102410500202050ustar00rootroot00000000000000// This file is a part of "Candle" application. // This file was originally ported from "GcodeViewParse.java" class // of "Universal GcodeSender" application written by Will Winder // (https://github.com/winder/Universal-G-Code-Sender) // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef GCODEVIEWPARSE_H #define GCODEVIEWPARSE_H #include #include #include #include "linesegment.h" #include "gcodeparser.h" #include "utils/util.h" class GcodeViewParse : public QObject { Q_OBJECT public: explicit GcodeViewParse(QObject *parent = 0); ~GcodeViewParse(); QVector3D &getMinimumExtremes(); QVector3D &getMaximumExtremes(); double getMinLength() const; QSize getResolution() const; QList toObjRedux(QList gcode, double arcPrecision, bool arcDegreeMode); QList getLineSegmentList(); QList getLinesFromParser(GcodeParser *gp, double arcPrecision, bool arcDegreeMode); QList *getLines(); QVector> &getLinesIndexes(); void reset(); signals: public slots: private: bool absoluteMode; bool absoluteIJK; // Parsed object QVector3D m_min, m_max; double m_minLength; QList m_lines; QVector> m_lineIndexes; // Parsing state. QVector3D lastPoint; int currentLine; // for assigning line numbers to segments. // Debug bool debug; void testExtremes(QVector3D p3d); void testExtremes(double x, double y, double z); void testLength(const QVector3D &start, const QVector3D &end); }; #endif // GCODEVIEWPARSE_H candle-1.1.9/src/parser/linesegment.cpp000066400000000000000000000107501421102410500200420ustar00rootroot00000000000000// This file is a part of "Candle" application. // This file was originally ported from "LineSegment.java" class // of "Universal GcodeSender" application written by Will Winder // (https://github.com/winder/Universal-G-Code-Sender) // Copyright 2015-2016 Hayrullin Denis Ravilevich #include "linesegment.h" #include LineSegment::LineSegment() { m_toolhead = 0; //DEFAULT TOOLHEAD ASSUMED TO BE 0! m_isZMovement = false; m_isArc = false; m_isFastTraverse = false; m_drawn = false; m_isMetric = true; m_isAbsolute = true; m_isHightlight = false; m_vertexIndex = -1; } LineSegment::LineSegment(QVector3D a, QVector3D b, int num) : LineSegment() { // m_toolhead = 0; //DEFAULT TOOLHEAD ASSUMED TO BE 0! // m_isZMovement = false; // m_isArc = false; // m_isFastTraverse = false; m_first = a; m_second = b; m_lineNumber = num; } LineSegment::LineSegment(LineSegment* initial) { m_toolhead = initial->getToolhead(); m_isZMovement = initial->isZMovement(); m_isArc = initial->isArc(); m_isFastTraverse = initial->isFastTraverse(); m_drawn = initial->drawn(); m_first = initial->getStart(); m_second = initial->getEnd(); m_lineNumber = initial->getLineNumber(); m_speed = initial->getSpeed(); m_isMetric = initial->isMetric(); m_isAbsolute = initial->isAbsolute(); m_isHightlight = initial->isHightlight(); m_vertexIndex = initial->vertexIndex(); } LineSegment::~LineSegment() { } int LineSegment::getLineNumber() { return m_lineNumber; } QList LineSegment::getPointArray() { QList pointarr; pointarr.append(m_first); pointarr.append(m_second); return pointarr; } QList LineSegment::getPoints() { QList points; points.append(m_first.x()); points.append(m_first.y()); points.append(m_first.z()); points.append(m_second.x()); points.append(m_second.y()); points.append(m_second.z()); return points; } QVector3D &LineSegment::getStart() { return this->m_first; } void LineSegment::setStart(QVector3D vector) { m_first = vector; } QVector3D &LineSegment::getEnd() { return this->m_second; } void LineSegment::setEnd(QVector3D vector) { m_second = vector; } void LineSegment::setToolHead(int head) { this->m_toolhead = head; } int LineSegment::getToolhead() { return m_toolhead; } void LineSegment::setSpeed(double s) { this->m_speed = s; } double LineSegment::getSpeed() { return m_speed; } void LineSegment::setIsZMovement(bool isZ) { this->m_isZMovement = isZ; } bool LineSegment::isZMovement() { return m_isZMovement; } void LineSegment::setIsArc(bool isA) { this->m_isArc = isA; } bool LineSegment::isArc() { return m_isArc; } void LineSegment::setIsFastTraverse(bool isF) { this->m_isFastTraverse = isF; } bool LineSegment::isFastTraverse() { return this->m_isFastTraverse; } bool LineSegment::contains(const QVector3D &point) { double delta; QVector3D line = this->getEnd() - this->getStart(); QVector3D pt = point - this->getStart(); delta = (line - pt).length() - (line.length() - pt.length()); return delta < 0.01; } bool LineSegment::drawn() const { return m_drawn; } void LineSegment::setDrawn(bool drawn) { m_drawn = drawn; } bool LineSegment::isMetric() const { return m_isMetric; } void LineSegment::setIsMetric(bool isMetric) { m_isMetric = isMetric; } bool LineSegment::isAbsolute() const { return m_isAbsolute; } void LineSegment::setIsAbsolute(bool isAbsolute) { m_isAbsolute = isAbsolute; } bool LineSegment::isHightlight() const { return m_isHightlight; } void LineSegment::setIsHightlight(bool isHightlight) { m_isHightlight = isHightlight; } int LineSegment::vertexIndex() const { return m_vertexIndex; } void LineSegment::setVertexIndex(int vertexIndex) { m_vertexIndex = vertexIndex; } double LineSegment::getSpindleSpeed() const { return m_spindleSpeed; } void LineSegment::setSpindleSpeed(double spindleSpeed) { m_spindleSpeed = spindleSpeed; } double LineSegment::getDwell() const { return m_dwell; } void LineSegment::setDwell(double dwell) { m_dwell = dwell; } bool LineSegment::isClockwise() const { return m_isClockwise; } void LineSegment::setIsClockwise(bool isClockwise) { m_isClockwise = isClockwise; } PointSegment::planes LineSegment::plane() const { return m_plane; } void LineSegment::setPlane(const PointSegment::planes &plane) { m_plane = plane; } candle-1.1.9/src/parser/linesegment.h000066400000000000000000000042031421102410500175030ustar00rootroot00000000000000// This file is a part of "Candle" application. // This file was originally ported from "LineSegment.java" class // of "Universal GcodeSender" application written by Will Winder // (https://github.com/winder/Universal-G-Code-Sender) // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef LINESEGMENT_H #define LINESEGMENT_H #include #include "pointsegment.h" class LineSegment { public: LineSegment(); LineSegment(QVector3D a, QVector3D b, int num); LineSegment(LineSegment *initial); ~LineSegment(); int getLineNumber(); QList getPointArray(); QList getPoints(); QVector3D &getStart(); void setStart(QVector3D vector); QVector3D &getEnd(); void setEnd(QVector3D vector); void setToolHead(int head); int getToolhead(); void setSpeed(double s); double getSpeed(); void setIsZMovement(bool isZ); bool isZMovement(); void setIsArc(bool isA); bool isArc(); void setIsFastTraverse(bool isF); bool isFastTraverse(); bool contains(const QVector3D &point); bool drawn() const; void setDrawn(bool drawn); bool isMetric() const; void setIsMetric(bool isMetric); bool isAbsolute() const; void setIsAbsolute(bool isAbsolute); bool isHightlight() const; void setIsHightlight(bool isHightlight); int vertexIndex() const; void setVertexIndex(int vertexIndex); double getSpindleSpeed() const; void setSpindleSpeed(double spindleSpeed); double getDwell() const; void setDwell(double dwell); bool isClockwise() const; void setIsClockwise(bool isClockwise); PointSegment::planes plane() const; void setPlane(const PointSegment::planes &plane); private: int m_toolhead; double m_speed; double m_spindleSpeed; double m_dwell; QVector3D m_first, m_second; // Line properties bool m_isZMovement; bool m_isArc; bool m_isClockwise; bool m_isFastTraverse; int m_lineNumber; bool m_drawn; bool m_isMetric; bool m_isAbsolute; bool m_isHightlight; int m_vertexIndex; PointSegment::planes m_plane; }; #endif // LINESEGMENT_H candle-1.1.9/src/parser/pointsegment.cpp000066400000000000000000000137171421102410500202520ustar00rootroot00000000000000// This file is a part of "Candle" application. // This file was originally ported from "PointSegment.java" class // of "Universal GcodeSender" application written by Will Winder // (https://github.com/winder/Universal-G-Code-Sender) // Copyright 2015-2016 Hayrullin Denis Ravilevich #include #include "pointsegment.h" PointSegment::PointSegment() { m_toolhead = 0; m_isMetric = true; m_isAbsolute = true; m_isZMovement = false; m_isArc = false; m_isFastTraverse = false; m_lineNumber = -1; m_arcProperties = NULL; m_speed = 0; m_spindleSpeed = 0; m_dwell = 0; m_plane = XY; } PointSegment::PointSegment(PointSegment *ps) : PointSegment(ps->point(), ps->getLineNumber()) { this->m_toolhead = ps->getToolhead(); this->m_speed = ps->getSpeed(); this->m_isMetric = ps->isMetric(); this->m_isZMovement = ps->isZMovement(); this->m_isFastTraverse = ps->isFastTraverse(); this->m_isAbsolute = ps->isAbsolute(); if (ps->isArc()) { this->setArcCenter(ps->center()); this->setRadius(ps->getRadius()); this->setIsClockwise(ps->isClockwise()); this->m_plane = ps->plane(); } } PointSegment::PointSegment(const QVector3D *b, int num) : PointSegment() { this->m_point = new QVector3D(b->x(), b->y(), b->z()); this->m_lineNumber = num; } PointSegment::PointSegment(QVector3D *point, int num, QVector3D *center, double radius, bool clockwise) : PointSegment(point, num) { this->m_isArc = true; this->m_arcProperties = new ArcProperties(); this->m_arcProperties->center = new QVector3D(center->x(), center->y(), center->z()); this->m_arcProperties->radius = radius; this->m_arcProperties->isClockwise = clockwise; } PointSegment::~PointSegment() { if (this->m_arcProperties != NULL && this->m_arcProperties->center != NULL) delete this->m_arcProperties->center; if (this->m_arcProperties != NULL) delete this->m_arcProperties; if (this->m_point != NULL) delete this->m_point; } void PointSegment::setPoint(QVector3D point) { this->m_point = new QVector3D(point.x(), point.y(), point.z()); } QVector3D *PointSegment::point() { return m_point; } QVector PointSegment::points() { QVector points; points.append(m_point->x()); points.append(m_point->y()); return points; } void PointSegment::setToolHead(int head) { this->m_toolhead = head; } int PointSegment::getToolhead() { return m_toolhead; } void PointSegment::setLineNumber(int num) { this->m_lineNumber = num; } int PointSegment::getLineNumber() { return m_lineNumber; } void PointSegment::setSpeed(double s) { this->m_speed = s; } double PointSegment::getSpeed() { return m_speed; } void PointSegment::setIsZMovement(bool isZ) { this->m_isZMovement = isZ; } bool PointSegment::isZMovement() { return m_isZMovement; } void PointSegment::setIsMetric(bool isMetric) { this->m_isMetric = isMetric; } bool PointSegment::isMetric() { return m_isMetric; } void PointSegment::setIsArc(bool isA) { this->m_isArc = isA; } bool PointSegment::isArc() { return m_isArc; } void PointSegment::setIsFastTraverse(bool isF) { this->m_isFastTraverse = isF; } bool PointSegment::isFastTraverse() { return m_isFastTraverse; } // Arc properties. void PointSegment::setArcCenter(QVector3D *center) { if (this->m_arcProperties == NULL) this->m_arcProperties = new ArcProperties(); this->m_arcProperties->center = new QVector3D(center->x(), center->y(), center->z()); this->setIsArc(true); } QVector PointSegment::centerPoints() { QVector points; if (this->m_arcProperties != NULL && this->m_arcProperties->center != NULL) { points.append(m_arcProperties->center->x()); points.append(m_arcProperties->center->y()); points.append(m_arcProperties->center->z()); } return points; } QVector3D *PointSegment::center() { if (this->m_arcProperties != NULL && this->m_arcProperties->center != NULL) return this->m_arcProperties->center; return NULL; } void PointSegment::setIsClockwise(bool clockwise) { if (this->m_arcProperties == NULL) this->m_arcProperties = new ArcProperties(); this->m_arcProperties->isClockwise = clockwise; } bool PointSegment::isClockwise() { if (this->m_arcProperties != NULL && this->m_arcProperties->center != NULL) return this->m_arcProperties->isClockwise; return false; } void PointSegment::setRadius(double rad) { if (this->m_arcProperties == NULL) this->m_arcProperties = new ArcProperties(); this->m_arcProperties->radius = rad; } double PointSegment::getRadius() { if (this->m_arcProperties != NULL && this->m_arcProperties->center != NULL) return this->m_arcProperties->radius; return 0; } void PointSegment::convertToMetric() { if (this->m_isMetric) { return; } this->m_isMetric = true; this->m_point->setX(this->m_point->x() * 25.4); this->m_point->setY(this->m_point->y() * 25.4); this->m_point->setZ(this->m_point->z() * 25.4); if (this->m_isArc && this->m_arcProperties != NULL) { this->m_arcProperties->center->setX(this->m_arcProperties->center->x() * 25.4); this->m_arcProperties->center->setY(this->m_arcProperties->center->y() * 25.4); this->m_arcProperties->center->setZ(this->m_arcProperties->center->z() * 25.4); this->m_arcProperties->radius *= 25.4; } } bool PointSegment::isAbsolute() const { return m_isAbsolute; } void PointSegment::setIsAbsolute(bool isAbsolute) { m_isAbsolute = isAbsolute; } PointSegment::planes PointSegment::plane() const { return m_plane; } void PointSegment::setPlane(const planes &plane) { m_plane = plane; } double PointSegment::getSpindleSpeed() const { return m_spindleSpeed; } void PointSegment::setSpindleSpeed(double spindleSpeed) { m_spindleSpeed = spindleSpeed; } double PointSegment::getDwell() const { return m_dwell; } void PointSegment::setDwell(double dwell) { m_dwell = dwell; } candle-1.1.9/src/parser/pointsegment.h000066400000000000000000000040131421102410500177040ustar00rootroot00000000000000// This file is a part of "Candle" application. // This file was originally ported from "PointSegment.java" class // of "Universal GcodeSender" application written by Will Winder // (https://github.com/winder/Universal-G-Code-Sender) // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef POINTSEGMENT_H #define POINTSEGMENT_H #include #include "arcproperties.h" class PointSegment { public: enum planes { XY, ZX, YZ }; PointSegment(); PointSegment(PointSegment *ps); PointSegment(const QVector3D *b, int num); PointSegment(QVector3D *point, int num, QVector3D *center, double radius, bool clockwise); ~PointSegment(); void setPoint(QVector3D m_point); QVector3D* point(); QVector points(); void setToolHead(int head); int getToolhead(); void setLineNumber(int num); int getLineNumber(); void setSpeed(double s); double getSpeed(); void setIsZMovement(bool isZ); bool isZMovement(); void setIsMetric(bool m_isMetric); bool isMetric(); void setIsArc(bool isA); bool isArc(); void setIsFastTraverse(bool isF); bool isFastTraverse(); void setArcCenter(QVector3D *center); QVector centerPoints(); QVector3D *center(); void setIsClockwise(bool clockwise); bool isClockwise(); void setRadius(double rad); double getRadius(); void convertToMetric(); bool isAbsolute() const; void setIsAbsolute(bool isAbsolute); planes plane() const; void setPlane(const planes &plane); double getSpindleSpeed() const; void setSpindleSpeed(double spindleSpeed); double getDwell() const; void setDwell(double dwell); private: ArcProperties *m_arcProperties; int m_toolhead; double m_speed; double m_spindleSpeed; double m_dwell; QVector3D *m_point; bool m_isMetric; bool m_isZMovement; bool m_isArc; bool m_isFastTraverse; bool m_isAbsolute; int m_lineNumber; planes m_plane; }; #endif // POINTSEGMENT_H candle-1.1.9/src/shaders.qrc000066400000000000000000000002151421102410500156630ustar00rootroot00000000000000 shaders/fshader.glsl shaders/vshader.glsl candle-1.1.9/src/shaders/000077500000000000000000000000001421102410500151565ustar00rootroot00000000000000candle-1.1.9/src/shaders/fshader.glsl000066400000000000000000000013611421102410500174560ustar00rootroot00000000000000#ifdef GL_ES // Set default precision to medium precision mediump int; precision mediump float; #endif //Dash grid (px) = factor * pi; const float factor = 2.0; varying vec4 v_color; varying vec2 v_position; varying vec2 v_start; varying vec2 v_texture; uniform sampler2D texture; bool isNan(float val) { return (val > 65535.0); } void main() { // Draw dash lines if (!isNan(v_start.x)) { vec2 sub = v_position - v_start; float coord = length(sub.x) > length(sub.y) ? gl_FragCoord.x : gl_FragCoord.y; if (cos(coord / factor) > 0.0) discard; } // Set fragment color if (!isNan(v_texture.x)) { gl_FragColor = texture2D(texture, v_texture); } else { gl_FragColor = v_color; } } candle-1.1.9/src/shaders/vshader.glsl000066400000000000000000000020021421102410500174670ustar00rootroot00000000000000#ifdef GL_ES // Set default precision to medium precision mediump int; precision mediump float; #endif uniform mat4 mvp_matrix; uniform mat4 mv_matrix; attribute vec4 a_position; attribute vec4 a_color; attribute vec4 a_start; varying vec4 v_color; varying vec2 v_position; varying vec2 v_start; varying vec2 v_texture; bool isNan(float val) { return (val > 65535.0); } void main() { // Calculate interpolated vertex position & line start point v_position = (mv_matrix * a_position).xy; if (!isNan(a_start.x) && !isNan(a_start.y)) { v_start = (mv_matrix * a_start).xy; v_texture = vec2(65536.0, 0); } else { // v_start.x should be Nan to draw solid lines v_start = a_start.xy; // set texture coord v_texture = a_start.yz; // set point size if (isNan(a_start.y) && !isNan(a_start.z)) gl_PointSize = a_start.z; } // Calculate vertex position in screen space gl_Position = mvp_matrix * a_position; v_color = a_color; } candle-1.1.9/src/tables/000077500000000000000000000000001421102410500147775ustar00rootroot00000000000000candle-1.1.9/src/tables/gcodetablemodel.cpp000066400000000000000000000074671421102410500206330ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #include "gcodetablemodel.h" GCodeTableModel::GCodeTableModel(QObject *parent) : QAbstractTableModel(parent) { m_headers << tr("#") << tr("Command") << tr("State") << tr("Response") << tr("Line") << tr("Args"); } QVariant GCodeTableModel::data(const QModelIndex &index, int role) const { if (!index.isValid()) return QVariant(); if (index.row() >= m_data.size()) return QVariant(); if (role == Qt::DisplayRole || role == Qt::EditRole) { switch (index.column()) { case 0: return index.row() == this->rowCount() - 1 ? QString() : QString::number(index.row() + 1); case 1: return m_data.at(index.row()).command; case 2: if (index.row() == this->rowCount() - 1) return QString(); switch (m_data.at(index.row()).state) { case GCodeItem::InQueue: return tr("In queue"); case GCodeItem::Sent: return tr("Sent"); case GCodeItem::Processed: return tr("Processed"); case GCodeItem::Skipped: return tr("Skipped"); } return tr("Unknown"); case 3: return m_data.at(index.row()).response; case 4: return m_data.at(index.row()).line; case 5: return QVariant(m_data.at(index.row()).args); } } if (role == Qt::TextAlignmentRole) { switch (index.column()) { case 0: return Qt::AlignCenter; default: return Qt::AlignVCenter; } } return QVariant(); } bool GCodeTableModel::setData(const QModelIndex &index, const QVariant &value, int role) { if (index.isValid() && role == Qt::EditRole) { switch (index.column()) { case 0: return false; case 1: m_data[index.row()].command = value.toString(); break; case 2: m_data[index.row()].state = value.toInt(); break; case 3: m_data[index.row()].response = value.toString(); break; case 4: m_data[index.row()].line = value.toInt(); break; case 5: m_data[index.row()].args = value.toStringList(); break; } emit dataChanged(index, index); return true; } return false; } bool GCodeTableModel::insertRow(int row, const QModelIndex &parent) { if (row > rowCount()) return false; beginInsertRows(parent, row, row); m_data.insert(row, GCodeItem()); endInsertRows(); return true; } bool GCodeTableModel::removeRow(int row, const QModelIndex &parent) { //if (!index(row, 0).isValid()) return false; beginRemoveRows(parent, row, row); m_data.removeAt(row); endRemoveRows(); return true; } bool GCodeTableModel::removeRows(int row, int count, const QModelIndex &parent) { beginRemoveRows(parent, row, row + count - 1); m_data.erase(m_data.begin() + row, m_data.begin() + row + count); endRemoveRows(); return true; } void GCodeTableModel::clear() { beginResetModel(); // foreach (GCodeItem* item, m_data) delete item; m_data.clear(); endResetModel(); } int GCodeTableModel::rowCount(const QModelIndex &parent) const { Q_UNUSED(parent) return m_data.size(); } int GCodeTableModel::columnCount(const QModelIndex &parent) const { Q_UNUSED(parent) return 6; } QVariant GCodeTableModel::headerData(int section, Qt::Orientation orientation, int role) const { if (role != Qt::DisplayRole) return QVariant(); if (orientation == Qt::Horizontal) return m_headers.at(section); else return QString::number(section + 1); } Qt::ItemFlags GCodeTableModel::flags(const QModelIndex &index) const { if (!index.isValid()) return NULL; if (index.column() == 1) return QAbstractTableModel::flags(index) | Qt::ItemIsEditable; else return QAbstractTableModel::flags(index); } QList &GCodeTableModel::data() { return m_data; } candle-1.1.9/src/tables/gcodetablemodel.h000066400000000000000000000025111421102410500202610ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef GCODETABLEMODEL_H #define GCODETABLEMODEL_H #include #include struct GCodeItem { enum States { InQueue, Sent, Processed, Skipped }; QString command; char state; QString response; int line; QStringList args; }; class GCodeTableModel : public QAbstractTableModel { Q_OBJECT public: explicit GCodeTableModel(QObject *parent = 0); QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); bool insertRow(int row, const QModelIndex &parent = QModelIndex()); bool removeRow(int row, const QModelIndex &parent = QModelIndex()); bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); void clear(); int rowCount(const QModelIndex &parent = QModelIndex()) const; int columnCount(const QModelIndex &parent = QModelIndex()) const; QVariant headerData(int section, Qt::Orientation orientation, int role) const; Qt::ItemFlags flags(const QModelIndex &index) const; QList &data(); signals: public slots: private: QList m_data; QStringList m_headers; }; #endif // GCODETABLEMODEL_H candle-1.1.9/src/tables/heightmaptablemodel.cpp000066400000000000000000000046611421102410500215110ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #include "heightmaptablemodel.h" HeightMapTableModel::HeightMapTableModel(QObject *parent) : QAbstractTableModel(parent) { m_data.append(QVector()); } void HeightMapTableModel::resize(int cols, int rows) { foreach (QVector row, m_data) row.clear(); m_data.clear(); for (int i = 0; i < rows; i++) { QVector row; for (int j = 0; j < cols; j++) { row.append(qQNaN()); } m_data.append(row); } } QVariant HeightMapTableModel::data(const QModelIndex &index, int role) const { if (!index.isValid()) return QVariant(); if (index.row() >= m_data.count() || index.column() >= m_data[0].count()) return QVariant(); if (role == Qt::DisplayRole || role == Qt::EditRole) { return QString::number(m_data[(m_data.count() - 1) - index.row()][index.column()], 'f', 3); } if (role == Qt::UserRole) { return m_data[index.row()][index.column()]; } if (role == Qt::TextAlignmentRole) { return Qt::AlignCenter; } return QVariant(); } bool HeightMapTableModel::setData(const QModelIndex &index, const QVariant &value, int role) { m_data[role == Qt::EditRole ? (m_data.count() - 1) - index.row() : index.row()][index.column()] = value.toDouble(); if (role == Qt::EditRole) emit dataChangedByUserInput(); return true; } bool HeightMapTableModel::insertRow(int row, const QModelIndex &parent) { Q_UNUSED(parent) m_data.insert(row, QVector()); return true; } bool HeightMapTableModel::removeRow(int row, const QModelIndex &parent) { Q_UNUSED(parent) m_data.remove(row); return true; } void HeightMapTableModel::clear() { m_data.clear(); } int HeightMapTableModel::rowCount(const QModelIndex &parent) const { Q_UNUSED(parent) return m_data.count(); } int HeightMapTableModel::columnCount(const QModelIndex &parent) const { Q_UNUSED(parent) return m_data[0].count(); } QVariant HeightMapTableModel::headerData(int section, Qt::Orientation orientation, int role) const { Q_UNUSED(orientation) if (role != Qt::DisplayRole) return QVariant(); return QString::number(section + 1); } Qt::ItemFlags HeightMapTableModel::flags(const QModelIndex &index) const { if (!index.isValid()) return NULL; return QAbstractTableModel::flags(index) | Qt::ItemIsEditable; } candle-1.1.9/src/tables/heightmaptablemodel.h000066400000000000000000000022441421102410500211510ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef HEIGHTMAPTABLEMODEL_H #define HEIGHTMAPTABLEMODEL_H #include #include class HeightMapTableModel : public QAbstractTableModel { Q_OBJECT public: explicit HeightMapTableModel(QObject *parent = 0); void resize(int cols, int rows); QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); bool insertRow(int row, const QModelIndex &parent = QModelIndex()); bool removeRow(int row, const QModelIndex &parent = QModelIndex()); void clear(); int rowCount(const QModelIndex &parent = QModelIndex()) const; int columnCount(const QModelIndex &parent = QModelIndex()) const; QVariant headerData(int section, Qt::Orientation orientation, int role) const; Qt::ItemFlags flags(const QModelIndex &index) const; signals: void dataChangedByUserInput(); private: // QList> m_data; QVector> m_data; QList m_headers; }; #endif // HEIGHTMAPTABLEMODEL_H candle-1.1.9/src/translations/000077500000000000000000000000001421102410500162465ustar00rootroot00000000000000candle-1.1.9/src/translations/candle_es.qm000066400000000000000000000403261421102410500205270ustar00rootroot00000000000000-8^,<0Kns9$vO!yT 1("kI)K%6*0,@ +a6V214G^chL30 h0@i7/s,C8I,$z t" j85"i* Z%.Z'w!cm7j5 L |R ,'9g1&9qA,t.t1<,y(M_s .*` h9 z s3~ % +f ӻ)  0 d8W ee ee+ e e+ pKu pKu5| #H :!g y94 2 y5 b8o Ð w Xq% RV RV"0 l9 t `; s & s3F 8 "pP /./L < G$ gw n4 2 C . r$? ~ p _>&EQy7w6j)H(+0.#SŊ00-[i:##GCodeTableModelArcoArgsGCodeTableModelComandoCommandGCodeTableModelEn colaIn queueGCodeTableModel LineaLineGCodeTableModelProcesado ProcessedGCodeTableModelRespuestaResponseGCodeTableModelEnviadoSentGCodeTableModel EstadoStateGCodeTableModelDesconocidoUnknownGCodeTableModelVertices: %1 Vertices: %1GLWidget~<html><head/><body><p><span style=" font-weight:600;">El programa se provee en el estado en que se encuentra, sin ningn tipo de garantia. Uselo bajo su propio riesgo</span></p></body></html>

The program is provided AS IS without any guarantees or warranty. Use at your own risk.

frmAbout\<html><head/><body><p>Candle<br/>Version: %1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visite: <a href="https://github.com/Denvi/Candle/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/Candle/<br/></span></a> 2015-2016 Hayrullin Denis Ravilevich</p></body></html>.

Candle
Version: %1
License: GNU GENERAL PUBLIC LICENSE
Visit: https://github.com/Denvi/Candle/
© 2015-2016 Hayrullin Denis Ravilevich

frmAboutAcerca deAboutfrmAboutOKfrmAbout (%1)frmMain&Acerca de&AboutfrmMain&Limpiar&ClearfrmMain&Borrar lineas &Delete linesfrmMain&Archivo&FilefrmMain &Ayuda&HelpfrmMain&Insertar linea &Insert linefrmMain &Nuevo&NewfrmMain &Abrir&OpenfrmMain&&Archivos recientes &Recent filesfrmMain&Guardar&SavefrmMain&Servicio&ServicefrmMain&Opciones &SettingsfrmMain......frmMain00frmMain0.010.01frmMain0.10.1frmMain11frmMain10frmMain100frmMain10001000frmMain20002000frmMain55frmMain5050frmMain500500frmMainAbandonoAbortfrmMainAusenteAbsentfrmMain AlarmaAlarmfrmMainAutofrmMain2Desplazamiento automtico AutoscrollfrmMainBicubicoBicubicfrmMainBordes:Border:frmMain<No se puede abrir el archivo: Can't open file: frmMainCandlefrmMainEl cambio de configuraciones de grilla reiniciar los datos de medicin. Desea continuar?7Changing grid settings will reset probe data. Continue?frmMainChequeoCheckfrmMainModo de prueba Check modefrmMainLimpiar cosola Clear consolefrmMainConsolaConsolefrmMainControlControlfrmMain CrearCreatefrmMainBorrar lineas? Delete lines?frmMain PuertaDoorfrmMain S&alirE&xitfrmMainModo edicin Edit modefrmMain\Envio de archivo en progreso. Detener y salir?-File sending in progress. Terminate and exit?frmMainAjustar vistaFitfrmMainVista Frontal Front viewfrmMainbArchivos de G-Code (*.nc *.ncc *.ngc *.tap *.txt)+G-Code files (*.nc *.ncc *.ngc *.tap *.txt)frmMainArchivos de G-Code (*.nc *.ncc *.ngc *.tap *.txt);;Todos los archivos (*.*) GCodeTableModel # # Command Comando State Estado Response Respuesta Line Linea Args Arco In queue En cola Sent Enviado Processed Procesado Skipped Unknown Desconocido GLWidget Vertices: %1 Vertices: %1 SliderBox Form Title: frmAbout About Acerca de <html><head/><body><p>grblControl<br/>Version: %1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visit: <a href="https://github.com/Denvi/grblControl/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/grblControl/<br/></span></a>© 2015 Hayrullin Denis Ravilevich</p></body></html> <html><head/><body><p>grblControl<br/>Version: %1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visite: <a href="https://github.com/Denvi/grblControl/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/grblControl/<br/></span></a>© 2015 Hayrullin Denis Ravilevich</p></body></html> <html><head/><body><p>Candle<br/>Version: %1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visit: <a href="https://github.com/Denvi/Candle/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/Candle/<br/></span></a>© 2015-2016 Hayrullin Denis Ravilevich</p></body></html> <html><head/><body><p>Candle<br/>Version: %1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visite: <a href="https://github.com/Denvi/Candle/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/Candle/<br/></span></a>© 2015-2016 Hayrullin Denis Ravilevich</p></body></html> <html><head/><body><p><span style=" font-weight:600;">The program is provided AS IS without any guarantees or warranty. Use at your own risk.</span></p></body></html> <html><head/><body><p><span style=" font-weight:600;">El programa se provee en el estado en que se encuentra, sin ningún tipo de garantia. Uselo bajo su propio riesgo</span></p></body></html> OK ОК frmMain grblControl GRBL Control G-code program Programa de G-Code Isometric view Vista isometrica Top view Vista superior Front view Vista Frontal Left view Vista izquierda Fit Ajustar vista Heightmap settings Ajuste de alturas Border: Bordes: X: X: H: Y: Y: W: Show border Mostrar borde Auto Probe grid: Grilla de medición: Zb: Zн: Zt: Zв: Show grid Mostrar grilla Interpolation grid: Grilla de interpolación: Type: Tipo: Bicubic Bicubico Show Mostrar Check mode Modo de prueba Autoscroll Desplazamiento automático Open Abrir Reset Reiniciar Send Enviar Pause Pausar Abort Abandono State Estado Work coordinates: Coordenadas de trabajo: X 0 0 Y Z Machine coordinates: Coordenadas de máquina: Status: Estado: Control Control Home Origen ... ... Z-probe Medicion de Z Zero XY Cero XY Zero Z Cero Z Overriding Restore XYZ Restaurar XYZ Safe Z Distancia de seguridad Z Candle Restore origin Restaure el origen Safe position Posición segura Unlock Desbloquear Heightmap Mapa de alturas Use heightmap Usar mapa de alturas Map: Mapa: Absent Ausente Create Crear Edit mode Modo edición Spindle Husillo Speed: Velocidad: Spindle on/off Husillo on/off Feed Avance Override: Override: % % Jog Control manual X- Y- X+ Y+ Step: Pasos: Z+ Z- Presets: Presets: User commands 2 2 4 4 3 3 10 100 Feed: 500 500 50 50 Stop Continuously 0.01 0.01 0.1 0.1 1 1 5 5 1000 1000 2000 2000 Keyboard control Control desde teclado Console Consola Send command Enviar comando Clear console Limpiar cosola &File &Archivo &Recent files &Archivos recientes &Service &Servicio &Help &Ayuda &Open &Abrir E&xit S&alir &Settings &Opciones &New &Nuevo &Save &Guardar Save &as... Guardar &como... &About &Acerca de &Clear &Limpiar Save &transformed as... Salve &transformado como... Idle Listo Alarm Alarma Run Iniciar Hold Parada Queue En cola Check Chequeo Door Puerta Unknown Desconocido Send from current line Feed rate: Rapid speed: Velocidad de aproximación: Spindle speed: &Insert line &Insertar linea &Delete lines &Borrar lineas Don't show again PS: %1 AS: %1 F/S: %1 / %2 Error message(s) received: Buffer: %1 / %2 / %3 Following commands will be sent before selected line: Skip (%1/%2/%3) (%1/%2) C Applying heightmap... Subdividing segments... Updating Z-coordinates... Modifying G-code program... Restore XYZ: %1, %2, %3 Restaurar XYZ: %1, %2, %3 G-code program file was changed. Save? El programa de G-code ha cambiado. Desea guardar? Heightmap file was changed. Save? El programa mapa de alturas ha cambiado. Desea guardar? Not connected Sin Conexión Probe Medición Opening file... Updating... G-Code files (*.nc *.ncc *.ngc *.tap *.txt) Archivos de G-Code (*.nc *.ncc *.ngc *.tap *.txt) Connected Conectado Job done. Time elapsed: %1 Trabajo terminado. Tiempo transcurrido: %1 Processed Procesado Serial port error Error en puerto serie Scroll Desplazamiento File sending in progress. Terminate and exit? Envio de archivo en progreso. Detener y salir? G-Code files (*.nc *.ncc *.tap *.txt);;All files (*.*) Archivos de G-Code (*.nc *.ncc *.tap *.txt);;Todos los archivos (*.*) Sent Enviado G-Code files (*.nc *.ncc *.tap *.txt) Archivos de G-Code (*.nc *.ncc *.tap *.txt) Heightmap files (*.map) Mapa de alturas (*.map) Port opened Puerto se abrió Restore origin: %1, %2, %3 Restaure origen: %1, %2, %3 G-Code files (*.nc *.ncc *.ngc *.tap *.txt);;All files (*.*) Archivos de G-Code (*.nc *.ncc *.ngc *.tap *.txt);;Todos los archivos (*.*) Can't open file: No se puede abrir el archivo: In queue En cola Sended Enviado Delete lines? Borrar lineas? (%1) Untitled Sin-título Save file as Guardar archivo como G-Code files (*.nc;*.ncc;*.tap) Archivos de G-Code (*.nc;*.ncc;*.tap) Changing grid settings will reset probe data. Continue? El cambio de configuraciones de grilla reiniciará los datos de medición. Desea continuar? frmSettings Settings Opciones Connection Conexión Port: Puerto: ... Baud: Baud: 9600 14400 19200 38400 57600 115200 GRBL GRBL Query period: Período de consulta: Safe Z: Seguridad en Z: Rapid speed: Velocidad de aproximación: Acceleration: Aceleración: Spindle speed min.: Velocidad mínima de husillo: max.: max.: Z-probe commands: Comandos de medición de Z: Command 1; command 2; ... Comando 1; Comando 2; ... Heightmap probing feed: Avance de medición de mapa de alturas: Report units: Unidades de reporte: Metric Métrico Imperial Imperial Parser Analizador Arc approximation segment length: Largo de segmento de aporximación de arco: Visualizer Visualizador Line width: Espesor de linea: Smoothing Suavizado MSAA MSAA Simplify geometry Simplificar geometria Segment length: Largo de segmento: FPS lock: Bloqueo de FPS: 30 60 120 Z-buffer Tool graphic representation Represeantación gráfica de herramienta Type: Tipo: Diameter: Diametro: Flat Plana Conic Cónica Angle: Ángulo: Length: Largo: Console Consola Show G-code program commands Mostrar comandos de programa G-Code Show UI commands Mostrar comandos de interfaz del usuario Command auto-completion Auto-completar comandos Panels Paneles Heightmap Mapa de altura Units: Unidades: Feed Avance Spindle Husillo Jog Control manual Sender Ignore error responses Automatically set parser state before sending from selected line Colors Color Z-movement: Movimiento en Z: Normal: Normal: Toolpath Recorrido de herramienta by length Por longitud Drawn: Dibujo: Background: Fondo: Common Ajustes comunes Application measurement units: Unidades de medida de la aplicación: Machine information Información de la máquina Status query period: Período de la pregunta de estado: mm inch Laser power min.: Control Control Probe commands: Órdenes de sonda: Safe position commands: Órdenes de posición segura: "Restore origin" moves tool in: «Restaure el origen» mueve el instrumento al: Plane Avión Space Espacio User commands Button 1: Button 2: Button 3: Button 4: Arc approximation segment size: Talla de segmento de aproximación del arco: by angle (deg.) Por ángulo Program draw mode: Vectors Raster By 'Z'-code By 'S'-code Grayscale segments Precision: Precisión: V-sync Tool model Herramientas modelo Overriding Highlight: Resaltado: Start point: Origen: End point: Punto final: Text: Texto: Tool: Herramienta: Font Fuente Size: Tamaño: 8 9 10 11 12 pt Puntos (restart needed) (Se requiere reinicio) Set to defaults Opciones por defecto OK ОК Cancel Cancelar Reset settings to default values? Restablecer la configuración a sus valores predeterminados? candle-1.1.9/src/translations/candle_fr.qm000066400000000000000000000377501421102410500205360ustar00rootroot000000000000007^s,<0Kns88vOyT (c"1I)dK%6)+ *521?4G"chL3/rh/i7/s,(C7k,$z Yt"M j775"*= Z$Z'w!}cm6j4v  |R,'8y19VqA+.3t0<+wy(M_s .) h zM s2 % +T ӻ  0Z d8W eex ee+ e e+@ pKu pKu4 # :!' y93 1 y5 b7 Ð_ w Xq RV RV! l9 tj `; s s2 7 "pPY /.. < G$U gw{ n3T 29 C r$ ~ @ _%EQy w6Mj)H(6+0-{SŊ00,Ri9##GCodeTableModelArcsArgsGCodeTableModelComandeCommandGCodeTableModelEn attenteIn queueGCodeTableModel LigneLineGCodeTableModel Trait ProcessedGCodeTableModelRponseResponseGCodeTableModel EnvoySentGCodeTableModelEttStateGCodeTableModelInconnuUnknownGCodeTableModelVertices: %1 Vertices: %1GLWidget\<html><head/><body><p><span style=" font-weight:600;">Le programme est fourni dans l'tat , sans aucune garantie. Utilisez-le vos risques et prils</span></p></body></html>

The program is provided AS IS without any guarantees or warranty. Use at your own risk.

frmAbout\<html><head/><body><p>Candle<br/>Version: %1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visite: <a href="https://github.com/Denvi/Candle/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/Candle/<br/></span></a> 2015-2016 Hayrullin Denis Ravilevich</p></body></html>.

Candle
Version: %1
License: GNU GENERAL PUBLIC LICENSE
Visit: https://github.com/Denvi/Candle/
© 2015-2016 Hayrullin Denis Ravilevich

frmAboutA proposAboutfrmAboutOKfrmAbout (%1)frmMain&A propos de&AboutfrmMain&Effacer&ClearfrmMain&Effacer ligne &Delete linesfrmMain&Fichier&FilefrmMain &Aide&HelpfrmMain&Inserer ligne &Insert linefrmMain&Nouveau&NewfrmMain&Ouvrir&OpenfrmMain"&Fichiers recents &Recent filesfrmMain&Enregistrer&SavefrmMain&Paramtres&ServicefrmMain&Reglages &SettingsfrmMain......frmMain00frmMain0.010.01frmMain0.10.1frmMain11frmMain10frmMain100frmMain10001000frmMain20002000frmMain55frmMain5050frmMain500500frmMainAbandonAbortfrmMain AbsentAbsentfrmMain AlarmeAlarmfrmMainAutofrmMainDfilement auto AutoscrollfrmMainBicubiqueBicubicfrmMain Bords:Border:frmMain@Impossible d'ouvrir du fichier: Can't open file: frmMainCandlefrmMainChanger les paramtres de la grille, rinitialise les donnes de palpage. Continuer?7Changing grid settings will reset probe data. Continue?frmMainVrifiCheckfrmMain(Simulation d'usinage Check modefrmMainEffacer consle Clear consolefrmMainConsoleConsolefrmMainContrleControlfrmMain CrerCreatefrmMainEffacer ligne? Delete lines?frmMain PorteDoorfrmMainQ&uitterE&xitfrmMain*Paramtres de palpage Edit modefrmMain\Envoi de fichier en cours. Terminer et Sortir?-File sending in progress. Terminate and exit?frmMainAjuster vueFitfrmMainVue de Face Front viewfrmMain\G-Code fichiers (*.nc *.ncc *.ngc *.tap *.txt)+G-Code files (*.nc *.ncc *.ngc *.tap *.txt)frmMainG-Code fichiers (*.nc *.ncc *.ngc *.tap *.txt);;Tous les fichiers (*.*)Restituez l'origine: %1, %2, %3Restore origin: %1, %2, %3frmMainDemarrerRunfrmMainPosition sre Safe positionfrmMain(Enregistrer &sous... Save &as...frmMain6Sauvez &transform comme...Save &transformed as...frmMain6Enregistrer le fichier sous Save file asfrmMainDplacementScrollfrmMainEnvoyerSendfrmMain Envoyer commande Send commandfrmMain$Erreur port serie Serial port error frmMainMontrerShowfrmMainMontrer bord Show borderfrmMainMontrer grille Show gridfrmMainVitesse:Speed:frmMain BrocheSpindlefrmMainBroche on/offSpindle on/offfrmMainEttStatefrmMain Ett:Status:frmMainPas:Step:frmMainVue de dessusTop viewfrmMain Type:Type:frmMainInconnuUnknownfrmMainDesbloquerUnlockfrmMainSans titreUntitledfrmMain6Utiliser palpage surfacique Use heightmapfrmMainW:frmMain.Coordonnes de travail:Work coordinates:frmMainX+frmMainX-frmMainX:X:frmMainY+frmMainY-frmMainY:Y:frmMainZ+frmMainZ-frmMainPalper ZZ-probefrmMainZb:Zb:frmMainZero XYZero XYfrmMain Zero ZZero ZfrmMainZt:Zt:frmMainV"Restituez l'origine" dplace l'outil dans:"Restore origin" moves tool in: frmSettings0(Redmarrage ncessaire)(restart needed) frmSettings... frmSettings10 frmSettings11 frmSettings115200 frmSettings12 frmSettings120 frmSettings14400 frmSettings19200 frmSettings30 frmSettings38400 frmSettings57600 frmSettings60 frmSettings8 frmSettings9 frmSettings9600 frmSettings Acceleration: frmSettingsAngle: frmSettings8Largeur de segment des arcs:Arc approximation segment size: frmSettings Fond: Background: frmSettings Baud:Baud: frmSettingsAnnulerCancel frmSettingsCouleursColors frmSettings6Commande 1; Commande 2; ...Command 1; command 2; ... frmSettings(Commande Saisie autoCommand auto-completion frmSettingsConiqueConic frmSettingsConnexion Connection frmSettingsConsoleConsole frmSettingsContrleControl frmSettingsDiamtre: Diameter: frmSettingsDessin:Drawn: frmSettingsPoint final: End point: frmSettingsBloquer FPS: FPS lock: frmSettingsPlatFlat frmSettingsEcritureFont frmSettings$Palpage surfacique Heightmap frmSettings.Avance lors du palpage:Heightmap probing feed: frmSettingsSouligner: Highlight: frmSettingsContrle manuelJog frmSettingsLongueur:Length: frmSettings(Espaisseur de ligne: Line width: frmSettingsMSAAMSAA frmSettings2Renseignements de machineMachine information frmSettingsNormal:Normal: frmSettingsOK frmSettings(Panneaux de contrlePanels frmSettingsAnalyseurParser frmSettingsl'avionPlane frmSettings Port:Port: frmSettingsPrecisin: Precision: frmSettings&Commandes de sonde:Probe commands: frmSettings&Vitesse d'approche: Rapid speed: frmSettingsLRinitialiser les rglages par dfaut?!Reset settings to default values? frmSettings6Commandes de position sre:Safe position commands: frmSettings,Paramtres par defaultSet to defaults frmSettingsParamtresSettings frmSettingsHMontrer commande du programme G-CodeShow G-code program commands frmSettings`Montrer les commandes de l'interface utilisateurShow UI commands frmSettings.Simplifier la geometrieSimplify geometry frmSettingsTaille:Size: frmSettingsLissage Smoothing frmSettingsl'espaceSpace frmSettings BrocheSpindle frmSettings(Vitesse broche min.:Spindle speed min.: frmSettingsOrigine: Start point: frmSettings<Priode de question de statut:Status query period: frmSettings Texte:Text: frmSettings"Modle de l'outil Tool model frmSettings Outil:Tool: frmSettings Parcours d'outilToolpath frmSettingsType: frmSettingsUnits:Units: frmSettingsV-sync frmSettingsApparence Visualizer frmSettingsZ-buffer frmSettingsMouvement Z: Z-movement: frmSettingsPar Angleby angle (deg.) frmSettingsPar longueur by length frmSettings max.:max.: frmSettings Pointspt frmSettingscandle-1.1.9/src/translations/candle_fr.ts000066400000000000000000001564231421102410500205460ustar00rootroot00000000000000 GCodeTableModel # # Command Comande State Etât Response Réponse Line Ligne Args Arcs In queue En attente Sent Envoyé Processed Traité Skipped Unknown Inconnu GLWidget Vertices: %1 Vertices: %1 SliderBox Form Title: frmAbout About A propos <html><head/><body><p>grblControl<br/>Version: %1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visit: <a href="https://github.com/Denvi/grblControl/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/grblControl/<br/></span></a>© 2015 Hayrullin Denis Ravilevich</p></body></html> <html><head/><body><p>grblControl<br/>Version: %1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visite: <a href="https://github.com/Denvi/grblControl/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/grblControl/<br/></span></a>© 2015 Hayrullin Denis Ravilevich</p></body></html> <html><head/><body><p>Candle<br/>Version: %1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visit: <a href="https://github.com/Denvi/Candle/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/Candle/<br/></span></a>© 2015-2016 Hayrullin Denis Ravilevich</p></body></html> <html><head/><body><p>Candle<br/>Version: %1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visite: <a href="https://github.com/Denvi/Candle/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/Candle/<br/></span></a>© 2015-2016 Hayrullin Denis Ravilevich</p></body></html> <html><head/><body><p><span style=" font-weight:600;">The program is provided AS IS without any guarantees or warranty. Use at your own risk.</span></p></body></html> <html><head/><body><p><span style=" font-weight:600;">Le programme est fourni dans l'état , sans aucune garantie. Utilisez-le à vos risques et périls</span></p></body></html> OK ОК frmMain grblControl grblControl G-code program Programme G-Code Isometric view Vue isometrique Top view Vue de dessus Front view Vue de Face Left view Vue de gauche Fit Ajuster vue Heightmap settings Paramètres palpage surfacique Border: Bords: X: X: H: Y: Y: W: Show border Montrer bord Auto Probe grid: Grille de palpage: Zb: Zb: Zt: Zt: Show grid Montrer grille Interpolation grid: Espacement grille: Type: Type: Bicubic Bicubique Show Montrer Check mode Simulation d'usinage Autoscroll Défilement auto Open Ouvrir Reset Reinitialiser Send Envoyer Pause Pause Abort Abandon State Etât Work coordinates: Coordonnées de travail: X 0 0 Y Z Machine coordinates: Coordonnées machine: Status: Etât: Control Contrôle Home Origine ... ... Z-probe Palper Z Zero XY Zero XY Zero Z Zero Z Overriding Restore XYZ Retour XYZ Safe Z Retour de securite Z Candle Restore origin Restituez l'origine Safe position Position sûre Unlock Desbloquer Heightmap Palpage surfacique Use heightmap Utiliser palpage surfacique Map: Fichier: Absent Absent Create Créer Edit mode Paramètres de palpage Spindle Broche Speed: Vitesse: Spindle on/off Broche on/off Feed Avance Override: Forcer: % % Jog Contrôle manuel X- Y- X+ Y+ Step: Pas: Z+ Z- Presets: Pre-selection: User commands 2 2 4 4 3 3 10 100 Feed: 500 500 50 50 Stop Continuously 0.01 0.01 0.1 0.1 1 1 5 5 1000 1000 2000 2000 Keyboard control Contrôle avec le clavier Console Console Send command Envoyer commande Clear console Effacer consôle &File &Fichier &Recent files &Fichiers recents &Service &Paramètres &Help &Aide &Open &Ouvrir E&xit Q&uitter &Settings &Reglages &New &Nouveau &Save &Enregistrer Save &as... Enregistrer &sous... &About &A propos de &Clear &Effacer Save &transformed as... Sauvez &transformé comme... Idle Idle Alarm Alarme Run Demarrer Hold Stop Queue En attente Check Vérifié Door Porte Unknown Inconnu Send from current line Feed rate: Rapid speed: Vitesse d'approche: Spindle speed: &Insert line &Inserer ligne &Delete lines &Effacer ligne Don't show again PS: %1 AS: %1 F/S: %1 / %2 Error message(s) received: Buffer: %1 / %2 / %3 Following commands will be sent before selected line: Skip (%1/%2/%3) (%1/%2) C Applying heightmap... Subdividing segments... Updating Z-coordinates... Modifying G-code program... Restore XYZ: %1, %2, %3 Retour XYZ: %1, %2, %3 G-code program file was changed. Save? Le programme G-code à changé. Sauvegarder? Heightmap file was changed. Save? Le fichier surface de palpage a changé. Sauvegarder? Not connected Non connecté Probe Palper Connected Connecté Job done. Time elapsed: %1 Travail terminé. Temps écoulé: %1 Processed Traité Serial port error Erreur port serie Scroll Déplacement File sending in progress. Terminate and exit? Envoi de fichier en cours. Terminer et Sortir? Sent Envoyé Heightmap files (*.map) Fichier de palpage (*.map) Restore origin: %1, %2, %3 Restituez l'origine: %1, %2, %3 Port opened Le port s'est ouvert G-Code files (*.nc *.ncc *.ngc *.tap *.txt);;All files (*.*) G-Code fichiers (*.nc *.ncc *.ngc *.tap *.txt);;Tous les fichiers (*.*) Opening file... Can't open file: Impossible d'ouvrir du fichier: In queue En attente Sended Envoyé Delete lines? Effacer ligne? Updating... (%1) Untitled Sans titre Save file as Enregistrer le fichier sous G-Code files (*.nc *.ncc *.ngc *.tap *.txt) G-Code fichiers (*.nc *.ncc *.ngc *.tap *.txt) Changing grid settings will reset probe data. Continue? Changer les paramètres de la grille, réinitialise les données de palpage. Continuer? frmSettings Settings Paramètres Connection Connexion Port: Port: ... Baud: Baud: 9600 14400 19200 38400 57600 115200 GRBL GRBL Query period: Periode d'attente: Safe Z: Securite Z: Rapid speed: Vitesse d'approche: Acceleration: Spindle speed min.: Vitesse broche min.: max.: max.: Z-probe commands: Commande de palpage Z: Command 1; command 2; ... Commande 1; Commande 2; ... Heightmap probing feed: Avance lors du palpage: Report units: Unité de mesure: Metric Métrique Imperial Imperial Parser Analyseur Arc approximation segment length: Largeur de segment des arcs: Visualizer Apparence Line width: Espaisseur de ligne: Smoothing Lissage MSAA MSAA Simplify geometry Simplifier la geometrie Segment length: Largeur de segment: FPS lock: Bloquer FPS: 30 60 120 Z-buffer Tool graphic representation Représentation de l'outil Type: Diameter: Diamètre: Flat Plat Conic Conique Angle: Length: Longueur: Console Console Show G-code program commands Montrer commande du programme G-Code Show UI commands Montrer les commandes de l'interface utilisateur Command auto-completion Commande Saisie auto Panels Panneaux de contrôle Heightmap Palpage surfacique Units: Unités: Feed Avance Spindle Broche Jog Contrôle manuel Sender Ignore error responses Automatically set parser state before sending from selected line Colors Couleurs Z-movement: Mouvement Z: Normal: Normal: Toolpath Parcours d'outil by length Par longueur Drawn: Dessin: Background: Fond: Common Paramètres communs Application measurement units: Unités de mesure de l'application: Machine information Renseignements de machine Status query period: Période de question de statut: mm inch Laser power min.: Control Contrôle Probe commands: Commandes de sonde: Safe position commands: Commandes de position sûre: "Restore origin" moves tool in: "Restituez l'origine" déplace l'outil dans: Plane l'avion Space l'espace User commands Button 1: Button 2: Button 3: Button 4: Arc approximation segment size: Largeur de segment des arcs: by angle (deg.) Par Angle Program draw mode: Vectors Raster By 'Z'-code By 'S'-code Grayscale segments Precision: Precisión: V-sync Tool model Modèle de l'outil Overriding Highlight: Souligner: Start point: Origine: End point: Point final: Text: Texte: Tool: Outil: Font Ecriture Size: Taille: 8 9 10 11 12 pt Points (restart needed) (Redémarrage nécessaire) Set to defaults Paramètres par default OK ОК Cancel Annuler Reset settings to default values? Réinitialiser les réglages par défaut? candle-1.1.9/src/translations/candle_pt.qm000066400000000000000000000377401421102410500205510ustar00rootroot000000000000007^o,<0KTns8<vOyT (%"I)TK%s6)+ *5z21%4GchL3/jh/i7/s,C7c,A$zt" j7+5!*% Z$Z'w!#cm6j4@ T|Rg,'819qA+.3t0v<+]y(YM_se .) h z s2 % +h ӻ N 08 d8W eeT ee* e e+& pKu  pKu4 " : y93 1 y4 b7 Ð w Xq' RV RV! l9z t* `= s s2| 7 "pP /.. < G$ gwE n32 23 C r$ ~ " _%EQyw6j(H'+0-SŊ0b0,i9##GCodeTableModelArgsArgsGCodeTableModelComandoCommandGCodeTableModelEm filaIn queueGCodeTableModel LinhaLineGCodeTableModelProcessado ProcessedGCodeTableModelRespostaResponseGCodeTableModelEnviadoSentGCodeTableModel EstadoStateGCodeTableModelDesconhecidoUnknownGCodeTableModelVertices: %1 Vertices: %1GLWidgetD<html><head/><body><p><span style=" font-weight:600;">O programa fornecido COMO EST, sem qualquer garantia. Use por sua conta e risco.</span></p></body></html>

The program is provided AS IS without any guarantees or warranty. Use at your own risk.

frmAbout\<html><head/><body><p>Candle<br/>Version: %1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visite: <a href="https://github.com/Denvi/Candle/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/Candle/<br/></span></a> 2015-2016 Hayrullin Denis Ravilevich</p></body></html>.

Candle
Version: %1
License: GNU GENERAL PUBLIC LICENSE
Visit: https://github.com/Denvi/Candle/
© 2015-2016 Hayrullin Denis Ravilevich

frmAbout SobreAboutfrmAboutOKfrmAbout (%1)frmMain &Sobre&AboutfrmMain&Limpar&ClearfrmMain&Apagar linhas &Delete linesfrmMain&Arquivo&FilefrmMain &Ajuda&HelpfrmMain&Inserir linha &Insert linefrmMain &Novo&NewfrmMain &Abrir&OpenfrmMain$&Arquivos recentes &Recent filesfrmMain&Salvar&SavefrmMain&Servio&ServicefrmMain&Opes &SettingsfrmMain......frmMain00frmMain0.010.01frmMain0.10.1frmMain11frmMain10frmMain100frmMain10001000frmMain20002000frmMain55frmMain5050frmMain500500frmMainAbortarAbortfrmMainAusenteAbsentfrmMain AlarmeAlarmfrmMainAutofrmMain$Rolagem automtica AutoscrollfrmMainBicbicoBicubicfrmMainBordas:Border:frmMainDNo foi possvel abrir o arquivo: Can't open file: frmMainCandlefrmMainA alterao nas configuraes de grade reiniciar os dados de medio. Deseja continuar?7Changing grid settings will reset probe data. Continue?frmMain ChecarCheckfrmMain&Modo de verificao Check modefrmMainLimpar cosole Clear consolefrmMainConsoleConsolefrmMainControleControlfrmMain CriarCreatefrmMainApagar linhas? Delete lines?frmMain PortaDoorfrmMain S&airE&xitfrmMainModo edio Edit modefrmMain\Envio de arquivo en progreso. Terminar e sair?-File sending in progress. Terminate and exit?frmMainAjustar vistaFitfrmMainVista Frontal Front viewfrmMain\Arquivos G-Code (*.nc *.ncc *.ngc *.tap *.txt)+G-Code files (*.nc *.ncc *.ngc *.tap *.txt)frmMainArquivos G-Code (*.nc *.ncc *.tap *.txt);;Todos os arquivos (*.*)Perodo de pergunta de posio:Status query period: frmSettings Texto:Text: frmSettings(Modelo da ferramenta Tool model frmSettingsFerramenta:Tool: frmSettings*Caminho da ferramentaToolpath frmSettings Tipo:Type: frmSettingsUnidades:Units: frmSettingsV-sync frmSettingsVisualizador Visualizer frmSettingsZ-buffer frmSettingsMovimento em Z: Z-movement: frmSettingspor nguloby angle (deg.) frmSettingspor tamanho by length frmSettings max.:max.: frmSettingspt frmSettingscandle-1.1.9/src/translations/candle_pt.ts000066400000000000000000001575121421102410500205620ustar00rootroot00000000000000 GCodeTableModel # # Command Comando State Estado Response Resposta Line Linha Args Args In queue Em fila Sent Enviado Processed Processado Skipped Unknown Desconhecido GLWidget Vertices: %1 Vertices: %1 SliderBox Form Title: frmAbout About Sobre <html><head/><body><p>grblControl<br/>Version: %1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visit: <a href="https://github.com/Denvi/grblControl/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/grblControl/<br/></span></a>© 2015 Hayrullin Denis Ravilevich</p></body></html> <html><head/><body><p>grblControl<br/>Versão: %1<br/>Licença: GNU GENERAL PUBLIC LICENSE<br/>Visite: <a href="https://github.com/Denvi/grblControl/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/grblControl/<br/></span></a>© 2015 Hayrullin Denis Ravilevich</p></body></html> <html><head/><body><p>Candle<br/>Version: %1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visit: <a href="https://github.com/Denvi/Candle/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/Candle/<br/></span></a>© 2015-2016 Hayrullin Denis Ravilevich</p></body></html> <html><head/><body><p>Candle<br/>Version: %1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visite: <a href="https://github.com/Denvi/Candle/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/Candle/<br/></span></a>© 2015-2016 Hayrullin Denis Ravilevich</p></body></html> <html><head/><body><p><span style=" font-weight:600;">The program is provided AS IS without any guarantees or warranty. Use at your own risk.</span></p></body></html> <html><head/><body><p><span style=" font-weight:600;">O programa é fornecido COMO ESTÁ, sem qualquer garantia. Use por sua conta e risco.</span></p></body></html> OK ОК frmMain grblControl Controle GRBL G-code program Programa de G-Code Isometric view Vista isométrica Top view Vista Superior Front view Vista Frontal Left view Vista Esquerda Fit Ajustar vista Heightmap settings Ajuste de alturas Border: Bordas: X: X: H: H: Y: Y: W: W: Show border Mostrar borda Auto Probe grid: Grade de medição: Zb: Zн: Zt: Zв: Show grid Mostrar grade Interpolation grid: Grade de interpolação: Type: Tipo: Bicubic Bicúbico Show Mostrar Check mode Modo de verificação Autoscroll Rolagem automática Open Abrir Reset Reiniciar Send Enviar Pause Pausar Abort Abortar State Estado Work coordinates: Coordenadas de trabalho: X 0 0 Y Z Machine coordinates: Coordenadas da máquina: Status: Estado: Control Controle Home Origem ... ... Z-probe Medição de Z Zero XY Zero XY Zero Z Zero Z Overriding Restore XYZ Restaurar XYZ Safe Z Distância segura Z Candle Restore origin Restaure a origem Safe position Posição segura Unlock Desbloquear Heightmap Mapa de alturas Use heightmap Usar mapa de alturas Map: Mapa: Absent Ausente Create Criar Edit mode Modo edição Spindle Spindle Speed: Velocidade: Spindle on/off Spindle on/off Feed Avanço Override: Override: % % Jog Controle manual X- Y- X+ Y+ Step: Passos: Z+ Z- Presets: Presets: User commands 2 2 4 4 3 3 10 100 Feed: 500 500 50 50 Stop Continuously 0.01 0.01 0.1 0.1 1 1 5 5 1000 1000 2000 2000 Keyboard control Controle por teclado Console Console Send command Enviar comando Clear console Limpar cosole &File &Arquivo &Recent files &Arquivos recentes &Service &Serviço &Help &Ajuda &Open &Abrir E&xit S&air &Settings &Opções &New &Novo &Save &Salvar Save &as... Salvar &como... &About &Sobre &Clear &Limpar Save &transformed as... Salvar &transformado como... Idle Inativo Alarm Alarme Run Iniciar Hold Manter Queue Em fila Check Checar Door Porta Unknown Desconhecido Send from current line Feed rate: Rapid speed: Velocidade de aproximação: Spindle speed: &Insert line &Inserir linha &Delete lines &Apagar linhas Don't show again PS: %1 AS: %1 F/S: %1 / %2 Error message(s) received: Buffer: %1 / %2 / %3 Following commands will be sent before selected line: Skip (%1/%2/%3) (%1/%2) C Applying heightmap... Subdividing segments... Updating Z-coordinates... Modifying G-code program... Restore XYZ: %1, %2, %3 Restaurar XYZ: %1, %2, %3 G-code program file was changed. Save? O programa G-code foi alterado. Deseja salvar? Heightmap file was changed. Save? O arquivo mapa de alturas foi alterado. Deseja salvar? Not connected Sem Conexão Probe Medição Opening file... Updating... G-Code files (*.nc *.ncc *.ngc *.tap *.txt) Arquivos G-Code (*.nc *.ncc *.ngc *.tap *.txt) Connected Conectado Job done. Time elapsed: %1 Trabalho terminado. Tempo transcorrido: %1 Processed Processado Serial port error Erro na porta serial Scroll Rolagem File sending in progress. Terminate and exit? Envio de arquivo en progreso. Terminar e sair? G-Code files (*.nc *.ncc *.tap *.txt);;All files (*.*) Arquivos G-Code (*.nc *.ncc *.tap *.txt);;Todos os arquivos (*.*) Sent Enviado G-Code files (*.nc *.ncc *.tap *.txt) Arquivos G-Code (*.nc *.ncc *.tap *.txt) Heightmap files (*.map) Mapa de alturas (*.map) Port opened Porta aberta Restore origin: %1, %2, %3 Restaure origem: %1, %2, %3 G-Code files (*.nc *.ncc *.ngc *.tap *.txt);;All files (*.*) Arquivos G-Code (*.nc *.ncc *.tap *.txt);;Todos os arquivos (*.*) Can't open file: Não foi possível abrir o arquivo: In queue Em fila Sended Enviado Delete lines? Apagar linhas? (%1) Untitled Sem-título Save file as Salvar arquivo como G-Code files (*.nc;*.ncc;*.tap) Arquivos G-Code (*.nc;*.ncc;*.tap) Changing grid settings will reset probe data. Continue? A alteração nas configurações de grade reiniciará os dados de medição. Deseja continuar? frmSettings Settings Opções Connection Conexão Port: Porta: ... Baud: Baud: 9600 14400 19200 38400 57600 115200 GRBL GRBL Query period: Período de consulta: Safe Z: Segurança em Z: Rapid speed: Velocidade de aproximação: Acceleration: Aceleração: Spindle speed min.: Velocidade mínima do Spindle: max.: max.: Z-probe commands: Comandos de medição de Z: Command 1; command 2; ... Comando 1; Comando 2; ... Heightmap probing feed: Avanço de medição de mapa de alturas: Report units: Unidades do relatório: Metric Métrico Imperial Imperial Parser Analizador Arc approximation segment length: Tamanho do segmento de aproximação de arco: Visualizer Visualizador Line width: Largura da linha: Smoothing Suavizado MSAA MSAA Simplify geometry Simplificar geometria Segment length: Tamanho de segmento: FPS lock: Bloqueio de FPS: 30 60 120 Z-buffer Tool graphic representation Representação gráfica de ferramenta Type: Tipo: Diameter: Diâmetro: Flat Plana Conic Cônica Angle: Ângulo: Length: Largura: Console Console Show G-code program commands Mostrar comandos de programa G-Code Show UI commands Mostrar comandos de interfce do usuário Command auto-completion Autocompletar comandos Panels Painéis Heightmap Mapa de altura Feed Avanço Spindle Jog Controle manual Sender Ignore error responses Automatically set parser state before sending from selected line Colors Cores Z-movement: Movimento em Z: Normal: Normal: Toolpath Caminho da ferramenta by length por tamanho Drawn: Desenhado: Background: Fundo: Common Colocações comuns Application measurement units: Unidades de medição da aplicação: Machine information Informação sobre máquina Status query period: Período de pergunta de posição: mm inch Units: Unidades: Laser power min.: Control Controle Probe commands: Ordens de tenta: Safe position commands: Ordens de posição segura: "Restore origin" moves tool in: "Restaure a origem" move o instrumento para o: Plane Avião Space Espaço User commands Button 1: Button 2: Button 3: Button 4: Arc approximation segment size: Tamanho de segmento de aproximação de arco: by angle (deg.) por ângulo Program draw mode: Vectors Raster By 'Z'-code By 'S'-code Grayscale segments Precision: Precisión: V-sync Tool model Modelo da ferramenta Overriding Highlight: Realçado: Start point: Origem: End point: Ponto final: Text: Texto: Tool: Ferramenta: Font Fonte Size: Tamanho: 8 9 10 11 12 pt (restart needed) (Requer reinicio) Set to defaults Opções padrão OK ОК Cancel Cancelar Reset settings to default values? Redefinir as configurações para os valores padrão? candle-1.1.9/src/translations/candle_ru.qm000066400000000000000000000471631421102410500205540ustar00rootroot00000000000000=DU^r'0,<0K f nsDvOMyTI0>"EI3K%6326  5$A2=?4GhVcahL3;h;Pi7:s6=8vCC,#J>9$ U$cz&%t( jC75(7e394 Z,Z'w(&;~)2cmBj@|A:Hb7&%=|R%i,'E-1 .9 E0tqA6I9t<$<5y0nM_s!} .4 h z#g ć ć: s> %  + ӻ  ; v d8a ee ee5b e e5 pKu&Y pKuA i * O :'G ) Bc*3 BcCm y9@ = yA? bD J2M J2 J2 J2 Ð!y w 7e3z " D "pP$ /.:* <" G,& gw n?~ >{ C L r$$ ~ _b-EQyHԚwB[j1H/+088SŊ007"XiF!#GCodeTableModel@3C<5=BKArgsGCodeTableModel><0=40CommandGCodeTableModel >G5@548In queueGCodeTableModel !B@>:0LineGCodeTableModel1@01>B0=0 ProcessedGCodeTableModel B25BResponseGCodeTableModelB?@02;5=0SentGCodeTableModel@>?CI5=0SkippedGCodeTableModel!>AB>O=85StateGCodeTableModel58725AB=>UnknownGCodeTableModel5@H8=K: %1 Vertices: %1GLWidgetForm SliderBoxTitle: SliderBox<html><head/><body><p><span style=" font-weight:600;">@>3@0<<0 ?>AB02;O5BAO "0: ABL", 02B>@ =5 =5A5B =8:0:>9 >B25BAB25==>AB8 70 2>7<>6=K9 ?@8=5A5==K9 CI5@1. A?>;L7C9B5 =0 A2>9 AB@0E 8 @8A:.</span></p></body></html>

The program is provided AS IS without any guarantees or warranty. Use at your own risk.

frmAboutZ<html><head/><body><p>Candle<br/>Version: %1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visit: <a href="https://github.com/Denvi/Candle/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/Candle/<br/></span></a> 2015-2016 %09@C;;8= 5=8A  028;L528G</p></body></html>.

Candle
Version: %1
License: GNU GENERAL PUBLIC LICENSE
Visit: https://github.com/Denvi/Candle/
© 2015-2016 Hayrullin Denis Ravilevich

frmAbout ?@>3@0<<5AboutfrmAboutOKfrmAbout (%1)frmMain (%1/%2)frmMain (%1/%2/%3)frmMain& ?@>3@0<<5&AboutfrmMain&G8AB8BL&ClearfrmMain&#40;8BL AB@>:8 &Delete linesfrmMain &$09;&FilefrmMain!&?@02:0&HelpfrmMain &AB028BL AB@>:C &Insert linefrmMain &>2K9&NewfrmMain&B:@KBL&OpenfrmMain&5402=85 D09;K &Recent filesfrmMain&!>E@0=8BL&SavefrmMain&!5@28A&ServicefrmMain&0AB@>9:8 &SettingsfrmMain...frmMain0frmMain0.01frmMain0.1frmMain1frmMain10frmMain100frmMain1000frmMain2000frmMain5frmMain50frmMain500frmMain !#: %1AS: %1frmMain@5@20BLAbortfrmMainBACBAB2C5BAbsentfrmMain"@52>30AlarmfrmMain4@8<5=O5BAO :0@BK 2KA>B...Applying heightmap...frmMain2B>AutofrmMain2B>?@>:@CB:0 AutoscrollfrmMain8:C18G5A:89BicubicfrmMain@0=8FK:Border:frmMain&CD5@: %1 / %2 / %3Buffer: %1 / %2 / %3frmMainCfrmMain6H81:0 ?@8 >B:@KB88 D09;0: Can't open file: frmMainCandlefrmMain7<5=5=85 A5B:8 7>=48@>20=8O ?@82545B : >G8AB:5 B01;8G=KE 40==KE. @>4>;68BL?7Changing grid settings will reset probe data. Continue?frmMain@>25@:0CheckfrmMain 568< ?@>25@:8 Check modefrmMain G8AB8BL :>=A>;L Clear consolefrmMain>=A>;LConsolefrmMain5?@5@K2=> ContinuouslyfrmMain#?@02;5=85ControlfrmMain!>740BLCreatefrmMain#40;8BL AB@>:8? Delete lines?frmMain(>;LH5 =5 ?>:07K20BLDon't show againfrmMain 25@LDoorfrmMain K&E>4E&xitfrmMain 540:B8@>20=85 Edit modefrmMain<H81:0(8) ?@8 ?5@540G5 D09;0: Error message(s) received: frmMain/(: %1 / %2 F/S: %1 / %2frmMain>40G0: Feed rate:frmMain>40G0:Feed:frmMainv45B ?@>F5AA >B?@02:8 D09;0. @5@20BL 8 2K9B8 87 ?@>3@0<<K?-File sending in progress. Terminate and exit?frmMain?8A0BLFitfrmMainx!;54CNI85 :><0=4K 1C4CB >B?@02;5=K ?5@54 2K1@0==>9 AB@>:>9: 6Following commands will be sent before selected line: frmMain84 A?5@548 Front viewfrmMainV$09;K G-Code (*.nc *.ncc *.ngc *.tap *.txt)+G-Code files (*.nc *.ncc *.ngc *.tap *.txt)frmMainx$09;K G-Code (*.nc *.ncc *.ngc *.tap *.txt);;A5 D09;K (*.*)3@0<<0G-code programfrmMainZ$09; G-code ?@>3@0<<K 1K; 87<5=5=. !>E@0=8BL?&G-code program file was changed. Save?frmMain:H:frmMain0@B0 2KA>B HeightmapfrmMainP$09; :0@BK 2KA>B 1K; 87<5=5=. !>E@0=8BL?!Heightmap file was changed. Save?frmMain0$09;K :0@B 2KA>B (*.map)Heightmap files (*.map)frmMain*0AB@>9:8 :0@BK 2KA>BHeightmap settingsfrmMain 0C70HoldfrmMain ><>9HomefrmMain >B>2IdlefrmMain&!5B:0 8=B5@?>;OF88:Interpolation grid:frmMain7><5B@8OIsometric viewfrmMainP040=85 2K?>;=5=>. @5<5=8 70B@0G5=>: %1Job done. Time elapsed: %1frmMain5@5<5I5=85JogfrmMain.#?@02;5=85 A :;0280BC@KKeyboard controlfrmMain84 A;520 Left viewfrmMain(0H8==K5 :>>@48=0BK:Machine coordinates:frmMain 0@B0:Map:frmMain2@02:0 G-:>4 ?@>3@0<<K...Modifying G-code program...frmMain5B A>548=5=8O Not connectedfrmMainB:@KBLOpenfrmMain"03@C7:0 D09;0...Opening file...frmMain>@@5:F8O OverridingfrmMain !: %1PS: %1frmMain 0C70PausefrmMain>@B >B:@KB Port openedfrmMain>=4ProbefrmMain&!5B:0 7>=48@>20=8O: Probe grid:frmMain 0C70QueuefrmMain%>;>AB>9 E>4: Rapid speed:frmMain !1@>AResetfrmMain>AAB0=>28BL !Restore originfrmMain6>AAB0=>28BL !: %1, %2, %3Restore origin: %1, %2, %3frmMain  01>B0RunfrmMain(57>?0A=>5 ?>;>65=85 Safe positionfrmMain"!>E@0=8BL &:0:... Save &as...frmMainB!>E@0=8BL &?@5>1@07>20==K9 :0:...Save &transformed as...frmMain$!>E@0=8BL D09; :0: Save file asfrmMain@>:@CB:0ScrollfrmMainB?@028BLSendfrmMain"B?@028BL :><0=4C Send commandfrmMain4B?@028BL A B5:CI59 AB@>:8Send from current linefrmMain>H81:0 ?>A;54>20B5;L=>3> ?>@B0 Serial port error frmMainB>1@078BLShowfrmMain >:070BL 3@0=8FK Show borderfrmMain>:070BL A5B:C Show gridfrmMain@>?CAB8BLSkipfrmMain!:>@>ABL:Speed:frmMain(?8=45;LSpindlefrmMain":;/2K:; H?8=45;LSpindle on/offfrmMain(?8=45;L:Spindle speed:frmMain!>AB>O=85StatefrmMain!B0BCA:Status:frmMain(03:Step:frmMain!B>?StopfrmMain* 07185=85 >B@57:>2...Subdividing segments...frmMain84 A25@ECTop viewfrmMain"8?:Type:frmMain58725AB=>UnknownfrmMain 071;>:8@>20BLUnlockfrmMain57 8<5=8UntitledfrmMain21=>2;5=85 Z-:>>@48=0B...Updating Z-coordinates...frmMain1=>2;5=85... Updating...frmMain0A?>;L7>20BL :0@BC 2KA>B Use heightmapfrmMain><0=4K User commandsfrmMain(:W:frmMain& 01>G85 :>>@48=0BK:Work coordinates:frmMainXfrmMainX+frmMainX-frmMainX:frmMainYfrmMainY+frmMainY-frmMainY:frmMainZfrmMainZ+frmMainZ-frmMain Z-IC?Z-probefrmMainZ=:Zb:frmMain1=C;8BL XYZero XYfrmMain1=C;8BL ZZero ZfrmMainZ2:Zt:frmMainF5@5<5I5=85 ?> ">AAB0=>28BL !" 2:"Restore origin" moves tool in: frmSettings,(=5>1E>48< ?5@570?CA:)(restart needed) frmSettings... frmSettings10 frmSettings11 frmSettings115200 frmSettings12 frmSettings120 frmSettings14400 frmSettings19200 frmSettings30 frmSettings38400 frmSettings57600 frmSettings60 frmSettings8 frmSettings9 frmSettings9600 frmSettings#A:>@5=85: Acceleration: frmSettings #3>;:Angle: frmSettingsP 07<5@ A53<5=B>2, 0??@>:A8<8@CNI8E 4C38:Arc approximation segment size: frmSettings2B><0B8G5A:8 =0AB@0820BL ?0@A5@ ?5@54 >B?@02:>9 A 2K1@0==>9 AB@>:8@Automatically set parser state before sending from selected line frmSettings$>=: Background: frmSettings!:>@>ABL:Baud: frmSettings=>?:0 1: Button 1: frmSettings=>?:0 2: Button 2: frmSettings=>?:0 3: Button 3: frmSettings=>?:0 4: Button 4: frmSettings> 'S'-:>4C By 'S'-code frmSettings> 'Z'-:>4C By 'Z'-code frmSettings B<5=0Cancel frmSettings &25B0Colors frmSettings2><0=40 1; ><0=40 2; ...Command 1; command 2; ... frmSettings,2B>7025@H5=85 :><0=4KCommand auto-completion frmSettings>=8G5A:0OConic frmSettings!>548=5=85 Connection frmSettings>=A>;LConsole frmSettings#?@02;5=85Control frmSettings80<5B@: Diameter: frmSettingsK?>;=5==0O:Drawn: frmSettings >=5F: End point: frmSettings'0AB>B0 :04@>2: FPS lock: frmSettings;>A:0OFlat frmSettings (@8DBFont frmSettings.>;CB>=>2>5 >:@0H820=85Grayscale segments frmSettings0@B0 2KA>B Heightmap frmSettings<>40G0 ?@8 A=OB88 :0@BK 2KA>B:Heightmap probing feed: frmSettings>4A25B:0: Highlight: frmSettingsL3=>@8@>20BL >H81:8 ?@8 >B?@02:5 D09;0Ignore error responses frmSettings5@5<5I5=85Jog frmSettings*>I=>ABL ;075@0 <8=.:Laser power min.: frmSettings ;8=0:Length: frmSettings">;I8=0 ;8=89: Line width: frmSettingsMSAA frmSettings&=D>@<0F8O > AB0=:5Machine information frmSettingsA=>2=>9:Normal: frmSettingsOK frmSettings>@@5:F8O Overriding frmSettings 0=5;8Panels frmSettings 0@A5@Parser frmSettings;>A:>AB8Plane frmSettings >@B:Port: frmSettings">G=>ABL: Precision: frmSettings><0=4K IC?0:Probe commands: frmSettings  568< >B@8A>2:8:Program draw mode: frmSettings$#A:>@5==0O ?>40G0: Rapid speed: frmSettings  0AB@Raster frmSettingsF>AAB0=>28BL 7=0G5=8O ?>-C<>;G0=8N?!Reset settings to default values? frmSettings<><0=4K 157>?0A=>3> ?>;>65=8O:Safe position commands: frmSettingsB?@02:0 D09;0Sender frmSettings> C<>;G0=8NSet to defaults frmSettings0AB@>9:8Settings frmSettingsFB>1@060BL :><0=4K G-code ?@>3@0<<KShow G-code program commands frmSettingsTB>1@060BL :><0=4K 8=B5@D59A0 ?>;L7>20B5;OShow UI commands frmSettings&#?@>AB8BL 35><5B@8NSimplify geometry frmSettings 07<5@:Size: frmSettings!3;06820=85 Smoothing frmSettings@>AB@0=AB25Space frmSettings(?8=45;LSpindle frmSettings.!:>@>ABL H?8=45;O <8=.:Spindle speed min.: frmSettings0G0;>: Start point: frmSettings5@8>4 >?@>A0:Status query period: frmSettings "5:AB:Text: frmSettings>45;L D@57K Tool model frmSettings $@570:Tool: frmSettings"@05:B>@8OToolpath frmSettings"8?:Type: frmSettings48=8FK:Units: frmSettings><0=4K User commands frmSettings V-syncV-sync frmSettings5:B>@=K9Vectors frmSettings87C0;870B>@ Visualizer frmSettingsCD5@ 3;C18=KZ-buffer frmSettingsZ-?5@5<5I5=8O: Z-movement: frmSettings ?> C3;C (3@04CA)by angle (deg.) frmSettings?> 4;8=5 by length frmSettings4N9<inch frmSettings <0:A.:max.: frmSettings<<mm frmSettings?Bpt frmSettings ) , candle-1.1.9/src/translations/candle_ru.ts000066400000000000000000002063631421102410500205640ustar00rootroot00000000000000 GCodeTableModel # Command Команда State Состояние Response Ответ Args Аргументы In queue В очереди Sent Отправлена Processed Обработана Skipped Пропущена Unknown Неизвестно Status Статус Line Строка GLWidget Lines: %1 Сегменты: %1 Segments: %1 Сегменты: %1 Vertices: %1 Вершины: %1 SliderBox Form Title: frmAbout About О программе <html><head/><body><p>Candle<br/>Version: %1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visit: <a href="https://github.com/Denvi/Candle/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/Candle/<br/></span></a>© 2015-2016 Hayrullin Denis Ravilevich</p></body></html> <html><head/><body><p>Candle<br/>Version: %1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visit: <a href="https://github.com/Denvi/Candle/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/Candle/<br/></span></a>© 2015-2016 Хайруллин Денис Равильевич</p></body></html> <html><head/><body><p>Candle<br/>Version: %1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visit: <a href="https://github.com/Denvi/Candle/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/Candle/<br/></span></a>© 2015 Hayrullin Denis Ravilevich</p></body></html> <html><head/><body><p>Candle<br/>Версия: %1<br/>Лицензия: GNU GENERAL PUBLIC LICENSE<br/>Сайт: <a href="https://github.com/Denvi/grblControl/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/grblControl/<br/></span></a>© 2015 Хайруллин Денис Равильевич</p></body></html> <html><head/><body><p>grblControl<br/>Version: %1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visit: <a href="https://github.com/Denvi/grblControl/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/grblControl/<br/></span></a>© 2015 Hayrullin Denis Ravilevich</p></body></html> <html><head/><body><p>grblControl<br/>Версия: %1<br/>Лицензия: GNU GENERAL PUBLIC LICENSE<br/>Сайт: <a href="https://github.com/Denvi/grblControl/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/grblControl/<br/></span></a>© 2015 Хайруллин Денис Равильевич</p></body></html> <html><head/><body><p>grblControl<br/>Version: 0.2<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visit: <a href="https://github.com/Denvi/grblControl/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/grblControl/<br/></span></a>© 2015 Hayrullin Denis Ravilevich</p></body></html> <html><head/><body><p>grblControl<br/>Версия: 0.2<br/>Лицензия: GNU GENERAL PUBLIC LICENSE<br/>Сайт: <a href="https://github.com/Denvi/grblControl/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/grblControl/<br/></span></a>© 2015 Хайруллин Денис Равильевич</p></body></html> <html><head/><body><p>grblControl<br/>Version: 0.1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visit: <a href="https://github.com/Denvi/grblControl/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/grblControl/<br/></span></a>© 2015 Hayrullin Denis Ravilevich</p></body></html> <html><head/><body><p>grblControl<br/>Версия: 0.1<br/>Лицензия: GNU GENERAL PUBLIC LICENSE<br/>Сайт: <a href="https://github.com/Denvi/grblControl/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/Denvi/grblControl/<br/></span></a>© 2015 Хайруллин Денис Равильевич</p></body></html> <html><head/><body><p><span style=" font-weight:600;">The program is provided AS IS without any guarantees or warranty. Use at your own risk.</span></p></body></html> <html><head/><body><p><span style=" font-weight:600;">Программа поставляется "Как Есть", автор не несет никакой ответственности за возможный принесенный ущерб. Используйте на свой страх и риск.</span></p></body></html> <html><head/><body><p><span style=" font-size:9pt;">grblControl<br/>Version: 0.1<br/>License: GNU GENERAL PUBLIC LICENSE<br/>Visit: </span><a href="https://github.com/Denvi/grblControl/"><span style=" font-size:9pt; text-decoration: underline; color:#0000ff;">https://github.com/Denvi/grblControl/</span></a></p></body></html> <html><head/><body><p><span style=" font-size:9pt;">grblControl<br/>Версия: 0.1<br/>Лицензия: GNU GENERAL PUBLIC LICENSE<br/>Посетите: </span><a href="https://github.com/Denvi/grblControl/"><span style=" font-size:9pt; text-decoration: underline; color:#0000ff;">https://github.com/Denvi/grblControl/</span></a></p></body></html> OK ОК frmMain G-code program G-code программа Isometric view Изометрия Top view Вид сверху Front view Вид спереди Left view Вид слева Fit Вписать Heightmap settings Настройки карты высот Border: Границы: X: H: В: W: Ш: Y: Auto Авто Show border Показать границы Probe grid: Сетка зондирования: Zb: Zн: Zt: Zв: Show grid Показать сетку Interpolation grid: Сетка интерполяции: Type: Тип: Bicubic Бикубический Show Отобразить Check mode Режим проверки Autoscroll Автопрокрутка State Состояние Control Управление Probing Z Z-щуп Restore XYZ Восстановить XYZ &Recent files &Недавние файлы &Open &Открыть Send Отправить Test mode Режим проверки Auto scroll Автопрокрутка Reset Сброс Pause Пауза Work coordinates: Рабочие координаты: 0 Machine coordinates: Машинные координаты: Status: Статус: Not connected Нет соединения ... Table touch Поиск стола Zero XY Обнулить XY Zero Z Обнулить Z Return XY(Z) Вернуться в XY(Z) Z-probe Z-щуп Safe Z Безопасная Z Unlock Разблокировать Heightmap Карта высот Use heightmap Использовать карту высот Map: Карта: Absent Отсутствует Create Создать Edit mode Редактирование Spindle Шпиндель Speed: Скорость: Spindle on/off Вкл/выкл шпиндель Feed Подача Override: Переопределить: Jog Перемещение Step: Шаг: X- Candle Abort Прервать Restore origin Восстановить СК Safe position Безопасное положение Overriding Коррекция Y- X+ Y+ Z+ Z- Presets: Уставки: X Y Z User commands Команды Stop Стоп Continuously Непрерывно 0.01 0.1 1 5 10 100 Feed: Подача: 500 50 1000 2000 Keyboard control Управление с клавиатуры Console Консоль Send command Отправить команду Clear console Очистить консоль &File &Файл &Service &Сервис &Help С&правка E&xit Вы&ход &Settings &Настройки &New &Новый &Save &Сохранить Save &as... Сохранить &как... &About &О программе &Clear &Очистить Save &transformed as... Сохранить &преобразованный как... Idle Готов Alarm Тревога Run Работа Home Домой Hold Пауза Queue Пауза Check Проверка Door Дверь Unknown Неизвестно Send from current line Отправить с текущей строки Feed rate: Подача: Rapid speed: Холостой ход: Spindle speed: Шпиндель: &Insert line &Вставить строку &Delete lines &Удалить строки Don't show again Больше не показывать PS: %1 СВ: %1 AS: %1 СУ: %1 F/S: %1 / %2 П/Ш: %1 / %2 Error message(s) received: Ошибка(и) при передаче файла: Buffer: %1 / %2 / %3 Буфер: %1 / %2 / %3 Following commands will be sent before selected line: Следующие команды будут отправлены перед выбранной строкой: Skip Пропустить (%1/%2/%3) (%1/%2) C Н Applying heightmap... Применяется карты высот... Subdividing segments... Разбиение отрезков... Updating Z-coordinates... Обновление Z-координат... Modifying G-code program... Правка G-код программы... Restore XYZ: %1, %2, %3 Восстановить XYZ: %1, %2, %3 G-Code files (*.nc *.ncc *.ngc *.tap *.txt);;All files (*.*) Файлы G-Code (*.nc *.ncc *.ngc *.tap *.txt);;Все файлы (*.*) Opening file... Загрузка файла... Updating... Обновление... G-Code files (*.nc *.ncc *.ngc *.tap *.txt) Файлы G-Code (*.nc *.ncc *.ngc *.tap *.txt) File was changed. Save? Файл был изменен. Сохранить? Job done. Time elapsed: %1 Задание выполнено. Времени затрачено: %1 Buffer: %1 / %2 Буфер: %1 / %2 G-Code files (*.nc *.ncc *.tap *.txt);;All files (*.*) Файлы G-Code (*.nc *.ncc *.tap *.txt);;Все файлы (*.*) Delete lines? Удалить строки? Scroll Прокрутка Restore origin: %1, %2, %3 Восстановить СК: %1, %2, %3 File sending in progress. Terminate and exit? Идет процесс отправки файла. Прервать и выйти из программы? G-Code files (*.nc *.ncc *.tap);;All files (*.*) Файлы G-Code (*.nc *.ncc *.tap);;Все файлы (*.*) Heightmap files (*.map) Файлы карт высот (*.map) Can't open file: Ошибка при открытии файла: Sent Отправлена (%1) Untitled Без имени G-Code files (*.nc *.ncc *.tap *.txt) Файлы G-Code (*.nc *.ncc *.tap *.txt) Changing grid settings will reset probe data. Continue? Изменение сетки зондирования приведет к очистке табличных данных. Продолжить? Connected Подключен G-code program file was changed. Save? Файл G-code программы был изменен. Сохранить? Heightmap file was changed. Save? Файл карты высот был изменен. Сохранить? Probe Зонд Port opened Порт открыт Processed Обработана Serial port error Ошибка последовательного порта Buffer/queue: %1 / %2 Буфер/очередь: %1 / %2 Save file as Сохранить файл как Open Открыть G-Code files (*.nc;*.ncc;*.tap) Файлы G-Code (*.nc;*.ncc;*.tap) In queue В очереди Sended Отправлена frmSettings Settings Настройки Connection Соединение Port: Порт: ... Baud: Скорость: 9600 14400 19200 38400 57600 115200 Common Общие Application measurement units: Единицы измерения приложения: Machine information Информация о станке Status query period: Период опроса: units: Единицы: Control Управление Probe commands: Команды щупа: Safe position commands: Команды безопасного положения: "Restore origin" moves tool in: Перемещение по "Восстановить СК" в: Plane Плоскости Space Пространстве Parser Парсер Arc approximation segment length: Точность аппроксимации дуг: Visualizer Визуализатор Line width: Толщина линий: Smoothing Сглаживание Precision: Точность: Sender Отправка файла Ignore error responses Игнорировать ошибки при отправке файла Automatically set parser state before sending from selected line Автоматически настраивать парсер перед отправкой с выбранной строки mm мм inch дюйм Laser power min.: Мощность лазера мин.: User commands Команды Button 1: Кнопка 1: Button 2: Кнопка 2: Button 3: Кнопка 3: Button 4: Кнопка 4: Program draw mode: Режим отрисовки: Vectors Векторный Raster Растр By 'Z'-code По 'Z'-коду By 'S'-code По 'S'-коду Grayscale segments Полутоновое окрашивание V-sync V-sync Tool model Модель фрезы Show UI commands Отображать команды интерфейса пользователя Overriding Коррекция Colors Цвета Normal: Основной: Toolpath Траектория Drawn: Выполненная: Tool: Фреза: Highlight: Подсветка: Z-movement: Z-перемещения: (Used in the visualizer and the procedure of transformation files in accordance with the height map) (Используется визуализатором и процедурой преобразования файлов в соответствии с картой высот) Start point: Начало: End point: Конец: Background: Фон: Arc approximation segment size: Размер сегментов, аппроксимирующих дуги: by length (mm) по длине (мм) by angle (deg.) по углу (градус) (used in visualizer and heightmap modification procedure) (используется визуализатором и процедурой модификации по карте высот) Segment length (mm): Длина сегмента (мм): Text: Текст: Font Шрифт Size: Размер: 8 9 10 11 12 pt пт (restart needed) (необходим перезапуск) Set to defaults По умолчанию Line Линии MSAA Simplify geometry Упростить геометрию Min length: Точность: Z-probe commands: Команды Z-щупа: Command 1; command 2; ... Команда 1; Команда 2; ... Heightmap probing feed: Подача при снятии карты высот: Probing Z commands: Команды Z-щупа: Table touch commands: Команды поиска стола: Table touch command: Команда поиска стола: Z probe: Поиск Z: Distance: Расстояние: Report units: Единицы измерения строки состояния: Units: Единицы: Metric Метрические Imperial Имперские (used in the visualizer and the procedure of transformation files in accordance with the height map) (используется визуализатором и процедурой преобразования файлов в соответствии с картой высот) Command auto-completion Автозавершение команды Z-buffer Буфер глубины Segment length: Длина отрезка: Query period: Период опроса: Spindle speed min.: Скорость шпинделя мин.: max.: макс.: Acceleration: Ускорение: Max.: макс.: Rapid movements speed: Ускоренная подача: Arcs precision: Точность дуг: Line smoothing Сглаживание линий FPS lock: Частота кадров: 30 60 120 Tool graphic representation Модель фрезы Type: Тип: Diameter: Диаметр: Flat Плоская Conic Коническая Angle: Угол: Length: Длина: Query state time period: Период опроса состояния: Show G-code program commands Отображать команды G-code программы GRBL Control Управление GRBL Safe Z: Безопасная Z: Rapid speed: Ускоренная подача: by length по длине (Used in the visualizer and the procedure of transformation files in accordance with the height map.) (используется визуализатором и процедурой преобразования файлов в соответствии с картой высот) Panels Панели Heightmap Карта высот Feed Подача Spindle Шпиндель Jog Перемещение Keyboard control Управление с клавиатуры Console Консоль Show G-code program commands in console Отображать команды G-code программы в консоли OK ОК Cancel Отмена Reset settings to default values? Восстановить значения по-умолчанию? candle-1.1.9/src/utils/000077500000000000000000000000001421102410500146655ustar00rootroot00000000000000candle-1.1.9/src/utils/interpolation.h000066400000000000000000000072121421102410500177270ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef INTERPOLATION #define INTERPOLATION #include #include #include #include class Interpolation { public: static double cubicInterpolate(double p[4], double x) { return p[1] + 0.5 * x * (p[2] - p[0] + x *(2.0 * p[0] - 5.0 * p[1] + 4.0 * p[2] - p[3] + x * (3.0 * (p[1] - p[2]) + p[3] - p[0]))); } static double bicubicInterpolate(double p[4][4], double x, double y) { double arr[4]; arr[0] = cubicInterpolate(p[0], x); arr[1] = cubicInterpolate(p[1], x); arr[2] = cubicInterpolate(p[2], x); arr[3] = cubicInterpolate(p[3], x); return cubicInterpolate(arr, y); } static double bicubicInterpolate(QRectF borderRect, QAbstractTableModel *basePoints, double x, double y) { // Setup grid int gridPointsX = basePoints->columnCount(); int gridPointsY = basePoints->rowCount(); double gridStepX = gridPointsX > 1 ? borderRect.width() / (gridPointsX - 1) : 0; double gridStepY = gridPointsY > 1 ? borderRect.height() / (gridPointsY - 1) : 0; // Get 16 points x -= borderRect.x(); y -= borderRect.y(); int ix = trunc(x / gridStepX); int iy = trunc(y / gridStepY); if (ix > basePoints->columnCount() - 2) ix = basePoints->columnCount() - 2; if (iy > basePoints->rowCount() - 2) iy = basePoints->rowCount() - 2; double p[4][4]; p[0][0] = basePoints->data(basePoints->index((iy > 0 ? iy - 1 : iy), (ix > 0 ? ix - 1 : ix)), Qt::UserRole).toDouble(); p[0][1] = basePoints->data(basePoints->index((iy > 0 ? iy - 1 : iy), ix), Qt::UserRole).toDouble(); p[0][2] = basePoints->data(basePoints->index((iy > 0 ? iy - 1 : iy), ix + 1), Qt::UserRole).toDouble(); p[0][3] = basePoints->data(basePoints->index((iy > 0 ? iy - 1 : iy), (ix < basePoints->columnCount() - 2 ? ix + 2: ix + 1)), Qt::UserRole).toDouble(); p[1][0] = basePoints->data(basePoints->index(iy, ix > 0 ? ix - 1 : ix), Qt::UserRole).toDouble(); p[1][1] = basePoints->data(basePoints->index(iy, ix), Qt::UserRole).toDouble(); p[1][2] = basePoints->data(basePoints->index(iy, ix + 1), Qt::UserRole).toDouble(); p[1][3] = basePoints->data(basePoints->index(iy, ix < basePoints->columnCount() - 2 ? ix + 2: ix + 1), Qt::UserRole).toDouble(); p[2][0] = basePoints->data(basePoints->index(iy + 1, ix > 0 ? ix - 1 : ix), Qt::UserRole).toDouble(); p[2][1] = basePoints->data(basePoints->index(iy + 1, ix), Qt::UserRole).toDouble(); p[2][2] = basePoints->data(basePoints->index(iy + 1, ix + 1), Qt::UserRole).toDouble(); p[2][3] = basePoints->data(basePoints->index(iy + 1, ix < basePoints->columnCount() - 2 ? ix + 2 : ix + 1), Qt::UserRole).toDouble(); p[3][0] = basePoints->data(basePoints->index(iy < basePoints->rowCount() - 2 ? iy + 2 : iy + 1, ix > 0 ? ix - 1 : ix), Qt::UserRole).toDouble(); p[3][1] = basePoints->data(basePoints->index(iy < basePoints->rowCount() - 2 ? iy + 2 : iy + 1, ix), Qt::UserRole).toDouble(); p[3][2] = basePoints->data(basePoints->index(iy < basePoints->rowCount() - 2 ? iy + 2 : iy + 1, ix + 1), Qt::UserRole).toDouble(); p[3][3] = basePoints->data(basePoints->index(iy < basePoints->rowCount() - 2 ? iy + 2 : iy + 1, ix < basePoints->columnCount() - 2 ? ix + 2 : ix + 1), Qt::UserRole).toDouble(); // Interpolate return Interpolation::bicubicInterpolate(p, x / gridStepX - ix, y / gridStepY - iy); } }; #endif // INTERPOLATION candle-1.1.9/src/utils/util.h000066400000000000000000000026041421102410500160150ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef UTIL #define UTIL #include #include #include #include #include #include #include class Util { public: static double nMin(double v1, double v2) { if (!qIsNaN(v1) && !qIsNaN(v2)) return qMin(v1, v2); else if (!qIsNaN(v1)) return v1; else if (!qIsNaN(v2)) return v2; else return qQNaN(); } static double nMax(double v1, double v2) { if (!qIsNaN(v1) && !qIsNaN(v2)) return qMax(v1, v2); else if (!qIsNaN(v1)) return v1; else if (!qIsNaN(v2)) return v2; else return qQNaN(); } static QVector3D colorToVector(QColor color) { return QVector3D(color.redF(), color.greenF(), color.blueF()); } static void waitEvents(int ms) { QEventLoop loop; QTimer::singleShot(ms, &loop, SLOT(quit())); loop.exec(); } static QIcon invertIconColors(QIcon icon) { QImage img = icon.pixmap(icon.actualSize(QSize(64, 64))).toImage(); img.invertPixels(); return QIcon(QPixmap::fromImage(img)); } static void invertButtonIconColors(QAbstractButton *button) { button->setIcon(invertIconColors(button->icon())); } }; #endif // UTIL candle-1.1.9/src/widgets/000077500000000000000000000000001421102410500151735ustar00rootroot00000000000000candle-1.1.9/src/widgets/colorpicker.cpp000066400000000000000000000015301421102410500202120ustar00rootroot00000000000000#include "colorpicker.h" ColorPicker::ColorPicker(QWidget *parent) : QWidget(parent) { m_layout = new QHBoxLayout(this); m_frame = new QFrame(this); m_button = new QToolButton(this); m_frame->setFrameShape(QFrame::Box); m_button->setText("..."); m_layout->setMargin(0); m_layout->addWidget(m_frame, 1); m_layout->addWidget(m_button); connect(m_button, SIGNAL(clicked()), this, SLOT(onButtonClicked())); } QColor ColorPicker::color() const { return m_color; } void ColorPicker::setColor(const QColor &color) { m_color = color; m_frame->setStyleSheet(QString("background-color: %1").arg(color.name())); } void ColorPicker::onButtonClicked() { QColor color = QColorDialog::getColor(m_color, this); if (color.isValid()) { setColor(color); emit colorSelected(color); } } candle-1.1.9/src/widgets/colorpicker.h000066400000000000000000000010651421102410500176620ustar00rootroot00000000000000#ifndef COLORPICKER_H #define COLORPICKER_H #include #include #include #include #include class ColorPicker : public QWidget { Q_OBJECT public: explicit ColorPicker(QWidget *parent = 0); QColor color() const; void setColor(const QColor &color); signals: void colorSelected(QColor color); public slots: private slots: void onButtonClicked(); private: QHBoxLayout *m_layout; QFrame *m_frame; QToolButton *m_button; QColor m_color; }; #endif // COLORPICKER_H candle-1.1.9/src/widgets/combobox.cpp000066400000000000000000000014751421102410500175160ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #include #include #include "combobox.h" ComboBox::ComboBox(QWidget *parent) : QComboBox(parent) { } ComboBox::~ComboBox() { } void ComboBox::storeText() { if (this->count() == this->maxCount()) this->removeItem(this->maxCount() - 1); this->insertItem(0, this->currentText()); this->setCurrentIndex(-1); } void ComboBox::keyPressEvent(QKeyEvent *e) { if (e->key() == Qt::Key_Return) { if (this->count() == this->maxCount()) this->removeItem(this->maxCount() - 1); // TODO: Make removing selected item } QComboBox::keyPressEvent(e); if (e->key() == Qt::Key_Return || e->key() == Qt::Key_Enter) { emit returnPressed(); this->setCurrentIndex(-1); } } candle-1.1.9/src/widgets/combobox.h000066400000000000000000000006571421102410500171640ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef COMBOBOX_H #define COMBOBOX_H #include #include class ComboBox : public QComboBox { Q_OBJECT public: explicit ComboBox(QWidget *parent = 0); ~ComboBox(); void storeText(); signals: void returnPressed(); protected: void keyPressEvent(QKeyEvent *e); }; #endif // COMBOBOX_H candle-1.1.9/src/widgets/comboboxkey.cpp000066400000000000000000000035111421102410500202200ustar00rootroot00000000000000#include "comboboxkey.h" ComboBoxKey::ComboBoxKey(QWidget *parent) : QComboBox(parent) { } void ComboBoxKey::setEditable(bool editable) { if (!editable) { if (currentText() != itemText(currentIndex())) { // Remove user item if exist QString value = currentText(); if (itemData(count() - 1) == 1) { removeItem(count() - 1); removeItem(count() - 1); } // Add user item to the end of list insertSeparator(count()); addItem(value, 1); setCurrentIndex(count() - 1); } } QComboBox::setEditable(editable); } void ComboBoxKey::setCurrentNext() { do { setCurrentIndex(qMin(currentIndex() + 1, count() - 1)); } while (currentText().isEmpty()); } void ComboBoxKey::setCurrentPrevious() { do { setCurrentIndex(qMax(currentIndex() - 1, 0)); } while (currentText().isEmpty()); } void ComboBoxKey::setItems(QStringList items) { if (items.isEmpty()) return; clear(); bool userItem = false; foreach (QString item, items) { if (item.isEmpty()) { insertSeparator(count()); userItem = true; } else { insertItem(count(), item, userItem ? 1 : QVariant()); } } } QStringList ComboBoxKey::items() { QStringList items; for (int i = 0; i < count(); i++) items.append(itemText(i)); return items; } void ComboBoxKey::keyPressEvent(QKeyEvent *e) { if (this->isEditable() || !isBlockedKey(e->key())) QComboBox::keyPressEvent(e); } void ComboBoxKey::keyReleaseEvent(QKeyEvent *e) { if (this->isEditable() || !isBlockedKey(e->key())) QComboBox::keyReleaseEvent(e); } bool ComboBoxKey::isBlockedKey(int key) { return key != Qt::Key_ScrollLock && key != Qt::Key_Down && key != Qt::Key_Up; } candle-1.1.9/src/widgets/comboboxkey.h000066400000000000000000000010341421102410500176630ustar00rootroot00000000000000#ifndef COMBOBOXKEY_H #define COMBOBOXKEY_H #include #include #include #include class ComboBoxKey : public QComboBox { public: explicit ComboBoxKey(QWidget *parent = 0); void setEditable(bool editable); void setCurrentNext(); void setCurrentPrevious(); void setItems(QStringList items); QStringList items(); protected: void keyPressEvent(QKeyEvent *e); void keyReleaseEvent(QKeyEvent *e); private: bool isBlockedKey(int key); }; #endif // COMBOBOXKEY_H candle-1.1.9/src/widgets/glwidget.cpp000066400000000000000000000333561421102410500175170ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #include "glwidget.h" #include "drawers/tooldrawer.h" #include #include #include #include #ifdef GLES #include #endif #define ZOOMSTEP 1.1 #ifdef GLES GLWidget::GLWidget(QWidget *parent) : QOpenGLWidget(parent), m_shaderProgram(0) #else GLWidget::GLWidget(QWidget *parent) : QGLWidget(parent), m_shaderProgram(0) #endif { m_animateView = false; m_updatesEnabled = false; m_xRot = 90; m_yRot = 0; m_xRotTarget = 90; m_yRotTarget = 0; m_zoom = 1; m_xPan = 0; m_yPan = 0; m_distance = 100; m_xLookAt = 0; m_yLookAt = 0; m_zLookAt = 0; m_xMin = 0; m_xMax = 0; m_yMin = 0; m_yMax = 0; m_zMin = 0; m_zMax = 0; m_xSize = 0; m_ySize = 0; m_zSize = 0; updateProjection(); updateView(); m_spendTime.setHMS(0, 0, 0); m_estimatedTime.setHMS(0, 0, 0); m_vsync = false; m_targetFps = 60; QTimer::singleShot(1000, this, SLOT(onFramesTimer())); } GLWidget::~GLWidget() { if (m_shaderProgram) { delete m_shaderProgram; } } double GLWidget::calculateVolume(QVector3D size) { return size.x() * size.y() * size.z(); } void GLWidget::addDrawable(ShaderDrawable *drawable) { m_shaderDrawables.append(drawable); } void GLWidget::fitDrawable(ShaderDrawable *drawable) { stopViewAnimation(); if (drawable != NULL) { updateExtremes(drawable); double a = m_ySize / 2 / 0.25 * 1.3 + (m_zMax - m_zMin) / 2; double b = m_xSize / 2 / 0.25 * 1.3 / ((double)this->width() / this->height()) + (m_zMax - m_zMin) / 2; m_distance = qMax(a, b); if (m_distance == 0) m_distance = 200; m_xLookAt = (m_xMax - m_xMin) / 2 + m_xMin; m_zLookAt = -((m_yMax - m_yMin) / 2 + m_yMin); m_yLookAt = (m_zMax - m_zMin) / 2 + m_zMin; } else { m_distance = 200; m_xLookAt = 0; m_yLookAt = 0; m_zLookAt = 0; m_xMin = 0; m_xMax = 0; m_yMin = 0; m_yMax = 0; m_zMin = 0; m_zMax = 0; m_xSize = 0; m_ySize = 0; m_zSize = 0; } m_xPan = 0; m_yPan = 0; m_zoom = 1; updateProjection(); updateView(); } void GLWidget::updateExtremes(ShaderDrawable *drawable) { if (!qIsNaN(drawable->getMinimumExtremes().x())) m_xMin = drawable->getMinimumExtremes().x(); else m_xMin = 0; if (!qIsNaN(drawable->getMaximumExtremes().x())) m_xMax = drawable->getMaximumExtremes().x(); else m_xMax = 0; if (!qIsNaN(drawable->getMinimumExtremes().y())) m_yMin = drawable->getMinimumExtremes().y(); else m_yMin = 0; if (!qIsNaN(drawable->getMaximumExtremes().y())) m_yMax = drawable->getMaximumExtremes().y(); else m_yMax = 0; if (!qIsNaN(drawable->getMinimumExtremes().z())) m_zMin = drawable->getMinimumExtremes().z(); else m_zMin = 0; if (!qIsNaN(drawable->getMaximumExtremes().z())) m_zMax = drawable->getMaximumExtremes().z(); else m_zMax = 0; m_xSize = m_xMax - m_xMin; m_ySize = m_yMax - m_yMin; m_zSize = m_zMax - m_zMin; } bool GLWidget::antialiasing() const { return m_antialiasing; } void GLWidget::setAntialiasing(bool antialiasing) { m_antialiasing = antialiasing; } void GLWidget::onFramesTimer() { m_fps = m_frames; m_frames = 0; QTimer::singleShot(1000, this, SLOT(onFramesTimer())); } void GLWidget::viewAnimation() { double t = (double)m_animationFrame++ / (m_fps * 0.2); if (t >= 1) stopViewAnimation(); QEasingCurve ec(QEasingCurve::OutExpo); double val = ec.valueForProgress(t); m_xRot = m_xRotStored + double(m_xRotTarget - m_xRotStored) * val; m_yRot = m_yRotStored + double(m_yRotTarget - m_yRotStored) * val; updateView(); } QString GLWidget::pinState() const { return m_pinState; } void GLWidget::setPinState(const QString &pinState) { m_pinState = pinState; } QString GLWidget::speedState() const { return m_speedState; } void GLWidget::setSpeedState(const QString &additionalStatus) { m_speedState = additionalStatus; } bool GLWidget::vsync() const { return m_vsync; } void GLWidget::setVsync(bool vsync) { m_vsync = vsync; } bool GLWidget::msaa() const { return m_msaa; } void GLWidget::setMsaa(bool msaa) { m_msaa = msaa; } bool GLWidget::updatesEnabled() const { return m_updatesEnabled; } void GLWidget::setUpdatesEnabled(bool updatesEnabled) { m_updatesEnabled = updatesEnabled; } bool GLWidget::zBuffer() const { return m_zBuffer; } void GLWidget::setZBuffer(bool zBuffer) { m_zBuffer = zBuffer; } QString GLWidget::bufferState() const { return m_bufferState; } void GLWidget::setBufferState(const QString &bufferState) { m_bufferState = bufferState; } QString GLWidget::parserStatus() const { return m_parserStatus; } void GLWidget::setParserStatus(const QString &parserStatus) { m_parserStatus = parserStatus; } double GLWidget::lineWidth() const { return m_lineWidth; } void GLWidget::setLineWidth(double lineWidth) { m_lineWidth = lineWidth; } void GLWidget::setTopView() { m_xRotTarget = 90; m_yRotTarget = m_yRot > 180 ? 360 : 0; beginViewAnimation(); } void GLWidget::setFrontView() { m_xRotTarget = 0; m_yRotTarget = m_yRot > 180 ? 360 : 0; beginViewAnimation(); } void GLWidget::setLeftView() { m_xRotTarget = 0; m_yRotTarget = m_yRot > 270 ? 450 : 90; beginViewAnimation(); } int GLWidget::fps() { return m_targetFps; } void GLWidget::setIsometricView() { m_xRotTarget = 45; m_yRotTarget = m_yRot > 180 ? 405 : 45; beginViewAnimation(); } void GLWidget::beginViewAnimation() { m_xRotStored = m_xRot; m_yRotStored = m_yRot; m_animationFrame = 0; m_animateView = true; } void GLWidget::stopViewAnimation() { m_animateView = false; } QColor GLWidget::colorText() const { return m_colorText; } void GLWidget::setColorText(const QColor &colorText) { m_colorText = colorText; } QColor GLWidget::colorBackground() const { return m_colorBackground; } void GLWidget::setColorBackground(const QColor &colorBackground) { m_colorBackground = colorBackground; } void GLWidget::setFps(int fps) { if (fps <= 0) return; m_targetFps = fps; m_timerPaint.stop(); m_timerPaint.start(m_vsync ? 0 : 1000 / fps, Qt::PreciseTimer, this); } QTime GLWidget::estimatedTime() const { return m_estimatedTime; } void GLWidget::setEstimatedTime(const QTime &estimatedTime) { m_estimatedTime = estimatedTime; } QTime GLWidget::spendTime() const { return m_spendTime; } void GLWidget::setSpendTime(const QTime &spendTime) { m_spendTime = spendTime; } void GLWidget::initializeGL() { #ifndef GLES // Initialize functions initializeOpenGLFunctions(); #endif // Create shader program m_shaderProgram = new QOpenGLShaderProgram(); if (m_shaderProgram) { // Compile vertex shader m_shaderProgram->addShaderFromSourceFile(QOpenGLShader::Vertex, ":/shaders/vshader.glsl"); // Compile fragment shader m_shaderProgram->addShaderFromSourceFile(QOpenGLShader::Fragment, ":/shaders/fshader.glsl"); // Link shader pipeline m_shaderProgram->link(); qDebug() << "shader program created"; } } void GLWidget::resizeGL(int width, int height) { glViewport(0, 0, width, height); updateProjection(); emit resized(); } void GLWidget::updateProjection() { // Reset projection m_projectionMatrix.setToIdentity(); double asp = (double)width() / height(); m_projectionMatrix.frustum((-0.5 + m_xPan) * asp, (0.5 + m_xPan) * asp, -0.5 + m_yPan, 0.5 + m_yPan, 2, m_distance * 2); } void GLWidget::updateView() { // Set view matrix m_viewMatrix.setToIdentity(); double r = m_distance; double angY = M_PI / 180 * m_yRot; double angX = M_PI / 180 * m_xRot; QVector3D eye(r * cos(angX) * sin(angY) + m_xLookAt, r * sin(angX) + m_yLookAt, r * cos(angX) * cos(angY) + m_zLookAt); QVector3D center(m_xLookAt, m_yLookAt, m_zLookAt); QVector3D up(fabs(m_xRot) == 90 ? -sin(angY + (m_xRot < 0 ? M_PI : 0)) : 0, cos(angX), fabs(m_xRot) == 90 ? -cos(angY + (m_xRot < 0 ? M_PI : 0)) : 0); m_viewMatrix.lookAt(eye, center, up.normalized()); m_viewMatrix.translate(m_xLookAt, m_yLookAt, m_zLookAt); m_viewMatrix.scale(m_zoom, m_zoom, m_zoom); m_viewMatrix.translate(-m_xLookAt, -m_yLookAt, -m_zLookAt); m_viewMatrix.rotate(-90, 1.0, 0.0, 0.0); } #ifdef GLES void GLWidget::paintGL() { #else void GLWidget::paintEvent(QPaintEvent *pe) { Q_UNUSED(pe) #endif QPainter painter(this); // Segment counter int vertices = 0; painter.beginNativePainting(); // Clear viewport glClearColor(m_colorBackground.redF(), m_colorBackground.greenF(), m_colorBackground.blueF(), 1.0); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Shader drawable points glEnable(GL_PROGRAM_POINT_SIZE); // Update settings if (m_antialiasing) { if (m_msaa) glEnable(GL_MULTISAMPLE); else { glHint(GL_LINE_SMOOTH_HINT, GL_NICEST); glEnable(GL_LINE_SMOOTH); glHint(GL_POINT_SMOOTH_HINT, GL_NICEST); glEnable(GL_POINT_SMOOTH); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_BLEND); } } if (m_zBuffer) glEnable(GL_DEPTH_TEST); if (m_shaderProgram) { // Draw 3d m_shaderProgram->bind(); // Set modelview-projection matrix m_shaderProgram->setUniformValue("mvp_matrix", m_projectionMatrix * m_viewMatrix); m_shaderProgram->setUniformValue("mv_matrix", m_viewMatrix); // Update geometries in current opengl context foreach (ShaderDrawable *drawable, m_shaderDrawables) if (drawable->needsUpdateGeometry()) drawable->updateGeometry(m_shaderProgram); // Draw geometries foreach (ShaderDrawable *drawable, m_shaderDrawables) { drawable->draw(m_shaderProgram); if (drawable->visible()) vertices += drawable->getVertexCount(); } m_shaderProgram->release(); } // Draw 2D glDisable(GL_DEPTH_TEST); glDisable(GL_MULTISAMPLE); glDisable(GL_LINE_SMOOTH); glDisable(GL_BLEND); painter.endNativePainting(); QPen pen(m_colorText); painter.setPen(pen); double x = 10; double y = this->height() - 60; painter.drawText(QPoint(x, y), QString("X: %1 ... %2").arg(m_xMin, 0, 'f', 3).arg(m_xMax, 0, 'f', 3)); painter.drawText(QPoint(x, y + 15), QString("Y: %1 ... %2").arg(m_yMin, 0, 'f', 3).arg(m_yMax, 0, 'f', 3)); painter.drawText(QPoint(x, y + 30), QString("Z: %1 ... %2").arg(m_zMin, 0, 'f', 3).arg(m_zMax, 0, 'f', 3)); painter.drawText(QPoint(x, y + 45), QString("%1 / %2 / %3").arg(m_xSize, 0, 'f', 3).arg(m_ySize, 0, 'f', 3).arg(m_zSize, 0, 'f', 3)); QFontMetrics fm(painter.font()); painter.drawText(QPoint(x, fm.height() + 10), m_parserStatus); painter.drawText(QPoint(x, fm.height() * 2 + 10), m_speedState); painter.drawText(QPoint(x, fm.height() * 3 + 10), m_pinState); QString str = QString(tr("Vertices: %1")).arg(vertices); painter.drawText(QPoint(this->width() - fm.width(str) - 10, y + 30), str); str = QString("FPS: %1").arg(m_fps); painter.drawText(QPoint(this->width() - fm.width(str) - 10, y + 45), str); str = m_spendTime.toString("hh:mm:ss") + " / " + m_estimatedTime.toString("hh:mm:ss"); painter.drawText(QPoint(this->width() - fm.width(str) - 10, y), str); str = m_bufferState; painter.drawText(QPoint(this->width() - fm.width(str) - 10, y + 15), str); m_frames++; #ifdef GLES update(); #endif } void GLWidget::mousePressEvent(QMouseEvent *event) { m_lastPos = event->pos(); m_xLastRot = m_xRot; m_yLastRot = m_yRot; m_xLastPan = m_xPan; m_yLastPan = m_yPan; } void GLWidget::mouseMoveEvent(QMouseEvent *event) { if ((event->buttons() & Qt::MiddleButton && !(event->modifiers() & Qt::ShiftModifier)) || event->buttons() & Qt::LeftButton) { stopViewAnimation(); m_yRot = normalizeAngle(m_yLastRot - (event->pos().x() - m_lastPos.x()) * 0.5); m_xRot = m_xLastRot + (event->pos().y() - m_lastPos.y()) * 0.5; if (m_xRot < -90) m_xRot = -90; if (m_xRot > 90) m_xRot = 90; updateView(); emit rotationChanged(); } if ((event->buttons() & Qt::MiddleButton && event->modifiers() & Qt::ShiftModifier) || event->buttons() & Qt::RightButton) { m_xPan = m_xLastPan - (event->pos().x() - m_lastPos.x()) * 1 / (double)width(); m_yPan = m_yLastPan + (event->pos().y() - m_lastPos.y()) * 1 / (double)height(); updateProjection(); } } void GLWidget::wheelEvent(QWheelEvent *we) { if (m_zoom > 0.1 && we->delta() < 0) { m_xPan -= ((double)we->pos().x() / width() - 0.5 + m_xPan) * (1 - 1 / ZOOMSTEP); m_yPan += ((double)we->pos().y() / height() - 0.5 - m_yPan) * (1 - 1 / ZOOMSTEP); m_zoom /= ZOOMSTEP; } else if (m_zoom < 10 && we->delta() > 0) { m_xPan -= ((double)we->pos().x() / width() - 0.5 + m_xPan) * (1 - ZOOMSTEP); m_yPan += ((double)we->pos().y() / height() - 0.5 - m_yPan) * (1 - ZOOMSTEP); m_zoom *= ZOOMSTEP; } updateProjection(); updateView(); } void GLWidget::timerEvent(QTimerEvent *te) { if (te->timerId() == m_timerPaint.timerId()) { if (m_animateView) viewAnimation(); #ifndef GLES if (m_updatesEnabled) update(); #endif } else { #ifdef GLES QOpenGLWidget::timerEvent(te); #else QGLWidget::timerEvent(te); #endif } } double GLWidget::normalizeAngle(double angle) { while (angle < 0) angle += 360; while (angle > 360) angle -= 360; return angle; } candle-1.1.9/src/widgets/glwidget.h000066400000000000000000000071441421102410500171600ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef GLWIDGET_H #define GLWIDGET_H #ifndef GLES #include #else #include #endif #include #include #include "drawers/shaderdrawable.h" #ifdef GLES class GLWidget : public QOpenGLWidget #else class GLWidget : public QGLWidget, protected QOpenGLFunctions #endif { Q_OBJECT public: explicit GLWidget(QWidget *parent = 0); ~GLWidget(); void addDrawable(ShaderDrawable *drawable); void updateExtremes(ShaderDrawable *drawable); void fitDrawable(ShaderDrawable *drawable = NULL); bool antialiasing() const; void setAntialiasing(bool antialiasing); QTime spendTime() const; void setSpendTime(const QTime &spendTime); QTime estimatedTime() const; void setEstimatedTime(const QTime &estimatedTime); double lineWidth() const; void setLineWidth(double lineWidth); void setIsometricView(); void setTopView(); void setFrontView(); void setLeftView(); int fps(); void setFps(int fps); QString parserStatus() const; void setParserStatus(const QString &parserStatus); QString bufferState() const; void setBufferState(const QString &bufferState); bool zBuffer() const; void setZBuffer(bool zBuffer); bool updatesEnabled() const; void setUpdatesEnabled(bool updatesEnabled); bool msaa() const; void setMsaa(bool msaa); QColor colorBackground() const; void setColorBackground(const QColor &colorBackground); QColor colorText() const; void setColorText(const QColor &colorText); double pointSize() const; void setPointSize(double pointSize); bool vsync() const; void setVsync(bool vsync); QString speedState() const; void setSpeedState(const QString &speedState); QString pinState() const; void setPinState(const QString &pinState); signals: void rotationChanged(); void resized(); public slots: private slots: void onFramesTimer(); void viewAnimation(); private: double m_xRot, m_yRot, m_xLastRot, m_yLastRot; double m_xPan, m_yPan, m_xLastPan, m_yLastPan; double m_xLookAt, m_yLookAt, m_zLookAt; QPoint m_lastPos; double m_zoom; double m_distance; double m_xMin, m_xMax, m_yMin, m_yMax, m_zMin, m_zMax, m_xSize, m_ySize, m_zSize; double m_lineWidth; double m_pointSize; bool m_antialiasing; bool m_msaa; bool m_vsync; bool m_zBuffer; int m_frames = 0; int m_fps = 0; int m_targetFps; int m_animationFrame; QTime m_spendTime; QTime m_estimatedTime; QBasicTimer m_timerPaint; double m_xRotTarget, m_yRotTarget; double m_xRotStored, m_yRotStored; bool m_animateView; QString m_parserStatus; QString m_speedState; QString m_pinState; QString m_bufferState; bool m_updatesEnabled; double normalizeAngle(double angle); double calculateVolume(QVector3D size); void beginViewAnimation(); void stopViewAnimation(); QList m_shaderDrawables; QOpenGLShaderProgram *m_shaderProgram; QMatrix4x4 m_projectionMatrix; QMatrix4x4 m_viewMatrix; QColor m_colorBackground; QColor m_colorText; protected: void initializeGL(); void resizeGL(int width, int height); void updateProjection(); void updateView(); #ifdef GLES void paintGL(); #else void paintEvent(QPaintEvent *pe); #endif void mousePressEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event); void wheelEvent(QWheelEvent *we); void timerEvent(QTimerEvent *); }; #endif // GLWIDGET_H candle-1.1.9/src/widgets/groupbox.cpp000066400000000000000000000016351421102410500175510ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #include #include #include #include "groupbox.h" GroupBox::GroupBox(QWidget *parent) : QGroupBox(parent) { } void GroupBox::mouseMoveEvent(QMouseEvent *event) { QGroupBox::mouseMoveEvent(event); if (!m_pressedPos.isNull()) { QPoint delta = event->globalPos() - m_pressedPos; emit mouseMoved(delta.x(), delta.y()); } } void GroupBox::mousePressEvent(QMouseEvent *event) { QGroupBox::mousePressEvent(event); m_pressedPos = event->globalPos(); emit mousePressed(); } void GroupBox::mouseReleaseEvent(QMouseEvent *event) { QGroupBox::mouseReleaseEvent(event); m_pressedPos = QPoint(); emit mouseReleased(); } void GroupBox::resizeEvent(QResizeEvent *event) { QGroupBox::resizeEvent(event); emit resized(event->size()); } candle-1.1.9/src/widgets/groupbox.h000066400000000000000000000012261421102410500172120ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef GROUPBOX_H #define GROUPBOX_H #include #include class GroupBox : public QGroupBox { Q_OBJECT public: explicit GroupBox(QWidget *parent = 0); signals: void mouseMoved(int dx, int dy); void mousePressed(); void mouseReleased(); void resized(QSize size); protected: void mouseMoveEvent(QMouseEvent *event); void mousePressEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); void resizeEvent(QResizeEvent *event); private: QPoint m_pressedPos; }; #endif // GROUPBOX_H candle-1.1.9/src/widgets/scrollarea.cpp000066400000000000000000000100651421102410500200300ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #include #include #include #include #include #include #include "scrollarea.h" ScrollArea::ScrollArea(QWidget *parent) : QScrollArea(parent) { m_update = false; m_width = 0; this->setStyleSheet("QScrollArea {border-top: 2px solid transparent; border-bottom: 2px solid transparent;}\ QScrollArea[topBorder=\"true\"] {border-top: 2px solid qlineargradient(spread:pad, x1:0, y1:1, x2:0, y2:0, stop:1 #D5DFE5, stop:0 white);}\ QScrollArea[bottomBorder=\"true\"] {border-bottom: 2px solid qlineargradient(spread:pad, x1:0, y1:1, x2:0, y2:0, stop:1 #D5DFE5, stop:0 white);}"); this->verticalScrollBar()->setStyleSheet("QScrollBar:vertical {border: none; width: 2px; padding-top: 8px;}\ QScrollBar::handle:vertical {background: darkgray;}\ QScrollBar::add-line:vertical {border: none; background: none; height: 0px;}\ QScrollBar::sub-line:vertical {border: none; background: none; height: 0px;}"); connect(this->verticalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(onVerticalScrollBarValueChanged(int))); } QSize ScrollArea::sizeHint() const { QSize hint = widget()->sizeHint(); hint.setHeight(hint.height() + 4); // top + bottom border width hint.setWidth(m_width); return hint; } void ScrollArea::setWidget(QWidget *widget) { connect(static_cast(widget), SIGNAL(sizeChanged(QSize)), this, SLOT(onContentSizeChanged(QSize))); QScrollArea::setWidget(widget); } void ScrollArea::updateMinimumWidth() { m_width = 0; QList list = this->widget()->findChildren(); foreach (GroupBox *box, list) { connect(box, SIGNAL(mouseMoved(int,int)), this, SLOT(onScroll(int,int))); connect(box, SIGNAL(mousePressed()), this, SLOT(onPressed())); m_width = qMax(m_width, box->sizeHint().width() + static_cast(box->parent())->layout()->contentsMargins().left() + static_cast(box->parent())->layout()->contentsMargins().right()); // 1 * margin } onContentSizeChanged(QSize()); } void ScrollArea::resizeEvent(QResizeEvent *re) { QScrollArea::resizeEvent(re); updateBorders(); } void ScrollArea::mouseMoveEvent(QMouseEvent *me) { QScrollArea::mouseMoveEvent(me); if (!m_pressedPos.isNull()) { QPoint delta = me->globalPos() - m_pressedPos; onScroll(delta.x(), delta.y()); } } void ScrollArea::mousePressEvent(QMouseEvent *me) { QScrollArea::mousePressEvent(me); m_pressedPos = me->globalPos(); m_pressedValue = this->verticalScrollBar()->value(); } void ScrollArea::mouseReleaseEvent(QMouseEvent *me) { QScrollArea::mouseReleaseEvent(me); m_pressedPos = QPoint(); } void ScrollArea::onContentSizeChanged(QSize newSize) { Q_UNUSED(newSize) this->widget()->setMinimumWidth(m_width); this->updateGeometry(); } void ScrollArea::onVerticalScrollBarValueChanged(int newValue) { Q_UNUSED(newValue) updateBorders(); } void ScrollArea::onScroll(int dx, int dy) { Q_UNUSED(dx) QScrollBar *bar = this->verticalScrollBar(); int delta = (double)dy / (this->sizeHint().height() - this->height()) * (bar->maximum() - bar->minimum()); bar->setValue(m_pressedValue - delta); } void ScrollArea::onPressed() { m_pressedValue = this->verticalScrollBar()->value(); } void ScrollArea::updateBorders() { // Performance issue on changing stylesheet #ifdef GLES return; #else QScrollBar* bar = this->verticalScrollBar(); bool fitted = this->geometry().height() > this->widget()->sizeHint().height(); this->setProperty("topBorder", bar->value() > bar->minimum() && !fitted); this->setProperty("bottomBorder", bar->value() < bar->maximum() && !fitted); style()->unpolish(this); this->ensurePolished(); #endif } candle-1.1.9/src/widgets/scrollarea.h000066400000000000000000000017371421102410500175030ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef SCROLLAREA_H #define SCROLLAREA_H #include #include #include "widget.h" #include "groupbox.h" class ScrollArea : public QScrollArea { Q_OBJECT public: explicit ScrollArea(QWidget *parent = 0); QSize sizeHint() const; void setWidget(QWidget *widget); void updateMinimumWidth(); public slots: signals: void sizeHintRequest(); protected: void resizeEvent(QResizeEvent *re); void mouseMoveEvent(QMouseEvent *me); void mousePressEvent(QMouseEvent *me); void mouseReleaseEvent(QMouseEvent *me); private slots: void onContentSizeChanged(QSize newSize); void onVerticalScrollBarValueChanged(int newValue); void onScroll(int dx, int dy); void onPressed(); private: bool m_update; QPoint m_pressedPos; int m_pressedValue; int m_width; void updateBorders(); }; #endif // SCROLLAREA_H candle-1.1.9/src/widgets/slider.cpp000066400000000000000000000015051421102410500171620ustar00rootroot00000000000000#include "widgets/slider.h" Slider::Slider(QWidget *parent) : QSlider(parent) { m_currentValue = 250; } void Slider::paintEvent(QPaintEvent *ev) { QSlider::paintEvent(ev); if (this->currentValue() != this->value()) { QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing); QImage image(":/images/handle2s1.png"); int pos = ((double)this->width() - 18) / (this->maximum() - this->minimum()) * (this->m_currentValue - this->minimum()) + 9; painter.drawImage(pos - image.width() / 2, (this->height() - image.height()) / 2, image); } } int Slider::currentValue() const { return m_currentValue; } void Slider::setCurrentValue(int currentValue) { if (m_currentValue != currentValue) { m_currentValue = currentValue; this->repaint(); } } candle-1.1.9/src/widgets/slider.h000066400000000000000000000006351421102410500166320ustar00rootroot00000000000000#ifndef SLIDER_H #define SLIDER_H #include #include #include #include #include class Slider : public QSlider { Q_OBJECT public: explicit Slider(QWidget *parent = 0); int currentValue() const; void setCurrentValue(int currentValue); protected: void paintEvent(QPaintEvent *ev); private: int m_currentValue; }; #endif // SLIDER_H candle-1.1.9/src/widgets/sliderbox.cpp000066400000000000000000000062111421102410500176720ustar00rootroot00000000000000#include "sliderbox.h" #include "ui_sliderbox.h" SliderBox::SliderBox(QWidget *parent) : QWidget(parent), ui(new Ui::SliderBox) { ui->setupUi(this); ui->chkTitle->setVisible(false); this->setCheckable(true); this->setRatio(1); this->setMinimum(0); this->setMaximum(10000); this->setValue(0); this->setCurrentValue(0); connect(&m_timerValueChanged, SIGNAL(timeout()), this, SLOT(onTimerValueChanged())); m_timerValueChanged.setInterval(250); } SliderBox::~SliderBox() { delete ui; } int SliderBox::value() { return ui->txtValue->value(); } void SliderBox::setValue(int value) { ui->txtValue->setValue(value); ui->sliValue->setValue(value / m_ratio); } int SliderBox::currentValue() { return m_currentValue; } void SliderBox::setCurrentValue(int value) { m_currentValue = value; ui->sliValue->setCurrentValue(value / m_ratio); ui->txtValue->setStyleSheet(value == ui->txtValue->value() || !this->isChecked() ? "color: palette(text);" : "color: red;"); } int SliderBox::sliderPosition() { return ui->sliValue->sliderPosition(); } void SliderBox::setSliderPosition(int position) { ui->sliValue->setSliderPosition(position); } bool SliderBox::isCheckable() const { return m_isCheckable; } void SliderBox::setCheckable(bool checkable) { m_isCheckable = checkable; ui->chkTitle->setVisible(checkable); ui->lblTitle->setVisible(!checkable); } bool SliderBox::isChecked() { return ui->chkTitle->isChecked(); } void SliderBox::setChecked(bool checked) { ui->chkTitle->setChecked(checked); } int SliderBox::ratio() const { return m_ratio; } void SliderBox::setRatio(int ratio) { m_ratio = ratio; } void SliderBox::on_txtValue_editingFinished() { ui->sliValue->setValue(ui->txtValue->value() / this->ratio()); emit valueUserChanged(); } void SliderBox::on_sliValue_actionTriggered(int action) { (void)(action); ui->txtValue->setValue(ui->sliValue->sliderPosition() * this->ratio()); emit valueUserChanged(); } void SliderBox::on_sliValue_valueChanged(int value) { (void)(value); if (this->isChecked()) { ui->txtValue->setStyleSheet("color: red;"); m_timerValueChanged.start(); } } void SliderBox::onTimerValueChanged() { m_timerValueChanged.stop(); emit valueChanged(); } int SliderBox::maximum() const { return m_maximum; } void SliderBox::setMaximum(int maximum) { m_maximum = maximum; ui->txtValue->setMaximum(maximum); ui->sliValue->setMaximum(maximum / m_ratio); } QString SliderBox::suffix() { return ui->txtValue->suffix(); } void SliderBox::setSuffix(QString suffix) { ui->txtValue->setSuffix(suffix); } QString SliderBox::title() { return ui->chkTitle->text(); } void SliderBox::setTitle(QString title) { ui->chkTitle->setText(title); ui->lblTitle->setText(title); } int SliderBox::minimum() const { return m_minimum; } void SliderBox::setMinimum(int minimum) { m_minimum = minimum; ui->txtValue->setMinimum(minimum); ui->sliValue->setMinimum(minimum / m_ratio); } void SliderBox::on_chkTitle_toggled(bool checked) { emit toggled(checked); } candle-1.1.9/src/widgets/sliderbox.h000066400000000000000000000025021421102410500173360ustar00rootroot00000000000000#ifndef SLIDERBOX_H #define SLIDERBOX_H #include #include namespace Ui { class SliderBox; } class SliderBox : public QWidget { Q_OBJECT public: explicit SliderBox(QWidget *parent = 0); ~SliderBox(); int value(); void setValue(int value); int currentValue(); void setCurrentValue(int value); int sliderPosition(); void setSliderPosition(int position); bool isCheckable() const; void setCheckable(bool checkable); bool isChecked(); void setChecked(bool checked); int ratio() const; void setRatio(int ratio); int minimum() const; void setMinimum(int minimum); int maximum() const; void setMaximum(int maximum); QString suffix(); void setSuffix(QString suffix); QString title(); void setTitle(QString title); signals: void valueUserChanged(); void valueChanged(); void toggled(bool checked); private slots: void onTimerValueChanged(); void on_txtValue_editingFinished(); void on_sliValue_actionTriggered(int action); void on_sliValue_valueChanged(int value); void on_chkTitle_toggled(bool checked); private: Ui::SliderBox *ui; bool m_isCheckable; int m_ratio; int m_currentValue; int m_minimum, m_maximum; QTimer m_timerValueChanged; }; #endif // SLIDERBOX_H candle-1.1.9/src/widgets/sliderbox.ui000066400000000000000000000044051421102410500175300ustar00rootroot00000000000000 SliderBox 0 0 185 50 Form 0 0 0 0 Title: Title: 0 0 Qt::AlignCenter QAbstractSpinBox::NoButtons 10 200 10 200 Qt::Horizontal Slider QSlider
widgets/slider.h
candle-1.1.9/src/widgets/styledtoolbutton.cpp000066400000000000000000000114371421102410500213430ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #include "styledtoolbutton.h" #include #include StyledToolButton::StyledToolButton(QWidget *parent) : QAbstractButton(parent) { m_hovered = false; m_backColor = palette().color(QPalette::Button); m_foreColor = palette().color(QPalette::ButtonText); m_highlightColor = QColor(127, 211, 255).darker(120); } bool StyledToolButton::isHover() { return m_hovered; } void StyledToolButton::enterEvent(QEvent *e) { Q_UNUSED(e) m_hovered = true; } void StyledToolButton::leaveEvent(QEvent *e) { Q_UNUSED(e) m_hovered = false; } void StyledToolButton::paintEvent(QPaintEvent *e) { Q_UNUSED(e) const int borderWidth = 4; const int borderRadius = 5; QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing); painter.setRenderHint(QPainter::HighQualityAntialiasing); // Highlight QPen highlightPen; if ((!this->isEnabled() && !this->isChecked()) || (!this->isDown() && !this->isChecked() && !this->isHover())) { highlightPen.setColor(Qt::white); } else if (this->isDown() || this->isChecked()) { highlightPen.setColor(m_highlightColor); } else if (this->isHover()) { highlightPen.setColor(m_highlightColor.lighter(120)); } highlightPen.setWidth(2); painter.setPen(highlightPen); painter.drawRoundedRect(1, 1, this->width() - 2, this->height() - 2, borderRadius - 1, borderRadius - 1); // Border QPen pen(this->isEnabled() ? palette().color(QPalette::Shadow) : palette().color(QPalette::Mid)); if ((this->isDown() || this->isChecked()) && this->isEnabled()) pen.setColor(Qt::black); pen.setWidth(2); pen.setCapStyle(Qt::SquareCap); painter.setPen(pen); painter.drawLine(borderRadius, 0, width() - borderRadius, 0); painter.drawLine(borderRadius, height(), width() - borderRadius, height()); painter.drawLine(0, borderRadius, 0, height() - borderRadius); painter.drawLine(width(), borderRadius, width(), height() - borderRadius); pen.setWidth(1); painter.setPen(pen); painter.drawArc(0, 0, borderRadius * 2, borderRadius * 2, 90 * 16, 90 * 16); painter.drawArc(width() - borderRadius * 2, 0, borderRadius * 2, borderRadius * 2, 0 * 16, 90 * 16); painter.drawArc(0, height() - borderRadius * 2, borderRadius * 2, borderRadius * 2, 180 * 16, 90 * 16); painter.drawArc(width() - borderRadius * 2, height() - borderRadius * 2, borderRadius * 2, borderRadius * 2, 270 * 16, 90 * 16); // Background border QLinearGradient backGradient(width() / 2, height() / 2, width() / 2, height()); backGradient.setColorAt(0, this->isEnabled() ? m_backColor : palette().color(QPalette::Button)); backGradient.setColorAt(1, this->isEnabled() ? m_backColor.darker(130) : palette().color(QPalette::Button).darker(130)); QBrush backBrush(backGradient); painter.setBrush(backBrush); painter.setPen(Qt::NoPen); painter.drawRoundedRect(borderWidth - 1, borderWidth - 1, width() - borderWidth * 2 + 2, height() - borderWidth * 2 + 2, 2, 2); // Background painter.setBrush(this->isEnabled() ? m_backColor : palette().color(QPalette::Button)); painter.setPen(Qt::NoPen); painter.drawRect(borderWidth, borderWidth, width() - borderWidth * 2, height() - borderWidth * 2); // Icon/text rect QRect innerRect(borderWidth, borderWidth, width() - borderWidth * 2, height() - borderWidth * 2); if (this->isDown() || this->isChecked()) { innerRect.setLeft(innerRect.left() + 2); innerRect.setTop(innerRect.top() + 2); } // Icon if (!this->icon().isNull()) { QSize iconSize = this->icon().actualSize(this->iconSize()); painter.drawPixmap(QRect(innerRect.x() + (innerRect.width() - iconSize.width()) / 2, innerRect.y() + (innerRect.height() - iconSize.height()) / 2, iconSize.width(), iconSize.height()), this->icon().pixmap(iconSize, this->isEnabled() ? QIcon::Normal : QIcon::Disabled)); } else { // Text painter.setPen(this->isEnabled() ? m_foreColor : palette().color(QPalette::Mid)); painter.drawText(innerRect, Qt::AlignCenter, this->text()); } } QColor StyledToolButton::highlightColor() const { return m_highlightColor; } void StyledToolButton::setHighlightColor(const QColor &highlightColor) { m_highlightColor = highlightColor; } QColor StyledToolButton::foreColor() const { return m_foreColor; } void StyledToolButton::setForeColor(const QColor &foreColor) { m_foreColor = foreColor; } QColor StyledToolButton::backColor() const { return m_backColor; } void StyledToolButton::setBackColor(const QColor &backColor) { m_backColor = backColor; } candle-1.1.9/src/widgets/styledtoolbutton.h000066400000000000000000000016071421102410500210060ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef STYLEDTOOLBUTTON_H #define STYLEDTOOLBUTTON_H #include #include #include #include #include class StyledToolButton : public QAbstractButton { public: explicit StyledToolButton(QWidget *parent = 0); bool isHover(); QColor backColor() const; void setBackColor(const QColor &backColor); QColor foreColor() const; void setForeColor(const QColor &foreColor); QColor highlightColor() const; void setHighlightColor(const QColor &highlightColor); protected: void enterEvent(QEvent *); void leaveEvent(QEvent *); private: void paintEvent(QPaintEvent *e); bool m_hovered; QColor m_backColor; QColor m_foreColor; QColor m_highlightColor; }; #endif // STYLEDTOOLBUTTON_H candle-1.1.9/src/widgets/widget.cpp000066400000000000000000000004541421102410500171650ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #include #include #include "widget.h" Widget::Widget(QWidget *parent) : QWidget(parent) { } void Widget::resizeEvent(QResizeEvent *re) { emit sizeChanged(re->size()); } candle-1.1.9/src/widgets/widget.h000066400000000000000000000006001421102410500166230ustar00rootroot00000000000000// This file is a part of "Candle" application. // Copyright 2015-2016 Hayrullin Denis Ravilevich #ifndef WIDGET_H #define WIDGET_H #include class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); signals: void sizeChanged(QSize newSize); protected: void resizeEvent(QResizeEvent *); public slots: }; #endif // WIDGET_H candle-1.1.9/wiki/000077500000000000000000000000001421102410500137015ustar00rootroot00000000000000candle-1.1.9/wiki/images/000077500000000000000000000000001421102410500151465ustar00rootroot00000000000000candle-1.1.9/wiki/images/Control.png000066400000000000000000000162531421102410500173030ustar00rootroot00000000000000PNG  IHDR!1sRGBgAMA a pHYsodtEXtSoftwarePaint.NET v3.5.11GB7IDATx^{ه \q K@Ye Q@gEQcEY ܅`0R.!\₈! J=6ӧ{S5}ޞ9swyOLڐ:$P c/l; $$:1~UpBC &CGl0 ]0NɩЈ`ܶ+^-4tH:$:$P CEh@:$P CEh@:$P CwC,YRDnnnQQѹs BnLgz44 UUUUB*++ dYu' ^ 0a/^xUDPQQQ\\J-:hhF*!^] #??_[u'IȋfdA2-:$ hΘ@g Bg:Phd:ЙmoԩS"𠺺Z}u]&MZlفI1iLgii5kAHDg&NB0_|1ݻ7o+ԩSVVVv6mJ~'|?uҴ %b]vgΜQǑru%.yȑq-FbS:t߰aٳ{WrNB 74~F`ѢE%%%۶m۾}M.]+$۲ez;4m |77n̸3gN~<{}1Wƍ)!.rtuKk׮U1g[&8_&#Gr2 c˖-?uNB54s(f֭[sڴizϫA`t>|8;;yG@%K351wޔz_~:۞t&,^{5O?\NNk֬ӫΝFmAP ]QQѳgO&crITizkʉ'OޢE F**uB6pIU" .D8Lb0+ҪU+ʯÇϜ9nՆ|YS%.hh.=98p HYYَ;f͚Er>my뭷$(C>}zf10 M{ۧ"3f$IAUE6ٳK.w̘1.:쯿z.Q:{3Y[(kjݺ5矗B=; ~mR~4)$b2h)\_BV4: %o6C"\qM4Az>}HOU -߿?#U)3{Ȑ!.HD'Ll{%F /"SHf'|]لzf3гgϖ/_.%ȦE4hR 1TUUIԊF'D@sÿoUT[ \j巰2n޼nEvmRG6NNİ%1M1uTGii:m4="!fC$1Vb1w_( cRV4: %dѣGk-4j$$ݺu|:@MN!: M#r}J7cE {)d9p{H%=z4Q^a׮]rNB 1ɓ'Z:%Fܹsթ/n2n 4v&|衇|֭O<Vxq6Q잓#$,#y)?M7ĢmjBn$C/\U'TǑ7ȕfhNSkk )tmA y{f~#i: -zW_g:`v҅P^| W]u-[d1aN1ͿrwraT4: %zO6MG ͷ3t2,X@>Ѵ aÆ`￯ߒ4CG$l[7qs='?)Rp4#GT?@gy ๬l5e4: 2]-g8ahx,.2RI)~!Ukt*Ytt&"eFjC\DŬF=CUcǎ1BBy 7 20]-8$v پ}:f8a|Ν,L{0i9voܸf[RmM's{,^ L[sgϞ7nt H{Hr* c Μ9s&+ȠAȕ%4X88$К7܇JcȐԱr[&E\֭tUjMβ2˵gffHɔ)S șigh&ʼn'2&WZj3nܸlo@Ι3r"S0*,T֐1c0g#ٳg#uٲe{ςNB m#V?2昃>eh۶-rL>N:9~8cYf͓;jM?۷g [\NKNM1&SaAXa{+E27lؐ%"A9Q,OrQ'!_ C;dd;vaq۶m_f b4o!UkttbD'_>O:a/: (\G|Z";wɊ~iL~tTiF' QZZjFdFXr%=)Rǯ1Q'!_MhդIu"xꩧ+H/w~SSִ lh24}rPG,X@%gӏ8v&NPbqIȗeofI ObIеkWjM 0:͆&G5kv&&޹sڵklٲ5tݞQ'!_fGh3<.\fz_zgΜY2jM 0:}[LۙK.CXb"++H : 2|0VSGF\:ˀ㎨ITiF7|K/ի>fn۷ի5|;s̘1-2rH68$Ў7<{X̎<`b&jM H:Yx1 ͏og~ƍ;F&LM : 27< Μˋ֔Ti|u:u1=Hg:⨓/CgXjM 钴 : 2t?N&RmtI`:/C;~.1qH՚A%LB {n)I>RmtI`:wC_paoLKTWBzәz޼y.^xɲIJZ~?׵u!HIȋ*++/|/]TZu!HΝ+((B 5# u'y|0\!twC4@BC!"4tH (BC`ɒ%O-**rsG,:B$8n0 "QXUUECRHeeeaa!b, AgZNNbh0ޭ(yL F'bt1 &p:N@F~~:tH$b2NHɐ3d F[h:B$ubhNuRBg:wCi:c"I(4t2H LB5FP @6Hk Dg:Pb ]ZZfu4m@t3 % ڵ\|8;;AFF@92fyʵ^:iM5W_}nݺ9}/f=گ_? aͧO^Y"rʔ)T-񻠔Ϝ9SNB2… *mO;77kLC Ta4mWXw޽{]~C}t~/ xh+UVmڴ1Z+X]~dnM4^u|Djb _I(!&Ye%zTiĉ+dÌm8g:tg ѣG3 uI1ȑ#P_|9sS3GIօkܹrKz4: %^իtk۶mWW/~t. RmY~}}仨?<姺0vبnƿțnXf?.'+bh8%'N\lv3_nE6pS+\!|OclLݻww 3gۢE_]lߙW_}5uWccǎD1*F' c^&Lp37 v|͆6p7ܹsg=̽31=lZ͛glKXg?q]D۵kI(55HnfnvhntF{1{8YsfΜi%`2g]uUlT ;S*3M֭[ˎhtJ~i an͠ii㲣ULPӟԩs׮]Q "x7T؉+Vx`@$Lg6'Mt; xb$CϘ1CB=~}4 4m7:Eu@h…T$-Q͛7_r9Aԭ[7yA4Y$[ǎ̔3{lyRch&c SNUXд 贲qƾ}q{}1SQD+j*_4Ul(v?%Ľ3-[&DFFz |ZswVohjq*Z6pf2A%.~qvM\tu]3?={_s5~e0A`7&pzG|Z ?=>࣏>SO jMЩ7*2TS'*hptp?|b rbg={]n: O⨓/C=zTJ ͕ӎtBgdd̙3G[Rm` Hj:qڵkk6۶mя~Ύ܁޵kYz3¬XB[PϷਓ/C3J=I k֬:I՚2T?ߴiSeelYPc6۷7-ZЍdE34ncLc ueh_44p=HHZִ Qoꉗx,))!%S"hժՀF5yc6ާ[l4Xx ?| : 2tyyXax饗tL 37w՚?p5mCgԷRuuٳ\ºfYYYocw§~j:=Z=߂NB }!) 1&`$8~JSִ >y)f;"<2d U5Ru|ul "؝IH_ݭ/*͸Y3k8$П} lrE5mC=d\ z!],3#U'B';E䰙mҤ g͚uVo%Nd|qIȗYS$H՚_RWWW~:A:Qx̙Ç\`:`uI ̸ਓ/CݻWJTi:/qH \gZG|x3H՚Gn:B$8$.\Hmy TL ਓCϛ7ŋOj9~tBmCI k!\BR-! CzF; MHLh %upK%}j1HgV666677gJ-"w7-6JDڭNF6gae|~kk eWB뤅l=US S]R> d.ZZHi| M3 JeרyR:ThO(@L|z{{Z [@Y\p[ Tf /$@aG)74kBZXj(\h;*')}Ruކ޽dwBW?CDYC,, skO5!UuB{V +7GFgSK<o `3T*X[gрcГv<6|Z LV6>PgԀ5l>Qb=,CUڰp;)"zXj1Y=XzsBKK唇nwV ࢍOZ&d IZ"= kT*\.6I: ,fK6ρTЗer`o26?.xO9,$QpANy᰼HFyq=~2>lrjvN<fP%Ha<*< Y[s?{zZ:=EaX^`0>"a#LJ m5P7v(tlTYh :6(t@h$|I6&6#7 &VAUPhbX&VAUPhbX lۃ7R^ IC+#8sOOO"_~}>8qs$ݹsW傾Bz_ ^uR9i;7$F(tm"N]y}  ]h!+:+W~R38_GR==TZΜAYG } =0މaٳ?9⻜QПǎuﴹ!PآB)OT|_ V_U_@BWz tKK+e< T+UPʸwp_HrPf7z{{OQ6}s@UPhbX&VAUPhbX&VAUǏ!z(z f '^:MHBUPhboM+G9IENDB`candle-1.1.9/wiki/images/Heightmap.png000066400000000000000000000067211421102410500175700ustar00rootroot00000000000000PNG  IHDRYsRGBgAMA aPLTE6:666:66::`f6E6`:f``E`f`6f:iii}}}~~~6:`f6`F[G\H]I^I^I_J_L`MaRfUi[n\ncuiz66:`fps`f6:`f`6``ff66666````6``f`f·6ې:6```fŸƧʨ˶ϻ»҇Ϋ۶·ې׫Ϋ··ېHMV pHYsodtEXtSoftwarePaint.NET v3.5.11GB7 4IDATx^휉E BPI4xqPL #cH8o<@p4;D ʍY"(j3^{U55=5Gf^{몞 cYMpl'z+RְpSx]bCc;ñOc;˫e"Ē+:\'m4Tb xjpXE,+Z8\*~o-< ʢhGJ}¦ʧh_J!%\\C)A;uiȕUƎ6O|jnZ@8I`JklI ep4뙮bQ o.*:}o8΀K[9#E񐬖5'kx^J6vѲ%Z2EP\%M4nSG>E%;KÉO vT 2Y':pɅN.u,A& Yoq6Q[fmn?~j9zpp3zD?kE'-io |ˏ~ -;?w ȑE[5Azn8 Jt!^?M .;/}.Tu8paı ?^x帑oޙa胛5 /$ 5ps62G o-P89 e^ _շϯ9}Va9ˇaaCpX0E[xMz *_m:f,-(&\^%uks!*glw ~vG&43wbѷ xauYi7}A'&I*[9/l*,7GZ^{#UxawySLc-PUzZp|đ (s!^8*r+@@_Ysa +Ⴔviu+AXv^a( $t͜oFoXsµS݄E? n: %ább JDh!;D8s[pV~F+њRff4ucV][AaXVĽ74WR2\K,ZEG#|-_V{/6O,8\d : ŪnϵdUܭop1Rz*6THk +aLa$v!FF+pNy<Ʌsf̾pKtAx;LOqv}%:pɅMxjI󦳟h>,S'I)T4;_LS:)+A8=3ل7T+JJLNE /&ݾtuLx م),ZX%΅iH3Zƈ8h60t>r-ˈNq'ѤF$"Lv@&C'kCgtaC>譌mB4$02?T#碅0wa?50O&>ی&/R҆n,)`ahi]GBt{(iC5G'm1f GSaFV} Ԝ9c8cWi9ycpl8@_C,خ@JZߊ[e~~|S֠BQ=pl8@cLú h Q8}{!sB#Y]p|8iy(5Nn kfEGk |%6S=\:Z)7[<% S2S)~Iaʃ_r\8߀kN],pq@փc8zZ" wwox#p98V#(Ǝd!]9[-qB2,8eD+4n2na1 =FSbSBäVhC+0مqCVhC+0vRLXUTպBgSZ@0@F²KINyJClC Z% EP#-0i: +rJP+(LL)~I`ʃ_R0/?/)TLyOyK>Sp6ɅN.u>;^pD?ò0%, IENDB`candle-1.1.9/wiki/images/Heightmap_view.png000066400000000000000000006075551421102410500206360ustar00rootroot00000000000000PNG  IHDRlsRGBgAMA a pHYsodtEXtSoftwarePaint.NET v3.5.11GB7IDATx^xSUO[ T(`I?PY*ðTD"*AQ( () lI НIyiC۔Q{7mz?y$@pD G(@ H@ ~"@pD G(@ ۧH]L'nd1h_%9+;D H ǟ"JE H@ ~n"I<^ޕvzw+CV{ϒU mԍ9Gӿr#]TjvsK%|,I (#ϏNɳU$VP$\r (>g}d st߶f>{@ ;ɑ@ r|EHd9"oeӼwOcO+k),.+Jn"serzVmrvI(%t@p2UNzR!v%]VݽZ~IF'=w!q G_ 5 vP n~p.Y2Pd|v}o@کH/E @ \"qu< F íV$)l=V*"N6(۶n"@ w*Z@ G(@ H@ ~"@pD G(@ H@ ~"@pD p@ CQsՊ%LKk ņ 6{aE1k N+r`~&y@pE"o_":eyڸQF wE6r)rCɍ-Q$>_W,@ 3(>ؿ_|Qzrʵil6+p^V)k+såPW ;܌#@ B&򔔔f͚{̇bŊ=C g6ErxIm3Vsa oxTٶE7Q x?} 0jժʟOA*Um۶f^J+*E8/1R-eQ^=vA.oxq!{H=J$Y y%Kaw9< $ ~tBa\qk\F:3QF/;Y.靖wu7^ro2%9ޫt(ߑ"|njn] K3e˖BPPP:unݪ !QtEr x ɫ=2!=>ѕ}更S> E>vu-lpG!OP錂2N\J:xٗD}S mε ul_SwJHCQ'S|߬? rZw] N 3Em"Dt^{-88pEk֬9rs)'{)"+BEŸb{7ң1yc)@t ?]E \z|o;/E <-V9rMȃmA>4q$4ɃH|(PJoŇ" g+[`j,[?zO+ kk/H7{ 7˕{~*JoMˡ_N]֩UM wy&򴴴m۶>}t-\,YW_-[lkԨGGGn;11СC'N]_A.<WBpI<%%eٲe˗/_zuDDAׯw8nVVV\\/aaa2EW$G>ĉ]vڵL2?Xnc d'<%q{4uLO ԗrk#| b#E\j/ w.*W\=L? ??k/o-`d"mu](9%F+P})P~~)6ԇ^C=?CzoWyW4b?8@E%vJNNVKpeʺud-"s$U?22R9,1k֬^xdɒJ;ZH-)ӘO>H|sWNEծ-K-G{Q+.m+Ԭa?o/Ϝ<ǧYHц*mwC~ڋzz!)yoarv?O@pwR"Y|yxxxLL W\ZJ9ÍR$bŊknΝ~, GZЃIzS<?^ y΅7磿|ȡ(wN} J_͏JyN{k2 AC>G>y.}r_]DA.'ϓqZJlՋi(|5?r 8CQ\z*>|}f??|/56=rCсo*Ͻ(m#" $DH|H/_~e+'N*UJQS" /!$V@ 5E"Hr9sf+WTdƍ\UCEW$[nѣGpp"7Hiذ3!$E فZ#s5%H B( ?Nnŋ{]feGX+l4HdO>=jԨjժ$ L2ofxxxNvW_ERTRK9`$p-+QQ@ nLq 6(իW޽JZECjjy^~%K({lyNU$TWl+Z5%r}`@ n7yx.PҔfE"%9sfBBr?w"U!|(~0kn@ VT$H8\en՚U B.@  H훩H䀗A7*`.G*H P$T$]ZBx-(@ *"o"#hɏOEqUV*ml @pMB@>7, RajCs-|MG P$5{\)B֌dSt@ kP$Փ\mN!*Ս2@ ϝH8W!^@CRnT\@ 1Dv(ABv=j(Ym@ 1sUaaWY:/(#P$EHѣmoT L~Di@ n>w"6JrU Ov6@ PRy C9|P.;Ipj-檜a o\B 렐z(d[;LA4E oQ9U .@  H[H8,f1G!+@ "o"9 )"E/ f Fa@ "o"\#7ĆQH:(>HOOOMMu\~Erx)"'K\gZUY#J( ..+W ۺuktt4 1?\"W# 2j_ޑ @pK(d">z-[/_vC?(/MH8E ՠR'<+u"wIIIvZfbŊ۷GDD8d/WHnTE";peDKN3F!D|M k%DiӦ+W*,_b=zTB\NU$.RC{>(m#J<;;ٳ6lXb"~z՚芄sx+p}Q#o?Y!7OE Dxw޽vZEΝ;O:p9WHdn`E"{eŤK@ LGa>'NW qqq9.YYY|W ˖-;x.StEOc\* vZL~.U$EZ~/W@ n *VڿHW\:[N"2שHrd׮]aYf %KT쿣H8Etbkm@p)\p+֮];wreªUÍR$2˗/GPnHpAP!'0]yM pEEWHdߏ2ĿYR(>"Oyn@ >"o"ѓcẌJ؈6@ E"onE"k+ӓ#x9ly +u } gH+2d3#'Z,Jg"?qDR9r Q$˗/߿2DIrr2J> Q$_~2Ŀ_ȡ4W\:zb @ <ںuk=ߋ?EqFc!e+~3g޽;i " 61cFbb2Ŀ_ȆR c6@ }8ӧO5ZjAAAȣHVXKTTTvvrEW$2/^ܻw5k/_._W)S7 '˿_ph( @ B&rNjjy^~%K(իW޽JZE8~ rc=6x?O~oQF k:5_Q$ j698j@ H;FpR&h @5ïx=!<@ \Bw"YeSʵeY-ЉUmE(yNR$JAPk R}EM6'r|(ooS$;\/j 4<^@  DXMz ,J@p*μ+5sEdsH!/]h@ ƿSrER o6@ EߩHdPxґDH#_r@ "]!Gq U 4Q@ nZE";|QtjZ'(m#_H8W p;J5(m#%yM@@>͊䊹Y "sq#J஡p=G KFe@!?f)p"HpjڶQ`(m# H9Z!BH~ˊ(m# Hk•զY#\IPbEv9m۶UЮ];~rL?HdE!W,,Jn"tP􅗲eˆ+|ʕS:yQI gd!N|:@ERt ?;(]%uED!CWU@D -(bŊ͞=[9YfJW ]Țg+RCk4j@ wR")]6.G/.wȱ($늄Sx/WmPYE]C~E"p!#J,X94)w"caՓ d*E$@ QHvȢdɒ+W[d.o rDn ɹ  g~D~q 1;@ ;)D:p,XG<<D^2$Lp9g(@ Q W$ݡH8\s>U-䇏G6@ k&(kju_P$ׇlZ^C~JIJ@ /"uc?q w O"ɂ VZ <[}s?G ZO@ m۶Gѿڵe&E)_Djy^N,M&@ ;#cʕ ˑ .TK,Xˑ i7o)%2ERH Rĕ<\@ /_prsQ/܁K5/rvB*?8:@ Q T$2\s(Gd5r@.S$0ՙ^:OeXWK!t9>%ټysuDF9 q)YL*;W9ᢴ@`ZM/0n WI!#WSe_cw"+d#"KxFOȅP HXnƿITA9Xbޯ.P$Rnh:/Jx#KDIGb-]c9>@[dю( )}l3F!4G*G.P$<"H(/1[~EtFĴvh9B|W"Xu?y74|I<:ti;'Py? ߡ+_ݡHC>OYnHk`|^"ZZ)݌ɕw/ȕU 'C>L>hh"| ^x#yJ{&tsFW&H"`X )3KUf"b nǫ[P͛qOK֌Yd|>rݼ(T.(6F,σa>XwhPL#3xk4hT|v:yoLU 527rLN(M䉯)?@ A\p)t\ZQo])&222))ɼ5~5[#`\ Ww K6御=%FҿBO(9-~ǐQ"`X a5ğrMǭD 4l64<':znƛiF:Hd4z0vj3:@?=rs%,.j4aKkh&|}P79SPr&*E#y@IYV"noB`( _{# u~o")}ĸeD%:cʘ}PQ噷n0mA~`mpl  ir l`пr*9b80,\;w"=B7싯$+nV+ǕF&ZAݿ-f(yY{tcți3wXeX +[^Kq-G5\Y $&iR(6$ӈ<ԫ@bZ.`z(_"q)yqy"wQ ZՁqя{HThdY:ن:oGYu3zj~`]jIGj}2({݇;gWpqQ2 $x3B\lt|9 maiwmEhga0>E/ X5 ۅaŻ(Se`U1oJ U3P㯞c_@8^j$֑*BvjjzBBO2Дtk1ailO\gȢ'Nߚ՗TsBګS>ֶjC3l aQ8AEXYM5Fok2n[;F51 }XYbo0Ss:.T /rjC3 p>h1.Dy9a%fm<%UFoQ{hf]R14h^BaR%JS`+JcIB;¶IXӥ>`G9Ę v.L^ڄa]H8\s?-x_u" {e"-]P&V=F@Cd~ S(F>VJ[7vߥ`h06pZ{rz?5~>KLؐ|gLݟ\KNsl$oٖ b 0lF_dR] 6y|}+l A>>ۂ:Pam^AR067zfX:IC M*k[I '9&F m9ʳ>ƈ:=hj4-9XMZh67yHo?z1*(3إCxm"~'zO{ q9!Baa%OQj %C{rcswxϼ6i7d7A'BsE͂ $,lihCYz[`ŁCt (IZu,, Rl8k-ww"ӊ)s%jF bȑ7L MXQh:")H ?iDe׏Ppȭ cZ|jUSQuup:7&wH={Mf=ռ 'N>w1`I2'uf;|%%%u\t+j#cUc֢zoSpȕu `:6J=R:ly=K83`*0qiAX T.gH|ZWk$Up´yMr,G6A8z'b44@5k T1!VmwZݟȉX}zA[ecd}5*65yK&߸laލgrz8Ktcچr]U֟𳌛Q;Co=.brjC"1qll]T7ǒ`fq($ᑭ`@¶Aw0טiTO1P;tI` `I(r)0g{Kl3-p5B C'/"`X.V$k.ڵ+Ə7%r\_}WpAAdfR.GL xHc77 rk_!L( {F'ee6ˬMRos%f_aOG\I6C&kʚ󝧦~2=ɓ|.b D<HԜxiv& %Zzzkt4{d֋YX(J.Ĭ7Ѫ$:h*X[ec|ԃIAG`vLK& &7“: HgHlKSQu!xcw")5ŊzuyS"'X2*]'OcدJZ%kEoȡZ<3sFFF`͡\i=! ?T.5zC8;{]8`}qjfKw ze!p,ǻٔvm)zMň~M^mv)=vqlhAhɛ}6H2%cqe6+Nm- b#ipeuw}ed8pFDݭH}"Odq}#YKFDS:LNե1q-F5ђ!~ ƣ Q:WzjN,"fGͰ=݊~yx! ժAsPv *|_T@pq(iHL=u}XvDR)0R:s ?=]AVOwDNƾR~8q?/j?(#~RVHg%.huzIOkݡT¹|{LDDf.>x;x{ʺX<{\l8cFX@=Op-Ym.Ql>ZiaZ_3i]f;fUp_juB@%`xց$#& O<ӝ`WVsp(vd7^ V=]D5xxKt:ԫG%aS^rnvZ1pt3')⏁U-X 4xލmI6{ ΰUL]Rm*vy;C--ٌ\ ޢ2|LOJJʅ {u+M\6}o ӶL9vP${z)7k,yWjZ$́`v1Qo:W$6IypL:.`8,N1T\b]*l Ɇc\,l_?r+ wiF HdWQF z(VI!{d 5 9Qm x=54~ҫN?T|lc>TDhEȃDzbccXأX3}G=c@YL;qlI3l6ۤMqOMbFqxcar|||zz=װ0HmxV8R>4Ah+mB[Fc"E>N$%yʇf1[_cp#*9IĿ$MS45gGZ6po}d>YZS1gmiK #K;㵅 $Gth90(m#(l6tTx-h`dɯ[kjЪ irk}rp)A/)Ğ [4^؅ӧO:u 5?uLX1)ߧ9w9L`}Qs eL. 'XPgI. 3]l<*n85x;x{\kP-ERlk̸C_e17:=222zɒa6ՎTs0EƣqJ>4K6iP]ē}/j(IQRWT83U+25$>dE ;2l酓r{pX޵#a 3/s'q@p# 62pOW$e7QVJ@Tm`EXr\(K^0"I jl}f(slH`%",8$q- ͓VY}믛hf0Ge2)R~6 syqm2bϞ-ζ-Bd̛5L_J?)U^[3u~*m[ィ'Ќ]qUNMmIh4lFݼ䈳fal:/z"|O5~~>i_\ծͧiii111t'RPps|,{G#CS]*)ϪمzNJ@te.5E&%5'IX(tZgmdǎl3mUldXt/1%a1Z,\v;OVO0*0f\Iw-@(/a"FT7. 6 {iRo@,Tǽz 0[kA6u3 GRR,4\ONrڰ;&s8_CP3<s Ǭ%J-4t+EٴYec-ow&: E R$IUd_-0lz!\l&=H-@mX.ᔋ @nfEÃ{O H`ОWZcH!΋l( n, lPs̤NDCdip7T8Ɖ|hV[mf\VFcÒa}(V(Yv8P6Fǹ\jSc ,P~vd0҇0|X1}v)G E\&'=|M륌r(m#b]e*]'/昗j,V OsZ RM*IdUt{0 ^B/ȭʫًt:'I; 5͡ȉD-1Q2ߞ`ǀ}%U+7P %ƭPY X$`S`:FusV׆yd#r%g4ܜ`T322 \pqNGdpP:}:Ns MT.Ų=]H`p"i\ %SHG 8g]MdA٪![np\V!Y߃O0YfxSW-?>'ē #Ka$ðfeI5UaEٙui k,8$wnB\W9a*9JX,d&I\.D#_#$a9lrnL\=@єD;ӹQ6r_4B<0ߩl4߁kZ)'N8yUǥ K2.P $pؒ:"̒NKd7Cv8e|h- I4yŁn1 \p GJ%HAH༆ZanOl~V$i73"40 犄as-0ЧZLq"TŹ.~^}37 H.G!d/^# F2+o c ~V5J>:8N:,YGOQi/I6!Z)lrZ-uE{~_17=*:rK,@Wf/pI R8q<~lޢ!] H_###7J A5HLlQ$t) ! a?Ok%a JC m.txec [ƻ`HFQlGHp222Qvv O9Y4ƺ߰SVq3qhKRҒ訷#H r]7(oh1Ԏa؇Ar=擺M QE9GwG}OkEq(X,*wf@Ϟ1)SQ^܃'º_i4 "Vm4bα*bw +82hx30-9*[Ĩ|:Q<~hkz~4iˡD~`s%>s55GSh=R\2C( NQ64Z63k;R2P@O<>ڒmqMHTseٚ Lޑm&Pz$$yX2<,_OtbHHl{=P-jG;Ole9W)YD9G]`ÊgBؐJ-<%щ FFwCnVYYb͛d@@?#V~d0S1em^bhRVXnBҊmr%9QZjmf|pƌA T|@YOCɭ3AӐl:t%r"1:XO8" yc'VDIʞB\cth99͸hBuߐcZC5)Q6apEKNwn W<-rERf /XZ6Q6ej5m ^XKQ6pŭc: 57;D=bs|ZprFP:V鬤Q1R~KdǑ)O25#W׳3|s#z;e70\I:[ oqP C'~H/ڞ4lƥ3G WP$!'@cR GiZ#Jm&|a@#E Zi͉X6BHd"&4zzo|ۂz2Bb}!Vw%w/p#G1T`W J"TKH䂕Z}m8kT+&s茕aVO>cIԏ+@JmMѤ}CXU哃{q8DS(FSk^y?LO (y|-[Q "^Drork$o֪K6P=wMl-%@32;ĉ$ O>CSJEU7xm;Y}A)﵎N͂flI0C(5jhv P*k&PEPX$]YGlv҄|gF9wR./!zl8 ɸP3"yܵGMZNYWj R%*̷ .<%щpɧˈ_>&@nOe+QrYo9|f$hȂ JJ9Հ &jt! ϫMj<aZqujK3 s^%H e>ΦRI;  )EmV$Kh>:l6#9Zh%P,Ef3jc  F JU?C6}rkI,X IOnVF)˻~(XMI=$H|*& ii/抄m:l Z1m"zC<+wxBB8ߠT2t4]2DbwL!-He?*VM:H$d (N2XS;@QD+JK6TFfN:ղ :],.XP9O Zv.. )7ZZj^'w!ߑ[~m HN$ v5Bxbm0fޅ )7{wɵøZR=q {qbCB~L++ϡPz6%#g7n;")8c` l'QEZ>ޜ;X t:9 T2x׾p17H"mJ8}L'+-bH"C#!#"RF7u_℞ғ,cX0goȎ#c.cRČ0adFtBcG(/3gx72̚*F7؎T- F/dK5eRax!ؽ gqҌ~3 tKwZ6ҏ8FE ȏP$apNS"Ӧ˙>{=EiNk4&h$ʆN:gd -g8_+(?cg%M ]~6+9YTte'-٨_&21HJh)@ mE6{5?rXQ\Q˥H}8'k#oXDV IQ:.6 f\;OJF"!&leSP-nʍBq"/j㒂 0{_FĢ^X9 bwO+; c;>IeoG6xKYᓒ.DζJ?1!dlxGs(عA}v^udaU^\hzW-+aPa"2U*f\܏oTb"HQ)FP dbȂ*Vŧ3u:hߩxj wrqF݇ ljjjIƍ˪RѣgR.B65b~v/"*^C(TL_ TҸ*B--J4WVmGS ]Uz`/c oaedj=d NNۑOfQC]\di~q0JW9ʾ{wH<:eU1DQU4EФ%LA?y.S*C%1R5IǸ"ysQ=zz_tq,iXTmEU\+/K2v LnzJ*}=R0_2|Q%&Êj|B_O>%/ic%*F٥cC ̠ fś x 7ǂ*D#\9S9@bw 'M2ǣrn'pi(7iTFC.l6۞H~3⍈+]AV ;Ptt uuBq-M"*5;%_(Y=boM*khC8Ҕ+ 3Ƙ(Im-6(r҆dx-hB4x^gGG :E- ) 6i2[=j٪(P$Zɏ;W$'Vwz6gQFphD`񡞴H Ip:W|Gien9yO]GmmKYтl +FDD3QBjHiL>°1ɬ"j7u'A?RVE{raZDnꖴdCKҔZ0>#ib_Y8ڠD8#߳SN>`2X_C14H||<6%LMSQEz`RPo„.PH V }hߴjcN(CH<>gx_i:|S:i1&%/X!׼lf36i1sGǧrVR["؂Q=dGt H|.k%GX`ҪT E(6Q?"; sPlU p!VPle ?S﹄XS|w In6滑Ϡ3-\vH$ qp2$n@UcN3l!:O8V޻$(U ` e+zx}QXg0a0c2ZQZ߫1A#yĊh=L oᭇ)|fL z٠]l]tኤ<J70P:| X_*< +~%b7x>CT?ƿlo5>].Jvf0Er ͥ6\HJZVjXn*Jn39Fd}V4גiFc#=%V۾=ה D(Yy+Oü MPעԑNR}h@y\==2_H)굓mjbJn: 臓[NfO+QTsϚ݊Ş߹kaL֍Umj~>xRw,ؚgȂowtCnl ^.Rv.;Nk)O|`Зd9* 9 SVRxu[+FJ"ggOkd%P[ܹb=(+[dR-PqԠE:~_;+O6g{U)הY繀HMM媅ldzo*^͛`Ъ aDÚ@̛)akSN ;wݸ@Iݬ+j{Ӹ'tSpRօ N:5q͹A#P}~6 6.6'/L6%o5A8F ^t;C84(hΑ..!$S1 M<,˭vu$3n-Κ$f=(ځ&f8ɰE6.N̖G`IIR$6ٴމEJSB.\FւS:!gL iM‚#*|g99HV5#Mlӟ1j4AO0L y@ Muc(g z}ZlB{? cS>#G`m`k_Mi܀Vyo[=TErZl>cZ9̿DdֶQjT $=XBˑq>eP,j\E aĊ{T{$ˑ箘B]jTB` DVU-TDEWW7Si8HJaO>cC)}~MgXGn9=youŀ^>3>GIAaD9ʾÛ?ArꙔ?>tO\d$nRQ+jqEpPJ}GvpPsirHs+C; iv3O63Vj$p"%Ғsd/3a~-:7p`BX.Ys!Ċ$=={ݦxU6ݨL͒=C3/ k [s<[-TI ,ofH r#„\j5'ITAP1բ41rMȧak W$imh?5(&^2 }rt/Kp?GHݎ;Edt [d&uJN-/2g,}\j4Ӣd1ԭpFCxVCU$-m& Mj>^+N䌠Mlto)5eS~Sǹ-P?O6C?ji^_[3-[w}͞HhC07,}xZB7[ eg`@\fDDEEZ?r]d=HNyŔjauTc\s֌PhAm6\-FrXPzlhmɛ,uI40IC 1(S3jQpQC#RtCc1a-C-ٽY8QJQEӠ ap̔M8`2-ZX +H+2d/ᬆ<18ݠ៦|`3?Wi*KazOCD("qvK`%^5Xֈ+.Pr} 7m>#VdiQõHy { B:[PsH\L0̀ATA0Ls<ژ=Ih)+8o(yG"R񦰝ZHk-(7dtv>,Zm`zgkJ4,^k^^BDNLb\IѴaOz37&f}PSpE*ْ5 Vs=쀟~~=F'4I>\i1eE|Z@]1sTĎֆ X@AazctdkF豎wzX%/ >x-8gj|m-! muir0R#4hPWG7b҉nwfhf$FX:Mʼnx~W@ c$25G@tzNo(5r9,A;-o_UCW@=*o I:p]=;6/"TO idfHN<$)=uXʖ'lɃUE3Vk З.,Re=D$  d1xVUk8WǨ/Ǟ ]OZɉt3/xR|X]h?T\IQf/b\2p cLkSE 2튀(gSNĴ5}@Dff}GzrHԙlI֚#7 ipE/B(AJY5yJ N1Lw# ,R<DQQ1^cn$;:)h*We$x\bUX7FV"N9KE׭rɓHnw3 ^Nr'냅0DiP oH 7y`@U]PVu#Xo'Nx4꠿ѳn[bVN . x7(;W$ں+Pwy+J9tOgR$`C=7{+|f{q#!YfE> /֞d#ԙfSq 6 r4qaf.G&gIGTw1#Ek-hGb:pt.sG6@jR[cZupzGdֻUii&B\t?Nq*2=6sEq̯&Tz{)=HD0{~ȠQY]|h29Fq - *1a C6T+F%(xJE݀ mЪ4E3-l 0Vvd$}?A}n ߐqHo<6P0%PN@} ˑNtx0ģf+"6X>qK UR9sHur(}PFDVo.▀qҜbw.; 3DTg?y寞I -R9j )'+g-n}I2QRrlϢZC ,§%+5v'LN 4mUK,l >LWmxkf^E]v%"(gY 1]z.].nL)a{r,M RכCHEb,HI <'FDD9+Vd07gW{/y+gc Gd]0ڡ@byXIleQVjFZh% Hp!RZ+ 8p` S ;82ΰQ`DYZr(a:KSHZF3t)D?냳{V:Um`h L[1gN٧Gu* FJ܇R$2Bsy_FKvҚ$oݍ0mcUN!7EDSRG:K1A< 'D&B?;@uX|.-E@(d+q]ϖ2K6$G*U(@p=Y*gQvk}S)E4 HL54C@ +).EP1CpΞ7A.bj!RA |>GW}ޖ %FT<0vmTU@*RMnyj8/aAch9&*c'ɣS:of^38"\W2"/2+=uFz & |o4R$>@dW_b_e^R.QhS/[.֛aΟ(3U纗%>[MԬYi?rk[K)_ٕk8 oȱg_ 9aqAQ;<\H6 Ґ-(#.Ϙ?jTɧ9BmHh=eeVpІ4 T"+.pa;!vѾ71˞g$$baw~YmJK*07quH6bZT|lU%8VF tvb SmJ+MK8CkBfj 1?Db뼲sPjFN QTKK0ߺTSƵgd$tw>F(Tf*ָG=fZ.E @ 6r;Ih^"]y{Q+DH s3]1{~"\PUOPi*~.C[%c R25B>f G(QiArx8+hjm >!ZJkOPb(XFDUMccd s_nK_d\ 6+e. |BYdhzGXMJk:Αq>)Q٢oOP$W\ج98Z;d #ۈł_Ty W C *rP׆yJ/ʦ' )Ц[wQitj{rm}at$6iiiǨٳc &ʵp3e) >5T1V9lR\1 =$w`i̴j~Ƣ/x.MZjOXp%+|k^IltT+-ӎ';k`ThjPEMoHTF5P q^눑nts3Ma8Z'*(Nk;wUvkaB4sېj{0-`fN oɥ!;_MCe|&0T )4|;7UrQÎ𵜡2^4`o/iю'Bw"ȚPkg(B}%ka梷x>оoFNƑ4AۆWr {Իe4 XK܍ S`aaԓ"\8l$L )>zHpꉵ 7[vjJF"O xg <TþWZ8ѕDCx!RYU}WA^\ C,_'~}oOJ$kȳy,rhlFU9փмB6dWs~'KURțWSy]ck'^6>KchQ*+Kc[K6#EjD y71J"Qq5K^13 ApԜbTX>(bSj`|=nf(cv>S+=M`[^}΂2{"XP'@xкDƺm\  /RoA}oV}GdlJz3 ;ǔD㉲F.Mf¾}Sy4<Ҋ#fPQɥF_=a[p0k0~s/,MFhFc2aAKqOӋM:"2\a_Lv df3>5{: _8r,ׅ4 !zdCH.[[WwӎDRJrkd(juPUQ>jDM3%>&5-QHk\yGϯi¿_;.J5Yw49"t̞|f|p% fKdmZH}BYthKl$}rFN'[B5yXwsqUo`f Ixu2 FR"pۏwiB,?S5ívmY t'3gƌtS  d6%g G TQʰ\6o^+K g?W@bV&yG?3I oj]4LXi͋y0^v%bϞv_diWG;'K(efa(GP{ pC#Cw^QQ!> T>5샥7j~F7}:\x]1p9җwaE}Must85#cHus+ 6|(N; RF^/6#5!ᯌIei#+W #';DR7K)ڹyPxEZđrd#[W җZXYWyX)GI[pKQgM3yiJ=¿wfi }!G^|Z㞇)y-gެMG*?T#:Y+{D>y+V=Cħ-Hܳ/Ş$d ኤH_ {ȳ]N§}\=7f&T֥ OlmMB]l,jgQ. ɐq辸$ҡ "bXrM `)WuG IϜZXV#CII[1g8 2D¥-$nOǰ!L8aGR`ig՘VěqTKe2>V o,8rJBIZ_РۗE9Ww?? z>/Ã) F*1=ޅ<aG jP6Cal@.#2W{Aݑ"h\lY9P a`uN%v.=( ;l38̗`q`P\X/w1JH3XBsiG}ߔ6!ɵ")SW)26Ei{%ɩLAT=]s|p++ i dVS }TowLcMB]e^ 0!glB2xԄ!N׽E'#Mj=o,7ʆTQE%UjBn/ʹlɫ([RWsy3p,m Lg5a⊭jL,G^яZziְ쇦!mX|tD4sbqiwC([4,XNA=Mu;xEYY4[. d-ʮSw_Zq6Esl79rdBTf16`\)|LeŊIhn-:7zs8'4rF͎9q$.Gfe=3"6+._ 0n-Șpa}<[#C(ِM5IeMyR3#ݼ)*=?鵂D>ԝ(k0mSӟ:ok$lHBFsTE"]e2JMD1^M2h9=V+ew_%97"5ErJFI\P\gf!S`O`O\мNVlk2T-@]Y"!YPG>iN%>+jƌC1dJHAS {SdP=B6<4+4C \ y!>A6㩗?=lgZY5փ `)sϳ'Qe'sER1MSQz#1ysI@Yd,%@å;0QFFF3<3m>aL&]"c <#wd6gI|gd7HԩS|@cZ { ܆R;=ygsBM ['ȶ6)B&IK6}̓E~TnNh-! %q>J^#;5Ű,E谅+wf}eq1a@-ڥ,8ޚrq^} 5K8gch5ɑqĀ40ĈYyG]Y{`5\Ѕ%iShLCo^rPkvoF+)]tQ]:ajzhlf\rY~Gk4%Ynr+CN#gB?\p; hY)J#Erp29&$EbA·7QuXS`|v9дtڷ9#{G^iNDlo >,M`XQCw.*k]+{”ؓ'mhEwkNfffϏ/%l} U*jSp餓XEokaUA黭aArv> 1-E kn]9Fgw6n { %س igi.d_O̎%_j>x,WxOh .tژ̖E$%% &ͨSyO6ۃFGc:Mb9.()M.`n0Gl?t(h<hsAٷ8yH0ErJ жʿKؐ!TqJI7ǤZ3RVVa7ŏS`bZKCYtX߀× }"h>UCŚFmG^Β9ҡueQlc҉}sRYajĵ\E7r 2ZWgUlC(#sTKj55FYh8%Yyiؕq9Gqw0G.&,b(* $Db6X..d]p:X\|Pūи;%a`0H'D]<'[ò]iΐKs%m˙T1rrQmmR4hlT,z/Q~3.Gz/222*OCէ|Cv=1/#:Y_Bg~RMB?:%=յo!mgZr2P%6mtuSGHc_t&$$4eZ{lNӟ4")u*߅#sPkXi&E/wU(6 Ɲ4S2gk9Ή{u xeb\24r>1{B<5clϞ=с:̅q;8!!Wxl=J2">–:>r^ XiFې}Mob0ɰ#aBh2c(*m RsLJCzXAR-::`%JmD; "27sEpcK ӻ&\(لr꾢 e6=Ъ'=uXHGIJmD^|r?DS|N0*>pC s1K Q snzd7̙3_wK?@w늭cOV,rcPFn?#7CUp9+a?%R,$1OVx9U(::zo9ǴVmtCiզRl~Tk Hg(=j¿;Xj]iS5a9%E~K|MVe*F_2#QC{6{ȏd5>&V2Kg'Brk]Cq6LlpRs󙘍/}<*(73b}ug4d1f8!FFUQv(=H"q_uSoǥuJB?1rF$,RM*tүhJ,խdTEʹ.0o I6^:D04IS†&TfoW$3fɏuk>3%{4D0-ý5HbxNJ4&2-9֪xz=O[6đRP9/7B IK[-hL󱗬Xs<m_J=_e(=C:)`N[8 0QPDR (R! U"t%" wdz/>I&9__}975\=;;;{?YʽB9#Ae;`:,Iy3n5sXI Y4JHF(E'2D}3Ǔi7]Dզu7CQrf"F4鮭:=|-2| 8v.se}=QH!lۅ A;wu:_aR* k eSi!ŪrK65l1D;]DJjwi伊7g6h9,c$!%Hm6ll%XЄdFoMcs&fgZyncI- &[H g7v#%[αv7y $ώ+bo&3#`b}ŋnCvlB3 Hx"9:"}l%+p$!XQ؎n|yJ%6q ףxIo^aAjwh@P cf)OMJ4+PW7]zgv)Ku"a]\W/79e#-,<ytQ~>tOpg<4XȽa?HcZBѝ9d^QNpZX)G?J4g' W{URh?¸ ܭf ס*y7B̻ EQ¸KEC`7.4k$aDQ`%#~_鰑JP/PHpzε*G Vf3/Eh=øU ߚ]QpbH%I ͡xƶ)z9AuKC9Oɴt,WN6q-_H?!J7,\h852!.B?y>,ڨS?XR(vl Vb?ʆؒGm AHZx.U0%B0 7-Ezio8?o8Vd>GiWyEe78f+pJS,[kJ+ e.M2!ǰ*{S z{V5O/屛 =nC@O͍`-'b4GjlF4 !#*ǹQF[áTT}cuhQ7/u8BA~vTryWͬnU;3ţ:mGEV0in ҕ_b%G=P-hв&Bl#~zd[_O'8ɻҙkmVn9~%t3s%OϹ^ǵ6z|fD}RS]oL. >Ů, >ڍwrXPE^nl}_} 1GV_c8rmi_ۼ&܊0yk:]&̷pƘ֦wA']X:c>DP} I?W}i%4à =T7M7=@??h U[GF{TTԱv23yyl~7RAv;[\!-5Q38ԵmW"ε 4HVVVDDYVb!eɰT*HlZE^?BE˙0l&:b`k@8R~ ~I̦TyQʭQ)-a>2;.TtfTPc}m6.$PD`Vwֹ6K:$R̀(iϟt8 ؊~wOLXln+1i#YB>!O >M>"؇[FPQlTT#/2WȰ¥֧xxAgHyJإuLP ːXɩ$:%fX*0ʄ謗Jc[Ut BaYP`W&7])s9}Pr+M5I yN7r$MٍBW?#Jw@vCOv@(F@\C8SF* DG|*K6 DG5x{>TYGƸRPwl.Vىpbv Z#[MF$VD ODGz0@u.T$LJ_$ 9s8:s?TY2o?f6xXy/Dl#5akNGܢE5;Y7EgCJ o(Щ6.BسAAq?u_ll,6iuʟ2[]D/0-gRw4r-gB M_D6nN&v!NqnfRdxʜ/h9yRX"2IRI/ ۗeȭLKb*Rhuj\2z]#& ٩)#KpI`><9 8Yƌ8-ׁZ3#\ 63Lh2 tXZUOJV)n_N\ Aia˒01^vǸS @?YOB h.CQ~ H;RRcnO..'7$v1/^+bhH/vIԄtKy ggIntl颛HB=y~=V*;qԦ.eW({0 0տ!=6tCdH }S2[C,fOMt|Mm$JG?E^>hϳ% O2 sbsPc#OcBX04st + m|X"xRM(li"fLԌ<%(q,y*kD*X5+I22:Mo@&('5l)dOws|+ c-^5z U\l{ TxMe5/_4~sl D iN' xG^7x5E#It\ FA񸵻&BɅuKLCf0ˁRطh :Y8BItgz9q$rx'Q#t۷C%'(5)Bq/H,, ;YUqOr#Uc8"O_ɥ4-ё%ο%/TPqeἆzf0p+KOѯc&qׅLn{m硾ςitp&ņ>s)`Y SQ*Pess(.c'2Y5RVw+1H3{jULrƛWA ݢZ0LlU2`9Hf#p!BH 10~腼1TG.cQm^#xXXǡ 8{O;xI4qNg2U esoB # `K2V+=$Fԥyk=EdAʕ>`j;фVsC0e\0K}#CXQOXκli sij>CɱvܢZ~wzn7]C [xVئc7qʘ\}W! H]1).X[!Bو k'MOILSs:*w98BOWa4Unt}Ey|f@Coipl?.},"k6#6^o=BZeO٘.;Kx7BwF(耣1r|cߕ+HpGRjn~a- A0*RF,c-C۝͛4~<6)Q&9nU!\˅ͩF Q'D\.f?z32 SrTWkdl;.=|Ĵ69cA~ M~]ςD=P@kL[®k8[6ts<]S<^C̑4UDTbs_zc]ޕ:A 35e^w"؇,͏;#:5*` -M;pBʙ^렚MbyH 1|M72TXUnDc=Ctqzj#q~a.+s2YU9~+J_b$%Ueq&&""x waj]k,:.~#0Errsg$.20{}T kͅnF;-m2B:n:y9^i]|06!S]}Ft1a1ZoUz5ԟto,i-F2,QMPH~ɜS% .Ž׍ZGvnA(^gK!;ُq_wCct&pTpg`-mʑ@'ճ:B"|;~d[k_+{y&%%鶳fvg72>c׻ء5IKQzjhNrs6 m;#lN|7-[\)SwYD^wCZtEcHzʹ<5R`R#;:>G&^ 5wD%58M\Dv9,ʺ 0Om+ٳN`ͫb Yŝ>5ixmV" аK6@ξVd io:%.s;־YVCCrlI^):y}V#aWz_/(ٍtH_۷k  j|E+lSFFdz+"߆P1{AL#1y3TҹFKc'J7TR>J 7GR\V&]v3uDzϧ]0x{2c4 ĕLͻP\fJ;c:*]Uj.70{CO 8Do[]?}>O8q ;6lH׻F8n|f8<%75q?0b71fJP6aM܉(D8BB9Uݝi (ըG٘=%d>=N`B#Ǔ-/y$Ӯg* ɏ 3E 5hFrOc( w&Q;o箿ʾ|AR"Y!퍯Pc[h0dq-dGnn/G2iy|^V\6{bE Ya81ʝ݂M"ÒE5KZ-7y4J80;;.BQy C|yaETQlm.O\-P$sKol`hb%B ;Hb<sP;zpc nDxԣ<$܅Fxeޔ)/BH}A2\} 9q$ }mw-PRg¢>\V]QGMDf(݊ZBv•Q&9 nQm|XG@tӗ2?#(eH֨՗EGym~ѺvK#S*,171;qe!ڠ& H|߇؀ s HLNI0Vq:zxݑ9.Ƀ ְW  IU iXV>Y;LXÌ%)pm; lI ~Lh5['$1:| #0E ajYk3=2@vqMaI5D|<5MoCY ^zs3ޔ:H΀(}nĶr1qyWnJ zhdlK =˸x@;_QE+ 4vCsp3[v^g+AgԔ¡ l >(h7E(J"L; x e7{{gdd|?3۠J8jV{Q򴳑AFCe бD>lXxtڹPLU[dz(N6ɪF\t= g%b (b8# zmӡX'8GX "1*I-2v*p5+Wf-]/2YK1#Qqvs LGRvf2 D(ٛaDE/A1!Y}J<8=(,//`6okB~X5+Y+0'iBY#buyMtx(lW@y~a1gC²QZskJx9zY fe"$݈ G- G=Isv]+Gt́h `r=Nb^z[+>=hp 6AI0r6ϳ;9QK< .;8*}&MM|ų(a$-,?2e`s 4;ӕlfrz[/2SRT=T ML~+`{zHXEUl ,MBIE@cB9>+fAm{ my\IDKZx1bo5q4@7ar&,,HQY&*6V2Y\ ^E5nu&/(x9uR^@!B#w7B?tkc3Oʒ'CΈ{H U_B-?-hG+eU0o0?$To0#h86!>;eASheTIDv+j[y$.1#Vy8g;%{5cG'NSbŁq .V/d###9lw[G DF+p>7AQE8g#k.U`Uڱ8\ aB8t+Ԝ:(%ȩ$VcԢMs ƗVdˎ)5VD~^Bz?@'^w^R[ ]3.mۥC;·kӧΣ]qC zL,0z?" &U Dw4DGy9J;cXl'Oy%P&x o^#y Z\I-&_f0 *UI*1.s-+w>b5x}G X4o,S Ml+NTLqՉ>+LJ׽@Cj/͎&Vcm~mɄ4?uhBJ(I`"!v|d/th3ٞȐU&-D&[r;*?=Ù-&&5>sυ.?O-lV-K!kZH=&̄%{,t3YL\s&%DGf<[(v'@D, tt CiUFaIjDOɚզlM'F2Tss x,=9{.fƜv犟9aI(rQ mv1$i4Z;I#39aA4+7\f'g4ErDV40 .B^{pmiqA?7J'ʳ6EI%/N%[a|ASN ;z$B XZ.:lmSX, XS hpgI>AtD,G9&<)O`$*3 ޝ

v`e(>+@@o>!::t4AFnQ?]nRgP(j)3%\کwx ۣ-u_H&{PV~>gLn^xRkGFV]мRU5_"=;CfxS=cmDO7ғ٪s̋rfVRzaIl5HXtYRlU}üDFBBB_R&s4X| gnqY ]ӡA.ĦۖKr is:dvTg4&.a3O7snKY%kr[!j/ņzjC3 &)|CZnaUDa Vzqku5VAm-UKㆦaw #q  (+^,waz먔Ρ:V吠x/$aQ8u'zbzF(ZW#{ɜ?L=pۺN[$<,kSj>1r~{s?܌DȀQ V#׊7ɆE7݁,{JTO/@ S U(a$@ !?S%Yƺ2ه8PmخI&kHofGV+6 iJ\ LPBVhbYQ},DK].9cc7*djٿsc=M~N5q 4 Ѐ^׶^4/,*V>,ߝosfw숙8:aNN.9dԌLI\ CDU4I~%'6u-7$. Rq*X6BX?{Yg۷Jl\*B\3y6ґiOPu_`zAFGBǚf{2̏Q(AgW 6Gq4j67x-~ }@ p R&Sm-T-^43x=z!o _b2F@\l=k1Lᣂ3~vԌa/aϴX1iJW5&=!JtZxW>yHefCȎ뢈TU51 ]0hjiAP6EvHfQG ,P{:B\Q{t;~C* /tV\)Bm|-Sy ͜|̲tBjO\IT= jY >"נWb́9GIŤPJ/D #@\ %((R\fδW>*آįHOyCIQJ<F}Q@Bhk(pKs@Sa'q6QC07/uh)ʙ6Xs3[FUqZE\@Ck8auԵgқr= goGDp.]evȶ9206px m.SO#c_F A[)Gm &HK',A F.yfoO5]*\&^BZ;7K1^Wu`Fz';}+X,0q" 詅29/e@S5#y>J5*UwuD]"-,k*'(Kf@K'q9J~DG.0g*9# FZdG G{ނa:_{uDj'\"Js4yHM,W^Dq4#04r&Y9^1Q\~͉+=JoFWBdc +eF"F2`q*, V > ):<)^t .͡5y}2 w]rlNuېIBM/ s>nui?RqF, +{FM;5f1(77\̺#PMǮkɍ^v읹3OtPi/ O^L۴)vΜsO]L+{#_0#g~Lt`/Ug ݏi)Hddӕ|*{-;A$_/{˒%2dFR'OKĢ~lA`+mdP#OJknLfrQʾOn#)7-ݎSjp+W'GŬv]\FE#B26gBT>@qzt#! {c}Ԃ=}k@)_98~]/)hw V&%%퍺XMޔX+rQwبږqhLF9{,ЌI[y%a֏Ѧ2keWr:-n?#&e/Q _K#YDt'{>~{vp:#ܪ:7 &!FG;j'><#sYeRioU\T*1XI (a$%T%M&>pFi| F9,JE@EOX* RH\7H9@KXgag(Jw%܀K,t HW cv=&QeɁ\b)*Lw ,vI٘C:t]zasuaeu{TLn/TEs +')K4v2jMMƾ,栉ﵭܐ\3w&@Q9vuЬ/5{}ӶgϞ" ߴ| 8dVo*}xlhcaRB,!i~UWl5Hl9Q jvƓQ:j({pd-Pi1x>gu&AJC{cgPYK4n2HNKrH~ B+gQ9h :k[ݯ RdŻ0msbC(Fb{\%RQ."F?:B6??O"8Yx!C3 `-<@6퇌+ A%b g\fXBfDͽv[B2 ;k;|cأJa:BXU^B$qR0y7*N1@S"CQ3nS\H]Is&RJtdR.MJðWv۔)~ϩ熉O(N"G2יɥ47P*tL%䯄JRKojsuVhZ7 xˌ"T3bďfĚYig0pms&Fp-eix]Pft'z>0y x^*9FG9]/^>gӥ :U)oHBs>k\8 byi9//-nmlW&\dZQ6 >:6|NhN#r"##M3: vzh~b.N;lԐnQXӰy+A7ݳ@db#y6Y Ȟ17&?=~kP&V!G^ίttfQWf0wqF]4d3S(QJVU|[$j~W#=[.2C9<~AѦ/0de2F՛m`U27gFRf%轤.Z;)B{ i%l2Mv@if$neKr߁[B L޸.Bͬv%VOk`6SI뽊#tV2w V@ܩgzX- +]$E"Xfa*B 1y}i'[N;ɨ sYR-,Coe-$+u<5ugϞ{^N>Q!v 8BeޙZwܢm~)pVo#}A/N.{UTZNK45E^ۥtmn*jgQk*cH^q&"|Mn:Y)tڢ_z$/NrdB >|GS͸PV}QO GvYD V QA׮gh2푁;ɡlOxKC]E s:jsr%NMדWu)УO!G:7&'4vp:A63@ 禘-GQRNR-S#.qbT<ڿ4\2A3FV/ˠinWKLLo;ڴsv i[ S&P~~6~8KREEFs=[X";˺C u0@zԹƴ-IGe$A ?q(eWȯZ~30ʑ ǸS6={Ldf,<Ud堳(CtHL.9gQ%_0 O8?dti!aaPTB;$;@jLQH_t\31۱ 3+`[v6}G$uU2p} ۮu>9Rt: >@|"U/'dƂѡMwD<[f c뀉6^8ύq/1y><ӵR"};y8 XwwsPƹ:ȑȳwc>MV [WltD^ѻoC!,%k{АUs/=Sň *ShM Ɓ_P{+9Vty6&_&.ONpj] *Ap(*Ctx1+v wpe\y:s #|h}QAFQD9Uu"SlE(@D;_#3){+LvqP֕WF LPM ,k5yl  4陮犺vRQVv*-$Z0^ޱPTAv pfauDJݸo_I*$I"?ǡNUmݚ(|<%hIpoB)}#60RťL6>XhK#(>c waΈ>ɮ*g<͑Ȋ m ^{!oo@\Rn0pȩwWޤ sv1xTXsinpf8 = qj$he΁$xɴgM/[(W]mBx{F=ۂ q폹Pu{؁kt[] t by6sGo&')»K X:T` K uX]%ғSs&4DAFŽ9(ÃFܼx@;%gś( (Fdr9ydt{Bt3]Y^Gtdng-)[#y.ﰄn^pPsPM[++iFCi,lV#]JZw!bU.6Lv ~ b~ (Ck*59[6UaAO+q*e9o$Uf|OT~QjQ&Ì\bTcV$-+ȇf'tPsגGijb7R]cja7Lm)Clq Ӂi<O8w|Bz|n 2߇*s]{&"I,Cj.BejUB߹4IC.:/rKp5T|Fyj'7wBoໝ4֎ZםS)a<ݚWNt|LKouJD=HŶ+r_]J@ #A Vb$$~ *# ʪaTDX}fzh">rsxA읦eQbn=0]+_[¯լZExQB49sݚ\ .aE4tzּ>B \ڴ\9q>LjjEMGЂ=mub*-pv+fq>y>ϝE& zc9-/W4Di0f6GO/RCV5}4e &ѯ$2Q~yl6y5f$r=0 ,ǻþi{lR'HRިC(A0eڡ"^"F&ò Qq(7/a6h)i4z. ،)^/ibbq+*}#.a'3]&ͳ#!"r./DžUSbQ QHz#ušeVV-ss!:?g/kt 7RC+&lBn†HɓE+zxn%Ҥl- 456Y ÌT=xGTfO3A]1Fv+OQ# ԲYր p4QCmu\IW.qۗ݃"_K9U_ۊx%g42dkMbs,4z$*|N@glbz<]űv!Itc0Yڙx `!*x?3=sȍG\+g9%67[޺i'i Ùʬ4$d9!c52;ZwɌDCө.}uLÒݵ38jC_h!33Ļ(݁ %7;PR)1݇{p/ᆮruI0'/xq8^㪶 /\H#lZپic NxtV7Ap/BmS,}73g>Q⩬jF.ёRUdW`1;%zMY`Aq<諮 A*0Hz"_: (K1(POV:\̥oSKRBʣ08tоȚE05W8hw9#B#LtƋE%#DDZd6Yn)0o̟n PaVDGK$.Hٳg&Kjf k_w>w>Gd5X GCgIrZ9~b̺4&V_2:ҿTG{xA&* BP~g !6 eރh ͤbfIK7uh sr:z=m!ˆhT[71c~І^Th!_A v=Hߵ?ܒ/A؉/v#w˖UċDASJLyj}΄P݂%IɓE7 zD&0u&9-R 񱚻yjH8Bd- l-MU9ZK8457LiAjiCq]' t7F파du@-<ΥIE#gs-PʡTg)A턡<.|k9ZLz  G2.0uUll=OPNbQ׿m}#>50ݍCY`Zm9t*ѩ/f 9Lհ87R۝| e]ktKQK SPHz\qא%BNpQ粵GWlwOaLUiTj 4uWBwlsXf(ϖ;K; QW cAbT*(04q, <`dwq '"59{ Tl!Rtȳڨ-X\h`1ד]Q0pڬx 8V\U؆7O=ik_X7Zg-oJQ.xh{%&)M~MQc[R_x=Txհ}0?FAQ]C& 0.Q[ۼv=[wŴ(_Tt".B?Gr1@]!wH^/_hmC\tާ9UP1Ek5Z;og Tp_zh虤脄ժ'1Hr8RPPro6^Sbp1tcFB9ʅP{2E p+_ q#XJ 0Q{'2 oѺ<^x^Eh'+3Pj0ʳ`@_%KEiF*0Y?x "X+aFfoO nzEdz6C/5߰/a0E`Jd:0sck-hqk ǡ5 <{މC"+^t -͠s X]qP-%U?*_51N7ue1^*M:B=Eø w K4:Bö`a#u="|ǒCw6?:| 5T;"##iICvGl9%.t@Oѯ'0q+[?;\ews"L;u2[!h3Bg/LI}(Z.ڳȠ{**?ime$4ݖ$>zFqahP.(˸4fX2}yjCc[[FF7̑RQ?[xq|S]b%JxV!1=Rq ҈G BK!,yM,!HWbߔ4"6VLNs%FiZ0kFnMq$&Ez)yI5Zj%豜HI=I_Lmi7B?FPTaxq&~`1|M6zzK {@7,w=u FDjqE=T(p;nn[dhž/mm;kLھ& 9" RQA514F=b0:y.I6ȅ61 mXBע-Z}Ӫv]\ό~Iw\"(r2ǚ4wO2fA x9Uf.e7yG,p; YZ+8z\®i?=b Gpp׈G=[wL{j_A_[$J^#ғ T.ƻ~JUDŽa>G-cpTn2zKm?@Ŗ"$q_UVA-}x+g^=_B&C#x#q:,&ebpwgM w5W.Cܶ sp`$VIaCÉF^^vDOC7ĒyzN=#gʓZ",A #Rۧ9ȕ*LY"/OY`]ƄDkx:fÇy!{U{9-xC-M {$~ FAk"K߇96PB<}Y_2h!\ _Nqs//uW&Q֪pPfjς%n)q" hZ`sb؍U 4= hI" eZ+߂1R/͌ght6|}9KfCP wsݐ+0,Nq+ӧ9# ѴN҈5u@i5Q#;}UgJ\47abkx/؝" ^giNoGyg#:)Y\n#KIDATʮGWKz::%#P"q#79*9"Lv_Ms`BQ*a]w|qXmGyBd츔BvNwXJ΁RJN1"ஶ~n̷v=h cBqS'$pCoR" t }!"ȉ.!W8RHvԒw j48(4rVӯ*l%^BЕ{&5YYfJ^yF˂-ؚHwNu{@-& K f +.TE|^xZ$aTKpf0 #>0 u"+$x"%24':2ezo g[wAMtF'0>[B3!!Gj.Zf' nm4 + ޓɈ~ReOYHH%wF #[ ɿ q; NR#CBsvٙHR 1 ܦw0 N} JTmqQ2""bUQzKb0n-l_r^~^X8)^a:1-T &rX2Igٳnm ; Q(a$ ȴӃd9Ή#boh1zf!wV"{'Ô (^DvŦm#Ɛdm64z\K$I1ko$`~9kui X 0eފF_#Ș'Yt-F>":x{wAd~^( {it3zGT3M!Vw`˒^hKy(Svw' \ܭtXe?Ev`cis٩<{!B̽ow7iqI?%R mĜU1 .'F˸Gsn[BgW95n;@s堊G+wA9Dy0D6CKLKkFÕʙН;]OJh!hVPoK+P|{Ĉ'jC@1O8gfykK8}`R{gpxݯIa`O>Yq#RV?s ZmD+9O{p2KԴ{`Iv9_o/q/thS񕧢UUIƝUNOYDs_'B NvͶu8~Vj3cЯ-r _'s$%h6Y#r+>7RM{c興*3ס{<u?l?e8l;mPq!.麓~Ft[b w)^hc fqF{bѓ8BV;1.0CGk)GhE0 znQ{XplBLglkp*`?5DQb$K ~#$+?d|053i@v,-ޢ6ٳgr {k O-f{{cRFaOwO[ECo4, 1nr3{;HG].wȲNhuX^DJ<;Io!CSro#qb$r`I{"#4m qkt]\-wJz<^%Dc@/<$P=7YsʈQc0t-T*kHy5!gAuǪQc5zSM'00ۡVwǨ,SNc*ErlbjgcVV͏mUIķdMH\hʪ_m]y&5]SIzhcQ2j[K0?/IDCt>u96rNi󘔨:pm?\Y1X2Z/:l=uIleKf?+ ~\Ԍ ۽DvvমD=0bRεio,gېBCz_TE..c88" mk|JLcY%6ty{%\)QalStrw=M} 'crTRv. XxVc%<#E՛jD4 /*cp8fF*7JgfNZ>?fo"WDÊ;fqF>٣¶,W@<<^\(ox˥ADM%y.Tp/NBD(gٿt7.' IY`ɆrmEc;8t#}|@܅ίc,b#n0+guJʤZagRDMG%LXgq֪qȊBtפkQGl`;hHkt F]i'ޑ6b-:ƉDWEa*^.fxS͘?Ĝ>Ȱ'Dʝp;sCqxtayNhhg=4H (.][BtK_B'HVv츜Ȃ>qw9%pSέ5i4QIzo.TE]XSHdyԈXKwǠ< }XQ:@k9¼ 'hvd[~O+)>˲9wF/q7l)Bf{3dA]3;yihŁeW<qڨz` lkr&?|%W*C3 } =}&Mgu|ho:ci݅]&;#%M<9}) &jʹ,DA4#曹 H9Eg^K4NŴ$ɗ?w]Rb /!b8H8jY@.eӅSsmy4D$e %C͜kDB:&I h$I4=Ql7Bc-\i Z{J÷ O'3I}hM Lz z 0ώ~ˑǎ{ױ[;~g4L"%tgWũsV !g*`]cg1Y4b0ǣ?*$zwDq_.+!BzAgsASdWxU{?稪ba BDx*wf*T/)Ip̿ qYSg"gxseI l@|Eve-ZijsI%o ,Y٭;B`q; 5L2E2&`cJGvt#t =]Qg`f+> E)D9\A-\pc7+E\!f|U⻳(P#[`5&‘el75P%%@#Z-hJ[HκNclZr*[C9‘#lyr\F /cH9H^K1hy9iҕ*{,s51o@|-ǺIalo sȳ'Ϳ^-^@֬JS%!l;Y'mfЯbIŷ$A朣*ð 5'dϜm%pb/z}ǦmE!b*Z8KDɳbcU~{L@zo*BZ+tn?DAHXdj|( hҿbJm~#ݥOcՓ.6 ONbv).2aDܘKADn ? -x΄20(zz?!(jo[E-n{򄃡t$Sg)B/k[vqKT οJC%Zqh fW`q\>dMQ$MS136Hg^T㐍fpjl9"?_ٕHhٳ8.CuD4'`}$ 74>́%h0A6 ]*(ϙ3,J3o55D*1N~df{kYnGqYCӢ,barPф|-2M#֑0zKOĂfPKK'xR lx%GrOO;ˡ\')%)Mߠ'`Nfmz5:oO0P:y9h~n<ɮEKZ쉒]2LU܆`3|. 8X,/F,]l%^WР5/ODr*(jWm!d艠\.bá*y ۭp:.n94+RUMiqۑu%zM^y%i}y^o Lh\j'=lit1Gd:2o[ ?b*q5:{+çIO>rS@lpΦa>׿{Kۈqh7;Ț&_zQ0u&@_;u"o6e$Oa\@u6.>Ye&׋kjzõYq/9M[$FDԝ;y:ӳ(n]w])Z#ՐY;mx A%>\đJE #a%ߩ$6< ȳqkwM&5'Veq-V*X`;͊:bVwYnAb Wp GYw=;'Ek dvA4rHIɳ!(ɰ2[C@wkPE-P=u!- ޿uШ7XhfɤČxe+ǿ6y2.}Q s鐠Hߘe m_NXB P3 ^mr}c}O<}% 9*<|;a]j9d1x3]|>8`̓n+D_mdjm]|f|jI,@(?Ŏ,\iDh)iJfS E ma.29՗*}OTByK)%T|Cȭ,Q?wjĢ}TSœE 3ovU%H.imlA;q+>鶼 mzC=/$y1͘if;fgDVofcB2[=xhLJ|EN+2?#ډ0{ .p~EؖybvFʼ_}=<1K$FNQڮ‘$[l:X?2ok).hR9!ODC.Zao)$P9wp)yQk}r,wLgZG^/tB>eg܁:,sYU=\ĝ"V& ƽס@{8sVarʼF=eS?w9]4s]s IHTzq<×.{JB(,,̟>vy6I4 _x i)U&* QHFS2a&&f/4trMFo},AèXEGST%aבh:I8熓<iZd 1ɩYF#=hFhFjTlMaX8(awEqYM3"167ܦSSSimRDj,H;(0C4Ϊ/3ʸ{H_x%y]-;4m4\ t䳙&J(@Pe1av?3~RcR[eޜTsb-Y=$h|XWB8a+kɸ5"g(V]Z$sng#~h2G8uXaG6W":wJ0# 'y{,w 7t.:³gODY$'')dvde'FkSR,g%pgY|*:ʍ\>Ub.W/s~ {OMء4,R(YkJ\Sf=>r9yr%aNydY5ݰ&7]PGٺ 2[}FsK!q)M P: bE=ԧ%obFlfIJӧo&=m8vTpUtTKi5\7DҠȃ.hL0)Y},jTuh[hntM`ðe<|(H wnޟ[=7ϾE]2Pv( {^<ʩPy\bc7-rpFqkz ֣z4N W!:r!s(Jͻgg=e&JZąS4 :rQ^}7Ӑ%uddB.AއAǑ ]g@ǧ ;#T H%9ndm=MDqO ᡉu &VT%f)2MܨPqRb]-N)!+ܞ}$|5 B6M"/4#FR< ,#ܨB gJE~*xG:~Pu}[PFblV%-x%zDn.e~dmF?9gG`>{fql8ok;bDιdkr5<N[SKr7TiU\^Es3Cu!ݿ]I?S,ePY0'L8S1d[Tv;#wOږr7"޷࡮]8v->W~pkr<wRtcK )d4׶hFy k3Qx=*)Q xe]8p4Z;qnHY?^ܓ*döcoJfn.S+I_]3( MbD`IJ!9#36H=0ޯeI旬+2es^ob~ VoFjlJq A&T< fPRlE\$92c U|̞FFݽW܎#A/ ,/MxhiP`#1)e3}Ky*7hìzR{k ]|zW$,ze?t9򾠻]] "G%K9XM<ԁ(yPyc@ Mud.( ]~>Ćw[dLb47Q>l$+GѦ%ߡ )= #&>#z\n EzqI ݃3ŸTt"]":DA$0=D'F-DAd=g_) _&KW?Auh5PȰmӡPsr?8v g"I$gH0ኖ3'xCqz.M_DIx*Z۽#HLR*+EJ4lMe ?Ianx,Z#tw).EB{)"ۀjh&Sa޻\{/֬`QMm(Ş]xJK}P7>x;YSUlP29Y9_5dBJuF^}Ohvf-^65LdT"6 V y;}.,Iu#Kv_šqqlˡ60J?>`b :isF .T8C7]`Q\ѣӪǯ|5֭5kriXN*Ւo c~ё}@S+j_@xP~sȆH~+gy0/!ɬrhWt%i}KS&; zߍ=x#{B)󸣐ڋfWw#|vRnFz7Vc] :2zQϚsmݤ [ SᴥH/J%mdIܺЭב*)\oyN9#T?9^%=߽]|+sU1RS30PށYf{44d` r!wE}z1֕bhKm~7Y{NtZa HLL%:r9+Kߏ!κ:X َg ϰ_cld Oa78Ō 1mkezW$.Ir=WYz.@Uw BF4~4i)#i@S97Il4͂: O 0á5FD)z}chy7ҀpWjBΩQO=T`ZY-4,zYMY"_V&t#ɔ]၈N6{;`rpAth38-5¶3K4^aϿ9w ht/[vPZr25SI /QzxH}vb$,O ޏb --f$/fߢz Ǧ0z2}t~=X0"^ &YlDx7C]cuMԯ,AJbtD3l4=Zsl:uq'tz$C"4k^nE :++Nrǵ ?B\w;iPal'(dN Sj?FV/)+V/)jdj<G7nDz,HsځιE ,р3$K9${sk6rO~m\!CH&hjCMA|0^|}1&[k9;@Y;pS>q]1{4Mf-W4`l@0lXJvO% 2z12/ײ,KIy}Б5*ȅCEgiCcPt@b%pnϢ46Oq')Bğ Nر<},).ߍF򷃆4gpgZJ* T qbdEԞxVM/$xJb'>\6^wՂ3: M( 6 <_8c܅4$ Xa[@_<5ć{x,+ue o> dCdɯ);Eƪ9IUIU2"Fk(v[i~O5YC_;KR!{M(8ŽG{̫R̻)ĚoM I׸Mm$!*S$%\F}sLh3f $4^3¸j7zvXpةə՘'rjM=Ww`!x>t ly!理w)g -I#k_aң5T J.AGtdgY7t(;E$>2ofK=`Y x x$rZKgj!ɯRw^ uͿs/Qc"6_(v20۔/f\Vo_xqV{%l~5W+ӡπJSJe&:H\X-l"%yK},8T~lejqd(fn牆p&MD{mߒh]|yf`NU[ۛabE( RD#QD%"E @@zEZz0tC^2}RuNW}恙Ӳ>kkUh}vE+=ުZ <|gL84AhZs,$8R҇gNF,[I4Q0pOؕhC W lYw8؃{=N%1zko OM#,Vg"cZhz \zFʂUzbzkY\Лe_ڢ~ʲNUPth"4~G$MvvY)?:WHD T6lmЂZ_݄!Uv]+;aRqo_CVLid@Jx7;W(z`f SKQzAtd l*ܫ?ᖡhIdݜ(Gayp~?zE< M'51߮Ap괖r;f.p؊Mk] FuLpđ6K&iKc:l9=-r=ia1'xƻZ9α5ZaM , |gy9r @U@ZZuJ_!U}if[)i>ɊE#&maXnkx}ǛehpC$#1}QM#[CdFPP=Ñ"S&DPOX%׶>zuswb:B?n[N5m`Mx mz׽W9.8ìm486tB!z@?`JY6-ߐ/1h>Qvoaks'''/"xn^ m{5vA}Vl-2?6esY*9($ϋ(\hvx5Oahgvu(9Z߱C[ZVKE\BPJ/MpxҘ8t x#D[#k9Mև*30נoyg{\A ,w74 k2WUM+A0i}"iʌ<`]5#+Ѓϣy#:S~g].׭[oY|b]dmHIIaJEv:_IޡPc爎XH&xZeCȁ1qtX%ҁh_Xp AYB_$+Wď}Dy'Pd5m -_rFiC^=Be͹!WQJЏ[(YU_be~`;fĘ 05ŵRSzl&!ie--&j. 4N!v4I/hɠQlry4u:q}Jn!bD{`jDow\T't%9-8!POsڋ:ޏ:)>EzzM;[" 6Zc@T i8GuJ9c+JRp94NE*2{`Lw=s'p/@lߎ^b$ˆTєz=ʵ/I0U4#H;h?Щ8"1v='q0-6:dK< # z{'|BOߣ60w+XMMj!iӥ8pWtsMaϠJ8A7OpMrROm^$ a 3GD1'+DЍ'wgI D76)~DHxyG;@|Z?mγMi%'baɭ9hyH= aqr/JI4GqW`HI=Xdۂ"e [jDboVJ4q}Ǽja ?Y D /04qvkHFe`9G3̈qM;Nڈ65u@~ {5ץT aލrN?3NQ*(!&?.Ci`\W4}~/ l%׳)`+roa ߚ n"C`،N{EL6GdF_=Cc`I牨Gj=o˦Oh$Д#q܃iTM8Zx Y,B݂WR o SXۣC"ykN}^=ɉ`o)1GAؖcfmSx a"8\#k4= H _poaRcmh-FޭTE;5sAӟ383~5'9D)S c7Օ?$:m[G]#1 6OGLvs@v8X3n4,$ ̎EB&S*(i(1ႆ/cN~hrN'# T!A 3mRZۘ1Z:hFԼ_A.?WDj7uVcYhgbAz ķfd:"3ya<"23=lOD;LGtB}YŚgI!52* ϧBMĊZ񒍒hC.:<|{F?SmЌ2$6r#JM(/hI6KY'CzlWSd^2q0A-. #z#^A*zίdRrI_ؑid q)-wG`G`KG.%Wϳ0Xt6Ԡ `N+.ו*y}Y%Ġ{q_EyA%?` ѓs}g";#3t { *oDig0 8zk$BCΘ|8mB 6vC|$n.NOK#yzj_N~QPecImVfgI_<_-4K_:-};ECIv ߃[/D9#O$ *v?>n@@S +xU`6+깗ͧ!a aȏe#vhV`rWQwIia8ƣXx5IAr'EK(2I0nrăhFBDtߕ;Du](?`DET,73cDANW;^ikגQF ?t83Q`[7x vT`P5/µ\sm[4c\dJأsH6/) ХR5ϻjYKMxWlD b$Ƕ^\(!t sHHDs:/⚭C;;#Knhrn߄hbqOe;BCX,3γ%^b 6##3unK0e6RG].9&&& e.B?5InN$|Ei~/A< HP FvotuS=dd{~[$:ՎpN_P;O@`[`]D?/& h+Pf9ɜV 4[hjix<&܀^-=3kD8t#8J|2XKrz=gћ{5TۭC0a@ݦELTVjW+Pw{TObQW( X?Tg^ح0vM&qгN7m0d=9;ܟ?Nh,[\@YxjBD`>DmOB (&KHH8T8|>:cmTc*gxٗ҈+nDL\ ĖS%ŗIſXڢ%#V,M Q{MעDIw4XW0ۀ~αVc7";`\_RC:]) ׃RZy"O1gդ afCGM^k?] z(}/Ȑ<eH?h@VA/dܞؠ`r 2I@Ct;31bT=2qXn I5@4rF)cWԷ@htb_C`wzE$1sC'f9$8$܎vuW2H^-TXӡ g=Wo a?ykMrkNZO#i?.D!FB:U}$fF1,gJ:Zb,m+0g9tZ/r9V0fCp)Wmcm84xe5MѲOڧ %8V!Otě鮬i=8n~ڣљ #:BDYAf\af@/\9uб9h $1Ă@l6/D9=_s_s{>ceCSxS৮PUIhq1h|-r|66`C6eHY$$Gi^I-\޻,qC4` ,0vXve'0 D^UpK&"MK84E͊~?󵇷c?z2ꄧu너.S:u գT /oġ-p!M{KQS]448gD>o3@6D)4aV9Mq H'0fcϞxmLΈ6-=/P%MMM%Ю: Ӄ'iWXJpx1S1-NdA@٘ҒhSN뒄ǡQr-2$!ݟzcUOcˇ8ߪr䟟ܳٷi}IņV1 5]=jH-ڐlĪFSO;[)^4p6]E=(=꣰U3Nw$,@[L{h?E7yZ-XIj4W5g4ʒ+1Qcs@s50B\d*pT6*HdG)rӚTұdq2ᚍ׃3p @7A[Cmuhod ] A#{Mw bEwq  T 1jj-& V!B\KHpř ʢcG 7µPܬlS`#@%r)UU$uF$)݆CA~ dXIp ߇qoѿ6^ 12V8բRٍF $bH{ytHvTqV?~*(ˢEenjrJ!{,A;GV*v5,.4O(TFb΅::x䨷ųVN`O5R<샠g5BS޻(=x0@tdqPiJ5An;Up!l.u g(=x>V+Wސ/BĹ9&ё(KlGDgW!vZ{q{:O e X=p>ДC(,ߋrFA&F<-1ȯ݄~\f|HRk)mXcBعJw2a@ZpCHuZtHyw%]$r0$\Q C,W,+i ǢT}bGdLٮ*:xTİ(]ڨmǾ|A80m66>̅F: tQjk Hn$P:6L'5e4F{$GG h;F nbsU|T[G<$׊"KlXhJ," AxW[r2F0[쾉k+NxMhCa_tc00!dvͩT_)w_(\+ PaBA]qdR|t8$XEWx{$%4D3}/ r5Y)"tB:=j5u^\4b~ɾxDt禠&{C>7JZ 0{b6Y|=IC4L/q{*#P[ן猼,\EX@ψm[+TrЗI5yHIH9%:u% VsKq/HQJt쨛l 9F~B9ӢfmL0j;\/=Ii e 1`_rAwפ+_! l[ x[fHE1l,3kى;AߞÄ{ـDA: G'9u_ST6)kZ d./~cQ8h ;0SlaA +)ι0 _aoWlHu6swu.Whi}^{5Qgo;ӈ*[?#G\%AC3Sqc-p Ifk9u3N=ٕ@9I=\+qm)8V.G4B9gcʭ-V>dpty^%HVMj6Xf/BLLVlkLZԯfV]7߸~/XQSK+rm, P ɼܐS)ozL"Ƿ1E|ٵc_y'TϣҜZzr y\JçfQ{ؒ7yLB^œ%kP!o:J0!q(gM.5 ҪCɁ*UzB^LM9)qx?xCGBI c+^4h~|u!TH5ge[V= pQ9FˇvXcCSͧ3ܻ7/#„6ޟtt1~-w0sfNO6h/H:KTKu'S<@.ͽA[i<}z}/D Ѥj5 Hc&֊#8`x5%SdsTGrR8n}WT"O\A,.+rJ8ny*7`ۡ ~ #.3ԿޭIM_IDD tgVŽ7H(>,/\?/WDGE3 5%X)Qȯz{TXy6ר=ݥ"ksk$'DGd')=GkD|k. ȵIcPң12"ampkTb'n=[" j W u@AaML^ SnpCMyL;}f I"XNA 7yM< ?ʋ>7\\$e:G6ljXb"LJ7%:rh25;[+ MJtN6)jLP MW@!DGG];_nwQjyb.ij5l6dwGbATDꥪޡ5;QFk?`AH6xҴ⪔P܆nW\7|Gl]lN|XzQyb7'.QWcf9D4KJJ 1<0z<7gs`Va>#=jpGFVUMjF~3{psz0yyy$҈7GrFMcFNKNk9&GzA ][O8b_=*|p.hvhndMamM̖f$v/Y v:_H](Bq_, _0 vO"Q⧤"&NZv\z] ؐLHwԤ"^xNz ݊:B1K9K97]-wجhE~O\会emp$Z3~BV!sbخ°jC}=L$k]Aw!f^h`2Z~@ޡ Zpv?CkjGܯ;Eئ> VC:$pHbIBnXcEؙ-;[8!%hYߍ5sWCE;J!>hTOFY.:E9t4_B5RW]ɵGz:C;K&Biװ+| oRgf&\Vϝ~Nw8oS*&yH=Q5ݸ/_1 q1x|쌏WLaREx[]I|2ġ#f;[Ub]Ϡ^{N {;i.ii3''kzb>:ޚ[=*/դna)ר++*ʖ ztKt_ځ,5R` jb$;he:Ezoq舎)san&i(J7y3uhą5K|c7]r]]Y $_M@& nwȁ#v orFA[:h5LYYF2kòPl| w@("J ^>ˊ|Bi`F6KM.0#Ǹe\}D=hh@ÏLsT8EeN^͔({c>n -̻[YC7 |-RTH8ɕOoZ%u]N < 5OV8jǽkem Y"qzhBi}il9POz*fQt C:BOhFj34K݁\g#xG>;fgxR+BQ9E<، ~l+q D;QBmX>o=I4Py 㩳ΝRc]9Z|]i &kWD^zMt#[W4)>nFxƎEryDG<ГCO^A}XVi9UG#t$5HDf.fASÜ5q(.gZG4]};SjjKJ=4 NI<wkDfܳΛ\nTra~U:xd6il?ƎB`j gܼgD/1N(sšxrh\VC**ũsib$≍)R/)}e<ɥ[sGA^e"p; t+wmE8?#|'[OHKAt½6E4%y0+Tewk'S,^p[]vlnL#q,wΣQ 䯃nnep_'* `бݕߘa=H\]XvQ5hB %|DK2=!Y! n$'zM@lTdi)il} Çs l!2oёmT)\4!xQ`00q7wd Eܘxf@1Taƞ}H*cVCJܕ)vb$sH)]d]$:Y{M|Ѹ$AA4IN>Qg g|銤=#X4kb)ݡi *tÓz+Oi$kP#[+}_P]plڛI0{)HZw>ʵPII8FZtqZ99&<+[6Myy~{)c9D(͐CM\R+yղre^=ފI 1Lkbͧ/!EzZz2T0r9zw݅.1s%e{}p`P4%Ʀw^-8GP3 f3=9VeްZ8ёП/".n:Y )h:o""pJMq^%y>#:~|Н)w_Ct裏;ׇayްǷ]QH:($r~?x:>cZ݉yؠLk烈22i1t1'I4p=PgYN hB*+q26ƕѥ~_ eU alZc^ˆ(xIش T IߎB}OzXKra')_?dȭTXmٓi\"iS}ڸ7#QmJ+ 7f;= ꖐ+1MBq ݮFb~4#JÚ=0 iv\)?!F\ӓ*wŠEE#s8B>NJ+[=+-f-z'/̨$s=ڜB i{Y5_u'Qu9 .b*\ NBXPU.}3Uo$~D)4fk I|^TZM|@h6_yɥ4RF0X>Un"NG|)vYu8]52Y1Dt $@s>MAH/Fj u%.ǜ,_`dWϞ(Y-6t(_2qp0-Є@#ҀEG,ރ&1.3;rKOг}e8ܳ!-T>lX@7F u~ ]pril!ֵЏj8O5R} CL%F'ynB6p>>L\+6K0DGB\*n2e#Xy[/Aa.Hlll G͛DF*QHRDw$(S n/19."nD( M1Z\bRI9z)U]G2] }q .-27l3gCM(e|פA| A=%7o?^MVҞF K_ uL;%?HܮZLRK*[SnJ-boޑ Cp0!͚Ii.窥<.Y^΄E[ő7|/d#;a^Rem G{ndwf'DZw;W<̤}k D/)a˟[/Bػ^:@tDD&98V rV(M9/DƜO7yHpe&O`|"ڿ'e{I %F4Z[fӏM[VF7<eaN>j-3'YQ]˨|aguR2lS2gޑ41 WJQ0FZX{[/-G{)(hRy'MG{|DGt3<;hQ9vLք`\ w:eM?]>ȑOugW&j ?gk) v>ܷy 9 =Ctjp?b[NhQGd@Eݢsu,ݟGيڻa/Vζ$U] E;]f_\V(~DG3rDFЧwʝr"ucyj'el`h3%FrE6DMM .+3rMy}lw-\y[gQ%z7g.|pT^N?tޕI\yae4ħMژV71ʴ[PisTnaC!U4DXKbn8n̯>_YP'q%@#l^p8ԁ[nuy]֜d_M-5"7Vɗ3k1:਑Q#aB+:aFшa@=&*ڑ)?,P(7fbQD4*WW^+OzݒitB'0O_J,gh({4;,iK8zfa4 /u>u#.=&zX] 2' +Ó;|5u/Q(6{5σ׼]j*_ ͟E(qwĥPHRkWʭIێVεYz(0V0)!jBi wv[qMGCp. "@ݘ VlP%qAm]lCG+Xv ͸bxHw PfBStVs+f#Ȃ/51[1˂aCfcU0JeIZRaXwtezdvGs=E>@"OG"V$D؏] kΣ-)i3} J;81jo;A{OepMG\ɔXq3hjP7rZ>RƯ ̫hcünKiǾs1}uZ\毹ogFB$@Ma\䥷Q gLרG):8B^DWؿOPTŸ5h4q=uN^+{!t3xfLi<1,sW=N5[%Ł5t[nJI<.Q!Z>U2P8I}KlsGУh:y?] N^ڼ'Ƅ~DVO^:+Dt~o[ à0 S@˭^7xG`fl펏CyU&bT=䦍ʟ0c H6r~o': 5pJ*lױ;̋Q97 /CwWgx7^ʵs<{<=(/ʔ-.MBy| 9pDQ#qŊ?Xx&JYv*y,qqͼTg}\#,R@'ql,(`VɾXp42pmK(kGAr-0ԓM;hüyoK&=h"HaVqQ=*n0kbNEp8':CbI v6Azh&\XnO uzKg9D$)GPku2 =bvki% -vnEN5%? ͯdάq_.-On 9wvvsIS8ߧ6r7%̰^śIzJUmD *?UCn vt1]_zWI(0LT \SmC}||?ޮ݌[ pm9+kނf`/@^6>|R)XPSsl;pt\r9xTaӱ抏UD^i)VT~W$a{g aD"kD{MtOg&C-<%#KhW`XrPD(W#u.fžzDn}ЬF,q}Kj4U%dRc2=ǍECn{Y c{Jwuްɫ S:^ZCVneUދDX@ jX@Ctd&C$d DGn5K8Z}5bK"&qHڛ6oK%@mb<Ea /C9#Vs;q*N2b;$}͡Zܻ-ФtubHxjK';cp_=#"vBu$@2h~/[$%z}D>yZNٹgNdw!@%Tnw6c$'}xI777]C^z,Q+0r 3Q3\j]-쬌pJ6H_*z=YBʩ_=q:5.YdoOޙɡ}o\*s9SCƶBs44^KQq -`MFy0ˋS+zpGWcP :J*%6O|>FҲ\Ti8b^̵D64zYvt@VB<E-8a44aنvaM_]Bk #g05O*Y0} nh2Wn LAezLz^s'.\ȘdI{|'d *Ku.5M%EVFfp__@cl4z 2kۆ [JUnP^K檱d0}ƙPvlO(WC[Zu|oD kEQK͉0<DG4W.OxF5D!:2.wB :hс8#e$j2 C(ёVr#dDT:J/5U9~ɯVH ~Oxÿ v8B_ύ\)_rFWT$ L N;.=^ /vzF*)+".Ʌ.*wpÞ+ ,#w6ːuO4 3Ի`,}L v˭_+ &VXC0jyms <52WB; ؤ@.{]\e.,>kV ,r("JX%];#ɘnnHU2 x[ƸV\K DKF>XXs4{}K6.2IO١?ra;yK'̑P˵UDNcชmqu6ة ClWID)h"l:{kk7tDƟmz#BGQ#ƅQ8d&KпѰBǽ 0oUR`Xl4=At 3M>%Z07tKhY2j8P@XY<Bð &%%=#s\ٜ:vlzҷb3xnt8^DG76v64yezZSxDs# W%W߂<ΨqD u@JYWkVb,H0~c7lp0ӧfy]ńM>h9h|b?g*xUp e<{C4)rf#7h.Ӽ]v1#o'/l?bC L << sq "8-/}Rae BOt$ū͍ھjqG1WO1Um+;OA9#!/t]A.aK۸)jTfd7 !wmA̿fW EK)v_NkQ 7.HOo͛ކ]L=\c$ȓJOB)Ra+ލjrN ={Ztֶ+E]9X8vd vҞqjiKa:4Y=jr8B!4`j uc.;V6̓ '[z~ϥʋUlq̾.@fYj8WXf,纅Z@5zi^H:!LN"qi9Wٮ h.WR|oq>3@ӆNKRa<4y#3PHj'FB?Ʉ¥,>j\c$qG8qc ɵdQJ;K;NjQi2^y $oؖ*Unu%z_OKJ4DeT*;a(Nrq&껑9%1.`4%Hvve dvxM ~1{jB4\7TbJL,aP:u~L4n4wjZCjh|BPa:DeT5yyB ԎDo'`4tKNT8֬a(T_s"WT#6+-}ӈ9DY:/!NO{[ [Xe/x=dWF D37ptE0^83@JI)-I7I8Rԡ oZn}`cX,z>a%RIZ\TT(\2l {7Бex|HnD *wwW .6*:$٥?䫯H"\j%"E@{2,g~IIXqEN/ߏV]EGaü&.mz5A%J3oj8/"%XWݸAlh$*)~ȡwT*b8#gbb1Q6ڔqޚ mzN b1fzæ{ΖXn<|Gem0swG~5қG4=K]/y˞ǩх*sQͦ.#V@KHDS45dh?fUۍ&"H V\--.Ons泰@ӏ{=O[ =/>%BCNq{jj yD˚N(:%VQEi~E'^o / &I̅޿\Eq)a6Ν2 գ4^"nqWx 5`?;]ߑ!kST5rG Oq⦗uaJqJ'o2ā#)I_L֢h[c)k#M*jE]q2ނWj.?@u<CwÝZ:/9=IBaHFL=hk ڑW,\-#,ꉰz{p?Ft$]DH4/ܰ/.퉎l>l<^ʯP|sD3: :]E QgƕǜE],>!pD7Q5:Gr 5r':,eLLl_X)W ?ͦ%9g4Wk#Z vP2>xgYg-q1U{,bcrcqP 6 '[mlxSu6 K+$נ&Ւ9yѦ֛u;KWP?#٫C/nm-Jۚbۨ%hc6?^B93k4W'G`ghD5gsr7}0`q=Ũ5A)HŘk$Ae>aLJG 9]Ji\kגr|Y S:]& @nc)/Xf .&x Z*l{jRU꘩_8BlsJO*2&ꍒ6ɑfasx+8ٌJ$`k< <4'ÓW鋚skf^?Iu{^l?bh~wtSZpA48w$#e7wE-/Dž97 ]#^q=zY;C9# 7[@FάI)ݳLEt2hfM"CP7; UqYay=4X7}m+憌q㖦M٠9G &Iުˁ&eE}d̹!xB=eZH=Jۚ8y !#cd /ldVׯ;r \ <BZFap;F$A!33LT?D v/W 4?U7W(eC${C>q;yHΥj(WIOOۣOhSbW_t{?+a/y+>## '\RS1!:B$潨}tgsХd6IXH/>$/#^$eE G7Lڃ_zBBG9Yv@οEk͙TBeϳa0bK\8}u zBłև!ALnRAr c@92)J4獜kA&;Ai&0Azl_A41 eg饂\q^|X0P.S:*. c;'V=)ytJ(gFOPТj-6q<9Sg)ёH44 ":rB[:,OYܬy c&TXc7ex՜A+l#+g$4 -O BGx+X.6`BXI$NPWG" 4z)ʶ{Q_`!j5DDP,A?4$ż극ZTo@ Wr@.nC7U5}\a;'o$mmDZKK|{i~J8 F"{_4k|A^8SEߛx"_οNڋ.Q;6O1ORbl)qE[%&W.LDZ 0pr7r`Duc2' "WЪ~1zL%/SWFhI=<+zw$to0*e`Uz"7+OC!f@(y{4(zo^zrN4o_8Z~1+{Ag|VRBުyeJ @t =D~F#tW\y(g$T*$a jpΨh2^ lW)pT5qs &E^k%fG8`!=p, .Wmb,'/bZ\SC+8{ܗTy LXIِ+Z| +l }(zWrWN 5XiBz l EY~s:KEV.87KFDgsiq@~~-fp c;}uZɚr Aviһf kA&u0ŐaH3yRR2yQFXsh+xDOhicv89o\G :<[3Rpw:1QTK$DI ܻ`U+>^ujYm$~u;<,0m!q4Mg`!fbO5V0kթQѱ`%c?TYbcc"{q0ݭA\t6rRj0a&ӟ5pDۿ?(g$Z()E6v.T HQPrQ(G >ukɗ;$D@Atm-0} q"~,4Cz1<_;lw̵6n#Xd2>t/BCQm;(y`anЀ;r\ҰN,9ekɰqN+t"}cHqI@)5=W(++")2"ߊm GM+]"ߎVTfZ37Ú -i.hF )#HDovh{J0톪+2ltơ3j~ځݐ^9,'QSr;d(n_p43~ULjҳ|eXZ<=| ittI@I7?s}btio,]J.bbKO<gJ#m:JE$>Xjb[.nZ%deJ<+ѫ"l-|+ ]7mpf{]S .]`[=6⊍CeT$4#hC}mFoj2tzh z<ľ\-4x(G[%d-ڈt2L6Q؂l5/YT@6]WnƍK8$e>htG$%%Pᑶ.I0g{_C/1`'tV%)H]h&eKWT<9$#H¹_븯Pi JJq5&hN tܰf 8?S7W`Eø+a6:$VNj;y7^C!|fff!.`fl>݆"LPApၪh l: !w~2I;klP|{!YѤ͇>_~jk=u\D~=Ō$8j~ӜWpp{3sGE7Qנ%f.&C';q숺;r Qvxgdn^ޑ8 F:ENke2YXrf%j! Iu$T7˭DiФ,SVn̚"r<\5=|8H]]; (3l"Ԙ3M;ҧt- r6G!=RӶپwAƪ <,p@.XgfL~洹ASqtM VΉ#01nyDCYc6B79.OBKtldIa0G=5Њ݌RؿJދ$%"HkUC.(Y8o1S!7X,H;E ^Yq%f;DqYG7_ \ ,gLօ 1:򆛃.Dj gj%UΥ$EVqEMg-Rd%X[ZpF Y iٷn 62\&kT&2s}i\nړV#~Gֳ@y$/̎-t>V[ tR:Glxf Ǒ(2'l~)i5[89VL{ ކ{\@b\H6ua"2tC~B_)f6*S_] % "1ia]L6;[[ t92ѩ0n[gXc9JF|ηWg~Bȷ=flvh1S"y]nlSqr}^`ʜ~ñP8%K٬`+;tJ^%.cp GXvܜ%6!:&+iE(0]GE\ `h~Coa¦9,L[ɝ~ZZ$pdu6v$ Q)urʷ`!~&;Hݧ_kD]Q@mP5%l":2v v>CtȢ&sn{ 42zX3n:K4D>{i$%ܽ7M5AjV M$Xl.ٴxǒt{x ?n 6xޕ. UOp?fUZlUjV|yF7nlO:VEu9}SRKӳ|^#UȔ%=);Iu,`I@oXhhce鋜A?/gCYxb:TJmVCCt$Ɂ,[ARW>Ս111ic>,ץzb[K} hk]MyN3 2(P))nrO٦F-m@,}G[Ao;Içʥ0eþ83*d+o@/I!sD;nmM#AxiAf,OOzΠ!;}v}ګdM9eZqK{áz("|L*i*\mVi΅:iE* t9Kkr}G yLGdZy,7 sc2ݰcF]'@Gh4UdSk4:Ћ0%CۧL W\} !ϠzC_Zo2wz5^,K'8y!sf:&LΘ<92L[Tm &2/rdva/.!dN`- t:n\ÆAYx)-rP[L~6bW6wLvPdBjc r[GSGKxn;!)eZ&DzUnzة'*"%ʵW׀xQB50F,  w ꏡD2<$=&rF%O) cn%S^^n|`: qV|_%v2 V~@KHh~e}jP HOܲ| U]` -ORbsb. vp%zB9_y>7Io o/}.7}V Gqz6}P||vAopoؑ}]ƫs,x\Ot.ؙQC񀁃#wIeA+s8MZ݉;gX`\q )73i6k`+w%tK[`r(t dhbhѡS.dS].ثYpr51T>o*EZ2):۲-6pv؎EX'֔xH77)Cu_yYN#ϛn~3*tE%`+ %vv`o\%Xe.!N2ra+ Jaq0E(&EU . k5^ h%U)\'F/f[⩻JuрKv~Xv׃2?Iד3eaq̅s}(q Kk^A]-w^g,dOB'"cYyF?zDm섗@i5,mJfo?C#s" - @׈wCd2l A /`]iu[xjHW϶Cg9aϰYqa`/H=(KtؖW{'lwQ'+;xIqk_Xs1z yXɅ~Ht1nxH_%+ZqA5jl"K9OҞ  |$#vwNªUɣG]%\~f; ڪ DG껚׼{q_eSWJҞjX@O xov}_F/iugnn9Kt`ۀQa1/grl&ž.n/B{WE_Eoؙk՛R=өrC5r$?. zjvEW-h[\T~]~ޔ1HqyUAD}]*Uތ$/+hjX?nqΏ]aoA -h ɖ'yݾ[^E YK m-  mA4 zj)ecS_z69Ese(ּ~WfkdQ1Vf$D!~^&#y$J2.DM* ϠqgwQUR{5P[5yDkװKtnGr|l:!)3:@4(JZq0n1hƱN)D;O>A٦⫱)陙bk[Gc)5$&|r}Bx? Qo0 #QHNk|I(u^ ధ!m !s ʚ&Rd\8 *2 ']kQGo[$I̥X }oV +: heŶ&EHSc+=ƽ/XL JG/m_ A|(!5T/b{Cu,K\LV]$wm9W4Qwq%bɬ1Chq}MD~6r?9p8HnT1e=7Q*_-ZNsX#@_`r~ i2LY0My-~6ܣ^ ͼ!|^ .Z~$B5z=WLBTW W;t!F[xr*ZT ]tBlb!, G5%pV 6L/s0 BT%rBy{n\Q N_z;$gMꌼhɥUА=jsm._}ynIt0#R?.;GnmZUZ-$-N>~]"hqB +'RY&Gu6OIk$N7HѢU!8Ĕ3?pCV.&61P:!a6ݣQ\˒9im*E~ít꓋K+)PH?_R7񯲜yB9#;+:@ db] 'xݎAoSk0IC%/ztGf5DGb ~K%C_|;1^yoݺEcHwufO?v)h hWy/zʫu>nڵt\l ̜tu'D\&W4g+DGsC;(o_e9rig/9 Ӏ} nql6^IП$gik1yޛ{rPz \:9]LN}\M=AsE>@ѿD7. i(OC"Y,">Tw !.k5 Ś1ӆ4+w-wbI+([ϵ83,$(:X\}u7;. \"!Cr$x-4M΄:+b$J~>z'<hMN70ksӤL@@ttã"׎_E-_A4Qlߖx1Ea$i {z.4&g}JI *Zg͖jT>`JKO .!B#ؒ * FU/l;Q3qSq8a^,? AQ` Ne/M^ 6x/v̸JKxP.,nQlo"Dh1TC9% "GM5]fpRB1I`.K:NԈ]iZrG*-8}+ *ƆXqJ]Nڰ!}xq'^YXa[Th1zk|ڍߺ'mc XiJ e:$LCi|lq1lW?8"S zFj) q6ʿ;_ۻCt9P(g$3hb_f`?P]cIǑ{`QdeO]霞֭ LO] 7v:ִ%q[!MaC jDAc KUm(5坮 2Y];eCȓ]jn ""tM.n/* h"TL|*Av>"e:6a$x >hp`%g"%ǷN(ZzSQ|JZ>[93DwD 5HqD#h>4Lf2Cֺ=]#JGd"ɠ /*y=tx? C@8&m[tFK׹YRRqE/9E_(6b;Ly+hXYDIDnވ!8;]!D.~L㡦brC%ެض9* ?g@Yu{PjM} jTD,k1ޮos08c bZ_ /CR7ECzg>yiKn7{)ȇ*iqTCIOqγw2☏L¿rLw+PHfnˠ?*{5FL8 Dp4՘֑Yd isD%q!Ej%Vϑ|뾐ORR)))aRՔxxUR,ՖbrT6$9 xe` ̯͸`ƕ|-ڔs^O:.7̊l|YO|}!>.FOJ*^Iq\.aX,}:Gan4I;~^]lP/E>_wvv5yb(5_7I>];.эQ83|L;zN0G\kS !Xΰ6`914GWj߃sb|8{Μ~}`asѫD{^ALw@KԪriTsGGzyŻ(f}w78!Zpo&M<xhGo,}H#?sb܇8\.o ͜Ș"9QX*hRn%n)JNz _atcF毿#V$uzza\ .ؐO͢v H8j3QAjU T7[k@]O 6MWmz_gΞG("ǚ?1QqQs!^B&Prbԋʀ5 ֣rS Pmj852Xߧl!}BCWʸisҽh:_5 Q,*Ϸ鮰ZGPHf K41QwƗ)/% j$3&W]W\ld}hA.Ã$K5玙 "΄!QIN8U r(c*22/X7Xo[|gEC({b[eNfnzz?DF@_ox#=CFoJ#j{FD>M8EaUO;סƟg4OV& O M^ ^7,QK.3$#~e{yܐ_$ϡ`f2N6)6 6:|[+@noy0d>~l^˴,ջۨ,wD #yB^A7ʸ.M_>C/Tf8UbQHOKRtf\N$pORo@?u~{脮q?^^5 zp$.O |b XK=!p0 Ԓ\a[;qyga)T._! e˜nE^Y hw!]bz/+`,fܺRZ߱P`ꚒRRω&i~ݽxUHl"!h̩kq"T_0=?E֬Wpי3sьX[6d1R%U^9,%)Ӊ~6}m駢aG~ c&i*w^t:Y\cr AjHyr33CAKƍ;v ^IKHyDF۷,+N-+9䫯@a/GؖqQBwUN\@Ig9XwACmxNY56} Vۥ0o֞qNىmgע ~9$)zH;WIZi3kF@RQLK-bZMNlrR-[ÔMze,4hv~Аȗ [tF#t4MD2~239錤&ۛ6,ِ\GAb J9CGU!;HD#;ȟbOb.g~7҃MZHoW%:pl_(ġ$ߪ ?g6LGZ~sSmxƠ2{ۭxpB>_`&fMyJ#e)͟[b&FjZzb#sd;|ZuTVX0v Z;D:N[j֕ G*џK\Pt%Yg_o8p֝i W镽3-KqѼ_0ymLWj ޟuޝvng)Iu8W,^/9z C\^3SJڳY (m"]nIќHlG IAjj1k!,wCna~KS脈89/х~(.O¿8BRFRa/l J˜3Iv>A|FFKNܕ)wRRƊ֭SvQS{GER>FBr,ao)ɘ0ɋA$hf;k +.@GI*)F5F |ջpgʙqC`GIT)34yy쫬#Js`|$Gy Pd?\2OAtD$cMDG_rq^Z`=LdO0oIW5۰eB;efÖ!wV߱'ΧQ(ڣݰ$27i %VybIֻ*!HB4^m1=E78ТOq.:!hm+Qo9ԩq#ǸqQ>q4OEoh :>1 Aj8Ab4H36A5?ۣdCp$AxIhD uN/ y*OQ3\ ȳëёKSܩ4[E ,S *XT1Wp U~S3#5Z[Nboگ((-!o~ag~9CjHu*߃;ZÊQie;~KY'T7*~ǎ'Y׮u 9%L>P'QË{f`pDܐj٥lXBuSLַG=#R[Lx#;wQ0MНio]AZ]9 EwȆ;@X,}MWo[YbZy޳azMgH-F$!Dg?}SպbQK#EP DD DTHw"Cm>I{k'{ߓɓ'}=]w*z8\Ʃƕ((4:h"w'bඇgECUz3X*kh6=؈Хa#v%RNHBș [G(A+'~?)}}Ʉ]Nˉ3RL)(N!`:. \>KEs#vF\Ľ1 K_{tWԳlp:jjQ &%a W)졪_,.2SMV nƐsJ۸Uvh5Rw Õ^BP ElyLune)=':|'v}Vnv.17u€e*g ZE(BIIIwf\?թc}Q%~ +#d_!A @ʺ /hو;spltoh+.=Z߳H`7#4M2ހ: tފBd}ɑЗz݊" Xåz]Kupz]gDT> A<_4EӗMɽY5IZ5^ҍHzKdA+%>45a6U]˜H؇Dc#Y8!#0ȾZpT)ޜ`$a7O}Pzneb>^ v~ !8!։8ޛ!, +s3/y(Cm6kV g,M%,CK\9¤d!؟rūнFRS~"a~ZK-Rь~:RNi5=:# ѷZ@w= ~ka\Wa=3!B; d#1-SΒϙXx)DM!^u48Jc(WuìC?s<~j~MН!E ]g :7i;ʡKf ATkW0CX &.,O~ӥ3 3 V6`qFӳv6uz9CE &vyeB2js:Ί_!.$֣8|@zG{ݔ8UteoQ1+ k#N\ah6elC[?8X'^@>0BlϚrTjfuyҴ3DqTTTƮyE;ُy.XHBFu tf4:)y1Q_i!j"tJ# 2է d"J@ݺ_-E2-;tSZtm4IUJ`Ө֜[Ct::\ <Ǻ͜JE~[ڰHN&@Ĵ~@B;L1iT ae .oY(0鉊"[`e.6Rvd% eϒBԚU87+\څy8`<g\'B7cM9'Wi Vvx5r0>XYxy\bZ~1(cjkXx,\S|ٿ +mq=V_qonLu![|`Ǚ/>߿T<s{(,Q;R+~8q߲I !h3/ ?-ؑk$*9ůhc#W3;8fj~.Ǖh7 )3 !9[jϾA-W:R2{*4l}H/]~"HHv_~F 5N6=k({ b˜;e.2%Г'>pqE/Z#n&ڛC\`c0'Fv<~q=' 9Jy{GA-jĜ qH0XIIߌ8(NS-јÝ?1M`4[:[V-: ''#e{AڋusvwCUȑ8g@ځUWb?ΕN#IS,)G+;rl+Z^<~ő#:\M5%e}͚4 \e3*3w?sҍD_.u't͈_e' -!пʊox2nVq`/`GTV4OߐEV 1tD:8O)yAW\)] ;;znvb jbBtIۏ>M@Ic?$@H {H;wbN+"|$' :Ro'PQtKIgaׄaA ZVP }q4֯sAU/eW?sYQ$hDŽDkM$@ok5/Q 'NJ|`f:H;'ѨL{ mI ٔQ1+o?:;q8&(s|oI""a_@,.ipLg+~XW¡ĥDΟ?m^1c&/\sm`hfb@P`á AyxJ8[>g99Uigp}K4Xq /"ؕI<Tm<9Fێ\Ѝa:`#k]^Rn{߿XQA"_*CC{.\}gV#5 М{QXHXOS`x4xU#bb9.|VpV7FEpuvxl@Yq|Gme D/.(y}K3΁V%xř*-s;#}0[]RC@}ÒILirKXuy ~R!E^D[l+⬞Cl j_J Lv(5p}mj*z~7:TvrGw^ V1ǬJ5.8@UiU|ёnwHSޝrn`½M+>ؚ5Ef٧+**v3JAp~X}wy׮ݤ 'I%䫤0T bLy1I1 !&e**mv/ۗ>6n5[Hp!ϨVIy0 Aad^%>r*s !nuWC>="A'oY*IGֆ+ЀNYCY+,sPU[' t7]tC﮹I:O^\5 7!@oŠ-!8d_F~O 4G&aGh5AS4\tw-ޘo_*g)$ցj-ayڋ4bӻģh?P+Hd;Hn7 :KQ4uZW±#AJTL ;>ƌD𒕨}pD[N,eۖIm'Ż=!CfoK=*P۠CAlPwOU*ƴ$6AԓMJJF5 Q+=A֠g &^"qgavI &lр:x1IE8t4q M,Ȋ6b[wBla\铽`H j͙k k f, [04<Ļ|w ys9Ʌpµ#qH[7fruu09`E{IEbbSc$ v[зzfkATVe+H\UN^iJ5LZ2nH?U/%ڑ 8gk44)4g0ZQã&N3RVoӬTq|Pځa-XkF10ՐnxawumbTuJ ўY_v^Qz)@% b6z4Ex=3n^cKX@a3pp|0,uJq6nON+cտiG{?Csk<0ԷsZwr2f? T^y#uP}-݈AAs5jm~VI:SLs#6Ǩ"FBD.qX cW:=\Cf6U*6tyb#th" Kķ7qsĠ#8lӋhWz ɢs4 hy+c ۟(u9<_;w܁y* H΄s)L_RK4R= A-Vzr!!6r|8cUM% 'u8Rە8w 1c$6hPbaҨ\9L؃hACCRRY{?g֌?4&===>Fi4N%?~,դ4^(DHFM:A< ߮v:=1&e ڵ 1@Tʈq;\Է]DgFT C..V鰡);nqD7{y`UJa`[BASt;_+T,l3YuzخЯd7o{hk?DvxG)#TƯb*0nm5dm~]ɕFQ\0t`:﵌g?ꏣ֓QNWLG|Lc󯲂$eCVX?G@rՏ=">ExT,:];ۻ#Y],QgYU% ]WRb5*3Z ߀43:hM:bz,sBմQn8iDZ%z t;"!!!+c8 zN)`f_[u;u=LnC?GDԟYJ^nl L0hUr?yP)8&3/5%lIXwTtl"1klL+@IK ZDzZu8]T;9SYO`i6/3fmFKIw2gky8j? ʾ `ݯgEq28_gI5` "{8;oY5ru36 Y& wbVdߦ.!iDrTNBpH]ii \;-p&p{<ڮRx+1 39zFrk9eʙtfڿx≳ tZ>o@-stKtYr>Km@[&s)IL+nM* '<ᓠcҸIWBgwrŏOsj5nG9 #8Ҡ8 $Y}9F+{23i|'$''I28NaNte?79Rҏ[&ng@%5)z[WNCB٠WKpsnVf$M\v61Dc̟C<6 3;OBߒG ^De`#1o4 o0* ,+Q&m ē0þ `K )]9Y>qmA M,MHa7W! {:eyxKp{|*=NaFzFiFK>SΨBXۑ[਒'~}l\e9[4~*=ڒٵѺ:[$[ف8z4| u T{o˿IpM>ԼqOnY* /jH9p}}/\;=1qa[KͲM!CىKZqd:Q VERB8b!Hm8?ȅPCzOr=DAkƯ8AUDԩ@Æ)8j#+ 4J%a͙Pu#o9!^oɧB,{0ځ3f,0ĩQH(6,ltґ 1)'_'G]S`(Зp&)44f(DJa9CNz']s'~B *%%n;دpۤJƺc}⩯*+`u{+x/\Jf2Կډ <:̓SfI}O]#qӓE4=xpIe|MO񇳨-a[b$a'VнѰ[2}LcԿOA57iM7SsKgtY 9.CT,9;ğh۲"5 kV؃~+bc$H)]lR?kѡ=5VPm=E+uE[Q(@hO*R-Ug7N*op3=~˥-%h}2܋exd%8Ys('wbW] 1IVލXknPNxȎCHW +=U0r!ϦPSW=˖I4>T&HpnMIK;ySM敋jHR櫎\ǟd Ϛ f+Jp\Cg0E""􌲲9:O9pN|olկ$\W;+)%:}+k7Ai[s0RkZllp gPskɹ-=3k|`W0<"X$PPu_CF$C6|W]:eQa:X_X nc}flr&#D…=jZrЕADf3: #x4l9E.Yt d. Oݩ/=IGC3V6O e:QYo+*>bٴa/ع乙b7 {;zRG{5WCz>J!J'yKp $_#¦^#pX>NuU+3 1%Ve4%\̪49)I9=~y?w'Zѯ3HH?ĕF\ C "a{W j>&g'V8i86cFB$ Y>@_bcw]/U6R|Eb &gZB/㹭lę,F񝶖xwGI(n?,s.\Ζ5`_܄ K>) O UGpX1D^m8(IIGµ0T1Bu5=Pz,FI'=EY4t!U/15GmR-}RSSIvK4w]s'j0L0a-Gl1 þƾ#%l!L\&;0[v-_ZXv@G3x~u]*h?qzL7.ZX'ps:j#"  x,L+Nv9^sGFUW ,4` pz lơ}gnGlX{3.]ہ]:`@}#IS[WY񭺛Y, H^sz{8y-{ K5|л4^S0?jj_xߛX$Ceh@x7Y\'oqEgOn:TvAYq<b1F`yORljf.X/quհ>b&H~KEx Hjh|yokr U澏.8vDpcqO.8wsX\MЦ <ڤ@e4V'eEjDTƳ ^E4? lgwmBSXXzOc%ӷ=֖+bD~0 $ HR&NwޖͻE@;lqqe3L^A֮bɃeu[pz,1//oal a8Q؛ᄡdQ?DG,NkRN4O/veK˨# ! pmӹ^L'!vDϦOl9t4)l~$:rb%X#82SH*XлمRz:gxԣV s/5s(_'߄[}k:* NYvT oB/vrzfVal68艗%3a} 7>vuplZ v"| cIHB8 >~X}1ӳ`#9Km}-vgM C }! mK ~:e-*_ȮH弿2bb1N'!윉HtǼdTOu$iRųmk{Bi[/3㟎8Uذġ=URl=0_4\Fs.΃%9-8\ t]؃A/(*/W̠QqrWVMw֏eu fX.pP ˯t\ĵ兴;W*i$c&{Z9C;pٷC4_*Hg.l^T6{vg5b.A+/yk.S\bIl19ET{ 5f]0 e\[$Y ;),jHЪs:]4Feb>Z-?A_{=k\,I#LmE8'{)%W ˌb5T~H`}+>@6ځhPDG*,+%jnnz( ?v/ ԯm;eg[u%X!a}}WD18K {OvTKnTpvFۆPpUZվ\X$P WQU wì5jW? r4vVY]P)\݄X( S5V֎_ >477`|6nH ׽'up8/R9D'!:Ʋ 5@W>MFr[{a`!:*Z 6|.,)JӨBD84 *DA H"GWY+h?DcC?8ldLy48qZ:'ڇXl.%l]_#S!\,CIG]MIA|#y%vl0ޝ8D&-DbLə,=Td⼙cXTd9L Ѱr(v4U%Uφ* CcSXGoHLt#}Qs:Hbke mRnx{ZIB[8m"o jzm Vy hwvs=Œ?Pv:\g{2sll!HBxcr+;ka+N;Z:yD _qne#LX_릌>='~*[ʊsy %%%nN_ad)qOW8O [@m ʵۨvq+[.#Y+θQa^e{ %W)'XsNܨYHg^mX=CenD-&pݗM_@RV)=FB\= lWMԜ+2abiĕw`ބ`uCIA lC/)XtdI /ʄ*mDzd,1߆#M(K,1J]i]UT0 ..6Q-C~MCӅ㣛H^*/oO+aظ" B#[=[-!Eg PP5ïgO3DҎH8< s?ݝ%j,Bu^Jc25"FmJ/hBaŒf_z<)-Tk{{`5Msm /g02bĻ[zC*E%< `ϼ=}zRHlO4Ut;IHidT4}/G#G븢U}*}L1gFEmYO~TL ݑmCӼΪaV !JQË^ ) ,IH4d2Sx:x f](#ڷ{P2 fх+P 4;$76aV3d|tSt_B w5kՍS4F'm{.Wd_=wqx,y0{DIpǛxxi?81;1dёx^YEHҥ+!ߏ# 5Hsȑ h( ʨ`+vKoS#*-<Qg)m%1؉u<[<"W/@N_M8q28kEl0R*\JsE@V]ɹjx˪JpS],2{eV}^uك8W:fnM7.}_3T߃#V!>I)d"a#o|Z]u.=Ɵa͞2ztQرG*H r*KӇ~h9N]"m\Hayyy)]r{Oufl;Kk:ط\?ċh0vQ0sx~Eϸ`z90B,ןtƤ7=5c9klzIS yݮځxۯ^ РA]{C`~qzL֨[~: 'y˂Hd[}j*\نE5)[[_#Z>8>Z޾9$L N?D3 Cz%QMb.v{e8br &tMtB#F?c$\l/m8$`éJ.BǼ ѵ<rGF\5=ha]>K:×:I{(~1`MZxoZ3s.=VTF;3{cQ(|E耚0磚 5\Q-,g8ϔXj| ufL?W|7Áem8@7,!8aR5I ZW&h}9單t՟OzQk8 p#9@T6A1= iv?\=p(X'88CQmSԲ 6m|%cd$krh)]/2%XE2G֍3f{\1)(wO~%`D֣NN^ԆA8Rܱ#L1?#.Os1K*hN XTz:4\K @FH'a8p&=ϟ.!F/>a`t(C ;|v92(U|p"g) XK8.v#RCRsCMs59=<큙d0.K@ߦS=tU2frZ0 5ٵzRY:{ jA`6̴.fCUZI؏xw J.M0eja'qqчw$ a N#Z"X~h.p8kv֎p͚V0#Xf6t=t$}{X*K߲dr{}P4 ^ivK HZB\@f=IYzGęG 9|"PVmOe6pNΈlnCq"q7o9=fz0.@2WZ_@@˃ ]!T^I #Z3 :7٣oxz-a'?m8|(DƴcN//>9 c5%ᄕɄڋ!_WFr^q$19(Os\b1r߫sQiB$a&U4W9w÷ x^+.v' 8vRЕN##ǍӦEA5-q1µdpY ._ /tSa89:%g:!#q(;Gx# :pЬqQTTr<KhmRR5miDƸol+3J3Qb$DAlK^}(3 MgpưiyaQkPO*܍Fw0bn]g0)théx$#6S\Yr$(_Rg><84EyOR Gz\O}Onf!\>=3"%|䝬!⦠ L~I:qu$dRg빛4+{C;\F73jaW/A )npIpR@HR/g Vh^<0}1c-l~mE8m0V9/1vHa_["Ŵ9)Z2j.p[U/rvfSоQA`bԩzDie$ۼN5oYZG4fS⍓&1#!@F'xMrEj8O3#rX('Vy_g?V 8Gѽ$Mvrurn|5 ?1W&tyyy9EO߲mv s[ڿNHLKDȀ^ڹDȺ)kȻjn5A5ߘ8fP@CT)Cւ\xh\0<8_HΊ5t5k^uP nC}n;dya"F/1U~Օ[QXѴ?r]uJ@u~_K}n]bPĹ.C c$C !SLΥ| U2 zU!41#t҃sGAJx{A/bPf;rosb߄#,$.CUtR|cB%4%iDر#HKz7ހd2u#QE0ayD:'LG$}+.`'WykCp4gNHk8=Q>2o2viVγh+^YA}߈ #pԦH]lg.ЅM-S:c.%1IIܣh\;>V,#CK=F!8@:oQwi<'_,r5PGA1M?6)!Ѓ~:rX|>)ޟ'C UZiɇHBBT~B=m'$pz܆Da7qt#VQag2K`U\`ԟ8G_#ԉi =[L=v7+.u'io`3Ù{DN+CzZx3Җt+l&ކsr i(Vn,Ns7Ϟ$Q6]tY]C Hfܮ&qjuVuZ. Js;-q%y7 " oůXO#dpjYMIAk$F#}} 28`Aha#* t#a?b9|3@8@@aFbE4[k1QWn_q4Js}?_/}MYs:UF^]05(ǑXE_q5TfU_$_(8.p#m)U | ˸5"4UXr NQ Ɠa>qO0J2]r"Bk$?C,W>XcEYD~)c 8@3aULQeeeEEE99lhܳL4c]}3/Bn:E.ǒĶfm'#^;QG9|_Rwe'VBGB8%e/te8cRJ0, XsYRضÛ RIml1XyƥSpB1hj~[؃@wGw1͍\\]trs3ݝ5 #N+#.TXr TcR8,kTt=c

e%Hꂳ'ҋf >L ?]f!%/3:+SQQٳ߁#ID9tQ#~w!1$&Y_FU C5U>9q)Xz`\9p)a] ^s0l~SW*'fA?#p/x8.㘦A\4cb Ac|ъ=FI5Za$~@" L^'bϛ'XD2#yKN1~&3ąl*!9: qq텰mC!úV]BKſ撼'OA !GѾoaBB8kYhӭQ6oέ0B mfmzվ9,Z__ؤqBjޟݣ 5/aO^C3b4Fo̖mIu 1ꈿɺrͷ>WbYp+UoT8#6 :C0qV%v@[aNl9V&+#d_}' tI.F |sK6'|bez5)8s <{gKM.>} @H̓]11c?f z<4}U;P^yp Iߦ^_%Q &AĎu(PobߓUqU΋b? 3sǏϜ??:0 *`V/Et90FP~TOc+MqƑJpø b.Z 1}/eo=j1RU٨aOfA.3 @;+Z FlX'ai O+3o`KM$z-:'SU#rt}❭qầ+{҉8нf},r }m t]a0} +p]g* QjP=PY0T%\Mq6CψK&C3EE*r_^X<@/VQDb֣FʎŝeЯ7@<hت/l\/B2LNN>y:,/@, nZY8mMp{%)Q@ >osD[PЪsE2"8B@1/b? ~_zj |s."[ϹpX9)RV9/{1H,X75jT,.IK{|1cs;qpMS҆.BQs,t`Sw%p9-c#F[Nx WP>}UMm،P7LuZ= }ky:8\X]{ۣ㸩%'/ |tDڃ%9W}mXGEkxrw)? :&[Wap;(Wq l)lGI39#/*GB8 SebLȯE4jW A%{@pX63N9Q洭~Iv 3`+dq"_V{H,Xf$f|'"W„~N kmPcRѿWf᮸(oz}ǃ<ĸ_!%5~kF9!.LG(mtt8%S.\Jm.;vK &Dw.**"b 葕ͭ*6ZEw+;}^$*u-%.B rc;- 4sd-R<n} vEp'#%!GJo{?Y3$ij?gtk PF\ÉҴaGmwj=?3qXӦ8XvUձfvjCLY6!ve>ct%Ɍ尚TtȀ PSՒݟp!o3p]o&ԒjA|ڌ.΄^%GsspK@_W^fo P{NJk-/g=t8%Ơ b!D#} 8tCqC ?"Hqɨ`9:@ |xڶdImLô :b$K0D c+牟` W 롛5kR5_B5a"2iaȹ9 _r Hzū*,g LYٯkؕ]Wsηpp}CM!6aFSe:[L_ <sB u{zge.Hg'᚞[f+Z7v8ě9k.zlZzKsԙ[ Vumg|:DOp ]I;lAOPyEkEi; XBfhp\cHX_&V,2` ̢,&Ep̈ءHT0j@ǡn8KzDDzzL]|O{tݍ;=WCl#6@t=c`!O=0ßBs9 ٰt`j ht:Ԕ@b$PvdDhmjj*Y]ZJP ~eϧ*1&y1F{V)^%^TsY{+aLF6*n+;TJS[bu ?+i{7 Xc3 >R9^($l$z;),zO)&?xx^ƍg=v0~oʲ,Kkșcd1cOVؖZW ӑJNt՛#Cw-Sn\ :3ZNdK!4Q<>[kҐ8szڢ?x`>| 8d=Z" 럓]#XR EPTPSI=#p̀WT+`J>jp@w+<=ag{1t =Jz"3WcpUv1WkwA,'R9Di]۫\PHXfZ;Lۢ4aF5 1i|unB$99OT6DWS9I Lϗ*fl!K!PJi&qoi75`5 AZhurzxJXV?HJ- 0 FBD AE{y#HtĪI,rx/{@%5UHLE)+Yäd硲:jD[Hk$WmZ g+ݲ,X3[#VH]+g_.Jl rķDO΄ 5LGYc?1D!'B,qԎ|q&q^ n hyqs>f]8ȿ%p5 CD8{t=-YD^ ZMk!:"С'J-q-w4PNN; [V%ҟq 5C\\Ki"-d.(hT6&Fbft9 =r nmFm,:Y)>u-LG{ha%L|1\Ukan$~_p*ZM~h4t=[ ~#;R p* KMj$·՗UjB [%'G,i>= m*M :/E'JY k`cu{~hLlmb8l`xݎHF| QTΈNHdx66މC "%rj:`;ZkUѠtOyy9m&cda8vWغ᪮>8gJ~ S#$%%]hAH(++AWh swD%+1 1FC4~+*BLĺƃ,gma3oeWj\ ,8f$K°vIIt|ż$ g"6lڔ-~DVMJ\vlZ1_|  O z9^W o_!v"kATyo# g!2`ts~q_nހSB%ZFry6XΡ$hOrnC/g4@| *n0ٙjj0Bzy]\`Y S.;#[V1+EN#P~b>]5)?w<5YƵPYrXp$q [*،=qwM͍rjG 7o tx̀vpгzGG!7#b@+t(.$Wjie܌@:"97#x:D mT',RB`;-8\ |||׫`}.ثzT~PHsi\s 1Xc$1TKFW=SNkqk,P=]# k$柹#8]ThA]5Qt>aA^VvY`ʹj[i#vL[ٙV8L(ЉkZ?Iۙ ;Ù$ ?,WqOx}_x~/0{ILK.6QˠO 3Ĭ%n9 &RBgZ6DsRAiØ[R"k>O`<?ԝ$psy )zvtUԪ/W86Zp4/pu˜P:'"3 xRNoK7_[KT{D']/Z7  pyj܍_ѻS.ʿRW>9m̃q6lU| "lSK{ɨ\^W3WDSW\e X򽠆lTΣ/C Wc$1\ N#&+\mf$4K 9C71t_fu2"Yq NY%~=L@ N``ҧ.^N>b6#gy՜Bf$QTu_V4抾a8 <{W?hs#;fCFq0~]8C4_ӽ3PtqKtQ60VW#_<Ƕ2k]ofNnx UIs_KG+ sgM&f ÙC%Jfxd0<.T}8CkHl;XBScR0N[SF7kE;4 m'a-;aˀ QNowCkJpEjJA )yӝ 2Fr^).T8Pzk3Ynz2w 5b;Ď`Rux`  m&./A\H7czp׌Oԍ8U5Y7PG}%zIYBINss[hS"[_xMm!^,, erTN%Ilqcb!Hb$.Lc1Mh|N1mJВh4􀋓R,9kߕY5I\RN0X}4/ݒ&DcAx->.vgs!3"FBpb!f$$x3? XEJеX%cdFB|hZ&vE[JV։fR|{}uz@腇GLl3+ nbݍ1f5Ǻ i-D5q9q&7ޠ]3wB =2dJ4+ru8&eugcqҴW kdfVrz㰉j޵"*9О"΅0UGZxԆRjRmBgp5#CoϦdl q]!IjgO0IS/]ëZ/0a^ / n:ې$J4 PpQtinj!I %#VH_^d6~!,\ #Qsq2Va/R<g`PI9Y/rq\dG)[e,"EU@H/g w`tr`M*%B N q #rݚX }v jawOw5b[(=gcrzj%F}M<Ghy^&6,rW)8 ߡ,h }=;qچ)y78@W1-i+޴оϗ_'<]-rIؿcb$߁ 8$>*1z_; Y\V"&b!'GT#4amHzH՗!WA1~ęǤ&߫>[\D8}d(/Q Q)L4$ƞQF*-=}V8h~ \%:t E꽃k_M,8x|̲2"III_ȢvsCݐKؙ[k}2"͑E(c:b%8Qg Ԑ${f$K(O9a-(4k\7&Nתxڐgs̱+t]:V'v <߆_]^s"qȈwc\B o (p}W, .Od,P.aJ2G[BhށuڿFiiiq.TIJS.%G}.U΋! b$߇DVq`9W5p+-\+r|wr/=DGpD[@ht&>xvQMr*e"7X 40tĬq !aϽDztA ;d:RxLtwLhIv5`0AI<蛷,y T=Imt`02/bNfYjB:7G͒3tRv!~ڄW!6r嚑!5L3ёRX_𗘂O@ *Gp1/^-:*$ 1FSAЕG/ aekXV[v]~`Vx`ꜰfqII\6M͔`EMWCuBc(\H;~1b^w Lߴ(^@WXXHWHz@? l$`ҡoڱ5?pIQh@ y`#^QIp~6"Fr:I8ۢ#{7M\!>>:؞x'9i.Ve.%ݗ8B9&82{vnj!LI  HPN>=^#9՘M>ژ~BQ l9D#.b5Dy펁=<)-Cd'IZ^W:~X[翕j޶Mzxv(yD͊,G\m=*A^+z-`[zPg(սNޟUBaq?cd$w/L$$ΉͶ(~^ĴI3au7p<ա$@ /!07x+p6OA :Lz:r0h I ]m/q^c#xkZ bAA_%iCۼb}~ThszkѰNuźU\ݚjNMS2u`/*A#)OnU80̆s6aGh"uK YgFru;:s49?S6ݑa\xFe ݧj|y%HW@T[pVa1V/WO5Z/)"kE S3<EM3sT 4rdG`~ldيbX>=Wyx:@';)x3B +:qZimШc?ЖLn \λ>IRzTkF'01;:3p ~1MVCHI8GGjiUq$wxb?1F4۫V]wYg/Wچnwut0|:!A"-_i W}hH&`tĪDaĎ R5 Õ Cg#ub6S˻44wĬZAĥJ̓ɊBtyBِa?Un?].i`4DmN.B+]_V*1)pֈxakw <!&%ZYh*? د/7F#%v% ^=Lp?j`f1~xaj= лAgߔ~kA:r8X%o7 FspGU&r\DžL(b#HbGFbkL(_jNcIzcts1$ƘIL413ш51'#QtD /QQqTA吅fYv]TUOOwOtUWWw?toSNv,GNf@? ސO\j~/̚O#gAzUeUΊv#NS1ƷR9~H=B'RR6E^"q/=Ot]/Yz>yVnPgzxoI(EH)&XUit-'"::DoG榾▮$6оc ?#+smSH2DZ- -唜mf 3z 9 kHzNGj²UMEiN8ghzG;u0B蛂|vwʜBOyF4ci$N;Mck)qDG[~j񴆆m۶`kVnɺ!dO&ZagawOq>b,.?q]tscc#Wr;/ȑ5v:2?Fs$RICQp=%_m$ӱ6" zE+ĩ|Fy4,_ - T^t^rVdOP&Djf4a!?nO:`γud*$A}|t9j=X|RfJ_Q'$K/Ix 7װj5mwfNc/Ò:EavY vf#KFezx@!@"JQ1\D}/4CMuB}*oٷ1}9f>)Hp 2NrE_~g'VV0#R''WH9-X.rǏ&I}È'))j ?,Α7F/ĖS8]O/fuj*@|qGX|c\xc_OkM\Nm:Y7׵׮- }5ZSˑ#\>1@k-OˢjJzi#f$uK@T&zz\ ayc!(=(~c' nc~֑[(:u*N6,3MgY$h?#i,@w{b+_}}et~$m>#Οa˘-===o~Ѱ86}m#đr \Nn@sT0\z|q&}lcxWa#gƴW|Ⱦ=%OY9wrvgwrk"5㧲ډcĪ&{/]N{WN /5m^-w;EbjKd'~=]>ki|!Px6R} vy15쮾D_]IuOv+|k.TJvyěL֭H>ڥ7AOTo2UGk|\euoS ^S+FT=IP4q%z7S/ge slvѽ:on}dԯtDIIj唬XTGA3jM>#ht]xBKir^FZ5}3ޔr1n\U7nӮ-+lh995.X`tbZm0|Ӑȏ5. 2Sނ8xW.v~#oˑ5 :2 #q m]f ey#ÞH~6ˉY (pv򭖳6[im HXd_ɣCP%,cmՂf ُunbrδ~hut(-ӭ.%mB5nmBhAGGg."RHe¬#s(=c^vM "H ŸWNMni nl۶M+zЧ۴iSOO !mNqij+0PH@9*#mx;=1h+ .'O^?ztEv5"xՆ9!P(=F'r}Bj q|)՝,',ĊRǫ5P0=';@b$zwJ~>~^)4[}|yxs(Mrbֺ$^eVU-b%ҽAv|9];Ѯ}};hqkY嚤Pz{?kor"ݝHR1QJRe p>ݽo77ٳG>NYtè w$%ϥdbN3o}Ę .iX=kY?ao˗FHr^g^ ( ohѲut={{K9l8~pf~۽q}+rلl,4O/V$,baS"? X($x#zدw1iIE:ŠDL4%΢wsdY Ǘ^Nq# OLQˤ.I~tvY[o.7Qr'h+(dzBE}HT{]5J]Aڐ}0mP~y3dq =MLa9=ɍAX^=Mk>KNCie)Ԙsͷ6]hwPeMtNd1u.FTo6 'uֱ`dz1VEϨCp8a(VTSF2usjӟ_rd̃E9sHMbgOU9wߝX}NǒFЭHrBN#{&osVsv:%3Q҉r%~m۶qȢn1X|ξ[SŷPRlCf4\蟍@N=hY_-h麒$!M].ũT󋬿"GrAoGVd3ɔht_^HPK^tWazYAKIXN-t M~|wߓl J oӐܝ,J`еo~\#ϟOY@qxbm+6mnSXvpU@R)#NX9bEJ^cTth:9χvܥ}|W`] o?++%N#Lu5h`\ oIL+"yI)XO5kS՗(R~:)ΤCGuM||!]B7)"q +* B& Πd'\}>&I46iwnѭťs}:A5o㺓%Iu]O%l4~1SG_PZKoMũUi,Q^ӱFВADձ1IЅ,JtJM^tҞtS#$KRaA]-}-H._7{Rt]#tRZenÜM2H3)%b{{+) X]QiE->8V:І9s\{pR~֬U>os?/r$Lу&%d}p=%Jj+|%%Q03$D킚ߺZeKɻyG Т1sk6lLNXra]KoAW~FYz>"##VhdY=zy۶mABзtN֠L'}*vP'J/ž@ȿ-l Zǭ~=IpIG"П | '4.X9Eʂ9*XyٲKǷˬ˰N~7\=9뚭3}|_N̈|*Iτ|#F&F&fץ.U k]W\)M|Ȑ tƳ$R#$|˩G)g"./ʕkkZ],{ؤ$Hھ=V&hKs5ɕ%KtA9wAH  ur]&?L gș[XB?NW |]'zqZ4D}J~ީxko^OgN^~YgKaNG}D ։YpzxpK $~53Z评EaґXlXiRΈ$f"⡇蛏|kTKk\);YnEwbՕ ײ\^9aĺl qtb}D,2 Zxy]8\/89շp:Z[U[J{_vyߤWm$-X=69rnV+/m3hXJLS==bȷ^l梁6RL5^9+˅kWԾP{QX?OhA2>$; e9(FOt΋jI2Dr]_rvv-waASOH-a]B_^AFHnιƙA#s(Iѫ^9ϥ0PH@a-RWK@# '+U:urފ *?=[YȚch೤qY@@_)Z J9O%J΢M\)DYT?cBe9䠛.[k݈o $F?^"$n9:~ Y&eBK#Gf#<|ڗ#ߧ`]$F"ZsԦuȑ5-?ˆ:ZGjԕKذ:2!!(mR!<)-4zE M52??A#mTt U1, Rit'@A߭0LreNRB a| ֎q>CVhyb*f32H2813b<J (;9G;qYϕYb-}(Atɿjĺ?s\/{b_&Ԫ1%ZrGr䜱FF.{#Gd%q}DGgVam~#{Sl\BO5t[4G擸fM5w' qE߯HԩR }OAYs06gK9rÙYXgmV$w8yH PDH@%У>rݹykr1#4M$ҝXMUYdC~#Wn.k#k#3$~*uxF~#a??T:nմ/=~cyF7fEg&BIrYl#k-T2fR)ㅝb>MX,f"{^p̿C-=DwMǵ -߅>-7հlZ şL$Na}R_nJ~z8%PlGs&`^p!c4 q?E:n㹴zA{D{Npn}DtNR䩕Sz/7"uUۊ󷶑+d|Fg];aK @ sT0WEl?GHq:"AF2FW7ܻY~9FE2Z9+yRӃwbszu'o.r$xo%H^١Ysө7߰E,G""o8srٚsr I\G4HCWvtMɑϐ5JX䎵o-}tVDMtJɖa_g}['WK-=<]@aZ^NiyYMFtpǓkɘ85~?)1F&M+ܐ(cnOӽgs|Her`Xhe=KW-?m, _Lӑ>KOsb6`c30$ GmRBgZ9_y(P9r 6ZI蠓 &V:シ7xUӯ2$;6U3k>}$G12;S΄|8nq ?w/jg:}ot[uu}\GG̊jnxwS2 Y3a5M$Q}8Fxl]l_Dkʿ/֗׻gOOoMR_=lr *Ao~^rVq-riO4q+AT Λ+>d Z:nYv_ c$囼t'#:7p%l'iWh1 H]?TǑG{ (P$>Ǩ`;}IEDN]Gԗgt4agv#kU.H-R1V;r1&}GGpx-$Nj`ʹ,G<+6#3yĿheWȚ,׮ Mx[JrzopR}bLFoWkszS])+{&Yyf8u)1Nklټ%?U%c{%4z\Q/B|rK~AbdrL~G_*hyA~r _^wwigA>Jo|{o|bZdØa }K @JCrH0[5rHmQ/Ρ슜;7|`E15rPz=sdJ9RS"WcB,erdٲ+>9(#,J仝-$&snx&^ ߳K/B.yն& $?}\}qϑaJT﮲7k{:[߸e>IJ7e8ũ5 S+<+׿ckCJzC.؅&2AA'h~@#6ORz_ЗLK>MR(ɖ!>uAIt0YhYjt +(;P$ XR kT0/JQrp,7NT'V:cjbdQO2=hw9֟Zq2}~&vv+}|IF,+uT7|c(Y/E#D$9Id%Tl&1o}v.(&LK#5MՍGwvaQ1a([/hՉ+m6Q,zޝӰq%>FS=rضgܰLcE=MT6\x?tn=WhIt3㴴N.Aks Ͻw麧*֋^) ПxnAط Vw]/  %Ʉ øvkSj(P$j(oYJ 1}4m\rwFùXNo{濶SM}Ƅ'k%A(?1y#f:,#ΣGoPD*2UT%,c'Z#Lh7 r'(dNBoR"Hh\ T‚gnwfY|6B?CobmGY' 5Y趇:Ef cpolشOz. :%~9PlΐyL $ϮNMF}]h$NƉ2f >Tmp29WǾow {? E*rD"z[TKu#Qr\}NĉT%-?-Ρ_f[ ih)f$&P2Nl#]k)?P$^m$VHu?I"INDw*k,j<\bԆ:ȺDiaL\ANz}ASx[V$7)htH=0yzW@~O,B9ec*t?]:Vtah#Bj_FPʎ#ڵk|n ZFlA!mp򻥗 DnVg+:+V/GGF6rT9G3;^h\HA9U8,;hBHXNf6zb`X}_*3<-EaC?<Ε'cşhn DwC響GsrdM5O}hHx (>-ŷR;r_.=ޤr|IדHPy>I;uO{lkEC#V(H:|4hR>k<]AOFH6 w{{zzzXu~7n42>Dd3E+BV-qJ"AGi2pR/~kwZ̅ tz6~{{ߏVAЧ"t8鍝oOG)mQZ9{}rT+ as#;|D_Zwi1}﫧vG6X'S_y5usS{(r2G$Ӱ+kJ(FII[5G vA5S邞nߋ1| a5wnzudT~={u˗/?6Ag_i2ok$hSb;yR5iߦ>E;wqZ#u +dg# Pcqd'P2H@ߨd+ArٚƄ%Ϧ O!K,Yysn&~GG^qޝHIongdX\@詅7@1 W T\H<$^FN$^Hz:DXFYJg{DzHS}l&1Si.rLmNצ9oFn^bՂhK!:K*o_kYdrӭ mKq)qJ:D?rw>OGL~_v̿YO%LNO{G/wPcy8@Ł"UOQҟ+HWXzz>_HQ.Ի&>G@,GαynAמާfD= IL[ qNݦP |RݛIR*93 9&dKNmC\N/EGk%.&㩤nآCAχh1os]7~_);$q6lv]i$ktG/Fi+/-Az*I6ng !96Яu[]Ƅ+o#ƭo}`)*a{uG# @Ej_m)bqhnUιI?^ï!q2ҋzS:ZlTXv\J/K3ѥ$R-mrI.ygɑ59rp'>` FTJy[I'_3FUvh.A-A0Š#vtu-]]s\\{#-@QA(?$+C]1KB3( :>@7l۶MOPt_4O B׼/{uˆϫ#8'b1@!`FH#rs \M+ Kjm-HwnLT_E?ANvz| Ս!Ɨ"U9a)GT7|R,Q&|/ߋʬx/$I,FcV4ͬڭvnob}5.EVDhъ4i[:~MS>OФ3fv:?~kݷLRk֬ѭM8i>ItGtOdSillCjt]rU?XVZ2ꮲ{HЗtN9x 8:Mc<(P;\|%>Bȏ5[8}<}̙tx$.(iiHvҗo]{)nk<@?TmDߒc}Eʩ5$>sZv˩G4Dgwg>(mtM}`ZrW?J/Ebe7/4cӜ]ycN̨m۶t -wXblҍ78fV$OqXߩc6=l(]-Φ(grPG290{/}Ҧ ]+hY&uQ+m=,S(PS;$r{*ԣYYΐFߤa' =W`:}UgP tm9Cq54&(db+w!rdMH|$ D7! x Kx"?C$PREF>׹3u|:▕57"2˂f\@EA*6 W:q ǝr㳂1AzTЅ7XխYqpǕp5:VA|$ ŤO~<:$|ҋ,h.mbm?7u /W)>|_ZQ^X:XP=@ZG>"uǨ`vHt)׬R`dčse@b\ԗZAҿ]3 oKf#f>{ek"2%$}N BzZI4S>hzm^RG(ɳ&O};(!hVHivA]_tttB-,gt)H3֭[ǑIoF~)4HPS]?)31m/3G*0u+F|tܾE旔8-^ױ..B@7@-Ej+!w7+?ϻqroR yu[Kc9Me˖MxC!W5 2{ݝltoZ&GքߠHb4EmPmQ@հe{|h{|3)fWJU$ޥPx'o$Fo%&|ARtG_jN`Eba>z+&2}Af0Iazҥz9s_WX覷w+ݣnnz:*FK4O4V'6~m#ٶ;4? #Qz \M>X?8-1dGZ>/P@Z&`W`78Mʑòb5c6YӗLH'ͿC3H\'G]ƈ_MK q/-yig3hAA8@"NF o#>${MqJQzbd[&(Dk іuQ h$f==mAh>6$W]|=>+4lN?_{֭[AV3αF F镑ӄIA;~֮!CO+k~IEvz \;Ppֳ{5H@ߨ`]Gୗp;cCllG6mhHEWwpm3$F0V*7S2f{|RM -$ m5% Vͧ)nA-rꑰ.fw)WO}vi*B ƒ9ުO:fWlAOD,}>:::A DTQ6=%AXkNt'%JAɱ6?-sApqż3tp r:PC@ڧQFMz5봶nzU=|t&DhA__߉tU^)56l8-,z-IUЩ+(0am#(tT$.t`.IRo=!npqCK(CCrG>5*x;p} &Oq>UvIV_{mG"Ac^M}{%$Z.оQyIl)n(O\FbR$+)k"vaHN:m f Z[OI{z9= =W@/f0;C( qF &Bt<={͂}:tnr;LA'|"uC^t o&mFD=R=X!I'$Kв[g_rlَ%wSA"d4w$S^}}HH:}S0|/4.^]jXɯ=)Z$Ao;ӵi|ikka}흺*A/qZGOQ46>Etyy&[òn`B΂;Q .^2O_T:P@ ǨDBwo2k)S) J ob70}dX,1[lxBHfoQ|[m"*:CHU_QRAkd6Dq?-IXooo?5A:z^ДjH)\ LZEV({X\G~g\49wI4'tA헯Hқ>:GqZVG;uUX.-.D#!ăAnwII/*p|[Rj}^P+*Y]a-rJ?y/Wg蛷ˑ*0])_CoHG=#uv IOS2$ěO`97FI%MA{:죦uE'il2K$q46˗ӄ<zl7zc]bỎȽqxWZ>^/Fl;^_m$({FЯ=gN|k?kA7*3l9ss!";"zT0A#Ǝږ- (ge=`RjڻkfXUVolSSt-'%*zq9I|` 7(m'B*%2E$$(l#Q&?ma]bDɏ8E&Nu4';ȏ,s-[4zY -QAc4]}SI]c>Nw9"4CQ~oL7um#de@qD#@x\`"_1-k矗twW>t#KV؝HD`ϜED)JV9$^%?X m&cH:iNZw* "$߇I5k6 zOo&,YXeIAz=BK|t{FmID^CIBz+AtsMgX״4KoOv\(!oS]Gw9y``;s)#/*X!H̨+v4O1mwwW_m:1gxFD@/(yG;M@b9G{Il'M#OLN!A9f L>Z\GKyj;>zXٗ̑b/mzEI<)A|JJ$xͪ 2zMM-m M˛#fѰsNtX=]'$typ@Ycߨ`^Vł}|q)5 JMAU':)t*k%ϊ&AD&TkYvYMF3DdE2ioћK_֑$uFѼ֩+|1uGfA7ymmm|mxGqo+s. ٻhcGmxOvv::~fD VQtQ+;P$`:Oh=Dwj /"YO(3̹\ظYDśH4XFcjĶlA-5[#/ |A/Sgj8mz_RW־*f?7)W{IШzOt+;n]aM{2A"4?]I構&dml:;Շ1wGu?5w(@MEjUEQz̮+9 Nx\~OIŗ/u꛽_m(ߥHf5fP7kTun5 ~:9wU6h%aɅ8[u&o-4u/zV#R2$ S\-G=lj݂tř5L8?}N$O# ߳gԕ/[jeYwo0=fD  |;`<v\H@-};v6Qn%'ɩ]; 7žY 93'GI|H#}[*zU*%VrPzHҝC&Aijd(+ iD)t[ڴi_%(JER/#٬;Zf{Lx`%K{Ԓ?xRAGDi5 8^9GQ"3Hq|Ƚ,_8̵WF]}'YturB0N9_][F1^ +T]G_VTV-b8mK9H*݃$$}ٱ 5ڇZ&?u4%Kq[$8]yqZs\OjKy7f&zY)G-ѹQ{fmϦ ;>FꔃЎ#}{텕؁"5N$"{%.{ ƍjg=K7n]@Fb:hI{+VYjJ.97'=OQO/U[hF$i}+0e'$ue+t|2]=({]]?s%ӂ)*_Y-oRjc߆>zީ3K0uy HWZH>D;uWQ8c,JJ%$gPcc9'Ku-r&KoT=iYݗ ʏ2Y,ӓ̧;;ҼeTpLVGYXAwLwǫFM~skkDIBgEufx]N?p-̀1[n$BP$`KrrezH o8W^-.Y{:m3{rB#=M~iָǚҶ-[(F->SGuLD~ЙZO%C+@3gx[M]==oh¬K_AΤZ4Qtwֻ޾NucQF ЗQPpE]rl&dٽb~ dU?\U$6Za} Ĥ K|Bڸq#nlbAo,sCA}V.T0 Kt7ke>N7gX6<%zÈ>`s}۽h cb::5> fD }y y =HJ_iN?jԷ΁+•+Wr%Awb6M$if@R>9;nRs"5DR-g-v0qzR'.zQUh44A"fD)rNhZcͳS 5ASF@Ѷ2y? :0";4Hn]GsԨo7K˞\bJpKI֒: zm2&EPw=8|WAi8AD:%A~-hZֱ_v"ْ6?=,vwwi৽4&*+ܬci N.謟,Kz )X}wqXQK@ к='A]Ǡгwx}nВqkK3%:Z:0#dWWf$~#MrsjA\KOM. uZDMX$+Ŷ,JutW^I]NХQz_ǛA#4I㴲.t?3llXC # V`EdFdwa}\#b2,GrԬfh_?gƌU\rd___:}ֿI#GC4h:ڭ ~T֊wj45N%n9mHЖѵ;ߤAzPПY4oY){F@)H"# qHP%>.|QsÉ/uЁ,\_WPV䖥K^qw'744pvvAZӼ7#j } xC4WB4'N~zBНa5,o:~G'-tnE ? zW@N*n7t}3`q+0ā"CD.q#_aJ(6A_ijdҔ9t;澮Vr#j3^z)a9=h2v("lyZ;>8f};+N x#jqDy(0Ta]@42o7 ײ9g8nQ'6u3JrE>z?V˗/_tm>O"v<FGcR#zDƏq67!_#&L/DDLs(}XПB5AK Ȗ+ȷ5E6^DՔ 8="Fqbep]/(񻥛o(Z৥ `s7TNROz*@o';J=oӱ{&85>7 z"&x <$*c'BH$4GLw/M- tA׳(Qd8&D وRlNtn0,`uQ^M8(%uڬ.:M:k+sɎ!١$0=QM+z66ӓn q4 ~Ѭ"ce~GWl$ L308vz(V0u Ljl0v^-Mx[WoHzzip\A-ӏ5D Cz4+ݷM]!$[M.IꨗSn}VA^LaGԐ%( ug>#EF8[ WDL6u[_ckЋ".O{ .]q^Yf c dAWՀa=%肏u_{1ЈZTqdӘ1^߳Q!\{jt+׼^jC9qx1I] j4!6#,Ȅ|@.m3mO^]x3J y2ҏu_wϵ j6 /8#,ݰrH«26vvvV=ylއ>E)q4o"&%:&|Eu~g}8oW>!hh[.8>#\8| igŊz~Py"`rTp]*+ejkvݹivwR+FRE:ȸ kgv]ktt;tKך9?% e4c۶m gаym̎'H)Q\8P$ "~%cňk~we ;8m~bi2r3*teH-Lҁei.o~_Y9ۼP7u FtDZ-o}#,)fټgA(Όӂ782B]QOmYֲι---ބB>ttt6xV (x޺z3{;;;R?nw߱glz{qZWG7w]ciHJ8һ~X E@kK6{M/Yw|i{$^/N:0=kdvc*[V үuݔSryۏ:*PH( 旅mV#hRpw="1=DiQߤZ'L&+VAj۠/ (P$F/OwfEu =Qp173immO<$h&/_EK~7mƻTϐ`mGmٲe,tVZeJoOE@oT0W\pLὬWǪJQ ^x׍_-Nt]ﴴ[O0f Aop/f+  % ^tח9MMM/\5?wgݴ[-7YH) #zKאyל  %CUkxNww7t_AWKn᳻&qu Rߨ`qիu3yOeX>|'u^9iV(J+6I$nD@"\nвUv0Zvx 65D`Őꜻi/12ߨ`F!;Oa5Ҥߎ#'M2PDH(; ֲcp~ C/y"5lżNJߨ|dG b ݉$wʈ2QO9%E@oT׸_^S82H(XǑ-W\a.A>ë ~aq4Nvt(*ZNJeX88.wK/W(=P$T"uuRx fr3rHo~.V,@Pq<-;rӯ7>-g͇@P57*8"&o.:ޥHZv^PFH&Ԕ_us잰"Fuk/H2̲EWa8V:І9sqP%@P}7*X bvbmhhp8aZGp+P!HJlERФ;`<@E@,9*X/[΁eu' sx E@Փ߲|s#X9P@P 7*-,sdȑ8rHԐ]0+솲D::Ivz.9y]a`#|'T% uPNti\ó<ꍁ/7<j4ÝY/CN!7\h1q碯2ixj YCx֛?dը 6} iʬHxPa7u^8GxzOpі@n:9vy%[gvtB=1)"I[벒y%+4<7ΜKx3 qlPEt= KvKm %3t8$7#2_/ARH>ʭH,yޘWBK|n i U&2Vd!~v99MST$fBK@?y+qBgXmǕ g)冣0OeJܓP}T D{ȂWBOgyfa<(!h[mhrQ9vyC!zDf3UHdZ)73Gy%+4މrȑe=7kȲy|@%]*:RKAG jqYH,չ]eE^ة E"Q irMoqA;9X1Oe2)LL6. @`)5R;SΟnGQ? dW4NGt5 +|I@ J$HHP@KXxT_G5ڽrNTGҬW&Mi/LQ6A=.]z`F(鴅ڽrٸprdJ*˫s'sO^9"70gqs2LbRWlI"B )ZqW-Om$W*H :?+Ͻ9 j.4pYʰ`֤)d .}i#FJ˱ ,gՙi̳HK"Tn$`V8;+^㨬("ɾtPWY7e 5h9+CUk3,Yϲ>.^ 3n)")Z}γc.4B0Nouw P$nj^M:(wd>|HUgQW8ȝ<|^9dQ.E"bsƽqn^+PBT AV--Bʄ^~ѳ=C#9jzx>u&u(ʤHԵf/Kd>.;d 8K _9R yg(u1- ŸL!y&I.'43A;|$Yyٯ+G-^,W>8U Y)"ѷCQB (@^'N|D<0a(@^\v> \vH*ӉӸ97yIv>7/pSLE2t4ostxJ,v]]`_ d[ z]h<[Hàv`sMp }X9/i-< @.t$.3j PkwL{_h<8padyv.&W( ց80uà)"Q (T)4 j0i/iց80uà" j0iHTm$&*gwLc1 b1F@#@P01T$,p`PAM E j0iH0Z> j( ցڄ}6 JsPAMSLECPA5M1e5 :aP@`|4P$3tv+i *>\pm.'T$F /p 72K%>I]p<mc r3p5.'4=L lw+QACT~ v`C{P _Pp0vM1  ki洯<@U|xx1 ^(ig/4 xa58pف"4N'N2x7p>p38pف"4N'Nܐ%<@U|xH_b8p)"1t4ostx7(5pu8VzŃa"(촮cGFmW 78p)"A@rb#,_c[x<8W BLGzp2S̯6x B v7ΤKBA> >\m AzIe80uà" j0iH,Mط-j0i؁H4|4T$h05 :aP ^PA5  p`PAME:aPSYPo[&aPӰĄ1F@#@P (c1 bb)"PA5 ;0 80uà" j0iH0Z> jb*!@"@)"A!iց_m2 j0iH0Z> j(0!`L!  >\NÅ 4#6夘De _ ybD&@iPn>7~J UxJXärB+I^;b: YzA2ʭB(1+AÏh Xi_/4 x>\v~p P̯6x #Y%3.x7ppفl7(JauWݹeD o%(nN .;P$AjF<2@8q_ |{ ÁN1ll,3ÅPj\}+"KcW-QA!@Tv7QۅPb\WUt2w+@  ŏ-/Ǧ7mM O^Ç+|h8p(W 8v76ƃ|J ‡+|98p" j0iH0Z> jb*!@"@)"A!iց_m2 j0iH0Z> j( ցDe0Fbrz1F@#@P (c1 6T(T(T(T(T(T(T(T(T)? Ua0EP HPyHPyHPyHPyHPyHPyHPyHPyHPy^G(7B!)"2\8CvLRs bQIUHrH_8pGV@1")P$@ޔ[z BF2[W3;TfSTGgr2'\t>3\q;;kbD׿:uQR@jvN9^(ގ8r3ӫ% ֌[z.me\>5/uH8gh rkVyl:-^ʼ-AMo#}kd0F&?kq<?𫶟QcQ"{\jrKMJW{ͅkr5e# CrIVrIn"S[7{kre9-p:R^s)ފ\P#%eT$jۥ ͖fRxǕڐD9+%n#Hq*Q$*`Cf k3u%L~.d 3(72Wnj7gE)3TgV$ U:Z kW]ʨLqqJZa sU KPnQU5ɨ S2T +t/T?eS$Cּepʠ(5PUqUp)JZ( 5HL+T$);HcEEEEEEEEEEESV *^PmHA(f9%xUׂ :o5zQPA7:(">X (|ؼW^A[A_k$םxkH'e}#XTTDȇo>[>Kڴ:Ǥlg{]]˓jv`:[2(mnnp0AsBn\ևM҇XΪrSn:$[ng҉r,c!2>im(S$v'+weaqMG^$3㝇0`$=LfĞ̑^9Gb0s3ދ<=_OJ 4vpw;Y ][)QV$xjJ++󧡙],2{퇛@^L*ule(]!݁]<ͣp{ ߒ5Ĺr$Mdp3x*OEzeuH:=ɑ|qxo,d3 ]׉%+3s]9Q\ d\Ќ`zfv] hqOxIlfg!d"qَ%sV[V+m vʣH@(AՐKT%x(.).jA !HjdoT5HׇT@@@@@@Ԁ"YÙWD 8߾a0d[20o.y뚿aP$V7mlW3oX0Di-m M CՔ0lP$ qGL Y d(02 xwAT5(wJGL Y d(02 xwAT5(wJGL Y d(02 xwAT5(wJGL Y d(02 xwAT5(wJGL Y d(02 xw\K.[3o*FD6$ K:[ Ʈb6-mFs"a!6CpoT7.kRn^Nzl -tf7JQj-zKoՂʯ(paX+ T>Ѽ >?YHgsT1LJ\{VżզN{Q\ڬ#4X82׃@KLF.yY46f޼LyühXRX8g.=L *2Y2F@ayWY彐;r=>?ʯ.[}xr-L;J9-\\6a*-ӫ{ .EOmfPVS: Sx^Ŧ[\A#s#0lxwI4|1%|~쨧N$Pg KGmliN ׼|;_// VC%~(enl)1W_lJ83m^.K =ZaC? ˻ʦH-b`T!ZJ"JBFْ ]d׼…罹)%"y,gmlUz^ R{o\˒9md_2^]eS$+T/OON,c|%"!*JRY6.Lyؼd0E qZ+pNgt+ؔ{+溦egd) Z2,*"I?:nR9D%P89|xFbf4J׼mj<@icm^rpg#?pal/6ފn-2^]eQ$' (K< {ȎCs<"Pc!l[׼v.UUQ/Z͙lfw&_dJs݌ǖɒ92,*"q>6{KR' ?!![B9&~J(ٍ5gdBvU+ӥ{an^O9ܯm5"ӫ/.2k^K?#g9/+T|hȜ)SO=Śzy9_  Tìey=͑6j*p>ez{ 6//D[PSVS {8i5ic;_,~Cn`E5H|2% *)0o.yS>7ZZ[{݀]p;5H8!KqGyqGq!F )'Momm< sadž"jHJII"))5HO?53Ka")P$%@")P$%@")P$%0G(7BERP4wٸFV$*k B brQgft#dy>8<i?Mcm2ʠKLXQlCSWzb1#s#ܸW΁o*΢ED>fl@L=`dރ9xp#Ez;Om$Yz!gJY*= dy>xjKj kDNroV9}D&*!2:7'5Ze^ӘժH`dCQV$V@Hj+TOQi KiJYd{ȂW</HTBZ"3A zezyo2̏Ms(37晩m-9%7}P$Wb4t8rڣJ`H(e#xՖZ27JPO?uT3~WZx^EXޫ-m)L~jqh 3舗Z[\t81 j{#ˎL+f$IM]ngkȲmOTlSW{s6X̍y%kAӼDKۍUxb)myN"xSs>Dj#lB j9Ja,Gێ˕0P$ek2+Ԋ"Q*i#eeLJ3:+SƑ`1ՐLI3'5?l>U hBrl5M4W|1("A!Moi S0ecK6ɸqf*J(P2()lRۖyK͐p+ՄML(u^]I ER:HJ II)y] (%P$5 I"))P$%HuEJ I ER:HJ II)yӦ5°3Kafy5C2(i2ؖyKдp[>o?݀]p;ծH6mڲzcr ClRۖyK͐py[,|y8 ;YԀ" * * * * * *ImiӦp8|7 檫7n\ssaDUI rȇ~Ȗxn h@¹d73YR# b-Z<8 Q&Ebx+odsjAްtcǎ5{AUv8*"ybڌ3Ͽ4w,po^5Fq3/{ls 6 hU U{a@Z*;XwGyw](^ɯt--o|2 +[QKpZc< j6]AƼ7O5d=j00{QIDATP vp;V$-]dٲĪk6}_zظPD㣇풾ͼZQEH|II@a @Ԍ0P C{A-cHxQÇV,O46orݭ8ZZ-mh|+KR(n%J*};S<>¦+TԒ0P C{A-cH.XhkWnnO?>se|+F[<3-#2`h љJWaK=FbK/!M:[sSAEb\bӱ;2ɶLr¦+HԘ*,PO'bUPԴ!Uv8*"i\~yHѱܑ+6ҲbJϷBٞӞn}w,o@&HK#sH5s#%# :Ig:_*H2w2c̠#ˀMW"1ﵻ:|kIlMl==ij{*;XwA~sΓ3=O[۞y=-?\V043?e>k.i2\gecOdfUT$7o1eB^j]yk,\lIy#3# r*ĠƩYCp`UE2}+.[w 7L|Wb3^9{WYѯ?~ OnM&W2'W֒>LEaS(KС\qK6.EC{v8`bH>s톍?ίNg}VޥYv[[z&oh˽sITy$3T$V1eA^h*4`bHj{t?}WbPԪUv8*F /-_q5uG>l߾wslGdž =ߊ)3.7eoU=M0|KA<LExbS,7lbސ0%^LȯhsW$罶- D*A:Z+WPSԬ!Uv8*"y7~ [~}ɭ7656Zv+t~%6m|+k`sjKۂ#^35#+jׁf&c]ReB9k9>s+@+ Q%G]u*6sc KwkPM6M"=F׃UJ<}.`(bHx m]vsA\l46ݕW^iқ{`Vkqq-^8Jq 'l(6m…Ǐ7bq8g?*55P$D477EAA馛؀)wD,M#@P$˦MncǞ +?~-G"@"@"@"@"@"@"@)" 7"XK;)F?B^r)X0P %-X(T(T(T(T(T(T(T(#0~K/ [`X$C=7<}١c  xC_CAg1rˆ z6l[ðK0ʓ~ ԳϿ2V〡 [0 PP$⋛[6l[ðK0ʓ~ Ĵ魭m===ۆ6l[ðK0_CA .`mC[ðK0 ' }YN`6C[ðK0InCAKL-퐻40T6*Z(<";80C|*Z#0$Pњ@  Aa6O`thScwrPhMK4wٸF";8\bvwwo. .2h\#Ja;hm(yA UQLPŮh=x*S]"ypfH%?4TpQ6cd5qe %oKա<JĬHuEkg)CL5HERJAEvpt\lz]:hawiA +kP%C6TIQֈ$"aTP$T ]l*2 yoJY(B"wupKރ'HZVRmyPؚYxTP7m,g+ UbE ?礓8*Nkz#ANI՝cLɾٌmL=߮v)H@%fGGҕ~!Ne0Ն_kl@-d?H+bS2dBN;w~)ƦwLEXAoKt-> m܆*"Բf5Vף:̤{ش&w:x*H2jiHߠ obb:Z )Aa줫 GIxo&s/EQ6AA@E eމ-D2yحx6TI"b֗+ހ3wK\$*H]uj0wJKȑƱEvptP\f^#+fљJ WOEk$-nT!7DS%Td̛ъGE e!}빽 wj1mR( Sg=IBub;ਈ"QdބkL%ci$+fo╾SIJ2UZI#薸4Vb*j(  _rĥ&$zT%Qco"ܡ5Ɨ(%f{{bs7!⤻<` ޚ1cK!wę-``;hm=$̠*M~F+6v0r$ˤ[m2)mi(`G.E$skiV)2n7 m"EvpJPhdq̰0tVmGRt>)r{bkRqCd%6լvSyحh6TUծNeIyf2$QZ)"[EE/m};MffTcQiD.pFE_ΕD2z|*Z#iq߆u#vZؚnQR 3n w܆*"13yjUi5ێASvEn% L1μW[2 L[gL&c¢ pɎA~bK*퐻*OrmRvER@P$ ' $OH?+3\ŠgPv跢5m`uuiЖΥZr[]BAh 9C2 '(HN' Xd.ϒ9&bТµX&*nŷᫍKZg~g0DdZrDŽ0!MHh\g"%4_qJh `oD (zk~qgUuG'''q,311QTO ڶ`иfggyo !hVV ڶ ?ӝ|e,@S1|;CUŐBcᅣwf6pHbNUvRp4U8UEU1DBTQBCB $tni@B $tni@B $tni@B $tn$zӋФN͆:7o, iH!􅆄΍B?{s-c8BmӋ{qmf63tԵ*J_hϟ?c˖-+"blMrx$TQB[_}w*HhWW^"TQBOh,3.\Kis5׼|XEU1DB7dU_O#&SSS/EXdɉ'$=U Һ\v]~hu(}* VZ _&(=I8q)/p˯] cMĆp(}qzE֣>{͛kCwaUPY]_}@;2}4&cgwoC8U8UչOC= <!NQU E[HΉ +c^Z̚%KWp(}qTKyɔ`-NQU Eh {w"X4c!M@{~,L.!*J_h={m۶V10ydd *"JΉ --.INFwBA/4NUOne\Um NQU E~/9m5mSjiR!*J_hNOO_~wSTCe巒s6CPE Sը?BN *"t%Rmǎc=).ɹT!Ʃ#GXO6pb,BgK!*J_h>|d *"?)9jC8U8Uj'X8EU1T}Ur.Նp(}qrI`UPY3;$Rmccg2STCe^K!*J_hZY NQU EOHΥA/4NU>,*ЏnK!*J_ho}d%3X8EU1T6$9jC8U8UݻJfpbB>˒s6+#)ǻ2H.Զ~AC cYnO NOOٳL@ SWC ?11xAmUzffVX2uT*F>LmjM0[hP׫jOO^q1fF{VB偄&&&&"& ׯ7GT$uG'''1!c&&&* U5988B*ZVVyAPUSh\H0BԎCrRjp===<8vwXyS88Bc!|qgVwA T"cC5kٛ Ej/4^Hɠ!h>\Fh96(Hh0?|ܞhvwKE:98 ݰT6s;޼pv"Eل,sMgTfW"H(J(3۾J_ k4QYh.nSIGQ2]9FjZo4-`V>i,6E"{%UGu?*V7u~6Aե֐9 GGh;ҕI>SբH$k:6CPu#]C:l@G6jQQ$씪jC8U>E~ tnêE"xjC8U۰EGH>CN T]znêE"{:6CPuSڙԯmXբH$'4FC8UB6[A݆U- 8DB?:UN T]B[v6 ZmXբH$t旤AեP[h GAJtnêE|ggg:_RkHW =ZpqԶ~AC cYnOCqnE'&&zP\۹E#L___VQJE U- ֱjӃWfD\Eu/РmZPB-0)`D! (zW ׯ7GgUuG'''q,311QTO ڶ`иyVUUkm[UƅGBԎCrRjp===<pʷ3D]U .4^8 |qgf3kx*Tog*x! ACPE S\PTC$tZ A/4$tni@B $tni@B $tni@B $tni@B $tni@BF$7o}khR0ӤN߆MvKm0QTC$~_|k?JN]}"L[v]4APE ЫWfQTC$qR.~i8O;_ 5Uh m۶V10ydĺEU1DB[mҕ6_1+ℯJO oCPE `ppK/%SiCCC|7%bxfN?]WBCI ?0! EU1DB[ oWXixo{シpw}wCQU E'|nzq Y fgVCPE SՋ/5.\Xj/;T%,*Ѓ#sy:F8U8UտOŋy,Yr >) NQU E[H6iu#*J_hj^Y\p!/5\,*r»X7ozq49!*J_h={h/X/~=X8EU1T]D{TQBT=<زe ҆STCezKΩ͚+ !*J_hNOOHa7)][ɹf4CPE SUZ *"t%t?mǎc=).ɹT!Ʃ#GXO6pb,BgK!*J_h>|d *"?)9jC8U8Uj'X8EU1T}Ur.Նp(}qCX8EU1TɹT!Ʃؘ`UPY~W$RmGV2STCez#s6CPE Sd *"[%Rm[Y NQU E/IΥA/4NU>,*г?\ H}L@? G177Cu?m_dm֭[S1{y#UŐBOLLkm[U󅞙j8A+m۪ZjӃWfD\EўU-Dy ۂzÛׯWVIQ`$/J $:gpك(SdfVVWI:pCqv~ d÷ $ 3Xy]D2A>|[I 9\yJ!"sJPC$tΐQ J`(k8ݙ(\i{0G1m3loJd5z% 0_hb+%a_0+Ph4[SJ$5fh&&$P ;>By$Һ~\"f J`%B7|VHA`yV fش$\ f 4 J`Whb~VGc^ }B1}"=p\zTi6'll>A$)pDI @h;'{KϚ&l:4d} c5fM!Ih& 41le)HG>{jsMw"TVM?¦z~HkH" 7ML$'d)'>A}}ɓ'Y sشX WBLAhb"$ڞl&)JC,e hȴRifœH0oZijmszxMsNqerrHEu}!NrâfŒDI +43n3x4~ ׯXqe||8hzoEbу\JRD#aDI h+=ȕB$ 0DB sevv6wWt>I 9<ԩSؗA|P$HTߧ="I@BL~w(AO{(D@BN=;H>IЄQЄQЄQЄQЄQЄQٳX7-,ɉ+[ϝ;wNwգԷӅ7.]ǞNLҝj(tqmzӧ.{3Ҹ{+>y++ A¶w-D Xiv $h-|[9 ީI W8Yi ķ!uEAmJ2$ 7|#oN%$H: dT"3"4PQ J`>OiW?,TmZdĢ'$PB|DR:.NC$m\j{mZ~bJ`(g m|X:+{KIFL,fAI &tǡWh&פ%I&7$ ~s0b K TxyZo4ɠ;o$ }@:4|Ԙ E$Pn*vU+_xONTI zퟻ{3m7xV^S&f$ b }ܹn]~qi̽~H7X3t(=I`M!4+>Eoˏ-fctZ=H2цЄQЄQЄQЄQЄQЄQЄQЄQЄQЄQЄQЄQZn2_mHh"3 Fvcv~w{kۘẅ@6Q"a/ &o=ځhc&kG?1S|3Xh]?g M4hУ'?|{ǏOYniD|7wEJORh2f2NM>OCضf8hb4{q{!PcSx/ WH̳_f!sݡ7gӤL߭99 N 6ݧݙN-wvGAuh-IPhu&wkv c&] Leŋa'î׮g'vބ 귱:ϗ7|PEBH$ȎjGOwX7 `3T(8} "4;/H:.\JMU544/ug"]$z]G8u4.γdpm_򗹹s7[A'fH9~k˞v!)̓F8+'x7@BkO?*`3B5ku&zvmlvbؓX;8~ohw o9Ż9q DB=|󝱃o - Xil-um-5p5{D>tdkݭ1}\,h<RqS5Iл. IбANhPABFABFABFABFABFABFABF8F|C0Q+Jmp( >BDq! ӟ):ċIENDB`candle-1.1.9/wiki/images/Spindle.png000066400000000000000000000051111421102410500172500ustar00rootroot00000000000000PNG  IHDRZ +(sRGBgAMA aPLTE 6:666:66!!!%%%(((***+++---...///222888999>>>`f6``f`6EEEGGGHHHIIIKKKLLLNNNPPPRRRSSUUUWVVVWWWXXXXXYXXZ\\_^^^aaabbcaadddeeegfffggghhhiiijjjjjlkkmmmommqoopppppprrrsssttttuuuwwwxxyxxzyy|{{|||}~~~6:`ff:6:``f6:`f````·6ې:`f«··ېd pHYsodtEXtSoftwarePaint.NET v3.5.11GB7IDATx^휉_TEgQH-̃Q$HE+54HS(5PHE4#3Jqt~3{˺vy-o|o:f߾~$: v[>*WB6ճs.+]Ʈ7.}#XW˷>Xһ|LH罐K'1)ndB¸0veA"ᶸ3^3pc2j¬(^']&vE/!gd4=KSozG&6r"W@_3*h ]Z 3a =|q Zba͢w.-'tش> mZsI'B~ [XlgKgcF1 pCK~ [ [p@}Pu_^OwV+\rEV;!.\,&48U++kl ʲ1TŖ^lL| {|xbMyg# 8u/a3|uϭj6j3I3̢0KEiŸa~&\6ie-v3VA {DU?aBEJwPaY\-V?]s+>g Ε @\-?,\V0F0%ܤ~nJTDG_c/8vG)|{ȄHbu 5aX€*U4ёjݥ v]ywLlRVRE d V`^=ITbbgN /iL["HNL¯gZel[vbu]saUŏM6rIDr|sB=צk' sjϪ6dembLQ 8rG]Zt>iu;"!ȅg =ޑLu[/B½.|{Eٽ\o-n8F..[:Oʾ-[8fֈ1ɝe;`c"5t[GF:#F-$,uǒ=o شzM -۽x4P#gڂ#UxrBNujI`+1$/a+vt鈈QCNO%'$\9z1\Qb ͅ'a ]i)iJ:` #`?6S/0p2q<;m;Ґi?m4wOSA`^KC.] 8t)p*\hP.-?_>^0b;:ܛLX>cڽ0']hnz35vFwnwqŚ ;1vТn@ F䛴`O aJmC>}}*N9Z 0.k!ƆS(9g`hlkZ;)6mr+la|sICB#Cqn|w(޺ə0iΑol7׶,04l6w# 9r|LO/?~]4 z.}8ppb?i*+ <}1x081y&-,G&z4iI5Jc3k N`xPӂ0MS~?ca76ֹ,] 8t)pR~JzZ UTؒ߷-#*[Tl,eJ+RnW}XKkÈ$/>/Ë'wOc%Ub?FxeX7(q"6d L:?n0V\tAWߜ%XZ1w,$'U xh^1q1`Dzb6 o@  1d O ; J(&8Fq2E10Øq$(KS 5E%.e1zֳlӁt͡LYr6Frxm ܕ4`n$AJfMhC(%p#oZ6o"ZP&pRХKC.]`[*myXM-R8 ⍮D)G^j 7#vă;5nVqKiK^Sи$g'-*la;9Q),#fi/kJ8-ϔ+pyx4n)()pRХtQu_<xMoú/vS \`ם./G]IԨ<`ڬ?yvEN"[Ձk 61sY͉u` hxڀEvp/ \WT~fnT;^xj *ސʝ9W"!Uˤ09rA_ /'|"e·cq 3LҥW~ @1/ƵD(0EN)2LFk+rӬE ui H: s'û);^U$pIU.)/"-.8t)pRЕǫu | [D*ˣ%N%Ϲ IENDB`candle-1.1.9/wiki/images/screenshots.txt000066400000000000000000000000001421102410500202350ustar00rootroot00000000000000