pax_global_header00006660000000000000000000000064136753111740014522gustar00rootroot0000000000000052 comment=4d04926a07efb226a74fd66df386c6da0f55ce4a sequeler-0.8.0/000077500000000000000000000000001367531117400133545ustar00rootroot00000000000000sequeler-0.8.0/.editorconfig000066400000000000000000000002641367531117400160330ustar00rootroot00000000000000root = true [*] indent_style = space trim_trailing_whitespace = true insert_final_newline = true charset = utf-8 [*.{build,json,xml.in}] indent_size = 2 [*.vala] indent_size = 4 sequeler-0.8.0/.github/000077500000000000000000000000001367531117400147145ustar00rootroot00000000000000sequeler-0.8.0/.github/FUNDING.yml000066400000000000000000000011021367531117400165230ustar00rootroot00000000000000# These are supported funding model platforms github: [alecaddd] patreon: alecaddd open_collective: # Replace with a single Open Collective username ko_fi: # Replace with a single Ko-fi username tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry liberapay: Alecaddd issuehunt: # Replace with a single IssueHunt username otechie: # Replace with a single Otechie username custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] sequeler-0.8.0/.github/workflows/000077500000000000000000000000001367531117400167515ustar00rootroot00000000000000sequeler-0.8.0/.github/workflows/build.yml000066400000000000000000000012201367531117400205660ustar00rootroot00000000000000name: "CI" on: [push, pull_request] jobs: build: runs-on: ubuntu-latest container: image: elementary/docker:unstable steps: - uses: actions/checkout@v1 - name: Install Dependencies run: | apt update apt install -y meson libgranite-dev libgtk-3-dev libjson-glib-dev libgudev-1.0-dev libevdev-dev libgtksourceview-3.0-dev libxml2-dev libglib2.0-dev libgda-5.0-dev libmysqlclient-dev libpq-dev libgda-5.0-mysql libgda-5.0-postgres libsecret-1-dev libssh2-1-dev valac - name: Build env: DESTDIR: out run: | meson build ninja -C build ninja -C build install sequeler-0.8.0/.github/workflows/lint.yml000066400000000000000000000003461367531117400204450ustar00rootroot00000000000000name: "CI: Lint" on: [push, pull_request] jobs: lint: runs-on: ubuntu-latest container: image: valalang/lint steps: - uses: actions/checkout@v1 - name: Lint run: io.elementary.vala-lint -d . sequeler-0.8.0/.gitignore000066400000000000000000000001541367531117400153440ustar00rootroot00000000000000.snapcraft .vscode src/config.vala build/ _build/ parts/ prime/ stage/ builddir/ .flatpak-builder/ *~ *.snapsequeler-0.8.0/.travis.yml000066400000000000000000000004261367531117400154670ustar00rootroot00000000000000--- language: node_js node_js: - 10/* sudo: required services: - docker addons: apt: sources: - ubuntu-toolchain-r-test packages: - libstdc++-5-dev install: - npm i -g @elementaryos/houston script: - houston ci branches: only: - master sequeler-0.8.0/AUTHORS000066400000000000000000000000741367531117400144250ustar00rootroot00000000000000Alessandro "Alecaddd" Castellani sequeler-0.8.0/LICENSE000066400000000000000000001045051367531117400143660ustar00rootroot00000000000000 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. {one line to give the program's name and a brief idea of what it does.} Copyright (C) {year} {name of author} 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: {project} Copyright (C) {year} {fullname} 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 . sequeler-0.8.0/README.md000066400000000000000000000056241367531117400146420ustar00rootroot00000000000000# ![Sequeler](data/assets/sequeler-logo-transparent.png) > Friendly SQL Client [![Build Status](https://github.com/Alecaddd/sequeler/workflows/CI/badge.svg)](https://github.com/Alecaddd/sequeler/action) [![Translation status](https://hosted.weblate.org/widgets/sequeler/-/svg-badge.svg)](https://hosted.weblate.org/engage/sequeler/?utm_source=widget) Sequeler is a native Linux SQL client built in Vala and Gtk. It allows you to connect to your local and remote databases, write SQL in a handy text editor with language recognition, and visualize SELECT results in a Gtk.Grid Widget. ![](data/assets/screenshots/sequeler-screenshot.png) ## Supported Databases - PostgreSQL - MariaDB/MySQL - SQLite ## Get it from the elementary OS AppCenter! Sequeler, is primarily available from the AppCenter of elementary OS. Download it from there! [![Get it on AppCenter](https://appcenter.elementary.io/badge.svg)](https://appcenter.elementary.io/com.github.alecaddd.sequeler) ## Get it from Flathub! You can get Sequeler form Flathub no matter what distribution you're using. Download it or follow the instructions to install it from here! Get it from Flathub! ## Support the Project If you like Sequeler and you want to support its development, consider donating via [PayPal](https://www.paypal.me/alecaddd) or pledge on [Patreon](https://www.patreon.com/alecaddd). Become a Patron Donate on PayPal ## Install it from source You can install Sequeler by compiling from source, here's the list of dependencies required: - `gtk+-3.0>=3.22.29` - `granite>=5.2` - `glib-2.0` - `gee-0.8` - `gobject-2.0` - `libxml-2.0` - `libgda-5.0` - `gtksourceview-3.0` - `libsecret-1` - `libssh2` - `meson` ## Building ``` meson build --prefix=/usr sudo ninja -C build install ``` ## Building development version The development version allows you to keep the stable version perfectly working while hacking on Sequeler. ``` meson build --prefix=/usr -Dprofile=development sudo ninja -C build install ``` You can run the application from terminal using ``` com.github.alecaddd.sequelerDevel ``` ### Help with the translation [![Translation status](https://hosted.weblate.org/widgets/sequeler/-/287x66-grey.png)](https://hosted.weblate.org/engage/sequeler/?utm_source=widget) ### Contributors - Alberto Fanjul - [Github](https://github.com/albfan) - Bilal Elmoussaoui - [Github](https://github.com/bilelmoussaoui) - [Paypal](https://www.paypal.me/BilalELMoussaoui) sequeler-0.8.0/build-aux/000077500000000000000000000000001367531117400152465ustar00rootroot00000000000000sequeler-0.8.0/build-aux/com.github.alecaddd.sequeler.json000066400000000000000000000116471367531117400235550ustar00rootroot00000000000000{ "app-id": "com.github.alecaddd.sequeler", "runtime": "org.gnome.Platform", "runtime-version": "3.30", "sdk": "org.gnome.Sdk", "base":"io.elementary.BaseApp", "base-version": "juno", "command": "com.github.alecaddd.sequeler", "tags": ["devel", "development", "nightly"], "desktop-file-name-prefix": "(Development) ", "cleanup": [ "/include", "/lib/pkgconfig", "/lib/debug", "/share/vala", "/man", "*.a", "*.la" ], "finish-args": [ /* X11 + XShm */ "--share=ipc", "--socket=x11", /* Wayland */ "--socket=wayland", /* Libsecret BUS */ "--talk-name=org.freedesktop.secrets", /* dconf */ "--filesystem=xdg-run/dconf", "--filesystem=~/.config/dconf:ro", "--talk-name=ca.desrt.dconf", "--env=DCONF_USER_CONFIG_DIR=.config/dconf", /* access localhost databases */ "--share=network" ], "modules": [ { "name": "libxml2", "build-options": { "config-opts": [ "--with-python=no" ] }, "sources": [{ "type": "archive", "url": "https://github.com/GNOME/libxml2/archive/v2.9.8.tar.gz", "sha256": "ff879b0d9142564bfe63df9753df936f05150afdd7bae07261f12d4dad33ba4a" }] }, { "name": "gtksourceview", "build-options": { "config-opts": [ "--enable-gtk-doc=no" ] }, "sources": [{ "type": "archive", "url": "https://download.gnome.org/sources/gtksourceview/3.24/gtksourceview-3.24.9.tar.xz", "sha256": "699d76a453e6a3d3331906346e3dbfa25f2cbc9ec090e46635e9c6bb595e07c2" }] }, { "name": "postgresql-libs", "build-options": { "config-opts": [ "--with-python=no", "--with-perl=no", "--with-libxml", "--with-openssl" ] }, "sources": [{ "type": "archive", "url": "https://ftp.postgresql.org/pub/source/v10.5/postgresql-10.5.tar.bz2", "sha256": "6c8e616c91a45142b85c0aeb1f29ebba4a361309e86469e0fb4617b6a73c4011" }] }, { "name": "jemalloc", "cleanup": [ "/bin/", "/share" ], "sources": [{ "type": "archive", "url": "https://github.com/jemalloc/jemalloc/releases/download/4.5.0/jemalloc-4.5.0.tar.bz2", "sha256": "9409d85664b4f135b77518b0b118c549009dc10f6cba14557d170476611f6780" }] }, { "name": "libaio", "buildsystem": "simple", "build-options": { "arch": { "i386": { "cflags": "-march=x86-64 -mtune=generic -O2 -pipe -fno-stack-protector -fno-plt" } } }, "build-commands": [ "make", "make prefix=/app install" ], "sources": [{ "type": "archive", "url": "http://ftp.de.debian.org/debian/pool/main/liba/libaio/libaio_0.3.110.orig.tar.gz", "sha256": "e019028e631725729376250e32b473012f7cb68e1f7275bfc1bbcdd0f8745f7e" }] }, { "name": "mariadb", "buildsystem": "cmake", "no-make-install": true, "config-opts": [ "-DCMAKE_BUILD_TYPE=Release", "-DBUILD_CONFIG=mysql_release", "-DWITH_INNOBASE_STORAGE_ENGINE=1", "-DWITHOUT_ARCHIVE_STORAGE_ENGINE=1", "-DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1", "-DWITHOUT_PARTITION_STORAGE_ENGINE=1", "-DWITHOUT_TOKUDB=1", "-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1", "-DWITHOUT_FEDERATED_STORAGE_ENGINE=1", "-DWITHOUT_PBXT_STORAGE_ENGINE=1" ], "post-install": [ "make -C libmysql install", "make -C include install", "install -Dm755 scripts/mysql_config /app/bin/mysql_config", "install -Dm644 support-files/mariadb.pc /app/share/pkgconfig/mariadb.pc" ], "cleanup": [ "/bin/" ], "sources": [{ "type": "archive", "url": "http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-10.1.24/source/mariadb-10.1.24.tar.gz", "sha256": "b3df99ae5b1ec8cf6cede4cbc4ae3f54ce66464549cba6d56d9ff4d24e4d551e" }] }, { "name": "libgda", "build-options": { "config-opts": [ "--with-java=no", "--with-jni=no", "--with-oracle=no" ] }, "sources": [{ "type": "archive", "url": "https://download.gnome.org/sources/libgda/5.2/libgda-5.2.8.tar.xz", "sha256": "e2876d987c00783ac3c1358e9da52794ac26f557e262194fcba60ac88bafa445" }] }, { "name": "libfiposix", "sources": [{ "type": "archive", "url": "https://github.com/sionescu/libfixposix/archive/v0.4.3.tar.gz", "sha256": "78fe8bcebf496520ac29b5b65049f5ec1977c6bd956640bdc6d1da6ea04d8504" }, { "type": "script", "dest-filename": "autogen.sh", "commands": [ "autoreconf -vfi" ] }] }, { "name": "libssh2", "buildsystem": "cmake-ninja", "config-opts": [ "-DCMAKE_BUILD_TYPE=RelWithDebInfo", "-DCMAKE_INSTALL_LIBDIR:PATH=/app/lib", "-DBUILD_SHARED_LIBS:BOOL=ON" ], "cleanup": [ "/share/doc" ], "sources": [{ "type": "git", "url": "https://github.com/libssh2/libssh2.git", "branch": "libssh2-1.8.0" }] }, { "name": "sequeler", "buildsystem": "meson", "config-opts": ["--buildtype=release", "-Dprofile=development"], "sources": [{ "type": "git", "url": "https://github.com/Alecaddd/sequeler.git" }] } ] } sequeler-0.8.0/build-aux/meson_post_install.py000066400000000000000000000012301367531117400215300ustar00rootroot00000000000000#!/usr/bin/env python3 import os import subprocess install_prefix = os.environ['MESON_INSTALL_PREFIX'] schemadir = os.path.join(install_prefix, 'share/glib-2.0/schemas') if not os.environ.get('DESTDIR'): print('Compiling gsettings schemas...') subprocess.call(['glib-compile-schemas', schemadir]) print('Updating icon cache...') icon_cache_dir = os.path.join(install_prefix, 'share/icons/hicolor') subprocess.call(['gtk-update-icon-cache', '-qtf', icon_cache_dir]) print('Updating desktop database...') desktop_database_dir = os.path.join(install_prefix, 'share/applications') subprocess.call(['update-desktop-database', '-q', desktop_database_dir]) sequeler-0.8.0/data/000077500000000000000000000000001367531117400142655ustar00rootroot00000000000000sequeler-0.8.0/data/assets.gresource.xml000066400000000000000000000003131367531117400203030ustar00rootroot00000000000000 stylesheet.css sequeler-0.8.0/data/assets/000077500000000000000000000000001367531117400155675ustar00rootroot00000000000000sequeler-0.8.0/data/assets/icons/000077500000000000000000000000001367531117400167025ustar00rootroot00000000000000sequeler-0.8.0/data/assets/icons/128x128/000077500000000000000000000000001367531117400176375ustar00rootroot00000000000000sequeler-0.8.0/data/assets/icons/128x128/com.github.alecaddd.sequeler.svg000066400000000000000000003530601367531117400257720ustar00rootroot00000000000000 image/svg+xml sequeler-0.8.0/data/assets/icons/128x128/com.github.alecaddd.sequelerDevel.svg000066400000000000000000005070071367531117400267540ustar00rootroot00000000000000 image/svg+xml sequeler-0.8.0/data/assets/icons/16x16/000077500000000000000000000000001367531117400174675ustar00rootroot00000000000000sequeler-0.8.0/data/assets/icons/16x16/com.github.alecaddd.sequeler.svg000066400000000000000000000415261367531117400256230ustar00rootroot00000000000000 image/svg+xml sequeler-0.8.0/data/assets/icons/16x16/com.github.alecaddd.sequelerDevel.svg000066400000000000000000000424761367531117400266100ustar00rootroot00000000000000 image/svg+xml sequeler-0.8.0/data/assets/icons/24x24/000077500000000000000000000000001367531117400174655ustar00rootroot00000000000000sequeler-0.8.0/data/assets/icons/24x24/com.github.alecaddd.sequeler.svg000066400000000000000000000645061367531117400256240ustar00rootroot00000000000000 image/svg+xml sequeler-0.8.0/data/assets/icons/24x24/com.github.alecaddd.sequelerDevel.svg000066400000000000000000000645121367531117400266010ustar00rootroot00000000000000 image/svg+xml sequeler-0.8.0/data/assets/icons/32x32/000077500000000000000000000000001367531117400174635ustar00rootroot00000000000000sequeler-0.8.0/data/assets/icons/32x32/com.github.alecaddd.sequeler.svg000066400000000000000000001253451367531117400256210ustar00rootroot00000000000000 image/svg+xml sequeler-0.8.0/data/assets/icons/32x32/com.github.alecaddd.sequelerDevel.svg000066400000000000000000001473751367531117400266100ustar00rootroot00000000000000 image/svg+xml sequeler-0.8.0/data/assets/icons/48x48/000077500000000000000000000000001367531117400175015ustar00rootroot00000000000000sequeler-0.8.0/data/assets/icons/48x48/com.github.alecaddd.sequeler.svg000066400000000000000000001530611367531117400256330ustar00rootroot00000000000000 image/svg+xml sequeler-0.8.0/data/assets/icons/48x48/com.github.alecaddd.sequelerDevel.svg000066400000000000000000002120351367531117400266100ustar00rootroot00000000000000 image/svg+xml sequeler-0.8.0/data/assets/icons/64x64/000077500000000000000000000000001367531117400174755ustar00rootroot00000000000000sequeler-0.8.0/data/assets/icons/64x64/com.github.alecaddd.sequeler.svg000066400000000000000000001605221367531117400256270ustar00rootroot00000000000000 image/svg+xml sequeler-0.8.0/data/assets/icons/64x64/com.github.alecaddd.sequelerDevel.svg000066400000000000000000002221621367531117400266060ustar00rootroot00000000000000 image/svg+xml sequeler-0.8.0/data/assets/icons/actions/000077500000000000000000000000001367531117400203425ustar00rootroot00000000000000sequeler-0.8.0/data/assets/icons/actions/application-logout.svg000066400000000000000000000473151367531117400247070ustar00rootroot00000000000000 image/svg+xml sequeler-0.8.0/data/assets/icons/actions/office-database-edit.svg000066400000000000000000000443101367531117400250050ustar00rootroot00000000000000 image/svg+xml sequeler-0.8.0/data/assets/icons/actions/office-database-new.svg000066400000000000000000000366561367531117400246670ustar00rootroot00000000000000 image/svg+xml sequeler-0.8.0/data/assets/icons/actions/office-database-remove.svg000066400000000000000000000362351367531117400253640ustar00rootroot00000000000000 image/svg+xml sequeler-0.8.0/data/assets/icons/status/000077500000000000000000000000001367531117400202255ustar00rootroot00000000000000sequeler-0.8.0/data/assets/icons/status/table-empty.svg000066400000000000000000000424661367531117400232050ustar00rootroot00000000000000 image/svg+xml sequeler-0.8.0/data/assets/icons/status/table.svg000066400000000000000000000411161367531117400220400ustar00rootroot00000000000000 image/svg+xml sequeler-0.8.0/data/assets/screenshots/000077500000000000000000000000001367531117400201275ustar00rootroot00000000000000sequeler-0.8.0/data/assets/screenshots/sequeler-screenshot.png000066400000000000000000001537331367531117400246510ustar00rootroot00000000000000‰PNG  IHDR×îê·$×¢IDATxìÝQnê@ †QÌþ×\ß T2bîOLsÎI˜„ôí“5}ü'Ôƒ¿ðÎúñ1<€)jï0½ŽØëýˆñ¶…“×Þ€Évñï@`Ÿ2åÙÁZl·çº°h’”ß홓ãÑg2¹Ž°艔ßê=¦Û¯¾·àì7ÖÂ߈Ì-² ¯“r@˜ßsÚoª ×èëרËoyIÝhïwÀ^ç½ÿ9Åõ½“ä&Ý“è-²‹ë¯(aÈÖ×EõeßÊ@ïì}Eö|˜Ö+pOèÅé¾O`×ëK£z\·ó]½ð^ý¥‘½ÅõýÏ[Oš— &Яš„ï»öÖQ=ôW½[ ß§ó‘]`/a}]T/±Äø_ôžÈ.°×c¿ZÕëÃ{«×Š÷ ô²õûðº^Ù[\_-‹êuüÝY ã Ї#øÚwDö×ÿfX¯d´7Á&Öüö÷ÔÍÃz‚z™`_L¬w ´÷]{Ý!¬/ˆêæü÷€=!yŽÞû"{ð½ˆëÃz‚zíÚ&fXèåÛÀtþœÀ¾=®çÃúù´z-‹í×k}Á¹˜~~¼/ ìâú¶°>|^Û#A>HO|OçÇöºyX¯ƒc«#¼ð¾ úŠh˜Xïå]\χõƒŸóuÉßS„€¾h½òÀµáÀ.®çÃz`˜è±À?PØøBÂzàŒöÇæçÎvq=Öçàòíbò= Ã[Ãt:”¿ñùÀ.®çÃz0ŽŸ\3œØg ¬ÇÎúiœ¿A`¯mSÇa}þü Ý÷è·¾dbð¦Ï"ûÏÆ÷]°=Œ¸^‰õÓ¨^óùèíâú÷@\Oì¡Þù>ì ö×wlS¡Ï5ŸÏìá.°€°~pÍt|Zûôs~{q=±Ìù–/oDõùò]HÏ€þhXŸ?÷‘ý|ë˜Ä1âz`²:ÖŸ/®[Cd?ìGÇö<èƒëú‡õ!ª÷‹ßùÉöäôº¸¾#¬ÿrÝpM&ØÞ‰¸}xM'&Ö‡µ†µvqý“ÛÁÌû,†×pþù–1uðlÓ»Ù?½¦Ö§ãóúÓ_ŸDï)ÈçN{~{q}EX×װƸ?ûÁ60«§×ÀÔúù61ó>êCŸ·‡ù¹(°‹ëƒÚÖ‡-^jˆçõÆzyâÝô:Üuj}œ@ŸÃ÷o±¼‡ø>¯·7°ÿcï4$¹¢0×)f6 d-yм@$Ù ÀòÓÁä9ä5B`$ ƒ1¤»;ÕÊ¡s\E§ªó}÷ö­; ü{öÔ±»Mw9±ïi ÖûtiÿåP_ õv¨MÑÞ0ýò]êyå ífo˜³^tµï†úk¨OCý1žG7Hû˜é1ùû>Ÿç}»úï/ÿ=µøu­·ëEçú×?~üf»ÝþðæÍ›wÃçÏ:€åúûõõõÓÃÃÃÏ÷÷÷¿Ÿ/:×­ì è^®/>>þôòòr³ÛíºÃáÐ-@ß÷Ýf³énoo_ïîî~|zzúeì`_VÀ¾‚p}³¢`½UÌ“ÃôHgï¶Ûí÷ÏÏÏ7ûý¾[:€S–yªÝnw³Ýn¿Âõ߆ã?‹‘*Å(˜ÅŒ{i¿;Cß­E{×zu/ƪ‚õ\ýXŸGÄûµu«Œ¹æû¡ÞN2Ïø—fã¾ÈXgdµéùJlV ×ÇÁwÏëéùf¿ß߬-\8§€ývòÉ(ƬDÙµ>žûü¹½{}!ú•Ìuö¹ìÅ~¬tÖWÁúä^œ~€k اygQ'}³Öû$.˜)Ï“l®°k½ýþù@¤êóhÅ;@LfªÇ¸Nsúä|FWùú»×û•ÏZoÅø—.èçžÇXk‹ÛòÒ´oì^:6s}¦ùã`’(Ö~²Æ¤ú<æT+ s˜¬£|>v§uæüõ|5ú…Œz‰ò|¾Hë¨è`?¬°fUþ™sÒ:g½`£u!V®_L´ïë9ëEÀg‚ö¡V­?U•‹yj3òÜÄX˜¥ˆIuÁ{c,Ìú€±0“:3¦+ǾŒ&gW¯_à õìå8˜â¿7ôy5¸"‘³Ï¼æ®öÆÜunÇzçWÙ¹—ý¾†`¾x‘é™g^hzíÀ Mç^Vš»Úëîöâe¥óï¶ßõ…™ÿ/-ÝëEÀžg¬÷cEwYp¶Ù3"ºVf«ï'ûC¬wi?ýœ×:ìÎçå33×cæ½(ÏŠÀ½˜¯ž«7sý? P×i¡ú´ís˜¹>èMsØ#­gÌ Úç‡î^h:·k=Ÿ¥@=]ÐØ; à(²½‹ŸžxBp]œõeq[wÜaÝÝwyî¸>÷‡<·ÅÝÖw±ZE>Hpw"H<3ýqª^OMu ¹™™„™ÀùUÝêž¾ÿ¾Ócȹ§Ïõù|l8zô(>ŒœœƒÇââ☘ˆÔÔT¤¤¤Àãñø…v¬MJJBzz:4h€:uê@\±Îu;ˆj"`Œ}Õ$ªË¹¹›=ò±Cß-W`¿œëB!„B!„¢ÚDuGXÏÏÏÇ—_~‰äädtíÚ-Z´@­Zµ@Ο?OÑÛ·oGaa!êׯOÁÜÙ+%Ü—””`×®]çÑ®];>®tøžÎ˜1äÅ_D³fÍ.gq¸vgñ<q<–]êf<¨¬(e¶•9æqm‰[X7:×…B!„B!„˜2eJÄŽuмk×®Åm·Ý†'Ÿ|¨]»6(ž³qÿ†nÀСCÑ«W/äååÁëõÒÍN‘œ‚ùEÝîlt®7lØã·mÛ†sçÎáJ£´´Ç‡Ã‰'àà>ÎÚˆ º§Y/5ë­†mô5æî\·"®ÜénU°ÏF<îÇÊ\9„B!DÁWøç/–`ÛÁýh'¤"!„rš»œâ|ÌㆺàcQ §PþÅ_ࡇBÓ¦MÁcA×9í|ðãb(®ìì‹ëYËý;v }ûöÖ°–çD“»îº ýû÷G¸ŒÆF½Ô¥•Fê^·1Ê\· «ÂµnUÒµ,gxØ"q®s†kÑ¢E/eêXŒ1±lÙ2deeôèÑ5-ñyê÷ÝwÖ¬Y8ÙÀ¨¿¸øzXËsø9E æä_ýõ¼KEEEn7z¨Îu'oÝ<Ýì^w¶º× ý†z9×Íâx˜"»è^¥9ë‹/æ,%þùÏ2¿ŠHáoûq B!„"¶ñåžÆi¯WÝ: ‰Ç_ú6~øtÔ±@P|x#Ìú¦L˜€©¿ú –m>…2/r¶,ÁÌŸMÂÄi¿Çœµk±àgã0i~¼ì³ŸáoÆbâ;[Q >Ñq|ø‡ñ7m1vyMcb¨e„Ì…cÿøì6/‰ŸMž‰ONÚB!Dd\uÕU4N‚ìܹ³fÍÂäÉ“¹åb¡ ƒ b]¥²Ö>ŒŽ;:Cj<çšk®AAAÿ± cL Ýë999•ZøsÓ¦MBu‹R¦HÎ×ëиqcŒ=ßúÖ·ØðöÛoóŽ8°–çDÛmÏï…uæçWCþºY?­~­VÎõKhó·Ü[óeŽ àÏ&?ü0fΜÉ/ ì(//ç?ZægA!„BÄ6žf­Ð2a ö~ôoÌŽ¸£s[Ô‰ ³°â5Øwîš ïæ5øxé<¤6zw¥}Ë7á˜Õ™]¯†'k=¶œââA`Å»¢]âï#Î0öÝu€©6q–û>ü![Þˆ¦µ,!„"2¨ñ°QX_µjFމ6mÚ0^óæÍ¡ ½"ã]¨Qˆçã0 ÖDÑÛ×ÍYïÐéΈCMpT÷k¨Ipr€ –nܸÑ?¹ðÈ#бOç?3Ø™±þ«_ýН¹ë(++c>?#DƒÕ«WóÎÔ«W/½ôïšà÷a`¹Üë¨ s=Ôìub?¿JqÆ­ñâºÃ½É•îîg#–«E Ã?˜ø…ç̸„¹YÏ=÷gù„B!D S§+F<”‡ÿÌ_M+ÿÿÛp-î:½[¦ dß6ì,ð Ù}à–Ìú°šæ#ë÷b×®SèQo•Yhrïƒxø®&°sk#ç«p¶ûÖiÿc„û6Š+ûŽ®p¨d­òøëðà[¡sº%…Å(³!„Bˆ*€¹Ü£FBóæÍÝÁÅ/1bĬ\¹’nr8˜òÖ‹‹‹‘šš®VD73Ç Ù¹N¸°)¯ßt.³Ý¡ã¾uëÖ¨)P£ „uÆ6s¢Äû<Ƙ¾^šf…C~ô£!tíÚ•:#È-n½õV~Ö‘ÆÂXÁuÑ B¼Ï,²G_¯Î牯±yëæ:+„ýPo}ˆ~É ƒãjÎB!„"Æñy‘rm?¼òÝ^È^»KÞÏÂó?@“Wû¡Qa!Êm/ެù5Æú#;=¨[\‚’ Íg_دÂÿ,‰µQ×Nâbxá¿Û6J.:v)B©k~ÚÄà|„BÓ§Oa|a” ZGœå–ÆJ ²AÏ1èH¹ÃÁ,´V\„µ{÷îHHH@MÄ™Üpã,ÉšÛo¿$77—îttèÐ:uÂM7ÝÄWòš9Â:náPÅæd›-¸`mÞ7‹Ý5/w=¾æç­›3ŒûN .²w±Gà\ç팃᷎pŒ'N0w=öo9Aì"„B!Ê àM±áõ¤¢Ým#qÿá‰x'ûNŸ·Ñ²Vâ­84½ý ëà',x’k!yo2<–³ùùðÙ€sù8kpœë–‹Š‹PlÛˆ/ÉEÎ9Ûÿ_™ä ƶ|yp°+]ëC¹×F"A!„ãÆók>„Â:×Öc$ŒÃþýûÓâ×’Üç8°ßi§ËBÇt0ÒÄ=fH3'èˆ6G}k÷îÝpàú‚‹-ÂСC/ƒXçÍ7ßäâ±±qòäINŽ0m‚"€úûœÈ Ù¼;¡Ú÷?þ˜Q5hß¾=þñð;Ã´Ph^»Á­LT·ÂÖMÑ0†s•¹%"q­‹­ª4¥°Îá³Ï>Ë/1f̘ÁÙKöáñÇG¬"„B!lœÛ237–£e릨\ìÝá…U·%ZÖ¶˜ÖíÓ·aÓWá³Ä 4Œ+Fþɳ¨ß³:¶º­²±wãr,/mëà&öñ €•R R-ìÝ¿KVæ NÎvd—Ø@ ÛU06k̵B!„¨BÜù=÷ÜCýúõC‹-“‚åË—SlvŸS!4`:tˆ[„â°]ïtiS¸eÖ¸ º§×­[(2#;;³gÏfT '(Sûbr®¾újÄœ¼hР¯óçÏç ,À°aÃü;…u§PX§{œï[uóÑG1žâ93ÖƒjÂcGî^¯J$®[UPcê¬âbÌYB–«…53ÅÌ-þ@¹å¬ÛóÏ?9sæðGË1»!„BˆÔV™¸~ÇgØ»k öú’Ñ MOŒp/ZX^”'\ƒOGâ²°åÕ(F"ê4¿÷'ú`§wÄ !G0gùflý²7öÈ@‹ÃŸá¸ÿ9×[ãöA=qbٗؿy+š´¿ƒ{­ÇâM`?|ŒÍ~Ø!×ÚB!DUÒ¶m[ 2ï¾û.ó¹éd§°ÎrºÁNbB½ˆçmݺ‡½{÷RÔæXEÇbë,((`^¼ñ<^g·nÝðÙgŸ!ºÀ©fÀSãx1¹-Å:Ô™ÅN!›pqÙÀëf-ãW.%Öù¾ð ¼£ ì,~“æYA¿íª %þî¾Üì0÷GGÌ÷ Ɖ ¦*ε‚4b!’““éXçâ¥þ[r¸Ïcì‹m„B!DRËÞxè•oãÇã§`ꤟà›Ï@fÊÀ.‡]·>÷-Œ™<S'Ãw_„ŒÚï¯FíÌáxý'“1yÌh<Ô±žûl¤^7/ÿ`"¦Lú1ÞÕ û SÆ Ãµq†±ÓºàéÉÓ1ù©ÎHEˆµB!„¨<ˆÕ«WS˜¦Ž×^{ ãÇçÖ/¬³ŸuÃ1bÒqN×tQQ¶oßîDµTª‘={öд´4Žå·2ðúù¼\0==½R.÷þýûÓÉ‹Áëxúé§é„G,Bg:caÜ“ LŸ`ã¾;ª…“—~.Ÿ~úiDºY#5‹í!h®Uu®œë¼ÙU cÓÍaf®óf^ŽÅ*B!„Â.+FÁ…v1ìòž/A0ÊK pŽ]¬+u;Èoi!Î]h~PŒ’J]‚óù<Zmä!„ÂщV®\‰Áƒûßlnn¾ùfFÆÐÁ]¡ØÍ>º”Ûµk‡µk×2ºÍš53ŠªÒ)únÙ²…fNŽQYçºsÝtH3¾…×jtÚ;ÐÅÍ”.²ÉøN 0V¦aÆÌg< ǧ†X„±0œaVþ½÷ÞË÷›Q,¼óÀïοãŽ;˜'÷Þ{µ¨_¿~T\øëׯçó⮻ï­[÷ôšÝí°Ý}Õ Áb¨r®Gcî3ÏÀ¸›»_!„B!„B Ø=z4¸D ?ÿùÏûYÇz£HÎÅ@é^§»dÉdeeT`ü¤cbº¬½ë÷{©éË_fúäÝzsÔêJ7¹^ƒ~cx7¹~`r½Bî èéoÌŸ\¯Á!~…k“T¸6? nö×MÃó¤ký”v ­t®Ï&×rÒ¼{}ÿÄyþÛó;׫ùØÊûîßÍИ•Væ«s}B0_ÉþõÎÎëëëÜ€Éõ<+}ü9½èÂõöBÔúüü<«ÍÙë£ï;&×+íTÏŽë âZ?€™¾¾¾Ž···à7ûøø8?ª¿&;ëZÏ[×ö{9f©Í½Bë~€ùòl´†ä¿Âõ•\ u€¶µŽq„ëi­Ì²¨uË3ZáúDµí|rSáúüGòóëÌÈBûÏ+\¯çªäÙè€,xc¸N}· 'åå8Qù>™©p¸M¸^íûWÞx Pr^áúüÀ»FìûóÎ2¹>C5—ð×`‚½‚õR s¥” VMy«pý&zåÅo»ãò7çã`ÀéüÛ¶mÛ¶mÛ¶_lôçï†5Nxø…“\ÜÏÆ/p½ÙH„–i‰ëØãæ!¸JM°Bºe1zö¦v¥š %qÏãüj†B/‰â•MƒçÀ›œ” ãêMHb!ís‡\ó Üœ±Ö_Nj˜nÖââHLv s'7Où–:‹HöÂÅh¬›a©å nœó ¯{%žY#ß<Ç'Èu“˜ô!.¨ûüã/7ïÒ£ïë?±Iîãôi®ò-eþ–»€#Éþ8þ­cbÞØoÌŒÃ̸Œþÿ™™™O¸(:ff¾[fÞ 3Ï8¶Ãf;lè®óÂ(öhN­ÜÍòï#US½é©§'|*µKúó󯻈ˆˆˆˆˆˆˆ¼V¿âßK5/ÏF»šë/vQÌky»×³ÛïÞʱx)ÓæÎ¤¶8NשÙ‰N„Ãt™| ó-m¡œ±€3žiÓÇ“=BóщØÞ–VN:ygÔ“…!1¶’Ù+V²råðX>•²0bnÖòe,l(Ã=¶ûÿkî=Ð%™Gï–¿ò›Û7ÐÒ_@ýìÙË38ÙyŽ@¶ât<ýG~{ïVŽ 1iîfUçrºyÿüõ?ØqÊ$þwx8 „g}[œç8‰ç—:GŸ5ç0aæ2–ç¾ ¾˜Ì@&ã&/¾_ÎÒ©edøÿ¤7?ÿº‹ˆˆˆˆˆˆˆˆv«›—¦¬æºye|+H¼¾^úlåKßÈ›þÿ ¼ýCŸã«ï^H¡!@8Ô ¥sY1½ïxˆ¦3€²`q¦ŸÖ–ãÄì)Zš»±¹“h¨É ÁäÖ²øÊ«¹úêáqålÆHš»†ëßô>õÕ”›“ì|t3£E[Y÷ôa¢c¦ÐøÑòö׽޷¼÷3|ùSWRéCX¿±ƒxîd?6<ÿÿ¼áÝ烗V1ÔÊÚ-m¸$²ÇO`œéeëcÛ9iIvq©rôYs —ªEWsíµ×²fZ ‡Ò™—sÍðýÕó'A’tæç_wõƒ“d¼Ê b´ký(¯¦2s‡žü ÿ4W°z^-…#›°aB]P°ps& ðôæ]„›N³`a¦4È”‹žfmK3ín-•çZhéðÈ™Ö@Mà€leí=w‘gÀ) ²|q-cIðpc1bP6›Y—¬åÁö#=c)/2$¸ÝG86`Èš6‡iccDcŒâö¶ÑÌ)3iÈ=?_2uåO´ÑÑvœ3¶‚b,Þ¸ù\V~–¿í\ËM3øÿI$¹¸Ô9æø¬ÙÆcxXâžÀºqb±†„ôçç_wIí^7€MCÌËo纈)šÏë߸„ŠŒnv>ð;¾ÿƒ?±îè ¾pˆ.;†ú‰ådTN¢.ÇåX¨‰Ó0e§cN·ÐÒår®µ™6/›ú` ™œg‡:Ù¿e3›7ofËþ"–Ôl¹¹l”HÔ2Jdˆ! ¹yc Õï#"@昜g³sÈ5`‡çG¾ÒÆ3¨]³ŠºÌsì{|=íqƒ!‰_œO޾kö—þüüë.""""""""")8H‚´“ÝZÆN¹†|ñ3¼ûŠ©´ðè?å` ðz …ºñŒCÏ®û¸ûþ½œ€w‡d6ÒIhÛV¶nÛZ8鎞 oßI¸-JIà ÞðárUu$³—\öÞså,*²NÒ²w/ÚúSQA¡0Œ[ú.>ðºÅL*àȾ=„;\J§­â­|#3ò,)YKá¼+X0ÎÁà矣ïš/PZòó¯{I!ƒW6˜4¼ã¿‰5¼êr«–ñ–®Â1ƒÅ³.ñX ×+çÒOßÌUŽGl(BÜòSʪOÜÄå#ž;5×ó•›ÿc]¢‘(n"6PGãWoáõ†\¢ƒQ\FÏYk±žK<'îYRñÜ*—¿‰¬vpŒÁZëÆ‰Æ\,à¹Êæ\Ç»ç7â8c-ž÷|>Ékò¢ E],` \óù›¹Án”Á¨{Áq©sô_3Š–|˜›V:¸Ñ!¢®½NâD†bxiÎ/ë?ÖyåKÏ3}}YË+”y‘ÞeüŠ–ò™ÿ91Hub8)®#® ✸Îq¿¼««ë&DäiãÆ466""""""""òZfŒù&°pŸqÀqï¥8Û÷‰k›â:yâ:1ð=û?ÃçY‚% þÍÎ}@ „ä?MHA@,¤×'`øðù¸þ{Ø»úª¸—×@\qÄu@\qÄu×@\ÆXîŽ×ÉÌx& ªœ…qÄu×@\Äu×wâ:ˆë ®€¸â: ®€¸â:ÀÄÞ=I² {ýWm¼·¶mïàÚ¶mÛ¶mÛ¶mÛVÛ]Ý·s{jÍÁbtNDUâËȰ~)×@\ªÌeqÄuºŠrîxû´õÈ Ùí®_V~G=²â”}•Ùtk¿%;OžœojÍÔÍÌsˆëÌ€úŽ÷rÔ#+åŽOH瘷2櫽*¿ÎÑoæŽN˜2«ÀÌÓ;³ ººË9õ‰Sò^Fí—¿Ôop¯Ê¯éÃwrÚS›f“œ“Þ¥¾™«¸s{Þ='ͽÞɱ}òOTfM¥·rï;çfÆiyþ²ì»Á²Y`Ò¤,°ìF9ðê—Óö‡Yós—öÌ–©Ìæ_bÍ|GmŠ´çÙ wË+-žù'MÎÂ+n™ãîý(Ý™ÉÄužüঠÓ;S3xtï<ñÁ™EËý9z§£òب¥²Û‡gçņæÃvÊq·¥h¾/Gí|t´`¶=ðàì¶þ’ùÕ—†§”¾9þk™°î^9îÔ#²Æg^ÍE‡—§ºàµ0Ì\Õ­ofÌ€^™š¾«òQë[™åÇoÍ]õ_Ê ë-“Ÿ~ª*ùúyýŽ5rþMOdŽÛsOý²Ü&«eÂgª’|/4þ×ËgÙ¤b섯帇Þχå9þò €;×)ÒV_Ÿ¶Ò¨ŒU•ŠªQ=ª”ÖºÚÔ×ÕõÌÆdüèªü•Îwsç‰;gý—Ì¢‹.ž()R×™¹FütÊ­gjÊ­Ý=Ç~*Ó¯”#Gd@Q“«»SÑ]jŠ 1"Ç Iߢ:ÖtçÏŠ4ÜrTö½àƒ|ûSrÉ•—å¬M~Þ™ˆë|{ܼi®îÊTTŽùî¸ù3#ú~gþLûr.=î‚Ü÷Ì3¹ï‚ãsÙË#òë ßÎàoÿ*?ôR.9ú¬Üñèc¹ÿ¦‹rÍ“-)w´§3¥åú¼óÌ­9ãʧòqfâ:¿øÿ3¤ûSiú°3ÿLcÏlhñ™üìËg† ü~Ößg«ü¼ùŠìµÙ¦Ùó’úü`“½³ÑO¥4ì7Ùl÷5òõê˲ÏV[f×coÊ›åRFMX9+|³>—n·N6Þï–Œ\vÅ|§Of>4¥wU߬ñí#súS›¥æõ73xtïÊÇKÿø*˜¦ê® +>“Õ¿uxz—úfšõŸ”½ožôçÍÏ/˜­ŽêùåoUeÄ÷WÍÞ§®š¿öƒ¬}Ä…Y;¶Ò„üÁÎ=³ˆë ï÷ÙøgçÞwÎ͓ܔZßÌc~&ÇÍW¹cý¯Ã:â:•xþëO®^ùàë ®€¸ˆë ®€¸â:ˆë€¸â:ˆë ®€¸â: ®€¸â:ˆë ®â:ˆë ®€¸â:ˆë€¸â:ˆëüµ¢(RWW—×_=/¼ðBå÷ÆoLÙW™ñ?Òrwö[jÉìy[cŠÌ²q®®®JToooÿ;÷$מÅqü{{zŒ×½¾ØµQOOlŒñü^l›ëÝØ¶mÛ¶“alcÏܺ1&~>Ÿª[úªÿ9åº#GÌf³öeÏž¸¸8Ò2­æƒ$Ÿ`BªTñjË¢«)<¿ÿy}ËУIü,ÔX.mL÷–5 ðòÀûëZ´ì6— H•ß•èYôˆTž°ÍI_?Êå¶Gá9!„B!„B!„Ð#~S'Ö¯^½ŠÉd"kÖ¬¼ÈÙÙYûnݺŵk×È;7Š¢ðþtè’N2gª÷ó!£ŽŸY ×Vv£ý¨SdöªG‡¹°¸Bèù/0:*üæ¨Q\0–•ù ào1¢Ñç¤z³f!„B!„B!ÄoøäºÇÎÎNû±ž-³µµÕj?Œ7_OMcú¡(T^¥szýZü€·»'ß4êÆüÐHÔÔ{¬ììïÝÄÄí¡O@Uª·œÇµT õ³šzPgÂIRxAüæÏ D_ý ûw¼*T Š_Úwð'·Õóõú·®¯»;¾5Ú2xíyâxr¢Þ»!ƒf£kÝ<Ü}©Ùq¤Â»óôgy’EŸZž¶îOÚº>ß5aèΫÓž¡{#9?£1Õ*{Ðm{<Ú:ügKì§õ+„B!„B!„ŸëâçAæÌ™y­&22’e]´.Í+%²yâ|N&ð²˜ÃŒï6†¬ :uÌ7˜Ùk‡âL˜-¹I8Æ…dH:sŒã™1] &$BE #ôªf·üXñ\ò…@‚#)íYƒÂkÔ˜ƒŒýï‚L?ÐcÔHþ÷ ‡Fü— GãФ\fóÖ8úÎdáĿ乏„±KN“ïÎÓ›%ÔèŒùßXŽ8úñÁCéÑê{*ü׺ÍpÏhMîšÃY¼l¯`÷yûB!„B!„Bȳ0âç‘€££#ïâàà ½Éþ¡’’©Ö¢kšMfüJ_FÃ3‰¡ÛØõ0/5}E±<:Ôú_³jÝœI¡½«Óì¿“„ͱ`’,ßà}n!aq¸+!œÑÅ·°5/R£¢ˆÆ€É`Å›$ogOxj·ü‰²9tP¸5—w5fá–ÚÐSп6Uòd@§V§b¡qŒ¼~‹$ cÅÛó”tgI·“}áù¨Ù¾!Õré šdö:Ð;ɘ1#VñŸ«ßß-!„B!„B!„ü\* Ëö5mk¬§Íœ l©è‰Õ“$îá#â’/2·? H!! Ñ /íFqûu„¼ Aw)àI ëe <Éië$¬AqG…)NN8Exd*`õZ'qááÄ)&2™tht&2˜b=$^µ FZªèÑ[+ ª¨hÒÏß:‹J\TZ¦d$Koñ3ô+„B!„B!„gaÄÏA{o=&&†w‰Õj?Ž5k¶Áßù0Óf‘h­ v#öúBÔ:3f¤}³™¿hJ[ƒmQÜ ÃùÀµ^̃¥¸‰¿º!öä.vœxH‹+¯þ«Öç.L!ûHŽí$Få 1b¯>àîýT4©÷¹÷@ÅÞhÄNA£( éI'Ç,6ع8c£ÞçîƒT^£€Š ü<ý !„B!„B!äçºø¸¸¸pçÎÞ%­F«ýhn4jQ‰¤më8§`ëêAUÓ96-ÙÏÕˆ8â"osöè9éÅ™âny¹¿og2Y°dÖa_ÌBþk»Øyňْ¯p*Oïòòh]?þ>b Ûdßöµ,˜¿›©`cöÁ#Óy–OXÄ'8°h"+Ω\­86|‚wÌb[¼eϱlìvqpËÖ…Æ ê\0¸Àí = âÔíDžûyûB!„B!„BÈÏuñ ƒöîú­[·H‡–¥ÕhµOÁX¥ -¶¤¤¢Á±4mt¦ÄÃ¥ôjÓ„¦í{1cï TYÌ®d ÇÊìF+Й̸f&R)†[!=¯³¥p“Á nYÝ‘Y üßé=b;.Ç >ùÁߪ_WÊG¯¢OÇô^N‰ö}i[Æ‘OòŽY”/ªÐ±gc ß_A¿®]è>~ËÿÙ»”‚(€ÃoãBêT!ÅBbo!äÃNË\ÅÒ¤ôÖš M`1+#&°a@DÅ| ó§ëám¼¦Ž>hâêæ:𗇏»Çãs]d ÿïyªú[Uá­*¿õîUù~´=ç‹ì<ÈîùÞ·.7›Í<¾Ùn·‹årÃá0ÆãqúxéaLúÅz ëMÓD]×ñuÀb±ˆÙlç  ªªûˆxŠˆ·kß³wÙýóÜåçžÅ{y/½åº8­û‡4%Eóétëõ:V«U´m{˜ÇžFÁL&“_ží @)žF£€™ë ®€¸ˆë ®€¸â:ˆëÀq\Äu×@\qÄu@\qÄu×@\q×@\qÄu×qÄu×Ùo·ïìÜ”\i†á·ÐÞ‰*=ŽmÛÖNmÛ¶mÛF¸Fœg£Æži…UQU»×[¬ßçœk|ÇøîýVßsSzô`RݺåËÔ^½ÊÏ•]û#’$I’$I’$ËuÅ>ÿ¼¼Hÿü曩¹t)Mb±ò¥ÆâÅeçʯžü’²mO3þýû3`à †çÃyw¼Ã’uIþu’lXök&}PD‚ÝD’$I’$I’,וˆÇ™•—GúªUìdÁÊ%ØʯÍ>ðÀøƒ=Ä^C/åïáÚ“:³eæ“Üôì"6ó/’\ÏÜ7c‡…$‘$I’$I’$Ëuí&ÑGh”ºümuí«VñÉ£²£2öjAÇNÝpÈyÝ-âO?¥0dãÊñÜ~Æ¡Œ2ŒOºž7¯# ŸÌu#Nàî—áÂ#G1dØÍë̘ò4—=†!CFsÌ•¯³lc²ú=wœ}£† aÔçrÏϣĒë˜ûèùÜ7kÑOfPÿ¡\?%þ÷s%I’$I’$Ér]©Á×ãÆQ‡Ô"À—cDzÒÛÙ¾-NÑšß1mù6"M›R'lœÏ×?ÊGûœÀ}Ï=ÎE¾æ¥›ŸdÞF*lÿœßNKpø½¯ðâ5}Ù6çn|¶€Q·¿Äk÷䑳è%^˜\Hbã\»öQ>ˆÊ?ÄuÖ`Þƒ×òä¢=!¹i4<òÞû&—÷ÉL+I’$I’$I–ëJe}4J&©eVÞ»c¶óÅg3tðp<íQ>i·ŸÞ‘ `ËâÉL/lÌOO:€vš3ðø'D½Á‡2¨q.ûtH×½üð}>ñ§0³¸y8=Û¶£ÏÑgsH“|¦þn ÁšµÈ B8»6¹¹¹ÔÈH+I’$I’$Iÿ©ÂèÿDˆ½G^ÅMÂÄ[îcå^M¨Ÿ’Ä ‹ˆmû„×ÎÛ”ÙÎæ­Pk•Ô¨]“ e„Ãrjü„eB„CL$ˆ DØ3¤\0BÝH€ME…Ä“9ðÇRç¦&I’$I’$I–ëÚ£Y3â‹“ÍßöhÚ”•iH‹6Í9íÄiœôð“Lõ0GÖ‘Y«6Yávß ŒŒ¨(=ŸF•@ Àß »Nm²’ŸóC~ê!‘ÏI²Õ&3 I²êþT¹©I’$I’$I’ÓÂhÿC¡Ô €z‡ÎÎ ’;ìTÝ%¯=ý{òÑq(#køÍ»³ùbmŒØºïX½p EavHz‡‘ Ý3ʸ'ßfβeÌyû)ÆGkÓP{Òƒ5¨U¾û`& ÀŠï¶ìz®$I’$I’$Y®«ÉùçhÞœ|þ¶| Ô²%Ï=—–Ö”ÃNLÚœçyiáF’9Ý9÷΋éRø7Ÿs §ž3/ÎúšÍIvLvgκýRzo˜È­^À-c‹érþmœÛ#‚õqÜê}þ:×^vcWÄw=W’$I’$I’œFÁÌLúLšÄìäËU«ˆ™Tˆ…•Åzï fdð ·áì7&s6UÔès ã¦P-«É.{¤táϤ á¶ßù£ãn\>a2ÕBÍ8õåÉœZuØx4—>Zºðç‚äö¿„gJH•+I’$I’$I–ëÚYõê1hÎ>yôQ¾;–¯£Q¨œc½ñᇗý±þçź$I’$I’$Ér]eåyÓË.+_$I’$I’$Iι^ÂŽ ò·ÄÞÂä:Èu@®€\¹rä: ×@®€\¹rä: ×@®€\¹rë ×@®€\¹rë ×@®€\¹Èuë ×@®€\¹Èuë ×@®€\ä:Èuë ×@®€\ä:Èuë ×@®rä:Èuë ×@®rä:Èuë ×¹r}¹rä:ÈuëÄŽù¿6B†ªªªšëUUUUU5׫ªªªªj®WUUUUÕ\¯ªªªªª¹^UUUUUÍõªªªªªšëUUUUU5׫ªªªªj®WUUUUÕ\¯ªªªªª¹^UUUUUÍõªªªªªšëUUUUU5׫ªªªªj®WUUUUÕ\¯ªªªªªæzUUUUUÍõªªªªªšëUUUUU5׫ªªªªj®WUUUUÕ\¯ªªªªªæzUUUUUÍõªªªªªšëUUUUU5׫ªªªªj®WUUUUUs½ªªªªªæzUUUUUÍõªªªªªšëUUUUU5׫ªªªªj®WUUUUUs½ªªªªªæzUUUUUÍõªªªªªšëUUUUU5׫ªªªªª¹^UUUUUs½ªªªªªæzUUUUUÍõªªÂÞ]ÀGu¦}ÿÝçÌLˆ 2 –za©B>åaË -RáÝ]¬þÖéÖÝÝÝ‘¶ðà´Å"O.@2±É9÷‹u¡0 áyé¼×÷ó¹#ç“û\sþ\Ø5v\ˆúÕ¯2îª! 2œÇ–Ôqœ!ä÷¥B!d¸.„B!„fË×w2lȆ\u-.ò¡9 «˜÷' eÈÞ=WOäœzŽJïäÛû†sÕž=W˜ÎÜ]š_…ºŠ+góÎ3Ó¹õŸc¹áÚá :‚koÃMÓîâÁ§^çÓ9+X»«!„B!Ãu!„B! ˆII!Öt-9ÅÔÓ8{KY[,ö±w’¹ª‹£¨- ·¸ í½$G(„pšU¶’÷î›ÌÔ‡^ã«…o.ÇWãDzê¨ñíbki.«Ïâ×â–‰ÿâµÌZB!„2\B!„Âìà%9\šŠü\6Z4BSžÉ:›,¶df°É¦QÖÚ j4`ìæ·6`zË7Ü9l(ÿz¯‹ß]™Á÷?Æ—«wbi…OZï~ t%ƒ¯ÈåŸË™'&Ñ6Ü…pu¤k'B!„"0B!„BüÿÎÕo· þgY öæ\òwi:E)Ò>VgQ¯ž˜»©YŸAæöËißZ˜Í–Üt(ïÉøI·3ý©7øbQ!åõ¤k6³rÖÞ½Ó콚a×ŽâÆ›ïãéw¿%k[©_ý*ã®ÂUc^&«ÀOÙš9¼÷ä]Lš0’Æ2bä¦Þû ïÏ/¢Âæ kùÿóþžÚSÆ^=ŒkFÝÈ-<Ï'KJ©ÒàDΚš ?ðñS·2qò묪րŦ/ncè! ùÏÊ´K±š9×£3PJ±a 8'sÔøJ—ðé‹Ó¹õ¦Ñ\3ìj†ŽÉ„i÷ñÌó(ÜmPŸ½¿o†NzŸb‹Ãh¶Í¼‹a{3:™÷‹-WÅ‚‡‡ïû5¹úƷȳœî—f¯à÷Õó}üwMžÀõïâª!WóÏw ±hB!„p!„B!„w¼‰AÌù±{Cù—Ñ®¥âìMdeoÃFáîÚäaéiD̘ˮªÕ¬Ê«ã”~IS–—Çv Pá${;`ˆf÷êOxêéÏX]n¡ùY=•;6’»wý4—Y½þÊÄQýè¬øßÑìÊþ˜§Ÿý‚Õ;ëѪdÇÆ½«Ìlízu¥—ë°Û¸æ3ž}ö32Ëü‡í­`ÛÚì}kñ¬o8yðX®ëŸ@¨¢AÚ·™M»vbÏx˜'gÿr0^YÆºÕ Y·f ÆäqçЦb%ï<ú,3Š*ÑúÐÒÛ(Éܳ²³pÕH¦^wÑàhÎ6›Ìg‹×cq¬š7×€Ü1´ŽT°Å¦~m%þÓIvsìš;G]Eá×OñØì¨ÿEPVšÍÂÒÕ,ž3cÇÓoÛV*5Žj†ët¾NuõšºÍsxú߯³lû¡¿Ï]ÄÄÅ`ЄBa „B!„BHJMÀT ýEäú9œ.Ë&s½ tLO¥¥ObORCÕ×Ù.¢>Àð° · PAÝðvuHmá'<ôð'd—ÛO¯‹þÎÈ'3mê$&\;ˆ³’ZáÂÏöeoðÀsØbqìÐT­y—ú”ìõhå&²Ë)ô»â¯ q Ãþ>ˆ‹úö¢kl(‘½Î$-˜Chªs?àÁ‡>"£Ì*”ö½úsåˆÑL¸éFÆÊÀsÓi¬Ðu[øñÍxäëµÔÑkËÞx’'g”P“ÊÙ‡2rüMÜ4qCœA§p¥-Ê–¿Á _.äÓGŸdF‘ø^ô¿r£'ìùÙ #rq/âƒh?›¼Ìk v¢ÁáœM:¸§žy†§§!Õ`wÁ”}ÇžùÏzŠ[.mÙü¹6ÎìDÏôH ÀÞ6—·>É=öAu³çh±eîÓ<ôîª}ƒuåiMz¿¿î?Ï´ÉÜ8r—žÖ‘ÐÊ\>{ô^ýaŽj†ët¾Ž¶+Ù½q¯>ôËÊ,‚âRésÑ@ÿu0/9ŸÓ»„£hB!„p!„B!„­’Shk¬aUE~n)V¯n¿‚V¬É¤ØÒ`¶%=- 8…žÉ–,¯egæ*J­º˜T_LNA-puJ%9Tq„º>}á3ŠjÀŒ>…SFrV[õà”¾gqÒ+÷ðØÜÍTd¼Ç[ O䯾‘(ŽAÍj>xqëê4ÊÕšÓ‡ÝÄ5gµ'XñKÚO­ß$ˆCÔ¬áþ¢¤F£‚:rþØ1äÄHLѧ—]²˜—|ž›+Éùðy>O½ƒA nÒ»Èúi7-ºÿ•i/¦s0Ü›³NëÀýw}@^Mù>C¾2‰ë=–)×F¬ÉA§ô¦ï‰os×ô¬óW‘1g [ÿtqÊÙœ O(áÐ:—PûED`HóçÚ0Þ‹.#uñkdùj(úân_)|!'· Eq4ÍŸ£._ÌÛï­b·šÄ“þÉݽ-éœÔ§ý—¿ÎO|Ï“fàÜu:_ÇÞÌü—_¥t{Ý.ÍØ?Ÿ@´‹ã@!„B!„Bˆ}Ìx/É-`S–—ËvÍ!jÈÉÈïÁˆJ£{{“}T8©=ºâR`mÉ$c“Í¡¬9äWhÀ¤7™HÅa4»~øœï6Xh#Š>ï¥o[G0"9ñ¯åŒ tß-`³Í1Д-ü‚y[-´rÓáÒq\v€Á:€rä1Ûû9s·Xhå¡ÛcŽàŽ;ƒc.¡£[¡ý¥Ìút)»5 RA^®¸æ":sO§þ\zJŠýŒ¨?qõÕ§krEhÊe\Ô=…Æ*Í£¨Æáœ›Î\3âÎcÔ˜ IU ëزücŸ:‘Éÿ~ƒ™Ë×QaÑ æÏÑfÓ¼™¬òiPA$]q=ÿÕ-Ðß$ª×ßvnk Ðüýâ|{'%k+ˆ;o<ÿø‹ Ö…B® !„BáWÞÄ`•æ’ïÓüG]>kªÑ(½étqq€¢U÷t4{=™ÛчÎòóØlªÉÞv˜FïfÅâ,ª5˜mzs~z(ŠÀTh'¥† g³æX¦«z'+–æR§A¥sqÿθi"½ƒå?ï =‘ ΉǤaîÎý¹0=…¦:s˼ ··7§Å( "¡k{L ¢OîCZ¨" NB—8 @×ï l—íxÎ9ŸkÃ-{ü[îË%Ý£q+ÐvWÎ䇧1~âí<óéRJ}šš7G{+–—R¯A…ô¤_ß8 DRß3ˆ7q€ýâ@Õât®”F¸B!„2\B!„ Á$yp)Ðu…äÕó3«$“ÕT0)=’ðp›Nz[´Eɪ,Ê5ÔRSBý¾mI¤&¸9B}1¹…~4Š®‰´7i„›è˜–€¶¶²i«M“ù‹É/©G®®=H‹Pǰ·ˆ¼}{®.ÝI U4JEнGW\4üúõû´î܉0E¡a¡(å¢CBG\4ágñSW§œÁù\QPÛÓøë”ù÷´k¸ì´Z¹ ñï,dá‡OrË?nãŹ%TiŽ_¿Ö•P´ÞØwíÞ£\»Ù.‰na 4{¿8_GÑâÄÞô”ɺB!¯¹.„B!„s-S¼ÄÙ¬µ*ÉÏÝ€Õ£3&2³(³AyI÷†ð f{z¤Góùú­ø V±Úw½ÃX%äÔ Q¸¼$†p]¾™­5€Êù1|>M£k¨®Ñ4•Þ¹•­u0ˆˆoG E“Ù{ön«Ý¿·E|[Ž>ãT´ˆ'Be³C×°uK9šÖ(g…AÔRìDD 4ég5Úáœs>צóí=‡Á{Ö ŠRVÎÿŽ™³ç³f[ve1s_º›â ™ò·îD¨æÏÑ.ßÎvÿkoÛ–pEãŒZG°ÛÂÍÚ/Î×qѾsÜ!„B¹.„B!„ƒŒ¶É$·2‹-yy”k@o'+k`vJ'õˆÉ´IBî´P ksX¹¦{Ky;mÀ Þ›L+Ål_%> ÇN£i:»º’*ýó#¼C8ºÊG5ö†6qoh¡€¦ÊW…M`ž ЦpávqŒœÏù×ÏõØ™9éâáL›þSÿv*m< t kg<Ç[Ë+ÑÇ!G]í£EHSúQ¬hÎ÷‹óuö?‹C!„òÈu!„B!œd&àM aöbÖÚ< kûU»†ìµ`ŸžFŒâîĤ†ÍaQe¹ÙEÔŸâ¥*?— 6`´"9¥-h“6çeüùm1h ƒ°“&ÓÍ~Je ž¦‰4Map*g'sm~îHR/Ç-±Ïrû )³ËùaöR÷:HÕü9[?º0MÕ¼ý`;Ö/Î×Q !„BÈp]!„B‡‘”Ú×’Lü5Eä—ZœP±†B¿#š´îí0nK¡Gr‹—Õ°+w ¬DÊóŠñkP¡Ix\¢BB À¦V‡ß¾=.šŸ !„ŸñìãXaá„)Mµ¯ªÉÊöÙ_ Ýç9Ÿó WE«“.㜎Kø°ÄÂ_RÈÚúóˆt7SŽú±¦ºš£ÒÕTWÛ4ŸZjjµsýâ|!„B8À@!„BqED²—ö`ï ¤d;¥ETkP©¤w6 H…‘–Þ—{s.y;6RXì;ðf•©$Gk4ëJÙ©9.ŒÈX¢Ý ÐìÞ´‰JM“©Vmˆ Q€½gïF*4G¡©Øx † "6®Š_ƒó9à W£5mcM k«¨¶š?G#2†(—4å›·R­iœÞIY¹¦1 Å~­iœ]ƶ2Ûù~q¾ŽB!d¸.„B!„sŒ¸dR¢ Àb}I.EÅÛ±Q„x{衊–é=èd€®_OqA1k7Û€A{o2ŠÀ<]HJp¡«xË·kŽ‹ ºv0M}a&Ù>M“¹ºàM Bõ…dWj¥+ÈÎ(¢P®’Ü8ÍùœÓZÿþrÕ•ìöÙh@…ê:9z:‘ ‹Ö_G£ôöbŠwÙ4Æãq£l¾*McôŽBŠvhûÅù:ÎB!d¸.„B!„0;“’ŠBS½îVn°ÐÊMRz Á4̈I§G;´µKW°ÞÒ`D“’‡AT'Ÿé%Höçñõ'+Ø­i~*–“NNÀ­@W¯bƷ먧‰T'žÙ“0º&ƒß5¾·¾ô;ffÖ Q¥žN¯V ç9˜s€—< V °©,ß…õ;ËÕÞ²”¥ pwîFGó8ähÄq ñ˜€®XÆ÷Kw¢iˆÅºE‹(²h„"4:šèJ ó7aÓ?kç- ÀÒNö‹óuœ'„BÈp]!„Bá!1µ+nÖúÕ¬)·Qfé©(a¶#½{ 622Ùfx½õÎ& SDžyç·s¡°)›ÿ¿»’2? °©Ú”Å9;Ð ƒ¸¾—rj+ºŽâÏžäÕ¥[ñˆMõÎrª5(ÂO¾œ ;{PÚOÉçOóæ²XÉ*[ÆëÏ|A‰_£Ì¶œ3à "ÎûÕrÌ8Ú¶6/s1+OK͵¾`ŸÁú ? ÓÔl\Ì«DnÕ‚“Î9…VêxähÒáì~¤…*Ð>V¾û³Jk9’¦2ï^þj-–¦QfB ‰A °(ýîcm³8’Í®¬xñëR,íh¿8_ÇyB!„ ×…B!„Šðä: ýuø5íÓI‹V4Τs4Z*M}]¶V¸»¥ÒÍMã<‰ 9ˆ”pÚGÁW1iÒ=<ûÎÌž»€… æñýÌÏx÷•'¸wÊXÆLšÎ»+ʰ96*â$þ6¬/q.…öodî“Ó˜rÿ‹|ðÍ÷ÌÛSã»o>çÃ7Ÿcú´=5nû”b‹ƒ\¹ä†Á¤E(tÝz¾{t*·<ú_Ïû‘•Y™¬üq_½õ7O}”9ëëÐ*„.®ã¿“ƒpÞ¯›3fNîÕSÞµ„—¦¿ÀWK³ÈÍÉÞ“Ó|¾_¹Ûá\íí|ñòt¦ŽÅø›ïã±ç^çýO¿ä›Y³™=ó>ÿàuž¹*§>Í÷¥5hå¢uïaüíÔÔqÊQE÷eÈ{ S wgðæ7óï7¾bþO«ÈZÁ²…³ùðÙÿÃÔû>£ÐL¢gb(ê(ý}~ï ºü'^¸ã.žÿø{–¬Èbuö*~œ÷ ïÈ”?÷$Êt Gwàî¿ý.ïJÇèýçØ—U‡Tz¸ŽÛî›Æ o0~¿FÓ8šÈM¹—[÷䨻{'b#‚p)…é '¦cwú\~·>p ƒ»·"*.rª_¨ã8!„B(‡Î¥ŽrL5x¬ñϪ±ï,#À×&`rÌ ð9ÐêãóùîæwIñí·ß2`À~„B!„ÞÅœéy)Ó?€;î»’“f „B¥Ô-ÀÀj`Ù>ëC¾×ü:Àâèß7þ¹ÑcGÒ4LÓ°ÿË®}“!@\B§g À% §&: !s®¾8£a«ÿÛá<×àŸn˜¦ ®€¸â:ˆë ®ó@—M)ËuJÚà¹â:ˆë ®€¸â: ®€¸â:ˆë|ÿÉj³Mnû€=€¸ÀÝŸÉîpªØ»¦(ònñãßžH ’D2¨¬À¼æÀæ¼ÆµþñÆŠ÷ÜœÓ>¢(ê®Ï²kÎ ÉÈ‚(8"HÎ3Ów/UPÊãð84ìðÜ=Ÿª®4žî9çüŽáÕ’wù&9¹g8šÍ‰œlÎ}w†â»Wèj¬ÕÉÿ ¢¨ .åý¸ÌW§ï·Ò˜Ÿƒ˜û:}ô(G'¯ßŒÏþgOQtçÏ2»¤ÆÙ?_dz³ùæT×/~ÇãŠ|Ô„B!Ëu!„Bñ¦Ø:DîoOã|^ÂÚÄ0>}g'¾ÜGÖûŸ±bíLєփˉxUþS'£Ö;3󨪫¢£Ïm5ñv¼Cpàçkÿƒ|øÉ>VmÚ‹Ý’Ä©;•ÔœÕ%³«ÁÖ‡äàÏ׃‡øìËýlÙýa‰™CâÆ} èækŽB!„Ÿ\B!„Ö.¨)=ő͓‹uˆQ'tu4¢hˆó†ûul ÷'~Y wš»`¸!܉¿¨u44Õý f×{ÒcL¼½íK®Xm¨MÅó6GEPB!„,×…B!~µTàve5;£(±3^ÞÔ4sæÜ5²srÇßÓ|éûS4<¸ ަrªð÷yßA·•Ö>¸˜_Ήoò8š}ŒÜÙܾ|[sµæ¸©.(xØÂésWÈÎ9AnN6·.~KßÓ @åu\*”7t‘wå.ÇsÏpìX6gÏœäîµï{QǹÒrrs1¶×rìîÓÉw)çû+|;?Lçy}=dw@£õË— #kj(Ð\w— ÿxîcu·˜Î]«‹ë?ü=¨.4Ðz&=èw-íPþø9?\½Cî·yd;ÆÙSÇ)»{ÚÑ@Ó\ýCÞYè{F· òn—rôäiŽͦðü?j®³Xü±Ùí€:ãÙšüž½MX;äݸOvîrŽåÊÏùµÕL~×êæ!Î^¹Ë±“§Ç?¿zî=Ö@ÕP3fЃüfÓòHX·ÂŸÊ&káÁÙó G-çÙzípînÇOŸ%{üýñǹëŽv+/Ñô¬æ^¸x·ŒߌÿzN<ι¼3”\Çö¢à—ï—B!Ëu!„BÑ; =­÷YšºPðÔ€r®0j½ÉîôÅøô>þô «÷RÐ 7/íOD«øPÿ´kWsH[0Â'»6rpÿ>²>Üiñ&NÜ)Fm,šµ¸a¿vSK>ï­Må«/?ç£Ï¿"8ugŠ­´—_T^fwÂÉÛh«ü |ñþöí;À–=»QÏQü¯C IàÈ–8þ×ÿú_ã×á#–Üùpú8Ïëë¡Òfñ4Aô*t $&¬¡¨þ1¨NMu×)°–ʆÇnº*ðèI%뵿öBÛ™ô ß&&Ô¶Ùmÿ‰MË¢øôí9|˜¢Ý÷-ò®œ{ŸWrPÑã4ñÛk?±ÐÆŸsøø³/Hû‹Y©³ÍÖOŸ? hš-¾<ªï¦"?—·ãüÙÿá;|úùa¢W¾Ã÷UítW]åfu/Meß²-5”ý¿;þyøò¬ñ{?º¥­fÌ çùi§éI T÷Øa¨À“³çIŽγJk…+WsYâà‹¬mìß·Ÿ­{?ÃFöÕ[ØŸüȤ>«®Î_Ì&Õ·‡v¬ãà¾}d}ð9+Öí¢ßÎÈÀ €_¾_B!„¼s]!„B<î‚p¥ÂRð” |_TGš®†u{Ž€Á € Hñ3½…ã7,<(øŽôÿë•垪š(yXÀ‘¬,Mb‚É Ó"èW¾àVåoر$½æ¸s¥ÏØä÷„”Í&¿‡žL`ðg|sáßùó˜:My)æ9K ÙòÞa0ù3!Ìl",( æ¼¾Óq©Pó¸’ã—€Þ @fœ?Ç*,ìh¯…ð4&ͬîã÷;Yé$s° "™ªmF;ó±lÞïíšÍ¨ß™K̰$‹—ùÃÞŒ8¾îÛÌГBü—gýâ9¨øp¾øÿ+=CÂÌø¡US/ ¶°xçZM³¥ªf~ª»ÃçîK8Òb5|Âw·Ž³Èç|pÌ“ù§'ÑÏç\«ø;>LÞ:Ã\ÌŠæüfCb\RB ·,sqö´Üs¼‡·+®óÕÞ]šÌ„E>°(#c`4gŠþ…¯"ÁÑŒŸUô¨‘÷Ì,ÎÜÅ„ 3øì½~ !„ò“ëB!„¢wÀÆ"?#èMxª¥º›®²nÝ.0˜™Ê¨ƒ¬õ«¹ýbº­¼J%#&ByÕ±~pÀHŸæ¸ö!èhø”5Y¯]ªÅ%z/¬•¯Ä4×]`ˆí`òÇ 4Ö×½æ>°w–˜É„`?Xµk]“4Ô=Ä,á[ék(åuJúÙî~¡Þ¯Ù,ö[§@td2m]í^黪‰öéÄ¿ŽÙ20%Ú¸võ ûߊ†ˆ4 ³5AemlX™jy8t*&6ÄG‚9©Ò£õÔ`¨cÎfE{~Ú™ô`ð Ænœ“³§ýž:Ò#ÌšÄëlJ4Ñ°Š¾'Ešžåt:0êôó¯_B!„,×…B!„ÃáÀÇ`<õ°ÕÎ[NZ‚;0¯b õ1¯RYéö¹>0¢ø‚}@s\M«ƒÕ ø.Äà…‹hííTª[ÆXn†D¼A{}Ý+®ÁúP.f‚,O\ÊÏ:`¤@SÝ`ib÷@uò2§ …¼•¸P¼]³Yï·ÙŒmtP½ÐwKc–Ìø0÷¬rss'¯c9'9{úß1¼(âÈŽµ„¦ï ³5A%"l¯£×Þh$4$Œ×ñ5‚KoÑÁ9›íùi§( Óq¹œsyö4ÜÓELx ¸]–GF.¥©ý ÎøYËã¹ú¤ WkÍüê—B!¯…B!„z½»Ã ¨xª·¿—• @ÑãŽNQt÷ÕÀË\˜}-ÓÆ¡èAu‚Ƹ®ÞnF:ýhWj‡q6çx©ï.И)³QÁÇÏ ~ÀêÕY\¼ÿJlÿEf˓󤂢xmV´ç§Ýð¨£]ücæòìi¸§ Eo‚iëb`ÈéUeæÏZ—ÀŠØ/©~ÒÂÕªZô?ÞgUr,Éoe‚ywú%„BÈr]!„BÄC±3ºŸÀ¢åxÂh41:8ö ª1 Þ¢×p8ìøøùʛŌŒ1û¼W_— ëÊÉJò'tE*¿ëy¿?7nü[:Á¢eh•ž°˜;·žs Ã3#hmºCÔŽÌyR3Ïû}½¦Ÿ˜¡B¶¿ûÀàÃTªªz%‡¹²!NGUíZžV^'nÓ@Ñ4[óV˜ù=ê€0º!8a.Ïž†{*àc:cŽ1Ìz=(Šæïïk€ÌÔ¨ñëY·ƒâÊ*äåòùΚäõ~ !„:„B!įN¸LÁ+h¬€§.¤©oTç´ Ý¾¾‚ƒð–ÀX{úÁåàMºÏM;¯Ô÷i8;‹‰[–% €€×\)Q:t¡«i¬/g6$‡B—y9¼¨àA+¤ùô@HÒ|¨™'ýžŒmj~HFB|x¡¡At^Èa®èØ’±Ë =ÐeÕ<[óV¼ŸŸ T×?$3"Ì æììi»§nü³éôö÷nñE7«ß?&ØÀ§;VcHúˆ[—@uþòýB!d¹.„B!t d¾µ‘ëÖnh¯Åi‘FªMÐÝ€;­àè® 2oYéK£}´Tñ¦–EùP3`„®'¼ EÑãr¹˜BCÜì×·¤î9ëà ;íyXž²†›ÚÀÞVzâ6Pg­ ¶áë@Ñ¡™öšÍ¨ßN§“ÑÄë8Uhiy„â…æÒ²Eà»xe¥7Aui™­yÕw÷3èÝüJUÆšo‘–¾P4Ÿ=÷9j9Ï ÏÚZ•×q¸ åy±Q€2ë³£k#x80 N‡wú%„BÈr]!„Bd.ÿ„w8{ó6ê‹G¼©EXôs\aÑ-pŒ0Õ˜ ®•³=ÒÁ xKt -ÙÂõ’"é}³˜°0v÷î߆1ÓÑ)àë»îÞ¦Ð7»õ…–§¬NIû½‹íÌX­º8Fž32âpûE BÛmâ×2+´×̳~Oþ§˜Ñn—Š7jzX8Ò†ê…æ’ì^“JA§ž•i˜­ùÕw÷3èüTà~ýe÷ŽóåêdKÑ|öÜç¨õ<«T´Ú¡ËÊëÜ«³1R%qÜÍγn±þfÐ4õ«µwu¸ !„²\B!„ ðù†L Y|}µ€’›ßÓÚPËPo6›þ­í=T×5Òß\õJÜG™±Ô(iܺtšîÆZFm ÙÆ¨kîåôå»Ä—²bã' è¼šß'ëSi2§sáÂYÚê*°ô2j¥op„'Í]\É/†¶Ÿ¦Ä$S§KãÊ…ÓtZÂ>ÔÏðÈ(=ƒ<¨kbäÅC&$Å&s£¾ GË#\¶Nû Ós7ëõ-j%^÷]L¿Ÿ–$l¢¤î¨®YY|êB6“_’ÏÖ#ø…à©‘1° 2èæÐP3Ïú½ay"ךœ4—ß`l —á‘1šÛ9ŸÿÁxkݧ8ÏÍ﹊ €¨”w¸^^NûLgK;í5óhg;?‡ ££ŒŽ_c Ùì´tôRVó”Üs7h.9ÅÁK LÛÍË´œ=·9j¸§A×ÍÎ 8q»¶ÚƆzq8œtôÙ¹QÖHSÙ ¾Ø¼ |‚füýGpôܬU÷éj{Ží¿c†í´v p¯¢‘ÚÂãì]¹ýŒû5`‡œó稺÷  2SB!„!„Bñ«eÐÁkãhN<£Ç5<©|ÂÈ`Šk £^ÁâçKÈB ©Ëy™ŸŽìÝHqm ×Ô`ë+Ŭ8 YàÃÛq‘Ä.û >x[€¾ÊÚDéã8òëk*®EuØñ1é ô'):‚–ò2‹‰ñ˜²Ÿcn×>ÄVX=ãgҀϚLØœ`àæÐ‡œÌ/E.Ä߬ðñ†Tˆ]{ÓÇÍV}]*<|\—‰±oÜ‹uÉáäÕêy»«BRÑBRâWQ{ï?ùÛÒO4:Ð5~‹;©¡ClxïOAÑyX3Ïûì9ÌýЬ¹„Î9LX /kR¹ô uÝ:ºÑ¡Á¼«Ý+ÂùMC4ßÁoÙÏgK;í5óhg?¿;V:ëI&Æ5¶0-)á,Ž?F?¦ðäìy’ãŒïi1¹Xga{ðaʪË鮺sd‹YGld0;ß}‚¢5}“’“þ‹{€•ìã8úÕ¶mÛn\ÛQ›5¢:¶kG j‡kÛÆ³ß»kßtís’ï:Ž~ƒë3bÚ„´Žú/}Ý©f ïßÈ Ç–gî¼)õcÎØªÇú¥‡³ï‡ä°ƒ«I*ÙRPÙA·UÙÈ±ÊÆ•®+Ý_wª%Ûµµ¶«kí¯µ.›ÚÛÛßÉn øùçŸsï½÷fûÏJ&üóqy।¾_v=T*•W’ü¤¿|2P².ÖÚ_µ]”l¯=ÙØþF×?–²c% ß\vY£&OÎí§œ(¬à?×6EKw²`ú9á¬Ëâ:À&øklS®>¤39âÌ€¸P¢HÒÔÚ”îî¾ žÔ–™#¾Ï —^ŸTªq Dÿ@òåƒóåWŸeÖòÄu%'^–=Ô³•êÕäÅ»oO)ðÍu š-â: ®€¸â:ˆë ®â:ˆë ®€¸â:ˆë€¸â:ˆë ®€¸ˆë ®€¸â:ˆë ®â:ˆë ®€¸â: ®À@oW¦üö^¦þþAúº³â:ÌòmŽ:ù˜qâQ™3ø›üq:æONÏü?sÐI×å “¯KïÒíŽSR@\€ÌþeŽ¿ä¶¤kb*]“rìE7eÞÏ ®@‰ÖÙcRé›’}8?E׸¥36ûuqÒ;qé¹±Y€¸E‘ùÃ>ËqÞš¢kb2н|ŠîÉ9þ¢›3è§Ë¯Y @\€æòom~ö=䔤kJR+¦sRö=ì¬4j³Ó2sx–× È‚aŸçèó®OÑ=%)z–KŠåÛE÷´sîµ™?ô³$¾½ˆë–#²ß~­it|Ò=#I±îtOË>‡œš} –_»ç(2÷Ç7óÜöîHŠkmãø¿{t[cqwÿà÷`qˆ+Yâîî r%®HÜåZÛADDDD®‹ˆˆˆˆlŒa÷òwIi× ªsÀ„À˜:#\RÚõf×÷µÃÊLbÌˆËøÇ´b ¢0«ß¼‰‹³âãœPÝslúðN®»„àïô]p|?.¼ðb.½âzîùÍΡ°_‹ÇóÈûó' """" ×EDDDDJòVâqçãMhÁí`ˆ<;ð%gâ³wRº-›“ÃÖSØ’”Àº)3Øáp€²ð¹óøø•/É ó‡òö»šÇgÜØçøÇC7pfËßxˆ‡^YD±!FU¬^¼Š2Ãþ³,DDDDDẈˆˆˆÈAŇKß"µMgL`Ûûfo?·“Ò¦#;–¼ùcí'¸–)Ó è6l(]·Ocê¦0ÔÈcæk#¹åÊá q÷=û k+ìØjö!˜;ƒ×þñ·^{9Ç_Î ¼ÀÄUöÆ"åÈ¡^þ1¯~µ•0û.dù¿ŸæÞëFüxí›Ë×ëË1¦Œ™O\ÎíïÕ¬7…5übncͱ]ŸópÖÃ|¾Ó‘˃ÏïÇ—HƒŒ6ôp)wß>ßÌWxoq&Ú;š¾ò ÏNÛŶ/FrÕå—sÕcŸ³Í‰­/îʵü÷™{¹nÄp†_y ½2ÜêX{[MîôWuûÕ\zñpF\} <ýk«£ôQ¸.""""òËQ¸a>÷6|‰ XÆì{òñ%§ãwm¥hÓB4Ë&3+؇Ãûö尞̚¼’j~VŪwç•Õ™œ}ÿsŒ}á1.ÿ¿|¾üjá˜k"s'¤Òñ苸cÌsL;†¬¶[x÷õoö¹r>h·fhÖQ”ü*·‡‰,Ȧÿ>ÎKËÒvï3Œ{éo\Ó¿Œÿ>>9%ñtìÚ‚‚oW³ÛJ–.&·~#*—-a«`(_MnZ:7²ˆ•·Å‰ èVÅ¢¹Ù£½£I¦ÏðGÑ×OÆÀ»yaìX^¸gíXúfÝW)í5£^Çó]H›Íoñø;+¨Œ¡·Îö‰Lx+—Ž#FòâËcyêáëzDGÒ½QzWl‘ßž‘ÿG+Õƒå…To§r÷ZJÖ~@‹>=1ÁÝ€CtaL0Ÿ´víÙ¼àI%gŸÚ_½ <ñõ±,›?Œ)dÞ¤EÄõ¿Ž^?戾ØOMbÁ™Ý8,Ù‚ê•LUE¿+Ρ_¦€fýÏáÔÅsx®€j"³tà/}øIºÚƒ³óØî@†MDNØÁß~(YG?įN¢çí'^·6ÍÄIÕ~ã0z¦»€8Ú ‡~=š™K+èש d³¶| é e,_´‘Î þ¿3XºóTše„XŸ½ž„΃iâ"v–Ÿ&MÈÞE±T+æwŒ½/.ð÷<™3ûfâHïÉÐaý™ýìTVœÓ•¾þ}_#-"ä\>?—oJKº§ÄÒ»rú™ˆ…ˆˆˆˆ(\©%¬¢ºdç#Pº@áúïçå;ðùÝÄ%yð'øhÙ«.w•q T€ÛŸNËÞm)ËÿŠÒìOØU"P“˜†7¹9¾mð&5þ~¤âKNÃåñó[s¶Í`rv ‡Ó7@ûÃ9$y$SfïæÐ©˜ü­l frxs5¼d6IÅ.'zM†ŠM3ù䳬È-&„"v‡ºã¢ðÒö´,Ž}äq^›Üƒ[kDmNÁrJw3ú*&YüÄà„ EYVãÎtJúšUë‚Öv ×6¦Ûù}IZõ!S—0$µ˜ì5ÐáÜÖ¸Ù?ÆqÀ¶±cxÇ_Þ›”Ì <Ôpg6%=8mdZû¼†y<ž²±#ofNÇÃ8úØc9¢{câ¬è½3(\Q¸.""""z•¹”m_Eåî•T¬Ã ˆ‹÷àOôà‹÷“”Rw³4ܾ6`&T3‚»Áþ—óÓ\{í¸<^êe4¥^cp6¡ê2‚•¹ÊWÈRT¢ª"„ík€¿a[âS»‘Þ‘¸†MùuY?e*›‚»Øòàe|ÂN(€3e[ŽJ3 °,¨Í¶mjE¯©ËäOãùÑbŸ~#·\Þ†zn¯y‹Û/%&ÞÖœ’u<>þ:S»ß@«Úwr ÆnÙ#ïcPªÅÿjH—ðÖ·[( ,duzoÎNMÆß«5oÎ[FAJV—´åøöö‹)cóæ|âÒ3H¶¢¿ã¯Úc0XX±\ÃJ ýI71æ˜<–ÏšÄW¯?ÀÇi§sËMƒh¾¯Þ‰ˆˆˆˆÂu‘œiÏ*šORC) áiÚ—¯3P'D'Q?ÿbjfS7Tpj®®œZõà¶lÜ .âRÁvåÜ„Ë7P±sÛר¸ü…fG^˯¦r9“f•Ñ㢇8¿{?3…3yéoÓ˜¼úd.iAºûkrò‚ÐÐË!vnßM˜=ì†Ñkê m^Å»;×»'üCå®”8qÄÊÓrYÇäñ7f0¼µ›ŸÙ)Miâÿ„oW—205‹º<´ëÒ–ÒoV0»x5)½Ï Ͷ°º÷¢Ù{K˜¿Ø°µEw:&XÄÎPñí'|±*™~·uÀcxG Çqö³/»ò¶ ?{s·°Í“Á€F6¡•±õ֕Єž'\Hú2îÎq|}—uÚGïDDDDDẈˆˆˆH°,Æm[á«—á X¢GW'Lwêì8€ˆ¸ VÂ5un\¸“<ÄÕkC|ý"¶åæòë1ÏŸÄ"ßaÜxTKÒ½ÔH;‘Á½¿á•I‹Ö±GösñìûÐ3õ z¤8ìXú>š[mÙÃ×5zMvJ:)UóX²2ŸÎÝ“)ß8w>_ Vwbç¡ùà,Nõw>Xè‚fìáíÊ€Òxô½ù8éŽn_Êv±eõV¼=úÓ>É"¾cWš¿ö9_ÔçðÁØ »Ó+óß|=ÒŽ<‡{R]UE8\Mi~k~ÃÇŸ-Ç3àF†vòÅøŽ6 RêQ¸r Ê[ÑÚÆÄØ—ê¥óÁü Nï™+)ÿüpÞþ7ÐÕý¾f÷JfmöÓ¾C3%@IîfvêÓ±¾SïþÄDDDD®‹ˆˆˆˆdô»’¼)wÓ²·ÛmA8@QV¨×ÕãÔ­Ù÷5ê®t'Ø„ål]³›&ÇŒäWãì`ƤÕ4>ö|:xÚ¬Dz <’GOfna?Ž;ÿfÎ{ûuÞ¼ÿjžÅ“ÑùHNÚ7–²‡O÷h5u¸š `øÐ&Œ½•¶9„aYç~b9ûÅÝ”YXòÀÛ8Íø‰‡–§ÞÊ­þwùàõ‡ù×î ðÕ§IÇ£9§'X :Ñ9íMþ:”^™6X©ôìÙ÷>¬``ç lö.0ïy®œga¹Üø’Ù¦G^óÇ÷LÇó;ºh}â¹»æ5Æ\ó)îÖgp÷Ý1ôÅJ帬3Hšõ[Ñöë ;¶ °ksE˜#ÃËËËå $"'Nä”SNáà ""ëfR¸ôIš÷î‹Ëþù“-u9QÂpƒÀDª©´;1®d7àòã8>6¯ØLÃ^·Ò°Í¡ DDDDD,˺˜„÷2œ³©µojŽÕlGDÛ:G9V‡aïŒV®ÿ)ˆˆˆˆHö‡"wÉs4ëÕÛvÀ©‚ÂrSS{Xމ°G^ényq/9+7R¿Ûõ ÖEDDDDôY‘GÃöGU“³d<ÍzôÁ&¦ ̾V¨;Côay”ÞãÔšÛ±âÈY¹‰äNW‘ÒáXDDDDDDẈˆˆˆÈ%µó‰˜p€¼¥¯Ñ¤[l\`ª0QWœ›û{û”Œ&\'H7P—íÃ@Ϊ-$¶AJ爈ˆˆˆˆÂu‘RZ·“Øe¹ÈY:žfÝ»aY0Õ`œXÿ„´&87¡èAz¤`ÝJbKv‰í/ûñ™DDDDDDẈˆˆˆÈ-µë ,—›-ËÆÑ¼k;,BàTGÕ©œ‡j­Hß3ÿ"¶‡Dr²·’Øþ Òº á  """"" ×EDDDDR:€6/K‹.­±€ø)@ÕšÀð«°½„M¹ÙÛIîr5)Oä """""" ×EDDDDR;€ä~ûMÚ¥`…KÁù5Z¸ž2Ë……ey¨® bÇ¥ã^ñ*Ik¾äžÓþÁAGDDDDD®‹ˆˆˆˆV°‡«+ؾn<Û5†ÀnÀðk)5põù#±-˲0Æà˜0Ïÿë D~?ß±wÀQdëÇÿ§Çg’w²Dq· »°¾ç^ô¹»[és)înX€]lwwwÙÅÄ™ÉLO÷y˜JB2åæQ—W߯ê«îÌé9úí_L!„BHq]!„Bˆ~”;z.Wo|mÁ…4ýE£¹݇I# [ÛxTZ{›B!„BŠëB!„â•$”2@ h›þ¤µ&n›˜ÚD)•(®+4Btgiø‡Mó+S* w(¯²†øïuί-ù%pû!AH® !„Â@!„BˆW¶‰Çêq¹hݯ¡µÝQ\·cĬŽ0-“xkØZó2Ýn€OveYõZ–/_κ5˹p`h›ïE×kcðøÎ ´÷¯ÿÜq™ê˨®®fÕªUlZ·’ G¶@ôñ‹­ÅÖ@M¼êb@ˆÀ¢»ówMª?ÙÆò+©^µœíŸ¯…Úk/áL/¹¸¹OçciøçO>‡çè+[Ãl;AÙϞûdÃ߯]µW_Ö“­çÅrM!„ò•ëB!„Bh­±m›HãÜnt[hú“FcÚ&1;†B%^3ŒXûõe¹ôöl_Áôá#(ùÖ·ñûv™¨×À´c˜VG=Ö~ß¶I”Z~cå"~}ÅB~­5~uù~eÙwø£u¿ÖÞg±5l=º‡©CQ5²¿Oà†æ”ІlØuœêµkY»¶šc;×A¤¾ÓŽXÇí 7ùdó>û|3›6®&úÕ §ö.ÅÔu;±¦µÿu®âë“›AÛíc¯ßuŒ«×°fu5÷®cûñÛè¯Ïðñ¡¯Ù´iÖí£<£/znO²Žç¾c²ö“/Y·n]ë¼VqíÈ' mz’É žñ¤¦2zÊ8H΃³[’÷g÷?vêÖ××~ø¯¯&öÕqÇ3Ày_útÎ÷š`õæ}¬]»šO6®!vã!Šç=j4b1”ÃEjn1ø²“îå?~º ûæþ.¹ð?».Òpú“¤kL¦—óIÐö<õµN{ €òtH/ù·OoàÎcßÚńѯJKš«qþríÿ@Ã-žiŠÂ_­üK0›ŸÎc5Öƒ'¬üb+VþÔ_ÇY×õ8åZÏãÜpÈ‘ÎÏÿkësÛˆ_ÛCg+ö\£öäF„B)® !„Bñ }¥z<o+¬'¢½¸^{Ÿ/޶­¶g¾y ydÅùÑÅ¿Ï.ù}~lÉðãKÛâùÙïün¢°nZíÑ~·L~vöÏðc³¶ÇÎZÐ?ÒÂ_¢ß< ƒ«þÃÊÓ4À €¶†Õ»2$-Î’… Y´h)dŒ`ß®5 m´íåQÍif¾÷.3g~À„©3Yh7Ä£Ží¶†÷eØ‹%‹1{ÞbßøÕ=OÇ>De(Ê÷/^ÄâÅK2~ Ç“š™Í´Éã™7o®âRžQÀ„çÛ×Ñ]ʼ9• 0kÎböß| /âÄ Pà4’3÷‚¶{ïïÑ•çê4¾Ö.nÕÜ`þŒ÷[×±€aãÞgÍžöE“ô½gj@ß;Æ’Öq-ZÈ3çâÍËA'9ƒ¾î‹Ó9[ÖïÞŘœ3_}JQë/1â·cÈ%EC.Ò¹ ²è,‹çÛבYNg…)àVÒõ»q§Bä60 ' pùÓys¶A½ôwƒ,*{\‹Óø#«²ñ¹mÀ ¥0W¨jNAÉ´^ßëÍFc¤…ÈÍ“„JGáò‡OÛÞôzc+§ª/û’ôœo›šn1xø;  ìÖÈ:„;×wÒ]ª“ßý€¦‹g©Þv_ ãF !uàÈ$s¸LÙ ÷9|Ú`l¸‚Ùú*ΰl„J¹ÛÔ÷5:åR2Éöw•àΰ7زçÄ©˜:ðõé¿9'Z+F."+ËxAÉs­xÚóã8äH×ç=d¼VÀ¹˜Úp 2J[ÏÌfX–RÊB!¤¸.„B!Ä+XXÇã‰ûXã5¼¹) g <@kˆ?Nüh˜¸o «ýÞ°íŽ{ÛØêI¢° S7ckîV\71Ñš~åóÆ€h ¸yνH÷ÆÁÈ £À dBäîÓBŸÆçõ! &nÐ1€¤ímý»âðé'G‰q PD-EJºÆÈhÛ•pñ"×Ay—3¸p³{×Náµ¢hå%ZûÑWÍa“€ÏûBý9=¯”MÐïÚ(ˆø‰ÔHòÞA©òþNœ»ÂÝ“1ª$“!c^ç^‹·×3@kPÊy^çü ûéK)º3€B7„GŒ tøï×°éÀ>–Æq—¿ÑëJüp¶`‘›ñõkøñaY ‚mçï¸Æ~tºó•eì:Š÷Çfƒ« ÏÿÍu§5](e“•b^˜C®yºŽãœ#=<_à†ÔÒ1Ü»z‚ ¥\¹qªJD!„âºB!„¯@q½[½ÓÇqìæ{xüƒ l‚ÖEõ ”7Ë ƒW0{„Ö`ÆMâöÓâºR¨§v(¥èL?+¬?‹ÎÅuý)7žÔ|šo%4|.݅Ћe‚áÀÒ4C :IÑ;y{À^¯böܹàö$žV<àZ#DÚǶÀ  Mrú›¯#áÌ}¸rdóg,À—š†ÖðÑ—Û€(ýÞ¾~”…™`¸ûÓtåø¼VÐéRXm‰†ñûœNòÞ ›žAöë“ËC§ñ^OêÈéõ @õm^çìóAÄ4ÁNœ%¦ÙûAº€TvAù•£¹zw7Vè^çàr*&±ÿø?1¾Dn,šî˜g HFã I®;É3 æó“ë³WŸsU)š„¦(­éÊÅ‹Ã1׬®ã8çHÏ»’Êáìߺ“9åjºEZñ4@!„BÈÏ\B!„â{»°ž(dÏî¯Ç#ñ¸-”2ÀŽƒÖ=àÎ@…ªˆE}\?u‘Ã{î¶Çµ“牶xІ?ñ•ëf<ŽiY‰{´'ñZûµãµÄ3ñxœx§û¶¹õ§€‚ò±ÓØpª†Ú‹ÀŒ1!ÜTKI*„²«xxv;h[ÃŽs”5d”óÝjëß“žÏƒ3_‚m‰A,ì!·­mÀ jÏîmÐnÂ\^?õuõôèùöo´Žš(¼ _ÀàR ÔÖÖàD÷LÖï:MIôeÃFÊ©¿çæê<¾âðÅk`†8}BÍ5¨üʤï­h¼á:‚€×ë!’YH£eQ–ä @9ÏË%i`‹xrq ±4­k¸G[t÷(ln¨Û †_MfV–ãçÔÆs8sæ£KRÀŸ8ç5:çR3X@÷9W ÀÊÄ®½Ã3Ç®ÕáÕ6])^œs®%8çHÒy•§‚+}8{îeLIèé™ !„ÂÍ+L!„Bˆx¸ž@@4])”7|yDŸ4qûâî7fÉZ•¯¡€7¹j7‘'a‚®,BîìÄÏ[PJѯŴšIÐÛK¦§ £ØØmWÛî¸ê:ú“ 8€ü·çpôÌy߈¡-ü˜64›Ü‘ßǘiïpéÈv®[Z“—•Íô·Æ€JÍw%Å€qÓßoí?Û?Ú–EŠ>˜PAêÀ Œys§í¦fíG`Ç=ÐÃЩ‹:b2ÛömÄ{u 3Æ Ä;hJ—‚e÷ö”Öö¤ëèdh\¾YÆšuŸã÷ù”_@YÙ` †ç)>=Ö'«ÛÏ+-衼¤‚±¯OOžc=Íuhñ”¤ã»ÝšÒŠ·Y÷ån¬–0!ŸÁŒé#ÁWœt¬šˆâË=pÇž`¸<¤§¥1vò$Hr'ôi_œ¤0zÚLöÜÁ“ «ñz\Œ,Ïîj"çö§¥©¯‚€ßÅÄŠaä©¢ÊN>‡,B¥c¸yj7ÓæŽ\¤8¬1Iñ;i®õ?)’æªKÁˆ oòÙ¡Íø®|‚vy¨*ŸŸ¾Sl<ÜG–¡м]é£pÒRr ›.r$éz3*'qcg5ïN#¥!„âU(® !„Ba¶m£:»[#ñºÕÒHJ€n¿ÌT¡¼ÙàÏ'yÂýs©©K%š¿£¸‚€&ñ•ð*0 ò†â9VǶ {ñ¹L|Á†Û¶IØ0™0m8fÀ@&Ò(0’樓UIþ¨|:sʳ®g:‘T&É¥„.ùï´½ïçÌ <âå« ¨Êñ1dÎ\‚Øt0(ñm ¥§y8ä-€j€Ä{r­ËÚ_0GL;Hav ¤WÐA!„ê%õ¥^SI^KvUŽw £‡{W§{p=í1ÞhnnþS^IBˆ­[·2oÞ<^}B!¿Ð´þügdF×3 7¹Ý^TW"báFÞüŠš†4tñ<ÜÙC°;Šê‰PJ%ÂP`>¼€qçcrÓ‘3¨„ß;ÓévS+“,¦Ì€ ð_`¯×+Š"¹æòm™N’ß“ŒËEÄu¨âu³«^ß\9sS¾|éù ;#C—ìÉô)Kë¨Þ ëõÆùQ7×ëi†üêk{Ȩtºûޏ¹Þ)º© 8°'·ÕZI&¤2@XïˆëPÇõ*’O˜¿)ãæÞ^Ý_¯Cz¿ÛêÍ9J¸ïw3¾øwF ˜XMRo¦×Ï‘½ÂúÅÄul²×'Yª ò ëýn®-°O57ï½ùIZ­"µº¯O3?=×°ÑÞÔŒê'°¹~Ä÷7ßpK.)€¸u(?“ZÄu×@\qÄu@\q= ®€¸â:ˆë€¸â:ˆë ®€¸\ÄqÄu×@\Äu×@\qÄu`@à·wïÞ¼öÆ[ùæ›oÓ××— Q«ÕÊ´iS³~íê 2$À%×à¼:Ö§O›ší[7§(Š\ˆÊ²Ì'Ÿ~V½×Cï8ŸÄuø‡½û€®ªJØ>þßçÖô„TZè„&X(Ž•œ±L}ýfçíýuzï½w§ApiJ‘&Eéˆô„$¤Þ{Ïþ¸w™»" 7£óüÖÚëÞ³Ï>gï}vî*Ï:k'öÆúÀþ}Ù¹s'ÖZz"c ½zõ¢¢â(r©X*ÿú5>¿u ?üÔ dDDDDD´çºˆˆˆˆÈ¹D"š››±Ö²yófª««c%úý-‡µ66ÆèX/¾»ù_>rÿW™8ÜáÜ'>ÿýöeB\J¬ýù?ñï¿{…Vâ°µ/ð½}„OÎÞG„8lýJ~øñÿåá]a°U,ûþò…GqÑ›ë"""""—]ii)k×®%ꪫ®â|Å®éÂÕW_}AÁú„ ¸ô ïæÿé9Æ~þ6úx¸Ì’VVJËü파fÀrzë&^ó'ãÙ¼Cw ¿‡˜ÖW·ñZ`7ð‚IeàÕ7b 30ˆˆˆˆˆèÍu‘ËÎu]Útç-ño¼±ËrÁz,nsér®½‹É óùó¢ "$©aëÓ?ã ÿùqî»ïŸøß¯þ–Å{°ö4/þøŸøT»·Ìm;}ßGøÔãû‰×XÈ×îÿ [â0¤/£¤f;ŽºÄØF¶mz•¼ë§1¢îe6•Gˆ!̾m»p‡Œb°°Íì]½€»ë‰±µ,ûî¿ñóÅyúç_åÓü/ÿùïÿÍç:u–¸Ö#¼ø—oñÀ¿ÜÇ}ÿO¾ø‹ìitx·†mó~É—ÿ÷Ÿ¸ï£ãß>õ]ZUN ÀÌ÷IDDDD®‹ˆˆˆˆìß¿Ÿ‰'ÆÊÁƒ9_ ]–î8tèP,XOOO…ü—CÈÀ]÷¿‹†ùfɱ q`ÞxpKwáçüîÁïóïWŸfÞþÀÚºd†ŽìKõ®Ýœ´–ºW6Sž™MÓ–—©p, »wRž;‚áÙ†öLöFæeûÎSX€ælÞ•IÙ•×1~h5›6UàDÊÏ´i``Ù0’8—&6<ùæ–øöÌÏüi®kYÈoæî DT3;fýˆ?í.äý_ú%¿ýõ7ù§ñU<·¨ýö3!öÍý!?[íã¦ÿú¿þíÏøÒ½C¨˜õ]~»¦kRº=ßw Q¸.""""Û &hÇJôû[<ŽX°~¹¸—à໸ÿºæýy•.µîdɲ&ønÆä%áõgPzÓ &&máÅWÉ6‚ü#;ÙÓ`Ážfë¦ýô}÷­ ©~…WŽ»@ˆ½;÷’2|EÞÈSDÙˆLlßE£…–]›Ù‘<б%iŒ¼bU›6qÔ[µ“'ŠÏ´MÇp.†´ Ó¹uP*€¿€«¯@ÃþýT¹@Ëv–¯næÊ{>À•…Éø|é_ýî ®u‹—Õ0þýÿ)ý3 úSÉ/»ƒOÏã•…«8êzu¾"""""ÚsýEDDDDo¬WUUÑ“eggséù)}ÏýÜðõñ—çGó‰³iÏ­>ÄáúJç_YfxÅ CßÓ§1Ö¶˜¯…˜Tº{ (ûðÒv<ÁòWª¹­w-;_…!€—³yèW6œÀƒÛØgó6|£þ•þƒ§ì Jÿ²”M•·“¶g;‡óÊøh¶áܲssðÐÆàóz!"¸U 2¹$@~ ‹zãÔ±6åT´œÝÆÐ«ÒŸ8È‘0v¾""""" ×EDDDä!##ƒ+¯¼’p8L”1†¸øqÇï‰ê.„µ6aã8¬|q-—œ3oüè!–úoúcˆs-ÖÈ=ßú"Óz:ÊbÄxt×!N·ndwÞ8Þß;àØ<²~ Õ£›Ø]WÊMƒ}tÆ7¨Œ!‘ÙìØûî6CÙÇJñ¤âŠÒGXõrùö‘>bF—o‚;ùX,pöÒ9N»k,Øs/1ž~ÝŸ¯ˆˆˆˆˆ¶…‘w kmûï Ïur>Vº©;÷Œ}¿œ|ýnãþ›xæáUÔz½´qrúP<®ÝõX:ãcЈRê_ÝÆšÍ»É7–\Ç1j,Åû_æ¥Í»¨è;’¡)†N‡2ª´žWW­bghãùˆ1Œן#[³ù5ÃÊúááÂ9YùäyqøHˆ8Â?v’H|®Åô V°ï` qXj .¿„Bo÷ç+""""¢p]DDDDþnöo™ÇK Ú&èë²óQrëýÜÜð s66çÉ»oÎeûìß0ÿ• êš©;qm«Öðj½ ÉCGRR¾‚çvf2vl>`²F1¶p/‹—ì#wÄpz:gÒVVBÅú—85|Cí¶c3ŽâýkxéôF òó¦Frí•Ö>>‡MÇšˆ„¨ØøO®«#Î?‚©7g³yöì:XG(ÒÌÉ øÓü FÜ2™B‡ Ÿ¯ˆˆˆˆˆ¶…‘wrØnŒIx Äê:¹öbo sùyûpËýïæå/ÏÄ-æu>úÝñ >œÅœ‡¾ÆS'!IÑÐëøÀbL¯a Ï}„§Â[ècz3fL³Ÿhä–áù8œ‹!{ÄHr;DîØáˆÃda\þ,ö¦”14È›c’õáÿãC3â‘/ý? '“?üZî¸ëJ~¥Ý\g<Àù㉟~Š?V·ì=ˆ+ïú$áBçÛ5s™îeº¨3‰ê|šÄÇŠÓÉwà´«ótüì´Lnhhø"ò¶´dÉf̘ˆˆ¼=,|n “'^•xÏõljÏu3POpÎqV­^Ç´wß„ˆˆˆˆÈÛ1æ À* rŽâvòiÛÛx]ûï ]'þL\×åܬÞ\‘¿ÖÚËþÆzσ]DDDDD´-ŒˆˆˆˆH7¶‰è·¯‹×_¬@]¡ºˆˆˆˆˆxyGï³~áA»µVo¯‹ˆˆˆˆÈ;?\ìÝÛFo°‹ˆˆˆˆÈ;?\í¹~YÞXïîì=–ˆˆˆˆˆ(\é:Pïþë÷mïšBuñÒ󉈈ˆˆt¨_ø뉃òŸ,ú áãœø}\k±¸¤xrùŸ©_ß#ZDDDDDDẈˆˆˆÈÛ~[˜7»5L}¨’ÿ¼û>ã¼á w×Føùzçê"""""¢p]DDDD´-L‚ ½Û}–·¼HˆZ Q®uñ™t\k‘¿O"""""o#ñíWÖÅëãåBY,a7D(r¦¸­ñvÀMÔœHÄÂÏŸ™Çwòvrª~:ó‡nFDDDDÞ!Ẉˆˆˆh[˜ÄÁ{‡sJ\mÃn,X§5+± =|¦¸—9TßSfîâU<üØl}ô>3‹òí+ÁFè©þôü«,}ú—j¤½õå°añïË¥°£"ĬKyäÑ™Ìzì–-œU{y«X IX ž ecÏs'u[Ÿ¥½™/déÓ?¡Í¡Sð»Y?xpÁB8¾ Ñ ¤ Dm #""""ïàmaÕ_È1—¢ÕmÅ`ˆ²X§KÇÀÿRy¹¶¼8“ë&L¢ðúkðz=œª©æ…u[h>õ8¥“>zCµ‘\ŽlZ@ÑU÷ÄÇXñ\²·­—®xœ»¯™L^É `]jN…TogÈ-ÌeûÁå\3ÒãК£›:¹P½²µåX ƒ²óÀ'Œ‡^aDDDDDo®‹ˆˆˆHwi[˜XIäû_˜÷ÑXùâüûøÒ™òå£Õ©‰ë¡Hkô3þ=ä†bç¾òìý|éL»hûÏ?óÙý ¾òäq1E,¬Ü´”wBÉ€<¼^b’zeqÅu×±¦<U{bí~5ïIÊwdÁ¢%,øë".˜…[¹û ÁóÜ6òøœ9Ì}â1¿¼¬ûúµs)ßyà̵‹ùëÂEÌ{f6-‡6Ó™-GBÌYðsçÎ=s¯ÇØûÒ°.g3Æ2aÔXVÃÑmt”`\.üié6Zv/¡Í“Ž3oÎ ÒBÔéVøé¬_AcmN6C:­%ãއ´Ü>ÈIø ¢ŽÖÃìE/2gÎl<ó8Õ{öòë§þáfÂ.üxÎCpê mê[à'3 ¡†.ï×å:Ì&rü43ÿ¶’GgþjöѦ¤0›}Õ.´6µóôKvÉ/ÁÉC¯e£Gw2¤0•¨•k×BMUWkÜéü[÷ŸÀÇ©&xzù&fÍ™s¦Í,6¾0šj°t­DDDD®‹ˆˆˆˆ\~‰Âô„ל«T7—sßô{øØŒ÷q´ÜñþXù—éÿLS¸ŽÖؾëñ=V÷¯gÎEÛ|üLùØ™½þ¿?|?'r1l}9}‹3TÀCTÈ €?§?õǶƒŸ úäVn½éFn½u*eãßÍã+CK=®…'Vn`xF„÷Ý}7·Í¸‡õG üÚJlìZ?'+·0í̵ӦMeüÄi<µn„[8[j†©ïšÈwÞÉ­·ßÃêupbg³úøk)½ò&¬]­§9˹ǵw ½ syõè¢Â.TY“T Çwµí8 NÏ„`mz§CJ¯"v®Yõ'p?Q¾„ÏÀµðÔŠåŒÉ rÏÝ÷pÛíïeó‰fÒš.‚8M›°TRÁ†Þ»½®ÖÁo“Y¹qS'”ñáÞ ½zÓ¦_ ؤ"8±ƒ¨í‡0¸ÀKJq¡5 ­'^¥ °°?hìr#gÍÿöéw²ûT7÷ìkšæ}wÝÅÝw¿zäÅåc,Ý_+…ë"""""oÛ7Öã,°µæYÖžø ëN>Äúª‡yéLÙPýM¡zBáh¸&VÂa[ëØðz›õgÚ¯;sÝÚãf[õ³±>/¦šÐBÎ0fpª© Ãdà8HÍë…'uT¾ÌÑz0U;:2 xü^ÒŽ`ë¡Ýx_¿vXi& ÌN§1’-Õœ­02ÒüDù‚^¼™…ÐTÎÙ,`8΀â\’ò&p`ã<ÀÒN‚qm£A.»O¶€bo ”øšÈï[Æá3ç¢ö‹†Ë)à$Ñ&Í«nœŠí5„YKײ|áêoHø *k!©þ CFäq°ÙÃFà‡®‘øùv£µ†²!EädÀ¤i´Iq ¹°”Šc¯a-œªØÌ ’ŠzCU¨œ:ÈîjÈóµ@Æ@Î’pËÏš¿ëxÉ64>ÿŠ:ðÕ¼ÊвB0†Â‘ƒÙ_Ÿ5û(ìþZ‰ˆˆˆhÏu‘Ë¥ã~êñºx}×o¹w¾O{8&ìFbß×ÅqœØ§1¦³þâÿÐÔu]"®û Âb¹˜pZš!9ö,ÐÒÒB #¯ñú<€CT†&:MM• ‚' Ï.Ø@+CKÄšˆ_ðûâצXáÛÚ¡ÏNqtï+ø#-Xã§¥êBç,Yú_q%ëÿzˆ~å¯`C›£Íç—Ÿ1i°Ù› 5Ør¨ãú$á÷gã²g)CÝ±í œÐ0´q€B/4ŽIÿ#©=Vɼ5/òþÖZŽ¥M>ç3¨o† œÞñûä!b çb-t=pþíŒqÉNIœÍ² ‡³}ór|Õkë¡×D²H*FíáWØíf0(? œtp‰ëj·tœV >ÿظ3ãç ÐÛ@() šŽ0 `;º¹V"""" ×EDDDD.£KðÏLcÇ¡HˆX¸þz°nÚ>;ï'VܶÒ>\·\T¹ÉàO+$R¾Ïà©´WÛ -'ö‘;ºaÀZ ©±Ý8£‡õƒI$Àï7Ü6}:x}ox³·íÈCW¶ƒ=/=Í·ÜI -káÉç–-$R€Úk¦òÌšG)=’ÓÄ$ÌDý±#œ<²—“ ©O‡þbÂGN‘Ü|rÆp6`À-È#Ðh^«XAʨÉçìkÏ)h …À€CLK+`‰3Æ€%®¾ŒµDuý|éF;çRškx¾!Àý‡R'È*Å–m[h2;>´àÐA‚5:Î?zˆ%&% Z[!'@TÄBKS$å‘ît­DDDD´-ŒˆˆˆˆÈåÜæl ×#B¯—Ø÷p˜PÛgûÒ¾]8L8Þ>»×Å”d`ÀØÉÌÙt†¯€&êX­eÞŠuŒ+îYC‰Á°n×>5õÒ~Kzó Lþ JÒÀ—™Ïñ­Ï"ª©Z}„9•-ä7’\¢vWBUU%]ñòÓÉ,žDùÖ¿Ñ&Ѹ¢z gýþZò©…ŒÄ¶F9S·tëjõöƒ'›öN6º4žª7BTK#ì?|˜¬ìì„}妃'¥ˆ†Ý«KĆÝåøl„(¤dáV¡ÍÆ½Õø­ p>Ï·í ç’çN)û÷­fTIà58ßCyC ÚƒøóÐ]%éà$qz×Êøü×ïŠÏ?6ÁœØ¶ ¬‹káùíµ”$[è5§{k%"""¢7×EDDDDzþë±ó]Þ7ÅÓ›ToobÛÁ¿ß©ÖrB¶¹}c|N½ü}b×Ù¶-b\—ا­âbr€áÅ™¾ëvVnÝMÕÚ'p¬KZ²+JG0bX ˜ °`Œ%·psŸ[N¸©‰Ô ‡©×–A ©À¸kof÷K«YöäÓ‰€©ãK¡h<çkX¼z`Ï]H0 _~ *éJÐoÌ(ÖWÁC ©N‚q%§žŸjO3ex*8i8@AÉ ¶n]Ã{‡äÚ«lrØþâ&šë«ñH z˜P:œÜ¡ƒ!A_éÅãuí­¬X½ŒÓ;f“ð2zð$Ö;¢<Œÿ.þºn= °ƒ ‡²5ŒÏ£ëçÛu»®ø ¤ ¦©êôôÆÐ=·ÙM{À_Hw¥;0zÊ4V®}žÓ;gã÷y(x[ƒÉD¥3å†3ã^à s炵äeçpíucÀ¤t{­DDDD®‹ˆˆˆH£=&~¾kYÁ>¬y±` †šM5W^Õ›Pø4íùŒEË·’D6ÀZ0†ºº:†ábË|äž)ÀƒZf 8\úçåRP6?àи€¡÷”‰LÀÐ4áÓ¢ÏïýÀ€‡ö ¼ü®)ôÂÅUÇ)2ãœí–ë't¨ïã…¤ÓÈå(`Ž+ªOîøð‡É޵wˆš #þß½$wÒgI6 8sÿà`ФC}õKw(¾å&Òp04ûYµ‰ î`èíÓIÆ%‡>#ߤž÷ó=ßv‰L^@Þði@6m<ÀÄ)ã) ðå8ñûát±ÆÐ?ÓÓnþ.२, wr&_ÃD,Q§?àt­DDDD®‹ˆˆˆˆ\¾maÞüë·ýÔ´owzígŸþ¡Hl+Ú ›0A›Å·Þó—x[¯×Ëú ›™öRhÏX¡Cý1‚”tz•?Vââ÷p€<¢2i㹤r6o•I&Q¹œ­ “zO¼¦ «qÅÏeŸÕ>->×<ΖF{¦ÃÝõ•ü†Ùû9Î¥¾á||öÝ~¾çÕ.¼„Ï»€6íïw>kœô†3N‡ùù^/`:}Ú]¯•ˆˆˆˆÂu‘ËÆu]Œ1çýÆzwÿ™iWmCáØžëoCÈD°Ö9»ßØXß2"""""¢p]DDDD¤µµ5¶ÍJ(ÔÊÞ}T:Çqºz½Ûç1Ž!ŠD0Ä` ’”” Õ÷¼¶76Ö“'O’žžŽßïçrj¿ÈÅ!A¸ûCwAÞVDDDDDẈˆˆˆÈàÒl~e++W½ˆµ6º_.‡›ŽÐgxáÛÂD(?RÁ/~õ`,D7ÆŸŸÇØÑe¼UºÚR¤û$+9¼]ˆˆˆˆˆÂu‘Xh““{ ¼OŸ>±PÝuÝX¹\vÍ]Dª7íLéÍÙòó|ìÎ{q'V¢ã ƒ±Ï·šˆˆˆˆˆ(\…ì±òV(ÉÂÎ-{éLqÖòóó…ë"""""ÒÎ7Þÿ Î&"""""â """"""""""" ×EDDDDDDDDDD®‹ˆˆˆˆˆˆˆˆˆˆ(\Q¸.""""""""""¢p]DDDDDDDDDDD®ŸƒˆˆˆˆˆˆˆˆˆˆˆÂu…ë""""""""""" ×EDDDDDDDDDD®‹ˆˆˆˆˆˆˆˆˆˆ(\…ë""""""""""" ×EDDDDDDDDDD®‹ˆˆˆˆˆˆˆˆˆˆ(\Q¸.""""""""""" ×EDDDDDDDDDD®‹ˆˆˆˆˆˆˆˆˆˆ(\Q¸.""""""""""¢p]DDDDDDDDDDDẈˆˆˆˆˆˆˆˆˆˆ(\Q¸.""""""""""¢p]DDDDDDDDDDDẈˆˆˆˆˆˆˆˆˆˆÂuÁËÛ„ˆˆˆˆÈ¾ý8|ø®k¹Žc()îCÿþ}Q¸.""""®àÚ)1Æp!¬µ¬X¹FẈˆˆˆˆ(\‘¿ÖºchmmåBøýþØ=Þ~"ì~ä|¿öCüúß'à£çjÝü{¾»ç>÷¾x87Û\ÁÆ¿ÍgÑÚm¨¬£ÅÉÈëˈ?Ä}7õÃO•x¾¶Še?ø «G~ŽÏM+Àá-&"""" ×EDDDDÛÁ\,Ï¿°ŠKAÛÎ4³{óN§Ü@"¶q's¾ýcµ”1ý½ÿÁÿ+Í!ªçøTffá{;Ïפ2ðê1…ÞÆDDDDDẈˆˆˆh;˜ö®{×dº¯‡m;ckYö½Ï²}ì}ìXÀúçhh Ðwòù“Yò¡Éôñƒ[ö3™óü+ª “”;„«g|˜÷OîC ­ÿïž×nú"öü™G—î¢vø‡øhúRZq‚&ó-þu©ƒ§ï{ùÒg§QàÐNˆ=Oÿ…Wñß_ùcÒ 1dÓ»°#èÆ¢Ï`ÜýïZÀš§hlvI|#ÿpßt†¥›ój©aëü‡™½t GN;döÏ­ÿðan˜‚ˆT³eþLž\¾•C§Â3û0å¾cðÆó»³çû™‰ì]½€•e×pÝÀä‹7Z(_ùÏ_ÏžÊ&œ”,Іž9ÿÏ·2(€ˆˆˆˆ(\éÈZ—––"‘oF(âRòx<±±^MlxfþÌgùnqpÅsüð+?ç kGòþÿûÿ­;z¦î«`ÞˆïsïPoüºõO=Ïû?õ¾Û/Nïá©ÿ?–Å7?2œ !öÍý!?ÛP½ÿõ=&y9µ{ ~ð»üÖó5þãš^ÛÄ«Oþ†ÊA×ógBòì”4²3®ÃßôoÌÉù,ß~ÿ9¶… ïaõš*Ü6ƒÑi†ÎßbÏàÉç(yà¾=(§µ‚Å?ù:¿™;|t¾ójâÀ¼ñàÖ‘|ü ?gd¯V<ÿ~ú£?ú­ÿ䚌0{çþ€Ÿ¯+â}ÿôU®, Ðp´‚PA.}G}ÛxÖ|m-;/Á\<Ç–ð‡GËõßâ)„jް÷°KžŸs…ë"""""MMM±p¼'óù|\>†ôñ·p}qø ÆsEßÙ+¹•x]þ™ºâ9¬?\‹ši»n­ÜÜ/:ˆéw^ÍòŸ¿À¶÷g¼³ÅËjÿ_`Jÿ QùewðñéÛøÌÂU½j:…À¥&uŸùȵä^¢+¶¾‚£ éôí›…áZÏw †´ Ó¹5Fø ¸úªÌ^¶Ÿ*wùçÓ&¼“%ËZ˜ü?w3&Ï$QzÓ &.þ/¾ÒÀÕW¿ÆÒçO1îþ/ró°$¢2Ò{ÑÁ%žKn$LصxA|þœ~ŒÊ¡s""""¢p]DDDDdÿÖÅ4XÄÖ㋈D\z2Ç¡©¡‰¾Ã ›øA.-‡¬ÞÙxhãÅãuÈÌÊÄyC„Cá³®ËÁCÞ‚"òB+9Zíâšr*Z ™\ C¯þýIâ GÂPèp(1œ,C÷ƒ‰}pNnÕù!;·ý\ >ol„ˆé²[}ˆÃõ•þο²Ìð:‹†¾§O©>Ì‘–"&õ ’À%Ÿ‹Sx÷ÎØÇo¿õ¬:‰ën¸)£ H2ˆˆˆˆˆÂu‘ŽŽØÀ»¦ÿ;Æ1¼XkÙ²ê1.Ç1Þȃ!‹‰ð—x{îɇÁëõ`è“Ò›œ¤z—×a‡öÂÐN·ÇŽÇÁXÂ6®Å:¹ç[_dZoÃÙÜ ‹ ºáRÌŤ0øöÿå»×aëêe,zèËÌÏ}/üï4úùy#Q¸.""""â8šjË1Ö,=5ÞØ˜{.—GŽÒJAbh:°— _>Ó²§˜>Á¿±ï` d‰ÁRsàuù#)ô’Áàº.çäÄø1)ütÉߨ3ùƒ Ò“ÓÝ1\8'§EÁìÚ]Ï-½Ó1¼‘“UHï9öŠ¥‹ù^ú¹xRŠs󽌞4’ß}æw,Þy3ÿ8ÚˈˆˆˆˆÂuׇ„0ŽkéÙ Ö áx¼ôd-/Ïcöº|î—©\ÇÌ9HºúFF0õæl¾3ûaVe¿Ÿ«úø©Ý½˜?ͯ`Äûÿ…B°œƒC¯œ j¶¿Ì¾†þ ðEÀïÇC{IŒ¾ëÃLøúƒüèÛMÜyÇuŒêŸMÐmâÔñ 3F2¼°Ûc¸pþ‘¼ûæ\¾1û7ÌOû®œ §OphwþÑW38­Œ¦¤ðƒ3c–y7Wäûh:qˆªÀ çu2_oä¿8s±'·³ú`ÁCŠÉNºòƒœhÍdh¦¡Q¸.""""bŒ7ÒŠcü`Ýž>XÜpÇã£çòPúî©d¬ý5ŸýÝN{²)½ú>þïƒ#å£ßŒø/ßc<ñÓOñÇêV‚½qå]Ÿäý“²1$âaÀÔrëá»ÿþ,Þwò¹ÏO§Äج«ùç/g²ì™gYñð÷˜UÝ@ÄI"=·SîʰÂä C·ùèwÇ'øDpsúOl„@&EC¯ãc }ß'øWߣÌýÑ'ùC]f?nüÇÏ08Ï×q¾Ÿ»–¸n?Ïl»Ÿý#üê$©¹¥LøÐ¿p[_""""òÖ0—é^¦‹:“¨.Á§I|Ü¡8|÷N»:O‡ÏÎË䆆†o "oKK–,aÆŒô|""²eÙƒäåã÷ßázkk+ÇŽdô ÿBckYö½X9ê›|iZÑË,æ À* rŽâvòiÛÛx]Çïí ]'þLXבåܬÞ\‘w<ÇãÇ„Àú±Ö¥gs°n8¶•Mf…ë""""òNæñùp#a°¬Ë›ÑxúÕÇ÷Sª’Ö–F¢üÁÒ2sÉÎHRr:o– aŒQ¸.""""ò–1Žë†ÁX°– áºÊ÷¿LÕÑc0^¢Z[š9yì'+ö‘]П>ýÆ`Ã…0X\7ôÖî¹.""""" ×EDDDD<?·kÝX¹`ýµí«h<]‹'Dï¡dç ˜’ITsC-UG_ãDÅ®XÈÞÜXÇÀa“/0`7DÂa<¾=’Éà†Oÿž…ë""""òŽßƶ„.x[˜ò½›ij¨%˜”ΠÑ7ãøqÃÍD«ˆò{½õ/#»` ¯½²„†ú*l‰Õu›1Äö\÷¥#""""" ×EDDDDÞ2ÆÀ ‡Àº±ÒMµÔœ<‚ãõSZv=^"ÒÜ„µðòš¹8Æ0úš÷ ·àw|gÚ\ÇÎÍ ©:~€œ¼Iit‹5ØH'ɇˆˆˆˆˆ(\yËx¼~Z#°6Vº£ºòÆñÛg>ÇÅFÂÄXðø’1ÆÄïi#­ø½>zçæDÅnªO¦ xÝb-‘HŸÇ‡ˆˆˆˆˆ(\‘·”Âu7ÂZÛí=×ëëªb×edæãFZic-±zcxÃ=m¸…Ìì|ŽÙE]mù}\ºÅ:±±:Þ"""""¢p]DDDDÞb ×ô-L(ÜXü>/ØqÀ‚5îé÷zK(ÔÜíþ°.ÖÄÆ,""""" ×EDDDDÞ2Æñb `,`éƒ!ʺ!Œ1+ßͱû‰rüɸÖåå5ÏUP<„¼>CpÝ0Q`鋵Çñ ï, ¿š7Ÿÿ¼¦r‡ñ÷èT3üeîùï÷ý;xƒ÷ë%"""âЃ‰ˆˆˆˆ8Ž×uÁv¿ø|ID57ÖÆŽ‹Œ£Ïà«bÁz›è÷>ƒ¯¦ðÌ9¬KKcQ¾@R÷ûÄâÚŽÇÇÅö§çwÑ´k=ɾªV¨;’`̯2ëч™5kÖ™2“¥ÏÎáôÁÍ—$H}pÁB8¾KÅZHÂõtCì<úðC<ú裯—G8²nN\¯®´)¤ζ£"ĬKyäÑ™Ìzì–-œU{éBÏZ¯ÊOÁ‚åxxÖyäæ>þ;×< ֥牯õ%þˆˆˆˆ—LDDDDÄñxq]÷‚ö\Oë•KsE5'ËI*J¸¹–Üüþ±{=°•¨‚~£ÏÔõδ­kc×Ú ÚÆÆÆ|ñÕ¦žÂ+¶¿Ê€Õ^Dçj¹æŠ2ú{æ‡Ë+™³r÷eô‚Ì~\,ÆÀÄ ã¡W˜ž§–IFÓoèhb°@e]¯ £}éŠÇ¹ûšÉä•ÜÖ¥æäQHõðN°û8¬\ö(׎IÉÕï!ðÑÔØ€m8ÆÐ£t\ëKø‡NDDDD®[×k»]²²û†êå47ÔÅê"͵äô§ oýF‘—_B¤9vŽÆÓ§¨>yDz²‹.¨OkÝØ˜/¥ˆ…_>3—ƒÛ÷±`Ñbæ=»ˆÅÏΤñØqæ¯ÜÀ¿-≧çRþòs€}}‹Œ')ßyðLû%,øë".˜…[¹›6§šàé囘5gsæÌbã s¡©¦Ý³‰?ÍÌ¿­äÑ™²nõ6ìá­Ì_w˜yóž&R¾Îd±ŸcÈ(Ê'Võû:¹ço f_,¨ûÂFŸ3‡¹O<Æá— ¿~v9îÕ´±ÀCËwqjËŒ…•k×BMU—s »ðã9Á©ƒ´©oŸÌü1„bãZ¸q³æÎeÎO2ÿ©Y´ÚD©<¸p5á½+iïÑ•{©zù:“Í>â0@>[Âs -µñ€úÁ¹sàØÜË·^?oëu´f/z‘9sf³à™ÇiÝCG'›!V Š’qŒÇCZnät»ê={ùõS„ps—k•øÞq Ûëï°kaɆ•LÚÁeý  QÞä’{ ]¯Å\ÊwˆýVÿºpóž™MË¡Íçu¾‹9Æú~jùFý8ϞŮUsY¶©¼ÃZÛ¿‘nŽ9Áo¤ÇQ¸.""""ÚÆZ{AÛÂür b­Ã¾W7ÐÔP«4"¯ /yyÅDšcu4ž®áÀ«½û Æçp}Z"‘ŽããR²üÖOmõn½ù&¦ß6•”‚±<µä ®Þ[n™Ê-Óîäù=' f¬½Ï P}r+·Þt#·Þ:•²ñïæñ‹¡¥×Âìkšæ}wÝÅÝw¿zäÅåƒu_ï/™•1uBþàG¹úš‘¤eå0åª+˜1cž>ýI$=û[cÏžì¢Nîy/dö㉕žá}wßÍm3îaýïÛÀÀƒyeï6ÀUÛ Ç6‘9 ? ~,ÐØå\\ pš6a©¤‚ ±µìѼoÆŒ3×ÞÅÔiÓñçõ&—ƒ‡°þµ­`Ýxà[[ñÙûs¾Š ¯ß$v­{,<³n;“B~îeZ/×Òùó~meìÜS+–3&/È=wßÃíÓïd÷©*n„³õN‡”^Eì\³êOà~¢|Ýêã¶ÛßËæͤ54‘®Ö*á½ÛIÔ®ó¿Ã^½is²<5û>0H¼Dùˆ œ×Zø\?'+·0íÌZN›6•ñ§ñÔºnéò|Âçë{ƒRZøÀ=wsÏ=ïgè×0alŸkmüFº9æ¿‘žGDDDẈˆˆˆèšZè~ÀnÃ-!-#—ˆëòêŽÕ”ÜFc} ¡ÓU„«h¨¯¦|ÿV^Û¹–ˆµ¤gP_Š´^P Ïeú‡¦ÆÀðé8 p:gY™¤fù1€Ï&-Nj×>DZ8@j^/<©ƒ òe*êÀWó*CË qœXc Gf}J,œ²ÖP6¤ˆœì˜.P‡LÊȦ#Ã_7ÕóøìÙ,xj6M‡WsûWBr¿Nî™Â‘zSµƒ¡#óÁ€Çï%mà¶Ü̾ì¨r ±Š¨u‡Â Ï @JÚëz.‰ùS ¶©™¦/c"­x‚)È#ŽÆ3cÉæ`}œ:øúX\†gû u æm¨ç±™3™+à|‘L ÿèQ¼ÚÇšÖPؼŸ£ú—m½ŽÖÓùó>´›ÊZHª?Èy`\ÇKΰ¡¸Æáli\uãTl¯!ÌZº–å çPx+@·ú°ÙÃFÄúèZâ{{»Ñîì¿CH£Mu h†¤Bâºù÷f +ÍÄ。Ùé4FÒ ¥º«ó Ç~²¼5»9º8v-ޤ\R;®õÅs‚ßH#""¢=×EDDDDo®ÇÃrëÒM±7¥Œ¸†#û·sâèªOådåa°.QÆ8Ǥwá` û #ÜTXº+6Fâ{®_b¯ß¢\¼$ùZT¢|@+^°-ÄÛû<€CT†&:MM• @¦? NoÀÁ½ „’² ©2bŒKvjHâüY®Ýs},Zˆ!ÐážG›Á†gl •€¡%bHÍôÓ7› FÒt`-Áa·³wï>:<L2XâŽ6w=—³YK\¿4H½ùv6oßCÅËO2ª$‹¡c&×O›/¤õÃÑ×ÖR0¾?{ö¯åÃ3ccéÈ2iü(ú C .p’¨Bì~»–?ÅÝ7 'àr­W‚ç ¾2â}€d b gs€B/4ŽIÿ#©=Vɼ5/òþÖZŽ¥MîV9ÁNûˆ³öüÆçß.ѳ Àâ@K3x‰ëÞß›%à÷Å×2ÅB/ØV€Dç޽¶zùÃà‰÷ xHìMùÜ¿¿ŸGDDDẈˆˆˆèÍu m¥Û,‘Ó'éS2„¼‚RNTî¥îÔ1Z›C )…ôÌ<²óâ÷Â'Ë…0€‰àx|\z¬sîä1ÎÆOÑÔØ®iô°ž`0‰”$hhm…Hœ@|_å–¦HÊ#íYº–Å`,à’éÈC›¤øý†Û¦O¯/Þ‡á8Q½K¯dõ¦ßpE!d4•“\t-g9¯¹cÀWß ÆZ¢’ÜÌ^äLº’q­cY³n þõO1`â½´ñ%ƒF°zÉ Ü>Rê’Þg `èL6û1Äà¹D5´À¶—_äÊáe¬Ú´žiyãÀ—|ÙÖ+ÑóÞs šB!p#à=ÄÒ)`À-È#Ðh^«XAʨÉÝ꣥5ÞG¢µêrü¸Du£‡Îä&ƒ/-Ÿ†H1ý‚þÞÀžóþ‰Ï'ûÞZhŠõ‡k}ÑÆœø72ù^zm #""""âxÉDI¤ä æÄ¶e`£s€ç·×R’l¡×@â0´çñ©©®áÍ1´‰ŽÃ—™Ïñ­Ï"ª©Z}D És¨ ÷fëÖíŒ.Io>gëj.HÉ­:B›{«ñ[—¨š&‹¿±šdÀï÷Ñ”UHm$ÂÙ¦'s«6¬bLIJl,ÝÛo|ýn&¥1þŠñ¤NdßKOö²­W¢çÝ;œä"NïZÿ§¸ëw•ã³Îv²Ñ¥ñT%¸¢ZaÿáÃdeg'ì#7<)E4ì^ïcÃîx]­UÂ{‡‰éF;Cg’ ;…§_©¤j×5Õ‚Æúª.×âÍJøü¢ç2úQµíy°¢êëqÿ6ß̘þFz½¹.""""â8^\×ÅZ‹µ.o† ·àž)—HlŒ®u1އžÆKná8æ>·œpS©AS¯-ƒ@R€1Sn`÷Kkxaî\°–¼ì®½n ˜t°tà6ò*–¾ø þ×ç–qÅøû]Û‘êÀ¸ko>3ŽÕ,{òiˆDH ÀÔñ¥<žlRúáÀ++˜2},àál)&ñ\<FŽ]·ˆÀžXÁ…CÙUÙdxnå¼­§q<>2ÓÓ{Õ•öÓkЕìa7Nxιç:%Ëu¥öeÝANíF_3 ô3†+§ß¾µÐïšË²^iý®9çóÎ(Ïè)ÓX¹öyNïœßç¡làl &s¶Ê&‡í/n¢¹¾¿¤ ‡ ¥ÃÉ:¬izñxF]{++V/ãôŽÙ$¼Œ<‰õއ(“x­þ½èF»Î9Àðâ ò¯¿ [wp|Ó386BÐS†å[öî®Öâ’ý&ÒŠÇ3æ]·°eÝ *ç< n˜ÑÅ>†M¼§ÃZ;%×týézÌ #=ŒˆˆˆÂuÇãÿ£ÐXéɬ×½$ÛÂÜrýÒ(&Êq`ú3€S´W¹%ÓC”10í–ë ¾õ…Kÿ¼\ ÊÆãðc€âäL¾†‰X¢N±–õ3,ÏÃÈ;ï$™p*Á˜;êìž±q¡÷”‰LÀÐ4åWŒDþ¨üsÞ««¹`pïCoŸN2.18ôù •¢,(¹ã6’±€ê/.Çr“)ÌI…ÌÒë6ž® 1Xà8AüdšdÕÇ I·ßŽC5îe\¯DÏ»¦‡â[n" bÅKQY¤½’l0cÀÁ! Hï²~éN»>ÂÐìgÕ&bºZ«D/í×ë|ÛK&à+È'ÿL ¢Â@-\ÀZø<ðÞÜ xpHx¾ËßDßd(¸þZR'¾Ÿ¿í°ÖžÇ›sÿFþ‰ˆˆ˜Ët/ÓEIT—àÓ$>îPœN¾{§]§ÃgçerCCÃ7‘·¥%K–0cÆ z>‰„šyiÁ7XRŠn¦'s¼Aöx+ßóåXÀÞS„]øóüy|üš|Ƚ’7OZááEKù@™‡Ì¾ïŒÖë"8Þ óæ>ÈÇß÷àMADDD.=cÌ€U@äÅíäÓ¶;¶ñºŽßÛº>Nü™°®#˹Y½¹.""""ïxÆñniëÆJf]ÂáÆñ ïL ,^MRía&.%³¤`èQDDDDDÛˆˆˆˆˆ„ÃBá0Ž?%Vz2k-áH„P(Œßï§§è¸Íƒ\(cà¶©É! ÔYZ¯‹(#wè. È›!"""¢p]DDDDÄ’³KÙ´i5¡P+ÖÚ:LƒÏç'#o0=ä•É›#C”ÈÒz]dXÉáMQ¸.""""â÷û6é^êêêhnn&‰Ðy<‚Á éééoù[ë"""""¢p]DDDD$X§¤¤ÐÚÚJ8¦'òz½±PÝãñ """"" ×EDDDDzÌ›áIIIô"""""""""""""""""Ò-"""""""""""¢p]DDDDDDDDDDDẈˆˆˆˆˆˆˆˆˆˆÂu…ë""""""""""" ×EDDDDDDDDDDDẈˆˆˆˆˆˆˆˆˆˆÂu…ë""""""""""" ×EDDDDDDDDDD®‹ˆˆˆˆˆˆˆˆü‚Q0 FÁèàúhŒ;v Èßz #ä:Èuë ×@®rä:Èuë ×¹rä:Èuë ×¹rä:Èuë€\¹rä:Èuë€\¹rä:Èu@®€\¹rä:Èu@®€\¹rä: ×@®€\¹rä: ×@®€\¹rë ×@®€\¹þ€\ä:Èuë ×@®rä:Èuë ×@®rä:Èuë ×¹rä:Èuë ×¹rä:Èuë€\¹rä:Èuë€\¹rä:Èu@®€\¹rä:Èu@®€\¹rä: ×@®€\¹rä: ×@®€\¹rë ×@®€\¹rë ×@®€\¹Èuë ×@®€\¹Èuë ×@®€\ä:Èuë ×@®€\ä:Èuë ×@®rä:Èuë ×@®rä:Èuë ×¹rbçŽq†Á8Žºˆ‘ëp?.Êî‰+ü»0µJ‘p þÂ{’‡&©[Y~2×@\qîÄu@\qÄu×@\Äu×@\qÄu×qÄu×@\q×@\qÄu×@\Äu×@\q½(×Sl^}U\€×@\Ï}ŒÈ“ϦU0Þ<3¿íŠë0¸ž7ïÏÒìh§Û¹R\;×ÉÀ5}T\ö×3ðŒ³×[éòW\q=~wÖi 4Ö›²ëyÁ ™‡?W0ÞCçwÜb޼HÒþ&¨Bû¶üŸã ¦;2àŸZiêõTq=/þ;iµåM}µ¼ãâoê×Äûà  ÷Þ6ظœÉ÷ÅõŠN§S[Éõzmçó¹Ýn7ÿÀôcaÈs÷4Sq<º “rØÿ9>ó€°^­Û¹žû˜1g¶¯¬§@-ÖX “5æÐMÅõº‹!?sÚjÄõš2ð5†éñýr¹´Þ»$oßìÝD4OÇñg¯J‰@H:•P @!• ® RT$!!@R 9(¨JÝÕü=Ëñ6ü¯mÎÍݽï÷ÃhwšÝ°~=žqÍP­ö¯WY†5p&Zï;h¿¼¼”d2)‰DBÆÇÇ¥ªªJ|Y]]•››‰"ËÖÖ–088(:>>ÞÔ}TªÂõâ‡ì>6’³t:ƒgggr/êããCö÷÷åääDfgg¥§§G|Ð`ýèèHêêê$———À—D"¡û.RØ®û÷ððPàÄ¡à˜>í•%˜‡?#†éá|”û„ìF¤R©° ÌÝÝØT‹ÅÄ§ŠŠ y{{ûq à“ëîk‘)`¨n"ÞÛLŽ9SVá:ÕíîÉ®XÏë2??/]]]anuuµLNNÊÄÄD®~~Š/ƘèkONOOå7ôD(zj3ô\/ã€Ü~_ŽCNƒÈùh+˜l°¾»»+555aˆÞÛÛ+‹‹‹ÒÐÐ ™L&œ+&íûP$–[}Ö-îý×àž{{0H7„ë~>¾ "¶QÃæÈ‹öXWZ±®•êÙ}}}]«ÚÃ`½ny]ô{ï'Õj›• Y[[“ÛÛ[ÙÜÜ›ëº&)†L&#+++¢Òé´À/²Sá> Cåzi0¿Ü&ÇÈK}}½ìììÈòò²´¶¶Jmmm8âñ¸ÎéïÂ5>é!ªÒP]‡½¦˜û°]xm c¯)J0Nåºßj÷ðú‡¾ëüÌ~Ɖ1FGØveddD‚ ÈÎk –°rܧ¶¶6my-à{^__K.íííwz§»¨¦v^cÔfÏym;=׫­Íë«jØæ¥†ÿzð j¡ÍK¬Ý˜ëÎëõµázÚü¥Ô(X_oÚÞþ5»Ó›#ÌöÚŸÇÎõzCŸcÊz¨Ÿu^ã7èsÏyg¬Õö[¯¯Þ¹>Pƒëó ½_ÿ¨Ÿ1~Kßu€jBösÎõy¿u=×ßoÜfôÃçí;œ“~ìK/1ÝN¸^£p|_÷ì^?¿ì‡ع~v­gmwv[ýš÷ûó¦ÿYÇxÍ`]3ÞžžQÝ<×F½~ë?ôï¿ÿþçºï~×ëÂõ>ð>ºP|Þ¦F×&ž‘aûcÇû™!w®ßãï]÷ŽÛÃÜšzŽ)ëÇ|v1Ñçí^ækBucÜ3msþ2žÍywOuŸ§©å|ÞfmWÿÛýysË–·ý¦ýË=jù#:#8¯¨ÝŸê?×ù-õ[Œ÷fÇúó¼ÖÛÂ4çz±@mzFmj “µ3Ï»ÝêÓú ×ú™µ ßߥ-Ì 0QŸõ[„ågž7!ûÃ=~Œ÷Ç|Ðæˆù´EL:ô[à´†é×,µ‚‰Ú 5LÅØ„êƒó×õ_/maþö®óyk˜¥ûò_w"ïú±ÿó4ï¬Ñæö¸6 Üà d_ ×€MázªÏÛÅd˜]qœ“—›Æsªý;±f¡µKšß7S^h:áóúXד=j•Á|×ký¹÷æKLÏË£ºžëÍ8 ÜÇçáÐùòúšœ7µš‡ë󗛯QÓÞëMÞ9ÙQ?6¸§ì\ß·£}õŦí N›V/÷˜×ã¼¹~f(Ÿ;Øc~Í|½ÏzÖ×Bv æ×æí`æ!û¯ö™ó§±Ázõ×Û}ÞÆ&Çu%\_Óâ/yfÓ¦ à«Ø!zî\¿j¿·~¹Cô¾69¿þ>ð"µ²ƒ}!¸>³>ع>zÙé°uÍ×6}wŸïÏÎ |ºfCk˜v÷zì$Ïk×s7zÎlAùO~–Ð3T¯6<ïëÇ––0v±@mk ÓÌûõ}ȵIÈ~Nw¶7»ãkòybÜÕ¦æk6„ëßÖæ;â3äÎÀýÞýkM„êù½Û±Þü½é˜Ž]­`ïè¹>¹gý%Ÿ c5ç¬çülÖǽMX¾á{(=×7´†‰ùe­÷zšßy©éµzœÇ3ïÙæ1_ûšÀ>9ˆŸ÷YŸgÔÚð<ǦvkBøå^ë¡úyO¸¾¡5ÌB™[¿3ýY´Šy^÷Ä.õ‡{îNó…ê}}Z óu L¯i-Æ—„ìqܦ;Ø/@mžÝ›×C¨ß»ëoؽ>^“ÿsº€=ø#^júÓôY }¡é|Ǻ]ëði»××w°ÏÆj{±Ç1 Ö;æÏÛå/÷Z//4ݱó}´v§‡«þ¦GHŸÇO¬iô¦–„ëðýáú襡ÍxæúÉŽöÁú4Ô×ÕíCï~þB|ÌûŒv߇­Z²~®Ígg-Ç•Zž÷µÁ5Á;ô±^›‡ëóZŽgSËÐ<ëç|m>{ô¹ºù<œŸ×S}{¸¾Ö#|}žãjÀ~äµõ——æ8š¿!\6„ëµÐ*få%§Y¯õ`}¨Ïçó`ýÛÃõÏܽÞì&ìÓ`=ÏmÓÜ;¯y}¨…ëã ~0?£ÖÜ×ÚyÀžkûçfýëv­A¸>Ñ÷ìŒ÷çƒÀ|ÓËKç5a;lï»^û%§ƒ€¼úó·ëýµ×ÿ|þ LçkWî¾B÷fí/$­ÇõG=^hú¨Ÿœç3"”OõKÐ^[ZÂäu v¶†éƒæÐâ·éîõ¾Þëá|þ¹ým^¾çúþÝë³ì£V.qOs­£¶ùå¥ÇË@mÙɾ¾¼†;Û«fÿŒÉ Lß°kýKÛÂìo ³ÚBåÔ&!yû"ÔIØÞÔ^ÝF¸o×7´…iƒí…îgsmÜgmý¿iK˜¯×ß°¯ãG¿îe;Ô]m`æk@˜¾±ML½lG{¿¾ÖúÏÖsí.ÿ|h šc^ŸÓóy˜áùƒ›}ž0\S{¿{`C¸[ ç+óÊV.«-fëSoüîßxÿîõù¼?_ê›þ¢Ï;¯ ×àCÂõym-lŸ×í_ÆÁúûw­ ×Ó1¯oØûÚ}Ësçç¯ëµ.|€zsïõ¬­·†™ÏÏMϯ›×?/\ÿòÝë»öœÿ½;ÆU (êþoÿk®’£+ ìs" À4ÙU©ç„×îºP A¾ìaüžëïGÂúþÔúïëß ìá’ž ¬'Së@?½ö  õÃa}?®ÿûeq= ìÑ>ïçæ³M¼Æð¦×ƒxFõÂzn3® ì—Süí­n;˜?ýú¿ ìÁßIX_˜Z×omÓö;û¥ŸìÙ.óóa ®ï÷zB>Ø*'°ºö ÀG÷¸y¬Ú½ûÑ= îi8¿Ú'ï#®ÇÛÃ<ýÿý<°¶@sûÀDõçÿ¿L½¶+{® ìm”¯Âúšî}ú©ö>’ ë/Žë =Žî—›Ÿ?¶{€ïÇõ>°ßê}Dßë½ý¸¾9iÝö~ý,õgâ;0O„ö;Q}=¬÷F\"°ßÜé±à¼ßÖ@`‚ö±i¾£ÉõýÀÞoÍÒë§ÔOþ~@ /Lð¹ý¨Þ~Ÿ~{q½ ì ‘ýîñÖ/ °§û±÷Q}kbýÓa[`ÏçˆæðòÄñ<´0¬maúíaŠx½Óûï ì˜à3ë±=xžÊ˜\ °SìDó¯ËÉÞ0ý5ú}ÊËßO«÷û¬›\‚îÂû[búyä=³pÝÍØÞO«÷븳ö$²×÷ÛX—} ÄOÛ먾ÖG\_É}dïCºxâûBpÎYëâzØóȾ¿½ËY[s`ö¯Ýn'œ·Öí¹¾ð£œÁçNy}QDú8ª“êûaÜäzü|K“ág!¤ŸW¬50ë×ïƒûô“õ‰×?٣ؾð=÷}l.cº¨^EX}?²_Î+ט…û¬GuaýòO\_ ò'|~@°ŸgC9ç?óya ?Þ?˜`O÷VàV#®9°ïÇy˜•8.¬ßˆ¶¦îσçÛ&˜ýs_ÂG Øë½á½s°EÌ”×Ö…Ö¥-’¢|`„i‘=¸ž÷ BùνEu±õø¯ß#F¿ÛqàÃÆ}6‰¶gñ~Þ/0|Q]|µ×9 ê ꢯ sñëþû>01m<;0?žÝä:˜ØæXSê&×Àt¶õ0•nrL^c½“è&×@\þoŽù[cOÅ Ö¦M,D~~IEND®B`‚sequeler-0.8.0/data/assets/screenshots/sequeler-screenshot1.png000066400000000000000000006344311367531117400247310ustar00rootroot00000000000000‰PNG  IHDRy¼«0ÞsBIT|dˆ IDATxœìÝy”å}ïÿOU/Ó³jf4‹ö„B Vƒ@,lŒcƒƒñ‚“›Üà›Üäw'çǹvœ{²Ø†8l®Vl0 ! $öu´Œ–ÍÞÓÝUõûc¦G=­^ª·éîÑûuΜé®zªêéêÖ¨«?ý} pj1ŠÝSçãSìœJÌbwàU¥c‹ó €ñŠjÞ1Bè˜ÎBá,1\3”*QSãüÅA¥o„˜Éqn€â"èM€ ó„r>åÜwŒ­rN˹ïyC88¤œÏC9÷ÅQÎai9÷=/NÕ€°w)ö ˆUŠk)ö© Ìbw’xPȵJÀ©ô$ó±žJç§¶bVÖžU½§Bø8Ö±ÔÎi©õ…WjaçX÷§Ô^×p¬×x;0Véx;Θáa¡S¡ö?Ÿ Œ/… L ÄŽ« w<‹…|,ùÜ7s ÆË\¸…|ã"ì¡_©WÖ–zÿpê*õÊÜRï_QŒ‡ 0ß!û+õ€H§”‚Ú|‡²„¼ERján±·/õã ÿÆ:¬ÌõxÅÞ¾Ðûåô•JÀ›K?ÆË<¿(/¥2n¶ÛžòAo9†ƒ¥Žf³])Vú–ãó€!…'‹Qi[ aoY½åòs®ÛL¶)äþËí9@ésr:Ä˸Pû)¸r ‹ð*ÜuÓv¬žŸrzœêÆ*ŒtsœB¸™>ÆS*è-—p¯o±Úæã±–Ëó €ÂËGp™n¥öž2Ao9„czæsØäTm YQœrx-œê @泂6Ÿ•Àcö–tÐ[êÁ^®ý+ÆðÉÉÚrÎÝRP: 9ïm²vù |Ç2ì-Ù ·”ÃÁr xs w 54t6Jù5pª*¥ Þ\ÂØ| û|ʽ¥èUÀ›ëü¸‰ÖçkÎ]*zOŨàMµ>×À·C=bû¼+ÅPp,Þ±wóüŽee3ÊÓX𹄝Š{ÇUÐ[jÁ_©¼ñë² vóUí›iÛbîÙ)DÀ˜Ï!3 u“­Ëv?nÖ»mSÈíó¦Ô¼\ú“kÀ›p·BßlÚjÈM>‚ÅL÷1V¡n²åùÞ¦m ±m^•RWŠo®án¡B_7mJé¹@qº6¡n²å™nŸn]&m ±mÞ”JX¬€×mК¯p·ap>·@éÉ6x,Vx›Éò|ö#Ó6…Ø6/J%ì+dX™kàš¨]&ûÌGàëöüäûù,•×À©(ßa¢Ûý%j—7—¶ù 3m“Ïíò¦B¼B¼™VÀfîæ²ÌíqݬˤM&Já5pª)FÀ›IÕl®án¶Ë2 Ó­s³>ßÛåE)xÙô¡Þ|¾ùÆ9—¶(o™ùy¬CÜRzOéw,^7ËÇ*ÎǰÎéÖåÒåi¬Þøecäæ{øæ² z‹üõ0Íù^ÓÝ7ópŒdËR-w»>_Û ¸ JæsæDëí4ûÈGÐ;–!o.Ûå¤ÜBÞlªZ î.ÖgÒŸTËR-O·.ŸÛ ¸òòæ{ŽÝTa¬ãb}&ÇËWØ[6ռŠøÆj˜æL^·÷ã'[ŸIßzàF)¼™´I·<Ó°7› w\ Û\.!o¾†hÎ%à5S¬KîærÌdËR-O·.ŸÛ`l•rÀºföJ¹ éì&€NµÜíú\Ûç¬Á^±†iÎ6lŸg7Ù~bÝLŽjÿ™.s»ž@`üÈeâl+`S…±©ÂÝdíRí¬ƒÞ’¯æ-‡·TÞdí’µIUÅ›¯ŠÞlÂ_·mPÜŒ¹ gœmÈš*Ôµ,KÖ&—>$ºŸnyºuùhŸ“±ûÆb˜ælÞLÚDëÝÌÓ›ù€“ÝO·<Ûv(]nÃE·Ag®ó⺙7Ñ6ÙŹ½e;ls9‡¼™V¶æ#à5S,‹?V¢}äôæk¾ÞLÚ ´e[Å›ly&A©›€7ÙòDUºÉ*w³ zs©\v³.í³VÊ!o1ÞtC/§ kã•kЛKPK5/Àø—ï*ÞTmòð&«ä½nˆçDÇqÓçL–¹Y—KÛœŒeÈ—¯*Þ\çáÍ4à¯Þt[%Í’TŸdÉÂÝD}ÍæùÈ5èÍ×ñ½B„¹¼É¶IµÏD¡nTDR·¤}’(q𛮪×MЛÏùyK²š·TCÞ\«x ð&ªä=í¸êßøÆVVVž·'D‚ÁàÎ|ðÇßûÞ÷^•´]©+yÇ2è-«jÞr ys¦9ßoó<ð©|ðƒAÿàà`’.0MS>ŸO@ ô×ý×ßüÞ÷¾÷¬¤#*|Лë°Í§lÈ[Œ*^7Õ½‰æÒ•†Þø6ñaïÅÇŽû^$9ò¬]åñxäñx¶555ýwIo /vüD—' tSͬ÷ÇU5o9 /œé0ÍÉ–çðÃmêMÓœkÛ±¯)©X–%Ç3MRNdsÉ /£Ùœbî+A›øõñÜäŠc9 rN¼Åî@œ|87Ã4'[Ÿ.à zÃá°—ÈL$©ÔPV™.tt"Ÿ‹VÈÆÞV‚eéÚf#_ûÉ‹±¨äÍGp›í0Í©n –%š‡7Qoü¶\rGJœ¿%«èW ÖËÅí±ªæ-xŽXJÃ5çò`só7Ù QÀ+ü"™Dù[¢ášcÛçÌŽU&YP¥6\s"™/Ê­’7Û*Þtóð¦›À9~ÒgÊïÜ¥ÄÔPî›ÃÅ´›,ÇK7?︮æ=Õ‚Êø'_Jþä' xã+|d.¾ð2Y>—l;)qþ7îz¸f7²ª9ÓÞí0Íñ߈]f*æÅå8Ã5ÎØ¢ù[4pK64s²ášÓ Û»>ÑítC*ç:dsÁ²’7ßiy&ûKÕ6Qˆ?‘süºDÕ¼§Ô·€‡kîììT[[[±»1nÆÐK©ººZÓ¦M“Ïç+rŠ/f¸æøê]kø¶­ôC/ç2ìr®C1uÈæb‡¼ùâ¶Š7Ý<¼‰~¤“'yNWö]–úûûuôèQ]~ùåã.¼.&ÇqÔÖÖ¦¶¶6Íž=»ØÝ@Ùs4pð}­Zù¶>Øy@ý¶|Uujh¡y Ï×…‹gi‚§Ø},ö—ô/?X®ÃŽO ïü_ºó¬±ºD齟ý½~õaDž)×ê¿z…š‹2ÎV©ôÀ),Qþfj(èM•í%›Ÿ7Ùºøc–}VŠ!o¦•¸¹î;ݸ݉æäw•¼‘HDûöíÓ™gž©þþ~ »KãJSS“öìÙ3n^/(KÇÖ?¥ÇžÛ¨ŽÈ‰÷–‘žcèéP{_£.ž©ºñö¶ÓéÓú'þIOoŸªø‚.¬ÍÏwnyF.þ š¹ÅßÏ9 n'¶9Ñ2·An¬|†º ˆ‹YÉ›¯ 8—y}½±÷ã«w¥qîFõõõ)‰¨µµU¶mË¶ã¿ø€\ð waíZ½ZmaG†wº®½çN]Úh)l;òMœ©s®>M‹íA ŽTøÚêÞù¦^]±N[÷S¿åSõÄiš·ø2]yñÕy$)¤÷Ÿø¶~µÙÔü›ïÕùÇ_×këwª½',oí$~áuúÄå³UcdÚV’,umC¿_±NÛtjÀòª¦y†Î¼øj]}ÞTUƶÛñ¦^}}½¶íïPŸåQeíDM9ýb]÷ñsU³•žî5m 9’¶é™‡¾©gdÈöú«;Èëö8v·¶/ÿ^|{»Žô›ªr¦.½¤A)/µõíIw|7çÙ-·ûJuΫÕ+Ù];ôæëkôÁÎ6>Þ§°ãSUãÍ;ÿ*]ó‘YªwW¶Ê\üͱU½±Wm‰Â\%YŸJ¾‚×¢Uø–âpÍ©¤ª9Ó*ÞTëµ9iŽÞñ0\³eYêììTmm­*++ Ëþ1•¢èk…s €¬Yµcg¯Ižé‹µhBHƒ‘èJ[–‰iì¨gÓÓzøÉ÷uÜrd¦L3¨îCÛ´vÙNmm»U_úôÙª3†‡ëuÂÚúü#ÚjûT?¹I­ƒ:|¼M^~BÁª?Òœ?aè Ûu[GÝŸÖÃOnP—ãQMëtÍòuiÛ6­~nÚzîÕ½WL–WŽº7<¥‡ŸÚ¨.{¨Ÿ†Q_Çí:QÀ´tl×6 ?,£Bõ­UeòM¬’[]®ŽÑ×~¦'^; °#†©®}ëô›ö ù£ßqMø~=ýñ»]žçÑF'z­àî9KwΆ‡\6ûÔ¶q³öÛujj™"_¸S‡ŽìÔ;Ëö©=òÝwy‹Ì„ýÈìe €SO²Ï¹ #Ÿƒ¼âT3\s|À›lŠÕdÕºRnÕ¼ÙTú]©…¼‰ªi3iï¦]¢p׌[?jîݸ3f}Ùëîî–eYjmmÕàà !$Pªìuu]sV45ª*Õ[wkŸÞxiƒŽ[’wꕺïËŸÔ¼êí~éÇúá‹»ÔµéE-?o¾nœÝÀ‘m×êÂ/üw}fAµ4°I?ÿÇŸèíîAíÞ²KÁóΩ¼uÑÖÞ§7_Þ¨.ÛPýŸ×wž¥*Ùê|óÇúîÓ›µÿÍUÚú‘Okw¯Þxy“ºlÉÓz‰îùò-ZX嘆}·DZTgxÔpíýúÒ„êïŸÞ.Ë3CýÊ—uI­!Yƒêïßåî8ÆN­Y{PaÇwòåº÷+7i~U—6=÷°~òÆ¡'Ò£YiŽïî<ûÒ?¿nŸ³YÒœ³¡Ýµ‹uç_ž+¥Wáþ…ì 6þâŸôô‡ƒ:øáVu,iQÕ¼p)¾)>Kˆ¼†aŒü.ÅVíÆËŸÍÙ:ÀÆÎÇ›j¸f7ÇÎdÞ’ K-äMÅM¯›í“-Kty›èãF0TWW—¦NªH$Â0Í@)‹^îjèÂÄ–’ÎkÛ­]]¶$¯f_¼DÓÌ~õöj½t‰Îxm·ÞìÑ·dÍ4²Q{¦Ï6Õßß/i²fNòèíîˆìà %UÆì?]ÛŠc{´»Ë–dÊèX¯çžxoèŠ{°WINð°·5ߨ£ÝÝCdÖ¥WinEP½}’Q7MÓe˲Y¡~GŠ”Yýê÷ÃÓåqœ:ÐïH†Ws.[ª™ž~õ+4粋4}õ¯µ;Å¥Pêã»=ÏÓÓÎåëv_áÚôçLr4x`^~q•6ì9ªˆ3êS'Ô`šþQŽãȶm9Ž£ƒjÇŽêííU__ŸlÛ–ÇãQ P PuuuFA¯Çã‘ÏçS}}½&L˜ †††1xD(aÉFÜ•(àßGº v\Tó+ä-TXšh¨æLæâŸ7ºÞŒký)ÛÊW˲ÔÑÑ¡ššE"‘²},å Ù·›×<Õª©–Ôåh°³S}¶£Ú$WVö@¿I†©êJÏHð±+T4èh``xª–á·¨fM*"¶S’3ü;ÊqäÈ}[;8||ÙêܹNïÄwаdEÙÖÀp?=ª©ö*b ¿o¶":‘»{d÷'†v}œÈàp¨éS]•©ˆíH²ñUÆÌ!œlz•ÇÏà<Ç Œó‘ÁÐq]ï+˜þœ9Á-zá§Ïi}䩟§+?z±æ4úuàõŸiÙæáÎ;rŒ“ûÁ% ¢b«w;::´~ýzy½^wÞyš1c†êêêä8Ž´wï^}øá‡êëëSKK‹***dšC ©ÂÞhx<00 #GŽ(èôÓOWEEÅX=Ì’uàÀýèG?’$}å+_ÑäÉ“‹Ü£‚‰fnŽN„·ÑûQñ½Ñeéææ•ÒÕœE † òŽUµk6Çq3ÿnTüÌãj˜æþþ~…B!Mž<¹hsņ7þBßy:¬Oþùç´¸r\œV pŒVÍœî×ê®AY{7js×b]XŸø}´Q]£jCê´-õöôÉQÝÐ…L¸W½AI2TUS·QÜÅNš«Rµ5*«††w6üZx×ßèÞó+G7­PŸ$ÇRoWL?]Êä8C…ÕÛ3(GUCWàÑ`5KYç\÷U‘þœÙwhg¯#ZpÃçtÝYÙNX¡·IpN5ßùÎwô—ù—Ym­à=tèÖ®]«ë®»NguÖIyBMM,X ùóçk÷îÝZ³fZZZä÷ûešæHØ›ìŽã¨¢¢B•••І 4þ|ÕÔÔdÕïr …ÔÑÑ¡I“†F\jooYwèС‘·½½] òûýEégÅÛlÇ-³âÚ% x³ [Ç* ÍûqJižLçãM×.U ›ê˜‰*yS ]v,ËÒáÇÕÜÜ,ŸÏ'˲ÒoT†Ç#yÊô¬:}ëôÄ¿üF»]œ>*x3£Bó.:WLÉ íÔË¿üÖíëÔ@(¤î#Ú»ùm½þþ!Ù’ÌÆÓ5¯iè λß^­]½–d¨í­·´-äHF­N›Û’vál™çê´SrÂÚºüwÚØÞ­žžõôô¨óàV½³a¯ú-Éœ8CÓª‡ŸÞ³æumíŠH²:¾GëßÙ®îá·Ñ¯wèbÌîֱް$KÁþAÉíq§iZ•!9–v®]­}¶d÷kßÚuÚëbÖš¤ÇÏãyvûœùÜœ3©¡b Gá^ †#<²^ïl,1Ç•DŸC'ª¢uóyulïÚµku×]wiÁ‚#•·‰~ ÃМ9stÕUWéðáÃL[df†LÓ”ÏçSee¥jjjTWW§Í›7kpðÔ™d$ é§?ý©~øÃêÕW_ջᆱ7Þxcdýo¼¡wß}W¯¾úª~ðƒè§?ý©B¡P{,­\¹Rû·{ÒOŽ’Ô›(¿S‚6én'ÛÖMŸ2Ý®àÊeN^7!k¢6no'ÒÙŒ»ÛÞ(Vl®Ž9¢ªª*UWW+gü^{í5E"]sÍ59õãĨ`å8$˜£Þm[´7Ò Ë\ö¿\_/(žÙ×鎥ûõèò6÷¯Ñ³¬‰YkÈ¿è3úÈÙ­2ÔªK?y±6>ºZ‡¬Òcß]-¯é(±å¦ê^¯+fyäØÖè¹Z£ïmG½oþÐFŽû¶Æ]vã…úàñ5:Òöº~òOëÔØX-3Ô«ãÇûdŸq›þbf£LÏ,]vÅ,mxa—‚íkôÿþém™æÐmæ¤ê+çÎU­)&OW“¹U‡ìÃZõŸÿ 5Gö´ëOî¾ØÝq¼³uÉ%S´þåý í[¡ÿãò›¶"þ* Ca'õûõTÇwwžã÷›à\.Ÿ3'ý9«™tšN«^­wzBÚò_ÿ¦]]­ÐÑ£²ªjå5ºeëÄãMøœ ì8Ž£ÿ÷× 7Ü ™3gŽ,ðÁÕÓÓ3rÏž=zá…tÿý÷'F9ZÁ‰DôÎ;ïèšk®QSS“l;ý7$ÇQKK‹.¹ä­^½ZS§N•×ëu=Go4ìµm[Û·oׂ \<úä¢Ah©W½vtthß¾}rGË—/?iý‘#Gôë_ÿzäþ¾}ûÔÑÑ¡ÖÖÖ±ìæ(W]u•***ô /ŒZžI2Ü6>À­x¶Y1mÜTó&ºª¢¶¬æå-—7ÙTñ&j—·ŠÞ®®.=û쳺ùæ›U__/IêîîÖÓO?­O}êS#Ë ¡··Wƒƒƒjmm•a®þ(Çzíµ×FýÉ5èMÏQÛÛzõµµÚ¼ï˜úí M˜|º_qµ.;áÄ7âÃG´á•µrãí ÉŠyXži×êk÷.ÑDÓ;"úðÉГƒŸÐ×ïZ¬ª‘gÚVûk?ÒÛN×½_½T}/þ§žZ{DAÛÑ<ø†$S-K¿¤¯^=9ay<á.òÁ±¼šqÝWõ§³VéÕ7ÞÓ¶}GÕ3hɨU㤙š·pÒðûQ[¾Ù7êþ¯NÑ+¯¾¥»ÚÕ2UÓ:]ó/¸J×.™¥@(¬Ì®2aË?÷Sú£¯ÍÔ«¯®ÖƇÔy¸O†¿Z Ójþ9Ó†.FG —|A÷Wÿ^/®Ú ]í]°<ªlš­…ÏÓ„á÷ãFëÝqS‡žyíèÉ©hÔôÍò»>ŽÔråtó¬~óÖ6zU;ó<}ìSQÏSß×íNýhR?çÙý¾Ò3Ã?O7üÁõ ?÷º6êÓñî*͹ä.Ý|YX/üŸ_èìŸW”*Ã0tÛm·iݺu£BÞØ€W’6oÞ¬Ûn»-eàýB`[[›€,Xqp7eÊÕÔÔ¨¯¯Oµµµ2MÓUÈ+ ½@@GUWW—&L˜àj»p8¬•+WjÆ ºüò˵xñb™¦)ÇqÔÙÙ)¯×«ÚÚZ×c,M™2E×^{­^|ñÅ‘e†a¨©©I’tôèÑQÏÁµ×^«)S¦m¤Vi(@Ÿ?¾^yå 亻dYœ“fy¢v¹ Ý\V QRœnŸ™¯{?Ùïøe‰Ùhenô~tŽÝØÛÑõž˜ûž˜ß±·¯hkkûn6Ã<úè£Ú½{·õ…/|A¶mëÑGUgg§fÏž­»ï¾;ã}º‰DÔÞÞ.¿ß¯ÖÖÖœ^IZ²dIÖAodóSúΓaÝü?>£³‰_¡¶WôŸ­‘¹øz]Éij4{µïÝõüÊvû}ºéŒj i×o 'vÎÑí_ø”·zÕµõE=ö蛪üø×tç…õ2#–]í+¢­Ï<¤_?©¯ß¹H'¦ ¶udå#úáûótßW¯Ò” ¯zßø‘¾·jšîûŸ7kŽÇ‘T0œøœz<½÷Þ{Z¸paVç 8ÁéõËï÷Êë1‡/pÙ–%+î=©áñ«Âï“×;Ôα-EÂ!…B‘áàѯ²F•>CŽT__èÄòªUz 9‘ úúC²3j=¾O~ÿÈñ%g¨¡Ø~òø*†9üܱ j0­46äñð{e’GV8¨ÁÈÐW¬]Ç”·¢B¾¡}8VXƒÁŒ@µ^)ÜߣHòsžúøéÎóÉûK|.Ýî+ý93<~þ¡õŽ-+R0,UTWÊë ª¿wPVŠ~ üx<ù|>ƒAmݺUË—/×Ñ£GÕÔÔ¤+¯¼R§Ÿ~º€ÂápÊpв,E"­]»V‹/Ögœ‘U6oÞ¬mÛ¶©¹¹Y^¯7åܼñÂá°zzzTUU¥3f¸jÿØc©­­M†aèßøÆH°|üøq­_¿^:=ù IDAT†aè¼óÎ+Ù¹~ßÿ}=óÌ3’¤––Ý}÷Ý#•º‡Òc=¦#GŽH’n¹å-Z´¨h}•¤ÎÎNýä'?Qww÷È|Ê’ô7ó7®÷QQQ¡iÓ¦}]Òr Í»kÿ޽mÇÜvbîG/_boG×;1÷£¿ËãÛ$úß.ѺtËÝ®ÏH9Uòf:Ts&Û¦²9i…o¶Ãï~ö³ŸÕÃ?¬£GêñÇW$Qgg§ZZZtçw¬ê³¯¯O½½½:ãŒ3FÆÍwkùòå ‡Xµj•$é£ýhÆý‰?é`N6._­c3nÐ×o¾@U‘ˆlÕé¬kïVÕÀ?é'¿Kv•&9´eK·¦]~µÎ¬‰¨·'"ßôË´äô×õÌ®ýŠ,®‘×v¹/3:\YüÐeÎÈ0tŽcË …4h-÷÷©/ÍÿM±ó¹Ã.ZF5IõÅTG¡þn<““£P_üòLÚFÒ@$Ýy‰Ï¥Û}¥?gNd(È×ß»Qò~ üD"E"mݺUË–-Óí·ß®Y³fi×®]zòÉ'uýõ×ëôÓOO¹èçØ–eéèÑ£š4iRÖŸkOš4Iï½÷ž,Ë xÝVóš¦)¯×«ŽŽMŸ>=mû•+Wª­­MÒPØ­àuG^¯W>ŸodêRûœþÀ:tèV¯^-ièÝu×]ª©©©Ä®««Óç>÷9ýó?ÿ³ÇÑ믿®p8¬I“&iÊ”)Eé÷²eËÔÝÝ­††}õ«_Õºuë´lÙ²l‡kŽJ•Ë%j“nØåd˳ٶä”JÈë&ÀÍu¿næáM·ÎÍú´***tÿý÷ëá‡Ö¡C‡$ ý±»ï¾ûäõz3®°u+ Êï÷ ÓìöÚòå˵bÅŠ¤ëW­Z%Çq2z‡ï$Ÿ“7r@{÷YšrÍlùƒƒú Ë’14uþiªxgötÙj­udےᄲl’¬pX–Œ¡¯lØŽ·ûŠ);>ä=‡°3Ò·óV•Ú€ñçõ×_×wÜ¡iÓ¦) iÆŒúô§?­ßþö·iC^éDÐ UUU•õgÛUUU#YD¦û0 C¦iŽÌ©›ÎÆGnG">|XÍÍÍ’¤êêj]pÁŠD"ª®®.X“­GydÔýææf544Œª¶¶,K jjjÒ‘#GtôèQ=ÿüó’¤o~ó›cÚߨ .¸@~¿_7Þx£***tùå—çrnÝ„¶©‚ÛB Ù\òAp©„¼™Èv8èDëRU§ý¶@¶•™–e©¯¯/á²BPSS£þþ~uvvj„ )ûûmšToÔo¼¡«¯¾:£þŒM¬ j b(Pá“=ª#ÛP¥4´åÔMÑ™ókôÄÚ•Ú2ëjÍkð¨oïZ³# 3o™)¯ãÈv»¯˜`÷¤wT¨{¢ªßMÈ›íd¤òÿø’¤?ÿó?—44kss³Âá¡r'Û¶ÕÚÚ:j^×øm¢¢ŸcÇ~¦ËçÚ™Ž*e† Ãp}ü®®®Q÷_|ñE}ö³ŸÙ‡Ïç“ßï/ê¶nE+Žã%«B.tî°bÅ -]ºT’ÔÑÑ¡eË–iÑ¢EZ¼x±Î>ûlƒAY–%˲´téRe2Íi’¾'Êç⺙Ÿ7Ñ~S¬’n3QŽ!o”›ùyão§ºï¦B7]‰¸+ÝÝÝzüñÇÕÑÑ12ÔA{{»}ôQ}þóŸW]]]¶»N)¨¦¦FÝÝݪ¨¨ÏçKÚ6öÖC=äjÿñDÓ‰"iHê«T•ÏQG_ŸlÇ7ê„[ý}P•ª*%G^ÍúøçõÑÇÖS?|_>Gþ Ó´ðÆ/êÚy~YÇý¾gøŸðÉÃ5chä?¶‘Çá®’WÒÈ(äÃ>(i({†æsݳgfÏž=Òf÷îÝjiiIºM"~¿_ÇWcccVýŠ/vË„mÛ²,K®Ú×××ëØ±c#÷wìØ¡_ýêWºþúëU[[[ÒEXú§ªýû÷kÅŠ:|ø°Ž;¦ööö‘ùx£ÚÛÛGcKK‹–.]ª©S§¼Ë—/—aZ¸p¡üquwwËçóiáÂ…#_$ˆÊ$à‘Iö]ŸhÈåT÷Ýv3tsIËwÈ›Ó0Æ”.è_ÿbÊdû´ž}öYutt¨¥¥E÷ÝwŸÇÑøC=zTÏ>û¬î¾ûî\vŸ”ajllÔž={ÔÝÝ­ÆÆFW¡ãñãÇ ÒŸ´sòS4g–O›¶îP×yçiÂÈYiÏÖ]l¨½úê«õÜsÏé†nдiÓÔÖÖ¦çŸ^·ÜrKÒm↡††:tH YõëàÁƒòx<®çáeY–B¡êëëÓ7–´xñb½üòË£–mÙ²EÛ¶mSCCƒ–,Y¢sÎ9'ã~Œ…è0ÌŽãè©§žù}Ûm·½ííízòÉ'Gr†¥K—êœsΩ -´×^{M«W¯V0TCCƒnºé¦|"]f¦sð–jp›×~u%¯›ɉªp³ U3©àu»¿Qáo¶ÁÝg>ó=õÔSºãŽ;F†øò—¿¬_üâºí¶Û †¡É“'kçΪªªR H{¼oûÛ®öýWõWõe¨`v@ÇÚöi¯?¶“¦ª&NÑÄÊ yÕR­ýWõÔ2SWŸ7S<ý:ôÁëzy½¡sî¸PÍŽ#[ŽŽV—]§£;>Ô‡~S†aÈ[Y§† •òH’ÜîËФ¹sx÷]½¹y®®9£AÞH·ö¾ó;­Þ/õ'B骖VU÷¨µïž©šy5’Q¥úZÂTì8ô„½€B™={¶n¹å½øâ‹:r䈚››uë­·jæÌ™ ‡ŽûùuSS“Ö¯_¯ d<תišÚ¹s§¼Þ1”ÛÏÆÇQ$Q__ŸfΜéj»%K–hÛ¶mÚ³gϨå¶m«¾¾^‹/.Ù¡š#‘ˆ"‘ȨJäcÇŽéᇠØ;;;G‡cÇŽe[5›µ`0¨ÊÊJ}å+_‘ßïÏËÜÆ1)›‘t“Uâæ#ðM´o7ûÓpÙ“çýe3_nª06ÕP̉~ÇW߯ß6Üþ6ã–› ÖÇÞŸùgög×eóGÁçóéâ‹/5½ÇãÑÅ_,©ð! Çã‘iš:vì˜jkk¶‰ýfÍÊ•+]í÷òË/Ϩö±-zsÓvíÞô¾Þ?æç½M˜z‰æ7rªgkñÂzum^£×W¼®7ßݬCÖd]ô©ÏèÚ9~E졹qmõkÿ»oiͺõZ¿~Ö­[§w֮ѻ[»5aÎijÈå¾ yšO×¼êÃZ¿üe½¼ü ­Y¿]Ý éæ MmØS©³ÏP! 34ÃlÓºU˵rÍí÷Ÿ¦sfÔ$~‘†><2<7ù´gÏ­^½ZsæÌQcc£–,Y¢~ô£ºè¢‹TSS£H$¢eË–Éçó%­×ï÷kûöíòûýjiiqýÙ¶aÚ¶m›vîÜ©ÆÆF‘\Âp8¬ÞÞ^ùý~M™2Åõq/¸ày½^uww+ ©©©IW\q…n¼ñÆ“†.5ííízæ™gNZ>00 “–ïÙ³GóçÏWuuuÁû¶bÅŠ‘ÛÑygÍš•—}{½^}ÿûßIÒ^I¶†ÒØ%¸¯˜åŠ[—(àMt;Š>ºñX? \CÞdëÜÞ6c–% q£·= ~ÇÞöJº|Ïž=õ7%òÁ0 …Ãa:tH~¿_ÃÃ'~ú܇é°Î†¿ZªÏ î;®¾á¿¹†Ç¯@ B>¯G¦áȶ"  ý{ïßú‚ý]¿.¼ë-]/¿)ɉh c›~÷èãÚ0õ}íc³äI»¯‘žÉ[Q©Ê Ÿ<æPèn…‚ Z>Ulõvh(Ú7嫬R¥ß+Ópd{ÕLú{<mܸQçœsN^¾Ý@”ã8úÑ~¤›o¾Y“&MJÚîСCzî¹çôå/9i&`Û¶lÛV(Òž={´eËÝtÓM®WÃ0tìØ1½òÊ+òx<š6mš|>ŸLÓtò* ª««KçŸ~ÚöñÇöûýòûý2 C¶m+yÅk6,ËÒÏþsíÞ½[×\sêëëµ|ùr>|XÒмW\q…Ž?®—_~Y³fÍÒwÞ)'ßµœ'û»¿û»“–]z饺úê«sÞwEE…fΜù’^—‘di(ìµânÇþv†ÇßVÌýD!qºÛŠ»j]²ûÉ–e²Þµ±®9_Ò µœ.™Og¥«2Ç‘ÏçSCCƒÚÛÛUYY©ÊÊÊQ•űÜ;:: Ó‘`:‚.ÚÙAõ…“5Œhïæ-êŸs›.l–úŽw¨wxáiÒäFÖÛ–lÛz¢Sîë„Ð@¯B'}9&¨Ð¨Mm öukÐÅÜñ¦iŽšƒ€|zà G ÉüÝï~W_ÿú×GîO:U<ð€z{{Ó~Vmš¦&Mš¤ÞÞ^ýú׿֕W^©3Ï}º¥R¦$9!ßõŽ^zá í¾øv}òÌ:²u|ó‹zfy‡æÌ$OgôÅY¸KGZtÅnÔi+¤ž-zîG?ײ†/éösjTuþ=úÛ˼1Û8êXõ°~°ólÍIô]Wç¸Þ}þ7Ú7ûszà‹³îÒK?~BÏ×Ü£;έ;ùÂ0Óöéƒ\ª0£Å`>Ÿod¾Ûºº:õõõ)Tèú|>ÕÖÖª¶¶V^¯wTÀ›*ä®9‰h`à¤yOY–eéøñãÅîÆXÈgî–í°Ín÷YRÂ¥ò¦âfþ]7ëUùƯ·Ã4ÇsGuuuêééQww·šššFÆÎ/–Bý= õ»É¥úO (Iv»–ÿçï¸î<õ,ÿ½Þ;äÕâÏ~IWÕïÓê_Ѻ}=ŠÈTÕä³uÅu—ëô C9}{¯¯ jçògõò– ìû±yÝ«©K>£ŸY©Î·Ÿ×êŠé‹7NÕ‘Õ¿ÖŸ8¨°i*24ïÆ/êS÷ô‹ÿX©s?¡Óü†ª&ž¥¾4O-Û~¦·?ˆëwÅ4]ôÑY²C!õvJÆ-˜ã×ï‘£9¡>u‡bÚ‡wëå•=:÷Žyª0ì“¿–ݵM™«¥Ÿk•ÕÛ­^£U—.­5+·¨ëœ U_œa{)ÍãŠÈ4M9Ž3Üz<UWWš¢0:¼³a#áoº ^ ‰L2ºD£þf2lsºyzK^9…¼Qé}75R»®•ç¶£9Ž#Ó4ÕÒÒ¢-[¶¨®®N~¿Ÿ¡ò,Ýäò@Éq yÕ®5/mÖe7ÿ±¾9«JáÞ}Zõø³Ú2ó³ú£?˜«c@m+~¦Çž|]Õ÷,Õd³So?“lý:ýºÛÕ{àÿjÏ’ÿ¦ÏžåU$Ø«à^½ó^¥–üá4…·¾¤§Þ©Ñ­_ùÍ „´îñïkGhPæiZ4y¹v¶[š;Í”¿u¶&;}ê‹ ½·vçĸÑà@Ì`ÌÖ!íØëhúUM2bÛ 5V×ûojkóeúòDK‰.ƒ¬Îcê¬oR–-INXN}‹ê;Žè˜åh‚'·ö’R? D?ßöx†ÞÐÆÎ][¹ËgáH'‹×H²@×M0›.Ô-›p7ªØ!ïX|#ŸÇ—U½¶mËçóiîܹھ}»æÏŸ/ŸÏ'‰?Â¹Šž¿ƒª®®Žó €2ciÒ%7ê¢G½Ý½rŽmѦótùç&ËéíV· 5\xµ­ù•6î¿L“ªS¯Ÿ<}@IN¨W==ÃuT{õl]jFtüÀyÎø„š#½êéîRW¿_•†dG䘆¢…Ž=§n2NPûV,ÓÆÆéçø$+îýxxŸÖ¬íÖÙ·ÌWÀv”ð«®‘°Â^Ÿ<ÑK~IŽÇ+o(|Òî²jŸÉãŠÄMxKå.²T¨ìm,BÛ¢Ãcòó_w®ÇW¡n"–e©ªªJÓ§O׆ #óÈ4MM˜0A3gΤBe¦J µR(Za:ЯþÊZU:9†$9²Âª­éWç€%ÇL½>'VØ_-Ó‘jêëÜЦãV£ª:¶jÇш&-9½Ûµ±}ªÎ¹6Ѥ¹I8ýÚ³üI-;r®îºkáP\ˆë¨{Ój}X©¾ºÜõ<¼ãa¸æXápX ºà‚ ŠÝ•q':q¼e%ûä(1ŽäÈ‘cÛrœáË¢š:Õ ´éxÐѤÀp;»KÇ{«T[둪R¯^>º–ª©SMW‡:miòükuýþÿÒ3¿'Ã<]yÏuÚ´ìçzܪׂO|R³=Ž"'Æe–#GÞר+3»[[_zZ¯‡.ÑÝŸ[¤êÐàÉU´‘6­]sTgÞp–*#vâ*^IFC‹šº÷éXÈQƒhYèèau5NQ£á(þ’0Óö±'<éã€q(MÆ–,³K7®›¹yÇE\ìášÓÉ$8Ît.ÞlJ¿ÇÝPÍñÂápúFNIFý7íM½µzf,©*#¤ÃᄀM¾sô™É† #õz9~U¤ŽÃÇdÖ"$£j®æ×<¡u;ÏWëiÕšwýêl¯äØm͹÷l™r ö+qq9¦ ¿yNïÖ\«?üÔ\ù‚ ^9êùàMm¬úˆ¾8ÝÛÀ9®^Y¥Ž9WiÉì*5g蜩«ôÖÚšvéU îך·v©åœ«UgHN®íóøü@™Ê6³‹þNð&ÚÎmÈZÒóô–zÈ›‹TÕºnÛfÚÆ/§Zç~ú.…ó‚~úƒEC“é¦Ï-Õ$…I·ÞðkÞeWhÃS?׿½_¥—Þ®›5hÑ —jëÏ~©e=Wê# ¦«¡Â”œˆúŽìÖöãtö¼f¹¨9²}…–}pX¶ñ3=´æÄr#°P·ý·Oê4¤È½ýÖaÍûاUkÅÍÅëôëèÎj«¿DKfWIN¥~ê6u=û¼þã_úeM^|«n;¯FNØÎ½= –ÛÌ.]µnºåe/ßgº>Ùʆ‹eFšÛ‰î›q·Í¸åÑež˜ß±?±Ë.Û±cÇw‚Á`êG eɣʺý]êÄ,6¼ TUÊï5‡®”­ú¶Ý­7¼UWUÈ#G‘`¯úB¶ä©P•Ó®u+ßÐû;ÚÕqdÛ’¿n’f/^¢%§MH|Aé¯Ñ_H]}¡_ÛöWkBµÿ¤öŽ3¨¾ãýÃsåzUYW-s [}áøký¡uÞÁ^õ O·bz¨¬R…wè³+4 þðp8œ‡ö)ŒW@@sçÎýKI+%YÃ?vÌíøeöð÷;zÛ‰»½´Jv?ÑíØßé–ÅßNµ,“õ®”KÈ›h˜åøõn‚^·!¯W£߸׫¡÷Û„¼†Wþ€_~¯G¦1t)çØ–"¡ „’͘ (WÃ!ï_i(ä(qÈ q#Ê<ä•ܾŠ[¿\IÖÅßNµ,“õ®”ÛpÍ…2ÙÍxß'­O3)4À '¬Áþ°‹Ý@1¸Íè 9ürY íìvZ£rÿ‚È&(f>^ ðò‘åûlo<†¼é†…ŽÞÿPÚÒå|n²Â²WnÃ5ç"Û'/Ùv†ã8 × dh8cKšÃe¹Û²r9ã¡’7“JÜL^ÉöKå/ùÊä2É Ë>ë+fÈ[È“—˾ w€±U¨Œ®T3ÉœœJÃ5»‘QI8Ã5™K‘±å{çq‰wHªoð‚Æ¹]„¼9 ’È[nJ9äM—Äçº>#û®¬¬,àa€q­Ð™^ª49×õESÊ!o¦Æª<{ä8¿ÿýïÇèÀ¸5–9_I†¶™O!o"n^©ÚįuÿÖ[o͸CP V¯^­|ä#Åîàvÿý÷ÇÞM™Ë%X—.¬7n"f±;0Æ2}qd²/îå’Çe’û;§BÈ›è 6,OµMü²SêEHº .]¦—(÷÷Y^9„¼cý¤dúâÅÈêÊ.$«7“Qˆ“VòO€œ;k“\²*y£Üœ\æØMÖ†€;Ùfv…È KR9…¼pÊ#ä=*^ 4Ý¥@È e¤TBÞb§îÅ>>€ôŠëûø’$o±;p*‡ÃÚ²e‹º»»‹ÝcÈ0 Õ××kΜ9ª¨¨(vw² …ôÁ¨«««Ø]Aù|¾bwN9ãå½(¾ry åž–g²½‘ävJÛ¶mÓĉuÑEep(åζmíÝ»WÛ·o×YgUìîdmóæÍª¨¨Ð‚ ŠÝäÉ| k®¹¦ØÝ@ž½üòË<¯ãÏëø2^ÞGYeoÃm<7—}U¹‡¼e¡««K‹-R±»`ŒMžíô”mŸ}öÙ±èr°w_›jkjdš©x±m[Ý==š9cúõ …‡uÅWÈãñ¸Þ楗^*` BÞäÆÝÌÊK{{»~ùË_jíÚµ:~ü¸êëëuá…êŽ;îPkkk±»—mÛêíí•eY)Ûy<Ù¶=F½B¾9Ž´|­cҕͽIÛñ<—‡®®.5MlLûïÖçó«{÷õ …fÛ¶Ç‘ã8®ÚïßÙ¦ã¯ìÓûôëôÏQeMU{ ‰¼.)B^wxSï¾û®¾õ­oiîܹºçž{4yòdEÏåšÆ;˜¼qG{÷îuõå ·ÏçàŠoé3ßY¥$†<¾*Õ·ÎÖYKnÔ]·_¦•nßZE´éG_Òÿ·ñãú—ïFÓS§ÝׇÿùÇúß›®Ñwú´fæ´¯ògY–lÛ–azä‘GÔÜÜ,¯×+Çq …äñxtðàAMš4I_|±žøçGõG7ß§îã]zï©wuÞ=—¹³m›K.¹„Å‹óî»ïríµ×¢µ,™1¦ ©wÊÎÌ_ü'Ý:5(žöí¢‚nBwíÞGíZ‰åÏØ^ï¿l¦Þ™¸ùìfÛÁXíºËP—ƒ/'€ƒ!}þ–êrfu~ÉÊe|ÆPÐ’×q¼^/>Ÿäädêׯ_0^þ~®Ð¼·Lã©'¿"£ç-¿ßÏ–­Û öÍÆM›éÜ)¼$o…’öV<)›Ò,Ñ,ZuìI·{¸ø__òÓæ!ŒhP]w®•¶]4v ºªë7YB[ò¾þúë$$$€eYضMVVÏ<ó ={öd„ œwÞy¼úÅŒºö°–\ý.Oþw!µÎ}œ'/íH¬ãàVº7„Áîæ†Ÿ`r»ÿðc«ó늈ˆˆˆˆˆˆq”ä9ÌÌž=›qãÆ Kü< rÒI'ñÆoä5+_h2hÚ·‹Ø±k›·í(4lŒÁçwø}ÁJ†îÆœ-ÜXN€€ü†œ6A&“y¯ßÍ¿¿Ú@¦c¸{ôg€›Æç<Â?G7eÕÄxÊwO ßÃ[¯¾Ï/«vQóÔûyòÂfÌ}æoü+ë^ºã„Ö}6¾w;wüÒŸ¼€–nCúʯx罯™“¶… Cͺ-vÅ54ùåR–Ý8ÌùÛ¬(u[ãÆ°oå—¼ùÖÌY½ƒomZô:…1c†Óæ4I4Æ`ì`n’·U«VŸ…&+ò¼Ï\AV|ö!‹¬>Œ¿þR?œ¢CÑî„ é+¦ñÆ›Ÿ1sù&öÚ±ÔmÕ“açeD÷”¼“œ K_¾‚Ó/âÞN+™úñ¯¬Ø²;:™ÖÇŽà²Ë†Ó:.“9/ç‰ÏÖ“éÆŸñà¦éè§ùÏÅ­pcH_þ)¯Oú”ßVn#;*™ÖÇžÁ%—žAû$«Š–qðlÞ²fMü¿wïÞ‚}•ŸàÍÿÚ{Ñäo8Œqpœ¼é›¸&ÍIf;w;ÐÀånÛ晹†oßyoæ¦ñ×ÖdºjФӉŒ¹êBz'g—±›±â…¿é¥Š~Cñ`È\ý5“&~ÌÌØŒ&)¹múœÍe— ÚrÚ(´%ïØ±c‹}¾}ûvFŒA=HKK#99™G}”‰'R;%9Œ„¿Ÿ…_|ÉŸ5Näá ÛZª96Ô?õrÎúüZ>øttD’à—ÇGñDæÿ1åþa$…3×½y7ýØ“>?ŽÖùÇä0âòÑœkxáÌÝL~~*?¬ØEí³Æ3tÉ?y¿î­¼zÛqćüÌ‚i¹æÖïètÿ¹¶[te6¯ˆˆˆˆˆˆˆHµS’÷+³¢2¥´*ßp*D {—Δ7?g֊ͤ›j¥¶æ”ëïfd»¨0—`Ó/oòÊ[ß²ð¯}X5ÓõÄóZ¬*ºªÇ9¼,[¶Œùóç—9N§Nèܹs•,oïÞ½Ô®]»Ìq’““Ù³gO•,¯*å'Ššzð÷SÿÉGó¦pV÷1Ã}>žmÛw³/ÛfÐÝŠcû$óå—¯òV‹k8¯G=¢Có?V=¯ø7OÕ¿ƒë>mÅ}/_Á1n l?¾`—2ÿüšgÿ¹…¸¡c¸}l]j5Â¸Ý¸Š‡\n7–Ë]p„ÊYù>øvŸÑüß=]©µ iÛ¨Ù¨&íJ]¶/ìù—µŽþÕïóÈCŸb¸Œ;¯íB­Œå|úÒ <<Ááá{N£Ñ!8ŒÚyÝ5cX´h§P°Y³f$%%U,Éëldá¢mx»Ž¥W‚SnKËœS¸ëŸb ¾”ñ—v#Õ½›´ï§ðÒ·³éïOqñ5±Èí98ó—ç˜q!7?<‰nõcÈþs:ÿþÇz-•¯ëIï«^à?õnåÊZóðëWÓÙcÉmEìO›Ê=w}@pÐÿqÏõݨ•¹ŒŸ{–{rxêѳiì®ü2¦¢­ró“}Õ‘ä-²d²6of·•B½¼sp¶mQ–'›;kÐ÷¢ñ\Ó*•è³xýŸ/ðÄsõyùÞaelç@±®Ÿ«î7ԃ؜y¼öÀK¬ì}-ÿ¸º3)® ¶®[Ê¢½)Ô:̼»ßmÛÆ²,&Mš„mÛ$''³cǘ0aýû÷gÕªU¤¤¤°xñb.ºè¢‚ßK¹ì¿X¶<Ø®½hï.9žiD×nÉLýa kìAtóänë’ºçv¹,°Üë>gƒ›ˆ;éoÜõ·ê4'¹i7Þ~þ[fîíω5óç$mÆÏl®w·tQ‚WDDDDDDDJòb–'“íÛè5ê.o‘‚w×\Þ|敼ŠÊ¡Ô.¡>µ RkÀeüýÊNÔÌ\Éçÿ}±P¥VöòIüãÎO;š+îêLݨL6®ÚAr}o˜Ë5dÌ}‘»ÿ™Z§]ÉýãÛR÷‰yŸNâ¹9[qjå¯MU'røq¹\e&z;wî\e ^€Zµj±mÛ¶2ÇÙºu+©©©U¶Ìªš,úð÷Éó‡Ýx~›³„˯³‡9ç(:Œ½—ëýøï„ù®Aú:!ƒ{Ò,Ñ œ` ,pü>|E’*Á5kIºãYnéGÐv0ÆÁvü%-¬8³›_?ø‚M­/æù[O¥NÐÆ`Ñ´•…`—³ìp•¸Žö~ýà3Ö7»€g¯BŠmcRç²·°ìÆO™¶ô$®èì=° c A;÷å8n·c ‡@ @ Àív‡Ÿ Êçìdû¨Ý-•¨rWb'3¦~̆v—óÚ§QDZq¨OƒKî#)ýrîžô)§÷“×  uÓytªiãÏñã®7ó‡ÀŒióù#؃ö“—„²À¶± î™ÚÃoÈÍÇðÒ Ã©a0Wݺ™%WÀG‹Nåºn®Ê-ãØ»woÁ¾ÉÈÈ(–ä-ª²I^Ìd˲éLœ4‹Ä!ÿ`p]«BÛ¶èÎ\ôn`Û8ŽÁÔ;ËÎúŽ™o-c{Öv®âßP»Œ-lÞ—DÇèÐÈ‹1uIi؊ΖC0XÑgSW¿üýoŒáâ‹/.x÷îÝœ}öÙôë×Õ«W“’’¢E‹ø÷¿ÿÍÊ•+‹=F Tf»wCíä:”~H´¨Rkß.våHså+ðÛ ®ZMÒ½/ñ÷¾ ¹¿ã`ú §ß+2ý§m 9=57qì_Ê¿l§ÉÉCh}&åEDDDDDDDŠR’÷P‹îÌù·‡$‡ŸÎßNŸÁ¬w—æVTÝCf?¾õ!4=Ÿg¯ž×Â¥WÞ°…e7æUjuÍàÇ·>eCë1¯Øû–e±eëVÔ¯_ðÃõÃ_»㞺þñ\û>÷=þ;‰M›“äØ*¶mC¶Íã³ÿMcæ’µlÞ“7N0‹ýÃ_7ªã7T‡Aw¼@ãï?ä½_æö7ž£aŸS¹pìyômxøuÿúLÞ /̽'è߈ÛJŸ³‹¬ÌÉL}oO>ù$ 6$%%…¸¸¸ð`Õ&¹6ìÞ¾ƒ -Ky8‡Í®í;!±9uÊÝD!ÇäŠÄeÍš$æÞ=2+í‡ ¥á´ïù~õƶ °àÇßÈì4–uÃÿŠ""""""""‡’’¼‡X‰•,ô-q|““NºÏfíÔ8ïÐOr+µêfdcûö±Ïï"©FR±ç™…»\ãË$#à"1)±È<,ã òU=žÈáÊqÚ´iÃØ±c ºUÝ‚7_rr2<ð÷Þ{/K–,áÄO¤^½zlÙ²…éÓ§³|ùr{ì1}ôQjÖ¬Y¥Ë¯Œü¤Á-Ã)ôþÎ]éÌ[´Š^ÝÁm¹øñ×ß6¸÷-Ã8A¾ «&½ÆœEçoŸgÅê L“Är&¬Xˬœìœ‚ñ­èxâ<Û÷e`ˆ-õØZ¡ó/k­˜â£Ü´;ç1nT£Ø1Ôw@O6¯|K^SÐ’·¬gòV¨%¯«!:$ñö/¿1_?ú%”±¥c’HŒvز7ÇÞ'vú^2H )ÁÊíš5ôf©b­:÷o‹üÏ OB”›ö#ÿÉmƒkY Ol"î¢7dUtUè@ökjj*ÉÉÉÅÞ·,‹5kÿ YÓÆó¶,+¼–¼V µRëQ?Ñ‚ú—pÅÀÙ<üÒdŽúJºÄQÁmKn|dÎ祿ßÏœfãÖûn£[£$<–aßWÿ`ä³y㔺 Ï«:~CÁ`,Í_ÌCÇ’¹öGÞ}áûû6îxþFú”õ{.o{VsKÞ©S§R§NþÆé§]@zöBÚµŽe„ ´nÝšZµjaYVÁ4eµú.àjHûöI¼5çw–åô¦kII\{= î ºCgZX¡ß±hë_‡ì¬Üc¦1¦’q™§éNnó.|¿œÑ öòãì =®êGMµâ‘¡$ïARbå\V^EeÓ1ÜpÇõtj˜[Q9ý~ƾX|c DÅå¦íÙqãÀ¢•ýàI¨ƒ'jW^2bމ+žŒc¹DÅçqØ•‘Qd9Ù~L^…YU§–¼r8³m›Ö­[3fÌ€*oÁ›ÏC§NxõÕW™:u*ï¼ó»wï&55•>}úpÓM7ñ裲nÝ:î¸ãŽÃ*Ñ»?‘µ?˜wîJgþâUtíÔÇv˜³p ¶m VrÛ‡ÀŽ]ì5Ñ4¬ƒ¸Ýnä=7,±ñq°-ƒ,‰ÏaÝÍÚ5;ö·"ô´ C[7¯Ï™ÏŽ“†åu9_XÉËsþeq·¢Sû(&¦­ƒ3R£È²÷' *¦²I#'¯5v~Ýn·›`0H Àëõ’MbbbÅ’¼¸9føpš|ý_ëOÛkúP»´\’» ]‰â¹YsØzÚ©¤l—l–Ì^HVý!t¬Òå«)-á·ÿ7ër¹! :ž»5:F1gåX#S«Ø¾7¬Ü2ªÐìWǃÇSü”в¬Üî{‹$ôÂî®0Žm[@,½Ç£ÇÕÿæåwðäØvDÀ¶ ¬_À¢u8þ¶3éœ þì,üXµz#6­ËÙÎE~ Uþʶ~ìxöãâ›v²øòOX¶!Hï¶~Ú]IÞЖ¼£GÆ<ø<.M[ ¡Mç“HNN&**ªÐ±=üuÉç¦ß¼ÏäwÑê¢vÄÚÇ6~9‰O×§rÒÕ=‰ËÛž1ñq°uŽ!¡ànÁ]¬Zµ'[W*.óG©Ãñû1eâOÌi½ß­ÞÜÔ+¾Ê·³ˆˆˆˆˆˆˆHuQ’÷ )©B,¸~> wÖ¦ïgе‡Ü ©ý¹›–û+ÒrÛ-ä{ZÓ©]Wo"fdÛ*µÀ˜–thíæõÙsÙvú)Ô-2NXËõ´ M o-XÄîÓ†ì_޳•+wâ䧪Oõjr˜³m›: WÇq¨Y³&×_=n·˲ *ämÛf„ Œ?žµk×rûí·óè£R»víj[Ÿpå'üò[7ïÚ½ù‹WqL»6Øv¹óWà8v^‹°ð[@›?3ùÝ?¨Õ® ’k‘cÈØ¼œÌ_MÏäòÎÑ€¡f“f$í›ÅWÓû“ܳ6¸I­]ֳݴèÚ…øéÓùhvÆõ©G”˾|…ÏVYX)y£Yµ8~äp>¿ïMž|F iKm+“íë×âo9œ~MÜ¥,;&¼ù—ŪAÿ Fðõ]¯ñðs{1øêDzöncÃêíÔxÝëTEÛâðcòžÉëìïÐýÏç«xwÍ€«ÅHn¿2;_|Œ›6œÀ©C{Ó¶~^;ƒ›Ö³1¦ç j†ÛJbÀ˜QL?…Ç_ô2nxgR½{Yýã[¼:ÝbÐí§ÓÂU‘ž’-j6kFô™LûruûÔWõêÔbà˜sùòö—¸ï_{ybgÆ;díÙÆŸiÛH>áLzo[ÁeTMëðÛÁ©5˜+.øŠk_™œÑ-*¾mÝ©Mhµ“9Ó¦Ó?±+uÌNVÏüÿÍÌ 9©-m;{ ϬŠCfÏþ÷ñtï@“ÔšDù¶°dÚtÖÆ¶å̆ÒÞ¾z…¶äÚA¦;§ð134†ƒÁ áj1’Û®HãΗîaü_§rú .4«M`ï&–ÿ:Ogl¦É˜G¸¸7ïÐMëî]‰ÿú+ÞŸÙ›ËúÕ'Ú¿%Ÿ¿ÈGiV~WÊVÕÄeRŸ“éûêxãíbŽ»“n1¦" ‘CJIÞCÈÒÞ]Ì›>ƒ•uöWT¾?3»ô®7­Ú ¸à,¾ºûeîÿ÷ÞR*µ’8ê$>»2> í@+ƒm®Áßê4ú‡³\«.ƒÏ>ž›È“oÆpñàV$¶²ô«É|ü§«àùtU>žH¨Îän(c @€@ P쳸¸8žxâ ÆϺuëxàxæ™gÊz•ÅCtt4ÑÑÑìØ¹—ÅËÖѾMjÔLÂãr1tp?Ünn·›}ûÒßql µßðû߲mO&~¢HLnB‡~WòĨÁ4òø± ¸;Žä†s·ðâ;pãähšŸ}7×´Œ[Äõºœ»Æ½Â+oÜÁ¥ÿ±ñƧкß9Œ¿*Ž{ßß?fT»±<ü@2“Þ˜Æs÷½F†M9ëºá@iËnöüËØªxšÇƒ§ðÖ”O˜ôø[ìÊ6D%¥Ò¢ËF••Ã.k®•ì®99ÎErœ‹„„ú÷/ýY¨^ŽmÑè´ûx¾å×¼û¿¯ùnÒϼžƒOíÔ¦szÏ‚ ¬¦çñð„:¼1ùCžùûKìÆP·eN½wçuMĶso’"ôf©ºîÍßÓé|n¹™ç§þƒ«^¡Å¹÷óÄèV¸›æ‘'ëòƤxåÁ)ìÊvˆJªG«nø *ÿûUráo¡2…³½}9Ù,_‘¦œ¼å"à÷Ðï$¿ÃÛBÛÃRO¹’Óo惗?£ÿCgѨ‚Û–šƒ¹jüþóúëÜyU®„ú´x7ÞÛŽ_“×]siÛ¹…÷Sÿ†¼q°é&~3™mûü¸bjÒ°].h}À©ÄlÕÝ’Àíö¼_Öz„NS®"ñüÑ ÓØžžMÐOÃþŒ}ðÎêZ'àäVcûü÷]ò/½~ cžÉ=f¶9î<þ~m w½»[x\†|Ÿè. àáÛO’qsGÜŽºj‘ÈQ• GÊšWIŸYå ‡ó× óÿü—«Èpè+ô=wÞ+Ø2ì¼@ÿ­[·>TÆw.ð믿ҧOŸ*ç‚l™9™ßøž%›r+*Û—œ¸›çîZˈI·Ò×dÙ+ÿÇÝËNâ™ çÑØ`È\ó-o¿õ9¿.ý« R«e—!œù:%Y€Í®EŸ0åí¯™»z v45ÃÙ7ÝÁ-LËð³ñç7yõX²q$Ô§}ÿœßòwø¸!=s!-ÜÕ1žÈ‘ò,fÍšE¿~ýªeÞ™™™Üyçx½^þùφ=ío¿ýƱÇÖ¸3fÌ C‡ÄÅÅ•;î7ß|ƒËåÂ0dd—Ý Ê²,jÔ¨Á°Á=Ë_ ËMTL4^· W^rÁ86v0€ßÀ.X…':†h¯—e°ýÙdùlÜÑ ÄyüdfúKè"ÙÂM´×ƒÛ•›@°~üއØ(‡ìLvÁjDíÅãvaa0Ž?;¿Sú²ÃÙë–ÛKTT^· ËŒƒ àóùC¾ù²²²X¶lýû÷?à¤Ñ#Ÿ¤³qOîZž‘:«ÜñO:é¤ /Ãr{ðz<¸ó÷¹1ã`üø‚û·åòàòâqYX€ãØ~!ÅKŒ;Hvv Ð¶µ<1ÄF|Yùû8w_Eyܸ08²NñåX¹Ïiuì ¼ß_U,£2,ËböìÙôîÝ»Üýêr¹ˆŠ ïî¿ß`Ï÷DmáÏÊ)Ò…¹‹¨ØX<ÆONN趵ÜQDGyp¹,0N0€?hã"PÎv.i?UÙoÈrãŠÂã¶ ~³Ž“û=‚ÎÅZEökEMŸ>ììì Mãv»>|xøIÞ<…â™ ¾z;w˜Eÿ›î㪾)Enr°p{£ðzܸ,“»71^CN¶¿ä}W¸Ü/Èê7nàïsòô3#i|šÔçï×ê87‰4©©©w¿À켿Áa;dØ!·êÙ)ò2!ï›^„ù8Ë.ë½p> ›’¼‡4É+"GºêLòæÏ??Yãóùž®º’¼ËÊ­l÷z½åŽ™™ÖxR5ª"ɽ¿‹×rºo5Æ´ÖïG³êLÊ¡Sû5..®ÂÉìù»² IDATZc YYY•\²…ۛłnç/}{í}Ü0¨þ!é^ÈdÍá?×N`ÛyÏñÐðäƒÖŠWI^‘ý”ä=pê®ù ©ŽnöDDŒ1JîV·Ð„Ÿßï?„k"Õépú͉ȩ|²ö@ì@]¯|˜š~Í’ËX½¯íÖ“©}ìݶ—ììÌ~ë¿ü=”û†¼¯ˆˆˆˆˆˆˆHUQ’WDDä(¤›ŽLÚ¯G¦#o¿‚ÁD:Mg‚Á`¥žY\!ö¾žpï®±©Ñz×Þs)¢L…º½9(É+""r:ò’FÚ¯Gª#s¿‚~ewø^ \-9ÿ_p± ŒÄïó¬üc±EDDDDDDD:%y’#³rNDDDD$’8ø³3ÑDDDDDDD$Ò)É{(É+"‘Êårá8Æ,ë`=3Qª›Ê¥#“öë‘IûõÈâr¹õ*ˆˆˆˆˆˆˆÈ@I^)S­ZµØ³g Šé#‰Ûí>Ô« Õ@ûõȤýzäp‡7R«V­C½*"""""""á”ä=,ËR ‘£Ô‘m×®iii¤¥¥á8zpá‘böìÙ‡z¤h¿™´_–e‘””DÛ¶mõªˆˆˆˆˆˆˆH„S’÷ ¨Y³&[·n¥^½zGDÂGDÂs¤´Öñz½téÒ˲Ô]ó$ êU9jÙ¶}¨WADDDDDDD"œ’¼A«V­X»v-¿ÿþ»ZóŠEŽ”Ö:ÆÀ¡^ É£$ïAàõziß¾½ZÀ‰¥ÔZGDDDDDDDDDDDª’’¼‰žc)"""""""""""""UAˆ‰ JòŠˆˆˆˆˆˆˆˆˆˆˆˆˆD%yEDDDDDDDDDDDDD"ˆ’¼""""""""""""""DI^‘â9Ô+ ""‡FFFÆ¡^9JòŠˆ¥j×®}¨WAD³fÍ¢OŸ>‡z5D$LŠY‘È¢˜‰,ŠY‘È¢˜‘£™’¼""G©ŒŒ Œ1‡z5Dä³, Ð1A$R(fE"‹bV$²(fE"‹bV$òåDZ%y+A]ŠH$S*"°ÿX c‚HdPÌŠDŬHdQÌŠDŬHäSüVŽ’¼•àõzõ*ˆˆ0 "º(‰4ŠY‘È¢˜‰,ŠY‘È¢˜‰|ŠßÊQ’WDä(¥TD@Å"‘F1+Y³"‘E1+Y³"‘Oñ[9JòŠˆ¥T€Šè¢X$Ò(fE"‹bV$²(fE"‹bV$ò)~+GI^‘£” P]‹DŬHdQÌŠDŬHdQÌŠD>Åoå(É+"r”R*" ‹b‘H£˜‰,ŠY‘È¢˜‰,ŠY‘ȧø­%yEDŽR*@EtQ,i³"‘E1+Y³"‘E1+ù¿•£$¯ˆÈQJ¨ˆ€.ŠE"bV$²(fE"‹bV$²(fE"Ÿâ·r”ä9J•\€:lùæi&LÛ€]ì3/¸ŸK{¹YûÙ³¼:c;q]FqÝ…Ý©vYìcÞkw1eqwãS㉤ºJÓùësþùÌt¶/]Ç>ÂØ.*²DªCéÅAMþçû1¥Ní¡Ý¨{¹âØtJ.rp”]‘U¸·º2æ¶‹é–¸\gÛ·üë‰ÏXON»í†Ô-¥ .UIeyøå»ÈÑ&ì˜õ´çüû/§w\îxÁ-?òßg?"- ÚŸÇõ—ö%Å}W\ä(U‘r,,·—˜øÔmÜšN½£_§úÄЉ±Ÿ-s>ã£ïòçö ®’R:qúe£èV³ªÏ´UnË‘£b1ÊM«sîâêãjêZVäS’·rTc."r”*¹µp¹K/X-—……Ÿ›¶“ôãÛ´L,¿æ´p¹¬ü™á²,J+Ç-·»àDÛå²Tà‹T“Ò/Š-\aTö¸Ü.,ËÒ…±ÈARvEVárÜd,bÚ7«éxN¢ ¦wåÅ«•WW4zK*ËÃ/ßEŽ6áǬ wÞ9¯ÉZÅg“?cU¸Sú3vÜq¤zœ2nº‘ªR‘r Æö“¾?—nçÏe³™Ùé,.¹è8FUl¹ÎŽ™¼÷ÞϬ ,W±Ñ6™VÔtUC™ZJ¹m2˜óêCL]Ñ„sハþáßÍ-rÈT,f‹|æªàµ¬bD¤Z¨Î·r”ä9J•v\pzëíÆ¥®¤WôþO €mÑwì­ÔY³‹Ø&miì¶*PáTd™e%yCƵ¨ZDÂQúE±—.ãžâÙq¤ÿòî}{%AwθㆦºÈiÇQµ³ÈÁR^EVnù™_¾:ìüíS~è{'7tçMWhf”ä-²BÅç¡$¯Hðb¶`d,³›¹ïLá§ÍˆiΩ—C»XƒctC•ÈÁvÌzŽaìã×Ð76HÆöµÌûú}>øõ/v.þ‰Ÿ¦rë¹mˆ©È‚wnc{Ѐ•ıÿ÷c;Ç`ì  ] 7x”\n›ô%ÌKóa° n:9ÜU8fãCz¸ ú ØáG˜bD¤z(–*GI^‘£Té'Àû9?~«Èç–¹SÿÉäEÜOãö[†QÏ`³{Å÷LûfË×ï$Óñ’T· gø±MÈíy®Pê6/y 8{Xþõ|úËr¶d¹©Ñ¸3ƒÔ$ƹýMêäY¤º”yQlœÜÌ……Á“û¾³oŸ~”Oÿ´±jäڻΡUÞ¦é›Üÿò,öÃ1ÞÍå½£øý•;™¼È¦áÉW3"vŸÎXÂÆt‡¸zí9îÌsÚ¶û‡s\9º”_‘•ËÓ®]6Ïfîž |ÿñoô¾ú8êX…§+¸‰Êìã×îåíAÜ-ÏážëRËÌN¾ÿ×C|¸ÖÆÓn4÷_ÕD«¤²¼”ò]DÂŽY°°L€¿¾™Ä{‹Òq¬$ºŽº”¡ ܘ‚b¸œrÑlczØer¢’Æ"%?fó®—½ѵ[Òÿ‚«pí}7—d³cÖwÌÖ†~5,Ê?ŸuØ1ÿ#Þùd. ™ÏßÈLù‰å[½ô»æ.ÎnáÆ 'ŽEŽRªó­•ÑU.ȲwåíÅe?¿®õY·2¦Güþ‚&°šžžÌïû à¢îÀ+¹æÄ>¾;l›ñÏOß´ÿÙ– OtIÉõiÞ¡ú¶¡–§È¸ž6Œ¸í"º{(HÑù…rÓü´›ù[Ÿ$,'“õs¾ã‡ßW²aG^!T»>ÍÚv¤kn´ªí=Ð%"‡P©'ÀVáqŠf‘ß³Óþ® {æ½É3“~g·q“X¿-£ö°þÏeÌx{5Nj„§HURîüƒüõõ+¼òÅz&·ÉÝëfñ¿M1DÛû—©_¤z”}Q2^èPèîTúߎ¯Ö/Å·g1 ÿ8‹Ö­=€ŸÕ —“aÀJèD¿®‰¸,ÞñÃaÓô—xÑGJýd’²7²kæýwî[ndh7îqEäèRnE–`0îV =-ƒeo.!+í+>_Ô‹»&`YùñË®‚îÙ-Whw˹]:àr•ؽsI½m(É+²_x1 `ÈJû„É_ý‰õ]ÂE½j‚1qN¹~™¬ )Iø1KH9jpœ$ºöiÇ{Kçã ¬cÕAúwõ†·õÙ³áO2,/–åÇà!1¥5¢<ÔMpã²,Œ'‹uó–°Þ®AJ½Fxý»Ø¼%™þÁæà­Ü4´>®J•冫—±Õ—W“iÅP«~2ñ.‹¨äøÜiªp‹T¥‹Ù|nê ¾ˆ3—>Î;+²XþÙÇÌ?fíÿúŒæïÅXÑ´8õb†5qóÇeLjËLkœÈ‹¬`£ß€»1ñq¹]B»ÂŠc‘£“ê|+GõbÕÀí.œ¢Ïð¯]ÌÊ “÷ƒvرt)›7 ‘»¬é ÆØrö±sÃ>vn\Íªí£¹úìöÄYz¶«”8)ëÙ›¹ßÃÏú陸óYëlön]ËÂí{ˆoÛVµËÿ¾"rø)í¸@`>¯ÝrÝþÿ=m}ÿµW#ä$9¿õ޳Ž>›ÇnÇ¢Ö±—óq]I°lvÎxއÞZÊŸßËÒAãèS´•üøÓ_Œ…§á`®¾á\:ÆïeÑ{ÏòÒŒìBãŠHÕ«x’·xR'±[º|´ŒÙ{X¼pgµiƒ×¿ŠK÷a°¨Ù­/b\¹eLVŸaãÇsF“(ìí?ðìCo³<çO~úy 'Œj‹Ç÷¸RµÛCäpW^EV¿Ÿø^g3ìç•|üG:ó>ýŠþÎ¥eI-y‹Î#¤b¸È 'p þ/é½ÿŽ"G’°cÖþƒ¯ß]N†m°œ}bšÖJ"9Å{“e8q¬,¯¥Tç[9JòV9F?Ä€2~û/|°Š »1Ão¾–Á)¹?ØÂ}þûX½d%™Æ"¾Sw¥ÍcÅ®%,Ùpš–’1ö´çüû/§w¬Mæ¶å|9y2¿l ’¾tkNmO§è’'+}µóæWÐï¡Áöe‘¹Œ9s·0‰ÏâÒs»SÛÙÇökXþg Ýšz¨†‡ƒˆÈAÖ]ŽE?sí’1w>fÛjVírÖ®y|0yaî‡Ù¸“½™Í; Ý•0íö¿ø+Ó€å¡Íà“i—`št<±?M~5vi•Ð"RÂMò¹ºðø1Çp\¯ÚÌý~'{-`ÝÙmi¶j!K3 ¸êÒëØÖx-‹Ðätªï" B­.toþË—Iÿk»M;’·‡{\Ñ•°]Ân­`;8îú >çx~}ú{¶mÿ…~èÇM=Ý!­òc¹xù\¼b¸¤®™)ã½J|I‘#HØ1k2Ù—•O&¸Ž¯?šKK{Q#ïs'ìr1Ü2YDJR¡VEΉ-'ÿQ'àv»1aÆ­‰ tB*ל Á É›¿!ç¯_ùä£où}õV2ƒ¦P5œÉÎÆWfY^YŽcúhRÇ  †y rU,f MˆË•÷yòq\pÖB}k{|ÇÀŠiÃé@ª åÇHÁunlgF]?Žc Ž1` †pã¸rÛB$R©œ©%y«ðåulð‡±M Ÿ¯xE¤É^ÅÒ•Y+–6]‡ÐÊ^ÌÊe{Xºd='6m^ÊN2²2Èp,¬Ä–tm[‹_7mÇq*öÀø’æWè]6Y¸©Ù´É^ ¨AýÖ½hÔÖôÑý|"‘©Üç•x»sùÓWѻঃâ”p÷2Ùd‡]i³ø5­èlƒ’»sÄ—MQÔ¨CÁIx|"‰£+É+R]ÂnÉ[f7WZöïKýŸ±qÏ"æ¯9À‚%dp5èMŸfîb•LVT4QÝ1Ää=VÂädá«ÄqEäHösÇrñàmy gõ˜Ë礳~úÇÌj{ ^‹Ü5K¹‰ª bØLh¥s ã«»f‘²…³®:t?ÿrìšÂ¾ÜȾ…ñá¢öŒëš÷ìܰËEw˜e²ˆ”¤BÏÑ.Tr¶oe¯¬j×IĪÀùl¡´kÈ|MöÞ{a*¿íwí ÞŸÖÉÑløöU>^’².Å¿GÅÊòbé`gKD;f=øÛ„ëèÒÀ)$?<’{à˜O–3;#÷‹ØŽé[7oÞs+<çýËÜÿ‰+¥Mb‚ùbYp€q,r´PyS9Jòr†ìUKHË1XÑ­h×,‘¦YÍð,Ocïò%ü1¬9­Ê|ä­CÎöÌ]¾ ƒ…»n3šÄæ×ÚTž߈Fu\¬Új³aúdÞ ã„>mI‰vJxޝˆD’ò/ZÁƒC;È»ø,zaëŠO ΂V]/ÀµÇÆ™¯Á ±M°ø´±±¹]Ñ cŸ,/`²³È9)V/R=ª¢»f«a_Žkùï®Jgéüï.ÍÀXš÷íCWþqcÿñÃìÛË>cQßL:{÷ä¼›@l…Ž+øÅE"TÅ+ŸãévÖ©´]ü6+²—óÅW^j‡Ì«XK^ÇÆ)¨ÞËÈüJ®à.þ^}a‘~’·{4¥g4ç=Íw[÷ðûÿ>¡w› 9&¾båbxe²ˆ”$ür–ÂשöV~û% +® [xpí­@܆æxC’Gö_ËX‘nÀŠ¡ËˆËÑ+cüØ3Ë(Ÿ¨,'ä„¿h[äðU‘˜u‚û[ß|nä°êó™—™ÿ(ECö‚Oø,­=çµ-tåþé 'y÷d…<;Wøq|@›@$⩼©%y5“EÚ’ÕøŒ…·E;šGALë4u¯buúr–¬=‰Vm£ŠO\ÁûßÃûùÿ[.÷攑ÇS×¢â­k‹ÎÏÝ”á7\J¿Z© 8g«^ýž¿|ÛYòÍT–ýœJÇãNâ¤~­¨¡_HÄ*½+›¢w—4N¡áNmOû:Ÿñ׶˧OcEû3i•wwd0}=Ë·ÄСM]ÜEçgY¸S›Ñ$Þbã¾ i?}Ǻ.§Ó26›5?ýÆZ;t™*ðEªÃ´ä-¹Ò§½ïÈ'«°gñ,–e,oúõLÁUèb8wÈÙ»€sÓ¬o ¾?0s½ ¸¨Ñ¼ÉîŠW*»D"Kù]ÒY…Ƶ, ùxÎ9ñgÿü/ö,^ÀwH,[1ÄÇ{°bo\Ê¢mƒ’ê°å·ï˜·ÛÉŸõþŠáZö¯j¿·H¤ªHÌb€¨Öœ6ª þó3;wÍä½Ï{ÓzT[b*T.†S&‹HIÂYƒ1;ÍžM+™õùÿøb­cyi|ÂÉtwᎠ?n‹_‡çþïr»ò’µ€ÇÄàì˜ÃÌ9ùräŽïªlY^o^+g7Ûv°jzÈÎ ƒ"‡«ŠÆ¬)Ô°Ý…erÒ>eê[â¥é©ãè¾r2­ÚÆŒ©Óùï£iŸ÷xÃÒc¤ìsá°ãXe´¥Tç[9JÑb&c‹×ø1–‡fí[æ¶f‹oCûÆ.Ö¬Ë`Å’5øÚ¶§Ø#v-7QÑ^\‚~?Aǹ%ù ÖÑr`sâ*®¼‹Cƒ§Ñ0þï¦&ÌøüK~Zº•ìì-,ž>…µ«‡rñ˜ãhPfKc9œ/DÃy¦^Ñ»-,w Ny _ü‰­|ÅSwþFÝ”\¾tvî܇ÓùRžl›Š§¤i£;p ÆÌýl=¾u_2á¶ïˆv Dç¶æ ˜ÒJ"RÕÊŠ³Òº •Ðõxº'-ä—½»Ù‹ElÇ~t¯z I>¹2X4å>nšê;·›,+¦5CµÆcYà ÷¸"rô*»·B*‹Ü4zýfþ›w:¡3È›G4­»t ~î<2rVðþ7ó©×àó»HLŒÁJÏ¡äV=e½WÕßV$ò•wî“qÏæÜž‹yyö^¶ÿôÓzýsZV¬\,¿L‘ò”³Á%L “ }Mý¾c¹êÔfx-S¡óÙÒZ»·§]ÂÌL÷³dêC<ðC9[6cÇ×ÀcíÁ!ÿz¹òeyBÓf¤º–²ÑÙÂô§nåGƒÓb$Ý8ˆš:vH¨XÌzh{þCÜØg+ŸLÁV< ‡ráð^4î±ù|ÌÛâÍ»pç…‰/3Fú^f‘sáðã¸z¶‹ˆÙT/vHÒW,a]À€ ö¿G¹û…ÇÈJ[ÂêœvtŒ)r”w·áœ».£Wœ…ñí`Ñǯ0eÖ6V}ÿ1?·¼Ža+X*xÚsþý—Ó;?;ll|YÙ ;€IlË‹aÀ¶E|÷áGü°&Ì?¾ã›…¹¸g’º{‰@¥ÝåX$Ë[N’wÿ‰hb—1Üq[s¦}ù#óÓ6±}S:Vt"ušw£SÏ&x-«h5VÞ´^š~-W›©üï§elÉöR£åqœyÁ@öNz€w×Pè"WDªGø1VF÷m18¾O 3¿Þ†c%е_g\…+‘ò¹[žÊ¥·òõ· ùk_µ›tá„sFrb}WÁÝÕáWDŽN.Çc;púY]˜÷Ú|2LÝ5'õÃÕ{½¼ÿÝ"Öï âNjFßÁ#8½Î |q~J¾éJÏä Où1“‰ô8w—MdaÆf¾ûzÝ~:M+R.–[&‹HYÂ.g]QÄ×L¡QËŽô8~0ǵ¯ƒÛÉ}¦'„>[Z¯9V\WFþßÙø§Ngñ¦ vÍÀ+}¢Ÿ÷îyÅ!ÇŽÊ•åàn|½ƒ7¿\Èú=>Lt2ÍšÕ%ZåºD€°b¶Ø4>Ò>žÊŒ­6¸Rtá)4÷‚i4Œ †Îå‰/6°ó—7ù ë]Œé_fŒ]—B1vWͶ‘£KU:ÊšW)GÙ2‡Ãùk…ùþËUd8ôúž;ï•?ì v^ ÿúõë*ã;†ÌyS˜ðá*‚îÆœ|Ýeô¯ÒÁ‰ÙÃoÿÅ´µÁÒŸ kÅÐñÜ›Õ9 ‡?¿Ì¾Úˆíiǹ·_@— ,ÖŸŸñø+3Ùg<´1ž »Å°³¤q )e~e°\¼f%ï<2‰yY5ûý‡7Ã]æT"r¸™?>Æ +ùC—» %¿c;%Ÿ,—;¯«7ƒmnä²\…OLÁÇ”=­åráÊŸÐcÀrá²À8vÁô"Rõf̘ÁÀËÉráΫvl»”s— kß¿Ç¿Ú µqÓCÒ®P>f?ÿÀÝl÷Ýy* =¡qïê>+w¹åWDŽ6eÆl~9nì¢AÇP<–-Ë…Uð¼Nƒq Vî4!ó+©,/õÜ@D‹ÙbçÞVn÷Žù,ìr±¼2YDJ^Ìfòâ°Ø¹,„·!et±ë_Ë…+äyÚÆ88N^°EŽ•)Ëó§w…œ+ä.K'Ýrx;˜…ÜX3–»àQ¡±·?Fм_JŒ”{.\89ÅÆÆÞüÈ}©÷72l‡ ;ä>ìÄ)ò2!ï›^„ù8Ë.ë½p> ›ZòBf×R–üicpÓxø\=0e¶Ûù‹iO½À;|¬^’FV§®Ä)Œ“[26°pær2 `ÅR£Ft±¬zî¸Eºcq•=Že¹p6üÀÛ¿dÓ☴lšJíXرf%›|¹ó¨Y«¦žË!¡JmµWèB³”Vr¡IÛ"ó)ùÂ6äŽÄÒ¦ÍOì–¸ÝÑ(RÝÊoÉköWð96ÇËaÏòOxçÇm8–‹ýÐ6ªXûý"±lŠT•ëåWDŽBá”ãÅÇ)sÅÊùÜÊàÂQ¹š‚ù•´Œ2—+"rîmœ _«pÅpiåbøe²ˆ”%¬˜->U©ç§åŸÏ†–ÑÅÏ™‹•ÏVÈ1¢Ð±£ey±õ(és‘ÃÓÆláÏK®»*=VC–]î¹pEâXD$|Jò2;–-aƒcÀ•B»65± ¸TÚµIä§{ñ¯YÌŠŒ.ôH ™<¸‚ÿ=z…{w¶ˆm1ˆþÍÝäÞ¨Pú¸VboÆÝr*I¥Žã¦ùi7sqý¶.ÿ•K-²þîÚÝÔ­–î3‰HºP‘P~L0ì™ñw¼•FÐ8cá©;€QÚà.á™HE—©C‘ÈQ9.YNÌV¤L‘²¨œ‰,ŠY9Z)É{¨8ÛY¶d3¶Wv´®S¤m¶±hЦ5q3ç’XÇâåétïX|>–…ËMbrCZu9Ž´#É Rni–»Ü¸n7¸R:1°_: ÒÖ³e×>üÆClº4iß‹Á'ö¦±7HP9^‘ˆ¤` U™c‚;6ž8‹LošuÈÙçL‡W ·…Þ¬ç‰T†Êq‘Èr°b6ü2YDÊ¢rV$²(fEäh¥gòVë3yÁòÆíÁ26¾ìlÙWQ±±D¹-Œã''Ë]tbO4ñ1^, ¶/‹ì€ÁKl”»pNyÏñ°ƒþý Þ’Æ-àÈÎòaJ'o™AÞ(/wè³2l;HÀÀÖ•¢HDš?>§œrÊ¡^ 9L|ûí· 2äÀg`å%lMn÷S¦Ä‡‘åš÷<²’ºh‘°T:fEä :¨1[2YDJ¦rV$²(fE"Ÿ×ëÕ3yZòV3È!3PÒ'þìLüeMô‘™á+<•?›Ì2'ªà¸åŽcðÙ”øD$¢é.G Uéc‚Ùÿ|¡²çe žG¦ãÈSüˆD–ƒ³a—É"RÅŽHdQÌŠÈÑJI^‘£”N€E$”Ž "‘E1+Y³"‘E1+Y³"r´R’WDä(¥` ¥c‚HdQÌŠDŬHdQÌŠDŬˆ­”ä9JéXDBé˜ Y³"‘E1+äí!} IDATY³"‘E1+"G«ª<ú•5¯’>³Êç¯æÿù/W‘áÐWè{î¼Wþ°'dØxþëׯ¨Œï,"rØš?>IIIø|¾òG©'Ÿ|ò]À/@p;ïo0dØv2úž)2ú"ÌÿÃù[ÖpYï…óYØÔ’WDä(5hРC½ """""""""""r\‡zDDDDDDDDDDDDDD$|JòŠˆˆˆˆˆˆˆˆˆˆˆˆˆD%yEDDDDDDDDDDDDD"ˆ’¼""""""""""""""DI^‘¢$¯ˆˆˆˆˆˆˆˆˆˆˆˆˆHQ’WDDDDDDDDDDDDD$‚(É+"""""""""""""A<‡zDDŽÆ@€`0ˆ1cLµ.Ó²,,ËÂív…×ëŲ¬j]¦ˆˆˆˆˆˆˆˆˆˆˆZjÉ+"Rééédffâ÷ûq§Ú¼›Xv‡@ @ff&éééøýþJÍ3çëÛè×ï>M7…ßëÙ“ž={Ò³g/z{ƒ‡ŸË¥·MàíY›ðUö‹ˆÈa*È‚§Î ß˜×Xç”=Þ¢gG2ôÒɬ-s¼ÊNSþÙ9ä2&¯ `ïXÈOgì™'r\ß¾ 8y$×<öËÒ‹£vÌÄÝ—œÉ ýû1`ØH®{rk²öç_ù cO¸€gfUÕ WêØŽUÁfÅ #é7êEÒìC½.G—œ¯o£_¯¾Œü×Jú¥úº—ú߯×ÙE? ²cá<}Û¥œ{ò`ú÷íÇÀag1öæ'x{ö*wv!"¥ =ÏîÕ«7}Âé\ïÿÈ_ÉãõìÕ›>ý1üÜ˹ó…oX›U伽ȹ¼ˆˆˆî×ë:9Ü©%¯ˆH%egg“““s¨WÇqÈÌÌ$ Wµ3÷vãÊçÆ30l_»7¯bî·òòõŸ3môÃ<}C?êèÖ!‘£”‹šM¡“¯ Õ:M.³ûSn¹b½5žî¡g³9 xåñqó_F·ô‚³žw·¼§pþ5Ò©y]¬Í?3q®ÝdñÆ3gÓ ï¸å_ñ7ß<N½ÇÆ·'~×<Þù×c\»ÝͤGN¢® ¢Ú^ÄÍg|É5MbȤ«èUÁ¯¾åfÙüñö#üwàDnèÎù€UïÞÎ OýNtŸ³yÓ%´N‰%¸çO~÷>/_?†ï¯|š§ÆC¼: ©zùçÙñ69û¶±vîç¼ñÚ­\ºü~¦<6œºùçØÞ.\ñï[8.ìœÝüµè¦NúW®Êaʄө§sq‘jSêuh•Ðu]8ªwˆD&…B„X¼x1k×®-ø?´ØÐaÇɽÕDz,Ú¶mK§NþÊŠE§o(ŸÏ‡eYÄÆÆVÝL­8êµjM›¤¼ÚÝNÝé7ìlÎþôn®|ènjù&OžQO]Dˆ‰ÊíÞE“3îá© Íô@¦pØýË÷ÌÏ©ÏEEÞßþÕD>ÚÑ‹[Fµ' ÀÕ„‘O~È™‰5ö'¦Z·ä¾ÀJθ{3¶œÉù \@&?Oy‹µí®àñgÒÐІÿgï¾ã£(úŽöZ’KO) !$ôš„"H ( M•T»>? PQšˆXi" -ôb(¡H»ËÕÝß ! ©ÑïûõºW.¹ÝÙÉíìÎ~wfž¾ÈÐf°`Ï-<ÜÐxÒhàý!sVâÿºùsýã]W[ŽâŸÌP£+·o`á«Óqö#”çuî›Í‹ïn&pÐ{|øPsür¿ØÍiÓ¹']L`ø”ç˜Öh[”óCdBˆ×ÙõhÜ¢=­ƒÆÑï/ùùDw†Dæ\a+>„ÇÕ£~ÎAÚ¨y[Z\àî׿fʼnÛ./'„BˆrVT;´¼H»®dý?¢r’ o% ª*GŽaÈ!dffâááÃáÀÇÇUUq8hš†Û=ž¢(ÌŸ?Ÿ† ÊüœBT§ÓyCx/±Ùl ŒFc¦b"òö‰Œ^Õ—Wç~ÃÁÛF§¯Àä„ׇ άœÊÔO–òç±t”€hZß1’G‡w ÂÙÃ:ßÍØm½™ûÙDé[˦½ÃìÛ9z> —ªqiàHCÇùò“A\x7ï:ÙÛx"u4oÇïbæüÕ$žHÃåJ½ŽƒyôÑ»©ïÁúÉÃynQªÆÈ6 =Ñ~ÆüQüúÓhý7]¾ö1øù_qÁë„7G±^ªÂ»ùãÏ,êí@xžûãÆ:h_ýsÖ¬û‹q cѺªéÑl “—®áb×;ºâ2ËÁªgná¹Ì‰,r'¹Ÿ»9øÑî[‘ÀÌ㨯/Åþú(€Fæ¾o™öþ~M<ÊE—'¡5iÐn<Úº«/û’ÓPIݹˆ÷?XÈo»Oc5U¥ÞÍxø‘þ4öWr÷ùøªxwæR6IE ˆ¢ÕùCš׿æÖ'G’üÀ{¼:óff?Ü„¢C³v¶,^Âသ¼;"o€÷¢ïy„{¾¹_®ad|ü¥y!DÓR¯UYɹó*¼UЉ!„•œM)n9!„âßIËÜÏŸ|Æwvqäd ™º¢âogôÄQ´ÓSªöÛü!\|§ˆv蘺èQIMüš-bõÎ㤺̈́ÕmËÃÇ1¤Mh)[EÛu¥m/¨\ÜùÓ?ZÌšÄã¤if‚#êÓçÙÉ k¤cûÛ}˜”5‰/œgÚëóó®sTô Æ7ÌÎ{±í½<ùh¾“é_¬b×ÉL”ÀÚö{„‰½Œ¬üp:‹~ÛÍ©Lþ1møØ“ n’÷è2¤q5÷ÆÔEnEŠ3iTv», ›6mÂår¡( iiiœ;wŽsçÎqñâERRRHIIáðá䤤`0®ynN!DѬÖiNÆÂY­ÖŠŸX &¡}CtǶ²ýœL"Ä?‘zx.¯.°qócSø|Áç¼ûP+R¿žÄøw6‘Yh“Åæ©øïú* ûàGÖm\÷S‡ÒÀìËMÍå‡iƒŠ¼ñËk¼ðk(÷¾ý¿¬]ËO3†¶e2§nĪøqÓ„9Ì×Sh?>X³ Ö2wdzË66íÖhЪ9¾Å T’wîä¼}dwÙEK;ÎñtO"kTÉq¬¯FÍêp"éèå¹Ç•Z´ŽÅµãv”Ãs>Åî/@ÖF¦>öÛÂñÊÌ…|ùùügLâjT-bˆüÒ—}‰iö=3yxüì©~/¯~:ŸÏßAì¡é<Inô “ÿì×\l1ž)Ÿ/`öä±ÄŸþ˜×ŸDf„¼>4§µF?žÑ€Ó þÇÌâæ‘vaûÎTÌñ 4+j}mZ·ªJÖŽ­ìsUH–…ùh¤;BŠFµbÇ`Ö°œ<Á¥*á¡r{G!„(H1drúŒ/íxž)sòÅ›÷Qýàž{íGRJÛX)® d%Î`ü¸÷I ëËó~ÁÜY¯1¢É9>6’W×\¸¦6QiÚlÖ2nì{lõ»•ÇÞœÁÇïý‡1½:Ó¨ú¥NéûñüsHk=ŠW¦¾Ç ½£ÑQšöÞ¥|¼Î+›bÿÑü¶n9³ cLJO0xðËlŽÅ´ïV³f婽—ž~ßó4?JŸÆUÞ ¸†òâŸ@¯¯.y5MÃd2a0HOO'%%…Ó§OI```nÝàà`Ün7žžž¹ë !Ê—ÝnϽ õÄjf/ÞNzñN}dgî¿»1>y‚î´C¬]º’ÎFô¿7‚÷hÔSk™³èOR lSÖŽ!ý[XD@CUUœN'&SEN©àŠYÛÎÙó„U`RBˆëBµEÒ÷¥'èU#»rªYc<ÿ³¢Ï[_°ò–ô®R`×^V¯9K½AÃé틈hû[}Ék»Oà3(…Â#E òÌZåL@è݃ûïœÏÊo7rÈu &LzF“ SÎÕ¬ûø!’\UHˆ ,veõì2¦Í?BÝÁ/Ñ2çI³dbÁosÁäøxqŸOǪYÐS?Û.Pésm7ÕKÚ߆Ç9–æGãn݈¯ã @èú´*jƒe(ûËZ3çr¨öpæ=s7µô5yü¹l¿ïsæoéË3-/°lÎ\h6öÌ™²QÏsñÞû˜}M¥#®šÛŠèþ“xpÕ0f¼:“ŽŸ>L“ºóªç9w‚C«RôØ:Bª Ë8ǹ, ŒÒ•WˆŠ¡âH?Åþßðá{ñïþt+"x«¹28±ýGÞŸ¶¿î¯Ð#\‚¼B!Ä<ãþ¿øË¿×êÇC÷üÌÚÙÛ9ຓ*¥üNWD;í?<Ÿ£ ÆóåÓýrF†Š&:¶.þ©ýyâý…ôOsÕ£Þ•ÜfKaÅÌ…­7†¯\~ ·A“üÛqíÛ‡ßk_ðŸÎA—ÛËZ)Ú{­sŒÖ5åÞ'î¢~˜ˆ¹s]f¯æ«êã˜Ø¿ !:€Hº îÉìeKÙò—›¶ õeKã*ïño'‡B%àp80™L¨ªJdd$Û·oGÓ4ªW¯NDDD¾aš333±X,„……a0°Ûí%l]Ü4Ë6æÍ:I¸ÛrNvÿŽ´+³KÇ\atámø`K®ˆñª)üùÝ2NDFä T2’6ðÓÊ=¸ü¼ñ0yZ1k.7š¹.=îiOdžÿ“¢÷À«„û¬—ê ¥ª¨èÐ˽%!þ‘ôaMh‘÷×ß’÷g$pÑ»JŠHsátÞ Ï·ŽN§ æ:¸Ð´ÂëS/_U¿_°dÑk8›ûÂy.L• ¢+"-s'=õ&ÛãæãÑ—ŸøÍÉ~ig¸ÐW%ˆ œ»àæZÆ)iuU:pg»Ù¼òÜ(ƒ†ÐïöÔ¯RL^†²/±¬»Ù¼ÝAÌÔȳ9}TCêù|ÊžÝɨM±s¯J‘7Q5歷µ‰oÄœíWS*¢Ük3pÒ0V=0+gØæÆè‹z ¢Ôq[ ð Qîœøo—Öü MS0ÅÒ¡ÏëÌÖ>ÿܹËš†fŠäæá“ùèÞ6…L „Bˆ+é®Zvìå1ìs[w:‰Y Ã†âCË›[bþéOþ<£quíÆ’Ûl{ø3ÑI܃¨VLºª¸«}Pþ+ùÒ´÷Z×Èþ[XuòÎÙ¢óÁ×Ç@•˜ò5Á}üðÅB¦UôeKã*ïño'AÞJÀf³a2™°ÛíüþûïÄÇÇc6›Ñ4 UUó ÅêëëË™3g°X,¹ëˆ†åà^Žº‚hÿ¯J»rs:E¨÷Ä×ÿÊ®2Σ[H²„Ó¦I(zÜh€ëÔ¾ùù(Õ{ #Á¾ŒÙÛ ß¤ÛfÇéHH þyð4·[-6`R\@º|¨œO>A–®*aU%Ê+Ä?‘böÅ»Àá­øøâ•ŒL7W\RêÓ±]O}=›5m¢Cu·~ÁW[¼i÷L3<‹KËË\øÃ+Åsåt‱ˆ«[ͺ‡9O<ΗÊ@Þ}µ5ó<±­øøf7D-ϱ“iq¢óñÍóp`0bĉ«ÌÃÖ^¹%î¯.Œž¯~AŸ0ï«·1ã5j¶ïˈñÃèT£’,CÙ—”¶fK%ÍæbÿÇCèøIÞTœv7áÜö 2œ þ~ÂÝ:|ý}$x0ÅaÒÐÕ Ÿý?>¾y6£uºüÿ]0Uƒá™s8¡ˆáÎTRΤ ùÆRÔÎBˆ«ghÆèéOq³ŸOß`ªVñ.üfMÎr}Àyp.O½¼ ߘú„–²’Bñoã8µ‘EŸů[pâ‚ 7€3J±vÉ‘E-+4‡‚ŸÁöèüðe©éD\Eæ)M›-t»‚ ±ëƒ ,p¡_šöÞ¥²âé‰g!ù0šL…·ù´«Hãjïñ/'AÞJÀáp`4ILL¤~ýúxxx ª*ƒ4M#3337S«V-víÚUD×Fâ‚É,±õ`Â}-ræ¬ÓÈJ\ÈÛ‹öQµûà O¸ôTÝ_Næ«Ì®L¸?ž‹Ë¦0?« ƒkeåú=œHµƒWj7ëD÷Nõ*u/P ˱Müòëfö?O–fÂ'°-{ ¢C¤аßÌ/«6±÷øy¬ª ÿˆXâoîBBŒÎ'7GšÂ<Ë- Ž:Æ/ë÷|цâJVݹ-ÞÀ®•+Ù´ï©vsh,7Ýzmk˜söíZ×ÏÞë±?X¾r#û’Ópüˆ¨×†îÝÛiVò¤Ñ™ÁQɬþ}/Ç/f¡ýˆ¨›@-¨æaãÀÒ™,Út›ªññKëUoŸ[B9^‘yô*.íÛ)¶¯YËÖÉœKÍÀ®˜ ‰jÆ-·u&Î_yÅÎs«©¸\Z»ÿÜwqf7ZNÜÕÙžÁ£ºàçéà俢‚±v» Å˃˅«ŒwÌ+|N^5™U+wC‘Ä5n´¢RÓ,XTòuZÕ2ÒÉÀ›ª>…\(>´ð<:ŽI~Âl2àZŸN¦2æ–  ü)fo¼°YÈÔ£še³›À\w?Þ~w}òç@ñ«EÍ û¥ qy7Ý'8š ¡ªã‘o{™X0c.¬•KQý5²¬Yeß1} oË«·"íÀ/|ñî;<=ê4o,|‘~/¿²W<}ñ5h8ä^ìVpl£_UŒçð6h¤dd¢â›ç+¢aË’‡ o &êÝ7‰Á«GðÅ«3I片’yùc}-š4 àÓßg§­#­ { ÃĦ-gñlO=iA Qþ/B¢¢‰ö+¡–ÎY®¶ŸÑñȺA<ûÎtnmþ$-½ÿž¬ !„•†e#“GM`]í1¼øÆ 4ôèh¤ÿ(=Þ¼¼Øµ´ß¯ü=4’SÓ ´‡@MO%_J:¿_ÅÃoƒÆ™´Œ+Ò/qÝR´÷®õÒÿïHCˆ;9†*›Í†ÑhÄh4b6›q»Ý(ŠBzz:f³UUIII!00MÓP³ÙŒ^¯'+«àÉÈ“˜º5aiÇ-hà`ç¯}I|¼8uà im[ î“9æ"Ò‹:9#^ëúΫ™óÙzÔ¦w2´Om|mGYÿÍæÌ×y[Bt—ÓXlïBßᓈ 6á8³•Å32y ßY‡¸^x¤ÊtÞZWá“z­Üì.Wç1¡˜´508ÈÈð¡a×þÄV¶—e ¾cÑ÷A<2¸yÎÿ^e œºÏîbç ?št¬âvç>¦¹Àh°“iW¡ÈmjØm6ðôÂã*ʽBƒ¼Z‰Ÿ¾ÂÌD?nyõjHü_ˆ$÷™íl?©Ò8÷ W9»i#‡ õ¹;Î\ùŠmßO,=߉7¾{ŽÅ ¡|5ôz=88óToú°BYÉñ“Nˆ¹’Õ2v2ëñÇøÒ0„)o¥w!©¡ ­ýøî·uœp—FÒrþuÉ´j“¯w£ýäqÎFDXaû¥àíã §ÒÈÐȾ¦PSØ·÷l!%U¦=Ç?¶cžKa[¿¯Ø~ÔM‡FW.Uneoh@|cö&ãý@c‚ ;©ui§ðѦ?¹ØÿöË˨'IÜuî÷W”Ü?i ¿žÏÿÍkˆ¢äýø»{½t.ïÒ“ic“ÿ9Ç–¼Ç—…sûã¨À{TBˆ²P¹yühZ zÉŸôೇ;R†Bñoãúk[ÎU¡óKƒh]ãRÄÉ‘ÃÇqS/ç÷Ò·ß k‡blH˦&~]·žÓ/·%ÁÊÖ5[°V»•¦¡x³ÌX¦ ôL]·ž3.Í \J¥iïQæá«*4BÿBüËÉíøJÀn·c0ÈíÅëv»±Z­œ:uŠS§Náåå•;t³‡‡!!!˜L&l6ÛÛóŒªC„ó(GN朦ìGØw؃F7Çxb3²kIõlI– b¢.?e£DÑé®ÖDX­ŒÕè×3˶ ì.ÍàøZ‰¿m$%òVØžú‘¡„„×¢Q›ÔòR²?_½”š=vw+¢Büñ ªN£îÃ诲cåFNçí ©DÓ©W ªìX³Tš¶£I€ƒ¬ÐŽÜuSF§«Ó›ºí[f=Ê‘³zW^íúZ&»V¯çLxW†ÜOd /þ¹ãžŽ_ÏïIyONµèÔ·=µ¼T²,Y¨~ èÔ:ËáÜvkh.'. PÀm·c·Û³ƒ¬žGgñi¢é2ø.Ú5¨A°¯7þ‘­èÙ.wòqÎ\1Ù¬(ž¤í{ÉŒŒ§a»À#nwÎ_мiªá°ÙpŸúE³g2cÚ4fÌúœ¯–mäÐ…b†.oš•Ó‡ràÀ>voÿƒUKfòßQýQ1Ãÿ';WLïû5™,4Ûiþüâuæî)ûl¦Ú…µÌ~!«þÜÇ‘Sg9•´Ÿ¾ø‰ƒÞõhP£°aTʱìu!t5˜ê›'óÈç²jÛ~ÜËŽ?Vñõ'sYV]8=ïí†ÏïSy~ú/ì>v’äC[ønò‹Ì;¤ÈyáâÕøA&ÝS[¶r¦@ôÝTÿ~^~¨9gçŒçþ'ßgñªMìHÜÉ–5ß3ëå<øÖ>bÆ¼ÂØæ2V³7]ØíLx >§Læ‹×~†B!þIôá5‰4¦ðûw?±+ù,gŽífõœyçWkžžo¥m¿ÞÕ” ºJÌž™ôÆ·l9t‚“GwñËG“øï ]G÷§n©G¿¼ ºPn}à.¶À“¯}ņÝ9¸g+k¾›ÇŠC%EßµãXpªàgžÄ|‹Ïã¾åóùK™ûÚ"N§;1ø†P«QN}»[†a*l³BˆëHO­{càÒáÌys]¦&ìzgI!„¸A(UzòäKI¼öáTFõÉ@ç_Æ]à™7ëñêèý—–*uû­ðvh}Lõ`Êôf~¼G¼Î§™°¸6Üýæ †&T©à^v >-eÚ”ªLûx>/žLšÛƒàñÜûrÿ×.¹½wíÊ3¢þGâFWžQâ¶UØgJ ïKóS)åï—^ºïó¾òþMŸóºôÞç½0 ÇŽ{¥˜}.7+V¬ ..<<<ðññÁl6c4Ñ4 ‡ÃAVVééé¹C4[,>L×®] lQ娲wøôT;Öœ3ß½Ë×®^<Ñ'†ãßOf^F7& Œãà‚·øÉsïŠA›ã?Oå“#-7¢=UòÎÉgÝÎÜ7¿ÅÔ÷îi`,v_´¬Ìã”»Ÿf`£+oiÖÌ{ót…|îN^Á{³öÓdäX:…k9ùiÉøíÎ=òkfLcGìHÆÝž{ÕÒ7óÙ;¿ReèãÜ¥‡Üý¹ºõ³÷c›¯Ùí IDAT1û1bÈw¦Öp;Ý¶Éø®aœ,, 4,[?gòrOìEŒ^#uã,¦l¨Îýôàr§œ¿#dš6¸RñǺMì=rš ' ¹lXµ† žÔ‡¸yD/55µ”à »8þÛ<~8Óˆ{6Ç×]Ô:é;—°`O úÜÓ"Ï÷%‡Î€Ñ  ¹U4tz&޳ìã¯8{7o -ò¢QQòýmÛ¶mÜyç¥È¿B”•Æ…__fØëçèý¿çØ, / :H?±‘é?ŪfSøþéVÕPv®ý3rÿ÷4~çKžn]xøùÚhd®ùýž>L¿Ï?åè­)yýÊ^!„B!„âj(Šò°p’ÝGÊóÓ•ç½;Ï{•ìnkj—–çïZ!/Jù{i~÷¾¸¿•æ³Rû—‡i*«ÕJFFiiiÄÄÄ ( YYYùæÛÕ4 MÓÐëõx{{“””„¦i…ÌÉ  £ZíhLáhf0Gºˆ¹# :jÔ‹ÅðåþÊ4“t jÝ™/p¤Y³È*ðÕÓ,djžTó*ù¹$Å艇^#ÍjEÃtEô_ñ0c6j\°X®ø\³YÈŒ٬Pò÷ÿZâ×WL^xtÔì4šÍ|òï‡:ƒ'ú«è¯Y6å‘Ç"رô“/8Öƒþ÷"&ă¢aÝ<“—¾.§ìWrŠ¢”.Èk9ÈÎvjvjD€[»ú¹ UÎ<#°¹Ý.œx ã ÃYì·AQd°L!ÄßÉÉö«HmþƒãÃÈWgÂ/² # ,³Ù+dH%Cì ¾ã'žšñýã‡]ÞWºŽƒÌÿøÌw½Mÿ.À ׳ì…B!„B²œgïz•õ…ά #¼ï»|>¾±j„WEêŽJàçŸfñâÅùþV0hST°É××·ÐÞzºu¨¥-#i‹9jÓ#*»?‡¾V}b”%ØâK²£: µ<òZÓ’8rA%2$·[)ç÷ïãŒ!’›ÂJ1ø„¾Q5ôü¸ïi­ZqųºHb¢Œ|³ï i­ó~nçÈÞÃØƒ›SËïXéªedé±Sh Mñ)%MS)U'ÏK›ÓéÀåºúàUçQ+4m÷¹¿HJ÷£ñ€¶ÔòÕ°[-Øqq<9•jå™ËJË`0àp”4ï•ʹÝ;8fªËÝuL¸µrü[“9~^¡J b‡~1¤ªBü ÔŠ‹F›·„¹jrGãjøé¤9̶Ÿ?eÚ¦Pn{»yÅ ûªørÓ#¯óôÂÍ$ŸrY¾õŸód2]žãµþ-ð.×-——ëXöB!„B!®dnÏãŸÍc\¡÷Š >2šâêIýQ „„„ТE Þ}÷]ªV­JDDU«V%((???Ìf3èt:TUEU³I6›Ó§OºMÅ£&1Õ¬¬Ú¼ WôíD_ºÛg¨Eý7ßmÞ‰­j;¢ ÞÁ4^`Ó’ñîÚŠZ:2’~géꓵz†æR_šÜÒ† 3W0ÿ;¸%¾~ŠÔ3'qUkCÃP/uíÄ3V²à=Ý[E ·r2ñW~ÚªÐtp[”rêÇ~-owíȦ~`Î×tlM°‡†Ýr‘³É©ø5kK¬_©7†wh8>ÖÝü±¹1~õ|A1äw‡g©òXDÚA¡„6°ï?©ïY_-“{Ö³v·]æ8Èa2™JòÚ°cw*UšßN5ÔÜ9¨ËL=ÇÎ5ûq‡W#Äß³I#ëÂqölÞB’w3úÕ÷A)¦ç¸Ñ(ƒr !þN:¢¿Îê|úÎXf'_Ħ™ð Š vã¶<ðÁKôn\!Rs·ÞW!›6ÖêÌÐZ²érrË^!„B!D~ŠAá^×;Bˆ( òV~~~$&&Ò¥K—ì^—€^¯Çf³át:IKKCQTUÅápàre‡’233‰-b«>DשÊIçˆkXûòp~˜ˆ®…3qñµ ,·Õ…w¤O ë~üŒS¬(Þ¡Äv¼;;ÕÄàr—*øj¨Ñ“Ñ#üYúóF–|º«jÀ§J4ú´4¨Ú‘ácýX±l-‹gþ@¦ÛD@µ8nº¿£=q¹®{ˆÐPB;1bl +–­å§/V’îÐ0šƒ¨V§ËSÓGu¦_§ó|óë§¼÷³‘ðÃÑ)ôoÉc¡iwnJ¯),Yú3ŸL±¡xQ£É-Ü3¬_}˜|ùúg0 ¹VN#mß»kѵ?.íúi+ÞûYÙ¸y¤Yp¨<ýB¨Y¯+÷%ÔÇÏ•…³ˆÃB§Óa2IŸ-!ÄßÌÊM÷ÿ‡›î¿Þù’²B!„B!„øW(Ïqo‹ÛVaŸ)%¼/ÍO¥”¿_zé ¼ÏûÊû7}ÎëÒ{Cž÷:À$;vì•bö¹Ü¬X±‚o¿ý¶˜`Ráôz=C‡¥eË–…~®3yáeÒá¶Y±å œ*OÌžz4‡ «ãR`ÊÍñŸ§òÉÑVŒ݉jžôŠšŠÛåÀî(]€77 ½“ɈA—ýïÒ47N› gÎ.*:F“ƒ^‡hª —ÃÃ}9½ÉŒ§ÞEV–#OF&// î,¬Ž<å¥ñ2QmVìîòY¿°|‚†êrâp8qkE¥‘=7±Ù¤a³Øs†IVЛ<ð0êQÕ™E–Cý[òXTÚ:ƒ “Ɉ^É^Çíràp*xxéqZlWß+õÄáp`±XŠü\çéG€—†%-{)_½—þ&éiÖå«ÃèeÆËÈ^§än\YYvŠ{îÁÇǧО¼Û¶m+t(w!„B!„B!„âï¢(ÊsÀzÀ ¨€;ç§+Ï{wž÷*Ù¾ª^Zž¿k…¼(åï¥ùYÜûâþVšÏJMzòV]»v¥k×®å¾]Õ‘…¥Ñf5— Kf+i¸ج…¬hOdÑ;ßq Ð‹ ­†0ºk$z@s;±g9±•ŒêÂasQÜ`¸n‡•+Ãk*Ž,Ë•ëiN²,Îr]¿4ù,< М6òoNÃí°Q°XÿŽ<•¶êr`s]¹Vaiü[™L&\.v{áßdÕ–Î[é·çÎJçBV¡[™•‰³ÐÏŠæéé)C5 !„B!„B!„ÿ@äåÇ£w=‹»Ðç½Qæsÿ8^^Ùsjè½^<==só&„B!„B!„Bˆ òŠr¤ÃèáIÑý5´a:]!Ê‘¢(˜ÍfŒF#V«µÌê—7N—›!„B!„B!„Bü3IW”’žZw<Ë…Ì/›—&Q\ñ/e4ñóóÃåráp8p¹\hšVáÇ„¢((Š‚Á`Àh4b2™*4=!„B!„B!„B\ä¥VÔü²BˆlŠ¢`4+M/ÚÌÌ¢&ßB!„B!„B!ÄLw½3 „B!„B!„B!„¢ô$È+„B!„B!„B!„•ˆy…B!„B!„B!„¢‘ ¯B!„B!„B!„BT"äB!„B!„B!„BˆJD‚¼B!„B!„B!„BQ‰HW!„B!„B!„B!* ò !„B!„B!„B!D%"A^!„B!„B!„B!„¨D$È+„åDÓ4‹…´´4RSS¹xñb…¾RSSIKK#33‡Ã¦i×»þA\$¾?€®#¿à¨z½ó"ÄõRÚãÀÅ®†Ñ{üŽ”úx¹šuJ¢‘ùç{ »ó!$9pŸßÅwÓžgÌ ^ôèÒ…ž}†ñÄ;ß³?£`}©r~Û<^7ˆ;ºwåÖ»†1ñýå$e]^ÎqpcîxvYË+Ãå "ʱ<¸90kÝîÿ„Cîë—ÛªèÖ© Ã>L$«Ï¿ÿwtU¶‚Ÿ¸8¿ë{¦½0ž¡}n§{—nÜv× Æ<3…ÅžÁù7ä]ˆ#ÛªèvóÍtê;™ÍW—9Ô3,™ÐN7ßÂö‘]­ªŸ7†®}ßak¡h+ŸëF·g~&3oZ]'±,]Ú B\½’¯…B!þ.äBˆràt:IOOÇb±àp8PUõo ¸jš†ªª8N, ééé8Ž O·æ­Çºá¹i*O¼ò#§óE¾àÙgæ“\g0/½÷!o?u[Þaâë«HÉYÎTçÆõtòõ;óÙÃD¼®¾Å?™›£‹ßbvbaaÞÂØ9¼ä9F=úëõ¸sìs¼öÖ›¼ôè Z™w1û©QLœ»‹Ü¿¢Bèü«”±–edRØa¦_ÉÏ{| Vþö¼ !ò+Í5£B!ÄßÅp½3 „•]VV6[QÝÿ½TUÅb±àr¹0›Í×;;¥ ’ºq-;l¡Üó¯Îƒ78¥¤›Ê:"{>Å«eÚèÕ¬E³*)¿ÌãÇ ÍW,F]uîze.=}ýð¾´ µ£xÚu¯,gÝÙžô Ó~_øGb‡ñÉ÷¡ˆáÉ TFŸÍâýUÏxR¿O|7‹ùkûñbg?®ÿíö«-GñO¦ìL× ?øú­Ù´ûp ¼Š_Þy`¯NÛF`ß7x{T|s¿ØMhÙ±+ê>ÃCÓÿˬú³x¸Y B”W<n`ù²u¤vèA`¾“‹‹ƒËWp¼~:güÀöë•G!¥¿fB!„ø{È•G%‘˜˜È_ý•û»¦i¹½ó¾WÕìÇE!..ŽFýý™â_äF ðæe·ÛQ/¯²Þˆu‘øþžÏÎÿídÖÂ5ì?kß4ïqc†¶#ÂxiY•´=ßóé§ß°nO2©n3¡uZÓsèpú·¬šs‚ѰXÊ̳vÏ1R]žø‡DR÷¦~ŒÝ’äâ•oŽ’©j<Òåk@O­!2ëÁXô%äT³äç/æñÓû8v:…L%€ZM{ðÀÃø)T8YóŸ;ø¯åa¾z­'þ¹7ËÜž=’1¿¶á½Y¸8­¨ç™õî~Ù“Bp¿)|2²^‰û+Äõ¤˜àìêéLÿb;ާ£Dßcc†¶%ÜÙßï{ylçíÌœ~/5u€í(+gMcÞ¯‰»…[Õr{'êâÓú‘:-ï:ÙõÏsi÷ó¿¦{™³x-{Nfàò !.áÆŽ½ƒ8s&ß+☽ߟµ+·Aü“$ä¹;nðó»â‚×# 3Éd]ª¾ûزÝFm Ë3αv{ÚF,dýïG^/=  é@—&2uùR;¼¥ª{>Aœ¾ûë­Pl=:¦3ÕuW[ö¥I@%m×7|4s ë÷&ËBl»>Œs7 ü”Ü}>±æS¦ÍYζ£é(5iÞc(·JSãºÑtyd'ÆÏà­ÏÚóáè†}E`gûw?pÄ¿+¯ Ëà½ÄƒZwæ®ǰxÉz†5í‚ßõºAˆ—ñÝøíÕe¬>Û»B󜌉,ûå<͇µÁwþ÷×/Bˆ2]3 !„BüäÎK% ª*GŽaÈ!dffâááÃáÀÇÇUUsçât»³gçQ…ùóçÓ°aC”{ß!®†Óé¼!¼—Øl6 F£±ä…óÑÈXý6¯g çÉ·ÇR?.ì\Âäÿ¼Ì“™¯1ãáx¼°íù”‰ ·Œ`âƒM Õ_äÀ¯Ÿ3ãÙG9ñâLLD±maú³ï±§ÕÃ<7ºUôÎ$í&1=„@½/c§ó~•ÇùM,¯ÎKcƒ‚¢7”ªQ¬è-œ=ëËM÷Nd\L(¦”?øôi¼òNsþïVJ5šâK«"ó3ÛYò7LY@ÿ_aD5/,I¿0óí©<¯„óÙã-ñ¢”e‘½52-áÕçNâÕã~ž‚_h-™;AÜðÔ¤/yûëÎÜ;î5ÆV5pqßÏÌúàE&æ©ò³±uÆÓ¼¹¥ 'I§ÎmùŒ—_úŸûßaÒmQé õŠ”42׼ëCxüshîIÖ‘•Lyæ žŸž}ÌyÌZWòç^•¸1…©òí 'wïæ‚uó>-ý'2<¨V½JþãQAõ8yô8b²ƒdŠ?Mãcp}¶…]ö´÷¼–’-y½Š«G ­¯2íí~ÔÔkdü1•‰ÿYM`ï‡xíÙzøÛO°eÉLÞÙx 5èZÊG\5—µzoº†±3'óY»ݰˆ0¯û;w§áÕ´ Šú>ë£h_…¹«vpÀÕ…e½´BÏ­â߃ŽOòóÊdz ®‘{>²n^Æo޶<ÞÖ‡Ä/®k.…ø×+Ó5£B!Äß@î+Wv», ›6mÂår¡( iiiœ;wŽsçÎqñâERRRHIIáðá䤤`0*ÝÜœBT&V«õzg¡DV«õªæÖh@ÿGzÓ°Š:Ń*Mú3qx<ZÈê h)ü2û+ŽÕÎëM뺵¨U§ÝFü—‰]],ÿøk¹AÍH&9Ý;Ó´v$ÕkÕ%¾S†õj„7 3˜0éPtM&L&#F})LñlÊÐçc@çæÄÖ¨F­æ½uW޽‰.Ãܺ%åAÍ çÎg£wë8jT¯A½öCsG .þ¹9;R–Å%®ðõ/ éJ›fM©áu ÷*DñT[5zMzˆÛâëEã®#y~D3.\ª ríg݆bïJçZ>èuž„µº—>Í]ìÙw o³¡Èï½F}<>€øp3:tx×êÂàžÑ¤æsE³îä$Žº‚‰Ž(ö˜RÏýÂ̯ŽÛ§/Í=rÒ´fbÅŒ·WÁ5=ð6qgf`ÍÝMU¢£ð³ᯓ×>ñZIû[R=z…2”}Ii£]ä×9‹ø+j/>vÍkGR«qwÆ?Ù°Ý ùj›Ô³¬\°œ ‡óÂØn4ŽŠ¤fÝ6ôyâIzÙ [Rü ÜnT Ôº{÷Æžfñ[Ÿ±«¨éyÕ œ¿AU«PtìVG•ªUP2RH±ÉUˆ ajH[Â9¼b9‡.]Ëji¬_¶SÇ´¬ 3±ñW¶kF!„BˆŠ'=y+KA^MÓ0™L ÒÓÓIIIáôéÓDFF˜Ûc788·Û§§gîºBˆòe·Ûs‡G/Œzj-sýIjEtaíÒ¿Ežá=5,Çÿdí†DŽœËD5ׂmëœçN«j9Éî?·²ûð Îg:P<«Ý”„„F„sˆ«ªŠÓéÄd2•iÿta±ÔñÏÛpUlÒŒ(÷<övq›ï>¶ïv3¬5!yR¼iÞ®9æåÛÙqV¥Nh[z¶™Ç›¯LÀѯ?½»'P7¸¢ºÿè Fqر—çVÃÓ$<ïN꬈bÉÄ¢ÎR–ExÎÚ!¸ã¦@ ìŠJEÚˆFaùƒ ¦ñ—ë„‚]ç5Nè ú|ëèt ªÅßùÒ…Æ”ï`Â×Ï.sEPS/JU ïÞš-Ë.f¿8…Ä:£˜Ú·Ö£”vð}Pl 墛k}f²¤ýÕ—±-CÙ—XÖ®}lK´5 êy6§¯QŸº>_°ïIÔFÉì>à&æ¾–ùë@cM2?±ìe"Ê‘1Š~³vüÞšÓŽG5D_Ô¨Ô£ÿÈLˆŠa N×.D-ú‘e»‡ÛÄ„šò?o ¢ó[0qàzgP‘CÌB!ÄB‚¼•€ÃáÀd2¡ª*‘‘‘lß¾MÓ¨^½:ù†iÎÌÌÄb±†Á`Àn/ÏP‡¨(šeóf$aÜmÔ’É[*…KÇ\Q4—Í\—÷´'2ÏÿTÑ{÷¡_÷ÙM|ÿÃNŒM»2 w5<2“øcù*¾Y¡£ÿ­qø(€–ÊöŸ¾g§© 7uO FU?´‹ûY·l5ß.SpgÃbçÆ»T‡”…bòÀT`›Š—^d‘‘éF³eáÐáëçwExCçëûHËÐ <”®/|Dõ_³èÛ÷yä“w¨Þ¶ÃF ¢}ä5qŠóÌf–,ø–µ;sê¢-{pe§'í¯i»)fÌvRвç¸,}Yä¬ëD€碒)ô8ðöÁœS'\qIi¨KB›@^ú~Z¢m„Ô ùv›77=Þ˜â?S<Í\Ñ9r¹"9¸0`(âêV³îcþsϱD×—ÿ{áN"óÄI_|°’yE× ;«½·Oþ< qâ*èE)que¬GËPö%¥­e¥‘fsshöHz~žo\v•ÐL+n{&™¾þë@¾~Þ2lÐ ÀÓŸ ÖòÐÜ·ø,áCP”üaZ]U‚àâÙs8‰+bÊ•ógσoU®íô-„(†®FWº×›Ë¼e[Ѥ)¿,cWõ®Œ5@aÏ—æÌ…ŸsþªèäÑ !ÊI™¯…B!*˜y+›Í†ÉdÂn·óûï¿ÙlFÓ4TUÍ7«¯¯/gΜÁb±ä®#nt–ƒ{9ê *çД¨HN§³ØÏÝ6;NÏ@BýÉ×!VSq»Õœ[.’¶%’Ù‰·Äar¸Ð|skï,æ|¶‰gê¦%˜6!ÁK‡fsâr«P-žÛ»œeú7HÊh@“b¢¼%¤ £e¤“©’¯ƒš–v4ÍLU=Ч¾*§ÒÒQñÉw_ÍL#ü.MŠ©¤^y¡Ç0ÒÿÆÂ¦ñò„³¼üéS$ø–9kÙ,›™úÈÓlŒÎS/?I“ê~ôeOÓwÊåÅ /¬¬¬2 !Z\;½ôe!ãv‰ÊK³db-X'd¤“IvpÅ›Öc_fðÓOðÒ+ð2ðªZ—öãÞàŽÔ“ÝËŒV,…Œ¤¯Yö2ïÙ§ùÒÝ›Wÿï>˜DXñ­Ad ƒÉçQ »¼›î“$ŸÔi‘/8ªY-XðÂìYøž”WÝ“«,õh9–½âéƒIO½o1©sÁa° ¾U0z¤`6ªœÏ´¨5l6»Ô|7±'pϺGXðöZðÄC±\þX_ƒFõý™»y3»míˆ/,ˆë>ÊŸÛÎáѰ)±Ò‚¢âèBéÔ½)³>\Æï#ƒ8²<‰º·¿@ …y³G_P,©¤;áŠñÖÕtRÓ4<«ûR¶Ç=…E)ë5£B!DE“&z%àp80$&&R¿~}<<ÉSnÂoŠDgµ“6vãòŽ¢NÐFö;‚7—Š’ž§›; Mï‰I§¢–ýš9yÕs‰ì8¡Ò°æ¥/šJò† $ãècc}âyðîÆ?8Û÷..âjeÇúmX#ºÐ¸jÁ/©¿Úypâvû†ÄãnêëÐëõàtâ,C6]Gÿd[J0žîK‹ÈK§2Ç’Nà&6w9³·7œÎ Sãr°]=ÏÁýçòÝ'»š<ä*uY\ûÜB\/êÙì<¥Ò òrpnëf’ u¹#Æ\YÙ®dÅ…¼<ÿ ŠBùjvÌêCéÊjNœrBôåÛkZæn>ö–èûóÚÿRÏ»JÙGë¾,]÷;gï¾|;“Ö³áD ñ-¢óõn´Ÿ:A ¡„‡¾_¥­{®bÏ ©G¯\ªÜÊÞP—f =˜±ÿæ{TØùL­CýŸþ¹Ô»{\^F=Íž=)RóÝ(<ê1xB_Ö=ºˆ·ÕGÁ?ï‡4½³'µ–/âã¹Ý¨û@ò&NŽÿðKކÒã¡„bGB\+…ÀvÝiýá›|÷!œ>Û”aB‹AÁ¯q3j»ç±|õY:ö¬šo9gÒ ~9àIÓ^uåÆ奌׌B!„M®õ+›Í†ÑhÄh4b6›q»Ý(ŠBzz:f³UUIII!00MÓP³ÙŒ^¯'++«ÀÖ<‰©[–&qÌÑ‚vþÚ—„ÁÇ‹S’Ö¶5 à>É‘c.ÂbñU M§µë;–¸n¥ÿØ>DùAú_kY8çKæØîeômµ)¢CK>Žc+ùlöFÜ ºÒû‚ Yœ=~ŸìKaÇñU|6{#J³ž ¸=† }&Ç·.çû¹Ÿp¾ÿHz×õFt:Ûžïù–Û8®/5|\œþc-žÇ´?|¨qóÆöÂól_ü7L{[ IDATó® ê#½¨“óóµ®ï<±š9Ÿ­Gmz'CûÔÆ×v”õß,aÎ|‘÷·%Dw9Åö.ô>‰Ø`Ž3[Y©Ñ:ÀíÀn=ÈòyKIŽ»‹!½£ñ×eqñÔgâ'Þë®Ä ¯Íž^xwLØ2H·ñ÷1åïé¤zã žšŽ›ì›5W Sªq19™L¯p"Š?ð®&È«xœà»×¦8òNš†éIÙþï}qˆ°ž¯ss J ïÀwfñâ£{5#̘Æ_fóÁÏÐéÙ»©£íâïÌ_tŠj­„‡í$Û¿YÎ_æ8úV× QQø§oàÛvÞ6ôþDT1ÛÛLIuÓy6ý´’½!-VÏq`í—Ì[kÍsb3Û²>Ë~dÞÚö<Ô>Çv|ó.‹ö)(¡—–Ó‘‡Röy(eYQ™é¼Nñýkï0üš„IÝ»”éŸì¢êmopsá‘?2Žæ¬Ìù¿ö³ßG¢èñð!"ÔïŠÎFeÌMáÇlXqYlÛ„;¡.z@³ìæóI“˜s¶1Œ‹!c÷f6åÝR@4Íb« Ç“ýRwܧü÷3#{Æa¾¸ƒÅÓ¾äl£‘ôiš·>pqx×~!í¨[¥°riëžÒ)¹-`/Dz×Uá–aýøá‰÷˜ôF*÷ÞÚŒHo ËÅS$í;CH÷¾´ £ë=YôÒ ^ùÄ‹ÝbñwžfÇ÷³è/JxÙöWTÏC˜p÷ûr.c‡|Ÿãóô¨ý<5}"cô¦O—x¢Cpü;Û³Ùl*¡¤@Ò» ^lØÀ ذ!P,×îõǵƒX°€`¥ˆ‚"(àÅB‰  ª¤nßùý‘BÒÀ@ò~žgžÌN9çìdÏÌî¼sÎ9Ÿ¦E÷T• ¸¬+ÑN—BXǾœó¿ßYÙŸ+z5Ãèsâ$˜6çv¥ÉÆ ì>¬Ò*¶Ä ÙSÝ_Ëç÷Vq¨é`Æ_Ù…°@MéÀ¥W#ýµUüœÞ¡-‹ŽE†K‚%€ËáB±·c@¦ü¶f'$âñáמÂâiî,Ž9­$œÓŽØp=6B›¨¨ø|éþ°NÓðºÝþÌg3WàtzÁBdL+:vïBRDÁ-vÍïç˜0 ?ÅŒFšÃKy=¯hùÛY³)‹¦½.¦™5üÐ'^͸ËòX0åA¦ìËE–H×aÏ0fdçâÖ=¦ä¼0)’gÎç¿÷¾Æ1“ºq鳯qmÏHt€f´¢î[Ê;‹ßåp®%(‚¸¶}¸câhúÞD2uÅ„kÿæõ÷ÇqãT I׿̛7U4&`áм€{ÙˤéosÿÈ|{3RŒàg“yeÜ_E[rî=<;ú Þ~û.ÿ¯ŠÑMJÿkø÷½&™s<½òËвÚÇ«:ÇBˆúKGì¥OóDËÕ¼7åA^Û—‹>¼].–ÇFvÄZî>†Ä´ÊýWøîøbEOHË ÷Ÿñ üÁ¿òël;úö cÑÏ«ØukZéA=ð3ËÿÈÃXÅ»O­:1ÞòÅÄaôñWñì :Þ~ûs¯¥ múÞÆ w\N\©¦QÛY¹æQ½úÒºÜoÒÕ?÷TK5Σ¥Õì±·¤ÜÈK“óÁÌù¼ùïid:UÌ¡ÍhÕe7™@!´ï8^~ì}Þüh ãgå …ÄÒþ¼kyö¾µ<òÙI¾_qÑáÆû¹|õƒ|~¨ì: IÃþwZ-fö¼¥Ìü%‡ó¼èmhÞ¶#_|š¡ÿÃ4„ÕDçG“¥?ÒuHl•Žb£Ó“™ÔüC>þj/~qGÀLxlº_ù ïAÓ²×*ÿ>~ä>.•Ž™OÍSý¥– Q•jgB!„8jò1ÍJzT±¬¼ùêüUªùºhÒ•™/9•\¦/œŠæ %æuÄ\úìÝ»÷¹JÞsY±b±±±„‡‡ŠÁ`Àãñà÷û‹»:£ÑHPPn·›£G’••ÅáÇ9÷ܲ#½âû7Þfk»Û¹k@SüÛç3i°ñÙ1åCޏŸ:“³f¯­lÊÍã/$^`ß’)Lÿ³#wÝ=€Æ%ÿc9k™>ù{Ý0¡IU4Wóoç‹g‘5h<£»ÛO Tú·ñÅ ³É¾ànéVr9m×^ø(“óî½…žájùåQðÓ»o±¡åhîSXÑòÖóÁ«Ë‰ù—´(hõòö÷ï`þ‹ŸrdÀýÜÞ+ìx1µt¾øzáö~‘X2…é;Îá®±K3 ÇÆxyI#& ¥¥^#{Ít^[ËÍ÷ !¾ø:Ø:o*Ÿí ¡}¯>ôèÔ†˜y.£®ÈÊʪt½Gޏ1†ØÒpÝÇ–5?±áp$ý¯¾Œöa ZîfæÏÞLÓË®§W©.?ìý~ß8ú0ê’‚Ê&î9ÈÏ_.d[è F\Ò £¯ê1wÃÃÃK½Þ¸q#,gK?ioŒ`|Ú¥L›zÍåGªâ¤id­x1“3¹ø‰ ëЋP}äü…÷{’Ÿ:¼Àìñ]j<`äÿswÜý-í&Îd|×Ξ5@ñún|&Ëßy‹ u­™~í{!„B!„BˆSò8° ðQ0æ] ð¯¿Ä| Ä¼ h%æK.ÓÊÌ—œ¨æëêü­l¾²eÕYWm1ªÜn7z½UUÉÊÊÂl6c³Ù Åh4¢i^¯—ËÅÑ£G‹»h6å¶ä…F´L²ñÓî½äiQÚöZÒe47Æ¢K6ñé¶¿pujÍžô¿1·ìGLɆ¯Fú25£3ܪ}Dó¹qû¬A–ò?ñ^.¿BÅ\v ªÉŠ.÷ñ=£‘Aj`Е‰LuW[æqƒSÝ_ó¹pùT,}ÿ|WjC>p¯øý)&S¹y@Ùîw˲ÑáúqDoZÁ+¿aúò…D¶é΀Aýh%·fk›¢(•vƒÐ…Ð8ÆŽPÑPŠoÏ ø0üïÍcó‡i׫1:³ ^<ž²éøñxèÌ–oÂ{±þë¯ùÝÔ‹ë/m‹Åë.g$ÌËzÒN¡‹çãXÎF¼Âoy+u4¹ìyÞ¹½\À„¨³|¤}ÿ#Ùç<ÊðŽ)¾¢ëŒ„Ät mŒï<åVðÌ4œ;‡,ã© ¸²ãu$Ôô‰Â·“y3$è’‰\Qç¼P›Ç^!„B!„BœYr¼p:äåå‘““CRRŠ¢àr¹J·«iš¦¡×ë &==MÓÊ“@GL˘6ìfO~${þô“ti"tħ$c˜»ƒ]ùVÒ÷BÂÅq¥ºÕœ.\eb?š#|ÍBLPÕMþ£³^#ÇéDÃtBoÅlÅjÔ8æpœ°^s;paÅjU¨ú!‡ ª|ÅDAGówrm'[é÷¡€Î`AúËà÷ˆîp7t‚;#ï,`{m‚d¼¤ÚTUÕ¯Ä}ô@À`"Ãtüé-|ÀF„ÕGF¶-Þ~üs¤æ’ ö¤ÐÒMx3øeáB~3ôäºáÝ õ¹ðW³¬õе7cßnËmå^ƒ5B.^BÔiâ“Ðæ-dîÚ8.LmJˆÎGÞát~ûß'LÛÍ¿&v8=-IÝî|†qóåïC~bjölá;ø7æó&ðô•®zóZP‹Ç^!„B!„BœQrŸ¼X²d Ÿþy©eeƒ6›BBB:tè Ëuñ­Hо%}½]Þ– I,¸Ý§OhK’2ŸëCØï¥O‚¹t 5'ÝÇTâtUŽn߯!C½šT£_W} ‰ñzmÛAN÷î„•=éâHJ4²`ÛŸäô(¹ÞÃî?vâ‰ìLB¹ãÏaºXZ$Y¼÷ ZŸŽ'Œ“¤iêI5„Ôétà÷—Ó"SCõ{qûA Oá‚«sHiûŽª´‰­‹-ˆƒÁP<>vµ9÷³ï¨BT«ˆÂ‡'¢IL bó®Ýäµï@ÑG;p4]ÙÁ4oq¼þy²váB¶XÎ冫:âuŒå\ͲÖ+Š…ðÆMj»BˆS¦#áêgø6ßz€Y²qc"8¼ ‰íz0â•G¸¸Ýi ‘Z[1ø†V§%ic|?®½þ´$]CjùØ !„B!„Bˆ3¦žÝùo˜5jD×®]™ ñëæ/"xpwÂtä¥ÿÌâþ&¢û­¤Z«|Ulœs~OVO[Ƭ¯àü.ñØ7Ù‡þÆÓ“ÔÆA´<€µï|Çì¯õü«{"az'§}Ï7¿*t¼¡7M”ê¬üŸP‚é0¸?ëÞýš¿È£çDš5<Ž,ïÏÆÞ©7Éöj'Fpã¦Øœ[XûKì)! X‰ÐífÅÏYD&ÅnÃèËb÷Úõ4Çѧ‘ ”ZÛL&SÅA^õ›ÚN i BC°š4\Çö±õ—õ¤wbx[ * Ð¬K/b>ùo4Ò»]4f×6®ØH~üùtjª€_ïAÖ~õ\-Ð;œ£;þàP‰J ³6"6:˜Š>FãÉ´Ù2Ð~ìl–ÄBqC4Ýnø7Ýn¨í‚4@rì…B!„B! òÖv»´´4 TÐâÐëõ¸Ýn|>999(Š‚ªªx½^üþ‚\óóóINN® U-ZE³(ý­S[³ -Rñ¥m#¼KKÂËÄmuMûsUO+}À¢L'Jpc’ûßÈÐÍ1øÕ ¾â/âÎÛBY¼d óg,Æ©°Eµ ßU= ¢û3zŒeß®àói_“0Óš^7§ þê6_<­4”ƸmL8˾]Á7G®WÃh ¦UWžd?ˆúÄ p”ßÏàõ%Fšö»‰Ñ½ƒÐý¥–‘ãô¡˜BˆjžÊ%£‡ÐÖ¢¨ ‡¡3 ÅVœ@ &ÒîdÍ/ËY›ãÀ«°ØѾÁJ¨ÝB…tûdåyÊ­ƒ6›­Ü–¼7ndàÀÕ~¯B!„B!„B!DM yXø Ú>þóó*¾ªe&­Är­œ‰j¾®ÎßÊæ+[VuÕ&-yëÁƒ3xðàOWõºp”ÓÛ¬æwãȯ`'M¿·³œ=i|6é+vœ8°, Ö}$wŽCh—OEÙ¨~¼n?•xð:91¼¦âu9NÜOóárøjtÿꔳü<@ó¹)œFÀë¦ìaõº]•Q»L&~¿§ì'YÅçÊÇçª^:šß#×]îg¿“œcΓ.ŸÅb9É®š…B!„B!„BQHWÔs;®Ÿ\A7 ŠÞXqKD!ê©   €r½µËb±—M!„B!„B!„g òФÃh¶Pq»A MzgEQ°Z­FœNçIw«^Ót:]qy„B!„B!„Bqv’ ¯¨&= —>Æ‹åŒ/[’&Q\Ñ@Fìv;~¿¯×‹ßïGÓ´Ó^'EAQ F£“ÉTí}m6Ûi,™B!„B!„B!N òŠj«h|Y!DEQ0ÒŠV!„B!„B!„§•®¶ „B!„B!„B!„¢ú$È+„B!„B!„B!„õˆy…B!„B!„B!„¢‘ ¯B!„B!„B!„BÔ#äB!„B!„B!„BˆzD‚¼B!„B!„B!„BQHW!„B!„B!„B!ê ò !„B!„B!„B!D="A^!„g‘Û¦^MïkÞfG ¶Ë"ÄÙ¬®Ô5?›_¿šÁ·~È.µ6Ë!DÝá^ú½»õâê×6á,g½wÅS ìóK]e×øÉüí &=t+Æ  O¯Þô¿àrnÿ"³×eà=eB!ê>•ÌõðÄ-—1°Ooú]p5÷¼²˜N­Žlw&Ê\yHúB!Dy$È+„u”¦ix½^999dgg“••UjÊÎÎ&''‡üü|¼^/šVÿ¾økY ?ü%~õ7ì2Ñü“ºVþ¾:š§Ò>%[MRˆ³`÷쉼·©¼0oy<ü9÷AFÝ1‰Ÿ<í¸jÜs¼öæ¼ðÈô¶þÆ»÷Žäž¿ã¨_3„BˆåÝö>ãÇÀžÖ·ðü´™L}êJÂ×>ÏØg—rX­ýíÎD™k#I¿êÿBˆ†ÉPÛBq"ŸÏ‡ÓéDU+ÿ¯iš¦¡ª*>ŸNGPP&“é •ôŸRÉZõ=ÝMÑ Ë DCðOêZEûêˆú$¯ÖT…8KâsaäjæL|þ3µòí}ÛfòÔä_¿þu¦ÞÓ»R´¦3=^ÄàvãýÚã¼ÕþS&t­"1!„â¬å`åG³ØÕævæL¸Œ@2ODf1ê–w˜½õ|îM5Ôâvg¢Ìµ‘‡¤_õÿ@!DC%-y…¢Žq¹\äççWà-ªª8œÎê¶Ü)ËϦW‡2øé%l^ðÌâÃj=L_!„8Nÿ©'ÒÒÒØµkWñë¢Ö{eç‹‚BŠ¢ÐºukÚ·oæ +„8e.— ·ÛýÓñx<(ŠBPPÐ)íŸûÝDžuÝÍ“SÇ‘™çðÿ~”{ò'óá„îØp¥½ÃØ»çÀ¿î扻ºÐDŒmK§3eüíì{~Oô‹@q­aÊøWHë=çîëH#}>;7³)'šH½Øq2=ú.FÌmÃ¤ÏÆÑÉŠÞˆ¾Êjä®~™±}Gäðyí?©„yö±vΛ<¿êo´Èã[*†|2…Ð÷–'—Üó‘Õ¼óŸI<þ|,ŸOJ¯JÊàÙ:{Ç~ŒðýL|° ‘ù¿3oÒKÜ;AeÆÔëI¬º BÔsu£®U¼où·9òþ÷ÏùïãéwÇ“æeç‚g¹÷…¹an©#Ÿä­:©îç»—îã©G_§Å¼Çé]Ø8Qê½8h>/jüp¾m97½õLë?“{Ï© n`7›6gcíÒ‡N}mз¤G÷hf,ý•mþ!ô0ž¶¢ !„u––³}¹ââ£J·šÑÇÐ<¤ïÁC2Aµ´]yWúš.smäQóéûÉ=š…3÷Ùžú˜¾BqœyëUUÙ½{7#GŽ ??³ÙŒ×ëÅf³¡ªjñXœ@ÁÍNEQ˜5k©©©(Ê ã !ê ŸÏW#Þ"n·ƒÁ€Ñxòwb5ÎaäCÃéYpþˆî<’'ÆüÊU/}Ìw·tãòÈL–¼7‹=íÆ2÷Ñá…O™¶ ErB³¯áÁ7æpMŸ»h•·½9v:\p]ZYˆoÑ–îEL˜ô (:Œ&¦ê^•ÔC|ûá"ŽuÇ;÷_D@<‰G’5âFf–ÜÖÒ…Ñÿ×åøë„áÜsõVÌÜÄÿPz+(ƒvŒeÓ>ᯖ£ùôßW’ hÎ`Ó1ký0þÝ£¾t‹-Ä)ªCuídΚ®##¼‚¶ `"ièõ šùóbïfÂ5çÐHÇ .bæ·‹Y¿+@ïT½Ô{qöP1ÐâšG¸uùM¼3qýgÜK¹q^õ(GŽBdãh*þÆ £Q“(tyG8âÒÀ(¿/„B4<š#Á[ËvŒhÆl$p4§–ZÚÎZÎ幦Ë\yÔ|úÁ xòs¾g¦q¤mO}K!„¢˜t×\x<Ìf3‡ƒuëÖá÷ûQ…œœŽ9‘#GÈÊÊ"33“ÌÌLvîÜIff&ƒ¯×[ÛÅBTÓ©w±\yšE-ýO†¾Y’ÃJþrPˆèÜ•–­¤íðƒo+¿nö‘|n—¼’(6º× ëþ l8¤¢‹êÇо ¿ƒgf~ÇÖÌ:'ù¶±ù•V}z]2cKºtŒ¨ââ¦#2: ¼<•ß~Ùä%©_?âK´ÜÓ'¦’bËfë–ýœ|‡ÚBÔ3õ´®é›´¦Uh‰s˜ÎFˆÍ@TR% m³‚ƒ|§zÚÊ"D­2¶äºGn¢ÕÙLœ¶Ü¬ö C¹³(„¢*¼VÙ–¢¶¶ÓTT5@ P0©ªV?ó8ÕýN&}SM"ƒ v©é !„…¤%o=PäÕ4 “É„Á` 77—ÌÌL222ˆ‹‹#<<¼¸Åndd$@‹ÅR¼oÝ`Ï7“™¹»+cîèO#]€½KßâÓ=¸åÖ¾¥o W'ý=¹gt"ä ¨ç<Ocðj8öm`Åê4vÉG5…Ñ´uWúõN!²’†ºªªâóù0™N®å™b2c.S¯«`œäåÐ\9äxì¡ö‚<ºÐ0BØJv®ÍšpÑĉÿf6ŸÎ{•ÛÞyžæçã¶±71 ÞrRe*Ióä‘çS +›¿ŽP[©ÛÏÞƒkøì£y|ÿësŽu“Ÿ•çáÎ&Çígû{#éÿ~É5*>O€¦yTäi)qv«Kuíd( –r¾M¦òÃSÚÉ•E꽨OLÉ#ydÔŒžù¼wÞLîÔéJ×]$Ñ‘pìÐ|PÁ *™‡2ÑB’htj#A!„õžb )x@ÐQöÛ©‡|‡-«R{Ûyx’A¾ÅYøÝÖÔûI=Uÿò8ÝÇýlK_!DÃ&AÞzÀëõb2™PU•¸¸86mÚ„¦iÄÆÆÒ¬Y³RÝ4çççãp8hÒ¤ ƒÇSË¥?‘N§¾ð©BHã´F'ýE¥t:BÔoEu¸Âõ‡×±ðëÍ;æÚËc0ç§³vér,ÓqÍ…­±URŠÎ!'CËÍ!¯L$CË>F–L´MF¨Ycv.*!¥ê¡š›M!„Ù ¥ õ’1L¼ärvü'OâÑ;2xqÎSô³ŸT±Š)æ`‚ ™yùeò×p»Jœ÷kxùŽq¬lyO½ø$ãìÜ…÷3ä¥*ò°„b2:òMžº ¼L`HÁh–‹¨8ë5´ºV—Ê"DÍ1‘rã#ÜðÃm|_%k½¤oL#7nWžßšFÁBštàÂË{aß»ŽßUÞÆ­ªr¹ûÞįûJ¦«²wÅOì2¦Ð¡µŒ©tëhâÏ•«È(•½“_Z3¦3—½Äè M¾€»Ijîf6í)(—^¯ŸßÉô*mlCjk…ë6Ur?õoÒ~?BÑ;öïZÇú#Q y==âí…Cúؽs%J¹e0´£K»ÿØOplqq%§Xš„ʸœ¢¨Cuí”Î'Kê½8[™Ûqó#×·wÿýô¯2Ýšéråe´Èúš7ÞßLþ uÌËÞù¯3wWS.¹¦vùÎ.„¢¡2¤Ð§‡í?®,õ;Ø·óGVî§{¤‚1ji;%¤­SÚÒ¶mÁÔ&>}=Ìã´wÏ1þ>ì,è1¨>¦/„BªÉkCe?÷Ë[§T1_¿J5_Ÿì¤+œÊ›W(8nñãÆXÉ{®1GŽAUU~zï]ï3f7£æaß_i¬^ºšc1©ÄˉDœåêL]«è\¡çÐÏsX”ц«®èD¸Rp;þºð}hÇøõ‹ùü7”áÝ?å¨9¶°hÎF†\Ϲ±zP‚i.õ^ÔsþËøpµ… nèGl‰_{ÆÆíIÊ[Îì%[ÉU9ÿÆÁ´,òAߨ=¬¿3ïÝ÷ùf‡½|ùGÙ¿}ßÌ|‰í&é®y|H³Â‡8„Bˆ†ÈH³æzÖÍxï2£ˆ‹2û×ÿ˜úßilI¸'Fw T©ÍíÎD™k#šNßÁ÷O_ÉèÿþLð—Ò!ÔTÏÒBˆ³Ï3Ï<³Ø¨ ªU4•}]r¢‚e”™?«Ig[õ€ÛíÆh4b4±Z­E!77«ÕŠªªdffަi(Š‚ÕjE¯×ãr¹Ê¤f!©MsXœÎ^oWÚ™<ìÚ–ŽÁÄÁ’Ó»a ø›Ý{ý4í“Lˆ9:×ï_1ß!׌¹ŠD;äîZÁœçò¡{w^ܲÜñïªR¶ÛeNÁ½u!Ÿ{1lô#$Gšðú•ϧÍaÖÒpîšÄ íhÔlÒæÄâÌn¸ãR’Ì~ž¿Xúébö·¾‚‘—· Tç"ëànvæ‡c—6좎)Ù"ÿîQèÍŒºgS¾|ƒŒº HâÛ÷çÞIcXøëÄÔu4:ÀËoßÅðÉ’ozƒ··­â)$…°þòæ³o3iúKÜõaZHç É‹Vsÿ§…[E]ÄCO§óüÔ)ÜqUºÐX: ¾…¿”ÂÄ;·§VQ‚ÚÝÆï4á½wçòêø79âÐ0‡ÅЦǥÜn’_W¢!¨;u­ü}“küK½g/+n˜a+îföÁ²ë,$_÷ µþ’f-æ“ç?##ׇ!¤ íûp딸²[“¿ƒ !„ Œ>áZ^|MÇkSÞãÁ›á jJ»þwóڽÉ×Õþvg¢Ìµ‘GͦoÀŽ5,šHK}L_!„8®&ïTÕ‡–¼º2ó%§’Ëô…SѼ¡Ä¼0}öîÝû\%ï¹Ælذ»ÝŽÍf#** ¯× À±cÇðù|¨ªŠÝn/·×d2qäÈòóóñxi1A;°sézÞ;ŠnvõàrÞzw m'ì[2…ië¢öÈt4ù h è x~ûˆ—æûrÿºTÙçrA:ïïîÆØÛú©+ÿõ´µQ\ñðÍt±hŠNGöª©L^“ÀÍ÷þ‹x}á~û{qßMíÈX4“y;c~×Õ´ òá×@Ëý…&ÿDôMã¹4A(:=zEÅç 4œG9D½••Uá:-ç7æÏI£ée×Ó«TÈ*û¾ŸÅŽ>Œ¼$k%采‡—z½qãF†ZΖ~6½z%c6]Á'3o&Q~D!„B!„B!„8MEyXø(h½(üë/1(1_ÔÂW-3UÕ˜j¾®ÎßÊæ+[VuÕ&-yë§ÓIDDAAA , ‡F¡ª*š¦¡Óé0áv» Æëõ’}BzJh"-#—°u÷aÔĦøwÿÁ_J †uJFY±†í9èÚ9˜Ü=»9œDR£û†7#ÚPàÐ~Lq-h¢~ÏC*]Bj¦p%<†¦¦ù¨ – ðx(9r©¢øØÿý§,ø#’KïVàPìméÞöG>›õ.î^}èÑ© 1!N~tR!j™RÑÃZñ• ÆÛ–BëßãXÊcWLd•·¼•:š›ÌGc;ÈL!„B!„B!Dƒ%÷Èë·Û^¯GUU²²²0›ÍØl6BCC1hš†×ëÅårqôèÑâ.šFcã|6¢e’Ÿvï%O‹âж¿Ð’.£¹1]²‰O·ý…«Skö¤ÿ¹e?bJ´äSŒô¥"JšÑŒnJM ó¬˜LÊäSÍÒJ=Þ f¬âëŒø¼<’ÏTb®Gô¦ü¸ò¦/_Hd›î Ô¶QÆ)§5EQ” »UVÌ,xñxÊ®÷ãñЙ-Tö‰V* ×QÖsyàƒO¹»Üá`°EÊÅK!„B!„B!Dƒ&÷Éë§ÓI^^999$%%¡( .—«Ôx»š¦¡iz½žàà`ÒÓÓÑ4­œ1ytÄ´liÃnöäG²çO?I—&b@G|J2†¹;Ø•o%}/$\WjœOÍéÂU&ð¢9òÈ×,ÄÕB¿®æV\~÷PÌËÞàÃÏ¿&öŽa¤w­á÷ˆîp7t‚;#ï,`{m‚êYàKœÕ* òb#Âê##Ûo?þ ƒšKv6Ø“B+}¼¢Þy• "šÕv)„B!„B!„Bˆ:K‚¼õÀ’%KøüóÏK-+´©(8RºøV$hß’¾ÞÆ.oK†$´Ô'´%I™ÏŽõ!ì÷ÆÒ'Á\º1mN:»©Ä5* èªݾC†8z59óA^%<ŽfA&Â/¹Žs÷½ËÂ/ÖÑdD¢Š#^ªß‹ÛJx \CúK«ØwT¥MlÍ´:¢& †âñ¶OMbb›wí&¯}ì…•2p4]ÙÁ4oQiwÍÃÉœê tÿ«Ob!„B!„B!„BœYä­5jD×®]™j¡Õ±•0™L•yšuéEÌ'?ðíFz·‹Æì:ÀÆÉ?ŸNMŠ£.‡Ñ(Ý“ !„B!„B!„g òÖv»´´4 „NWœÔëõ¸Ýn|>999(Š‚ªªx½^ü~?ùùù$''Wª­¢Y”~„Ö©-1/7Ñ"%_Ú6»´$¼LÜV×´?Wõt°rÑ,Êt¢7&¹ÿ Ѓ?@Åa¦ÓL  FôáÚ¡é¼þÅç,‰¿Kâ‚Ðý¥–‘ãô¡˜BˆjžÊ%£‡ÐÖ¢¨µÂ q"ƒÁPü Æ‰4Áí¹ü:…åKW³xn.>S±)çsÝ€T¬>7 ÒÕét˜L¦ Ö !„B!„B!„¢>ªÉ¦—•¥UÞ:¥ŠùêüUªùºhÒ•™/9•\¦/œŠæ %æu€è³wïÞç*yÏ5fÙ²e|ùå—*¦×ë5jݺu+w½ÎDIGÀíÄ]¢ b°`µèѼnœÞ¢ÐQ€}K¦ðþžîŒ½s1zEM%à÷âñV?À«7Y±èý¸\^Ôj¼..—тդávxoçÃåòo§3Z2éð»]xT&³ ƒ^Wø¡ÐÐ|^/>U"¼¢îñz½8Ž ×+ V«“A‡¢©ø½nœNwex±Ùlå¶äݸqc¹]¹ !„B!„B!„gŠ¢(« ¿þóó* •˜/¹L+3_r¢š¯«ó·²ùÊ–Ug]µIKÞz`ðàÁ <¸ÆÓU½.åô«ùÝ8ò+ØIÓÀïÅí,gGOŸMúŠå6)Të>’;Ç×IÉ0V Š×ÅYûÜ8|•o§–Ú&€×í¢¢p…¨kL&~¿ÇSîzÍïÆ‘ë.·~”Çb±HWÍB!„B!„B!ÄYH‚¼¢æ˜ÛqÅøä ºAVPôFôgºLBÔ3AAAz«Ëb±§%„B!„B!„Bˆ³‹yE Òa4[¨¸Ý †&½$ Q)EQ°Z­FœNçIwÓ®ÓéŠ÷¯J~~EMö…B!„B!„BQ—IWT“ž„KãÅrÆÊ-I“(®5Âh4b·Ûñûýx½^ü~?š¦PÇEAQ F£“ÉTK%B!„B!„B!Ä™"A^Qm•+„8=EÁh4ʸºB!„B!„B!„(EWÛB!„B!„B!„BQ}äB!„B!„B!„BˆzD‚¼B!„B!„B!„BQHW!„B!„B!„B!ê ò !„B!„B!„B!D="A^!„B!„B!„B!„¨G$È+„B!„B!„B!„õˆ¡¶ „BÔœ;¦ßÊØ•ýxkÚ-$ék»íbÜ—Ï2ÐRrŸ£¿ܹKX³e7‡r¼B¢ˆOéÁ «®eh—ÆÏàûB!ê&•£g3uÚ׬ýë~k ©ç_Ϙ[“¤ÔíÎD™k#I¿êÿBˆ†Hn… !„¨UZö·æ±Ïb«xúõ©¼ú𥄭ŸÄ„–“©Öþvg¢Ìµ‘‡¤_õÿ@!DÃ$-y…¢†hš†ÏçÃçóá÷ûÑ4 M;½wCEAQôz=&“ £Ñˆ¢Ô§§;U²×¬à7wc®nÐeø'ê{ùEÃñO>«í«#™XSEâ,¡Èàˆµ|ñÊLúN½‹öe›ó–áÛñ)ßÚHø°yõŽs)þ*qÝúf@›sÏÛÿazÛéÜÛ©ŠÄ„Bˆ³–ƒŸçÌcwòM¼ïÅ4Ó$ñPD6wŽÉçÛûsGŠ¡·;e®<$ýªÿB!*¹2!D ðù|8NTõÌ>ZYHVUŸÏ‡N§#((“ÉtŠ)úI{c$OäæÿÚofúœŸØ~Ø !ñtr#wêK³â¾Ur¶.dÆŒ¬ÜºŸì€•Æ­zpѨÑ\Ó-ºð£áر˜iï}Ί­{Éö[mG›^ùëÎnìóž[°‡|Uã¾A_zFNeú­ÉTÝû«?Íà­—²qO.JXs:Å…e.mšãO–|ü)ß¬ÝÆÞŒLò•0:á–{o¢W´“5¯WV•œßðî´ù¬Ú–ËØˆä¾Wqç]WÒÎ^Í`º{ßM‹O¿Ocï1U£(ôoH¹ƒo'û­‘<žs ÿ×ñwÞŸódä£ kA÷ËïâÞ‹Œü0}: VmçCÁÞ¢WÝ}W§ÚQ´¼*Ê/DM¨åº’_ɾ-ØúÆÆo¾„io ¹®àvJõ©øÔ@½¢–iÞpÝwƾÃ+œËÔ;SOè¶ù8›¾úšÝ¡ƒyþ¦’Þ"f®¸“+ÝÅçóWqSÇAHUBÑ ù¶±~“›V×õ¦I‰¾-Ï¥w³9¬úy7£S’Ð×Övg¢Ìµ‘G§ïaÓ[·ñØòDî{û).­oé !„ÇIW!þ!—Ë…Ûí®íb ª*‡¿ßÕj=ÅT4ò~x•\£yèÕ1´„c›çóò³ÏðPþó¼so‚poÁ„¾€óoc­i¬ÏbÇ÷ñÎc÷sà©7™Ð'Žž·{­Ýïåñ;Û¥wp(} i¹ׇÐlÌÛ¼5žÛ$3qæ:½¡?Z4òÖNa³?~ù=<ÿX ¡ž¬Ÿ?Ik¢FßRÑ;8|8„^#&pwRcL™k™ñâ[<7©þ÷BºWR϶yxÂ\|ïâÉ{:áØÊ—oNá¡'TÞzu8Í«,¨›_ßy”—֟Ä—ç2 ÞÀ‘õðÌÓ ±Ý<‰G.N$BÙhäÿ4™—wòÈkciê%}Ñ <4ùqn›NÊ5óÊØvDhóÃk3ñéwHüh݃B*-¿ÿ\ݨkï(·Ì§VŸ öþçõ^ˆ:ÀïC½œûGýĘi/óAߩܙZA˜7°—Í[rêØ“ö–ò7AŸH×.Q|²ü7vøÑUçBÑi¹8g&&6ªôøwúfÄ6ƒ¿÷ìÃK–ZÚ®¼+}M—¹6ò¨ùôýäËÆ™—E®§>¦/„B'AÞz"--]»v¿.Ù lÉù¢V„Š¢ÐºukÚ·oæ +DR—¼%y<E!(èÔ¾þk´ãšû.'5¢ ©NÔ9×0aô&F½6‡Ftæâˆ£üoæ<ö¦ÜÎã/§± „¤dì97óø{_pEÏ[i™·Ÿý¹vÚ HÇ–wŽcÚÐ¥(#ƒ “^E‡ÑdÂTÝ«’z˜ïf/åX‡1LsAaþq40‚ìÛïâÓ’ÛZ:2ꉎÇ_Ç_ÎWüÕŸ¦±Ó!Ý”AËâû?cWâH¦¿”x}Ac:Èæ;æ0oãe<еŠÓþí¬\Iò°Q L°¡štÁUç3iÛA‚‡·B¡`€QMiÏÕ÷\B›p0ÒâÂáœ÷éJ¾jz÷]™J” †ó®¾€Oÿ·Œ»tOÑ£;Õc(DuÔ¡ºv2ŸóS­O5Rï…¨ T $\9Ž?ÝÅŒW> ï[wRnœW=ÆÑcÑ+ŠŠc·:¢¢£Pò2Étk`”¦¼B!Í™+ÁAe¯ƒf‚­FYy850×Òv'¬> e®ý`Î}è#f1¡CÛWßÒG!„(&·‚ëUUÙ½{7#GŽ ??³ÙŒ×ëÅf³¡ª*^¯MÓ Z´(ŠÂ¬Y³HMM­gãs Qø|¾:à-âv»1 'ßÜF×$™V¡%Ï áçt"1ð)[wú¹8d›¶øHº©J>bªÓ¹og¬K7ñÛa•V{sQÏOyé¹qx‡_ÃåÿêC›Èhþãû“-;$ÝØ­tþÆD:¶gVZ¥ïŽˆF‘(^žÊ6óoccš‡Äkû[¢åž>¾-ml³ý¿Q»&”~¶,ÍÏzCɦ:t:PÕÒã5ë'‘T²ÿK]0!Áz"[¶ ¬d&Á!ØpïTAÚëŠÓ­ÎÔµø“*ö)×§š¨÷BÔ%ÆD†»c?ä•û2õŽTôTðÛ Ú¿ä·…Bˆ†­º—Ì3¾¦¢j…í@P”ãßZëUÿp¿jmg ¥qa¯DE¿ÌëUúB!D! òÖ³ÙŒÃá`Ë–-$''c±XÈÉÉÁår¡ª*ªªâ÷û äää†Á`Àëõb6›kû-qVr:µ]„*9NìvûI?졘̘Êì¢ÙÂE^~ÍGžWGˆÝ~B°CŠmääiд1ƒŸ|—Øe_ðÙ—opßû“ˆí}7Ýv=çÆUÔ'dÕ4O>ù^!¡eó×b.µÌwèæÏþ’¿íä`–» sWŸçVž‡+‡w€¿fÞÎE•Zƒß£Ò8߉ •{ mèÓ3œ§~Êêwл™ìßæðåÆ`z=Ð’ggÅlÁ|¿IÁ`4–;]+o¡5«.Õµ“qªõ©Fê½uŒ1éÆ]»‚{>y…úLåE)]tDE@Öá#øh]ÁãC*G…D¢Nýò-„BÔkŠ-NòeŒyp8}èƒm)µ·oåD.{â;Š63öxˆÏ®yœîã~¶¥/„¢a“ o=PäÕ4 “É„Á` 77—ÌÌL222ˆ‹‹#<<¼8ˆI Àb±ïÛðØ»ô->ÝÓ‰[níK´Ü5Ìãñw^ÎK˜µh;A=Gp]÷ˆ7W5û6°bu»ä£šÂhÚº+ýz§p¼Á«†ûðv6nÜÊÎý‡ÉvúPL!4ŠoC×ÞÝhZqkNUUñù|˜L'×½¨–—K~™H†–sŒÍJ´Mb±bV9˜“‹Š­TÀCÍÏ!öÂw©'eÈ­<9ä&rwþÈœ7ßâ™q‡yfÆÃô 9©bSÌV¬F•£ùŽ2ùk¸ÝžãñOÇ/L¹ïQÖ$ŽæágâœX;FE#÷ÛGöZyXlØLzR®}…G†• )B¢ª¾ˆ*Áôó 7<ú Oß²Œ £ è6œ{÷‹ÜÒ?\ÚB‰:¯ÞÔµR—Ê"DÍ1‘|Ý8®^y³_ý·Y0+Žã«õñ´oÊ'¿üÂw_º”Ä ìaÃÆ#˜S;’,•@!D¥„ÄîáÏýGQirü»qàoöÿ­Ñ¨w3̵¸®ã­¼öÎpŠ:R‚›bO¯wyœîã~¶¥/„¢a“ÐW=àõz1™L¨ªJ\\›6mbË–-„„„йsg¢¢¢Š·ÍÏÏçÀ <žJ;H<+hŽ|2e»%—*„4N !¾V‰¢ˆÓ ¨kôêÐò·óÊC˜Ã̘M¥O»ÃëXøõFñ¸ö¶;¹ùª„ÿý# –m'¿(zâÏ`Ã÷ë9’BÿË®ç¶1c}u?bòã›+Ùï¯<¯×{’ïÔ#iüv d[eÿêÕ¤[Ó6ÉÆ¶tioæ¯5k9\*Öíä·Uq6;‡'<]¡ÇÞr ·N¸–”¼ßIÛWp õz=ø|øN¦eª±m“tüµa#Ù%÷S3غ5³¸ÕŸÏ6fFÒïÚat³!ègoúJþË-ƒ¡ RÍìÝ~k³bbJNÍhl¯^àÜóçw,;Ögf-dáÂ/™;ýîÒ’à<7Ò1¢:êP];#Ÿóª÷BÔ9æn7ŒØ}Ÿñêg»Ê<À`¦ãЋHÈZÂ{ŸlÁqBó±ïëw™¿§1C®ìƒ]¾[ !„h¨ ­éÑ5„?Wþ\êw°/}«„Ó¥k‹‚1ji;ÅÖ”VÉ­iݺ`J޵£¯‡yœöãàÉâ`faAõ1}!„¢PM^*û¹_Þ:¥ŠùêüUªùúd']áTÞ¼BÁq‹7nÜÀJÞs9zô(‡ÈÈHV¯^MÛ¶m‰‰‰)nÝ[r2ddd`6›ÉÉÉÁn·c·ÛÏD1k‰†cë÷,ÝÌ9=“-Ž))Çv KJúÀÉvò(DÕœN'šVHƒ–Ö%ß²;þ<:Ò9ÖŽ”&–•—]+—±Í6€—¦`×ë0…4£u¢Â¶Ÿ~Åמx›úpÚôêÃ9‰µZ0èt˜lIjægÛÆ](ñ©ÄÙ*¿ãj±”n–“‘‘Abbb9[ª^÷KÒ²/íÁ1Ñ“KúÊ÷yiÚ:,ÝÏØþÍ0)AÄÇ«¬ýä#– %¶± ò÷óëüט¼ ›ž÷=Èe‰VÈú™YýÂ1½¢á>ú«?ŸÅ·Zpùç‘`ÖarmcÑ¢Ÿ9Ö–ÖòÜzB¬t©ZD±ò7K>ù’Mþ¦Ä72ã;ú+?zßp* IDATÉÂ’Ê%C;i8Ä/_-g›¯ )-ÂÐrö°qÑÛ¼¿l?9î&ô»®?ÍõJùe%>ÖÇêg²l¿P» 5ÿ(výÎÚåëÈjšBl•‘Z•¬5³ùøw3©)їűcÙäû ÛÌ…áÂc~(™¡—t ¬(I-‹ß~Í®˜ ¹¼KTñSYšcK¾ØLèùÃéÝLTPþªŽ¡ÕQgêZEç }™úóë“b­z/Díò§ÏìufïML‰_{†è¶´püļÿm'Oלþ× ±°U®>ª-í¬[ùræ',ûË^>ç1üù+ß}2™Wfï¡Å-Ïðà ¦…q!„ ‘¦qz~ýø¾?Al”¼]?2ýÕØÖü&&ŒJ%T©ÍíÎD™k#šNßÁŠçG0öÕuB;»±ž¥/„gŸÿþ÷¿Ë}€JÁ ZESÙ×%'*XF™ù³št¶Ux½^ŒF#iii´mÛ³ÙŒªª l6š¦‘ŸŸ_ܲ0!!ßÿ“ÉTNK^7i³_f¾{ãnìJAoª®´9¼úÙ6¢ÿu/£ûu%ëaËÜ—™—?˜q7w!ëÛטåÄ Í÷ðݪ­Èö@P-; à_Rˆ¨ö#Î}¿ð¿åëøcßQœª‰ÐfÉt9o}’B ƒö|SE~:;Oã³uGp«ï=½ øöî;>ª*ýãøçNŸI!…$ !„Þ‹RE°"(Š(*6tUÜŸ»î®»îê®kï]Ttí¨ˆ]°­¢( Q)¡I/iÓçÞß !!‰@ðû~½Æ¹sË9çsîÄyîsŽÌc.áòc³XýæÍL)êÉÄK’a«[½Ï—flÞ:>ùü;Öî`:“ÉnÛaÃz’ã1‹àOóù`æç,]»¿éėܘfmú2th'Ò•#Ä‹+À‹Éöo>d®¿3£úg²zj•cb›X¿!FÓ>¹Øü!"»VMÈ£uÚ\–­Ù†Ù$›Å_R\åØeD ‰µ¤«Ç×Ö½ÙóÎ`ÒˆR^¿ïÿ¸om ¶”¨Ô|;I­N`ÒM×0¸iþajðËÞC‘x>}­úc[Õûx¿9\yé|ÞÕœ:çÿxuSÕm Fý›G[¿Ã‹¯Ìàå{¦³¹4Œ=1ƒíbÜmÿ`x÷,œÕ+""òbo~:7Þjã‘Gžæú‰› {šÐ¶ÿEÜzÉ©äÚý~£Í‡¢Žú-ßARz ¾ä ÒÜ ±|‘ŸÕç/U !“×Ve¹ò£ò:ûîGŲ£Ò² pýÖ¬Yó¯ýœs½Y¼xñ®! ÜÜ\ìv;†aP^^ŽÏçÃ4M¶nÝJjj*±X Ó4Y±bv»·ÛMÇŽ÷*/°ð¿ÜþއÓÿ0šn€ K¦ÞÍ[«l„2ŽáÊñGíÊ|‰­âí»Ÿa}¿«¸¨OëÞ¿É_”“ÞöÎÙ‡¼d(Y9‹—žy-íÏáÒ“Zá‰ã^û!OL™‹ÑíDNìS@š½Œµógðæ¬í´>óbNm›€AŒµµÖW€×i§tö#ÜùY3&\7‚| ŠFYûþ}lvl(bEY}º7Ó`¿;vì¨uŸØ–y¼6½ˆÖcΦWâVæ½ú+ZÁÈ®»çy,_Ê›ÏÎ¥ÑÉç3 §r牱rÆ|À±œ|«}>OVÔ϶µK™ûéümF0ª_&¶ZFNMMÝëõ‚ <¸ºÁ¢,zà®Yt “K ýOİØ1ëV&Þ³•“þv-£:gá±f„Ò óxò¯çÓηòâ5=tÍ‘ߤ¤¤¤ëÙ@„]Ù»±ÝÏÑJ˱J˾f•GmÀÄù:žçý-ïo]<Ûâ¦LÞ  ‘œœLbb"n·{Ïüš~¿ŸââbLÓ$99Ó4±, ·ÛMFFeeeƒÁ}Êóäµ&;òE?Åèg‡PËV¸é4¸3+f,ãÇÒÞôJ607¯bUyíóS0*fÔ3òtÚQd;ÃøýàÌéÇèWrû´9,˜O¤Z¢¼V)‹>™ÃÖ'síÈÞ$DcX¤Ðièx|þ;xꃹ]x,M+KµÖgµb¡¡šRu­—– õ;ZzbÊÉtTS¾™»‚±rƒ;Øî÷ѲKš¥Ú±H$)µ y†I$ûíŒ 5‹näË¿ÁÑg,½S¢„#ûîbE#D NÇîñN§ «Çä¯3zsgeñŠˆˆˆˆˆˆˆˆˆH¿“ËþƒAìv;¦i²cÇÜn7‰‰‰4jÔ§Ó‰eY„ÃaÛ¶m#àt:«Íä… Z$òiÑJ­ÆlZ¶«`-œÍ°ºx~ÙrÝÚ°zÕO¸[ §RÕp:°WI:´œnÜ„†L¨eH+"5ðzÜU·`º|xþ1©½¾øÆ’­s½.û$WZ»þ³k¯D:Ÿ=‰Ì…³øßgïòÄGo’Þ¶7ƒŽ@ûÆ Ùü†Qã\·ÁÕŸñái :·î@hWðßÚkk™˜–…Í00Ü<„ …ª–%Šas{öÚ8N·—œF™äå§3ýÑé|±¸-z¥QSÈØ¨1˜|˜2<¤f59Ô­¨]íl|Æ?¹ÉšÌ³ýÖï$ˆ‹„Ô&äu8Šs“:$¤ÆŠˆˆˆˆˆˆˆˆˆÈ‘DAÞÀï÷SZZJqq1†A ØÌ°, ˲°Ûí$$$°jÕ*,ËÚkŸŸÙÈi•ëë"V—¥³úÇ(§äáÀFóv…8^þ•e>V­–'åîFµüUâQVy)e–‡oíWÃíÃç´Ø^^Ž…kïj°œ>|>ƒŠ´Ü­ï—Ö[;‹hØAfçãÛcÁ‹øøõ×yù©bÆ\qm½ ,¨&uVs7Ɔ–Sóöƒ·ïɻӉí§ÿrÿ§>:vÇ6O!ÍaãÎr¬æÉ?.Ívî„ä‚F{ß6a™Äb»êˆE#„$2Rí¬ ø1I«ñ‹ºytºâEfÖáÙG&½Æþ…^cuCDDDDDDDDDDäH¢ oðþûïóꫯjЦ¦ŒÂ¤¤$†¾Ïz[óÖ´´ÞcÕW‰¬ ·bXÞ®|A{ËöÓøá«$Ö…›Ñ¯¥{ï€hñ*ж›äfTXM¶}¿ŒMŽ\ú4‰#èjË¥ ÏÉëË~¤ø¨Þ¤ì)›µÛLÚ6«eØjiðÇžù±÷f§å ñ\8 êÝ ;YøÆtŠZŒdD×4.;I^ž—oWQÚ©3ÁضU¬Ü™@‹5gçP¾õÛ!µMê~sÚ]êEDDDDDDDDDDŽ$úå¿ÈÈÈ gÏžÜsÏ=dff’Mff&iii$''ãóùp»ÝØl6LÓÄ4w  Ù¸qcµeîäøùhÞb¢ù'“ïÚ½ÁÑ’ö1Þ˜÷-ÁÌþäUIÔ¹/§½MÂÞ´L±QºêsÞùä'Òz_HG_ARÃK§!ƒøâÑxñ-;C{ç‘b÷óÓ¢yw¾A×±}ibTʧ£¾„¬¦$ú—ðżÎ$·KÃGZ²ãÀê­…Uö=³>ßAzAs2SqFvPôÅWlpçÒ/#þ ci¸\.W A^°¹¼$تô+Œ×O ^¬X Ó2Èîчœç>á½ÿ9éÛ!w`= f- ¬ù±tkj@ÔÂÜ4Ÿ™ß†hš×Œ¬´$<¶(åÛÖ²tÞ<Š|Ù.c?·98B\DDDDDDDDDDäH¢ oœœÌ¢E‹8î¸ãve­v»`0H$¡¸¸Ã00M“p8L4 ¬¬ŒÂÂÂJM$¿u&o¯ÚB›Ž­øy¦Zùíòˆ,ZFjV¤V‰SÙšäô£Ëùìí§y{«#!‹Âç1|P ÑXAR 22ab23ߛū“ߢ,æ"%§ }ÎÍÀ|ÑèÏ¥ÄSŸ=o0£mãõŸâþ÷40ž‹eP½µrz±mû„_ϤØÁp%ѸEGNž0Œö£Ò½r¤r8{n¬¨Ê2cD«®¶LL+F4Û¡kKèÄ©g|4cï¼\BÄ•B³vÇrÖ Žø"Ab€Ñ(‡fž¯X<{Ÿ•‰N¼Éä¶9–qý:’ ®á3g³Ùp¹\Õo‘©>'Ý_YÕm3jYŽçÙˆóuÅÃVe¹ò£ò:ûîGŲ£Ò² pýÖ¬Yó¯ýœs½™9s&Ó§O¯6˜´?v»sÏ=—^½zU»ÝæòâuÙˆý+8 ‡ŸÇŽâWdÆXûþ}<¹º7W\:ˆ»aìš#4&Ž'Àû3ÃæÀérâ°Û0ËŒ ‡ ֥>»ËÛiÇÌH€@ØÄîòá±G ˜q×KµÇN>—E°œqïBüÕlϺÁýþÈŒ@Õ-Q¶~ówÿñBF D¿>}xü©œwÍm¼øåF¡í"""""""?yEDä²v¼É5£og~ôP·dÿF;Ê{!r°ýÚ}C}OŽ8FŒ¢oæñ…Õ…y«âÇ—ÿs/¹›OC8}Ò¿¸÷Á¸õºóèëû†Ç®ÇïŸZL¹õ«¶ZDDDDDDDê@A^9„LvÌþ˜ÁCÝŽÚŒv6”÷Bä`ûµû†úžy͇pJç-¼tóãÄç,›Â ÷Ì#õì{yúžk8kh?zvïÎуOã’=Éä«Zóã£×óÐ×ñEDDDDDDä׿8Ô 9ÜY–E$!‰F±, Ë:ùb®¾h 9Ί}Mv.zG›Ê'ß®egÌG“¶}>árƵû Æ¢lÙtzàE>^´šQ)Y-èÐÿl®ºêhÖÞ5ë§®¢Ô´¸øè—;ù>Í —µÅ^k[Mv|û <ö*Ÿ.ZK±å#=»=§ÿõÆwrÅÙ¾]çû;/宋™üÂ',Z_LÔ“E»c¹úê‘´O(eöûk§ÉÎo§òÀƒ/ñ¿%ñ»2iwÌ®¼êL:72ê©‘ÃI=õ­ÄÝתà*Þ{èn¦Ì\Èêm¢¦EÅÖÑñ®k?“{_ùeý/ôÝã\tÉT_û4wœÒt×ÝVóî8«gwçö)W`=~‘úžq¬p:'üñbÖ]p?7O>†)WvÁWãÞ!¾zu+RNäž‹º“¼ÏŸnòϸŠ3^?_þ”‹{ £Ñü©!"""""""õBA^‘ýˆD"øý~Ló𜌲"àlš&‘H›Í†×ëÅårP¹%ÜÌËùûÓèØ¶.x‰ÿåÏü¾ìž¹¶7‰=Ê—¿C/ço—õ ‰};Ëf<Á}×\ÌÚ[žâoÒ0s¹ïš;YÔ÷ZþuUW2ìel\ñ- ‹3I·'ÓlÒ3<‘yç¼Ü–»§N¢› »3®ÀŠÿÛ‡¹|â‹D\È5·÷ Û]Ê꥛Éj¶+ Wûv—Uúá-ü½äBþr×+ôÌöà_ù·]s×Þ—ÍÔ¿ô¡Ï~ÚZ:™+¯x–諹ùÿz^¶˜Wî¾+¯5yêá³É³x"‡“úì[>Ì»o7}Ñ¿=ø6CZ:Ø4÷qþ|Ý4’/}„NmEªk³~aÿk7ž\< ïýÓ»ßÃi9%_<ÀÍÓmœ~ïÕôIIÀRß“# c6ÍŸ.úˆñý›É§pe—¼±"~»_~tóÖP ½GõÎä©óYÆQÎö‘ƒFÃ5‹ˆÔ PVVvØx«cš&åååøý6œ¢EÆýq43ÜØ 7™ÝÇñ·‰½Ùöæ³|°Ík ï?þ«;Läö?¦oû|òÛôäÄ+nço'Dy÷—ø!féZÖ'ÓùøãéѺ9ÍóÛÓ{È.Õ•Àæpá²`Øpº\»²‘íq¤Y[™9ù%V·»Œ»þ5ž!½;Ñ¡K_N<ëTz¤q·ïçóíȸ¿Œ£w¶6ó‡qþðv|1—åÑý´ÓÚÎÌÉϱ¼ÕnþËHzµnA~·“øÃõg“½è¿¼ðUøÀë9œÔsß"úŸ|º™v§Oàøü$ì6/Ù}/à¬Þ-YO¢Ïý€úŸ“ü³þÆí–rÿ¿_aÍöϹÿ?ïà;û.ë‘€úž¡b1LäŸy¶ÝÀ‹7O曚þ40·±e¤geRsìÖFF“ÆØJ·°%pxŒf"""""""ò[§LÞbÑ¢E¬\¹rÏëÊÃÅV^®F†A›6mèÔ©ÓÁo¬È  6Ü C¡†aàõÖ”’³ö춦Tr¤uïI«ØýåÔžK™ÿm„‹û‘Uùv!#‘^ÇôÂ÷î×|½É¤M“ ï?…] á³Ç1úä´o|`YÆD–òõ¢m.@Nu·+Eâl_öîómÚžvé{íHrJ”—R¶¿ß²#K˜·0LÁ¸4¯”ögÏëH»Ä§XºdæQͬ‘ÃI½÷­(‘(Ø•ófmØlf¥a›«oK<ý/›=—Ó®¿†/λ•ß_à¥8ý|›Ð‘_vui`œ­8ëºñ|tÁ»‡mîŒnbˆûÞÝ!""""""r8P·0M“¢¢"Æ@YYn·›p8Lbb"¦i‡±,‹XlWúŒa¼ð tìØñççùí‰D" :À[! âp8p:ë>¦¢árã®ré0|‰$à§´,†(¦8lÜ(yŸ!!lRHb);K,Èn‰7?Ków_äùWîâ¢Go¡ÅïFqÑãÔÜó‹ÏÍ S2h”Ú¨Ú!)âoßîsóúðVw©´ØoÉ î¤8åûÇÇ1ðÉÊ[L"¡MKË©Èÿ¥uˆNê½o9Ú3°zm Ÿöý=š9Ø1ÿY^ù*þéÆþ®ñö?`Ë:–3?ÂeSKpñ©´®‡{MD Wá8®;÷&Lù73…Km¶½Ã´¶t2Óaû¦-D †¡ÊM¶nÚŠ•T@†î9,(ÈÛ„B!Ün7ååå,Y²„ÂÂB<ÅÅÅLÓÄ4M¢Ñ(±XŒââbRRRp8„ÃaÜn÷¡>‘å@‡:>œøý~’““ë|³‡URLiEt¤bÝÎíì°ÈL´cxShä¶X·³“¤½‚=fÉNJI"%ywö4:ž<‘›O¾„â>äÙ{îæÏ—lä¶—n`@ò/;/ÃH‚ÃbSqé>õuhß…W OI.Ç=È Ç§VÉm2p&gê‹VŽ(õÞ·ŒDúNº ®¾œëƼ‹ÏåÀ›ÕžA“îã²cÓö›/X—þXü$w¿¥ëQMùò‘û˜Õçï HÕMpò[á¢Ýy×1ö“‹xöæÉô»ÜƒÛ(ûy³½%]:¥ðÔçŸómp ½«»»"¶Š/¿ÚŒ§KÚé‹MDDDDDDä° ÿEo*‚¼–eár¹p8”””°uëV6nÜHnn.©©©{‚8éééÄb1<ÏžcE$>¡P(Ž9xc”®ù–y –±zãÊBQY}=ºmuÛÏÜ0‹g¦~ÍÎ*UÚšôgÜ™=ù9dã·s˜óÍ 6î s$–]@·~}ö;ü±išD"\®º¥­Å6/dþZ“.y'd²fÖ§¬t¶ct8;Ò««‹?›ÍƳΠ{Ïyû™ÿéWøsN kVÕЫF…ÇsÙõ[Y0ú®Ž1 “ »Ý‘‘ºÄ[íèÚÁÎ}ŸÍfÓ˜Ñ4­ZUÜ틾åjÛéè@Î.æ|·Ž„ :“^mÌ(z`uˆN~…¾\ö.ïlÄmo\Ï€´êró¤ÿUö5ÿó9J‡Ýƃ×fðÚ¥øÏ­GÓöæ¡dÚöS¾È‘ÄÝó¯;‹ÿ]úÿy¾#†‘Ry#=FŽ ÿçxàÉyè²Î$î՟¬™v?/¯lÊÉ@²î9,(ÈÛ„Ãa\.¦i’››ËÂ… ±,‹fÍš‘½×0Íeee”——Ó¤I¡Pè·þгÊðü?Ñïò“hYýøsGdÝòËTô¥šEØ<ÿM¦Ï ’wtNÚŒ4Ÿh ÌÞé¤ñígEcX¾¶ ;ãwäVúŒvw¥!N-J½Çô9!Ú=“i8›Xú¿wøèu?γO µ¯æW\CêÂp¯ãÕÞNú§Ó=ÛΖ¯^àŽ'~ éð{9.Í#¡ŸËk—>Ìu·¹¹rTO²;øîýǸë-ƒ!7I[;XÛgñôó?ѼOò³Óp×3ê»ü˜Ð޳šÛƒôV­H)þ”W¦}Cö€ °¥Ð,Ó·ÿÿlYœpÁi¼|ÕƒüñƒËFt!Ã(eÃòe„ÚŸÉ‚øÚ?[ íÌ`è%c™6ñ®ºiœÒ“‰&eÛ7°bɲN>‹~™ZG-ï…ÈÁgߟIéÊÙkÌÖåKYšhǰÙñ4jBNÓdv]¹ ÿe”0ûžyÕÁ=Wõ¡‘Ë`Üõóù·ó¯é¹ç´lê{òáí|!×1‹‰ÏÍ'â¼×6Wûóùçï¿ãÊ{¯àüUg0æ„ÞdxˆìXÍ7¿Â‹ïm à²»™Ø]c5‹ˆˆˆˆˆˆ.äm‚Á .—‹P(ÄçŸN=ðù|X–…išXÖÏi'IIIlÚ´‰òòò=Çü¶Y”ÿø«£iüî7U·üR‘Hd¿ÛÍ-_óá—aºžu>ƒš@(%fZ¸|n̘¹g€Òx÷‹CD<©d¤6¢Qåh‚eÛ³_ˆõ«7âl?’cÛ¦‹Ä°¼Mè:ôw=<ƒÕ›b´Î«9ªR{àz_ö‚s¸îôb¦Þ~9·¯)ÁHÍçè³oáê {‘°»®vpï#„Ñ$m IDATL~ü%n¸èV¶G|4is4#o”sû5ÆXÎÌÕosßôØXÂæM§y§\y÷Dï>aWÏ \îzîxä2Fßã¡püv»@ P¥4m[À;«XîI7@ˆ•ËVáHô²á‡)î{)û‰¢5Qšö+$É€b›A`ñL‹žÀ™O'/JVÎâ¥g^æ™à9\zR+mKæÓ#Þèdmå$–±è“9lmq2׎ìMB4†E †ŽÇ翃§>˜ËÑ…ÇÒ$¸ƒí~-»t Yª‹D’R›g˜D"1¬h„¨ …UÍJ4ò4¢'™Žþ€AJ×þtùp1sÒrZŸlœ?~hû»ž4Yð5E›MZ7³UÆâOf³©é®Ùƒ”X ËèÌ)glgÕ½³ù|Uo†·2k®Û‘Ïqc ±¢»†ð%¹7'ö_ÀÒÖ²ÉìN’Ƈ<<™¥””X”|ó_¶èÎÀÓ%ÝYΚy3™1ý ¢£GÓ«±-þý°ƒÄ6|ÎÔ)³ðûÃàN"=§5]{÷  ­"wÍÂJíÅ™cíL{aÏ-þ‡i#«ßÆÿ.“XyóP¾/õÍ÷;þðôó\^mdÇÀ‘˜®//‘#‚ƒ–mò±žŸÆssZpJç’maŠ7­`ÁûOñЗYœtWw +""""""""R ýNÞøý~ÒÒÒðz½8<¡PˆŒŒŒ=]›Í†ÓéÄëõ IHH ³sçÎ}Ê3åÑ*ý}–mÆÌkJ´è;–ùŒêVˆ1k.ß//§g÷JV±-¡€‚ŒJǦf“éˆÛ|±bQ\¹ù41?fý&“qF'k-Ç»žÕkbä_€'Ù“¤hšÍÛàùºˆÕÅMSÛÓ»ýÿ˜úÂcûôã¨nmÉIrTŸÔXMÀÈHmJ†#Ê®•-̨·×FrÓ œÑØîCLb7‚„» ‰ýDÑê(Mµ!)RÑ>3%‡fÞr֯ߎ٪Ò·OÝ1ÂÁÊ­4q'&A4º+0,‡'3JÄ´ Ù@Ο…_¾ÁëÏqÝ+eÀ /iM½‡º"ò«³‘?öVn3ä©»'2eÝ‚–‹Ä´lZuîËþƒS;'êFŠˆˆˆˆˆˆˆˆ–äm‚Á v»Ó4Ù±cn·›ÄÄD5j„ÓéIJ,Âá0@€mÛ¶í¢ÙétV›É ´*HäÓ¢5”ZÙ´l9VÁZ8›a+tñü²åºµaõªŸp·@N¥ TÃéÀ¾;;µ‚åtã&D0dqyk)Ç ‡D ¼žª¡+ ÓåÃC€@Ðé|ö$2Î⟽˽IzÛÞ :ní×>ƒŸátâ¨Ò,pت¤üV ]»{?+ 1Y?ã~nú`ïöÅ"©¡È~‡—Œî\Ο}ÉwEÙ^¾k_+$FÇz([êÎ0Œš‡7¶;°6š´ÈÂ* F,à¤qá-%,HŒw?b¶$²r’±b&Þæ8®y ÑÇ_áÛï6Ó¡O6k'ß¼÷>ß'Ïù§wÂbtéÁQ+gò«o2Ów6'µM¨ñ³cuùT9èzÍÌ©Ã""¿˜#‹>çßHŸóuCDDDDDDDDDy¿ßOii)ÅÅÅ`@`¯ùv-˲,ìv; ¬Zµ ˲ª™“ÀFN«|\_±º,Õ?F)8%6š·+Äñò¬,ó±j ´<)—ÊáNË P%þe•—RfyÈñV ¹fµ•c¸}øœÛË˱píƒ –À‡ÏgѰƒÌÎÇ3¶Ç0‚ññë¯óòSÅŒ¹â4ÚþâdÀý§Ó./^‡ƒ.eL·Ä½ƒkØžšÃÝ¡å¼óä³üÐdgž6 8 ÿ¼Éüãµ_Ú^©/û òÚ’II2(ÚYLŒ´Jÿî1Âá†Ã‰Ã¨Ã~°+;¸Òܳ±X” ¤§Øø1¼û€²5mñÒþ˜Ö8ÊʃØrúó»6‹ysåzÂm kÌæ­[WDDDDDDDDDDDw ò6ï¿ÿ>¯¾úê^ëªmj J%%%1|øð}ÖÛš·¦¥õ«¾Jde¸Ãòve½Ú[¶§À˜Æ_%±.ÜŒ~-Ý{X‹WQ´Ý$7£" k²íûelräÒ§I‚¼µ•cË¥ ÏÉëË~¤ø¨Þ¤ìiDˆ¢ïVJïNË䊕f4L0 Fj;Ž?£˜U·Ïfí6“¶ÍlØl6ˆF«Âù—²5#?ÏÉ;k6`õëJb•šeý<ŒvÕºc[V²ª$™ÎcúÒ2É"ä/'D”µë¶b’SŸ­”_Àápì™÷zF:-óøúûelêÜ—&WÐèfÖ¬“Ò6O]ö«‰k·4n† 0œ\¶(þ2?±ôŸg§4Ã%—›8½û½˜;ºÔ‹ˆˆˆˆˆˆˆˆˆˆIôË‘‘AÏž=¹çž{ÈÌÌ$;;›ÌÌLÒÒÒHNNÆçóáv»±Ùl˜¦‰išÀ®až7nÜXm™†»9~>š·˜hþÉäWÄ-i_ãyßÌìO^Õ©ðœÛùrÚÛ$ éMË¥«>çO~"­÷…tôÕ![°Ör¼t2ˆ/ý€ß²3´w)v??-ú˜wçtÛ—&˜eß3ëó¤4'35gdE_|Åw.ý2l€ABVSýKøb^g’Û%á#-ù?úF‡ äËÇÞâ™×JØ=Ÿt·E¨|›×í$¹[_ “k¨;-‹ Ç–}ñ5í=­H²Jøiélf- Å9صüš\.WÍA^ šöHá²7x÷zf/¡èëY|.àÄÎé@,þýÌ-|ûé÷ÄšæÑ( ŸË"°}-Kç}Ū„nŒnŸˆ Þ<:ÌáÿÍ$¹/Zg%b³~Éæ¬K¡Ë¹8¨9ÿÜé¬}èri8äm’““Y´hÇwÜ®ÌPÀn· ‰D"c¦i‡‰F£”••QXXXC©‰ä·ÎäíU[hÓ±U¥a^]ä·Ë#²h©=Z‘Z%nkk:Ó.ç³·Ÿæí­~Œ„, žÇðA-pDcµ r\—r,ÈÈ„‰ÉÌ|o¯N~‹²˜‹”œ6ô94ó=D£8½Ø¶}ÂŒ¯gRì`¸’hÜ¢#'OF{AÌ{Þ`FÚÆë?Åýï;i:`< ʪã¿BUFÖ .š˜ÊÌ÷fñî³P¶púÒÈiÝ“Á»cjÕÖ=¸+#ÎÚÊ´wÞçÉ{ƒÞ4šw9–3Ʒ䕇×`»ä@9Ž=7LìË"êlÅ ãF2gæ'|2íK–—ô–8åœ仂„Ì:ìg$žìgî¼ø¢¸œ°éÀ“œA‹vC8¯_{’£"`¹i=l#¾øˆÙŸMçËâ1‡ÔìBúu ][#Õ÷>›Í†Ëåªv›ˆˆˆˆˆˆˆˆˆˆˆ4Lõ9Qãþʪn›QËr<ÏFœ¯+¶*Ë••×Ùw?*–•–m€è·fÍšíçœëÍÌ™3™>}z A§šÙívÎ=÷\zõêUív›Ë‹×e#ôŒþ 2|;V8ˆ?\1ÐpŒµïßÇ“«{sÅ¥ƒÈñ8°X&±h˜P8ÞoÝÊ1lœ.'» °Ì(Ñp˜pl÷^†—Ûµg;XX±‘p˜ˆYQ’ÝåÆí´cf$@ lbwùðØ£a~~gm¸¼^±þp¥÷Ûpâõ91ƒ~B•Æ^®Ú¾]CGG‡#ìjbõuÛ.\.'vc×1±h˜pÄÀíµ)ë½”_K8¦¼¼¼Æí†Ý…×çÅí°c±Hˆ ?@(fÕq?N¯¯Û‰ÝfìþŒÇˆ†ƒ!¢{u;.¯ˉÃf€e‹… #5_«Íä]°`AµC¹‹ˆˆˆˆˆˆˆˆˆˆ,†a\Ì"€É®á2M Zi9ViÙd×À–f•‡Ui½U̓8_Çó¼¿åý­‹g[Ü”ÉÛ 2„!C†Ô{¹f8@y5£ÒZÑ åe5dY ôWs`hSï~ƒªüÖ ¥÷8.’]{9•«3£„ƒQjÜËŠjÞ¾k'bá U«Š…ýìÆ3 Ê÷-ÏŠ(Ô½}5Ô½ká}ª®9ø\.Ñh”P(Tív+Æ_Æ_K9µïg ” ÄÑ(+FØ_F¸¶J+ñx<ûª¹¬¬¦Ž."""""""""""‡3y¥þ¸;pÚ5…νÿÀÀ°;±S·ld‘CÅëõÔè=Üy<ž=ç """""""""""Gy¥Ùpº=Ôœ7haÕKºÈ¯Ï0 |>N§¿ß_çáқͶ§Ý"""""""""""rdRWâd§å)å¶}æ°Ý›Uk7¾rDN§“ääd¢Ñ(áp˜h4ŠeYq|ÖÃ00 ‡ÃÓéÄårê&‰ˆˆˆˆˆˆˆˆˆˆÈ¯LA^‰[õsغrDÃ0p:ÊŽ‘ÂíP7@DDDDDDDDDDDDDDâ§ ¯ˆˆˆˆˆˆˆˆˆˆˆˆˆH¢ ¯ˆˆˆˆˆˆˆˆˆˆˆˆˆH¢ ¯ˆˆˆˆˆˆˆˆˆˆˆˆˆHâ8Ô hȾûî»CÝùQ÷äääê&ˆˆü"+V¬8ÔMø•DYüØ®ÿv÷Ü7†–5ŽWeÑçpÍ·'3ù‘sh¡q-DDäüèï ¿iÙgÜÍ×uÂ[e{äóÿ0ò&M¿‘ÁžÊ[¢l[ü./½ü>s—±©8Œ#©1ÍÛÅq§ax,œñÔ”Ä,_Dvùµûú¨È¯!ÆêWïdJÿ‡¹¬SÕ0ouB¬˜vzp!îž§pÚÄshÕØKtçZϚΔ?]¬óÿÿÏnG‚ñ«7^DDDDDDDâ Ü%9„LvÎÅ7Áú:ÎFî‰âæß¤±í@Ê‘]~í>¤>*òk°çæÄŽ[yíÎ), Ô¾ä‡ç¹ù¡¤Žº•Gþs9£Ž=šn]ºÐkàÉœýÜi+V¶;;nü',»…G¯ìA‚Á¥Oqí^ƒc/âÚ »’eßÁÿ—Gÿz5ëoxkû¥b¿â‘¿ÞÏÒÞWrý¥hl/gÓª%,*É ÕžDöÄGx ñ5\üz!7O™Hg‡awì?¸c$Ñ»Æãbußo·Ð²gøÓµ/|ÿ}WÒÊ—2ýÁûøãßLºk4-q’ßšýö¡8úLáÙ\7~>W<|ïtþ'g”~õw¾cã”[.£w£¬_r ‘ÚE#˜ÍNåês?eâä;xºÿÃ\Ú±†0ol ß.)ÆÛõh:yªß{={4æ¹¾á‡èqôÔä¼"""""""‡œ†k©‘H„’’ü~?ápø xLÓ$‰à÷û)--%p™8óªS騨ÍpӸ˙\;¡;Þ}‰O¶[`måÃ)¯°¦ÝnºæTŽjÛ’–­»qüE7qí(3å10K×±®$™ƒÓµU.ÍZ¶¥Ç Ó?¢ €ÍáÂe7À°át¹p¹œ8íµ©ã=.îò­|üÌTVæã†kN¡{«\ZvÊM“%/ñÊ‚OE¢ûP\}ÆIËQäâÂecËÈÈOrÍë¥ô=ÿ$ò5Ì«ÈAå,8“Icfñûçîäé~sa즵¥Ñ8 vlÞB„65 —n²mó6HÊ£ñáóõ-""""""ò›¦ o`š&k×®å¼óΠ¬¬ ·ÛM8&11Ó4 ‡ÃX–E,¶kžIÃ0xþùçéСƒæù•D"‘Ã2À[! âp8p:ëQ±JK(«Õ´Š·SlùÈL´cx’Ir›l(.Á$q¯à§YVL‰$'í¾öØSi7ìBþ>l<%+þÇK>Ä?'mæŸOý‰~ItŠõÆð$’è²ÓnÌ\78¥JŽ’#©±¾0E*©KŸ ~÷,½¥SÏ&ÌâæôúýRô·‰ÈÁã¢ð¬IœñÙU¼x×3u‘·Qþóf{s:µoÄsóæ±$ØŸÕqc«ùzÁÜ»R¨/D‘Â’’€P(„Ûí¦¼¼œ/¿ü’h4Ša³e˶lÙÂŽ;غu+[·neÅŠlݺ‡ÃQ/ssŠHõtHäƒ!ü¢a¤Í-‹øf}åŠMÖÍ™Ã*gÚ8ÀÙžÜ,Ÿû›÷ÇØÏ7³àÏîBç̪_1v’[ æÂkÇЮt1‹Öîº)Ån·C$B¤ŽÍŒ÷¸¸ös´¥[G7k¾_/;‡œœÊl²’]ukœÈ¤Ú>gŸ±Ê2ù–©”w-7ýû/ŒMŸÅÝ÷|ÄV³–òE¤~¹Û1vÒ(š­Ê]SWV¹1ÃM×á'ÒrÇû<þÜÊ÷é‹Ö¾õÓVg1ld?’u†ˆˆˆˆˆˆÈaA÷a€ƒ•!‰Dp»ÝX–…ËåÂápPRRÂÖ­[Ù¸q#¹¹¹¤¦¦îiOzz:±X ÇC8Æãјj"õ- aYV-׃•k6ðÍ7óÙ²iá`€Ü¬dN?ý¢¶]П6ïà›o°aýZüåexÝNZäfÓ¿O?<É©û”¸£$È›ï¾;²±g_¸§œš˜¦I4Ååª[Òp¯ç[î#õâátmbgëÂW¸ÿÙå49ñVŽI5ÀHeðùcxcÒÜp¯‹KGt£‰³˜>œÂƒï࿎¤µ¬ŸóÂÔ äôîH^Ó4ÜÁŸXøú VúÚ0ª™0HÍË£Qɦ¿µ˜¦}ÓÁÞˆìÆ¾Zfü³Õp\ÕóŒs?[cŽ?š·þï~®»m'çœÐÜ‹òXµlCGqt†î‹’ߢšúP}¦q)_ü˜·Þx‘3μÓéÚSÞE˜ùá$5JÄaw‘jXl‰£­‘H¤ÎA^{ÞLQÊë÷ý÷­-Á–’GÏQÿdâ¸î$쎼¸ ÏáÖ»ÓyfÊ4þså½lzÉ*èÅ)7Þ˘£Ó±–Ó‡¹v¾ó›KÂÞ4rÛ÷ã’›'0`w*«Û¹\;æ§ÿgï¾ã«¨òÿ¿æÖä&¹i„$z tPš€‚" ²6lX‘]+꺋«ûuwÝuןëZÖ.–µa/¨Ø ¢îŠ€‚J ]z‘ åö2óû#CH¹t"ïçãq™{Ïœ3Ÿ¹™¹÷Î|æœá‘gÇsÙãI^ôo&Œ­ëž€?«½^»}ž/©ÓeÜû@.ÏOœÌ„??MIÀÄÞŒö½F0¶æ ŠEŽ"uí£õï3ÛþûÿžêfÔ¿¯äØŽÖçpÓåßpí÷ðV×{9¯µsŸ?Ddo%Óý²ßsÖŒ›xksͲ$ Ïý'O¶ÿˆ×ޜ¾˖ŠöÔZuîÇ¥÷ü3ŽÍE¿¤EDDDDDDŽò¬uýÝÙê­¶éDþ >ßõ°Õ˜®þ¨þš}çc×´£Ú´ pW®\yG=ë|À¬]»–;vеkWfΜI¯^½ðxOäo}Óõ½–HYÂÔ“w?ÊášN'ÅÅÅtîܹªW¯Ãá 55˲ðù|U §Ö­[³`Á\.‘H¤Fœn™RÌ è 9ÿβϖÛY<õ®ìŸƒ§Çy;·.~¶˜þ¡·tÚÍ<:s+CÂï³6ï,–Îû Ó·Œ¤8½‹òèÖëTü¶D®í·ñÜŒÍ ¶c°d³Åwßýߦո¬ -s< :¶;I-z²ëv~ËKÌüf*þÍkpY!ÒS]tjé¥ßq£™0ce ?Æi%qËSÏ&öJ'³ÏÅ,«£ÞqÇE¹Mý‡¤~õÕlðí’´j›ÏñYvV„vmÓ&XvbFåU%¶‘Z±³ë{Ännç§27A[ Þ”8¾ËÈly,W^™Dgwˆ'g§aQù”ÈçPÃÃJ×Ziïæ?ü_ðÿ.¹oj½¥¸¼3ïâÉ«ºè LDDDDDDDDDDŽZ:GÞ„B!\.N§ÇC<Ç0 ÊËËñx<˜¦III ™™™UÉǃÝn' ÕhÍ¢Y›|æ~æÌ¨¿+pS¼úšxRù~íJNínRa؈š¹Tl~‘f=[a'f÷óÅÊã3¸lô¹xS“ظa“Þûˆ¤ð‹´øk" &’l ·³`s*Ÿ|𠃊 é4ø\6‹…‹Wòì§_rÃБÖDsyå“ œÚº ‡\€Ón±uëV ÿ¸í6†Ÿx<²Â,ó5Wþæ*L›Ant9K‚u×s5pS¨LœÖÅ4]lݼš;y˜ôÍj,^@4 '+ýú‘ݬe­õ"Ñ8k×obÖ׳èÒ£+9yøv^Íà®Çf3XN'nì8`±‘<¸þ‰Î\YkØO–¾¼DDDDDDDDDD䨦óäûáPõäD"x<RSSq»ÝD"•ÝÛeee˜¦‰×ëÅ4M,ËÂív“““ƒÏç# Õˆ3JËf]ù.–Npë|Œ‚ø"¹„7|Ïq}cÚÌ÷¸$°_jËwØH –Ò£ 3%† Ã0°ˆsöÉÝðÛ‚ø®&èrB˜O¾xšÛz•°ÞÓ´µ1jg]r>ùá+ºçgqþÐ^”ÄRðã¡Sÿ.ì‡xö.nÕùÑdRC;Ø¡9Î47~ËE~›\2L*¢Qòâ˜jåâ0JÉ ùYcs±ÖhÁözëÙè8æòËTßþ'XÅÏÛLJ«lN?÷¼Ž0‹¾ÿ†÷?x›óϹ€”&ùUóÏZ°’™_|€aذ9’éÒw — ÌfsÈËÏ‹ cY®ªåîêÅ›èçСú¼: Œ$2sów"""""""""""G,uYl‚Á ‡ƒääd^¯·*‘›——G~~>iii¤¦¦’››Krr2)))¸\.‚Áàí¥82rYºq!6`ÖOäAõ'æÎgÃú™€Áœ+ÈN¶ðdv¬<ÓkÃmkB.,b¤Ä7âÉëKØÌ"¸}AÂëÔP;³ áMóéÙÆd[8Ü€xÔè&Ì6X[šDª#)мmÏ<‹Eß}‰Ã¿ {¬œòhÀÀÂĬªág-Ëh°žÈþˆÄf„Ô];¢3-Ól8’šÐnÈ¥äæ°báÌÝ.$hÚe0×]=×\u9çžv<¿á¡gßÃô†èt»þ5>ûÏ%º¯ˆˆˆˆˆˆˆˆˆˆÈJ§ðP(„ÝnÇ4MvìØAyy9N§“ììlš5kF³fÍÈÊÊÂáp°mÛ6JJJ°, §ÓYk’×KOAŠ7–’jÙY°vE-RpؤµîĬ5Ëq[.6ýTLû–©ÄÉ®ªë´GÀJÚ­½lD°ã‹–$¼N µã‹;¡©+Ž·tX§#“d¬ÈV<”0èÔ1 8ñtf¯ 2áÅW˜õé+8J×Õ»ü}­'²K}=c »»aЭ•Å¿_Ì€xOÐG4¯›ÊËpTB¹À¶—Ó…Û“AnáNs5f8Äê…ßôXEDDDDDDDDDD¤ñÑpÍûáP%N”••QXXˆaƒÁݸ–eaYv»””V­Z…eYµ × ÛHoÙ“K>ÂJ¡bÍ7ôœÅVc;™mú0ÊF†RoZDAil1;­Áp, Ãös›¾0–I’;){ò&ÖŽË §“P8HJ6ÃáF²› Yl þöý8§K%«ùü‹é¼òî³\wÁï)Iʪ¶èŸ‡¶5h¨^FÂÿ9:Ùívâñx­e.‡”´dÛKµ1ª.S0ðãØñ:“pÛ¹=:‰b™ql‘í4ÇÌÌ¥<´ »a`îÖº±Ç͉ĪD¯ˆˆˆˆˆˆˆˆˆˆÈ/‡’¼À”)Sxë­·v{­fÂÆªÖ+°º´´4Î8㌯Æ)ÊkÉz+“oÍ¥I¬œv}XKŒŽù-YKS¾[4›ô¨¢fÝY[­fi…åk ³ý®HønÕRMÚSžà:5ÔÎvd4oëf1²‹I¹±«Ó¹‹•kæ‘—á‚”æ•5­©±Äl8R[Ðcøh>ž¸gùrHê‹Íf#3©y£ÝúëõNpMähe³ÙêLò:Œ MÛ´aÁsèÐ#JÜá ³±uÃ:vÌÂ4êH!ØÁ–íAúuȯsž½UDDDDDDDDDDD~9”ämrrrèÝ»7>ø M›6¥Y³fäææ’••…×ëÅãñàv»±Ùl˜¦‰iVöû …BlÚ´©Ö6[:ÁÛŠ/L§¨À¶´°ƒ§E{¾\0ƒ‚,¸ÛîVÏéLç™/>¦?°¼Í)Þeë÷o3´{sp·NxjÇÁVºwóÞü‘¼¯&Ѭë`¶tfý¸kñ'ŒYDÐH£$ÎÂyoÑ­E[<Þ&”GýL_¸Ë3= °h’•ÏšPËM#Þº?6#ŒÏÖ†õÖ©ŸÛí&ÖZfczŸÆ¼¥ó˜úñdºõ=ÓæfæK1¢pb·BJu›ËX:&íÚ´%#+Ãîdë¶R¦Í*&É“AÿÎí©}Þ;.—ë´""""""""""""G %y÷áþÔëõR\\ÌСC«zäÙívB¡Ñh”²²2 ÃÀ4M"‘±X ŸÏGQQQ­q&SJJË.l_ÿ} ›³Õ–Œ¸ÙBF»>lX¾ˆ~]¼ømi;‡j®l#/'ƒN݇òöô¹øv|AºÇÅɽ»sFŸ\6ÇRjv–­E¢í„è”Õ‚üÑcXüõ4¦¾ó 3H^N>£Ï:….ͽ¬ÙÀ™Îær;K?ýšx$@’òòZrÒ¨0“ 0,è]IZßãyaÖ<¬Ïsv¯,l=þØ@= m+õs:8Ž:zóÆiæôà½äj–O}—·ßžLÔ²“Û¦+W\|w;L[F+<Éß1}útÊ}~,l¤¤eÒªcON˜‹OË æ€ëUS ×l³Ùp»Ýb•EDDDDDDDDDDä¡$o#н{÷ª{ìVWQQQo=›ÍFŸ>}j-3ð1¸ïñ´Ø&áÕ¬‹í* Ó·¨#­»ßDnôG6Dj û‰…ýhÖ¹©¶n+€;VÊöH‘½X§DÚI7×áHoÉIg]ÀéŽI„q™œÑbiX@º3ÀÈ3Ï#ËÃI »ÅiúpF#lˆW&¶šš%8ûŸÎIƒN"™™Ñ5¬Š4\O¤>†a””„ßﯵ<Ùú \ùô=÷z†9¢$aœÑ2bþ Ìdš$ÛÉqCn›‰v3‘r"!‹ÍVí=p{õ;•^ƒ2 •Û ö‘Ú«x<ž:ËRSS[Y9¢(ÉÛ 6ŒaÆàV-šEÖŒÀ:v¿ïg³Ø:"1XGó=kYM¢ Æ éT„ ¸÷åÒ"^[º×âÌnòŽÛ`;Õ¥˜[! Ñ0TŒkÒªÊ]lê,‹V{µòQÉ HVdñøy8ØFZõDâr¹ˆÅb„ÃáZË“ã[¡b×v`RªÊ“¬íà§Ú>°‹³ž¥Zä…–°!”Ñ`|n·§³¾¶DDDDDDDDDDD¤1R’w?ªáš ÆÏê"6)ÉàªË.#ŸÚ†¯µhe[ËF£ávDǃau&z·Û]o/^i¼”䕯Å&š;íØ±ÕRj±Ùj…yÈ£9¸ ÃÀãñàt: ˜æáÝÊm6[U<"""""""""""òˤ$¯$ÈäôÓÇžBEÐ^Ç<1lVÝ·áH°‘ÆÇétâõz«†oŽÇãX–µÇ½´4cgx»ÝŽËåÂåÒã"""""""""""¿tJòk¨a‹‚è6FóÁ¨¼ù0¶#rä1 C‰V9èjWWDDDDDDDDDDDDDDŽPêɻޮž¼"""""""""""""r$P’w?lÙ²åp‡ """""""""""""G%y÷CÇŽw""ûdíÚµ‡;ÙGJò[·îDDDDDDª„¦ü‘!™FÁ%3ñw=ñÔ(L»·¹eê= O®^£dÞ{¼øò‡LŸ¿’eaiMiÝu§^0†³ûæá:„ë!"""""""õ³îDDäèfíxŸÏ»—b‡;’ÃKö¶©m_ä 0â¬~íNžšH°B˜߸‰1W?ÀWá.œ3þšð(wßr<óøÏ —òÛçà·jÔ"""""""²”ä‘ÃÈdÇô/™:ÜqnzäHu°·Mmû"ƒ£å0Nユ×ï|ŠDò¼Ñ%¹íÁÙd^ôÏ?x#ž2ÞÇËqCFqõÏòôïÚóã“·òØ÷‰&EDDDDDDä`S’WDDª‰1÷þ3ö÷O™ÿÎ]\{îp?Á#/ææÇþdžhõyMJ‹ßäîߎæÔÁèüPF]ñ7žûf3?wȳð-y‡{®¿€S÷ç¸'1âì±üáþ)¬—3ýÞ 8çöiTl|«ŽëMïÞý8ÿñ%ÄŠÕ¤tþëÜqõÙ ;~‡œÅ·¿Æü²ÊnFáÅO1fÐpn|#fU8>fß{Ïú'3ʬªvṽ]_¹ åô n`bq$¡åT¾gg2âŸ3)_ñw]u&' Ày. žÈûiíïû r4¸mîç>XZ¦m_ä ±"ÙœúÇ«è¶ùuî|zõ§fÃ|÷ÖdVdŒäú+ÅkÔ,wÓöüßq~«M|øÆW”©7¯ˆˆˆˆˆˆÈA÷ä‘=”O½“Ûƒ×ñ·ÇÇÓµ ”ÌyþùOüÖ÷ /ÜÜ—T‚ÅOrýu¯Ã)×ñ×q½È³ogÉ”gxøÆ«Xw×süuPFð¾ñ>ŠÜÌ¿ëIŽÝǦó™[Ö”l»—‚ñ/ðLÓq\òFG˜4žc`ØØˆ1¼èin¸þ%bÃ~Ï7õ"Û·€7¸—n6yîñ‹hÓi,¿j6—?ô/Þ=öAF57(ÿöQî|ׯ9ýžþé•g±óçºk_#:èrn¼·ÍܬY´…Ügb˱X”/Ä_oZç´«¹ãª\¼ym«®¤jèýì¿ïƒÈAcxëÝ6÷{ÌHÁÒ¶/rPXÑfËóø¿+¿`ìcÿäéÁ¹¡GÍ»óî_ÍÜù¥xz ä˜äÚgÁÞŽ~}›òÜ”XA?çA ]DDDDDDD¤$¯ˆH,Ë"F‰ÅbX–…eÝX ÃÀ0 ìv;.— §Ó‰aìÑg¯YôàÒ?žG÷ìʶš{)½öι÷%¦þ¦ge—ðéS¯²¦Ëõ¼ñ§óÈ·´¥m‡Ž¤—Žæ¦G_gôÀq´¯XÇÚ2/݇§Wû$Z¶íLß] r¸pÙ 0l8].\‰~+YÛùìé—YÞî ^ùóÙ´¶´â·n`îe/òêwçòç~.Ú^øW®ÿö×<òÏ7éuG/þë#<=Ƹ^)V Ÿ=ý:k:ãµ;.¢Åάl—{³œÊJ±%KðÞõ·Éâçÿ@,±÷³É>¾"™­®}ôíƒÆ¾~ˆHýâqL´} —1–'ï|šÁÏÝ@­y^s[·AvnSêÎÝÚÈÉk‚­b+[ƒ8÷ÿ·†ˆˆˆˆˆˆˆì ×,"Rh4Jyy9~¿ŸH$‚išGL‚*ЦiFñûý”——‰D®Ø{³ŽtȨ~× ëØÞ´‹/¢xY ¢‹øa~”' $·ú7‰‘JŸûàYÿ=ßo6±5ÄÇ[¼ëÕücâT•ìlD2{n„ÂAƒhY­ËŸ½MW:¥–²háúÊáaí-uëô^9ßþæv>Ëþ5·]Ñ•ªŽJÑE|_¥hð š×ö˜èr[Ó“uBõoµùz?E›µŠÈÁålÇ…·Œ¥ý†×¸óéùjý¦ªûåý˜QDDDDDDD"õ—©C0$ î0öŠišøý~b±OÃ2&Àp¹q×8‡kxRI!@…/Ž,£,bàM÷îqµ-=ƒ4QZnA³("Ÿ«Ã¥Ü2æ¿\1ñŸÜn7‘H„ÔÔTLÓ$‰`Yñx¨Lò¾úê«tíÚõ€ÜŸSähFu‚w—P(„ÃáÀé¬û{u‰o™ËëLz´Ù••4Y;í+V:;q^‘œ]éÓÓÅ—_OgÓ…çÓ¬*yà‡¯¾#ÐüTzæÖL™ÚIï0œq·–0ç¼7™»&Πn6ìv;D£D÷flGzuw1cñzR~Óì:>æ,ß÷<þ—©qnÎáík®à_wGÇ;O¡© pv¢g;=Í캷ðÞ.§áá–|?±öí}9jÝ6Ô>XWû"r`¹»ðë[.ä׼ʿ^éŠadT/¤×ÙgÒö£—yôÙ‘<6®;©»íÓÖN~„7VæsÚáÕ¡…ˆˆˆˆˆˆÈá@vªïp¿¶2£éDþ >ßÛ‡m磶iƒÊ÷­åøñã‡Ô³ÎL(bÆ ´jÕŠ¹sç’™™‰Ûífûöí„Ãaü~?Á`ŸÏ‡ßïgãÆ˜¦ÉÚµkiÛ¶-‡rù"{ÃçóQ÷ÝݱX ·Û½ÇÅ›6m¢¨¨¨–&›f¾ÎËKX3o3©y¤PÆŠ/ŸàŽ 3I>ãÿøÃÉÍqÉ´ie2ã¹gùlK&-òÒ b-³Þ¸›»ß(åø?þ…sÛy`û4žæ¶Û†I°dÓ^{‘÷×rÞ•Ci›dÃ\Ä;ïL£$³+²MÊv¼)Îúïøg¤Ðªe”¯žú­sáucú¶²ny13¦Ì`{ó®´ô”1ýÞñ<¼q8wÞ5š¶ÉÙtëæâë ˜‘q2§tòb)´Ê-åó‰/ñå–Tò²œ„JÖ°pæ—,³w¦]vjÃËI±Ø4óu>ÜÔ‘sFÃî}?}{Dº:¶ÍÔ Zˆ}°®öµí‹ì³ØŠÏxaFÃ/DAµ£=gn7 +¾àµOQn´áäˆÑnçu`öœnt÷,àÍÿ<ËÇËüØõmcýÒY|<ñnî|q5…ãîáÖÍpjç‘èÿøÇÀ:À¬jšÏ«?¨ã5jLÿ¢)ûׄÃaÜn7–eár¹p8”——SRR¦M›hÑ¢™™™UIœììlâñ8IIIUuE$1áp¸jØóÚ˜§ñ¤ï)­1‹-ïx.Ý»Z‚/ÌæâéLŸ»‚M¥l)Y´èØ›þ}Û“UË'o¼l9Ó>šÊüh7F_2=:ÁÖXñ)¯~¸”äã.á¾Yu&CLÓ$âríÝM0í…—pË9eLº÷:î][Ž‘Ù–ã.º‹ß_Þ‡” suú =‘ÃÓO½ÎmWÞÍö¨‡¼¢ã8ûÞ'3° 6Àr¦`®ù‡ß}”MealÉÙ´ì6˜¸–!é• ¹z_Á­c6ðï'ÆqÞƒItû(Ï]Õ¹Á«’»\É£OæñÔÞàþ'°ÕoáÎhNÇ~§s• J¦ÞÃ'1zÂuôÙÙ%ÉÑön7±ßÎk=墶NRûüžÇjÊcO½Ê߯ù7eq7Ù-{qÉ?F'°œÄÎt'ô~îãû r°ÕµmÖ¿oX ïƒÚöEÇ\õœ;í:^ÛX³,‰ÞÇ‹Eïòâ«ñò]“ØTÅ‘–Cën¹üá»9»Oº¥¶ˆˆˆˆˆˆÈ‘ã@^‡ÝzòÚØ³·nm½ví;»¦Õ¦m€¸víÚ;êYçfË–-¬X±‚þýûFY¼x1–eQPP@ZZZÕ0ÍñxœÒÒRü~?yyyÌž=›ž={’““s(Âüűüsx噟xݯh½—gš÷§®^@€p8\gy|ÝyáÓýÏ?Õþ·†ÝMr’cçIÉwoñæ÷ÐuèPz·NÃÜö#3§þUé'2zdGÒª>õL*VÍàã©‹ˆy“©°:qîù½É®'Ékù–òñ›ß²Ý$¹ûhÎî™Qï°Óé$55u·×æÌ™ÃgœQËÜ1æÞ6×ÎÅËM›’ÍÒ½Ÿ""""""""""u1 ãV`:¥²÷n|çßXµéxµé]=|͆z“àóDþÖ7]ßk‰”%L=yP(„Ëå"3sæLzõê…ÇãÁ²,LÓÜmXÙ´´46oÞŒßﯪ#ûÂÂÿãbÖIJ8áÖ•Ã-Ö[…‰&e’“™Nzõ̪e›•ŸÌ±uÌŸ¿¼ÁW0¼K2‘¨ ÇpÆ….&==9?µgPóÊ qlã Þùt #Æ20ü ç4 UÆÂ/¾fGѺo™Ê ¬Ó®{uï•Ã9\µ u'Ó#µÚÈ?÷A^¼¾{ãúû… ÿ-""""""""""G†FuŽüh‰Dp:Ó¹sgÜn7¦iâp8HMMŲ,|>_U"§uëÖ,X° Ž$oˆâ×þÍäÐÆ_Ö{goB‹`ñëÜ?i MO¹+îú5ÌÂ7þÍ›¾aŒÿu/v|ò¯‡rq«5L¾ˆ ¥aHnB»cN┓:‘•PU‹ÐO?0õ³™,ZWBÀtâñ6¡ h§œÒl[CåqÖ||°ã(dÛÇO3iÖVB¦ÅSŸØhzâÕ\wr3ŒÐFæ~5–­gkiaÃCN›c8ùWC(ò†YöQ]uó‰Ô»n nrPÕ/^‹p8„‘ìÆ‹«£û¬,§"šJ^¶“@hgÒ8'foCǂϙ¹v+fó¼ÊaZœÀÅWÅ›á§Ù %cM¶ÏûœoÝ9÷ø¦¬™”Xâ°ÑÝ_Øsxþ®«5lGj¶¾¼DDDDDDDDDD䨦óä@(Âétât:ñx<Äãq ༼ǃiš”””™™‰eY†ÇãÁn· k´–DaÇVðÑ*ÖFzÓÅ få’U8R“Ù¸ìGÊô#Ãâ?±zmŒüH3 Ìf\ð“c§2úÚshã…ò•Óxý…7x!t ×üªI YÁ”W>b}Ñ(.=«-é¶ ;6®f…/¯-rÀvÐãðÐäÌñü®ÉÜ÷uWÜr&mm@ŸP(´G{ImÚÓ,ú5«ŠÓ¥«Y²ÂM·!ÝY1e ?Vô¥×ÀܲŠUþ,:·ÍÀ`gC£ 'êG3g„@œÍrÞØÜc IDATÈ•Ü;y ·¥WZýÙU+´ƒí­{t¡ ÓŽE*i™y´1L¢Ñ8fåU©ªƒ‡‹³âá0áêIXG[†^Ü+#nZàíËÈãç°è‹ul6%­Žº .³Á-A?‹H(D|ãL&MœF wÙÍÛÓ³o/ ³œ•³¹[Ò¡•ÁgßΤuæÚf8±B%,Ÿ=ﶘÐʪöÿ¶¨M¹¾Í6¶‰YŸÏÃÑÿbúfĈÔ?ªô~pÐóÆ÷˜q°š?êèý‘Oý@ €Ãá 99‡Ã×ë­Jäæå呟ŸOZZ©©©äææ’œœLJJ .—«–ž¼`¤·¡]¶ŸÕ«·`‘Õ‹Yn´¥è˜&¯cér?åkV³-¥Âœju3›ÑÔ#¾3CeÅc¸Z´%ÏÜÀ†Ífƒëbx;Ó·³ÅìWÿäÿÎg]Y„x,Jdg’³¡òCÇnöx!N$&‹cš&f<†;5 b±Êänu÷j™r„²Óâøó9ÿÌ39ë‚˸üÊßpᯎ£yh!Ÿ¼ù!Å¥»þ“ItqÇgm`ê‹3a£<þüVeô¥Osv·›„F¯aÃÌÏY”2ˆ_›Jt MDDDDDDDDDDDŽ&êÉÛ„B!ìv;¦i²cÇÜn7©©©¤§§ãt:±,‹H$B0dÛ¶mU‰]§ÓYkO^È¡]a*_­^K…Õ„ÍK–cžI+g¶.^Y²œà1E¬Yõîvƒh^íRÃéÀ¾³—ê.–Ó›0¡° ¦®Ré~ÑxšÎÆÿ¾þ˜g¾xŸìŽ}9iè :7q&P~¨â¨[¬t9ß~=‹Å«7±ÝŬXˆ8]ë툹?Ë”CÇ0Œz‡7ŽÛÒÈmîÅŠ›X$·ìÆÐ–Äžz“ù‹·Ð¥.6L"4¡÷9×2€°AR² +¸œÏæAzAZÛÊîBk¾æó³8iLÜÁpe¿zkçÅ –‰iYØ £Î6 co–&"""""""""""G:%y@ @EEeeebÁ`p·^º–eaYv»””V­Z…eYµöäÍÛµÅõýjÖø²YócŒÂÓÛàÀFËNp¼±Œ•>«ÖBë_µØ­»·¬‘ÿ²üø¬$š''Ò1Ü"qдûp.î5‚Цb¾|çÞx®Œ ®EÇd,?TqÔ*¼œž}‰ey#ýë‹(ÌIÁaXf?ÍßßÞße*w$h(É‹#ùùi<#J Ù6~ŒDî•mF V”4 løÊ‚Ä·¬dµ/…6ÍÒ÷"Égã²åø‚>œpoUïu0°;Ø~z‘G¾òÐmÔo8¹eí7(É+""""""""""òË¢$o#ðé§ŸòÖ[oíöZͤM]I©´´4Î8ãŒ=^·µlOkëV}—ÊÊH;F´©ìIjoÝ™Bc2˾Kc}¤€­Ý»%£¬²U¬ÞnÒ"gW"ÕdÛÒ%lv´ ^¢£[˜±¡™~~«îκm& ì ”ª8lØl6ˆÅvÝ€øÖ•¬*÷Òý‚´N³ü„‰±n} &Í~k©›ØºËáæp8ªî{°ÀzÖm3hÒ>kÏ1ð- ÓÌ2~[LyN?ºæA-Gì´>i,—ªyUC)sß{—Õ­ÎæÌžY8\uo?‡>êEDDDDDDDDDD~Itæ¿ÈÉÉ¡wïÞ<øàƒ4mÚ”f͚ѴiS²²²ðz½x<Ün76›­ò±få0®¡PˆM›6ÕÚ¦ánEaó_Ì^@¬íi´uí,p´¦saœ÷fÏ'ÔôxÚ¤Ô¨èÜάÉ’2¬/­3lT¬šÉGÿý‰¬¾—ÓÕÓpoAË·”i3w]Ø’¦™©8£;Xýíwlt·``Ž­Ár0I`’›Oj`!ßÎS²²rÉqÌ`É·ßÓ9©iV9?-šÎ´…ájD×Q×¶ºeÊ‘ÀårÕä5·2ÿ«¥Äó›““ž†ÇeܾŽE³¿cUÊ1œ×9c×6.£Äoä4 l_ϲïg1GC.:†ôxmÔÍæJ&ÅVc»¶"$ÛÁ‘”BJJ2V<^™L®…Ó©áÀEDDDDDDDDDD~I”äm¼^/ÅÅÅ :´²‡(`·Û …BD£QÊÊÊ0 Ó4‰D"Äb1|>:t¨£ÕTÚ¶oʇ«¶RÔµîª×]´íÔ†hñ2{µ#³F^É–?˜sŽóóõ‡ÏóaI#%—ƒ/㌓ZáˆÅ©gÛJÎdlÛþË”ï?£,Åp¥Ñ¤UWN»b“ bÔ_¾k¨ÚƒGÜ{›!œwÒ6Þùò9ùÔIþ ±\9¤'g^XÂä>åÙ‡BÉY´ìq2çmÍ›¯¯j¾¶ºW HlÝäðr8ULìÁH!Ûà›Ù_ðm™Ÿˆé É›C«Nøl`g¼± ÑÿGsÇB>yû{¶Çl¸Ó²h^ØŸ ÎîEsG`lïb²Ì8±šáXfe:ÙŠ‹ÅëþÙf³ár¹j-óù|{ˆˆˆˆˆˆˆˆˆˆˆˆäëk«¶2£éDþ >ßõ°Õ˜®þ¨þš}çc×´£Ú´ p×®]{G=ë|À|öÙg¼û'êa·Û3f }úô©µÜæJ&Ùe# Šýœa4Ix’ìX‘È®þ†qÖ}ú0Ï®éËõלDó$vÃË$‹Ž$X0ì¸Ü.vÛΔ…DˆšVÃå‡*ŽÊ™°»Ü¸v ÀŒ FLl.—»QY/‹‰¸“íDý!buÕ ,SŽ‘H¿ß_K‰ g²‡d·»ÍÀ`g6" «þotxH÷&aß5O4L(®÷mOö’îŠQ^ á<°äôt\‘2Ê‚u÷ NMM­µ'ïœ9s2dHƒK9XÒÒÒn¦Q*‡sïü«6¯6mVµéê¯Y5¦«?Hðy"ë›®ïµDʦž¼À°aÃ6lØo׌ñ×2*­ ᯫƒŸeA,B(PKÅp1“xeµæ› 2ú^Ê5ÃZ ©óާV¼þòCGåBˆGBÔ\Då=u÷¬ôG¬›ÐºÉaçr¹ˆÅb„Ãá%&Ñ h0Fbʶöj¹ñ`9Ûi»rn‚eÛ©oö¤¤$ Õ,""""""""""ò ¤$¯8î.Œº±CÃvgµûÖqH£–œœ PK¢·qHJJªZùeQ’W Nwu÷´°ɨÄGJÒ˜†ÇãÁétöz¸ôÃÅf³UÅ-"""""""""""¿LJòJ‚ì´>ý/Üc F¨+Ýeôì鑇-œN'^¯—X,F$!‹aYÖ³†a8œN'.—ëp‡$"""""""""""™’¼’°x$€ÿpÁ‘‡= ÃÀétªw¬ˆˆˆˆˆˆˆˆˆˆˆl‡;Iœ’¼""""""""""""""ˆ’¼""""""""""""""ˆ’¼""""r„ŠQüè »ê%Ö˜{Y¾ïaì¿åµUQâÛðÞceÜEg2bèPFž3–›xŸ¥Vº&Ûæ¼Â×]Äé§ ãÔQc¹ùÑ)¬ þ<_äÇwúåügAà`¯ˆåB_üá' eìãÅk)Îü§Ÿò7¾Õ,‰±mÁû<ö·ësÎiœ2t8¿uãþüo}¿™è!ˆ]DDäè’èoÝšóÅX🱜uýk¬Nè7ò¡üM-"""‡’’¼""rXY¥Ÿð—Ëf^ìÈi÷`Å$"G°P1/<ø¶3¯çœ6N0×óö?þÄËË›rò·rÿ“OqßÃIšõ07Ýñ!›ª ‹.{‰¿üùUÖ·¿˜¿?ò8÷ÿßéd|÷7ßý%;çsµ?ŸëFFyûWYªl™tqÖ¼u‹kKóÖ&ÌŠÉ·rõï'0=Ò‰3®½•»î»—¿ÿþ"úz0ñÿ®ææ—ã¯y}ƒˆˆˆ6Ò :ѹ(ŸÔʈˆˆVŽÃ€ˆˆÍLJ¿™Æ¼P.ç1í¬˜DäÈeRòù+|¸ý®Õ'€­€Qw¼ÌÈ4/)ÆÎÙÚµáO±¹àŽ)|½e$çæÙ?3_“ÕÆòì ¿¢™  ?f•rÍõyké`®îä’è|Î9tyï^v· ñbÔÈþ²·°¬oyû¾‰ÿø8º%×?tÙ+ÜùØ2Ͻ‡û¯îAZÕÆÙƒ>ƒ‡qRÇ?óÛ'þÏt~†Ži 1Ù;ÆÞþ*´ÑbäÿqçA FDDD%yED¤šÅ^Ê_}WðÏnóyæõ¯Xº%i-9vÄeŒs<Íœ»æ5)[ô>Ï=÷_/ZOiÜCnû~Œs£û4Ýùcá_öO?õÓ­¥4–DzN :ö?q×ôaý„ßrÇ;kð™¿ú6`§õ¥óÌå°×ç¾·kóÿȧ/½ÂÇß.aí¦|F­{Žà77Œ¥Óßÿ3m ÌL&+¿ˆ3oºƒ‹:Wî0†=ÎÆ¯žâéW¦ðÃêÄ=ùt<þ<Æ;¢X«¾}»¡8®ÈbÚÔ9Ðë Ìüù$›ÃëÝãDz;# ë îê6º„ïæ†háòªíßÎv'0 ÙëLŸ¹š+:bl9ƒÚãqž2ƒÒ“F©,¯$V$“¡¿ˆëŸä¾çOàñkºRwj6ÌÜ÷>`uú0î[=Á»‹›Ö£®aÔ‡ãxkòtÆöŠWÛ®ˆˆ•=^ŽòUBÇŽ•¯.Øòß'xâ¥Ï˜·®#£ ½FŒeܘä;ëŠãnœO?q ­l‰ƒ&ò›ZDDD%yED¤‹ŠÿÞÏÝÁ+øãý×Ò9¶ÏŸÌ¿oÿôÝÅ“7ô"ŀТç¸ùoÃÉWróå=ɵï`Ù—/òä_~φÛ&póÀLŒÐw<ñ—GXÔ÷n½¦Mì~6¯ZHqy™ö4š]û6¹‘«ÞéÀ¯¥»ÃÀ°;HðûÓ®ÝÏ–-iô¿äf®+ÌÅUò-ÏÝów<ÐŒþu*}묛àØÍõŦ¯4&¶ Þ™'~Æ,_NLÝuâ'ÌüϾbKÁ) ïâĈֿOe&Ë'sç­?‘<â×Ü:6onkl@pÁ3ÜtÓ[DŒáºÛ{’çö±~ÉVrš98æúwx赌¾ü®lžŒÕç<}ÿÃüÕÈçù?ô!0Ø·ë#ð5ß/6)W[‚«:“Ÿ.d{zó+wh«|*Ü4/h²û}PìÍ(h?­YG„ÂÊ›‘NÏ^…ÄžÿŽáœtàþ]"»‰E1 Îâ÷c¾âÚ§ÿÍóÇ?Î5]ëHóÆ×2aÉ=£[]Û¤½ ½{5áå/æ±,6”Þµžp9$v¼¼7ÌUopÿÛC¸äº»¸¶©ƒK>å™ ·qs¢í%x šÈoji\”ä‘=Xtaôï΢kVåÑd“£¹ùйŒyèuþ{ɱü*kŸO|“µ®âùÏ"×Кօð–ýš[Ÿz›QÇ]N»Šõ¬/÷ÒeÈz¶«güåFÎj±s†‚1Œûqã¦ÎfE¬]4¸o×G|É*ÖIJé×6£Þ!”Í­Ÿóô›képÞ-ëÞ¹ <¤$׬é&Åã$¾£‚€•Å6š´mƒ7´˜•?™œÐVW~ÈAcâ õÙã¹ä«qeËÄéý3wO¢F—2oa”ÂɯçW©-¯;=v›ÁFf“L ¿{‰Ça–n§”,šÔÓÝÞò/`âmQÜþjn9·õ#$z+5{V™ì dG<± "ûÃÙ†óÆ_LáÆ·¸ï…TŽ2^ÇÆšðý•à‘£[ƒÇË{Û^n7ºåíþ[7«g¯„ÛKôtß~S‹ˆˆÈ‘L×h‰ˆÔ#0Móp‡R+˲°, Ó4‰F£Øl6’““q¹\ûÕ®árãªq×HN%™ ¾8V¨‚Šˆ4¯w$--T–PVaA~.Ãþö >{›Iï>Êïž}€‚g2öÊ‹8¡Å~ŒSjÛ÷v£›g3ùµw™6ow„*ƒú‰r¾Çs€b9â^Ž;e I·Oå«-§2ª©o¦~Kì˜ë8±iåÞŸè>e¤g‘Q#3j…Ê)ÛðfìùY²[]O*ž3–Å®óQûÑ(18êøel–ðê­·2Ùv.ÿúÛ´¨ÖÝÑHM#•¾@Í3caü(ö”Tvëäëpà$JlïÏÿ‰ìgáhÆ_0ß¾|Ï|œßÆîiZ[M²`Ç–­D)ªã– &Û¶lƒ´64ÑW™ˆˆå:^¦áí^·¶ßº)©xªÚkàôm‚Ç ‰ü¦‘ÆE=yEDê ñù|Gl‚·6¦iâ÷û ûÕŽUQޝÆj[eÛ)³<¤¥Ú1’¼¤¹M*ÊÊ©ù2|¤âÝucK{&F\ÎßIOþŽã|ññ2½b?#÷¥]ÿlþÝŸ˜´©+—ýãI^}{2“'¿Íó×[Ï•?«½ï’E0Üý ø`­³Èaàé=œÁ鋸ü›ˆ—Îäóï úž2 ƒýß§Ü)¤8M|{|–ì1o}…ûÉ’ à¯å£Óò/æ•?ßÂë±³¸ó_—ѵÆMÑŒ´–´È ³aý¶Ý×!þë²È)h†»z{?~’ñ$©7¤*.:\8žó[màÍû_`¡•„»úægoI·ÎéæÍfa¨Ž&âkø~ÎVÜ]{ÒA— ‹ˆÈQ®¡ãeØ‹cGÀòûÔl¯¢?·× Aõ TDDä—E‡èDqq1+W®¬z¾«÷^Íé]É(Ã0(**¢[·n‡>X‘_€`0H(T×™Î#_8Æ0 ’“k»ù^ÃÌ­ÅÌÛ`ÒµÕ®kLÖϘÁ*gg:ÀÙ™^ÝÜ<øÍ·l9w?,`Þô9š ¥{Óš×Ùñ¶Âå7ogþØw(^g`gv»¢Q¢ûœÿL¼ÝØšï™S’Í ?K﻾c¬]µ8~n±Ž˜<))°©ŸU£s™ÛøqéÖ:TµÅ¦¯^id\Ý8eHS>þßÿXä™ÇÜä¸í¸4 ß§êäì@·Žž˜ñ-[ÏÞuï½·¿qØsóiÊÙ°1 mNÉZ¾…¼ø—?3Ù>š»þy!Rj9-æ(¢_ï4>úz&[Îþùó0ºj:36dÒ«wÛÝúr„7n „\ò÷ueEö…»?—¯?‰û'uÆ ½z!=ÏIë)“xêåátüMvßÔ£¬ûà?L^“ˈßÄ«³Ã""r”kðx™Ø^;š[æ3£I—?··õ‡Ù¬rtäôB°7·ù¨ít?VVDDDŽh:Óܘ¦ÉêÕ«¹ôÒKðù|¸Ýn"‘©©©˜¦Yu/Îx¼ò‡Ÿa¼úê«tíÚ#áûk‰TÑܘ¼»„B!NgBýØvc¸7ðÞ]“yÕô̳S2÷Myi9y#ïæÄLŒL†üúÞÿ ·=äâš3!ÏYƲÏ'2áS8é/gÓÞÖŽ™¼:i#Íûv¥M~îÐOÌ}g +=Eœ[` 2Û´!½|ï~°€üÙ`O§YO½Wïk»ù¹-(pmcÖÇSYœÓ›ls+˦½Á+ÓÕ¾muÄ”L‡>Çúɇ¼2í~{B3Ü‘ÍÌ{çA&-10rM¤±qR4l(-&OaÂ;›Iü/ŽÝ9ê›=¡}ª¶¦ »ä4&ßò}Ààò‘]ibó±yå2ÂEgsRÛÄ"Üß8lyEe™³pñ±–!/Þr /léÎo®+¤bálfU¯“Ñ–c:4ÁN½G_HÇëžãÿMðpÕÈ"<;æñÖco°¥ÛUœÓ³úðù1V,XJ$çx:6Q’W­¤.—2þìÜøÆU7ƒ”cÇqß]9<ýü›Ü5þÊãn2[ôà‚?p|û‡³ Ç—Á‡3§³òòŽ´·ƒ¹a&_,® ŸÎn›¾G×€?ñö§ Ø[žÃíwÛxâ‰ç¹õÚ-D’òèøÿÙ»ïø(êüñã¯Ù¾›Í¦@B:I¡#! A+""öŽgûê}½ûzßóÊןžžŠg9»'ö‚4EDPi¡‰@Bï%eû”ß)lú‚A¼ŸÇ>2»3óù¼ç³³³™}Ïç3gÜÄ£·\Dfd.7ü3ß~¿‡öÏ ‹ü.~sNz_s7}wïíª?ÏAÞeÿÇ g0õÝÙL{ê#vW„0»“èØ}þñ£OíÝðçB!Ä ®åóe%ºsGLd\ðêô/=}“¶”cNȥࢿò?úàŠ& 9B!NZ­ùMß\YÍSZ˜Žæ¯å󚇩Þtä#ò5sõ£fÚ1m¬@áæÍ›ÿÞÌ6·šƒ²|ùrŠŠŠX¿~=yyy„B!¶nÝÊÎ;ÉÌÌ$!!MÓPU‹Å‚¦i,\¸ÂÂB<Ïo¦h–ƦϟâµÒ~Ü~Ë’~UçͳŸãíM}¹þ†3h0"îQí¶ë8L0Œ*É«•­gþŒ¹¬÷bìU… 1jàÝòó¿+¦tO%º-žÔ.ý<¨íª!Õ·Íãµ÷–QÞÄ(Í™C¹î’Þ¸ÐwÌçé?q°Þ²¦”3˜0¶ Ícbb°Ùlu^[ºt)C‡mdi•âg®âÞâ ˜üüx:¶‘÷M!~-õ—W¹eâLz<ü÷ö;²¡î›gàýîQ®ùK ½ðWeKÏ~!„Bˆ¶EΗ…Bˆ£!66öA`tª†¡Ð5bZ‹˜Ö#b:ò5£Þtäƒ(ŸGó·¹éæ^‹f^Ô¤A …°ÙlèºNff&Ë–-Ã0 222HKK«3Lsee%^¯—””, Á`ðGßá]ÊÛ/o§pâyœL¿ošL&0™9œs€ÆÛJ!¶C6ÙF®ctAftÛrìã<5Ÿ¥¦éT”|ÇçsW£zb°ÛìHµÝ‹ùäÓXû 犋ұW–°hö—|8ÇÄØs»àVÀ”:ˆq7œÖð^®ú^~úx&Û2ÓjÛÎP5 WWF^~&™ŸÅlÇÙBûÖC‹Ñ*ß1GÆû%»êŸ|jl¦‰” á…›{Ș¢UYòÆpëÈ9üùÕ¹¤Ï8²[û ÞÀ»¯}óü‡¹ødúH!„âDs,Ï—…B!"Èoäm@ Àf³ Y¸p!¸\. Ã@×uŒˆ.cccÙµk^¯·vã‹÷—5lR9óX‡rÜkª­L´+¸ŒkÍÁ Ú:—{m%κÂáp³óÕßñá¬MdŒ¼–ÂàL^[ÚØR!J–SžYÄMgwÁR1ܽ9÷"?o¼¾˜å»:S˜b³ƒØ¸†ƒ/…7ýH‰7•ÓOé€ ÐAÂŽ’∋Lê:š¦7Û¾-'®3®AÜñïîÜÔèF)X\‰òå%„h}Š›Óný ÷|°„í»T²Ó[÷HÞ±ûY÷óÐ%}‰iÕ’…B!„B!ÄÉH~'oB¡V«•ââbºÅø¡ô IDATwïŽÝnG×u, n·Ã0¨¬¬¬Mädgg³råÊ&’¼Ч>ΑÜsM?bñ;<1}-É#îäÆÂÄê1¯ƒ¬šö8ïVçžë 80sSüÃßqs¬fÛÁ 8ÛÓ©o#Šº‘ØR§ÃϺ“™¾xÝे&’Ϻ…‰g§aÂÀ·y³ç~ÏÚ­e„,ҺΈ§“éR¨&xï„Fó»Ó+˜ûéW¬ØZAì ¸cx*[>ŸÄÛÞ³Ÿ³™/¬fëJL:÷ÁyVÎËâµÛ8TpuÈgà¹ç1(Ëå˜åÍÕEì4G`˾™Ï’u[Ùs°‚ â")§/gŸ7”.ž`3mÕMŸ<\o¸dß–øâËŬٲŸn#.-Ÿ‚³†Q˜W}oÓªmxÛ;”ñ9[™·p [øÑ­Òº2rd?Ò `ؾ„¹s²zË^|º—§=]1bD/ÚÕtß5éì_=‡Ùó—±a·ÝOF·BFŒ¨)G£¤NœUõ·¼EYÿQb´pE®5óLÆß2 #ÄöšHžj»Ø¶C#u`&&_ª´±†“CçÄïY»yzJ&CGUëõã5*XõÓÏè]Σ‹KÃÐ ‚ÁŠÓŽEUQ³gtKÛtÜQ$tH9ÖQ!NF®Î ßù¨mÍÌW•¢…B!„B!ÄIH’¼m@ ÀjµbµZq¹\hš†¢(”——ãr¹Ðu½{÷’€a(Š‚ËåÂl6ã÷ûë•æ ¯kG˜QÂæP?zØ‚l\[‚ÅídǺ_(4€xжSºY%µ0ŸXÊL þ•óz.co¿””oœÏ;oLãÀUÜz^'ÍÞ™ÙE— ïá®öÿæŸßfpã’k´AÕ ¼mo¼¾½Ïh®¾´±M,øðÞ˜bpóuƒH2ɤàßµˆw§ìÇyÚ¹LÓTuCe“B`õ'|ÄùŒ›xYn•‹¦òâ{oóÜ"7Yg]Áí—åàaËÞ{‘·ß™Cò]Ò9ÊQl›«;šØ4‡%DE…›žÃÇ’Ÿ‘ˆ¥l 3§~ÌôO¹k|A3m¥6.9´åK^í{”¾£¸âü<Í•lY2›Oþó ûÆÞÌE]cê´Ñ{Áa\vãä·³Úµ„÷&¿Ã”Ù Ü9:[h³ßžÁÖ.3á¢\âL~ì(eCežˆí0ö,ä“Ý9kÔõŒNrع„ϦÆ¥ºëlŠf GWÿÑÒRBÔPÁj RÔ›¢)PAyÐJœÛV·‡­ƒ'^¡ü`9Iw­í^ÉŠmN’…¢iÕëp8±ÁÐׇ—äµÐ뎩Ì9üj„B!„Bˆ˜œ/ !„âøò¤Lį ±X,ÄÇÇ×öâÕ4 ŸÏÇŽ;رcN§³vèf»ÝNRR6›@ Рޥ߱ª²¥D’¡†Q @-$ T 0*Y9o»R‡3á’2b‰KëÍ—!qË–¨µ¥èÛvà¾`"ã‹z‘“‘AJœ%"¾\Š.ìG²%ˆÏ¯ßç N‰áï0„‹¦a ûð…cèzf?R|›(ÝÝàn¨Íj´îȽK.ÃÆ_Ì=²hC\fF‘‰¶u »ôfÚªA³VP<ï;övŵ—ô'')Ob½F\ËØås¿ggÍ̦è²3Évêø½~tOФâݰì÷¹È>¥ nÜqIdu?a:™7Bí( r“ˆuÇ’”_Äùƒ’kËiR ûP´õ;šVý>4‘p5Ô0aņÕRÿýR°ZM¡  dÙ*3 虨E$ˆ BÚŽ…Lm2/<÷/¼ü&ïÎüžõû›^Z!„B!„B!„'Iò¶>Ÿ‹Å‚ÓéÄb±àñxj¹)))¤¦¦‹Ûí¦C‡8Nbbb°Ùlôä%.‡Ní¼”–îFB¥kX¯äÒ¥o>yÎ-ü¼Þ‹Aù¦RöÅä‘—±nBɕ𗡩Ø2sIÑ·±m×á%LëtqÔ¶SºI%µGbÃa4]G×TÂñéd8½lß¶ŸšÒ•¸^ôÏ3 ©hš†Q­’J’EE7ª*ÐU v§ OjVµ&i¦£Yì8 Þ0¶Ö}±×¥  «zõ:vw,¨* r¹ÍÞpu›6k¤wËê®_×PÃÕ=ǾR6•*@IH'Õ¦¢U÷î4t ‹Ã Áªa…Owúw7øaÊ‹LŸ·‚-e!45L(¬Õ CIÌ!+&LXÓ«âWÃUñƒM$0kêo~жþãšÒTw[£v[Â8¸še¥&ºtÆQ'Qn&óŒË¹ü ¹èŠk¸á¦ëwÞé¤V1óÝÏ(>ØfZF!„B!„B!„­@†knf³]×9pàv»·ÛM\\V«Ã0…Bøý~öíÛW›ØµZ­öä…$:å¹ù¦t3F{v­]‘w!­˜òm¼½v=þ¾]ØT²{§Á¤G\  X-˜«{—Ö0¬vì u ¥ó6Îûñ‡u¶Íþ›[gZØ !>”‹qãÐŒF/QP¬V,õâË©ÞÂFó=1›ÒX݇{$õàz}»˜5¥;Ùï­ZÆPhô<¬°ŒP¿ªàtØëÏA·¹pàLjHòÚl¶Ñ¡¤›ÞWÞCò²ù|ýíç¼üå'´ëÚŸ¢aƒéÞÞz¨»[ƒr "™iyŠ®þ£EQ”_}[ÅîÀAˆ`°~9*Á †Éî á–¨l]¾’= §0"CA×ꮫ™béîÁÐt œY½–úÒ»¬X³›;4yÕŽÒdÒY!„B!„B!„m‘$yÛŸÏGEEeeeäåå¡( ~¿¿N/]Ã00 ³ÙLLL %%%†ÑhO^0‘Þ)ÛO¥lªlǦ_Tò.ÈÁ‚‰¬nùX¦­cc¥‹’Í}^fÄ‘áó㯗·2¼TÒGÞ1\±9qZLt,º•+úºë&90Y˜kûÃI®µz:6,çðb¯\ÏŒWÞb]ÊHÆ^w%yI1Xß“yèýËH±»pY ö{½Øêæ\^ü¸p¹”FcojÕ…äÞç0¾`$Å|õá‡L{µŒ+®Î˯Aé-îC-Õt–­‘äÅO¢+Ì΃^Œ,Ï¡÷D/çàAðäÅ5¼Âû +ÖéXÔ‹xÍ Áˆ×ºJ8t試©„‰¡]¼‰_B_H¹MB!„B!„B!„8qH’· ˜5kï½÷^×ê'mšJJÅÆÆ2zô诛²:“m̤äG7C™SկМÝ<åÖýËÖP…ÙöºIòJ÷ëd&Õ$tuöý¼–]–L¦D—ä5™L ªu“X¦ rs¬Ìؼ£°îz9)ÃÐùµy·£æb×öl¤¤ÜCï+‘kôy ¢²eë^tÒÝX[5¨?“¼+®ý…²ý‰¯­?Héš ÛJ¶çp“|º" ‚’Ðs./£ä±lÙ§Ó5ã0‹ª_rTûPsõYoñhY,B¡PË 6+™œ'+6–RÑ«75ͯí+aãÁ:vL¬×[[gϪål¶uå’Î64#Ê¡Ï}[Ù²O¡}çÄfÇÞ·XäP/„B!„B!„BœHä—ÿ6 ))‰~ýúñÔSO‘œœLZZÉÉÉ$&&âñxp¹\ØívL&SÕ½QõªQ `çΖ©Ø;’—îãËV¢æžO®­z†%›îyÿ°‚@òäÄÔ[ѺŸÅ|FÌðþdÇ›¨(YÈŒyÛIì=]Ñ$b:¤âö­bѽñt‹ÅE¢'†ÞǰøÅOyãý †œšK;»AÐ{€Ý[âé;ˆ|Ï7áÑ¥~ì¦Ä$Y¾cí¢ŸèîèD¬QÎöÕ ˜¿*Ñ󩶪÷±Uœô^Ä¢æ2õS3#úçoö±½ø+>_¢Ðgü R”ÃèÇ[ù3ó ]^É n¬á”.ú‘öL “LÐĆ£ÖÂ>ÔrýG—Ífk…$¯BZÁ@Òÿ3™_[Ô#»Kç/¥2ëlú¦*Ô¹ñr°”å«ÒþÔóIGG­_œ¾‡ßüŒ–šNR\,.›ÿVÿð#%1}ÓÝÒÌûbµ6>̵Ûíþ•Û)„B!„B!„BˆcA’¼m€Ç㡸¸˜aÆUõìÌf3@€p8LYYŠ¢ ë:¡PU­JUVV’ŸŸßD©nr;'óYɺôìÄ¡»¹ÚÈí–C¸x- H¨—·5¥áÒÓ½|ûÙë|¶×‡Óü!×0º¨#U‹*‘hÎʘ¢}|øÕ«ük–•ÔÁ×rSQ¦EÜt{sfÎçó·æR2°ºIïÜ¡GÿV¬¿‚r˜±+1}¸pÜ^>˜1‹W&Pœ‰dr6—_›Í»Ïo­]®ñ¶êР~’‡pãíæÌœÏ{“?¥R³ŸÞ…×aH®U=ŒnÐV'¦}ó˜ýÓÊ|a[,í;öäüGÒÝ¡ ýÊÕ-íCúQ®¿%‹¥ö‚‰#g Åôâ¢q _ÎþŽÓÊ ÛâÉèv6ãŠzâ "zg”­]Î-›á=âPFúm+1´óøøþ‡/YTæ%¤[px’èØm8×vÇ£ú 7Ñ.&“ ›ÍÖøL!„B!„B!„B´I­y£ÆæÊjlžÒÂt4•(Ÿ×úè°“Nf³™«¯¾šÓN;­Ñù&›§Í„ðˆH*.‡#ÀªI8il™õ4¯lêÏ·‘î°`V0t45D0]‚·ºÌ6;v«ÐÃ~ü¡ªmSL¬6+³©ú4ÐÕ0¡Pͳͅìâ÷‡ô[l|ž ›Ó‰Eóã E¬¡Xqº¬èÁfÇBn©üˆ"3v“ņÍfŬT-«©!Ba»ÓLبîÍÙx[5Kýú ]E …EdE›ÚÅêÀe3xƒhŠ›ÝVg; M# ÖèËi°\”ûPõm¡P¯×Ûârf§‡8›Jy™¯aï[ª?K.6‹ ÅÐQC|¾õsî&‡‡x§·¬‚`£sV§ §ÝŠÙ¤T¿¿j(€ßlP^$·ÛÝhOÞ¥K—6:”»B!„B!„Bñ[QåA`¦j(Q­ú¯1­ELëT ^ª×{¯<ˆòy4››nîµhæEMzò¶Çgøðá­^®òãmdTZC à­lb%Ã5DÀ×ÈŠÁb¦?ù1ëMš*Ä÷ŸÀ­Ã31c …4V„¡«„*M –«…|4•zk|žNÈïmXžÆï VÜ4S÷‘Ä^uÏÙ†KׯUUj£mÕØ¶¶TSëáµÕ¡€ÿ×—ÓÔrÍíCQÖ´Ùl6TU% 6»œæ/g¿¿éù†À[hv¿Ðåì4»a%áfêjŒÃáhr¨f!„B!„B!„B´]’ä­ÇÞƒ‹ïÍob8]Ål¸ßìq¤­Æ-Ž*§Ó Ðb¢÷xåp8j·A!„B!„B!„'IòŠVdÂjwÐt¿Aã·m÷0µÕ¸ÅѤ( .— «ÕŠÏçû•÷èýí˜L¦Ú¸…B!„B!„Bqb’$¯ˆ’™ì þ‡4sOZ£fCÛjÜmKtûÐñÆjµâñxPU•P(„ªª†qÜì3Š¢ ( ‹«ÕŠÍf;Ö! !„B!„B!„â(“$¯ˆZs÷Ã"muR«Õ*½c…B!„B!„Bq\0ë„B!„B!„B!„BDO’¼B!„B!„B!„BцH’W!„B§T–=1šA^¡ä¨ßÌÝ bñã\~ö¼±! €¶w9ï?y?×\8Œ3dðÈË™øÈû¬.¯_v½?¾ÎŸ®¿¡…ƒ|ÎåüîŸ3Øà;´\èçÉ\3ôJþµÜw´7Dœä³Ï Órù¤e4¶·…æÿ™¡…¿g¶¿þ•½ËßçÉßßÀe#‹(8ˆ!ç\Ä5÷þƒ©‹wú bB!„B!Dô$É+„B´À8ð ÷ŽyŒ%êñSîÑŠIˆ“V`“ýÓ¥÷rE'+è›yç÷ðê/1ño<ÿÆ[<÷Çóp~÷8w<ø!Û#’Ρµ¯pッ³©Ëõ<2ù5žÿó%$,z„;þ:›ÝÕËÙº\Ž£C¼óÈ묖l™8ÚÒ©óÒ²h/*òË´û¸ú–'ù&؃Kïù;“ž}†G¸†A®å¼xç~÷êJ¼õ¯oB!„B!Ä1#I^!„¢Y:|ÅÒÀñTîÑŠIˆ“•ΞY¯ñáÞÓ¸rl7l¦,.ÿçL}ö>®k—ò€ÿ¦]±ç}‰Y+÷ÐþÊ™zGOÌÍsªwF³Æö/Ÿå¹×>cñÆh1©ô8k‘öYÊ¿ßú’U;½àɦÿù7s÷MCH·F”÷kÏ[ÝòÅ,„Bœ¬$É+„¢ߊç™xûTƒoàÞÇ H³W°iõn:dT…ú‹_àŽ‰ïÀˆ‰üé¶RÌûY;ûež¾÷f¶<ò*œX›h­øâQþ®ÞÅC/ÞK·ø>ü+w>zã§%ÒsÂÿòÜõ¦¾•¹ÝÅŸÿð/rß}A¿Bÿšõƒ«'sço¡¿›‡ï+ ]åJÞ}ò1î¼_çÕç¯$Ç\SÇ#üoù üñ‰wé—æÀ·q&ÿ¸÷oÜÿtÓÿ8÷¼ÁËÉ·qÕ´®<9ýúZ@1[[HðþïyúÞR<è~þ~W’Ì•ìܰ‚eeÉ´3{Èh®\K%;wÅrÆõâžüì{¾ã…¿=ɃdðÞ“£›‰)Ý›Ü\l’à5L9ª'/¿8“ï*ÎdXlÍ';ȲϿ`wæyŒêmC 7¿¿¶W ʞΟîÛŠëü[øûÍð¤äb¢¥cŽ€¾y:¾1„ ·?ÎÄ Þ ³xöÿ=ÆýJÕçÔ(-|nšÃû5‹Wô¸ëTb›ýLgëŠì‹ëNôª‹Q¶…-å2³Ú×"ÇœNÇ ØV²‰ ùU 6%ž~òQ_ZÄòÀ9[ïí"’¡gá¿oú’kŸû?&y;Oi"Í«•²lÅA\…ômjŸ4wb@ÿd^½„µêHX›XN!„8ÁÎùpù܇ù«"ÿûü=ôl{—¾Ãÿýñü®ò)Þ¸¿?n¥õÎ[›¾˜K!„'2Iò !„8ÄØËœÉï°©ÛmLýû•dVg,zœR3³^šÂ¦w0ícª{­å’›ß•¸ƒc¹ï™w[x]ªOD S®ºïbº'*€¼ÑW2ìµy¼›1‘ûÇžB’ “aãGñÚÌü¸QcPÏCéÓ#^ßØÏœÉÿa}§yû—mèÈ=¸e׼ɔ/ãª4ôdÂ'Ð?¹ê¹;w$מÂܾg½:Þ6³Š «Í†-ÊoN½b ›Ë<ô>ç :;ÈÊíNÿšš+×QÀÿWpèyö~wù,æ¿¶ŒuêhY,¦¨c©ÃΣà¹'ù|þAΕPõƒ•ïfÎ;@çq£È7ææ÷×öÕÉ uíZ<¼Å_‡úá«ÅcN5ÝŸÎeÿcjº™gÝÈÝ?ŵŸÏ/ê@N±Ðâ禹8´Õë)QÛS˜—@s9^}÷Lž›RJ×ñqš½z¼•x‰!ÆUÿ ;î+Ú¾r|¸”ª6MÊë„'°’õÛtŠòäª q”h:rÇ>À _^Ë OfÈ«wÒhžWßÇž}ЮC2MçnM$¥´ÇT±‡=~¬ÒcH!ÄIèpχ9… ¿CïvUߛɧNàO·/áÒÇÞbîõ§qQ»­xÞú›·†B!ŽòË’BˆC«ù©8L—!ƒIoì"¼š%+ÂäŸYH‡ÈùŠ›ÓÎ: ×ÖŸøi—^û²9¥ #Çt4¹‰u[hŸ—Gbäún±x©ôéD:âõëøaYˆ¼ÁƒÉŠèrkÎéI7÷AV¯ÚJMMæÔît«Ó}UÁ Þ *ÅM3Mí3ú ƒO¼…¿¼6—Õ{CG^&Ú%·‡P`+Üȳuc'2¥ÝYœ?ÐÄ3¿f_õ¾WùýL¾ñöâüYMü#ÙøþjJ.ââ3ë&Q[:æT3§ö¥oZä&“Á[·ÉÏDôqhû÷q€v´Ol:£r/þ÷c,ër'—{¨7uAJ”9/s»dÙÏžýZt+ñkX;1îké¼m*O^ ©K¢ÎÛJ‚W!ÄIêpχӺ’ù½©xj?:i«)^§ç­B!„hÛä:/!„h%†a‡ ‡Ã¨ªŠaÆÑ=ÛREQ0›ÍØl6¬V+J´™†F2ʃ q q&o e!Oœ§Á|S\<±¬æ`¹iÕñ98 Çj³5þq½æ:ÒõÀAÊ*?¿4!¯D. j¤VxkO–§ gc… Â9<¦F=üYŸOåíwŸà¦¡ã™—qÓ×R”åhvÕÐŽï™þæ»|µdÛöª¬ W¢Rô+ŠÌrylâ$£ÄqÆyƒqüq&_îÍå*Y0ó;§Ý𔪣@´û«)¡ õÆ9oé˜SFŒ›˜z T¾\»gÿš8‡Q±`mâ?c÷š7îû/¦)ãxêáKéÑÝQqÇV]dâÕë­¤ÒÆäŽ­îÅ[ÍbÅJUmfƒ…hE¶ü Ÿ]¯ÿ#ÿÑU“HÖup8ŒÉdÂétb³Ùލ<Åî&Æb°«¬Ø'®Š3ž8»ÁÖƒå æëå© –x±>ÍT±ÄÚ,ôœð,>§þð« VOòoóhN¤çù·óðù·P¶î ÞzêIþpËNþñΟìibï÷<~Ë=|Ûé6þüÿåÔLVÅ ü“»ùXËU6žâ7ðûü‡›ôÒ‡¸N?³ãïfÖÛ¹ôÜåÌZ¤Pø§!$(üúýµ…cNe›+èׯáŠÁ‰—J_Ãy†w%¯Ý{ÿÑÆðÄS7ÑÛ]ïˆâɦcb€Ÿ7ïE'íÐ6hÛØ´: ÎÀ^§¼J¼¸p5v‹G…n×<Àøy7ñÖÓ)œèÀ®TšmÎæ”^ñ¼ºp!+Cèߨµ>Z ‹Ü㔺ɤBˆ“ÔážåeTèÔGÑ8¸ŸF ÉnóñsÞ*„Bˆ6K†kBˆ_Éï÷SYYù›'x£ë:^¯Ÿ¯‘LE4¬ÝèÓÃÌÏß.`Wc›cíÉi}lüòívÖ™ïcÉ7?âK?•>Žƒ¯K zÛ(]³•˜ŒL23#¤Ä^Ül6C8Løˆs×fâòÏá¶'г|Ë6iM–«n\Ì{Ú3t• ÈòTßö0Lé†-DîÚxL 1î¨(£"òu}/k×ì¦ñÁaMˆZ¶>œwNÖ~ñ%Å_ÏæG×Yœ_èA!úýµI-s¢ôkã0§¤ÑlÙ®óºQ±‚—ï¹›)櫘4é&ú4v„¥…<üüõ·uŽ‹á _óíÖúÈ«Ó32¸} »I!-å88VŠ“‡½×=0ŽÌÍSøo¯¯7¼¸‚¿Þçÿ IDATK.$÷À§<óÊŠF†| ±ùƒ1mc*çŒ\$„â¤u˜çÃÚîe,Ù¹ Îæùß°ÑÚÞ],­~Þ*„Bˆ“\ÖF³qãÆÚç‘ÃÀFN×$™E¡K—.ôêÕë·Vˆ“ˆßï'ë0ƒ(Š‚Óy˜c*š:pîõ3í®gùý# ·]x IJ;Ö¯%Ø},ÃóqóÕ¼ëó<ð;w^Ö4ëÖÌz‘'>Uþ·±tm|œÇß–)‰·ŒçƒÛ箿àú úÑÑ­S¹Ví Ãùã(LŽº0ÚuêD|Ù7¼ûÁrÒ')žŒdW³= ýóyýííd <…Ü´Dìm,™þ9¿Ätc\–P-7=µ#™Ö½,üøsV& IßÚyoñúW¾ˆ/í¦brÒõô~¸?ýˆ×¿*⿊2p„v²dÚ£üg5()ÑÆ&D$+ÝGKÇiŸñÄôÄŸýýª-æ¨ö×f´x̉.Â_‡)­;Ýüü¸bÚàî˜û‚—ï¾›—wöå–ÿêLÙò…|YgbgúuMÂŒ“®¡ûõ/ðà1Ü1º1–0õÉÿ°ó”;x¤ òÇ9•u+VN:‹É’ä¿-gïxàòùÜþŸ%„­Cë̳u¿Ž¿ün wNºƒëJ.çŠsû“—ä |`Ë¿z—©3wwÛ“Ü~ªŒÕ,„â$¦Þù°bßÊ{yŒvw\Ê©iföü8…Ç_^GêèI KT@iÍóV!„BœŒ$ÉÛèºNii)&L ²²»ÝN(Âív£ë:¡PÃ0дªþ*Š¢0eÊzöìù«îÏ)„hZ8>.¼5‹«ÕÚòµܧÝÍs“’yî¥)ˆòy4››nîµhæEMú´Á`»ÝŽaØl6, åååìÝ»—;w’™™IBBBm§]»vhš†Ãá¨]WѺ‚Á`³ ^Ý»U?-aÕ†mì« ¡8âIéÔ‡ÂÂ^t¨ó‘4ðnù‰ùßSº§ÝOj—~ Ôvu:àÙU¼€Ë6°ó`SL"™]û1°g›9’ëºN8Æf“¾7­Ê;›ÿ¹øa„›i"õ²§xóŽÞò%+DbÉ¿’;/øœÿ~á]Æ\Mnk€C¿0å¥/p]üc%Á+„Bqâ3Zå·[!„Bˆ&ÉïÏm@(ªí±›™™É²eË0 ƒŒŒ ÒÒÒê Ó\YY‰×ë%%%‹ÅB0<ÆÑ7dx—òöËÛ)œxÙmè7ζ·8:j>s2²ìóOXa;…# ÉJö`ø™ogÎ㣙 WŒî‰§ºc­¶{1Ÿ|ºkŸá\qQ:öÊÍþ’ç˜{nÜ €ÎÞ?惟 ç°Ë•‹¾ïÎý‚÷hŒÕ•ØfÆR¨9†ˆVä:“ÿzým&6zή`q·“/X!Ú%–w=ÊÞù­;Tr3[÷SÞ¾û°ydl?bZµd!„B!„Bq2’ß Û€@ €Íf# ²páB p¹\†®ëWÆÆÆ²k×.¼^oí:Çï/kؤ&ræ±å°´Õ¸Åч›ž©´ãôqwQè4a¨šéœ?l7ÿþp%=8Å£!J–SžYÄMgwÁR1ܽ9÷"?o¼¾˜å»:S˜bu +Vì#eÈœÓÃI(¬CF_F³1}ò–nïÌàô¦¯Ï=AY®–oLÝBÜJ`˾™Ï’u[Ùs°‚ â")§/gŸ7”.q&ÂÛ¿âå—{þ­\Ù7¾ª>#ÀÆ/ðÖºl®¸e4ù.0ðmù/¾\Ìš-ûðé6âÒò)8k…yqT5oU¼íÊøœ­Ì[¸†-üèVi] 9²鎚-:œòŽ Ýô},xù¾‰»Œ{ÆôÀÑÚ¶9<ûÒ2²'ÜÍèNuÆ>aÍ»¤Ru”rãÐÀúšÃìÀfÒÑkr®Ú.¶íÐH˜‰É$\½®“CçÄïY»yzJŠ¿œŠ°›”vV|ê䲦¡šsèšñ 7ïAOO¡©Ûü4«B!„B!Z…>÷~ÌwÇ: !„Bœð$ÉÛ¬V+V«—Ë…¦i(ŠByy9.— ]×Ù»w/ †¢(¸\.Ìf3~¿¿^iòºv„%lõ£‡ ÈÆµ%XÜNv¬û…²AˆWm;¥›UR ó‰U Ì¤à_ù1¨ç2ööKÉñ@ùÆù¼óÆ4Þ\Å­çuª“èk@qÑåÂ{¸«ý¿ùç·ÜøÀ…äš-DP5o›Ç¯/@ï3š«/íDl` >ü€7¦Ü|Ý ’L`2)øw-âÝ)ûqžv.FÅãt'¡P5/°ú>â|ÆM¼Œ,·ÊÎESyñ½·yn‘›¬³®àöËrð°eï½ÈÛïÌ!ù® éÜÒ(¶-Ä%DE…›žÃÇ’Ÿ‘ˆ¥l 3§~ÌôO¹kü©Äf cÜÈRžõ ?uO¿Dÿ†9|ü“™7¦kŒ‚n@hË—¼þÚ÷(}GqÅùy$š+Ù²d6Ÿüçö½™‹ºÆÔÙÎ÷‚øìÆÈog#´k ïM~‡)³¸st6¿¼Ão·öœÞ™y/c·;}Ý5o¾Æ¶âUìO<•ËOÐ/D‘85ŒzwN78°u+•ÎTÒâ«Û*PAyÐJœÛVwY=O¼BùÁr4’°ÚœØMA¼•AHŠØa5/Þ ·Ò‡’äB!„B!„B!NMåÄq$ b±Xˆ¯íÅ«i>Ÿ;v°cÇœNgíÐÍv»¤¤$l6@ AyŽœÎ¤…7Qº½º;a°”µìô:«€„mkù¥¢*!¤ï.¡Ä›H^nü¡Þ®JE ÍÂç aM/d̨|¼K¿cUeK‰$C £€Z0H0¬J”•¬œ·€]©Ã™pI™ ±Ä¥õæ‚ˇ¸e KÔÚRôm;p_0‘ñE½ÈÉÈ %Î_.Eö#ÙÄç׉ïs§Ä‡ðwÂÅÓ°†}øÂ1t=³)¾M”îÖ£xš‰À’˰ñsF,ÚÅÆ—ÙŸQgd¢mÝÂ.Ð5N¿œó2·1çãØ[ù ³?Y†cÈ Ï0¡€QAñ¼ïØÛq×^ÒŸœ¤8<‰ôq-c t–ÏýžuBͦè²3Évêø½~tOФâݰÚ”wDífàìÖŸ– ,[Uv(I©n¢xUúö!5ŠÖ=Y•?óý²¤žv*iÕG^C VlX-õ?; V« #ªêÝkÏ"¿£ÂúE Ùp0Œ转ûv.?îÖA¯ŸPB!„B!„B!ĉL’¼m€ÏçÃb±àt:±X,x<žÚDnJJ ©©©ÄÆÆâv»éСN§“˜˜l6[#=yA‰Ë¡S;/¥¥»ÑPéÖ+¹té›Ožs ?¯÷b`P¾©”}1yä%E¬›F²EE«Î(šŠ-3—}ÛvE“0™•Ò¶SºI%µGbÃa4]G×TÂñéd8½lß¶ŸšÒ•¸^ôÏ3 ©hš†Q­’J’E­Jœb «ìNžÔ$¬ªV]¥Žf±ã @0t©±«h„Aª†^·Ý ªJMX×b)¸ôBòöÌáÍ—>d¥g8c‹’©mHm›6k¤wËêÞ~]C CV÷<ûJÙTv¨b%!T›ŠVÝCÓÐ5,'«‡ü=ìòŽ¬Ý k'úõ‰eó²ì©~Â%+Y]™Á©§´“Äcྟñ »ÒÏfTowíÛŽÒT×÷CIÛª%ty)g$ncî›Ïóì³Ïðüë³)‰ïÏié&Ìv;-–.„B!„B!„Bˆ‡ ×ÜÌf3º®sàÀìv;n·›¸¸8¬V+†a …ðûýìÛ·¯6±kµZíÉ ItÊsóMéf*ŒöìZ»#ïB:Z30åÛx{ízü}»°©d;öNƒI¸@±Z0W÷h­aXíØ êp„©&#ìÇÖÙ6û_ümn9haƒ„`øPÒ+ÆC3½DA±Z±Ô‹,¦z × _Ûâ y[¦\Ï¢o³¦t'û½UqjžÅë¨Î® êË |ôq*‰º^»MF(ˆ_Up:ìõJ7Ðm.øñ"’²6[£ÛY“<ìòŽ´Ý …̂ڿœ; –®²¡x ÜsèG# ñ‡¢(Ñ ƒÚÅŸ~ÊJÛ@®¼ ;ŽP€š[ò*vBƒõËQ 5LvU^ë„hO¿Kog|A‡Ó†á_Ïœå—Û쮬4™LB!„B!„B!D[$IÞ6ÀçóQQQAYYyyy(Š‚ßï¯ÓK×0 ÃÀl6CII †a4Ú“L¤wÊÅöS)›*۱镼 r°`"«[>–iëØXé¢d3dŸ—Y'—jøüøëå£ o•†ƒtç‘w WlNœ‹nåŠ¾îº +LæÚ¾¼G’9^¬‘“ŸÈº™Ÿ±¦ãEt©ÚRÅîÂe5Øïõb`«›k xñãÂåR¢ÞŽÖ+¯åúŒ¤¾ ÈœÇ7Ë·pV;+ÖÈÝ× œà…(“¼¡üðÉ',·œÎ¸1ý‰ ûQ#çÛãIt…ÙyЋ‘å9ô>éå<ž¼¸C—Mèaüñ+ &*Ëüh»7RZCNZœ$y…B!„B!„Bˆ“ˆ$yÛ€Y³fñÞ{ïÕy­~Ò¦©dSll,£Gnðº)«3ÙÆLJ~t³1Ô‰‘9UýÍÙÝÉS>`ݱl eP˜m¯› ,+¡t¿NfRMBWgßÏkÙeÉd`JtI^“ɪZÛ›±êÅ rs¬Ìؼ£°îz9)ÃЉ¦ÓäÑÔXÜÚž””{è}Å ²c ‚>/AT¶lÝ‹NzírF „/Þ_@ðÔk¹õB‹^x–O>íDÚå½ñ(€)“¼+®ý…²ý‰¯Ýþ ¥k6lw*ÙžÃHÔµvyÍ1<ôìߙٳV².ÝÏ/¦n\ÖÅΠݰX,„B¡¦î`Ñ'Ÿ°Êq&ã/=•Ø¿vøîC’ÉÉq²bc)½ª÷@ÛWÂÆƒ1tì˜Ø0ykUÃjëe¬ZTLyÒz¦@ÝTÃXSYYÙì6 !„B!„B!„âø$IÞ6 ))‰~ýúñÔSO‘œœLZZÉÉÉ$&&âñxp¹\ØívL&SÕ=aõª¯@€;w6Z¦bïH^º/X‰š{>¹¶ê–lºçi|üà ÉgSoEë~ð1Ãû“o¢¢d!3æm'±ÿ ôtE“4TˆéŠÛ·ŠE?ôÆÓ-‰žzÂâ?å÷+rj.íìAïvo=ˆ§ï ò=GÜ„­ ‰¸;dù޵‹~¢»£±F9ÛW/`þªà¡˜†u³>äåtn•I…AcF°æ_3øè§ Æ÷KĤ8é5¼ˆE/Ìeê§fFôÏ!Þìc{ñW|¾D¡ÏøA¤(‡‘6míòšeàìÚŸŸÀÜy!l½Æ“g5Nô/6›­é$oh‹>þ˜Ÿü(”À¾ukØÑ&WÉ1˜PH+Húæ1ók+ƒz$c÷océü¥TfMßT…ÚÌp°Œ½^‡UÇ·+ë~ZÌŠ) ½²/qšÚ\Ž«ÕÚjÛ-„B!„B!„BˆcO’¼m€Ç㡸¸˜aÆUõ&Ìf3@€p8LYYŠ¢ ë:¡PU­¶²²’üüü&Ju“Û9™ÏJöÐ¥g'ݹÕFn·ÂÅkI(èDB½¼­)u—žîåÛÏ^ç³½>”˜ä¹†ÑE±¨ZTy=sÎPÆíãï^å_³¬¤¾–›ŠÒ0u(â¦Û˜3s>Ÿ¿5—òÕ•Hzç~ =rTÆ=´ŽÛË3fñʤŠ3‘¬SÎæòk³y÷ù­€AÅªÏøx¹3n9‡,“Žf€?€1ç®æé™ò}Ö5 J6Còn¼ÝÜ™óyoò§Tj6âÓ»0ðº1 Éu 6ìÚ £•Ëk¡6k'úõ6³ä;göíˆr‚'x¡ªwlÍ…õée›Ø°Gc-sß]ÝàsaÎ=‡ÏïŠ-¦Søröw̘VNØOF·³WÔWøÐý{õ«˜ùþOìWMØcIÏÈ—nñãWëGpˆÉdÂf³5½€B!„B!„B!ڜּQc³·„láµÆ¦£ù«Dù¼æaª7ùˆ|Í\ý¨™¶DL›+P¸yóæ¿7³Í­fΜ9|ôÑG&“šc6›¹úê«9í´Óo²9qÚLhˆ„Ÿbqàr˜1B|¡š“Æ–YOóʦþÜqké fECGSCCÑ%x«kÀl³c·šQ=ìǪÚ6ÅdÁj³b1›ªßH]  …Ñ 0Û\8Ì*~ˆú­Ñø<6§‹æÇŠXC±âtYÑ>‚ÍuŒ"n“ņÍfŬTÅ«©!Ba»ÓLØ@³8pÚM¨¡ˆºLV'N„ü~ÂÕ¡Õß~CWQC!BÚ¡Ömª «—Í à Ö&¼¼Ãm7í_<ËKkû0ñŽÁ´? ’¼¡P¯×Ûp†ÅEœÇq¨7w}a/*‚µŸÅâÀår`³˜P 5Àç ÔÞ9¢LC×PÃAþ a½ùÆv»Ýöä]ºt)C‡b+…B!„B!„Bˆ£#66öA`tªnN¨jÄ´1­S5–¨^ïaD¼n4ò ÊçÑümnº¹×¢™5éÉÛ >œáÇ·z¹zÈ·‘Ñf 5€·©[u¨!¾FV 3ýÉY×hÒT!¾ÿnž‰- ±" ]%PiêN§ZÈG#)µfæé„üÞ†åaüÞp«Ä­«!jÈkËWøéi©‡ýÔ,RV ÛM·´byQ´[äËõ,^RFVQ_’Nü‘škÙl6TU% Ö¡ú(ÛC à-4¹oI™‡C†jB!„B!„B!N@’ä­ÇÞƒ‹ïÍGk4ç ˜­M÷l<–ÚjÜÇ\ïA/Áà^Ö~ù+¬ý¸®¯ã¤IñVq: ½Ç˜Ãá¨M!„B!„B!„'IòŠVdÂjwÐt¿Aã¸ÌÿµÕ¸1}/?N{•yÛuܧpÉuç‘mÑ›H–Ÿ¸EÁåraµZñù|‡=¬zk3™Lµñ!„B!„B!„âÄ$I^%3Ùüÿhâ~¸5Œ6š m«qSÿŸ½û¢Z8ü›­ÉfÓI%BBï=A¦ RP* –{툽€*M»ˆØ@@¤0ôÞKên¶ÎÜ?RLBÊÒÄÈ÷>Ï>™9çì7›™ÝùæœÑU§û=ÏÐ[W0,´Ó‰çÒæ7/)£ÑHPP—Ë…ÇãAÓ´‹¾m)Š‚¢( ŒF#&“颾žB!„B!„B!.=Iò ŸUt?\q9*ç¾½—1EQ0Ò‹V!„B!„B!„•îR „B!„B!„B!„Âw’äBqã1ÆÜОݺÑ{ÀH˜úÛrJůrjýžw×ôèN¯þ#™ðÚRöäýUεc6c®Å;›í{EÄeÎñøªK7F¾™F^ËÝ«ÿÇ5=þÃŽÒK<œÚüoüçNnp5=º]EŸþ70æái|²îî¿!v!„B!„BøN’¼B!ÎŽà¸zÔO‰Áz©C)ƒ–¹„Gnz…ž¿·®¢ s¤1ûå/Ñõ»“‰FP²è‰I|´3’+o}”)o¿ËK÷]…ßo¯ðÀÓ_q´XÒÙ½ýCyx.ë ãñWßdÊCײv*žû“åLu3®·›ESç²M²eâ¢ó²ï“—˜™VVš·,Nv-~”Ñ÷¾ÎJW=úŽ}”É/½Àã÷Þ@kËff>4š ý‰­ôõ B!„B!„¸däž¼B!ÎŽøÞñ쥣L*™¿®`£#ŠÁk]!DÕ¥ròû9|uºwöOÆ ‹£ÿÓÑ;0ˆ¥ XíD&yv0ôé¥ür¼7£u€Õó²7y$ïÝ݇X@†erÇ3ùd[gF×3~Ô0€ŸÏ`îŠAü·kJ9Ñq¾ôñ]鶆E/ͤÛchä_qy÷ö9<ûÆzB>Ï”ÑM,Ú8›ÐªswºÔ}˜»ÞzŠõgpw³JB!„B!ÄßB’¼B!ŠñöÚ˽•gmbÆüål;n‡À4ïycnì@¬±°ÜpîÛt5ÓßNM]~½G³n晦2û“l=œƒÇ/‚”ÔÁŒ{ )…YÇ>–Íxƒ9?¦±ÿt^U£°c¡ÞhÞýzâ+gBöýk¦¿û +¶î'ÓãGpDrU{º-ô$Œx“£’ÑÙvðí‡søfM:ûž$W !¡iOn¹{$í"íüújyuYùä5[´ŠöïÊâ¸5ŒËÖC‹I ý+õj :ãDz9$ É+êÖÎÚ ê\ßžèbû¸±vGÚÇÎgåê½ÜZ/ = ‹èD·&oòÊÒUdvéI¨dyÅE¢¹BévÏHÝù6/ÍêÈ›w4¤üÔ¬“ ŸÉÞàîLY<Á[ÈLBÿ;èÿÕ>Y¼’‘M»$Û®BˆË–JÖÖ/xÿýOùeëA2½¢ê´¡÷·2¤UdÁoG_« ÚÛü)ïL_ÌÊô£ä#Hî0€;Æ\Gƒ ¥¨-ŸŽµ…BqÙ‘$¯BˆR4r~šÂsy·òà”±Ô‡Ó›óâ“Oð`îdÞ¾»eCjä.ŸÊ³9#¸ÿ™Ù4‹ñ#oï2¦=ü<½ìû[áƒ?ÞžÄ k›0áÅt©aàÄÚY<ñøXožÊÄ>‰„U–u¬å­G^ekë»yôŽFTÓÛ8¶g iÙ„ê‰û¯U»Û?MæÙ™cilPPôôzÇÒnøÆ%Ea:¹†÷Ÿƒ§§Æ2û½h]n]Çn®(6IðŠªFO·«êóÁÌïø-·WX w|'›¾[Îñ¸\ÕÀˆâ®x¿ WTrv.æÙGãßófAPT: oó xàÜíodÜ“M‰6çr0ý±FÀ €zðS¦ÍKeȨ§¹­º?¶Ä] IDAT=ß3}Ê+<¦~¶€RÉþ]aö_X÷§Jʘ²\ũ޲…ÓÁ)ÔÉß©µìCÊ1S=®ZÉû èc‰‹…Ãûà")?Á¦Ó´EžYkÙììIG¿ ÷ï¢5îZî½q9c§¿È¬orGÃrÒ¼ÞýlÚ’…Ó¶4*o›Ô'Ò²E5>úa#Û=Ýhi,§œBñ/çØú>î_WÞÆ„QM‰Òg°ýÇxû‘{9ôß×™Z0Z‹oÇÕÎôÙ<4aî®cøÏ]M ³må³×_áÁÇTÞ˜2ˆšúü¶*?ÖB!ÄåH’¼B!Πр!÷\KðüÃÓjM†0áÖ Ü8m>? oNŸðòêÕgèýCi‘ŸêHèÆ°Þ ùéëßÙåiEC¶ñ˪“$¼‘® Vt@tëá h¾˜©éGT§ÒáKÕœƒÌ¢A×®4­6:.¡.- L˜ô (:Œ&¦âßt~M¹ñ±¦=¯q-£ûϪ9iìòô¢µ±‚º>¨46!ªQW\EÓoðÝê,:wÉß?óÖ³ì— ’v'Iè+ޯ ’AžíÛ±>þ.t ýk?×NñË8<Š÷Dõ‚,i½†%#QóbèûÈ}\[ØÍ?îFÆìXÁ˜eŸ-*Ý¿+ŠÃ›¾‡}žpÚÔ ©ð3H=ñ=Óî'yÐDš› VÁž‹ þ¥kš °ñfä`× ±Žjµ rüÉîÃ*kÉÕâ"ñzQ1pÝx†/Ãû/Í¢ÃwPfžW=Í©ÓÖ®åçnuT‹¬†’s’“ ŒÒcH!ÄeH;É÷3²¿Þí̺ïZ¢t $$%”u3¾»ˆþmGQG_P¼²ãê°L~œý1»G0ý¾k¨¡ˆçΰiô|®ïÇý- .,¬ìX[Îð !„—%9³$„â ºèdê?«Ú¤‰ÞmlÝU~¯V]T É%ºâ*‚-›hÜÐôÅk¡ÓªjøBÞžÞm5–<=žÉs~"ý”û,ÖìŒÖ‹Gq9qžG+'6!.=%¬#=Zéøã»•œ.ØEm¿/c•½=®Œ+ç‡dÙû•.¢×´ -™Duocã7I©©ÄTð«Tݘ&% è­ŠRøÙržq¨™§É$Œjt¹×l›™ùßi¤ÕÍÄ èK-W|ÌyéÃ"%ƒ“^ß*q>Œ‰ ?Œ¤#ŸðÒìÍä2^ÎÆêëF,w“Bq¹r§³a‹›¤vmˆ(qØ@óͱÚÀÆãjÑìJ«=é¬Os’˜šJ\±—úõ©kÍdÛŸ‡)l­Òcm!„B\–ä:/!„gPLfL¥Îá*þVüÉ#'×Ky_ŠŸ…3:³h÷Ý5Ô%µm(1‡UmFÓ>Ö@æÆù|¶>€v÷7ÆìKpº(ºÿçâ¾[ÄÇŸ½Æ=ïM%®}?FÞvã+ûÔ}ìwÏûŒwq$Ñ?¬Û†›Ž¾¼òEMˆ$%ˆ¶=Rñ{rË÷¢d.¿.[ƒ§Ù8®ˆÌ?Éäë~¥‡R*3ª9²Évê ªðÊCÅbÅRª€}¶œg¸Ýx0`(ç—±fOgX7ÿý§/ñź;*Ö@¬ØÉµ—>»æÄfw£°–ü\40âÆãã(ðBœ/cÒÆ]Á]½Ä¬Ô7¹EQJ¦iuaT ƒŒã'p“rÆ ùTN?‰T“¯3!„—)Í‘CŽKG`Й¿]uÁXI'+Gƒ˜üy•WkyYd9¼ìœy;½?(ñJxœ*Q¹ö¢$o¥ÇÚB!„¸,I’W!þ¡4MÃívãv»ñxÖ­?¹aS’åR!ÄeJñ "Ьr$+ûŒß®jn¹X T à±²ãjÅÏŠÕ¤§ÞЗ˜ØµômC ÕäÄ­B!*$Ã5 !Ä?Ûí&;;›Í†ËåBUÕ3¼ŸVU·ÛÍf#;;—ËuÞ¯¯žHcã!µø®ZÅc õ“Îï0Ó¹cßîÄs¿à‹/>cÁŒç¸«gmÎ)ß¡'¨vWFMJ½œÍ¤ÈþT¯×ƒÛ»Ø[æÙ·Žõ'Ãé4t -ムn'èaÿžC4µ¬º–€ÈÉ!·ø|õ;¶@¥,eÇ&D•cjD®‘ìøùg¶®ü‘ þéÙ6ß÷«r“iT×ÀŽUk8QöŽä“óCC$Ç8t¤äëZî>xx" uƒ™<ù&•u¡†!…6-ÙñËjŠÎ‡{ÏJV ¥EËZ%zF:â$QÄDÉÏpñ72×cØøÄø˜)ï.uÙLÓ¾½IÈø–w?ÚRÆn|ù‹÷EÑóºT‚äú!„—+c}Z42³ó×5%~÷+×cmBãÈ¿~ãUz\m¨K³†föo;„%¶:Õ«Ädú»ÖL!„U”\&„ÿ0yyy8Žsª«ª*6› ǃÅb9çó!>Ÿü ¡·÷¥i´ž“òê‡;‰îýW„žÏÙ]•œ½»8®†sj÷6¶Yõ(Šsp±QA+o-c5s?>BõÖ IŒ Ãì8̆O—²Û’ÂÀ8= š˜Hpö*>ûr31íÃALLTíWÐEÒ}øÕ,žø.MUÕ»!Õt¹Û½gÊut©å[„ç‡.:…”<ÖoÙƒ7µ.z@³m჉™}¼1·ŒK"gËïüV¼NH-š%WC-‡\OÝqïóÔënï‚%c#Ÿ¼±€ãng@Óâ'ç<ìÚ¼ WDêV“$¯ø{ù5ÁøëVqß‚xŒJ,3¦ cÒèm<ôÖÆî½–ÝZP+ÂŒ;ó ›—Æ'ËŽRë–gÕDÆjBqSBézóP>?ƒÿN3qG¿fD³ØþýL^ÿº@Öq„=éLjè1¶—nu…BñÏ'IÞ*"--Ý»w=/>lkñiUÍ¿BPQRRRhÔ¨Ñ߬âœO‚·8§Ó‰¢(øûûŸS}}â`Æ÷ËáÓWà•ÙèBi9ð ÆŽh~Ž=n iS'{6Sî_ö×lEO`í^Œê>ºÆT’ø0ZP,åí¯ßáx¶ Å?Œøú©Œ~öV:t/25»‘ Cóê{ã¹éM?’nx‘×G^ÅÝ÷3uÆ[Ü;"%(–†]†sÿ“ɼ4~gQóe×M!°ã]ä­?«3ìÁEd(á¾íWåSh>†—&G0}ÖB&•l¯™Ðø& tÏñwÆthÂW«W²{T]êèA=´šþÌÁã]É;ÿ]yFSûI,z¶V@_cO>§ã­·fñèØã¸ü¢©Ûá6ž}-ñÅ?ÒÜÛøå×Tk×ù.þvþ4¾é^®]õŸ+½Ì¤Ïðv¯™·p) ^þŒã9.ôÖjÖoÈç§oó(Ÿ.ÆB!þÍLÉÃynj8³g.æwOã´ÇŸ¨¤V\óä4†¶ /1d¢/ÇÕ~õnâ…©QÌš¹˜×žÎI»Š98–:-z2²ô }…B!J¹¿*j«¬eJ%Ó¾üU||^øÐ•š.þ(>O_ð(œ6›ÖF uÿþýOW°ÎŒªª|õÕW 6 €ÜÜ\Ìf3.— «ÕŠªª¸\.4MÃëÍ”PQæÎËÀ/Èý9…ŸÛí&77÷‚¶iµZ1Ï<%»~ýzºvíZF i¯ ç¾´k˜þæ0j^ÐŽf+žcìË'éóØ6ŽÂO¨nrŽüÎ{ü‡åŸcÞ}-ä$²âoçÙñ>£Ç-¡Á³3¹¯å¹] S1 Ûªç¸é‰=\ûö OÞýB!„ÿNó¸Z!„ø÷ |X ¸ðüõ›ö›V­ØtñyZ©éâ||îËߊ¦+šçË2ŸI‚*Àétb6›±ÙllÙ²…äädüüüÈÊÊ"//UUQUǃ×ë%++‹ .— ³Ù|©WAá»Ý~QÚ :û‹=ʸÿïùs“öãÏd6™Ä ¦Q}2éŒVoLýê–^ÂSýÿú2o+¬#ºßdÞ¾½|y !.8CÒ îèùÿ}ÿS®kz= úƒÆ½‹…3Æÿêgé/ ^!„Bˆ¿‹r\-„Bñ9O^&y5MÃd2a0ÈÎÎæäÉ“=z”øøxBCC‹’8áááx½^üüüŠê !þÙœNgÑpëñfídÅ×ËØänÄá©DUrE°ªª¸ÝnL&SÅÿj$% -ü‚kâéÕ0†@›œã{ØøýGL_Igî`Ø]£p–y,¬`°„É—ââP¬´ºã Æ/þƒÃÇ<$T¿°Ÿ6î#‡1_1ǯkFÀmY!„B!„B\Žä\yàr¹0™L¨ªJ||<6l@Ó4âââˆ-1Lsnn.6›èèh N§óG&Ͷž93“:®—[G–ËyÝEÅ ÷áò©äìYÅ7˶â Àl2ûü^ørééHüOiÓùðû™{(&B£IlІá/M¤OƒPd$+!Ä%c©C÷au.JÓÆzÃEiZ!„B!„B\†$É[8L&N§“Õ«WÓ¢E , š¦¡ª*Z±á_9vì6›­¨Î?‹†mÇŸìó„ÑñR‡ò·»œ×]TÆívW¸ÜsdŸ~»¸ž#Iu.aæzßÛ®<\œFwÎ㻳¨qV ‘´ö0­†]¬B!„B!.¥‹|\-„BQ@’¼U€ËåÂh4’––Fýúõ1›Í¨ªŠÁ`Àjµ¢i¹¹¹E‰œ„„6oÞ\N’×AÚ¼YìèÉø›Z¨hä¥ÍgÊÇéDö¸›[SÃÈøÙÉ–/²0·;ãonAÆ’iÌÍëÆ°šûX¶r+‡2à_ÚͺУK=Â*뙪å±ýëé|üÛ ªÆ»¯tD^1šqWÆ¢Cþ K—ýJúÁ,\† bëµ¥G¶Ä[À˾o¦1ßÕ—»Úæ°ìËÙt0‡Àö£¸³{ ¾™ÆÛ• KÜÏ÷+·r0ÃEÖ=èÓÂÀæeËø-ý™NKT2ízõ¡} KÁºæ·}îõóßÇrã÷wT¸îŠã–¯àí9‘™ƒS±‘ØŒ+ût%%Xú5^´JîÕcŒïȰÑÝòsqø÷³IÚVÞ¶B!„B!„B!ªIòV‡£ÑˆÑhÄb±àõzQ…ììl, ªªròäIBCCÑ4 EQ°X,èõzòòòJµæGRÝšðõö»ZÒÀ àdwú VŽlßAVû6„(€÷0{÷{ˆIM&P,BÞæÏYìéűH ‚ìÝ+˜?{³ù£Omü”3ã/¢XHé7ž{ª½ÅK¿ÄqëÄ~ÔÒ^N†ûÐOÌžµµi_nP›@Ç>V~º˜Ùs5n¿¹=:ÐéòŽ­aáÜÓø·êňÞ!ø[#PÈ_æØúŸq5×H «‡£kæñÎ'sxc•W eìÀD‚8ņOÞaÎü§u F±=ßúÇŸZáºcp‘“c¥a÷!$Ç…aÈú“%ó>çã/¸gXó‚d¼ø7«,«yÀhp’ëTá,“¶’äB!„B!„B!þ]¤‹`àt:1 „„„õâõz½ØívŽ9‘#Gð÷÷/ºÙl6ÉdÂápœÑž_bbÝûØ{¸ 7 s/é»Ì4º¢¡‡ÒÙ‘“ŸRïa-Œ¤Z!õVUéÒ¿ ±Fv» cõTõNƶ~[r+K$ih7 PÀëtât:ó“œZ.›Zɱ˜îŒ¸®ñ¡Ç6æšÁ ;°’Õ{Ò“pÍ#<_Îýp i’Åâ‚0áñxp¹\x<4M;cSEQ0 FL&Ó%ŠX!„B!„B!„Iò ŸUt?\!Ä…§( F£Qzå !„B!„B!„¢Ý¥@!„’—ô7Ó~È[l÷^êX„8_6LéKûï±çìF¯?9¿½Èà+oeö.7Þ“Y4u7õëF‡víèÔs0ã&/bkvÉQwÍå[Iq©860ý¹Åè¼ËÐÚFP÷3Òxæ{sý¸§h”‰räf¾ø"wVøðåþÄ\.©eg‘ã׎»¦Œ¢I±Ï1]@,ÑÅ.©ô¥œ)e8÷õ]¸ɳ¸rÖêË(üâ\(^öÎ{–w;Ï䞦*8Ù±à!s›þ  u"üñdîcã yçîü8z*SF6$@¹èÑ !„B!„Âr:]!Ä%¤’±òGÖ;b~©CB\ÆTN|;“OO¶âþ!õ0èj0ø¥Åô þ+©U§6»·Ñ÷±¯ùùh?®/Èòº²²p'иiSšVðëÚ·r~4º~(½ÉìŸnàW#95q¶ 5ºÓ+|óŸ}—Î3<¯;}&ÿ}ùwBox•7ïjNPÑFל¶]{Ó½Áxnö(o4šÃ„–¾$…B!„Bq±ÉpÍB!ŠÉµûãß²éÓÉŒx;¤Ò¹÷0&¼ñ3‡ÜÅ˪d¦-ä¹»†Ð«s{ÚuèFÿ[ÿÃû¿ÃSTF#7ýSž¿s(½:·£mjz^7’û§,e¿7›•/ eÀ“+È92ŸÛÛ¶¤eË6 ~3ÊGö=N-w_¾ò0·íËUÚÓþŠÞ »ÿ V-|• bT+[žÃÒ‡:“:n'‹FoÕÈ^ú W´jÇ-䯑Zí|ÿpÚßñ1ÇU_ß?¦ô£ç3«ÉÞõ%“oïG—öíôÚæ‚÷ÈÅ^ãþzÓ©}ûüõs9Çå.q!¨{xïÆö\õßåg ùêÚ0…~íú1e½Ë‡}¬²íX%cÓþwgþ¾Ð¾S7®z73ÓŠ «÷rø‡×™0¼7Û·£C÷ëýÌ'lÍýkØäóŠC=Î߬…6½¸"쯔ª!(øŒ^‹~¡a`Çî(z£ÈÊʆ ‚+üeík9ÐEv¥g3«¾^N†VqY!Ê¢¹Âéõàí4:6Ÿg§o,sØæ¿8YûÉbv…ôæÎÛŠ'x ™©5ø×<ÊW –“%Û¤B!„Bñ g…Bœ!{Ù³<™7Žÿ¼9ž†Õàäúù<óð$îÊ}™ÙZcU /ímî7zŒã±1-ˆÖŸ&}é ^¹ïvL~ŸÇ:…¡äýÊ+÷½DZû <}OS"ô¹ݵ‰ Y‘„냈?›‘c¾ .S?O3(z#ú §bÈåè±@:Üòã“£1ŸXÅÛOMåÑÉq|2µ/ÕĨ¨gþù IDAT*Z•æm«kÙ˜wWZlüöÓ:L¡V¶-ÿ…c7 %F¸·°vƒ“¤A­¨¦óñý@#{ÛÇ<öÀA,WæéÛ£Š®…ìU/rç#ËôÓžjHˆókæ¿Î䕇ÑÂ/ζ!.#ºšôìÝï,aUNGºf~œløæ{ŽÇ÷¡wcŠ»’}Lò·c°oz“qcçáî4Šû^hA¬9‡}[g„Â4ðþynvgFŒ}‘qql»¾åõÿ½À%–n‡öõŠâ°ýÌo[4ÜÓœÀ »ÍªÜ´‰SÁõiP½0S«‘“™Á!e$ÇŠóµ „вM2žw×°Ñq ]ü+)/D)šÛ…ZcÝö#ßx†égrw“rzàz÷²aS&–©4+o[ÓצMëHÞ_úéžž´1^´Ð…B!„Bá#Iò !„8ƒFF<8ˆÆáù™ˆÈæ#xlì xáC–ÝÒŠkÃOòí»sÙ×àNL”ŸÄ¤µ’ëœ9„^›ÏÔ1ÔÉ9Àþ¬ _u-êøP£V}Z¾Á„I¯€¢Ãh2a:Ëo¥J㬦€_ n}¦Å_•q×àoY1sÛ=} «$Fµ’åþ-ÛPÇ9µ[Ü\ÙÊöµüü»?WŒ¸’?¦/gÕÉÁ ˆÔáݽ–u™1tlN;áÓû—Ríö¤§4ùCžìö×°­êQ–ÌþŠÓÍÆóö½½ îçYƒÄGÃÉ~3Ïî­¢ :bºõ¡ÅSùfE&WöÍßþì¿³ä§ ê\ß›d= ¯x«V *s;ÖNòÝôùì«7†yOß@|AÞ´A“’‘¨yÕøô$Õ((PãVîÝö##¿ù•žvù÷·­d_¯(ïÖìñT#5)´Â¡‘ÕãKxcî^ê{œV梹dgåàþs&cúÏàt† ¢HjÑ!£FÐ5Áÿ,Ëå¿÷Iµ rlfç!•.I2øŽ8K^/*j ™È¨Fòö³ÓéüþÝ”™çUOqâ„GER~îVGDt5t9'8‘§QB!„B!.59c$„â úغ$‡?«Ö¼%µ½[IÛî÷VþØä&¹c*QÅ¿I+­®h…åà:ÖSÑUëDß_<:š'f.cëIWé—º¸q–IGxd5p9qjTc¥Ë«·¤UõLÖ¯ÛƒÈ[ûkhN‡~©´´næçÕ™h¨[÷CZÑ&IïóûWô‘]èß1¬dòÉΦ?Uꤶ#²xÆÚ´h&_ðâ‚P¯àêv:~_ò3§ †hÍýu Ëm¸ºGr¶³’ûXÑÜ2·ã­¬Ks“Ò¹Õ+Øhõ1Íh[¼€Ž°È0°å`+wèXßãðž>EáT +?-wï<ôRîæ¿××*6‑淿Ĕ'ã±ç^åÝoò¨}d!“n}ˆEÔ³,W°Îá‘„qš§+À^ˆrksýÄ‘Ô94g§o" ¼K|ÎÛJ‚W!„B!„ø'ž¼B!Π˜Ì˜KÃU,V°““ëEËË"Ë¥tF’GB [ÉÌÖ 6šÞÏ~Hoæ1gán{{25;ä¶;GÒ¥†ßEŒ¸ŽüÊÇ,äÇ?¶sè´#ðWw.º\IŒ•-×'Ѻeý±žj vÿü+ÞVhÔC[&ý¼š¬k:²aí6ü[ £¡ ´,_ß¿‚y¡á„–ÃZsæãV)݆ŽÀ`«œ‚†L‡>ð{x ?ëËà¨\V.Y…»Õxºåw¯|+PævìÈ"Û©\á… J€•€R F_¦0{>qàvãÁ€±œ_Æš}+³¸ŸÊõ¼üìj–êOj§b3’êÓ¬U4¶™ûy:ýÆÕGå01âÆSÞõ*BøÈ”<‚‰7þÄ­3ŸáÝ+fr‡NWò;BNd8œ>v7”sË•“ÇN¢&!Ç !„B!„ÿÒÑG!Ä´ì,rÔRó2O“¡hÕ£ø‡lÖÈÊ̦T1ÔìLr$¤ð¦“ú0^=–gg~Á׳$5÷3&žÌòìr»ß]°8±ýÊ‹£ÇóÑ‘ÆÜöü‡|þíR–.ý–…÷µ*y•Se1V¸ÜDƒÖ-ðÛ¶Ž §7ðÓj­®hE€âGÓÎm0­_Áo§7±v34iÓ8»÷¯Š9€ƒ†-'·TŽ<ç9¼›B”ÍÒ¶W†¤ñí÷‡ñf¬àÛ5 ©}:ªàû>VÅl%À ‘“•sƾpFÙŠžo–ü±‘k?s™fÛÌÌñ÷ðgS^¾ÆVß.¡PjS§ºBÆéÌ ×­¼rš-,~rɆ8_&êÝ4‘a ˜÷ìtÒT¿’HéhÒ(ÛºÕlr”Ó„w¿­=Ž_“Ô“Ë„…B!„BˆIò !Ä¢i.— ›ÍFVV™™™ddd\ÔGff&YYYäææâr¹Ð´óOœxoàC‡ªì_±œÝÆz4N1€±!­ššØñËJŽ–È^ØùcùZìÕ›Ó4ªôWŒžàä«óèfobþü!Hõz=¸Ý¸Ï!ôÊâôìþµ'ªÑuÄ ´©Tp A7{w ìPËŽ±²åþÍÚÐDÛÌï‹~f£W´ D,-:ÓJùƒ_ýÊ{]Ú´ ÊOTÓûWб. S¶ÿ¶ŽŒâïz˜´Í'ÊY?!Ω)}®Š"ýûHûy)k-Wpujþ¶|öûX)Æz4m gÛ/+9VY–·ç‡>:–(Žrà°»Ä|-g3ÆßË\ýp¦M»¦•\|Q¢næf6탄Ú5ËéYq9çá'šØhù¹..snžx=ñûçò¿9;QJlÊfZ\×Z_òÚ{›È=ãûØÅþů²`w WéÄYìB!„B!„¸ˆä:l!„¸Ün7v»U=,Å9Ð4 MÓPU·ÛN§Ãßß“Ét^í*æƒ|òÄ „ß9€æ±zN¬Ë‹3¶ÓwÝÂPÂèqû,ºãM&>oæî-‰5fðç·ï0åK…îO ¡®´Ó+˜5ç05Ú5¡VlfÇ!þøøvÔãúz@!¼vmB²–³pñFb;E€.„¸H‹Oà W§^«I¼ñ$«?ÿ†Í‘mˆPOðçO2ëG{Ñ`e1V¾ 5§uJï/úWÓ{iX}@+:µt3eÑRr†Òªðæ¹>¾ÒÅÐ{øUÌ™ø ½åϸ>õvæE¯3g§‚{ÿx!Êd¤~ï^Ô\ðS>>BÈ•/Ó²`¸V}LåûX…tQôº¥? îy'+Œéׄ%‡#;ÓqÖB÷$ß"<ß8t±õ©šÇÚM»ðvÊ2Y³mbƽ÷2ãh3Fß_‡¬«YUü5Ãêвnzï6Nùw£æ$ÇE ‘¹çw¾xo+îcÊÕ±ùWUúZÛ7mÅq "%É+. ÿÆ£˜8xc?ú·±k‰e¦ú7óÄ]r÷´;¹yÏ`†öjMR„îŒ}lüq!ó–!iÌTÆ6—±š…B!„Bˆ Iò !ÄyÊËËÃá(o|ÿ—ªªØl6<‹åœÛÑ' gâ€,>~a/ìÏF ­EÛ&sï¨Vä/MõnaÚ[Lw>ÿ½í9N»-D§´åºÞæÆÔjèÍ€ºï+^ùì5Žf9Ñù‡S£Qgîž:–®Áù ™ZÞÊ£7âÅ·Æ0èe?’G¾Æû·×¯°ç›ÏqVë̓ïaò›¯0z@ºà8w¿…‡_¨Ç³wlËo¤²s*_tÑ´j]“iжK[ g£Ò¦SS?®$ºw+jËÕøòþUL!¤ó$^ò-¦Îx1³³ÐãiÒmÏOXŽs|ùO á]­žôN~Ÿi[â¸ù±Æ^F¢ø²UHÁÚê^Þ˜ÉïÎåñ;^$Ëk&¼F †?1ÄçøÎ;cc:§†òÙŠŸÙ9¦>)zP÷ÿÂÒÍÙ¸½?óÚƒ?ŸQÅÔé ¾Ò‡@%”hë!Þ{÷kÞ:rš<ÕLPT"M:ÝÉ[£®¥Qa·G_˸·òó/'ˆèx… +. Ínˆ+Æ1ïHée~$_ÿ¤|Æs¿æ£És4Û!0‚„F©Œzå9®kÍù]B&„B!„Bˆ éB¶UQ[e-S*™öå¯âãó‡®ÔtñGñyú‚Gá´¡Ø´0©û÷ﺂu¾ ÒÒÒØ½{wÑóÂÞ{¥§ {*ŠBJJ 5ú»Bâ²ôOJð–æç燿Ù=nÖ¯_Oß¾}ËXâaÔ뻡?ͼ™Äl²ª§¢ªðl{›7Aã© ˜ÔæÜ/’9¹ËŸdФ] úà}n©åË%/B!„B!„U“¢(+7 Þ‚¿žbÓÞbÓ* ›.>O+5]üÏ}ù[ÑtEó|Yæ3éP¨ªÊÞ½{1b¹¹¹˜Íf\.V«UU‹îÅéõæßyNQæÎKÆ Q” ™ËBr»ÝÿØ/€ÃáÀ`0`4Ͼòº·ï9±-å‘þϲÒUÖB1_æƒ;ëç?½”q !þU É7p÷5ßðÐÛ ÒâFj]ª_É®Ì}÷{,ý§0D¼B!„B!„¢’ä­œN'f³›ÍÆ–-[HNNÆÏϬ¬,òòòPUUUñx>žÐÐТ$Nxx8^¯??¿¢ºBˆ Ëét ^Õv˜-ëþ`Ë®CœÊu¡ø…]»)©©ˆ*±KjجcŪ4öžÈE5…“Ò’Níë^¢®“ci+Y¹aG3]舯ےv­ëVÁ'¹ªª¸ÝnL¦*t=ÅŸ°˜²‡™þ‹ço Eq™±¤Ðëæ”K‚1¡+7&\Ò„B!„B!D IÞ*Àåra2™PU•øøx6lØ€¦iÄÅŘæÜÜ\l6ÑÑÑ œNç%ŽþLšm=sf&u\dBQEîseÒ2ÙðÍl25¡]TjD¡elã—%?ñÙ…¡}TбÖ{ü7¾ørƦÝzmu̹{X³ô>ýNÇ^)X•“k?gñ:hØm ½QOí`õ²ïY”áeHïºVÐQ·ð3Ä7šÞ÷9«|,}éT•8…B!„B!„Bˆ Ow©•s8˜L&œN'+W®$11‘†  €Vìž”E‰ÞÂ:ÿ,¶²Ï£—OTin·»ü…J8m¯¿‡1ûÒ$!’@³‰ ê-¸º[} ‡·³'§pŸu±g}Ùñ]¸îÊ"üŒnL¯kÛ´ÿ76+è)ì9À¦M§ˆîÜŸ«Db5™ ŠkFßë»{ø7Ö® áL% i!„B!„B!„BT9Ò“· p¹\FÒÒÒ¨_¿>f³UU1 X­V4M#77·(‘“ÀæÍ›ËIò:H›÷"‹=SË‚Þyió™òq:‘=îæÖÔ0ò;:Ù²àEævgüÍ-ÈX2¹yÝVsËVnåP¦ü«Q»Yzt©GXe½rµ<¶=;CÕx÷ñ•€ŽÈ+F3îÊXthØ÷¯aé²_I?˜…ËDl½¶ôèÑ–x‹xÙ÷Í4æ»úrWÛ–}ù#›æØ~wváÀ7Ó˜c»’a‰ûù~åVf8P¢¨Óº}Zؼl¿¥"Ó©`‰J¦]¯>´¯a)XW Çá?XöÝj¶8‰]5b ªF\J{zôhD¸d¤E)Å/®8“—GEÉÖ(*åÍCÓûaÒ©¨…9Wï1ñÓ.݉» ®' ‘:a¿’¾ÿjtJ^69n+ÑáF쎂ä²×‹GŸHݸïY½ÿjõèr/œ¨8V!„B!„B!„BT5’ä­F££ÑˆÅbÁëõ¢( ÙÙÙX,TUåäÉ“„††¢iŠ¢`±XÐëõäåå•jͤº5áë=ìwµ¤ÀÉîô=¬þÙ¾ƒ¬ömQïaöî÷“šL Y:…¼ÍŸ³ØÓ‹!cÙ»W0öf;†sGŸÚøU0d,Š…”~ã¹§Ú[¼ôK·NìG-àuáôh¸ýÄìY+Q›ö寵 tìcå§‹™=Wãö›Û¡N!ïØÎ=«^Œè‚¿5…üeŽ­_ðWsý¸Ô°z8ºfï|2‡7ÖX©qÅPÆL$ˆSløäæÌÿŽÈ{úQǸv±tÎ×Léψkk¬Ë#ãÈ^vå†$ ^Q†J§Z±oþ 2$×?†Ø‚Å‘C¶ÓH°ÕT²¬@PˆBvf6^"0šü1ëœØrQlØe¯ ›SÖkG¥ü¡$É+„B!„B!„Bü»Húª p: BBBŠzñz½^ìv;GŽáÈ‘#øûû£ª*š¦a6›‰ˆˆÀd2áp8ÎhÏ/±±î}ì-âÕ¹—ô]f]Ñ‚ÐCéì(JV=¾‡=¶0’j…P”»UéÒ¿ ±Fv» cõTõNƶ~[r+K$ih7 PÀëtât:qz4ÐrÙüÓJŽÅtgÄu-ˆ $8¶1× îLØ•¬Þã)jE=të5ãÖ¥‰qqDŠÅW‹.ýZipbÏS iÚ&!.ò¢:Ó¿],F·»;€º[mßÇÞãùÃájŽ NÛ-$4i@\¨kp5ê·¥[›šøz'S!*¢ånã× Ä´jNlÁ'¯æqãVL ¥÷£Q‡ærå÷î5× ¹¦ÂÎ5«Ù•éFTÇI¶ÿ²ŒµÇUPK'”…B!„B!„Bño&IÞ*Àn·c0ð÷÷Ç`0T”ÈŽŽ&&&†ÀÀ@¬V+QQQøûû€Éd*£'/(Á‰Ô·±wïqTÀµ÷Ov*µHi–L’ÿ¶í´¡¡‘½o/§’HŠ(V74–HƒoAFIóz0Å×"Z=Ä¡Âû‡úªxVÊ{˜½û<Ä4H!ÐíÆ«ª¨^îêÄùÛ8|è4…­+Áh¤Çéòàõzñ{Y%4†ƒUËÕcÀì¯#(&£Ç[ð’*^ƒ?8]ùs” ú´®¯ñûÜwøø§MÈráõ¸q¹½’<çÏy„_¿^αêWÒ»±µhÿA)¯ëû_IÛü~Ôí9€a‡XöÁ›¼þúk¼9k){BZÓªº½ÙLe£¥ !„B!„B!„âßC†k®z½UUÉÈÈÀl6cµZ Æh4¢i.—‹¼¼40èJ.¾¶¨œ•Æ7Œ'rà ~þåfüðáu[Ó¥['êW3žÓ:‰7EQ|ÙuŒµ_~ÉfS;n¸¦>~.…·äUÌÿgï¾ã£¨ó?Ž¿fûnz ÔH¡÷"MÁ†"ˆXÀ†XOï¼ÓŸœ§ž‡½wÅÆ©X@¬H³" 6"*¤÷´í;óû#€IHBhBðý|<ö±³S¾óݰ3»Ìg>Ÿ¯aB¡òíD …bØÜJ>}&ajÓeèÕô$ˆ?dàñº°¿0ëHJO ÊJé•“‹ŠŠöÝ9ê(È[øý~ ÉÏÏ';;Ã0e²t-˲,ìv;qqqäååaYV…™¼`£aÓ,\ß­buQ-Vÿ%ûŒLØhÔ2Ç›+XYä#o 49-£L,Õò”‹GYÅ…Yz<1Üpyñ:l4î{%#:Æ— X`sx°ïÉå=ÜÚ}—’ކÔiw2tDpc.Ÿ¾óo¾˜Ïˆk‡ÐÂ[UMþŒªä oä›÷ßçGwÎ;§I‘ÑÒËÝɤú"lÜYŒÕ(ñ÷ϽYÀΘôûmf„@áN†Í€¢ü±Í+YUGfƒ¤ òŠˆˆˆˆˆˆˆˆˆˆHͤ o 0cÆ ¦L™Rf^ù MeÁ¦„„¼×|[£f4±¦“÷m<+ÃM”Y’/hoÒŠlc*+¾M`m8^MÜe“bóóXµÝ$#mw@×dÛOËÙäÈ G½êym6D£{²Kf¦“•édÚš X½:_.&eY&ÕIš<8f4L0 FJKNžOÞ}sùm›I‹tÕ²áp¸òBXðþû,õÏC;‘”ŒG]F23½,^¹ŠÂ¶íHÜõ¹mËcåÎ87NÝ;xkY%åÈÍ|–.È¥ í8ÚÔƒ²ÔÞ}‘c‡®ü×iiitéÒ…‡~˜:uêРAêÔ©Cjj*‰‰‰ø|>Ün76› Ó41Í’Œ×`0ÈÆ+lÓp7&»¡ŸO¾YB4ët²\»8šÐ*;Æ{ß,&X§7™qå6tnçë©7 M’mæÍgÚgëIívm|ÕÉ4ˆ«[ŸxÿR|ÓŽÄ– `øHMŒ£Ý€>|ýìL|»>²¨å¶ï`óÚ$vìINâÿ ÷É*ú‰9ówP+»uRâqFv°jÁ·lpgÐ+MCWËÞ\.WåAÞð¼÷ßšÒ·g ÛVüȦR^›/ô:qØ0hй _ýŒéŸ;éÙºîÀ:ÎYHQ£“èXß`Od8”ÏÖbÓÄ¿}-+¾ûšÅ;êÑïüŽ$Å¢UÅxq:Ur\DDDDDDDDDDäX¢ o ˜˜Hnn.ýû÷/É‚ìv;Á`H$B~~>†a`š&áp˜h´¤ lQQ999•´OV³:|˜·…æmšâÞ3ßEVËL"¹ËIéÜ””rq[[ý> í^Ì—¾Ì‡[ýquÉésƒû6ÆU«²=³çôÝÆ;Ÿ¾Èc3œÔ?áb.ïÛ[ݾ\~u ³¦Ïá£WfS¶púRiج ýwŒÊéŶí3f~7‹|Õ@íÆm8}ô Zy b‡=‹Xj‡Ã±çÆŠòÌüÕüº% ÖrfO^¶×qaÏ:™Ñ§·ÀE,®-ggðÉÌyL{³€ˆ+™ô–'q^ß6ø"¿ßkîXÊô·¿c{Ô†;!•†Ù=qvg:¢å{ð;›Í†Ëåª|©qå@U ¹yMWçÙ¨æëÝ[¹éÒÒóì»»§¥¦m€èµfÍš;«xχ̬Y³x÷Ýw+ &UÅn·3jÔ(ºvíZár›Ë‹×e#ô,UGÖpxðyìXá þðîSŒßf<Ê «»qí•}ièq`7 °LbÑ0¡põ¼»ö€ÝåÆí´cf$@ \òÞ ›§Ë‰ÃnÛõiaF#„ÃbØ]><ö(@˜òŠ—Ùpy½8büáR[N¼>'fÐO(v\nW™ýZ±‘p˜ˆ©¯T,S\\¼÷‡¤D•ù޳£0´ç˜1|>.‡ Ã2‰†ƒøýÁ²åKµi™1¢‘Á@hŸŸÏøøø 3y.\H¿~ýªñ.EDDDDDDDDDD„„„qÀ\ ˜” NhÑRÓ±RÓ&`•š.=Ï*7]úA5_Wç¹ªéªæUgYµ)“·0` 8äíšáÅT›µ¢AŠ‹*ÙȲ &è¯`ÃP.o=ô+*¬kÜm$WÈÀŽE,¤¢&,3J8¥²‘Nca?„ÔªXfïÝž!P)õ:F8¨t¿"q¹\D£QB¡PÙQ?ùÛýÕnÇŠ).VúÙ>6<J5‹ˆˆˆˆˆˆˆˆˆˆƒä•CÇÝš!7äTRÚØÀ°;+Ïl©¡¼^/ÀÞÞ#Ìãñì雈ˆˆˆˆˆˆˆˆˆˆ[ä•CȆÓí¡ò¼A K•åc>Ÿ§Ó‰ßïßï²ê‡šÍfÛÓ96)È+Õd§É·po%ãáîf)Š+RN§“ÄÄD¢Ñ(áp˜h4ŠeY‡ý˜0 Ã0p88N\.×aÝŸˆˆˆˆˆˆˆˆˆˆˆy òJµU5®ˆ”\N§²hED™(¹_È ‹OgÂÓÒØv8÷eQôÝã\{û =ò #2Ķ-áÃ7Þà£/“·¹[R:­zåòѧÓ<Á(µ­É¶…¯óÔ„XðË¢¾†´9é|®¾l™Þý[/üóD®¿ás:ÞõcÚøç–cTð“[üŸy4þO]Õ–òƒ7DæßÅÙ·ûîôó”^eÛ’xãÍ|µt›òÃ8jÓ¨åqô:‚ÁëVQ±GDTð“[|ÇDjŸÎ½¯ü®ž V271õo£xta”ôóŸà¥1-°còÛk×péÛ9Ü3i,ö:@Ìw&÷šãíñ‰ß½¯»ÂÜ0å.%ìHDDDDDj’Ãz©LDDd_¬Ó¹å¢Gù!z¤{""jÁ\&>ü¶3¯eh¦̵¼}ûͼúKN=ŽŸyŽn8Ï×ò÷;¢³@| IDAT?dc©²&‘¯pËÿMbm³ ¸í±§xðŸgüíCÜxÏ'lÝÏõ\͆sÍ©Þ~h?EþØ?Kb¬žò/媹~ˆ_§ŽãŠ¿>ÁÜpK_=Ž»¸Ûþz>Ý|KxéŸWpã«?R¬¢="‡…-©6©…s˜¾ ˆŠ3ó·ÙÌX–@Z-fEDDDDäw òŠˆÈd²ó«9ü<Òý‘?7“­¿Æ‡Û;rΜ’lE[:Cî|•ø Ãúu¥UÓLZö:Ÿ›¯ì ßÏäËÍ»£·ÅÌc2«r.æÖëN£sN6-»åÿ7Œ¤y/1å§è~®ç¡ÕС´^ÿ.“æTx±_d_ìý8µÍVÞ~à%ªç¬xñO.$eØ=<}×5 ;©;Û·§kŸÓ¹dÜãƒæq%™VñÏÌxå5>Z°œ5·Rd$Ӥà .½îbzÔµ—jëRþÛa /¼ñ?n,–œE·³®âºS|öüó¼3÷'6$fÇÐk®gx›D~Ï¥0É_òÏN˜ÊÜå 8ÓÈé=”+¯:›Ö*…'5•¹šW®Í”&·óêÍ=)]88’û8GÏ_暦«ªqŒâ¶àX^ºçžÈÇ˶RëœGxaLKì˜ì\ò./¼üó–­#ßô’Z¿9gþýNÎoUr1Û°ÇØðÅsLxm&߯ÚAÌWŸ½Ï᪫ö÷X¯¤£S™3{!tþ½R~?f‰‰{ýXv'§âc-Ý7§D–óí¢ ÍÎëI½R×ÞM§gƒ7˜;£[fc¯îz€-íú·ŠGgÎcgßA¤è4"ûÉ §Ðÿú‹Ywí3<ðòñ`UÒ= {}ÞÜ4r%C>¼Š)Sçrq‡þè«M䋺é<°ŸŸÎg›OfHÝR_á\¦¼Nw'aÒûG®"""""rÔÑm ""RŽEágrÏ×M¸ôÁ×yÿ£÷xyÜID¦ÝÎ?žünO©Æà²¹ñoϲ¬î™ÜøÀsLxì6.j»•·où+ÎÝQ’}ü–§oyŒÅu†1îÑyé™ûù¿ËúÓ,={Ý®~šÇG·ÄUç,îŸ6“™3§óÜÅÍöàý½ŸE_<Äø9iœû߉¼7ý#¦<<Šº å_OËî\#Ã^ÌæÍ ô¸ðFîyú%žûÏy4øuw>4“mVé¶æþï²óÈ›L›þ¬Kîóã¸üò»ù¾ñ¥<0馽û W6ù‰çn{†oJ%3…–OäŸ7N`yÃáÜúÄ <óß‹È^ùÿø×dVÇÍ¿ŠÈΖAÿ“[áŸ7‹¯‹J§…X<ë 6§ŸÄÉ­Õ<ÆL ™Êøq¯SÐåÆÝ{/ÿ<½ 6 °äyþþ÷gø!a×Üñ0Þw £OíC«ßï(Á\û¼žOçËîä©^à¡¿õÃ>÷@ŽõJúá_Ìw?š4ï\Q€«4“õK—²=©9-ê—üŒ¶ Ö±®ÐMÃôÚeXÛÞÖ¯þð~¬Wòf’èÐ9›è’oYªî?˜H)ÑfúYüuTK6O¹Ÿ——T‘[Ãâ¥ùx;t§mEcØ3éÒ¹6Á%?°BÃ+ˆz1wçAôI^ÆŒÙk)Uéÿ7Óù<Ü“A=ã1õ»RDDDDDJQ&¯ˆˆìÅ¢5ç^mRK¢µÛŸË£1ê‘7øìÂNœ–º_šÌš–cxù†³(I6hB“ìó/aÜso3¤ûe4-\ËÚ‚DZ÷ëG‡¦%WŽÓ›´ óî9\¸ì6œ.®ýüV²hň¿ sZIÈ$®I.8u2ŸMû†_£]iã<õ¯¿oÔè,®ò1ó^Ëå×è)ÔÚG²Œ¶ ÿËé´H1'Y§œÃ‰¯}É{õ/çú³ÛPÛЇŸÌkÏbáªÝZÚÁÚÁ§ßbeæH&Üpì\û ,¾â &/<“¿uqÀ¿‚È‘f£î‰'Óáù'™5?Ÿ>’K²× ™ý岇 ÛØ«wŒEW¬ þ¶ç¸å„”ß³à­m|ò¿·ù-ç2^w wE?[¶)Û3PŸÁ·ÜÀY»VHÅU?ÏáªÙû¬WÔØòÈ=Ò}‘£Š®‰ˆÈ^lõrh–Tú®AJûŽdÆ~bÙ¯Qˆ,gÑÒÙ=Ž#­ô7‰G§Þð­[Ä›Mlµzrjw‹éwŽåî×>cù¶È¡ígÝæä¤–é ‰ P\´'㸂­HM«…Q:AÎV7›ìÒõ'mq$ÄÙ©Õ4‹äÒ»ˆK žbŠü»r,¢ËY˜"³W/ÒK¥ Ûµ¢EüN~úq}™l ‘šÄH=ž]m|?k.ÛwSÅßÌfž¿5OJ¯ä‡d%ÇXÚ œÑ#¥l5ò?,Ý«õ«øUj«×ŽöeV°‘R;ã@Žõ úaîÜÎNR©]ÅX‡Vñ^ú÷#ä6»‚›†5Ù«â€Q͘Wu׳§¦‘¶îPÚ–g&猽€ì Sx`âJªŒWò!¬î‡³Ê[!DäÀ9h6 ?™ëg3}iImsëçÌø>•~Û¢[EDDDD¤Ú¢ØÁרþz{88‰Ui\9HÎìs;byõ^îõ—FÙï5[*µSaÇæ-Dh^É &Û6oƒ„Ljü×·ˆTÂÖh[¾ÊkÓ¿çòöÝØúñt–¤àÚÞ5¸ë`®ø~§]s ›nÍ9F)È+""{± (*™´ò·“où¨oÇð$’à6Ù_€I|™àŒY”Oñ$îØÒžBËA—që ‹)øõsÞxâIn»™Û_ü'½ó)þ†G¯¿™¯2GóÏÛÿAûôDœ†EÁô›öȡمá‰'Þe§åˆ¸©_ùR¯Ž„Úú²•Í×ådú$ÝÌÇŸodð€\>þΠ۽H68ècÌpÇç4Ù\X¸×¹d¯u«jè`u¯/~Šý{/²Šäµ[næÍØYŒ¿ë"ÚÄ•;Ê‘‘âçµÛ0©÷û{ˆ­gíz‹´ž pïÇz{öë/¦/>.ÍËÁr‘sÞX†y=¯?8‘ã.÷à6Š_loDÛVI¼úÍ7, ö¦sEAÜØj¾[¸w›%%dEäð°Õ¥ïÀ<ÿÔtæIeÕ̇þþ7Ý»“ OéHFœEñŽ ä-ßDÚÀatOSFj2'Íô'cêLžxgI}î¢Ó®L¿ƒ>ÆlupáéL½é9þõÁe§¶¡¶­ˆM+Wj~6}³ª×Ã퇭^sš'X¸4X¯Ø«x)ÿ»é&&nnÇ¥×dS¸ô¾.½MrsjcÇC—sÏ£Å5/òŸ'|Œ9µ9¾?0åÉ7ÙÜv C;ì¾Ñ£ºëDùuÉO„ÓzÓ¢¶ÎrhxZdìÙó¸á͈:O(³ÌÙün¾â'þùô\½ê,†öïLVš›Èε,ùâ]¦ÌÞH֥㹬½j5‹nFbwïåæiŸ“xÒmôN®üW±-ý Æœ5‹›ý+·¬Ái]›RËdóOsy{Òûll 7ŸX®ÒŒUÈÚeKÈ+½SÉZ‘¡»8DDDDDjyEDþ@‘H¿ßiDÊZ)»Ħi‰D°Ùlx½^\®ƒËµggì™…¼óèßyô·lÉ™tv;WìÄîJ¥®œ ¹ç¡ZL|i*w]÷Û£^êfwåŒ;aD÷ZØËéÃüm&ÏL{–Ía o*­zqÅøÑœ°ë"’«ã(n±žÇ^ËEOyÈ>ÿ~ž¸¸²1÷Qëd®»i =ÿ4Y„‘Ø€6}/äowäðÀØ_ÁJxZ^Ä}Õåå—¦òÄÿM`«ßÄÔ€fqqùÁEj [“þ È~…§lÈÿh½§"äÁcq®â»Ó˜ðòdîû17)íqóÙÕîßA÷ÃÙšÞÝ“ùpþ\V^Ö‚fv0×Íç“ ‰Ææòì¿ç«çͼ=~ ñ€½ÑPî¸ÇÆÓO¿Ì¸«7öÔ£Eï˹犳È(£­îzD~â˯¶P»Gošë׺2^Ú]ôWΚ÷w¦l*¿ÌCö°ÿòL³i¼>y&o>ü.› ÃØãÓhÜê8FÞ{ƒ;ÕÝ«¬ˆ^: <‘z3?§Ë ãˆ¯ê§¤OÇ+æ¡Æyå½IÜûöŠcnRÒ[Ðíì;¹éœã¨_þ{$º”Wnú ¯”iÇMßÛ>àß}t”‹ˆˆˆˆÔ$‡òÊs•ÿõØÇ¼Š¦«ólTóõÜtéGéyö]ÝÓŽRÓ6JF»éµfÍš;«xÏ""e‚Áà²/·ÛÏç«tùÂ… éׯ_K¢ä>~!7äžÁ„§. ±ÈDäO"úó‹\qÍtZ‰ºx`O,ŠçÝÃE·çqÖ3Ora“CqË‹ˆˆˆˆˆˆˆÈÑ)!!a0ˆ&Ûõ-5+5mV©éÒó¬rÓ¥Tóuuž«š®j^u–U›rjˆÜÜ\V®\¹çuéò®¥§wg†AóæÍiÛ¶íßYÙËà…B†×{€Š,}HÂ.|€¯Â-´QïÌ»yfLk}‰È!åÈ>‡+Íâß/¾ÃÙΣɑ:ÉD~eòKŸã=}Ÿ˲0MËú}àÊ„„6mÚDqqñžmäH±(þùGVGS9þHwEŽ˜H$RåòX0DÄ“BZJI¥µ–I,fbØ=$$ùön{õ·ä×§{ûºØ‰Qá¶ì;Ð,"""""""""""5‹‚¼5@8Æét’››K«V­p»Ý˜¦‰Ãá >>˲(**ÚÈiÒ¤ K–,©$È$÷õû™ÄØ‹º`XrßàÁ·–SgàuŒî•JI¬)ÄÒ7ïgrÑÆ^Ò™ÓaR ?4^Íì¹ËX·3ÞÚ4íØ—}[’Z­LÕ(ËÞ¼‹·‚§qãÈN¥²M6~úÏäæ0úÚ4´Y×ÏìYóYöÛVü¦_bmÒ›÷dàÀ¶Ô²•ôÛ¿f3gÅòµù„‰4hÙ»“á3€«?z„7ƒùK÷Bfð)‹×’Ðó2®PŸß>z„׊Oâ‚Ì5|v»@ P®5Ù-ô<Ö„»ÐÚ båò<ñ^6¬ø™üžÇ‘l±õ¬Z¥~¯ È·–¼ÇÔè)œ{õP2¡`åÞ˜ø&ƒråiMñTQ2v7»°Û(¿ªÍn›@øWf¾6µÍ‡0ò¬,’lvlXůE)$îŠFÖ}ÆÄ—çbv̨¡MI®fî;S™8ÉbÌ%=I³ÍfØ´€É“¶ãíz #OMÆŸ†Aɲà²÷y—Ó9ïša4вqÁë<;å5ž\O£Gpõ°LÙÆ¢)ÏòÚ³¨sý™4sUgÿ½h~æX®¯ý4|™Îè›Î$ËÄ„¢8ÂÆÓfÀ¹ä¤§âÈÿ‘鯿Ç[ï§rývßåX°Ï o0/îýü7m^Ââu‰´ïÓ#Vyï¾û """""""""""5Rk€P(„Ãá 99yOo,Ãï÷³aÃ6lØ€×ëÝSºÙív“––†Ëå" îÕž'³ "«Yµ~Wê_hËuÓöÄΤ¬[ÎÏ…%!ssyÅ©dg%ÿ52é;ä88Ãøýaœ {qΩ9/œÇÒ¢CH²‚;Øî÷Ѥ}kÒSâ‰OJ£Q«îô?®1.«ˆ%ŸÍeSýŒ<»3) $5hÇÃûúÛ\æçE÷´e®Û@ü×pAß¶d¦§S/ÉQêýdÑ÷Ì.Ôq„ðL’;ô¦}r˜@Ý> éÑgÄ?G‹ã»PÏ¿šU›weSîsÿ¬h„¨ ……B%^Gý/BïÖ¨•GRF7NíAlíolÚkàU9vY„ƒAbæóÖKxæÉ'yæùÿ1yúWü²½ª2ÏAòýHQFgÚ¤Và‘c2yk¿ßOjj*^¯‡ÃÇã! ‘––¶'°k³Ùp:x½^‚Á qqq„ÃavîܹW{FR&MkÍ`٪͘™õ‰®ú‘_Œ,†uÌÁ˜ó?ýRL—Nq¬^Ŷ¸l²ÓJm›Ò€:Ž(±]Q%+Å•‘E=óSÖm2éœP­šÍûd$¶¢[«ÏykÒ³{ô⸎-h˜à`OEÚØzV­ŽR¿os"‘]óMÌ䆤{‹Y·n;fÓZ»Þo[ºeÛ …£{ï'¥>iŽ(¦`aF¸½6ë§áŒîž™Än< …­ýØ©?Ü^Q¸á`éúº&îøˆF‰*b÷'b'£÷p†7âLˆÇkáßöK¿ú‚é“7Ògø™´MÞ;Å×Ú¹ŒE«l´Ü O ô¾€øøøƒë¾ˆˆˆˆˆˆˆˆˆˆˆ òÖÁ`»ÝŽišìر·ÛM||“ÆÎtl9.^[þ ŽÍY·wÓhX*ßÛp:°ïÊNÝÍrºq"2ƒò–))O»óÇRgÑ>ÿò#žÿä}jµèFßþ'Ъ¶+ 1Y7ó1þ3»L#Ä")¡Èž¸ª'fU˜·n88ʽ,pØÊ­¼»o»ÖÛŸýW$ºó|ù5?®ÚÈöâ’u­hmö*c-5›aU–KŽÙ¨Û0+fbaàmÔ–þ’‰>7™Å?n¦uºå>ºQÖþ°„-)í˜n`Æö}W€aèS%""""""""""r,Q·ðûý’ŸŸOvv6†aÊŒ·kY–ea·Û‰‹‹#//˲*“ÀFæY¸¾[Åê¢Z¬þ9Jö™8°Ñ¨eŽ7W°²ÈGÞhrZF™“å(S²Š )²<4ôLõï’@ué×Ѱƒ:íNæ‚΃nÌåÓwÞáÍóqíZ¸¼x6÷½’ãËF °9<Ø÷ä7HjlÕÛÕÚ%B¿0í…WXQoç^r>Ùiq8 ÿ7¸ííèªÕöäÅŒ)õÑÅ¢Dˆ£V²ŸÃÜ,Pü3‹W„hÜ·-É1‹Xùå•ôADDDDDDDDDDDŽ òÖ3fÌ`Ê”)eæ•ÚTDJHH`ðàÁ{Í·5jFk:y߯³2Ü”A™NìMZ‘mLeÅ· ¬ §Ó«‰»l’k~«¶›d¤íèšlûi9›ô¨W ¯Ûã%ÁbïîÆ­"Ö¯Í/WvÖÂŒ† FÁHiÉÉÃóÉ»o.¿m3iÑ0¬L'ÓÖlÀêÕør1,Ë2©*®vÐlÕÙIm¢Ñ2¸Ø–•ä$ÒnDOš$X„üÅ„ˆòÛÚ­˜4<Œ–#Ááp”»¡ükùm›Aíf©å²xM¶,ý5®œÝÌE̪^¡f‡C§z‘c‰®ü×iiitéÒ…‡~˜:uêРAêÔ©Cjj*‰‰‰ø|>Ün76› Ó41Í’ÀO0dãÆ¶i¸“ÝÐÏ'ß,!šu:Y®] Mh•ã½o¬Ó›Ì¸r:·óõÔ‰Ð&É6 óæ3í³õ¤v»Œ6¾êd Úh“çÛo˜ócsNi•Š3šÏªï3w-)%kYE?1gþje7¢NJ<ÎÈV-ø– î z¥ÙÀˆ£Ý€>|ýìL|»>²¨å¶ï`óÚ$vìINâý¹«§Zû7ˆ«[ŸxÿR|ÓŽÄ– `øHM­KšcË|G+OS¬Ö/›Ëœ¥¡ƒ)v-G)—ËUy×ÜÂâ/~"V¿!iI ø\í¿±ì›oÉ‹ëÈ9­â1JßúZÅKwR»Óé4ÄdïQ¦+æt:ú}ˆˆˆˆˆˆˆˆˆˆˆÈÑCAÞ 11‘ÜÜ\ú÷ï_’ Øív‚Á ‘H„üü| ÃÀ4MÂá0ÑhI觨¨ˆœœœJZ'«Y>ÌÛBó6Mqï™ï"«e&‘Üå¤tnJJ¹¸­­~†v/æË_æÃ­~Œ¸ºäô¹ˆÁ}ãˆÆªQÙÀÝâ .9õÞ›ñ4÷¼mb÷$“ÑöD.âaÂg»Vsz±mûŒ™ßÍ"ßÁp%P»qN=ˆVƒ˜eaÔíËåW§0kú>ze6a §/•†ÍºÐï°Ç´ª·{f?Îé»w>}‘Çf8©ÂÅ\Þ¯gž·•©ÓfðÂ#A o*ÚŸÄð‹›0ù©µ‡»ãòs8H%w‹ IDAT{nÀØ‹G­D?_}ó ò‹ ›<‰i4n9€‹zµ"1 ²ç ²È_þ¿Æš0 uQ«:…šÁf³ár¹ö½¢ˆˆˆˆˆˆˆˆˆˆˆÔ‡r ÆªÚªh™±éê<Õ|½ûa+7]úQzž}×c÷´£Ô´ p½Ö¬Ysgïù™5kï¾ûnÅA¢*ØívFE×®]+\nsyñºlÄ‚~‚Ñßó†ÃƒÏcÇ ñ‡w’bü6ãQ^XÝk¯ìKC»a€e‹† …«àݳìN.§›X±X˜HÌÇeð‡1 ;.· ‡Ý¶ëÔŠň„ÃDÌR}µ9pºœeÖ3£Âá1 ì.{”@ Lù¿^ÅËl¸¼^±þp©- '^Ÿ3è'T*¶¶¯ýƒÝåÆí´cf$@ lbs¸p¹œØ’mbÑ0áˆÛk'R¬v†¦Ô áp˜âââ –Øpz}xÝNì6°ÌÑp@ D´ÜAeó$’ìµ(Î/$TÍÓA|||…™¼ .¬°”»ˆˆˆˆˆˆˆˆˆˆÈÅ0ŒqÀ\ ˜@l×s´Ôt¬Ô´ X¥¦KϳÊM—~PÍ×Õy®jºªyÕYVmÊä­ À€y»f8@qUd­hâ¢J6²,ˆ† ú+Ø0”Ë[½ÇŠ  ’»äÊرˆEB"¡rëD)ÞÝ´b„ƒö5’©eF £•® û©(´Vù2“p xïö¬âÈ~ï,bá åÿ\%c ï½UEûšÏårF …ÊæM"""êµc جþ~=J5‹ˆˆˆˆˆˆˆˆˆˆƒä•CÇÝš!7äìÊ`-ÏÀ°;5æ¬üiy½^€ ½‡‡ÇãÙ³O9¶(È+‡ §ÛCåyƒÖ!I@©y ÃÀçóát:ñûýû]~½ºl6ÛžýˆˆˆˆˆˆˆˆˆˆˆÈ±Év¤; 5…&gܽíGZŸ˲ªxüq½9Z9N‰Çåra³Ù0ŒÝ0 l6.—‹¸¸8’’’Ž‘o”Å gÀeYyxâá"""ǤàÌгk†?²ËÃsþM¿^ÿ`æ^ÃEDÙúÃÛ<ôË6¨/½zô¤ÏÉgqÑ ÷òú×÷9ŒŠˆˆˆˆˆˆˆü±”É+ÕVÕø¶"R}†aàt:Ú`¬µã}þ6f9Nº‘NGì[ÂFrã6´ ¥¤º "Àá?'ç‘cŒcÕëãy®ÏK\ßÁW Büüæ?¹þÁïp7„ác/¥Yš—èÎÕüðÉdž½n$Ÿ^ñ^܆¸¿7MDDDDDDD!eòŠˆH)&;æ~ÊÂà‘î‡FƒoåÁ¿÷£Ž¾©DŽ Ã}N8ZÎ9"ÇG£œÑn oŒŽE¥ó–Yþÿ~øR΄—¾óö¢K§Ntï7„+î| ×7ãçgÆñäwÕhLDDDDDDDþºt.""%¬æÞ7‚¡wÌ¡pÃŒéÞ….]ŽcøSˉ`²3w2÷üå\NéÓ“½û3dô­¼øÕ&¢ÕÞI”EfÀm3XüÎÝ\=ìdúôîEŸS/àÆ'?g]¤ìz=G¾@žùûëþ·Ncñ»÷r݈Sé{|/Žp6cîœÂ²¢RõàƒyLð:Fœr=ºu¥k—.tÙõè~ñDÖ¨ü³HõT眰ø î¼âlôîI¯~g1úŽ×Yœ_r<†~|ŽQ'œÌ ïo`ÏagñÍ}CéuÖ™·3í‹È²Âµ8åch»é ÆOø¡Â²Í¿ ñ픩üš|*×^މĽ2uÝd ¿žá7òá›_¯!XDDDDDDDŽ òŠˆH #‘c'òü5mpÕ=‡'¾˜Ç¼ysxuLsì@ ÷®½æqrë ã_O½Â«ÏßÍåí·ðÆ cÿÅvöçšoÁìñÜ1?‹+ŸzŸOç|Â[w$üÞÍü塯)ª¢¡ÂïæÖOërდùxÎ>zf4õ¾½Ÿýj×ìß<:–ÿÌ­ÍÅO|È—_}Á»Ž¢µ/7¼ÊOžO†¾ùDªgç„в \wí,K¿ñ/Nâ\NÎ/Osݓȋ»åÅÜ6¦ ¹‹w×™€EÁ‚Çÿ®¡ÿú+=’“ªl_Dœ c6:‡^Þš¯ÿ— ?Tæ­bÑâø:÷¢£·’uìM9®[?|ÏòêßÙ%"""""""‡‘.u‹ˆÈ6‡ —ÝÆÓåÂårá´`maÆs“XÝújî»ùz¶Ê"«yN½ö>þuJ”ƒû‘zgÑž‘ÿ8‡vinl†›:Fò¯«»±íýW˜½­ò(¯EFþßHº5ðaÃF|Ö .œÍŽ_ñKˆþÈg_l¦åÐÑœœ•€Ýæ¥AÏK9¯[„Ü¥ëˆ÷9ÐP‚"ÕWù9a;³&¼Ê/MG3þÿΦk³Ædu<¿;Ÿ¹ÿcÒ·aÀIÖyÿâÚ–Ëxì¿“Y³}>Ý5 ßùÿæªÎqUµ/"'ÃÄAÖ¹7qY‹ ¼>~•ÆyÍmlÙµêÖÁYiƒ6ÒêÕÆV¸…-¥òŠˆˆˆˆˆˆ ä‘}‹,ãûÅrŽïEÝÒßF<]OìŠoíw|·©úuí Z“\:cÚ© McËÈ]Qyн~+ZÖ*Ó“ ¸°$ØŠ‰‚ÝQ:ІÍf`šÖ~e‹H"KùfQ˜ìN Q©ÃÍžÙ†–ñ;Y¶tmI‰f{CÆÝ@—•Oð—Kï`V­Kø÷è6T–,("‡˜³)çÝt1ÍÖ½Îø ‹ Tv»Sµï¯Ð"""""""GyEDdŸ¬@>ùaƒÄ¤Ä½¾8lIÉ$PÀ΂ê‡P —w¹kĆ/ž8üUžlx}x+º¶lQÀu´¢OïT–¾ý_¬õcfÛ÷¯0ùÛ8zŸÔOµ{("U±‚;ÉFù鹑ô9þxŽßýèw#æÇ(.,Þ3¯­îIœÛ/‰ ë‚tvÍ\G´ë":®œ‘Ü4ª)k_ÿ/Ï-€ÍV6Lk«EZ°}Ó"•¶b²uÓV¬„4Òt—†ˆˆˆˆˆˆÈQÁq¤; ""G?ÛL’ÛbíÎLÊzÍ‚’@rbõ3{¬‚| MÊÜjdíÜÎ+Ž:ñ1§Oϱ÷ré_¯á¦ás9ðÖmEß±rÕI©Ê=9D O .mF>Á¿ON)wl8ëìù‘Xò½¥ÃqõùúéG™ÓãVNHÑÑ(òÇqÑò¢›¸à³Ëyeüz]ãÁmý¾ØÞ„öm“yqþ|ûЭ¢;¢by|ýíf<í;ÓRÿƒ9*(“WDDʰÛí‰)˜ëlC×.~þr.ËTeöóýßâo؉u«ÿ•Û¼ˆï+ÝÉš9_°ÒÙ’vÍîêqpùGLÛÖ—{ßû„O>™Í‡“åïg䧘’È©ðœàhMçv.Vý¸–¸ô 22J?Ò©—T’®k}ÇS·¿Já qÜ÷à\Rûîºg&›Í}´/"‡–»5—Ütk&q×k¿`”ùNtÓùì3ÉÚñ¿°¸døƒ2¬™úo®¬ÏéçžÀ~ÜÓ%"""""""‡‘îÑRlÔjÚ”äü/˜<õœ¶dÒë¤2pÌ(Þ¾ò)nº×ÍuúÐÀ¹ƒg<˃ øÏ¹´Ø\ý–)·ßG­k‡Ò©-ßNâþçWPð#ôO=˜«Ç&…+fc¬6[YƲx;†ÍŽ'© ë'¢*±"û«²sB¯¸€©WßÏõÿÙÁ¥gt¡q¼IÑö üºtuO?^iÌ}ø¦˜gòðõ=HrŒ7†ù—ÞÇï¶áá! ±UÚ¾O™÷"‡˜·ÝeÜ4|W¿ú=g¿2Ë\­.áö¿üÈu\Ë%yÃqJ7²Óê5ïÎÙ÷=è^µ÷«4„=ûBnšÏ[÷]Ã}k 0R²è~þÝüõ²®™qkáhÚ‘Ï3þêé¿Ï6ì$6ÌM÷ßÌÉ TÄBdTvN𶾜ǟ©ÇsϾɃ7<Á–b wrCZwc\[gßËø<œûÄ5t/9°Y#wÕ\.~ô^oÿ8çg9+mÿ ·‹H…|tóO†Í¹†×7”_æ!ç¼ø_ówùߤi¼z÷[l,ˆàHH£IÛ^\öè=œÝµžn–9ŠÊ$‰ªÚªh™±éê<Õ|½ûa+7]úQzž}×c÷´£Ô´ p½Ö¬YsgïYDä€E"ü~?¦iî{åRl6^¯—«ê˰ .dðàÁÓÅeуgsõ¢!¼úÒ%dÒx«ÅöOoçâ{¶pÖÿÅyëáµf˜‚u_ñôßþÉ'áý›»á<”»‘bÆ8`.L ¶ë9Zj:VjÚ¬RÓ¥çYå¦K?¨æëêŸï÷lŠgrËñÌ W´ÐFýaó¿k[•¼´Çà›Íú„nã‚ÎõpïÙµ‹ÄŒŽ´Ép0=:4ßž"""""""""""G‚¼5Dnn.+W®ÜóºtÙÖÒÓ»³þ àyóæ´mÛö﬈°ƒ ð– …0 ¯÷;Ïw<{ù5®©0Šjàˆ¯u˜¿t4iž…õÚT^ט3Ú5$Ñ&Ó¯,œñ"O~]—Óì¤R“""""""""""Rã)È[˜¦ÉªU«9r$EEE¸ÝnÂá0ñññ˜¦I8Ʋ,b±Pä4imÚ´9èñ9Eä‰DI€w·`0ˆÃáÀéüƒŠ^Rëï+¨=Œ°‘uÁ=Ük>Á‹]ÍKkw´\ħ6 i»ž\úÄmœÕ.î0î_DDDDDDDDDDä¡ o  …p»Ý³téRrrrðx<äçç0MÓ4‰F£Äb1òóóINNÆáp‡q»ÝûÞ‰ˆq~¿ÿ°´™˜˜xÝìá Ã ï1ï°5_——ÜAK×DDDDDDDDDDDŽ<Û‘î€ìÛî ¯eY¸\.lݺ•ï¿ÿžmÛ¶ì âÔªU ÇC(:bý‘ê …B{Ê­W%–ÿ ŸMzšG'ÎeÓ¾WÇ4M"‘È!衈ˆˆˆˆˆˆˆˆˆˆ-”É[„Ãa\.¦i’‘‘Á¢E‹°,‹ôôt4hP¦LsQQÅÅÅÔ«W‡Ã¡ ¯H ±û®œIaÞ<>š½Œhbn—»Ú'ðÝç96(“·ƒ¸\.B¡sçÎ%33“6mÚ””€eY{ÖMHHØèݽˆýö•mÝ0wf¬&mÀÅ ëÄþ_ÞwYDDDDDDDDDDDjeòÖáp§ÓInn.­ZµÂívcš&‡ƒøøx,Ë¢¨¨hO §I“&,Y²¤’ oÜ×ïgjpc/êB‚`È}ƒßZN×1ºWê®Rˆ¥oÞÏ䢌½¤3;¦?¤@.h¼šÙs—±ng¼µiÚ±/û¶$Õ^weÙ›wñVð4nÙ ßžH•ÉÆOŸâ™ÜF_;€†6‹àúï™=k>Ë~ÛŠßtâK¬Mzóž Ø–Z¶’~û×,`æì¯X¾6Ÿ°#‘-»3p`w2|cõGðFx0é^Èì>eñÚBz^ƵÞgû"œÒ7kTÄ™q<\ÑŸDO˜õßì_Ðv_m‹ˆˆˆˆˆˆˆˆˆˆHÍ¢ o  q:8N|>±X Ã0(((Àçóaš&[·n%%%˲0 ŸÏ‡Ýn'”kÍCv‹Æ0-5á.´v„X¹<G¼— +~&¿çq$@l=«ÖD©ß+‡òm%ï15z ç^=”ÌD(X9‡7&¾ÉÄà…\yZS<ÕH/´Û»m¯LD›Ý6{IzyøWf¾6µÍ‡0ò¬,’lvlXůE)$î ÀFÖ}ÆÄ—çbv̨¡MI®fî;S™8ÉbÌ%=I³ÍfØ´€É“¶ãíz #OMÆŸ†QöEþHû ÄZQp:B…LØÏ ­‚¼"""""""""""Çyk€P(Dbb"ñññ¸ÝnÂá0~¿Ÿüü|LÓ$11Ó4±, ·ÛMZZEEEƒÁ½Úód6£AäKV­Ñ:Ó¡U,ÿÕMÛ~íøuær~.ìF×DssyÅ©´ÊJÆ`Wæ ‘Iß!ÇÑÀÆïgÃ^œsêJî›:¥}²èœ°?Ed+gw°Ýï£IûÖ¤§Ø±ˆ'!¥™†I$òŠXòÙ\6ÕÀ gw&9Ã2ÚqÆðíä=2—ùyÝÜ´¤/æº Äº-]DcX1¢;÷Ñþ!y"‡’ÅžªË‡æ0£¨¨èÐ4$"""""""""""(å,Ö~¿‡Ã×ëÅáp˜˜¸'[¯^=êׯOBBñññÔ­[¯×K\\.—«‚L^0’þŸ½ûŽ¢Îÿ8þšíÙl:„–@€:ÒUPAT¬ØÄ^OÅ;ï¼;Ïëþ<{¯¨ˆPT@ET, ¡K ©©Ûg~¤BÊ"¡ÞÏÇcÈìÌw¾ó™Í~wÉ~æûý¶¦mZ1k×þ‚ „Ö.e¥Ñ†ö=rÈŽ[Ïò•ÅXXä­eG|6Ù+›ÒœtG„hYÔŠFpe¶¡©¹‘[Íz»f#±};Y|7éYÞšµõù!¢‘0¡òltkó"4ëÜž„p˜¨ibF#„“[W̦;)ÆHêJßl;ÁP„h4JÔŒ¡~‘Ôzò6@»ÝŽišìÚµ ·ÛÏç#)) §Ó‰eY„B!ü~?;vì¨Hì:Îj{òBcÚfûørí: ­Fl]¶+û,Z93°å¸xmÙJü=Ú“·fî¶'Ñ¢Ò­†ÓÝbž„–Ó›   Ä41oõöRÖG·KÆ‘¾`6_|õÏ6•´}8ø$:5rb…ýøÃ&§?Æ¿gîQ ѰEJ0\‘¬5â}x¢V•[j¯_ä`3 〠«lõÔõWDDDDDDDDDDD Jò6%%%’ŸŸOvv6†aà÷û÷è¥kY–ea·Û‰gÍš5X–UmO^°Ñ¢m\?¬%¯(¼Ÿ#dŸÙ6ZvÌÁñæ VyY³²NÏÜ#7j•øñWÉCYÅ…YZÄíOÇp«bêòÇ‘ƒôn§2ª×0[rùü½÷xóÅ|.ºé:¸âˆsØh5ð:.êáÛsôZlöо¼Õ%Îê¨?NI19¸”ä‘X)ÉÛ|òÉ'Lž[˜‘)9õ‚|ÖÜ7‡õ;L:´È Mk'ÓÖmÆêß_•–e™Ô/«¥þŒýè‘,ò8Ž*7:ÔoÝ"""""""""""räÐ7ÿ @ãÆéÝ»7?ü0ééé4oÞœôôtRSSILLÄëõâv»±Ùl˜¦‰i–¦J[¶l©¶NÃÝŠì%|öÝ""mΠ«l‡#‹NÙQ¦|·@ú ´Ž¯r s'óÞýø!}ÉJ¶Q¸æk¦ÍÚDjß+é⥷ æ9Ùx¾ÿŽÙKÛsZ§Tœ‘|Ö~;•9ÀH)-e-gö×»HËnIzŠgxk¿ýžÍîLú7¶O·!˜÷ìL|§=Ûæ¶ïâ— »IìќĚ£¨³~‘ƒÌår°$¯Ó©!ÈEDDDDDDDDDDŽ$Jò6‰‰‰äææ2xð`l¶Ò¤Ýn'‡ÉÏÏÇ0 LÓ$ ‰D(**"''§†Z}´i—·k¶Ñ¾K[ÜÛ]´éØšpî2Rzµ%¥JÞÖÖlçWÌW¾Ä‡ÛK0â›3à2F l…#­v`ä=¸;œÉåÃ?`Ê'Oó¿wLìžd2»žÌ¨s<ŒŸUV̇mÇ,¦ÿ0ƒü’0†+F­ºpÆUÃèä1ˆZF“\}C 3>žÍG¯Ì¤ dáô¦Ò¢]oÕ•Óª³þ:/D¤^9ŽŠ5ê“ÍfÃårÕ]PDDDDDDDDDDDŒúœ¨±¶ºªÛgÔ±ËO#ÆÇå‹­Êzå¥ò6{ÙR¾î¨´nœ@ÿuëÖý§–k®73fÌàý÷ßßçäÝng̘1ôéÓ§Úý6Wq.Ñ@ ȯYMÃáÁë±c…”„¢e[£¬ÿäQ^ÈëËM× ¤…ÇÝ0À2‰FBC±$x+΀ÝéÂåt`3Ë" Ž:ð¸Lü%!LÃŽËíÂa·•ýB-¬h”p(Dج«ÍÓåÜ£œ  …‰Z`wyñØ#øý¡=‡‚ޱ~‘ƒ) Q\\\g9{\"I®ù%Dê(ëóùªíÉ;þ| ô#Ù ws€0`ѲŸ‘JëÑJë&`UZ¯¼Íª²^y!ÆÇ±ü¬m½¶m±ì‹™zò6C† aÈ!õ^¯òS\Íè°V$@qQ YDBJª90˜Ë[MaEtï]`Üw4× ÉÄŽE4ÄV)¡¸Ç£¡šEDDDDDDDDDDŽ@JòJýqwæœÛrjêØÀ°;±ì˜D˜¸¸8€:½uñx<u‰ˆˆˆˆˆˆˆˆˆˆÈ‘Åv¨#‰ §ÛƒÇSÝâÆí¬ÏÑÁEŽL†aàõzñù|spï ›Í†Ïç; Þ‹žËÙ7½ÎÚúFx?EYñüXN½üVV;ª€ˆˆÈ‘-ðÙ]œ:p0cŸÊ¥º?Â_ÿg½‹ÏU÷Dرh*OÞucÎ;ƒ¡ƒOåôs.áú¿<Âä¶>±‹ˆˆˆˆˆˆHì”ä•ÙÉ:ó¯Ü{ë ×òª±,«–åàE+ÒÐ9Nñù|¸\.l6†±÷†a`³Ùp¹\ÄÇÇ“””t†h¶‘”Ñ‘Ní›á;g‘CÇÚý1½ìQ~ªkðô~‘£S”¼É0!7†ù²êÝ;¹öÖ'˜êȈîäžîã·^B_ï"&üéZnu)Åúÿ¼ˆˆˆˆˆˆÈaCÃ5KÌjœßVDÃ0p:‡é¼º62‡ÿ‰»u"r€™ìþf6?špAƒ¬_äèdÏÄÔoyç œðÔõt­c€ðŠ×¸ûÉù¤œ/^{ ÷•CŸCØá/üîéó|§ç¹¹‡¦ƒ9(É+""•DÈ}|4+ºŠÿv]Èóo|Éò_J ¡%=‡]ÆõcN ¹³¼Ü¥Ü¶ð Æ?})­l¥ÇÝ™9ÿí¾”‰“g³dS!OcÚ÷¿€n8“öñeßò˜ùü“¼öy.ëvú‰šåƒ¯åÅ'.&Óf’¿è=žÿ.s–mÁïlLÎ çqÝõçÒ9±ü›ç0¿|‘''Ng~^Fr+zÃiúh©V!ß<ö;þó^E¦Å-ƒßìd~Šç¯ÌÁNíí4¸â%n¹å=ÒnyškR:|ŒUÌ]ÇŸ¿9†=u ÖK7×R¿ˆüVV(…Á·ŒeãMÏðÀK'òÔu]¨95dÁ”X›4„{ÆVNð–s“uÎuœóáõL~wc»&Q³°ˆˆˆˆˆˆˆr®YDDª°(œõ ÿ›—žÎÔ¦ðÒ§žöOþøäµ ÕhQôåCÜ=»1þw"S>þˆÉ¡ÉüGùÛÓß—Í àÇgþÌ}ߤrÉýoòÉ̘tïÅtôúèsãs¼ñÀH2l\6‘?Ý>že-.à®'^à™ÿ^FöêøãßÞ&/Zã·rû¿¦²»û5Üóìó<ùï+éþËK<4e3‡Õ4Á" •‘@ßžæñ«:âJ?›û§Mgúôynl;ìÔÝNÝ9—pÇØ–üôÔƒLÛd…ß?ËÓlœùÇëé›”Xký"²"aÌŒ³¹uLG~™|?/-ªeØæè:.Î'®ûqtõÔPÆÞšÞ½Xô+4´ºˆˆˆˆˆˆÈaAI^Ù‹Eg.¼ålº4rc3Ü4:æBn¿ª»>zƒY;kžÏ¢ýþ"z5óbÃF|Ö`F oÃî¾cUˆ,竹ÛÉ1†AY>ì6Mû^Êy=#,Y¶™x¯ÃÚÅçßbuëÑüý¶3éÙ6“¬nC¹é#iºø Þžóf¾>Ý®â®N¥[ëLZu8ŽóþðG†¥Д"õÃæpá²`Øpº\¸\Nœvbi§8É:ÿ\“³ŒgxŸõ»æñÌCÓñ޼ƒ«ºÇcÔV¿ˆìŸhYçŽãÒœ-L~à%jÌóš;Ù±RÓQó6¥7Â(ÜÎö€>eEDDDDDDJòŠˆÈ^lMsh—T9ÑbrLZG—³dUÍ]xlMÚ““jÛ㸄Ä(.*ílEGÀî¨ÜOφͦYö¥qdósƒ´îߟŒJÅÉÝRþ IDATì-;ÑÁ·›åK7a†fñŠ(ÙÇõ¡qåÓ9[Ó½k J‰`±´S{ θýFz¬ÏŸn¼—ÏS.åŽ1©©³ ˆÔ3gkFŽEöæÉ<0q€š>%X?=õ)+""""""r8ÐÄ…""²ÃåÆUå;\#ÎG~ ‹¢Ôôñax¼ÄU÷ݯU6ﮣýKáS_cî±×Ò¯¹ƒÝ?½Áûóã9þ÷Ýp–?Ÿü@”•®aøË{TB$hÒ¤¨„h°ˆ¢„¤Ä*w+ÙHHŒ×L"X,íÔ¤ônB[úÎ=én{¯~—ŸN›š» ŠÈà̾qÍæw¯>ÀKýŸâ ÃØ3MkK¥Q*ìúeaÚ×0\ºÉŽ_v@Bké. ‘Â’¼""²«°€¢ò Mù¶üä[^Ò}û1[¦ϱ7ü“Qþÿ¸bqNqé8ñÆ{¹b@Y\ŸËNÇ‹àŽAÉUú 8átoÇë4ÙQTŒ‰¯R˜@PÃ5‹`F í´ü?™¥¯ðäGºönÊÏ?ÍÜ>¢²zŠ<.r.Ç_ÝÂëN䨫=¸â_wÛ[ÒµS¯~÷‹'Ыº$n4æoÃÝ¥;9ú RDDDDDDä° ?ÑEDd/æ¶\~ÚhÒ¥UyúÔdÃܹ¬q¶ç¬lýÍužÉŒ'ñÏI J5}nèÑÅÍ3Ë7â½´3©Õå‚ÌvtʶñâóÙ}î°_˘[X²d{é0±"R/ìv;„Ä+ß=K;¬âŒ¿ç-Šÿ“ûonÄÔq7óÐÃ}h×)4²ÕR¿ˆÔ/wGF;Ÿ¯n}‹ßê„ARåt1œ¬éoñÜ«§ÒáŠÎÄïѦìÿàYÞÍk°ßõ'Q÷hˆˆˆˆˆˆˆ4¢¥ˆˆìÅpodÊ=2mþj6mÎcáGñïWVÒtø…œœ²?ßîš®]Å/fˆ«—³|ù V¬XEÞÖÂåEl8eìHZÌŒ;î}“/þÌšU+XôýL}åM¾Ùf‚­)C.„oÞ3üç…/Xº~3›VÏç£Çîæ­Õ6Í(Rol¤´nMRÁ7¼ÿÁ"6nÝÌÆí%X±´S+ŸoŸ¼—©æpþp}_]m¹ðöËhñÝ£Ü7­lÎÞšê?ÄW-r$òt͸s[°iþOüRån(gûQüùÚnl›t;7Üõ,S¾øEK1îǼ|ÏÍüî±´¹âN®VB]O¾ˆÝò-w¼µŸO€ˆTpõÃímâ±ÆqÙS²/¹Ÿ'ƶ¯£Zì˜õ÷ÏtsÎýWÓ³ìÑu¸ònxú^&w¹‘YÎëßáE¤Zqt»ìVΞû&o­ºÏCöùÿå™vÓxýíé¼ùðûüRÂîkL«NÇ2úÞ0¢g4¥¶ˆˆˆˆˆˆÈá£>;;ÕVWuûŒ:ÖcùiÄø¸|±UY¯¼TÞf/[ÊוÖm€è¿nݺÿÔrÍ"r”±,‹p8L8&‰`Y–u`û£†aØív\.N§èû­}þüù 4¨š=r¿”ÛrÏdüS£hU¯ã=Xìšý?nxx;§ÿívÎïÖ 0ÃnþŽþz_vû¯ßÖK_"‹ˆˆˆˆˆˆˆˆˆîæaÀ¤t®@ˆTZVZ7«ÒzåmV•õÊ 1>Žågmëµm‹e_ÌÔ“WD¤„ÃaJJJ0̓;ly"Ù4MÂá06›¸¸8\.×þV\?î!Lîç_°û˜?3²{Üå›mNZt£S 3ƒ¡p^‘#‹æäÙO~¿Ÿ¢¢¢ƒžà­ŽišSRRr¨C©†ƒ–ÙYX ¦òæ·kØ^ è/d{ÞB>}áߌÿ!¡C»©¯ˆˆˆˆˆˆˆˆˆˆHÔ“·ÈÍÍeõêÕ+[y½<ÉdíÛ·§k×®?X‘£ˆßï'ê0ö 1 ƒ¸¸¸CJ%6².ø'ÿ¶ÆóÊ“¿gÒÆÝpŸÒ”ÖåÒîàôÎñ‡:H‘Þ’¼ €iš¬]»–Ñ£GPTT„Ûí& áóù0M“P(„eYD£Q 4É;iÒ$ºtéÓüœ"²ïÂáða™à-p88ûÒ7ÖA×›^gÆ Ê‘NŸQ¡Ï¨u‘#Ÿ’¼ @0ÄívS\\ÌâÅ‹ÉÉÉÁãñŸŸßïÇ4MLÓ$‰FÉÏÏ'99‡ÃA(Âív×}Ùg‡çÈ{*))!11Q7{ˆˆˆˆˆˆˆˆˆˆˆA”ämÊ“¼–eár¹p8°}ûv¶lÙBff&)))Iœ´´4¢Ñ(§âX9REÉûèa&¬íÍ × ±-ʺéOòZ^®¸òÒcžu»¬ž Çñ»«ú“ª|`‚Áà>ÍÁ[²ê&}¸œ¸ã.å⾩üúزp.sZÅ–Ý~¢ŽxR›gÓ£ÿñtjäª(eobñ?²xÕFv…0<É4mÛþý»Ò¤–&nš&áp—ËUs!iP”ämB¡.— Ó4ÉÌÌdÁ‚X–EFFÍ›7ßc˜æ¢¢"Š‹‹iÚ´)‡ƒ`0xˆ£?¼YÅóyíùMô¿ñt²ì‡:šßÆf³ÍNi>× ¡IYVc¼û˜¨Ý³©Ky›‹…U´œY³·âNvãvU~†- r?æý¹A: ½³²Sqú·²ä‹i|ö^ ÎKN£°v³à£©,tÃñCûÓ2=k×r¾úxïlpш.$Öòû.‘#ƒò9 @ Àår ™3g­[·¦K—.$%%`YVEÙ„„„ŠDoù1R‹âŸ—’9’›6ÒzÏØIPoÜ*ÇVÐÊgñg_±«ý‰tKªúJ ²1o ÎN9¥C.Ë„¸¦tz"m¢ëÉÛZ–H6Ò8îâ[¸þÒA“•N‚ÛEb‹^œ1¸ŽM+XShíuÚÊö%!-"""""""""""‡?õämB¡N§“ÜÜ\:uê„ÛíÆ4M>Ÿ˲(**ªHädee±hÑ¢’¼r_¿ŸwÃwYï²D …?÷ |kéCoæªþåCÉYüæý¼]4„q—÷b×Ç0É?˜Q­ò˜9g w!®m{ dèÀޤÖÕÖÜÁœççˤó7²3žJIÈèÆ<ñܲFßʈ¶JÖǧŸÍcéú”˜.’šçÐëäÁôÏN¢ü4V`3 ¾œÍ+6°mw!AÃKãÖ=8åôA´O²M?2sÆ×,Y¿Ó‰7±íû1th6;>Ï[ó¶0-žûÇÀFúÉ×rã)ÍëHúÖVoWÒl¥eJÖ}Ëô™ß°lC>!G"Í;ÇСǑYÑÅÖŠé:÷M”5SïÞcøæ¼áµâAŒj½Y_/eý.?¦3‘æú3lXoZxjÈG·ó㛘¶³3FÛxb¸î£Gå›+jf²ó§Où¦¤çŸNÞ[Uqàó¹ˆîdw0oÙ1þÝ»)6|dVd꣄"&FEE Q?–݃ËfbÖ‘Ã-Vi(”ämN§§Ó‰×ë%bx½^LÓdûöí¤¤¤`Y†aàõz±Ûíøýþ*µyÈîÐ ¦­a]¨7ÝAV/[ƒÃÇæ?“ßïX’ º‰µë"4ëŸC‚ù6ÿ¢)¼9 o8Ö‰P°z6oL|“‰K¹îô¶Ô”/ÀÖˆ^ǵcÖ”,-îD߯ ¬¹‹Ù™Ú“ Ú: ­ÿ”—&|ƒÑc8‘Mª½ˆõ?Ngê«/°ãÂk8»C<`8Búè2äBr2Rqä/åã×§ðÖÔTnÕ“„ð*¦¿6 íÏaôÙmH²ùÙµy-«ŠRH´yitÖ8niô4|•ÁUwœE ŒÔ‘ ÕVoi‘ðÆYL|if÷Œ9¯- <æ¼÷.'Y\sy?Û ´þ³˜®s_UvÙf3,™Êäà`οêrÒ\„¶þÈäño0iz 7Èf¯|ÍÝä¾û2Ó¶wdÔµg’íŽ ®¬óº&±$N£Û~àÓï£ô¾¨£ÛY»×!NZõêK£×góÁ§׎„⟙3ý{†Ó«‰ ʸV¥oévmØ@Q\3š'×þJ©)VŸÏWç5ˆˆˆˆˆˆˆˆˆˆˆÈáç(LÍ4<Á`‡ÃArrrE/Þh4JII ›7ofóæÍÄÅÅaš&–eáv»iܸ1.—‹@ °W}žÖíhÎcí¦²ìQp-ËV¹ézr/R6.ã粡_Í_Ö°¦8•ì6É¿&Ö <çXš;C””„p¶èÏÈá9ÏŸË⢺’^qûÒÙ±Š‹óMXEòÈ]œO“Ýif’;k.Û[ gì¹}iÝ8‰ÄÔ ºË…½L~šù [̲ãm<êNèÜ’´„x’2û2ü„L¢Ö³Õ+°‹%^²ŽéLFŠ_RcZv:ŽÁǶ…… ±¢Á Á`°î/uÕ XE,š5‡­Í†0úÜ^d¦$Ô¼g^0€ÔõsøzMöå:ëEÏ?‘¬8±3±3mFñªUl©Ú Ô,dÙ/óþú,F^}6íÜ¢V ×-{ŠlaÞ§?á8þ ú&GWûÒ²°Rúpᨈ_9WÇ?ÍøW?ggÎùŒ=- g-=t­¢å|³`Íúô¤¹ÞÉEDDDDDDDDDDŽ*J 4%%%8âââp8$&&V$r›6mJ³fÍHHHÀçóѤIâââˆÇårUÓ“Œ¤Ö´M+fíÚ_0ÐÚ¥¬4ÚоGÙqëY¾² ‹‚¼µìˆÏ&»q¥cSš“î(MúXÑ®Ì6457²qkÝYIËÙ–ÞÝX·`!ÛÊŠ‡×,bIQ=IÊn$o]”³ñ„ÂDMÓŒ CËNÙxv¬%/¿<[%ŽD1M3ÁíK€H„ˆFb'úv²ønÒ³¼5k!ëóCD#aBá({åÛöa4Û:ënbm^„fÛ“.»†h„pr 2âŠÙ´q'æ>]çþ3RZÐÌ!ZÖ£Ó2£8ãÊá±\·Tbãן²$þ$Nïé#\ËÍfþR>ÿè¶&wgðiƒéÓ>™ó¦ðÞìuìÝzË7óÍ´/ÙÚâ†wóU´G9:h¸æ `·Û1M“]»váv»ñù|$%%át:±,‹P(„ßïgÇŽ‰]§ÓYmO^hLÛl_®]G¡Õˆ­ËVbeŸE+g¶¯-[‰¿G{òÖlÂÝö$ZTºÀp:°—õ~-g9ݸ šP×L²–Af¯^4úæ'nîÏàVå.%ÐæTº&UÄ1ˆó¸«ˆéòâÁ?P@d÷J¾ýjK×nagq °"¢t) ÏG·KÆ‘¾`6_|õÏ6•´}8ø$:5rîÛ/aµ×k…ýøÃ&§?Æ¿gîy ѰEJ0ŒŠý:ëƒárá¨ZUúOåü ¹el‰B8ÄæmE„}q•9PÏgÃdFà ò¾âÓŸS8¦3n°tÄe«ì®ËÄ´,l†aíæ§?a¹ïT.?¯+ÞHã˜^»z“&Oe†÷N¯:lwh+ßð‹\ÇsÉ™ð„Ô1%/†Q?¯#9<(ÉÛ”””PXXH~~>ÙÙÙ†ßïߣ—®eYX–…Ýn'>>ž5kÖ`YVµ=yÁF‹¶mpý°–¼¢4ò~Ž}fkØhÙ1Ç›+X]äeÍ:È:=sîÞV‰•¼–U\H‘å¡E\líÆ=86s_þ´ž“ÓJX´|â¾J½l ìN'¶M/óØ—^ºžsƒRÖ±v[Nn‡£¨¨´çn €­Å œØ~SWo$Ô!‡Š[B[ønêT~rÇÅ#û’ö‰1V9r(ÉÛ|òÉ'Lžûn‘6gЦ<¿äÈ¢Sv”)ß-$~­ã«èÜɼw?$~H_²’m®ùši³6‘Ú÷JºÄÜóÔ"®C_:ô.3g…puE¶Ó*>؈£ë|ûÌL^ÿÀÎо­I¶—°)÷s>úÑ û¨~45ÀLmBcÇ\–}ûŸG—ËUC’l®8âmU³û!âìàðćbƵ¦Kö\¦}1ƒÄúЮ‰{(Ÿ‹ç2wC2Ç\‰°B›ùvÊ~ð·e`¿v¬XÊÖJ/›·1éñ5N²ît}Ãi‹ˆˆˆˆˆˆˆˆˆˆÉ”ämÉÍÍeðàÁ¥=O»ÝN  “ŸŸa˜¦I(")Àµ¨¨ˆœœœjõѦ]:®ÙFû.mm:¶&œ»Œ”^mI©’§²5ÀyÇóÕ‡/ñáöŒø&ä ¸Œ[áˆDcNJZζôîfçǹ^NìÑ £â@ ÒpÕ ‰Ìøx6“Ç@QÔEr‹öùH´ñ‰XñÝ9ëâí¼;í^x$€—JËcNႱY¼ýÔ†ÒªœqØvÌbú3È/ c¸hÔª g\5ŒNƒ¨öÖƒ9pï}þ"}â¤ÙIc¹z`óÚg­³^ £É@®¾!…Ïæ£WfR²pzSiÑ®7ƒœ±_ç!cE1Sûsш5<öÎd>iy5gdÖý|MGÅUYf”HÕÍ–‰ `E‰D¢e¯17í†æ¬o?cÎWï3/ßOÔá%¥yý/>™î,a 3?UÛ"`-cæÛKöjgö6§rÕ¨:Ã3€ÍfÃårU³GDDDDDDDDDDDªú¶¶ºªÛgÔ±ËO#ÆÇå‹­Êzå¥ò6{ÙR¾î¨´nœ@ÿuëÖý§–k®73fÌàý÷߯6™T»ÝΘ1cèÓ§Oµûm®8â\6¢•Š†Ãƒ×cÇ ( •deý'òB^_nºn -<솖I4"Š=Á[^ߦOŸà¹eݹñ¦“hTå`ÃæÀérâ°Û0ËŒ …UÊ$Ú.\.'vÀ"  ¸ãì„‹D ;.·«¢°°¢Q¡a³¼»ËÛiÇ̰¨Žç9¦z÷¾†Ò¡ŽÃ„Bኄh,×Y»Ë‹ÇÁïaÆð¸">§¯Ë"P$ZQ.Œß®(gszˆsÙˆüM[L×}4 …BÇXÚN\R®P>ùþJ„v\qqx\N6,‹h4DÐï'.ûM8¼$%z¨q@ìp1» ƒÕ¶AŸÏWmOÞùóçW;”»ˆˆˆˆˆˆˆˆˆˆÈÁbÆÀ ˜@´ìg¤Òz´ÒºIé@¨f•Ū´Ýªf!ÆÇ±ü¬m½¶m±ì‹™zò6C† aÈ!õ^¯òS\Íh³V$@qQ YDBJª90˜Ë[MaEµÜ$÷ÍuC2±V`%ó~̧åÀ4¶ö~5[f„P Bõƒá–Å ˆì]Â_.«$J(௵°ˆ†T\NŒ×Pw½±]C­ebŒ…P •ÓŒÑ:Wœ; ü©ª©œ¹G™XžÏ£‹Ëå"‰ c(ÅŸ¿ÕÍV”PI¡’Z”¿³¶Õóx<ªYDDDDDDDDDDä¤$¯Ôwgι-§†a{ ;vï&ÜβÏ>d¡³7—÷HÄ:ø3ÏÖ¬ÎkpÖÜ›òHŽEjc¢÷àñx<±ÉeÙSsŬALxí:rì>v ¿_pÏ<7†66“m_çžÇÞá»Õ;ñ›iœóÐݤ=ñGæ ~‚¯ÈÙÏ6\5†z¹0‘.¯¿êÚžÈÑ-0ý úël2.}Š ·tÇ[ehößv‡Ÿ;fÞË©{üW!ÂöŸ¦ðò«2gáj6çq$¤“Õ¥§]4†sû6E@ˆˆˆ˜lÿþeyòæ,ßF$>ƒc†ŽåÖëO£­×8 ÊŒ˜Å9TÝ¿9)É+õȆÓí¡Æ~ƒæf¾~ófm2ñeù—ŸN–Ã<Ìær­ã°°Z¼‡S,RÃ0ðz½8NJJJöyXõúf³Ù*âi(¬]Sùý5˸tÒíôl°ŸJ6’[u¡k0_ù¦’¯xâïXò?w|á0ž¦ßtîJ猄z/A¤¡ØŸö^ý±Õ´=#ÊÚ×ïæ¹¸¥{Õ4ou‚üü柸åÁp{Œ»‚vãˆìÎã§ÏÞæÙ›GóùµñàØ.ÄëLDDŽb¡e/pÛm¯Áé·pÏí‰ßù#o>¾ž¼<8‚!ÿø„…ïÝà çŸÊ€ú3`ø(nò 6†+—5Ùû6ÿûÝ…œ6 ÇŸ0˜s®º‹¿ÙJ¤¢ŒEѲ÷¸÷¦‹8mÀñ× ÃÎËïœÎºhsóþ5›ÂÍopÍq½éÝûX.xjÕNE]MœƒïšVçIýú1àô1üyÂìܵ7ムCpBÿœ~Ù_yå§ü*ƒÃÇ?@ˆõŸ=Îï/^zŽá£¸ý©/ùeû¤Jãé7úÖD øö©¹ðêçXÚÀ+WGïÞÇrɳ?.ቑýJ×+DZð þsí¹ 9¡ýÍUÿz…ùÖ>Æ r Äöú³Š–óÁ£áš‹FpêIýèwòpFýþIfo‰‚UW{¯¥Ôzl¥¶gB½½7ÔÙ&EoV(Óþx ]·¾ÁÝ㢤ÖÒA¾Ÿü.«’‡sÓÕ•¼åÜ´¹à.hµ…ßü59j…óí~:œ|Í*}£êl73¶0÷«Õ¥ÿ·=TåḞâõ^:Ÿ“OûÓ~1`ý"""¿R’WDDöR0ónþõu®{j*ŸÏþŒ·þ3”Д?󻇿QTöå®?÷nºñqr›žÏßžz…WŸ¿‡«ÙÆ·]ÃÝ_î,Mšø¿áÑÛ`~ÓKøÏø7xóå'ø×õÃhß24{"Ç›Èó7vÁÕd$O|9—¹sgóê5ícž«¶ðÓÿñŸy9Üôì|ñÕtž¿²)?=õFú'ßµ¾–'§ÌâË™¹¥íRžøóc|]é[î˜âÇ¢`îýÜô×wØÕû&yùu&ܽ¶<Ç=“7U?£¸‘HŸ«bâ—ÓÎÕ’KŸû’¹sgóÒ•ÙÕ^WpÉx¹ âã IDATn¾é –d\ÊÝ/Nâå®&gåÓÜ|û$ÖDc "õ&öןá(bËÖN¸âo<2ñ ^¹ï22~žÈ÷|Èvjoïµ¶sßß+ö罡î6)rø³Â!Ì–#ùÓÕÙòúÿS-iÞèZ,Ü·WzÄÕPÆÞ–cû¦ãÿéG–Ej(#""r„³ò׳¾ÀCfËF{~¡joA« ظ&à!,w0b>ç¨ÿú#ìØEIÁNvbý"""¿R Ù‹Å1ŒþãHº¥•vçIï9š¿Ýð#çÝ÷ 3¯èÃÙiÛùä¹Iäu¾‰7ÿ<²ì.Ó6´Éé@Òî ùÃãopaÿëiW¸žuù‰t;õTzµóвM'ú–ŸÈáÂe7À°át¹píë¶î\ú‡sè”j.²G\Âà ³x;ãFn¿ðÛ2žÆ÷«£ôëbk[Lñ·7¶òñÄÙÙcÏÜ:œ¦6€–´¾3]—^Æ„â²9\¸v Àærãr•¥¢ª&ˆ¬Ìÿ*+Û^Åk9—,;@+~çF\ö2“¾?Ÿ¿ôÙù›b©æ>´O/®úo¯_gäw|Âì XA?g í=–vpì¾½Wüö÷†Øb9ìE£˜8hsá\ùÙXž¹{<^¼™cªiÙÜÁ¶Ö$gÚhÜ´¶Âmló[àÔļ""rô±Š‹(&žxoÕ>3n|ñN¢; (±ÀsˆÊy«ùx®ï˜Å9ê¿þxÞ5™)ãÜ4I³aå5´ú© ž¼""²{óä$WþËÁ µgoÚF—»"á%ü¸0LΉýiRù“ÄðÑçä>x7üÀ[MlNbÄ Sï¼–N˜É’í¡ú³i{Ú%UŠÓæ#Áç Qv6©•ãò%’@1E%eãÄÇ?áe,\jÒ®ÿñ¤W.çlK¯î©ûÿ!^Ìw BdŸt-+uI´·îBGßn–,Þ€y c©Í~½þl¤¥7‚P`m]Îciûöoo¨ÿXD)g[.¾c,í6¾ÎÝãâ †ocþÂPß,ŠˆÈQªì#Шë£ðP•³LL3J4Zº˜¦Õ0Ïñ[Û—ú]É4M‹+=¤!Ö/""RF=yEDd/†Ë»Ê†×G<%E±üùä‡ “÷JòØ’’I` » ,hÞ”áw¿BË^çµ·äêgî¡Õ‰çsõMcØÒ³ÿqzÿqwÊæ•*"ÂÀÚÏC;Ø×Äêo~oˆ1Ý\! ‰+g4wŒ™ÅUþËs'Oà:›mÏv`K#= vnÝFjÝdûÖíX Ù4®iHg‘#œáK(½A°¸êÿNƒ‡±ùð‡®\hÖ] ¾ýcJÊþoëêwþ½áã@?ïGZý""rtS’WDDöbäSX%“aíÞÉ.+žtŸ#.™$·Å†Ý˜$ì‘ð0 vSHɉe}ØSérÆ Ü}Æµä¯ø”W~ˆ?_»…{ßø;'%Ì«úU¬ñîxâÛ ‹ª”³ø÷6Ó@‚ËA—ÑOð÷SSª$Ÿ œ‰é8ÝÛh "µ‰¹ Ãý׎㫶×ó÷{ï¢gf"Nâ`ê­ »¯ŽsÄÐÖX§XDꋎ—ÝÁ¨YWóÊÝã飷Qôën{ÇtMæÅ¯¿fa`}«»+º†yßÿ‚ç˜^tT#‘£”‘˜E«ÔË×mǤù¯ÿ7Žn$o49)÷!,gëuÏM¼„hYÖækAbÒªwŽý¼iõ‹ˆÈÑMDDd/Ñ_ðãúÊwš¬›ý%«éÖÞÎ.ôéîâç¯æ°e›LKøñËï)iÑ“îMª~ÄØIÊ9•ëïM—‚…,È+ Ön·C8L¸¶á\ë[¬ñ;;Ð¥½ÁŠy?°«r|æ&rmÛkŠÝ}æèL¯n.Ö.Ý@|F&™™•— š&¹| "µ‰ñõY=ï·5bÐèK8¶ebÙtaÖ®Z¿Çk´ÚöK;¨éØúc," Ž»3—ßq1™ë&ñ¯­¬2  ›^çžE›]ðø )Ú«…X÷îc¼¹ºg\x‰êA"""G+GGú›Èò/¾ÚãïÈðª/øjC }Í.ã•3šÓ¾c':u*]:´LÂÞÏqÀŸw€àN6ýRR:bPC¬_DD¤L}~6Ôöç~uûŒ:ÖcùiÄøx_[ÙRݺAéóÖrܸqƒj¹f‘ÃÖ–-[hß¾}5{L¶|ý¬ÜNÞO[ñe4%ž|V}þ4ÿyâkâFü‰ßŸÒ—GëV&s_|¿¤Ù4 ×1ïÍÿñ¿7wsÂÿÊùm½°s6/=ÿ ;í ÃÄ¿}³_™©²yõ`Úxl¸ýKxï½ÙlOéBÇ4“‚;‰ñÎ:†!.óÃ-8”¶vòã;ï²2s#û6®¸“É*^̇oÌ'yØ%œ˜a‡ã7 ™Iø`ÂÛünNV¡mË™õü½¼ðÍ‚ ÇpÎy½I³íµk>ï¾û3#.àØòÉL­m|÷öÖ·=‡s{¥a3âiÕ2Ì—Ï=Ë´õ’ݘEÛX¿2—¹Óç²³EZúbŒ¡¾^"•ÄØ9¶ðõÛÓYjFçì¬ÝkùþýGyzÚzvš3hÌ)´¶Õ·w_2YuµƒøšÞ+ìlÝ£ííï{C m2^.9¼EVÍ`â\§Ž:‰ŒJí9›t%»ð3^ÿd FkN¹lm¥ûì»ÒÍ»ˆ·Ÿ}Vcw@¸h–Ï㣠ÿãî—×’}ý½Ü9¬yÙM"""G#'Í[Ù™÷âsÌÜÞˆÌF V~ÊSÿ7žÅY×𷫺‘dÊr#æCqŽú®¿˜Ïÿq.Wýß×ÄŸz&Ý’\ ¬~‘#Ï?ÿùÏÏ€õ€Ié¤ZåKÕÇ•jØF•õ#šÛ‘½Ø³/åŽóòyë¾¹o]FJŽ»än½²åù WÇ+xäéÆŒî þ~õÿØöÒ´ýqœ{ß3Œéß`9ã1ó>äÑ÷gK~[\-»àæ‡n`PÙ_'®ÞWqç˜ÜÿôõŒ|ØCÎØÇyñšNüÕXâƒäæ‰=ÍCÏßÇõó±29fðhî½}.·¾¶ÿqÄu¾šÇŸiÊsϾɃ·=Á¶b wr :{&׸ŒƒƒHÍb{ý†óǬឧåÚó ±%eÐmÈü徎Ü}ÝòŠÚjjïu·ƒšŽÍ©÷+Ž%‘†ÉKkþÄù³oäõÍU÷yȹø^nÿ>/OšÆ«÷¼Å–‚0Ž„ÆduíÏ•þsû4E}ÙEDähgϺˆ{±ñÈ£Ïñ‡Ë·ŒkFç7òÈÍ#ii;ôåḞâõ[¿ƒÄF)x“ÓIó4ÄúEDD~UŸßT5„ž¼¶*ë•—ÊÛìeKùº£Òº pý×­[÷ŸZ®YDä°5þ|FŒQÍž <—œÃ«.§µþˆ‘Ä0Œ;9@˜Ò޻ѲŸ‘JëÑJëå=|Í*K]=€‰ñq,?k[¯m[,ûb¦ž¼""õIJ,Âá0áp˜H$‚eYXÖÂ0 ÃÀn·ãr¹p:F=Ü¿s€ã®UñtþzÎÝÌ U·ÓF³óæå›ºéLDDDDDDDDDDŽZúŽ\D¤„ÃaJJJ0Mó ž·<‘lš&áp›ÍF\\.WPÑ{"¿é5n¬6Ïlàð¥éÃKDDDDDDDDDDŽjúž\Dd?ùý~À¡Ó4)..&‰àõzu8¿Gj³¸C…ˆˆˆˆˆˆˆˆˆˆÈaKIÞ"77—Õ«WW<®< låõò^„†aо}{ºvízðƒ9ŠN ÞÊ‚Á †a·¯ÉRÝo›ÂÜ•ˆˆˆˆˆˆˆˆˆˆˆÔ%yÓ4Y»v-£G ¨¨·ÛM(Âçóaš&¡P˲ˆF£@i’wÒ¤ItéÒ¥~æç‘½„ÃáÃ2Á[.àp8p:‡:©GJò6Á`·ÛMqq1‹/&''ÇC~~>~¿Ó41M“H$B4%??Ÿääd¡P·Û}¨/AäˆTRRr¨C¨SII ‰‰‰ºÙCDDDDDDDDDDä¢$oPžäµ, —Ë…Ãá   €íÛ·³eË233III©H⤥¥Fñx<ÇŠHý ƒãWÇÜ<›‰oýÀî*ElMO`ô…½I1,¿,gþü%¬Úð »K®·ì@ï~}h“dßÇúª‰Ã4 ‡Ã¸\®ßv¡"""""""""""rØQ’·…B¸\.LÓ$33“ `Y4oÞ|aš‹ŠŠ(..¦iÓ¦8‚Áà!ŽþðfÏçµç7ÑÿÆÓɲ×]þh¥çioåm®&V$ŠåíÀ° N$³ÒsfØÝÄ•'d#[øáóïًّg &=% òø~æ >z/ÈY£á؇újPþ""""""""""""G%y€@ €Ëå" òõ×_Ó«W/¼^/–eaš&–eU”MHH`ëÖ­W#5±(þy)y‘TN<Ô¡ÖôŸ˲(**ªHädee±hÑ¢’¼r_¿ŸwÃwYoʆŒõç¾Áƒo-#}èÍ\Õ?•ÒRÅoÞÏÛECwy/v}ü“üƒÕ*™s–°qwâѶÇ@†ìHj]=<ÍÌyþq¾L:Ÿq#;ã©”¨ŠnœÁÏ- kô­Œhë dýw|úÙ<–®ßA‰é"©y½NLÿì$ÊOc6³àËÙü¸bÛv4¼4n݃SNDû$`Øô#3g|Í’õÛ)1x‘ѾC‡f³ã£ñ¼5oÓâ¹Ìl¤Ÿ|-7žÒ[­R[½]I³•–)Y÷-Óg~ò ù„‰4ïxC‡G¦×¨¨'–ë¬]”¼áµâSÕzŸÎY†]Œø&´ë;”Ó{9X4s&ó–mdwÐÀÛ$‡ãO;~-½üúô×k\€Ój~žŒ:G®Ê7WT³—`0€çƉ©©§­¡¤ ÏmÑ(þÝE„ /¾J¯•˜êÛÇX‹ŠŠö­"9,(ÉÛœN'N§¯×K4Å0 ðz½˜¦ÉöíÛIIIÁ², ÃÀëõb·ÛñûýUjóÝ¡L[úPo:»‚¬^¶‡/ŽÍ+~&¿ß±$@tk×EhÖ?‡òmþESx7rÞp­¡`õlÞ˜ø&—rÝém÷HÜîÅÖˆ^ǵcÖ”,-îD_yá(s³3µ'´uZÿ)/Mø£Çp.:#›T{ëœÎÔW_`Ç…×pv‡x Àp„(,ôÑeÈ…äd¤âÈ_ÊǯOá­©©Ü2ª' áULmÚŸÃè³Ûdó³kóZV¥hóÒè¬qÜÒèiø*ƒ«î8‹66 "©-y„j«·´Hxã,&¾4³ûƜז„@sÞ{—‰“,®¹¼ßÿ³wßáQToÇ¿³%½@º„Þ{PäÇ«X(" ¢4AAQT슢(½ŠŠ  bE@TAé¤÷–^¶Íû-¤.ûs]{e²3sæ93svv÷Ùs† 8ö-öªž9±X R6}Ç<îäÇÛS2ÈÅá3™0gcVQò¶NômM'X3g3f-$²ÿÝ”óñ&ÖÆTÈn?åt .2™Ÿä˜äMI?|/b˜®$NìÛÄò%Ûñ¯q7Uà p_zyÞÅ*"""""""""""ù’¼ù@jj*!!!áëë‹Ãá ))‰ØØX<!!!ç†nöõõ%""‚„„RRR2”ç]Ž¢Î?Ø}ÐM•h+¤îfËN_ª5¯ÎÎ[Ø_Ÿz!ž£»Ø•NåÒ083Ü«M³{PÔî ) ìÅӡͼ?÷O66-Ml³z&þ•êSåǬÙKÍN'1]{X¿1–¨ú5)bƳê·?9~Ó º¯>.7&¨vG7’†1uÑrn.;E,€­4-,éráö˜RŸ6·¬fÓâ}ñÔ&(å'“(U£ Åì˜V˜hÃÓéÆt9q™€îÔTR½ìxjæT®™À†ß–q¤HKÞW‡n7¦Q»:žd×‡ËøkW}Ú–Nf½·õô†Qšfw×%Ò–JR²Aš·Pã— üY°)÷6,ŠÝ™DT¼µ.…WÿÃî£Ê·€7±–ñd½Ÿr8Á7ìý{M))¸ýÅWÓ–’”äß` +GÍúu(n¿`éÄõs™öë>\¦‰a ¥Tƒ»h߸8¶TžK(ODDDDDDDDDDD®oJòæIII„‡‡ãïïÍfÃÏÏÔÔT"""Î%v- v»RRR Äáp“¡<#4š2fÓî£x¢‹àÚ½™FiÚ×*±t9[w$R·v q{vs"°,e#Ò¬V”H› ÷™Ž¦Û…O‰ÒöüÊ#êäÕ3íe¨[3˜ÉkÖq¬^"-àܵM ÅiR£ ¦{ {öº)Öª,~çÙÔ2AÉÊeñûg7{bMŠ„€GJÚ{zð — — FHeêWþ¯¾˜@JÃÆ4¨U‘bÁ62½;éEtṯ\÷AvïqQ¤Y‚gëàÁS Åý9pà$ž›N^D=½ˆ)¬6óte<.¾þBŠD`w¹ÏTÏƒÛæ‹)¤:Lïc-“æȰŸ²?7.+%néHÇ )؃ƒð·ºI:±Ë—0öašv¼›jÎÛÀªwÓ§²·3™˜£»X÷ç<Æo­ÈÿîkJ)ÿ‹/ODDDDDDDDDDD®oJòæ)))X­V<§NÂ××—   BCC±Û혦‰Ãá 99™'Nœ¢Ùn·gÚ“"(S6ˆ%»÷oâÈ–˜eïæ&{q,å}˜±eɵ*°g×A|Ë4¡Xšž›†Ý†õL¯Î³L»/¾¤’’êœî$k”¨S‡BËײîPcZs±sýfRJ·¢Z(˜‰©$» üý|Ó¯ˆÇ'?’IN9€+f+þø›Í»s2щ ˜®ÜT=^Õ; rÍR~ÿã'&/þŽ‚ëÓ¬E*ºœžÙ—k:“Ivz8°à#ÞXtaÜN“°T'¦Ãûzzð۱¥_Ü›%]Wà³ÃöžYΫX³ÙnÎÇàúeF¶Ã »-ÁD Át{01ð/Y% àš8›u›R¥aÔù{?[lØmv_Š…F]º óÆÏcņjÜTïô=²/ª¼Lb‘뇒¼ù@RRñññÄÆÆR¶lY à 99ù‚û횦‰išX­VÙµk¦ifrO^ ÅÊ”ÆçŸÝìI(Èží.ÊÞ %+•Çöå6þK`×^(õ%.H™IÉ$§Ëk™‰ñ$˜~ó÷nla3¢ JüÆ’µû¸­`¶º)ß¶ &à@€Ýädb"&>æ,SI&€€Rwðã”ÏØV¸5÷?Ò™²Ø “¤•“xõëskàr؈¬ÞŠë´&åðz~ý澜K§~÷RÑß«p3«Aöåúøão³pS³ÇèT+èÂd§›V#É»z^¶ì»ÓÞÄšÕÊ^ƒëWNI^<.œŽóÿºÝ.œR°€…íŽtÉsÓƒÛ àÆírâ0‚‰³²/9 á§ÁÅ”—I¬"""""""""""rýP’7øù矙3gÎÏ¥OÚd•l ¦mÛ¶ž·”,G)s>»VñŸ£ ­£O÷lµ–ªLYc.ÛV³ßQœÆ¥|/L@Æîb÷I%"Î&t=œØº…#¶4,ìíMmC¨Z¿ ~ÞÀ¶bÉl·T¢}_ÀK ÊFÛùfËvbÔçü´©ìÞ¼“Ô‚µ)bà>ð»âB¨Þ©¥‚MR“IÅžýÇñP,íÆð¸¤¸À«D«Ž±ìzûNx¨XÜ‚Åb—+ó!œ³¯DÖå+Néh;?î=„Ù¸&Aéòk¦éÁôxWÏ+ÎâE¬g†O¿ŸÜǼ=×'›ÍvîþØ^KÚϾ…Ê…gÙë€ÄC8 a²_ÎËòl6½Ô‹ˆˆˆˆˆˆˆˆˆˆ\OôÍ>AݺuùàƒˆŒŒ¤hÑ¢DFFNHHøúúb±Xðx¥ Xˆßõ?þvðúÝ©êuÏSÿŠõ©òÓ\ýæÀ§Úƒ”µ›§;þTkÙŒã1ó{+wÔ¦€5‰ƒëå§ j>؈Âx£ˆ°ýÉ–ÿPÙ¯ Áf7-céÆÔs=OÍ„­,ýëË–$2,»ó»W¬âo GXƒÀ¨"%mdÅÊê„T #€ðßl‡α\#ê-›ò÷„ï™þu>>Y'y=ÇX·d+î"ň &ÀÇ$ùä>6­\Å®ÀZt¨„Ï‘Y¸.•"Ñʼn ÆÏâ"ñÄ>6­\Éî€jÜW)·×åeÅn¿œáÉEDDDDDDDDDDäZ£$o>ÂúõëiÑ¢Åé•€Õj%%%§ÓIll,†aàñxp8¸\.(_¾|¥Qº\$?ì:F…ªe8gXJWŠÆ¹~ auÊ–.Ûi)Ò”v7'òÇŸðÃñ$ŒÀ(Ê7}˜¶ÍnÂær{”4íe¨[ÝÊ¿pk­›0έhBdSzô aáü¥Ì™ô= n «@ÃG:д´.—‰X“»8ÎÜfʇ)þᔬq;»•böØý§‹²ûc9ñ þYHl’Ã'˜B7Uåέ©ìgà6ÁÝœÍNðͯSùèg;Ešt£g³¢ÙßO6ÇrMŒ¨fôìÆÂùKùé³EÄ9Lìá+W—ævïëyåykû©¹Çà:f³ÙÎý°"#‚!I,_¹˜±‰8<6üB"¸©RKn\™W2NŒÐb÷[ņeëù#.—aÇ?$‚n§K㪄»“q˜Þ——‹Å‚Oæ3EDDDDDDDDDD$_ÊÍñ`³++³yFÓÞü5¼üÿìÃ’n:í#ísÖ3³Ó¶4ÓÀ4Þ»wï›ÙÔ9×,\¸yóæežLʆÕj¥k×®Ô«W/Óùü},¸S’HI“P4l~øY1)$9ÎÐëfßÏ£˜²§>ýkF1?VÃ8}/Q—ƒT‡÷ Þ³åüe4·Ôäñ~M(”neÃbÃîcÇfµ`¦Ç…ËáÀá>¿ Å惫`âv9p8 |ý­8SpV||}Ε&¦ÛÓáÀé9[ŽÕÇ_»ð8“Ivä°Ÿ½*7cNñìÄápr¶ÞÔ3'VŸü¬.’“iúrZðñ÷ÇæN&)m} ;þv<)I¤¦{9çX3ßO9¯k‘?93™cÁ¯«Å8slݸ)$'§r®¹Yìøùûák·aµ€yz9§ƒää\ž‹,/AAA™öä]½z5Í›7¿œê‹ˆˆˆˆˆˆˆˆˆˆ\–ààà!À2À x÷™¿®4Óî4ÓN„êI÷0ÓCúo£ãä'©‘o¯JB‹W¢rj‚Î>•¼œIC?çÀ-Ï3ê­j9øFÂÊŠ•©X,8W‡Ò¸–\ÇS®”Ë9?2_7“¶'"€›=s†3í–±ô©æÍûTvÎ}…çF¯Á·î]ÜÛ÷!Êòdz Kç1í¹Þ,}ämÞê\‰Àëõ&""âç¶Ïxñ…¯àŽ-ŠÕC IDATÇxµN®åëq#tÜʸ—o§%o—»1çÅ6T~ÎÇ@DDnLúúUr‘»¯_Ö¿ð÷â¯/§ðÛAAÅkpß#ÿG)›'‹$f^É¡˜˜W-Þk)ÉŠa`·ÛIJJºèaÕs›Åb9Oþà!fùRÖ¦DÑ1¯C¹,J´yŽ¡ižñùÿ#hpGÊ>¹mõÌPZ]ý¯’ëåxÊ•q9çGVëfl{"ÖÍi¾‚¯‡Oã–±}È)ÏëÜ6ƒ¡cVÖþ=Fô®Að¹Dn ê5mI³Š/ðĸ7˜\y2OÖÊ?"É}‰ü5k6»ËwcÊ“ÿGQ @Yž á±~Ó˜³µ)½+Ùòp¹«s^lCåç| DDäF¥+ƒxÉJ©»^ä½ ÷~½™]ÖÑ(JËþoÑÆrfxàÔÔ4÷½vd[‡«ìZŠE²g·Û Áåráp8p¹\˜¦yÅ¡a†ÍfÃn·ãããs™%ºXÿq^JèÁ[ÕÖ1yÖ¶M‚à’Ôný0}ºÞBÑsùc±›¾cêÔoøcÓ~bÜD•k@›®=¸¿^ä™ ŒIâ¶™4qK7í%ÆåGhD *6ì@ŸÇê±ô¼ùÍ<&ý[| X)Õe,“»—Ï¡§úé8‡Ä>Ê[570eÖ6NÀR 4õïéÓmìü6y2ß,ÛÊ‘DƒÒ h÷x:V IÓƒÖ›øœX2•1Ó°zOF›¨Ýº+ÿ»àêbýÇ1pÝLÛ–cÓ^ç£ykØëp±­_ fa¥L· LèâbÊ£O°¼ÙX&t+s¦Žb7|ÄIsY¶å0ÉöÊßÒŽÇúÜG•ã"bðBÊMÃŒ_׳÷d2nÏù±l•z3utbÆ\â~5ãYþÑ¥O¹¶ywþ™‰Ûùù³ü´b {'Á(@©š­yôÉn4ŒLÊáüȦ'd³ni6m{ãâ&K.½6äØ&E®m¦#Œý»q ßx†r+c«šaØæóRYóí÷ìmÉ;ÝÒ&xÏò¥Ô½qï}˜3wÝj¶@MADDnHÎ-¬Z“B¹Q8MJ{™[iTtËþÚMJe±æÕrW#æ¼ØF®—ŸÊš1=yqq4ýǽB«ÐüV¾ˆˆÈyJòŠ×Ü™ÞûõbdqŸX‘ë„aØíö|Ô‹6+&ñ¿àÝä<;¢/• ÂÉusöúk<›ð㟬C )›¦2èé¯áöž ê^“(ë)¶ýú)ã_|НŒfPã0Œ”UŒ{ñ#6Õ’!U£5‘#»6²>.‚0k0EûŽããBéõMy†NëKu›aµyù¡Å$aÉ s?ÆàûQ!ÔÁ®ÞåÙ†Ðsn•îŽáýªnä·Ÿcè«ã‰þtõÏ|ËíUü˜Ä¯Å ×#ìž'xçÅJ„¦`ÕÜIŒ\~Ox&a!Ô~ømÆßú9ýú-¢Î°‰t¯h;S¯mOÝ2ç}‰³y^~¢&ቛ˜7zϾääÜd½„2•¿ãŸçýU54ìKš•´qlÕ'¼öêw=2’ÁÿM¸b.y¿Sÿ²Ž§\›¼?ÿ k"GÓð¡A<^6 Ÿã+˜úÞÞY”éoÿ/Ûó#§võº™Ý¸þò^rn“Wc¿‹\&—Oñ{xªëúNÆ'·Œå±ªY¤yÝ{Y·1ÿš7SÍ/óE°FS·N!>_¼–m®ÔÍïouDDD.w€ñ¾+^ˆ F͵¥xQ8¸gÊâ—GËev¥Ïí˜ób¹_¾‹ø“1$ÅŸ".5?–/""ržFò‘ Lªpÿ{¨ZÈ‹áK¡÷3¨GNý4‹ßNš`ç—i³Ù[©o ¼‡KQª\-Zõ|ƒA-],˜ø5;Üà‰ßÏþ¸ª4oNÍ2%(^ª"ušµ£ÛÝÕ,6|¬ì>>øøØ±[½ïdÕèøÄT ³cX)ý¿Ü™D\‰öô¿¯*…| ,~Ÿ­c+JÅ­cõî3 !/ãÇs”E3p²z^îÛŠêÑ%¸©âÍ´{æYZ‡§dyGq‹ÍŽÝŠÅžM½ÌSü:ý+þ‹îÂ+ï¢v™”ª~ýží@᳘½ÚqÉ1dàÚʧ|Û®4/„ÕâGáúÑ®¶‹M[`;דñR÷ëåO¹]ÌùçW“®/ ¤SóÚ”/YŒRµï¡÷½pl^ÏNW6ç‡íàbÏ­Kmð¢MŠän7l”ºo•?̜៰!9‹e='9qÂ# es› …" aÄçxŠFš‘“™”@ú§êK`€wB‡¯@,"yÊM‡RöІOß@ @V-×ðöŠ¢ÈÍÛKæU_Îôàñ¸q»O?Ò~ÎËWÛ¸Ìõ¼ZÎ'”¨p¿ ÞÕä«òEDDÎÐpÍ""’áã‹Oº†þ$ŸàÆL‰'Þa!8$$ï…,Á¡±…ØxŠDÑòå _ø5_Íû˜þSFR¼ÑÝtëÙ™[Kd5&äEÄéë‡o†@6»=ó¯ Ï|þô6~30‡…àÐôËY ¼ì_J™É±Ä¦¸Ù1­m>½0PWª‡¨„$Ü©¹ƒ­"oãÕïfðgƒÞ4*j#fí,æ­¤áÓÕñM³è¥îW¹þ˜qþ9¬dîÌy,]»“C§RN¤ìLÄÉ­ÙoËvp±‰ÕK~mð2ýJRò{ÙûÐi)O|>œOåQø°XÂ)§ŽÃI…,†Ø÷pâè ަÐå_¾EDDò%#(˜ ’HÈÐ2•Ä$'ÖÀ ü¼[ÎùÇPî~iѹޞöÏòÕsùoWz¿_o勈ÈMI^ÉÀŒ#!]&ÃŒ=I¬@dÃ/„`_‡bãðtAÂÓKA„Ÿùôa £Rëî¼Üºq;gÖè1¼6à(¯M}ŽÆÁW³Vçy¿á@€ÝÉ„ÄtË™¤¤¤^vnÓð "ÈÇJ¥NÃܼ@ºä“-¸vß㹃Hƒ¾¯ñàóÏðê£ ñ·Ûð¬È­¿Ç£Ms¡W²\—¼n‰+Õÿy–G÷à¹×ž¥Fñì†IÜüçiÿaÛð¢\­7¬×R,"¹Ç‡ò  ãý™9b: zúák$žŸm-IµÊ¡|¾r%Sn¡NfI\÷þY} ߪ5)¯F ""7(#¸$%ÂRÙ¾ÿ Ÿoì>Èþƒ&Šâ›‡ËYjvçÃñ8Û¹Ö,BpÈ®|·+½ß¯·òED䯦Ž""’çØzÖHÛwÎÃþ?ÿd—½•ËÚÀ^™:Õ|Ù±|G/èb—ÄÚe«I*Zƒê‘é/1VBÊ4§û NTŠßÀú}§ïiµZÁéÄy5{ƒz¿½•ËZØñÏjbÒÆç9̦MÇ/ØV[EjUõeïÖ-F±biE‰ ñÉÕR·/báÉ&¼öÅw|÷Ý<¾œü.O´.C`.fxóäxÊ•ãåùçÚó«¤I§öÔ-‚Ýp±w×ÜiVËôüð¦dµnnó2‘|Ç·hOñ}_1â«ÿÒý€Á—šmÛPêÔÏLü|#‰Ú˜“}ßO`îž(Zßטý*HDDnT¶ 4¨Ìö?þºàs¤s×2þ<Fº¥Oˆ‘GËAE(W¾*œ~”/‚5nãŠïw€ÔS:~fÄ üX¾ˆˆÈJòŠˆH†ï¾}g?®þƒ‡ö°î§‘¼ñÙ ·¹ŸÛ 0ÂhþH'JoÌ+þÀêÿrhßf~Ÿöïÿ ͽrV0OýÅŒ _óûšmì=rœ#{Ö±ðËüPJÅ­€…°èhBã–3ïû 8rˆÇ“®üè¿^Æ¥0-;6'èïñ¼9åw6ï;ÄÁÿVóÓGCùê?Ëå÷~µâön(¶ú#¿÷%KÖmg×ÎmlXõ;ß}ö%Ëyr1ñ»wrÔãàÄ[ÙºuÛ¶ídÏ‘8rïNÉyt<åÊñòü³F• ¸Ï þþi›çèþÍüñÅPÆ,MJÓó5‹óÛvpµÎ-¯bÉŸüªtaÀ}Å8¸zmº8½Âƒ<ß»:ǾDß—'ðíïÿ°aÓVÿ9ŸOßy’'>ÚFéG‡Ð½†Æj‘™u;§òÆèŸY»s7ÛWÍcøÐ/9ZíÚÕôÉãå®FÌy±Ü.?‘¥ï?LçÎÏ2û€'–/""ržÛ‘ ¬Ñpw<ߌz†Qûâ°ˆ¦nû×èÛ¥ö¹^Ÿ>åâÝ‘™>m.o?ù!']þD•­Ç]¯H§› bL{ž} ÿãŽÆ90üÃ)Q¹1½‡ö É™®@>µº2¨ÓA>š2€‡ÇúQ¶ó0FwËꞀ¹Ç›øÁ ô– {q £?ÅÀ/b1ƒ‹Sí¶N¼Þƒ¿ºü8ü*=Ìû#£ødÚ\F¿0‰ãI|C‹R®Nkºù¹ƒ‰-º:åâ¦3âéEçŸ6¬—ùÞHó"—_Ÿ¼:žr¥xwþ[ñäཌœ<ާº$`„¥j³‡xúõò °ã\iY9·ƒ¬Ö-“ë5ö&‘üÉŸê?Å=>Ü#éçùQ¶ý[Œ/÷#3g/àËæq4Þ5(‚›*7 Ë{¯Ò¶vö¼[DDäb-ÙŽ×ßµ0nÜ' é{‡_a*ÞÒ“w{ßC KÞ/w5b΋mänù6‚  $‚pßüX¾ˆˆÈy¹ùMUvee6ÏÈaÚ›¿†—ÿŸ}XÒM§}¤}ÎzæqvÚ–fÚØÆ{÷î}3›:‹ˆ\³V¯^MóæÍ3™ãbýÇ1pý]Lû 7éCÄuÂäÔÒwéûÁqþï¥A´¯…Ÿð8‰?´’)/¾Ì’êï2s`}/"""""""""WMppð`à<€ûÌ_Wšiwši`¦™Nûœ™n:í/ÿ÷æovÓÙ=çÍ<¯©'¯ˆˆddæá»‰‹yã¡á,wd6ÓBá»ßa|¯*º€¥•ã>{ÿNLçéP3 ßs³ì«Nåb6¥fº²ˆˆˆˆˆˆˆˆˆˆ\ƒô¹ˆˆ\[Ño\ezfšg6°„ëâ•^Žû,”„ïKaÎþŽ/W”àU‹lqtkùœIÿDrÇÐêêÅ+"""""""""’Oè{r¹¶~„EÎë(ò/öY¡Ž¯ñ†9‰ÏÆ<ÍbHÁ‡À°ÂDWiÀCÃóU¯R°""""""""""r¹”ä‘4lTë7“…y†ä>[$õ|zæu """"""""""r¹,y€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆxOI^‘|DI^‘|DI^‘|DI^‘|Ė׈ˆHÞ ÊëDDDDDDDDDDDä¨'¯ˆˆˆˆˆˆˆˆˆˆˆˆˆH>¢$¯ˆˆˆˆˆˆˆˆˆˆˆˆˆH>¢$¯ˆˆˆˆˆˆˆˆˆˆˆˆˆH>¢$¯ˆˆˆˆˆˆˆˆˆˆˆˆˆH>¢$¯ˆˆˆˆˆˆˆˆˆˆˆˆˆH>¢$¯ˆˆˆˆˆˆˆˆˆˆˆˆˆH>¢$¯ˆˆˆˆˆˆˆˆˆˆˆˆˆH>¢$¯ˆˆˆˆˆˆˆˆˆˆˆˆˆH>¢$¯ˆˆˆˆˆˆˆˆˆˆˆˆˆH>¢$¯ˆˆH¾çáØ_xºskšÜ\ŸzõÿÇÐe«ß¹%]§là €‹5#ÚÒ¨Ëvyò8Ü,¹Ù2¶#îÇ6w^Ç"§å‡óFDÒJYð,ê5¤ã‡kHÊd¾cé+4oü, ’ÓÏqq|í׌|¶;í[7£qÃF4mu|™Æqbï)É+""yÊ<õ;¼Ï¿®¼Ž${W#ÎKÞFÒŒ~eûªdÒ×ß3ï«I¿ì{‘+}®ª-ÈõÇV²%wU?Ƭ¡ñ&ÏëÜ2W>XIXçù䃜}içjêæ‰ôìý…}°»ÎüàÁL`å°‡yjYmÞŸÖsbÏËx¹6™Ž‚üïÙ^ìô#†NºiOÖ Ë¥SY5g.; ´áƒžµ É0üƒ/¥;ö§ã73óË%ôªÓšÐ¬†ˆ‘«Fß¤ŠˆHq‹†òzòã¼ï |ƒA£ŠòÕ i˜Mœ©›&ñd¿Ïpµ|Š¡ÏÔ¡`Âf|Ÿ'y˜:¶3ÑÖËßF–ŒêõÉôfÓèþè|êþŒ¾UlgÖÛœíz—_'“¸­_ñÒ3û ¸³7oöŠ"¤pi,^­o÷ç0ú½¸ˆ‚žáÃ7ªR u+fæe1 zqHžÉͶ@2+G àµyiô´,eãÈò‰øX 0,Ø}|ðñöªdgá¤Yì©Ô‡™ov¦Ä™ñˆ«Ô8;ÿ˜WñU°ž­oUº¼Ð…ú‘§ *ÝšGÚ~Á¢yËÙájHõ¬â4O²pÒçì(Óƒ/ÜG)+ÀM<=äkþ”/Vµç…–ËÛF,6|íV Àâã‹Ï™J¹s^ïrëäÚ²…w>ãõæç“z^­_ï$ó§ÿÀÉZÿT [J=¤ §z˜iÞU]òBn·-6óÛ’£Tê܃V¥ƒ±E=Êõ¿äê\+–Ë8W}(ýÀKô[ñ½5›:oçÓ·$ óúÔ ÄŒK}¹–¹Ýx°QúþÁt_ÜñC'Ñtê“dšçõœàØ (IÖ¹[ … a‰?ƱdìêÊ+""""""’×tO^ÉÀZ´"å ¤ý× ¼v]ʸ7±~› œ›øw“ò·6&*í•Ä¢ÞmõØÿÿñ`)Ô„¶·˜|7¤7¯M[ĦãŽÜ й‰Ö;©Ð´ Å2»’yß¹ú©L¥‚,HH`HŒ'Á$kά\ã l“&”LÓíÏ]•JA1lÚ¸Ÿ³[¹äm\mQ'Kd3î½5M‚×Ûõ[X·ÙC¹Æ ‰L»Kìe¨S3\oN®e¹Ý¶LNXmiûÍZ°X å»0¸ëoô˜öo›ÆcË…¯³–‚D„“GŽá„,†*÷püÈqÌà²Dè"""""""×%yED$3.–ø³Ù‘³ÏÅœä”Hdÿ¡¾&ûcâð|A²ÇC<Á9ó²5œªwöe轉Ýö Ÿ}0’ç{æ½Y¯Ð$äÒâ3|ƒ´™‰Ï°}à"⻼ôªáL°ª]FóJ«°tÉI{Hd¾»Ð^n¼Yßî{Œ@›Éñø„tÇÇ$%957«#¹,×Û–D£ïñèS3¸ÓOøØðªL³£ès{x¶ ÿ‹9W“7Laäw.j6(ÂßãF±´áË4 ÓÏ äFáC¥‡óào=ùlè$?‘p~¶µ5ª`ê_±.¥)õ3ûu…{¯:Š_:TÊo6‘ë”FD‘ ÜG×ðï>Ošg<ì]º„ÿ앨^ÁöªÔ«éÃö?–q8íb$ñï’U$«Mͨô—+¡å[ÑgHªÆ­cÍžÓ7µZ­àt⼘|«½5«XÙúÇ2Žx2›)ñe/Ó8mU¨S݇ݛ÷X¼%J¤}§pèÅu¼¤}q®H¼Yß^‘ª ¶ýý§ÒnÛsõŽåt;aÉKW m¥lù‰O4ã½o³xñ"~øbÏÜUžÀ49ØË9WÍ„ûÚçÄ·Âû#^ç‘B‹yûÝõäP¾ÈõÄ· ~€{¿àí;0.øƒ/uî»›Ò§¾çã)ë2¹…€ƒ½s?âËÿŠpçýMÑï#DDDDDDD® JòŠˆH†ï~æ¼ö>ß®ÚÁþƒ»Xýí;¼8yEÚv¡E¸F8wôêJÙMcüÞgñê­ìܾ™µ+óõ”ÏYv4³ ôEnãb¼(W¨NÞ¬o)B›‡Zô×(^÷ ÷dÿŽU|;ìfì04\óµ,×Û–‡øÿ¶sØíàøŽMlÚ´™Í[¶±ëPçïà}çªò^gŽçn†ôoH¨O9º éE‰åïóæ¼g†¿ÚmO$oøWïÎàŽÅ9°ê_ޤû5OåGxí‰ÚÞGžý˜9‹ÿfíúu¬Zò“_ëI÷á[(ÛçMúÖÖXÍ"""""""× ¶%""XË>Äàv±|õþ㼿7#¬47w~‡§º×;׻Χң|8.‚IgñJÏw9é  p…›¹ïýñtm\ `ÚñìùQó>æpl*ÿ‚”¬Ö”'Gö¥yèé‚|êö`H× ׇøQ¾ÛÇLíU9‹{žeTï)Æ|ɘ‰_ðêcÈuûR°dzí~¯ã»YÅé_¥'/ÌÄ _2bàhŽ%šø(FÅwÑËçâÒ•—¶/.Ý•ªSÎëhú<£_ÇÈÉïÓgz,fp j´èÂ{ƒþä©W¨Â’+r·m™ØÊÔ¢bÜd†öþiÃJH¹¶ ö<­ŠZ.ñ\59¾è=†þäÇý£§^Ðés×VºCú,£Û¨×™Yãc:—¶_õ¶'’7¨Õë9Ú/}œ™‡ÒÏó£üÃù´Â<>ýâG>ç+Ç9±GPªZcºz—ûêF·³¹väfg™lo›–Ãs™M{ó×ðòÿ³Kºé´´ÏYÏ<ÎNÛÒL[;ÐxïÞ½ofSg‘kÖêÕ«iÛ¶m&s\¬q}×ÜËçÓ!Zã=ˆÈcrò××èöî1îyë%¨U àqw`9ãž~ŽÅµ>ä»çëcÏëPEDDDDDDDäŠ0 ci·Ñ IDAT° pÀ}æ¯+Í´;Í´0ÓL§}ÎL7ö—ÿ{ó7»éìžófž×Ô“WDD22óp ÒļxïP–92›i¡Hûø´_õã¦}!×5'k.&¦ö«c'ûå6LèÆ=ýf²;Ûå.wœ˜$üóÝÚ>ÁÌ]NÜ'6ð혗èÓùnZ·hA›vÝxfäwl7Ó­ëáÄê¼ùxg%ÿ»·ƒ>^À®äóË9¶O§Ï]Ý™°!)·ÎWb?æ7Û&w£Õ#SØáÎëXn,)‹_¦U³t»žäLæ;ÿz›»îx™Å)éç¸8±á;Ƽܮíî䎭ø¿{;Óç…™óÏœW!v‘QÊâ—iuÛm4k?Œ•Úåž#ÌpÍn».¶púeÕþ}hÙ~$ÿfÚ@“Y4¤­^ø™„´Ûj9˜ùqé¯"⽜ß3Šˆˆˆ\-JòŠˆHž2cæóâãXëÊëH®¼©®r£±Z¼•+!芮sZ–m)e=Ó?øËÝýhmÏ~¾~íy>ßÉí=†0büD†l…ßߣxæÍ8œ&)êÜö/¾ðûË=È«eÄswQ`ÕH½»˜ãg–ó)בÇÛ8ùzäl½f2^—¾åzæfÏœáL[ŸYš73©ìœ;„ÞOf™£mûááïóêS©°iÏõfÐç›IÔ÷×"W„%´áñK™¿"Ìš™gß"~ÞLDAãªÇ&"òæ=£ˆˆˆÈÕbËëDDäFæ!fùRÖ¦DÑ1¯C¹ân¤ºÊuÇÈéKe %Ú<ÇЋ*ôRÖ¬Û’‡ã¿Ìà‡“µèwoyì–âÜûæç´ !ðlÊDó¼k;Þ\ÀGÛо°Hä¯Y³Ù]¾Sžü?ŠZÊòlx õ›Æœ­Mé]ÉøQ¹];ª|;™/–và•æ!äý×í—ºåzf-Ñœ–á+øzø4nÛ‡jþÙ/ïÜ6ƒ¡cVÖþ=Fô®Að¹»õš¶¤YÅxbÜL®<™'kåP˜ˆ\<ÿ:4©ú' æÿAL“Ö„]pqq±}ÁBöUnBóøïY“W1ŠÞ¿g¹:ôÎCDDÒp±þã.¼”Ѓ·ª­cò¬%l=šÁ%©Ýúaút½…¢ö³ËzˆÝôS§~Ûöã ª\ÚtíÁýõ"Ï\`L·ýȤ‰sXºi/1.?B#JP±aú]QħÛÁC \w'“Æ=ÄM e‹&aƯëÙ{2·Ç<×;ÉV©7SGw fLÚu.³-=ÊÒE«¡Î³4Nóí¸-$$Ã^ßá°Ÿä³Ãb:·°jM åhDá4ãÜØËÜJ£¢³Xö×nzT*‹°D4¡E±ŒZð'1ÍÒàdÉëwñFâ“Ì~§ ¡çæ»Ù9­}~½™¦ô¤‚Õ‹údû:Ú§9Å-—ºï½Ù6ãkàé:X2•1Ó°zOF›¨Ýº+ÿÓGƽ?ôaÎÜet«Ù‚¼ÿuƒÈõÅåK;óûÐùüv´÷F¥¹9Ö3ÿ—Ôîv3Á_|—w1ŠÈE½g¹4\³ˆˆ¤cÿÛÞý»Ž˜Éw?}Ë'CnÇùãk<;æŸsC5¦lšÊ §'°)ên ŸÈ¤^åájÇùúŧ±ìÔé„BÊ*ƽøë"Û3dÔT¦Æ Ý[P®xaÖ`ê÷ÇÇ=*áyÃ~\À‚󙨭œ—н‹Ó°&rôh0 Ä»ã¦1ñ(ºó Þ¹€çÆÃó¿c.C‡Ì$®î# yï=ž»³ uËtž4‰-Å:òòè)ŒëaÊþ7…g_šÍ÷ùX–ŒdèÒîk:ßÎÿ‰9t%jõ(^·Šdãrë*’·<»¾dÄשÜòø;ŒŸ2·{Õ&ö»W”¦­](…Ç?ÏûËÃé<ìK~^ô_¼÷•‚¨÷øDf ï@ñLß…^F[JZÇ?›=T¨“Y’ê‚ÚppãFN†V b‘ÓA˜q8ïK±â….|sl-Jñ¢ppÏ>gŸ3B©Y§,® «ØzÑ»òâê Ù¿Žfº½Ý÷^lo^MâWŒbÐëßS³ïL˜Ì˜7ºSóè'Œüöµ0¸œxŠßÃS]+qtÎ0>ÙͰÍÛ‹Í›©æ—Å2ÖhêÖ)DʆµlÓ-DrŸÛƒoÖ4-°‰Ÿí¿àµ3iå|~w4¢u£ <ºÇ¹Hžº¨÷Œ""""W’¼""’IîïU ùb1|)Tã~õ¨Ã©ŸfñÛIÌãü2m6{+õà÷Рb)J•«E«žo0¨¥‹¿f‡<ñûÙB•æÍ©Y¦ÅKU¤N³vt»»€ÅæƒÕÂÝÇ;v«÷݃rŒÀ¯&]_H§æµ)_²¥jßCï{+àØ¼ži¾¨vmÛFPܥ%7תIå¢þæ)~þÿEwá•wQ»L JU¿ƒ~Ïv ðÆYÌ^íHKe:=݉:E°`!°T lSš˜V²ÓuùuÉKž”bÜ=ø þ¯N9J”ˆ¦zË^¼Ô³'Ó¶µ´\[ùãÏã”oە楂°Zü(\ÿ!ÚÕv±iË!lYs|©mɽ{\)]º@¶C({Žý¤Ù{)ß®=µ}Ïl3)$ôO¿¦/vÜ ñ$«¦…B¥£ IÙÍ/?…™S}szÍà"ö}NÛÆ›×@ÏQÍ\ÀÉê=x¹o+ªG—ঊ7Óî™giž’é½%å*p»ñ`£Ô}x¨üaæ ÿ„,󼞓œ8 á‘…°g±X(Y#þ8ÇStTE®Ÿª´¾½;.`ÇÙ÷¨f,Ëæÿ‰OÓÖÔ ÈÓèD„‹}Ï("""rå)É+""X —§\hÚ®a5jíÞʦ.pnaÍF'e6 "í•Ĥö-µ 8°†µG=X 6¢ÍÍ&óßÀ;3~cË çÕ3óµ(ˆáH%m'}§G(Ïâ¨xÛtTE®åZ¶ úà"æo<ýCBÏñßùùßpšßQ Ÿ<ŽNDÎóú’)"""r…éFY""’áã‹Oº®†þ$ŸàÆL‰'Þa!8$$ï…,Á¡±…ØxŠDÑòå _ø5_Íû˜þSFR¼ÑÝtëÙ™[Kd5&dîÅ vœGV2wæ<–®ÝÉ¡S)¸œ‰8¹õÂõBÃ).ãc&Ç›âfÇ´^´ùô‚9¸R=D%$Kò~døA7€iª'›ä{F@é»DÀ¹¶–î-¥­"oãÕïfðgƒÞ4*j#fí,æ­¤áÓÕñÍn[—Ú–œN\ذeñîÖLÚÂC†0×Òž·_nK‰4] `‚H"!C׋T“œXƒ.ŒÉfÃŽW. [›c}-ù:zû>§m{óèNM Áa!84ýõÀBpH ~Qz °—½Ÿ–òÄçÃù¤ñX5Œ Ó´–p …é£ÇpR!‹Ûx8qôGSèò/ß"’KÉ–ÜQésfÌÿ—ž5êsü—ùl(Þ’~åmd:þý™Æœùõñì½K,úi†H.¹è÷Œ""""W˜’¼""’G‚‡ Æ{0cOkdÅð !Ø×áØ8<]ð%¾'!–‚9{SLk•ZwçåÖ݈Ûù;³FáµGymês4¾²q’¸’QýŸgytž{íYjÁn˜ÄÍžöæ\¾áD•J†3¸yú!` lÁ…t!•‚™˜@Rú¶GgÚZzF ú¾ÆƒÏ?ë.ÄßnÃ?²"·>þ6½B½;ýð'‰Ä¤ÌâßÌŒŸçK÷= }ûaª¦kÍÁ%)–Êöý'ðPø|5ÝÙÐ$¢QÑ ’£fR"‰øà—yM2Ö$99ùÒ~ôñÿìÝwtUÆñgwÓH% z¯¡j‚4é½7AªtPQ‘Þ«´Ò,ˆÀ«(UTz“Ž€ôš!›ì¾`’$!D¾ŸsöìdæÎ̽{2íþî½ó,çÑ$üís´w¼!g{‹n††ÅºX~ŸF./åoÓ_-·÷Õò ‹T®«“ a›²«¨¯‡–üù§Ž„W”_\Aܨsڳﺋ”P~.|@ò1ú¨j­š7sƒ~ëæ¥¿7UÁú)»QqyŒ¾`»£`³ôÄxë–`Ý ²Ê)«½€$ò¬÷ŒÉÆõ€'X®Ò‹¶5Iý³s§ÎÚo^;ÉÞW~Euj×ﺣÂé®ìا»™‹«X†Ø—“ÜóTSç­U(ä°]x0Ì©Éd’Ìf™ÿE$àiùŒ<·Gûnx«Rëæ*Í]öIŠÔù³•¨AVí ªdG?~QΙ³(KÛOfù¸?[•Ùó”HI–kuðrÌcíúÞ?uÖ®  ç;âsÿäOúß­JúdÙ÷úþûoµrÞhõ®G.IáëX2ùdR]ÕÅË1‡3¶†Ñ⡃µÚØR£FuPQ·82`W@åJ»éäößbœÓÌgwhçEOù•ΣwãýËuC>Êä÷­´³‹‹¢PÛcÝrS'_³#VâÅ}-É~ûÄœíóÉ7¯Q§öìÓå½¢£Go}bUãs•HIÆ4—õý¨©JÛ¥Šg´×¿ÖkÖüÃÊPoŒªxÅõlQÈß§uÍâ­›gŽë¸«IƒIŽé•ÙÇý‰ÎFϘ›¸¥ŒT í=í;rVQe’d ;¢ÅƒkѵbêÔ3¯BŽü©?l·”6·JæO'“œTºUì¹@ŸNwV·ºä|û€¾ž±R׊vS³¶ :"uúðqE¤¯¨‚éâªv·Sþ2%åºá-Ýöšz¿–YŽWuà›IZuÌ ƒÏ³•öéçÑØÞ$üíų-«iÕðÙúl~u­™_æ+:ðý­:c”!Ó³•ÉÇ©p{õoºSVP¤}¥Ëì ¼¡!ÝëýYÕãïÆjVÝO¹Ó;Ê|çÞú­¾þéŠrw©ÎÅ«Hn÷òªõZ Y¿Eî¯WÅ´ñß)³6P·ÆÿÓ)ýôÁ?­U¯LyÛ‡ëÚñZ³ì{])ÞSCªÄ‰Á¢ŽÖ!Û•6»¯²ÑŠxŠg¹gH~yO0åj©þBôÍ”÷4åB°Œis©tóOÔ£}©G=Áò·Óè‰ÞZ¸V_ô™¬[‘iä“·ŒŒ˜¬Öå½e”dµw–åÂ&Í^ÿ¥®GÈÆKÙ|Ô}dUŠ®Dr(ù¦¶¾¤©óû«ÃL'åm;NÓ;Æ÷NÀģwMõ|^çÍR¿ö¡2¸gV‘ªíôîˆüßÿT¢~ §B4v¢®Õô¡suã®EŽ™•ϯ¶:Æ~!ðS“d¹ø›6ÿ¢È¨úòãOnLj֌¬%WI¦ìÍ4b´Q³f-Ô°×á”Q+vÕèî•Í6–k>®í»®+]…Š*ç´An¯õÖˆ.Ó4kVw5þÂ"{× *T¹•†öqÐàÏXØDœGcJÚßþéç@ƒ<*ö׸ækúâ)°,HV·¬*Z¥µFôý]ƒW=cy‘ŒÒ¨X‡~j¼ó=}}5ö2'åmþ¹fç[¯å«7iå¤ou-$B&×ôÊá[NíÇ WÃR>ÏÙ@@â¤Q©ZU”qÓ•®]N® Ýn\UòíIš˜c‘¾ún™Æ¬¹®°(Gyf-¨²M?Óàå”)öµ*òˆ¾Ü[_ÅØŽ£ª_§+s”O“è{F€ )›i&øèñ”yqM'æÛÈ¿~Œ±¦m?¶óLÑŸ‡Óv6ÓF=xÛMÀùóç?K ÌðÒÚ·oŸªU«Ç’HšÖN5ÐÜ™o(ÇKûšZò ¼Š¬º½m´zLº¡zTób>r2J²˜rùOÍÿà#m-6ZËø%yÀ(òäuï¹A…Gj@é4I¼uI²*lçhuøä¬Ïž¡v9_¶&)÷ÛünnnÃ$íd–dуaË,’"m¦£l¦-’¬6Ӷ󬱦m?Jä߉ùNh:¡y‰Y–hôä<Éš‚/ Û¬OÛ×®ˆ¸•±Ñ(ÍîVàÁŸ)™Oñ0ëÐ/[t§øµ(á#LJ³örËRL¾YìôÓý8ðçf—·…Þ®ý?}¼à5-ÑF9“úN×|Z«·(Mý‘jòÒx¥”üíðbä¼\œýÕk–¯ºÆ¿5ÈÎÙ‹‹ðR³Sö¼9e]ý½VþžMuŠd’›Ñ¬kguàç%š»'ƒj,–<=I ®*óö'ê¿v¯.]TÎ,I{¶0_¾$Ç*5¼iI¹<=y HÁß/õ䀗‹ÁIž>Ÿ’(ò…dÀ¿aTΖŸèSë\}5ã]-»xGár‹gFå*\NíÆV½ÂÉ"uΧoäK–MÛg¯¤Öm“eÓI$…{¼0¼“—wòxÅÿN^^ ÞÉûï“b#€ƒ /¤"y !È ©A^HEìR:€”áêêšÒYÿ=y !È ©A^HEò@*BR‚¼Šä€T„ /¤"y !È H&‘:8µ¥jt^¤3–„ÒEéØÌ–òo5K'¢^TÞ¤‘Ú?¡¡üÛÏ×ÙÏ#IÁª?Æ©åë]´è´Y’uã€ÖL¨ª«b… ªT»¥zŽZ££ÁÖ˜¹<4YMÊ–VéÒ1?å;.Òy˳¥‹8>WªµÕÔw“»Àø ß4Hþe*¨åäýŠë¿(bÛǪ0H›îÅ^©Öhâ Îj^»ª*ø«rÍÆê0`Œ–ÿqE/ ï ñìR:€ÿ*£Òæ(¢¢÷³Ê5¥³O¾_sG¯•±ÙµÎc/YÎkÅþZf_Wmz~ª¢¹2Èpy»ÇS¯K}5©‰2G7—´)Ä©‚zOè¬â6w×F—ÌÊhÓ¤21é ´Ó€†ÔsÔB½¾ðù:$ÑñdˆÒßËGjNå@õ-ᜈîëäÊ÷ÕwÂ9–k¢–ý;)_ú4мsN6¯Ö—}Úë—î5¡c¹’=÷ ò’‰QÙ~¤ ) x*‹®o Ô77ÊèÝV…ä IÆìj9~­¹y<jåË£áæãjøázm¹ÒHm¢£¼AA ÷È©b%J¨Dw׉K礢mZ«Øš™Zôk[}QÓCÄÔð¬ì²×PïZ1rŽ*öÕÓâ¼æcúxÒŸòl;U3{—’û£ºR*_­®jî¯.“‡iFÑ¥X:1AcÜ®SøYm˜ÐG­ëTR…²eTæ‰!E#´yèkòïóîı4J'¿l+ÿÓu4JŠ{˜Õ]ظR_ôj¥:•ýå_©º´î£ÀC6ƒÃš¢tiót lWW•ý+¨b¦êþù×:úø$ô\ù°\Ó/?î–ÊÕQ¯Ç!U;w'z-:yzÉEwu7üÑ¥  `É=­<¼³Nl:ɘ¡šj—ŒÐÎõ[uÛšpZ .ÖoÕÔME¯®Ðȹâ¶ù±ûÚýõZN[W½ºÚxrTî–}Õ2Çý°r«‚øŸà¥@`ãžþœÒ_ŸîH§ŽÓÐö][õí”7UØÙM,Ѻm•í__9¬ Þ9N½>X£Û¥{iòâå ×C~WæhÔ×—D1ð’1æPíºE¶mƒv†Ø¡÷µÿÇŸu-[-Õ-æ ƒ]¨®\uSÅNjò¢újle=¹HÃFý V³*øø*}øÞ"•ë®Ï¦LÕGsË(éîÁ™êÙcªöº×Ñ€±³5gê½Ó¨šŠfµ´GËùU½èŽÊö§…Ë—iöÐZ2m«Sv= ^=W>Âöé#V.[Jn v›µèŸƒuÓÃW…³m3äNä‘6Žà˜­Ä¦“dH«Òåò+òÀï:þ”´@¬æY²·Ðû] ëÊòÏ57¡wê+¨æõxøaë ýoî +ôŽ–ö¸Iáâ1sb¹—EÍ?¢Ù£dï¢~ÇQÇwédd…ï·uú÷ùˆ:zJg#Ó) ¯g‚C#[®mÐŒe«àÃUÆñÑ\…ÈüW Þi2O·n‡I.>ÊëW]­:·Wµœiž1݃ß>}ÞdÇâŒJŸ1Œ!×uýžU²gqRA^ÀcÖH™#%“Éf¦QF£A‹õùzÛšéà_åëVAlãöyäWÂK‹ö?ÏÆ$ƒwÕ¯0YŸmØ¢›u+A ݵA[ʪ[­ìñ c”w†tRÄ}Ý·9i3TU“×¼bQÍGµçY:WR–☦L%U2³m£¼2xIa! ‹÷Ä”ø|Dݺ©ÛòV:¯ø3a =¨/ß«ýúhN›Üz|–´C\y IDATW©nã5Á?Tn>Þr5Ý×ó‡ôÓÒyÒå°Þ_0IM³Ÿ!]t™½3ÈK·týV”|ÿš}µÜQ›;ÍÓȹUا˜Lñ5eHtÜ–//‚¼€Çì|U¹¢—Þ_¨­þ½U)«nïýJ«w»¨âÐ’rzêâ[ï‡(ÄlGZ÷Xá £Ü<\©2^FU¬WINC7hóÕ†jéªvÊ\¦¿ª?莯ˆË»´jñjý²÷„.Þ ðž]s¨"U5ƦŒžÞò4Åܼ5d6+Rv²çÎØz÷¨½÷®VÚhÒÈfÊ«»£ÉËW•lfäõUÉ2Ö|°–}wLzúÊô é$Ivö²—Y‘ ‹ç俽¿ù«º~®9Uõ¶ÑóškôVoéÖÕë2KŠ}x<`Ñ«7duË«ôñ é ^(º3¸Ê¿ÿurÛ Á­ëªzµºzsìaåï?E¼þ¸ç[ÜY«îݽÿ¦]äbgUXH¨,±Ö ¿w?©J ‰9—¯§×ÓÒÆŸ/)êö6müÝ €z•åi¶Kãº÷×’ËÅÔuÌWúnã&mÚ´Q«”ITKBƒ£«\ì¬ ‰u^ˆ#mB Ÿ7Î.J£0…ÆñÚRkØaöï«Å‘-4aRWsM\“ƒKåËbÐí[w,[|é¬a¡ “³œhƒçå B뜴|ä\²8ÉÑößÊ”SÅ‹¦UØžßt0¾w@GÕ»¯É©¸Ÿ ÑL€—A^@ áÇ~Ôú›U5æ»ÍÚ¼ù'ý°lŠÞk_.*„ rqu‘B‚bÛq×rCÇþºö ÷\\ì ªHƒNü±G·c¬wI‡_=)Ë¡„êÕôѱŸ7ëЖMÚí\EõÜeyæí¾žNÕÚ·U¹ìîѯé4ëïÓwLÛR‰Â&ß¾CWŸåMÀóæÃ”1³|tE.™cÌ·†Ô¼þý´ÌÔN“'wU ÷Ä\­wëà9)gžñôŒL8ÝýKtM•9#·ëHŽ…õÖà6Êv~™¾XzJ†ÿÊŽòkÚH¹o¯Ó´ùúÄ :¿vªVžÉ¤ú­*éŒh‡ °aQÈ™“º•N7NÕQW“ F“œ<2*K&w9H’ìT°|i¹®ûV ©ªw«f•SÄí]9ZKŽJ†ŒñlÚ˜IuÛÕÔÒÁSôá¬4êY¯<".iïšéZzÊ CæWJÏÂ^¾uë(ÇÊ4aÕe¥}}’JG×jÊ”CÙìoè·ï~Ôá å”Þr]ýú•þr7q7™FÕéÔD+ûN× Q½Ó¨¸ÒBtùÔ1Ý÷m¥y—Ãç͇1³¯|=ïi÷ÁÓŠªô`ÈdkØAÍë×Oó®”T÷wó)èÀoÚi»O¯|*]0½LQǵzÂF™‹–Rþ¬>òr±êÎÙ?õýüyÚáÕTêg~Ъ2±é$I‘:qð¨Ì髨p‚¼HiŠuÖà–ÛÔcÉ^™í«ÅXæàû–>éý—úLζTë:e•7½“Ì·ÏéÀ/«µ|Ãeå}g¢z”b¬f^y6¬²ËSRƒçid gLrÏ×PƒÇ QÍÌF¹W}OczLДÉoªæð(Ù»eT‘jíõé@õ]ß¶ J[yˆ¦˜¥‰óÆêEA²ºeSñêí5fàNõ[ú"Êàß0æ®­ºùhò‘¬zëÃbÑ >$Cºº4ü¬FÍœ¢îÍBdôȪb5:ièØBùöñDlÙ ×2ý4cr͘³LÃß§ (Gyg÷S»OZ%:Ïûbªà©o·mÑ©w|UÀ$YÎoצÃÁ2GmÑ´A[žXÅ¡Ò'Ú8¡žÜ žÊèzQóç¬×¬Ë·tÏâ(wŸ\*^©—fun¬¢»=&6$™jËöëJÿZ†ÆErVÉnï«ù¶žZ~9ö2'åo3^‹ |«ÅËÖkɨUºl–[zå, ÎSF«i™ŒŽ}ò’r°­„¶×2ÃS¦ómHäß?ÆXÓ¶Ûy¦èÏÃi;›i£${IçÏŸÿ,2ÀKkß¾}jذa¬¹VÝúåu}]?ÿPmJfT£$K„‚/îÒ¬wß׿’“õý²²O‰L@2Š<>[íßú^Å&®ÔrÎ)˜«B·ŽP‹!§ÕbñuÊÐ`Ï©›Á`&i‡$³$‹¤¨èïH›é(›i‹$«Í´í ìôãìÕ:™‚‰8©es~–s“>jE€ñ È ˆf§œr˺g­–ì<­ë¡áº7X×ÎîÓÆYhÆ>ªW¿C5øo2¸©BßÑòšQÿ\N¹(¯ùÒ?r¬>L£z•–KŠå/;ÞòˆfTî7FkŒeºLì¡Àn+Üê W¯ÌÊSÌ_¦Wãb„ü‡9P· ¤hìsVÓ›9S4 Hò³óQ…·F¨Â[)†k€T„ /¤"y !È ©A^HEìR:€”šÒYÿ=y !È ©A^HEò@*BR‚¼Šä€T„ /¤"y !È À¿¥ó:ªæ[óu**¥ó$‡Hþ²£÷Z®¿-IµM«B÷LUdž½µü¬9Æó¥­šúvUï0GÇ8¦Jqr‘ÞiÐY_¾›TR•ðÍ©fÕêê8óîűÜüÛjPë#m½$R7¯õÒ›Íê«Võšª×¤­Þ:Y_ï¹*sÛàÕcÑÍ}KõY϶jP«†ê4é¨Ó6éì=kJg ¼‚ò Fyd-$ß™äúŒkZïlЦè@d¬ᇴhÒ:õR³\öÑ3#um×lõï9V»Ãdˆw«OO篥zÖ5kÍÄe:NT ¯¬(ûz¼ÅæË}^;LÝûM׎ˆBjØc˜F«áýÚª¬óa¾ß]—ü¥0꯯8ó‰¯ôÁÐeú'ß>u¦&¼ß@iwOÔÀÑ›u#ÉE$A^Äèluß×ÈÞ••î™î-º³k›<ÑSТ?/Õ·JªE“üzâ8:Oƒ>Ý.Ÿ.“4¼^¦xoP—ÎI¾Íš©ð¥oµl[°ˆIáUdÊVMu‹ÜКñJLœ×|b©FÎØ'Ïæ£5닞jþzy•,^\e*××[æiêÛytzÁ§š·?±Acþ‹ÂôÛŠÕú;G}Ô§žüòçU¡òÍ4hhsyì Ô×Çc·nH^y6"uhZ5úü:üÃD x³‰êÔ¬¡z-»ë“¥ûuûέ?@šÖSíZõÕòOµâpì ŠEA‡×hl¿öj\»†j5h«Þ£¿Ö‘`k¬}lÒá&kP§æª_»–j7n§¾c¿ÓñGÝ„ÌÚ:¢¶j¼¿^A1v¥ÓUó)ùÆdQÐÑo5ià[j^¯†ª×n¤7zÔ’?¯éñcx¤Mk«fãþTðÙ šØ·­êר©_þ¥¨èü\Üú¥>èÒ\ukÔT½]õἺ!»'÷õÔò'´àe©CÓZ«F·¯tÎòðï§¿ÖíšÒIíÇìTèÕ5ê[½ŠªTy]çP”庶ý´Oò«¡ÏÇýp µÖç_Îаz¹d÷ÛĦ3¦¯¤êÅ#ôû¦ºC”¯ k„§ª÷í¨Â××hüÂÃqÛüØ}íÿnþö¨¡n‹Ëí‰.òŽÊÙäm5ÉvM×îP0ÇàUe>¦ÝûÕï5e´©QµÏóšü3_Õï¿ýÍ3x¡òb±*të$Û“WÝ&¯Ôú ßhj{š7L]»ŽÒÞ4~Ù:­ÿv¶ÞÎy\s†ÏÖŸ6µÇ÷-ÒûçêX––úhú|Íþ¼ƒòž™¯A®Ö¹(Û}LÔÈméÕêóEúnÃúzÒ›òÙ7EÎÚý”Êèg~t¾û¥Žú4ÒÀñs4wêpu(zCk>è§ ;nÛ©- 9µV#‡-Wpé·4l̽_?§Œ²*ä÷)8â{Ý)ÑM£¾œ§ŸvV‰k 5ñ»Ë²•+qåo?@jð”ã×ল=fiZ—BrÈÐXãÖoÒ¦M4§c>™îÔž¿,*à+dðP–,n†_N(€ô éJøåUäáÝ:|? Š ¤6‘fY²6V¿7 éÚ×ã´ðpWÖ¨ó:x$HiJ”WQ§xÒ˜r©´_:…> tR¼¢¬Áu1ÄQY²¦‹ùìfʬ¬™¥Kç.("¥2^IÔ'ž`5UËÞõUÐÓ^£‹r×i¡*î*8[sõmZDé 2:eQ•–5•3ø öý½´ÞÖ/‹VéL®öúx@•Ê“M9‹ÕR¯A-”ñÈ ­Þ÷ø‘×*_µ~·µü29Ë(£\rV×usëΞ?u:)+­7ôsàj/ÔEŸh¬rs*g¾’ªÙõS ¬©MsÖè”MsëÈ'äÚ}¢>j_CåK–oæ42X®é§å›t«X}Ô£¦ŠåʦË«Ù{ƒTÛ+üq¬éÊç~’°Ø@rzÚñk´sƒÉ Œ²wpƒƒ½ìMEýsVç"½•;wÚdþ7*]î\rÿ[g.ñr4¼‚¢¢d‘r6í¯vù¯èëñ oœ×rK7oI^Ò=BýIF¥ËN†ºNW^À«Éz7Twå,—4±ïdåâl¯¨ÐÝå2 ^ ‚¼€'}ò*¯»Íƒ«ÑEn.&yçÉ­´¶W7¹*L¡w£ƒ(‘Ç´ïÐ}å PVÓãd¦ì¾*èzGÇÿºô¨×«Ñ§€ò{ÙnÌ 7w7),TaIù`l>¦ýGÌÊ[¡œÒÇØ‹JU,%ç‹ûuàÚã 1}%5¨à3e>©#'¢”·|™˜Û°Ï¥EmÒ>KùãÚJüÛã×rç–îÈKé<“ÿÔä•^žº­·4¯0û\jÑÿ å½üµÆ/:¬¯ÉŽçÊcHì‰+àÕ–èK&@2‹ý"Adpt’ã®ÙÙÛÇ]µÔ±Þ RPx”NvSÝÅ1DÞ·È'ôî£ §ÁÉYO4€–$«5ÁQXŸ•5Ÿ|óujÏ>݉‘—+:zôÆã¼$qùÔÌd2If³Ì6ÇŒÉ'“2èª.^6'ûþï_¾¨òQ&nw9Òý›+ë…Uš°êL¬FHŽ*Ѱ®rÞÞ¨9KŽÄ1äºYÖ}©µç|T»i€Üi7xUÙP¹Òn:¹ý·Ï–æ³;´ó¢§üJçŽgD €äA­ éÓéõŽ-”eßT ³R[žÔÙÓ'tx÷}ÿÕJíºžèЬ$;å/SR®'ÐÒm—n‘¬áWµå$­:fHü žªöVkå>>OOþAûÎ\Òå iKà'»QªÚ©©ò=íIܘQ5ZV“ë³õÙü-úëÂe]:³O?N©UgŒó’¤åR3£úRßmÙ£ÃGkßÎ Z<ªzO=¡Ü†©sqÆj¼ÊœTºU<½@ŸNߨ§ÿÖÉÝßjüÈ•ºV´š• Q/x±l ¤œ uÐØ‰>Z¸VÓ‡ÎÕ»9zdV>¿Úêèð,Ý r{­·Ft™¦Y³º«ñÙ»fP¡Ê­4´ƒ¯Hü–ò·Óè‰ÞZ¸V_ô™¬[‘iä“·ŒŒ˜¬Öå½ÑâÉ Šý5îƒùš¾xŠ, ’Õ-«ŠVi­}×àUÉQ~ us(ù¦¶¾¤©óû«ÃL'åm;NÓ;VÅòiõÃo;t¦sÁ§7°ø·Ìǵ}×u¥«PQ¸Û¢¥Q±ýÔxç{úújìeNÊÛüsÍη^ËWoÒÊIßêZH„L®é•÷œÚ®†¥|dŸÙà%bÊÞL#F5kÖB ëqMNU°bWîÞXÙh[^°¤¬mNh[q-3WªµÕÔw“» xÅ…o$ÿ2Ôrò~Åõß±ícU ¤M÷b/‰Ôk4qPg5¯]UüU¹fcu0FËÿ¸¢ˆwàU¾iüK—VÙºŸë·'ŽËh–ËZùv€Ê”.§fÓŽ*êÁL[ØAþuFéOs\+ÝÕ†÷üå?à…ØîË¿¯¾â: 5"È HQÖÛßk@‹±ÚùbÖ€8…ï×ÜÑkel6@­óØK–óZ1¤¿œôQ­žŸj梯4ch=¥Ù9N½†}£K6Açˆcó5`ÀB+ÐI£æjæÇMåùû(õ±I×¢Ó9h§ #´bÔB%Z†äfˆÒßËGjÎþÄ6*¸¯“+ßÓ›Ý'jëýÂjÖÿ3Mž>M£w¿ó}Ù§½z/8¬0âB@²0¦Í ¯ _´î·Åu˜YÎmкCîÊŽ*àUÃs/HO€dÑí¿h_ø‹ZâbÑõúæFµmUH’dÌ®–ã×jùô÷Ô¶fÍ—GE*uÐð¾U¤ÝëµåÊÃ(o˜¶/^¦3»é‹T¶P~h­G´QÚ­³µüèÃ9'mÓZÅ.®Ö¢_ƒâ¬Ä’Š]öjPìºVŒœ£ÄÄyÍÇõñ¤?åÙv²N 6µTºT)•¯ÖDÝ?›¯¹}óéäìaš±‡žè@r08—QµòmÿþWÝ~â©cëÔ¹¢ÕàeH‰ìH1<÷€„äØx04jáuð›QêѼ¦*W PåºohàŒ-ºc(8‹îZ­Ñ½[©NeU¨X]Mº|¤»®êq#c«B}£1½Z«Nå *PUµ›vÔ»6é|T°vŒm­f#¶)äò u+_Z¥K—S˙Ǣ‡ ‹‡5žõ¦ÿO ;ùëõ¡?+$VåXäÑij^¡®¾ø#ôÙÊwp…>ëÞT5*ú+ Zcu±\ƒÍàa9«ùoú«æÇ[Ÿò5bÿ5ªÐHöEÈz\ë¦ U·Ö U³’¿ü«ÔÕïÎж+äHíŸÐHµ?ÿMÁ§×iT·Fªêï¯Ó?nòöÁ•ú¢×ƒs‰¥êjкÙtw5EéÒæéØ®®*ûWPÅMÕýó¯u4ôññø\ù°\Ó/?î–ÊÕQ› t;w¹ÄªOwòô’‹îêîÃÊ6óý¾çž V©¤L6wÖöùªêµ¬W´sû™Gç4c†jª]2B;×o£H:ÖoÕÔME¯®Ðȹâ¶ù±ûÚýõZN[W½º–’û1$GånÙW-s\Ñ+·ŠË ô¬f'•«WYN»×é§+±ÞO±_ë6ÞPÙúrsXf/N*x^¯‚¼€'ÿ4R#~Ë­·g~¯_¶mÖªÏj)â»!ê=ñ=Œ©Ü;4[½zNÓ¡ŒÍõá̯´dÞ(u-~]+tÓÈ­·ôR»·KSŒ×¾ŒmõÙÜZ¹xºF¼S[²g·É]ú/Ò¼žEäàÓBÓ·îÔÎÛ´¤[™Êœ!žõÞ~]õ—QäŽuú5FôĬ#~ÒÅL5U¯¤S¢Ëwÿè\õé5]G³¶ÓÈË´x|Wå?5K}.ÓYžªñ*0æPíºE¶mƒvÆh9q_ûüYײÕRÝb2Ø…êÊU7Uìô¡&/Z¡¯ÆvPÖ“‹4lÔºñh5«‚¯Ò‡ï-RP¹îúlÊT}Ô8·Œ’ž=¦j¯{ ;[s¦ŽÐ;ª©hVûG{´œ_¥Ñ‹î¨lqZ¸|™f­%Ó–±8e×£àÕså#lŸþ8bUá²¥ä–`')‹þ9xP7=|U8˃ÛhkÐ]vR¶ìébÞX›²(GVéâÙsºÿpž!­J—˯È¿ë=2Œ¬æY²·Ðû] ëÊòÏ57¡wAGý­ýïÈÙ/@%ÓēƔGåÊfн{uŒá"¤e‘cÙúzÝóÖm8/Û0ïÝ]ßëçû¯©A%7Y¸^ /õó2x¥Ø¥t/«Š«ý *æý Ú‘¡T{}Øc¯šýJ?u*£ÆÞ7´qÎ2+ÜK+‡´ˆî½–[¹ó”ÇVzoÚ µ xGùB.è|»ŠÕ¬)¿|¬ÙsûªìÃÙ9ÈÁd FÙ;8È!‘W%c<륫ÖX•¦~¨uÿ»¬z­2?¸Dì׆Í×”³a]¶—%ª|·õ¿¹Kt*O-ÚT9M’”CﻨýkÙîæZÎ!)~jà%fT¦êõä7c¢~ÜvG¯×õ”A’îþ© ¿ÞV¾6u•ß$Éä§.Ÿû=^-g õn¹QÛ÷ëDdC¥‹ŽÕF;&÷Q_iD5/=Š£ZoèsWè\¡w´ü³¶Ê%-\¢ŽžÒÙÈt Èë©„b¼–k4cÙß*øÆp•qŒ.BX¨Âä"çØm'åêb¯¨›Áºk•œ ~ÓôyóÈ=ü°N]´¨j^Ú["™DEÉ";ån5X7wÔì‘sUyAwŽ#­å¦®ß”¼}2È>ŽÅ•>c:C®ëú=«dϱ@’s,®úµ²è›×ëxû*d'ÉzG[¾ß&Ç×Ǩ¼³´?¥ó@ÒËÿ¼ ^Ô,ž`Ê\PùÓÚVàäUª´òDÕ¡‘’ù¨ö4+ÿkò±½’\U¦J9ÿ³G{®ZdLWI +Zõý°îú$ð'½{WIËÕ_jxéÐôwtˆðÝõë­‚ª[;ï£ÏO/ßý¹?By+URv›fÒ¦\ETÈõŽŽùG±Òþ“ ÞUT¿‚QnØ¢›Ñ½BwmÐÖ°¢ª_+{<7’FygH'EÜ×}›ÀÆ UÕä5¯˜ATóQí9dVÊ•”%»RS¦’*™Ù6Q^÷Þ| IDAT¼¤°…Å;tlâóuë¦nË[é¼âÏ„5ô ¾|¬öè£Ûä~܃"zC†DƼLÞä¥[º~‹îXxìó¨ÍàŽÊwq¹FÎ=¨{’_S†DÇm ðÉÃNëÔQž6hÝÁ÷Ì–ë?kÝÞªY¿„h^¼¾!<7cÎÚªWd¾×ý¡ž¥üucÃ:ÌQGï´S\- Ñ-Œ~U¶¦@K½ÏË࿆úiÀ¬ÁA ‰U‘d½sK·­.rs5É&­<­ ºüD}“%øŽB䦴îÑO½&/©ßC#¿×ú…ƒú­†t¥­Á WGý[¦|õÕÈ÷²6ýpP!»´q»Yeë¿® 6W¼§–ÏÉMnv*Òyº–,]ª¥>˵êë5šÙ±­¤ðÊp._O¯§=¤?_RÔímÚø»Aõ*ËÓ )l—Æuï¯%—‹©ë˜¯ôÝÆMÚ´i£V(“¨cÄàè*;«B‚BžÚ;>Á êç͇³‹Ò(L¡q¼¶ÔvXýûjqd M˜ÔUÅ\cæÄàžS9¼Âuáü˜eˆº¨sÿH>Ù³Ê1ÆöB&g9;QåŽÅA…: Ö9/hùȹ:dqŠY1mÊ©âEÓ*lÏo:ß»¢£ÎêÝ×äTÜïÁ²’‡1“jÔ÷ÓÝ_×iû­Z¿þ´|ëÕVÎ8kn róp—Ân+ÈÇbËݺ#¥Iëã:àù¥æçeðßBð„¨kûµ÷‚íã¨Eç·mÕûB*VÀN²/¢2%trû]‰ñÔzW{·îÖÝ,¥TÂ'ö%Æ$ü5õΰö*|PûÏ=ªÔd2If³ÌÏø ïzÆ,ªÕ¨ŒB~ݤíÛ~ÒoÆÕ«ó=›O-Ÿ]aùsÐßý#—¬Ù”-›í'«2z0`^!%T¯¦Žý¼Y‡¶lÒnç*ªà.ƒ¤È3h÷õtªÖ¾­Êew~M§YŸ¾ D Fl_H% ›t|û]}Ž1П7¦Œ™å£+ºp)f-¹5ä æõï§e¦vš<¹«J¸Ç˜µ+¤€rî:¾e{Œó¡ùômÿÇSeËåÑ3òþ¥ º¦ŒÊœ‘Ûp¼@Ž…õÖà6Êv~™¾Xz*ÖðâŽòkÚH¹o¯Ó´ùúÄõ8Bç×NÕÊ3™T¿U%ÅuH*yU©¯íÔדµþªŸê×ÈOÅA%J+äŸZÿÓÕ'I§ÔÆ¿œäW֗Ɖ@K ÏËàÕÀ½>à Çôõ'cåÝ«™Je6éúîe7ï„25œ¬ê^Éà¥ZÝÞÔš·gjðGõi^Z™íoë¯_jÂ:ƒj|ÚJM’õÖ6-\zIÙ+WîÌ^r ¿¨½«~ÔI—Bj“Ý$É ïrY>õÛ( ¼*ìå[·Žr¬üAV]VÚ×'©tôp­¦L9”Íþ†~ûîGÎPNé-×õׯ_iá/ww“iôQNM´²ït eÐ;Š+½!D—OÓ}ßVª‘7q9|Þ|3ûÊ×óžv<­¨J¾2I²†Ô¼~ý4ïJIu7Ÿ‚ü¦¶ûôʧÒÓˤ4*×¾ƒ|;ÍÖ° .êÕ°\nïÕò‰Kt¥x/ò³m©Êœ¾Š sÁ –¦Xg n¹M=–ì•Ù¾ZŒe¾oé“Þ©Ïä^zëlKµ®SVyÓ;É|ûœü²ZË7\VÞw&ªG)Æj’›Á=@õ«8«ÿw›å^k”ªxÆWlÌÞD½Z¬W¿1Ýõîù7Õ¨|^¥s×Õ£[´báZ]öë¯OªÇlì(kˆ.: ý.¶;5Ê3gQåð /ÿó2xUä<Á”·7 Òª±=5ö|° ž¹U¾í(õë\F.ÑO“…:iò¬ôš;g…>î:Z·ÌÎÊX ¼šŽ­7ÒÉ(Éjï"˹4åÛiºt_Æ4ÞÊ^´²úLì¡jÑ•H¥»hØ›5nÖ;j1ÉIù;NÓ‚n¾ñ¼ð±×s­ Æ¯ÛiÃ*wµùØO±ßf”˜ò¥)ÜUÓfgÔœ/Wj€éºf•cÚ,*X®º9ðHW‹1wmÕÍ¿@“dÕ[Óð¥!]] ~V£fNQ÷f!2zdU±4tl!|ûx"¶lk™~š19ƒfÌY¦áoSP”£¼³û©Ý'­¿ç·}1UðÔ·Û¶èÔ;¾*`’,ç·kÓá`™£¶hÚ -O¬âPémœPOn’L9[kÌd£&O™£÷Þºªûi2©p垚ܧ…²ÛÆrÍGµeûu¥­ CÞ"8«d·÷Õ|[O-¿{™“ò·¯Å¾ÕâeëµdÔ*] 6ËÎ-½r Pç)£Õ´LF1Žð"8«Lýêʸ~³Ê7ð—[B·7•î;[³sÍÓ¼5útù5…ZœäÍWå[Óð¶þÊûzc>¨ù}»h~Œí8ªÆè_ôE5Žr 1RÃó2x5$e-u‚O™×tb¾ ‰üûáÇkÚöc;Ïýy8mg3m”d/)àüùóŸ%PfxiíÛ·O 6ŒcI¤öOhªû›hIà[Ê•j;š™uxJ+uÛQS –¾­ž€ÿ+åÔ"ÏVû·¾W±‰+5¤œs2ìÁªÐ­#ÔbÈiµX¼@rS5ºð< @r0 Ã$íd–d‘ýi3e3m‘dµ™¶g5mûQ"ÿNÌwBÓ ÍK̲D£àIÖ|áOØ&}Ðd¤vDĵШLÍ'iq¯b ^À¬¡»´fÃuiW_ù⊣¤dù¼”ìò·UŸ?êýÙ«ÕÊïMåNê»äˆ“Z6çg97™ VxR/ž'ÀK‚ /àåâüšÞ]¸T=ã|n6ÈÎÕ;ž‹W¸n]¾¥{açµå˱ÚèPOãf«$ŠÁMúŽÖêŸË‘Ê-io“Í—þ‘cõaÕª´\žžHA^ÀËÅF^™Ò<ûzQçôÍÐw4÷X¤¼ U× ±ýTÞ•wçxÎTç­ɲiûœÕôfÎdÙ4^A¼“—wòxÅÿN^^ ÞÉûï1Š%¤"y !È ©A^HEò@*b—Ò¤ŒÐÐДÎøèÉ ©A^HEò@*BR‚¼Šä€T„ /¤"y !È ÀÿÙ»Ï0+ʃ ÀÏÙe—¶4©"XA°÷‚%*öØÅÞbW,ÁÏšc%jì½ÇXbM1F£1ö+*öŽ Q:Ëî~?D]`–rྯë\ÌN}§œ™á<ó¾EDÈ ÀBhb^¿f¿lÄù¨z^—˜¶‰yí²Ý²éÁÌÇsü»Z“Ñ/^šý¶=2w|X9ÙÊÏŸÈ¥‡n“¾û^›·«êš¶:ß¼ü§œÙl³ù¦Ùr‡ýrÜeçÃïjfz¼ ïޒö9 ×¼>¶ÁׅøÇNÉfõÍ~W¾–ïê^ùìï²Íæ§ä±qS™˜o^ÿk®8åˆì³ÓϳyßͲõ{ä°_]œ{^ü*•uÌ ˜w„¼ÌS5Ãʯ÷½$¯Nœ›K-I«.½Ò»ç¢©˜›‹y³-€$ɸ×rËþ–’íŽÈNK•Mê91Cž»:úŸŸÆ5Ia“V¾óÇüúW·gð2{æÔK¯Ì…'l“Ö/\”ãÎ},C«gn¼òevIÿ­*sïE·çm©³¬*ßsAnz­®˜·.ãóþ}'ç_^ž§'ôʶ‡Ÿœs.8?§þr¬ÙìõÜtÂ!9î¶73fÊç€yFÈ À ·?9225fEi׳ÕòCsï7¥>9oå;ÊÙW¼œ6;Ÿ›«~×?;o²vVYi¥¬±áÏó‹“/Ë¥‡.÷o<#׿RßИÓÍë0?™˜×.Û;¿}`ÎZa`®¿ó‰¼=dlÒbñ¬ºÅ¾9lŸõÒù‡ô#Õ1诹ñÆûóÔ Á^Õ,—Y+[ís`v]£Ã¤ LMƼó`®»öž<9è“ ŸØ$­ÚwͲëôËa‡®‘Á—™3ïÿ8£«krtß{“”fɽ¯ÌõôHi=ÊyòˆýsÖʯç†;ŸÈ›_ŽNIënYsûÃrÔVeyüúësÿÓoç«1…´ì¶VvêtvY¾å¤šxóÚe{å˜?ÏuWí•%Jfw~“¶Çë÷çšëîËÓo}™ïÊÚ§Çz;åÐÃvÌr-§Uÿo’šQyîÒ:¶Åž'g³W—;:ü:ú͆©¨5›‰o]“ýx$+Ÿ{S6}öÀúï³Y-# ŸêóÇÃÌ=Kž–ÛNZ7Íj ª|í²ì;à™¬{áÍé¿ôGùçÿ”ü÷­|òåÐŒ.´Î’+o‘ýÚ/ët,Í÷ß·}r긹q§orýnÉ£ƒ†¦m¿‹sÃÁ½Ršê ýÜpó_òÌ Ï2¢ºiY´g¶;öÌìÑûûXµPZ•/ž¸6×ýéá¼ôѰT5[4Ë®×/‡¶Mz6ÿþØ­óãÀEòä¿^NV;>}Úüô](ïµ[κft^¬yß>jµ•oå…WÆe™Ý×M§Z)pÙÒëgÝÎwæég?ʽº§´¾ã%)i¿Aú®te.yø™ ßh‹´ñõd&ÕLh“¾Gï—ÏŽ¸:ܼ~®®óžµ¦±-öß0›oµjªþûPž^»>_eÞzôñ|Þiãl¶bãzï³Ù*# Ÿ’®é»YïŒ}æ‘y"Cºl’Í–+K¡tL† i‘uö:.ç^uS®=c÷t~ÿöœyÑÃùæÇɪ3ê½ûröÉwdäê¿ÈÉç—~¾dJ’|÷úõ9öØ«ój‹MÓÿô?ä’ó·Ú0½z:!ÕƒïÏÅwŒÈjœ™+o¸!ý߯)}ú’üæª~|çèl•cìÀ¼øfuz®6EÀUh•ÅkñýÃÓ¨R[3ò³|6ªqëÒnòëÒÎéÒ9ùüãO3a&Æûa¹+¯Ö=_!¯¯ßî‚ÉL¬Lu—íóË}zeÈ=¿ÏͯOçXõI¾1"MW^;+4™Æ8¥KeõÕÚeÜë¯æ¯€ù‚€©Ôd¹ìzôöY¾]ã”§ÝJ»æ¸W˰ܙǿ­Ij†æÑ›îÎ'½ÌÇlŸµ–]2K.³J6;茷éÄ<|í½y¯*©58ƒG¶Ìroœ•—îš.K.›Õ6Ú)ûm·Bš')iTžòÒBR(IYyyÊËËRVZÿêA5…²Ë‘?ϲmÊR(ižn[öËÏ:ŒÍÈ®;çè—O»Æ…”4Y,?Ûe³,9r`^þhúIæ,ϯfXþ}ËŸóÁR{ç·Çl“U—îš%WÜíq@Î>yl´ZïôZ~ÍlºóÖY¹u­zòß-šm}L¶_«gï²xz­¿OÛfñ {ñ?-c6ÊQ=øÃ|<±mºuk=Í÷îNKÍØÑ›fiÞtÊ)§y³²T•±5õï‡mß®ÛRi9î£|ðyu`¦UU¥:²ä޲W/sÏ7gš9oõ·ùæÛd‘íR6Q’’´ëÐ.…QC3tœFÄ`~ ä`*%zd™V“UgK›•VÉRUogÐû“Ê·òÊ•é¾ÎZi_ûJRhžU×[5Í>{%¯©NIÛu³ÕÚ5yèÌ9çOç­o¦ÑÜ鬖³c÷t¯ÝfdIó´h^š¶KwKëÚåjÞ"“Ñc§–Ìòü&¾•—_Ÿ¥úôI—ZÕKïe+†çí7?Ï,Ç4Í×ÌֵΠþ+ŸLšÉ¸WÍSÃzd³¾KýXëy†ûlN–‘Va‘õ³ù%yé‘§óí¤\gÌÿþ•gÆ.—Í7é2É’,Ò¾m Ƨv%Ô’öd›uÚL¢V¾WߨL÷>}²ètîJK:­˜•&¡$mÚµIaÌèkªÏN9ª‡›áY$íÚÌú­q¡žép}Ç+]¤}ÚdX†SÍžÙP¶Tú Ø3Ý¿¸'Üòz¾íû4Âúœ3ý(0'x'/S)”7Nù¿ášV¤i¾Ë¨ÑU©7*£&”¤EË–S…<%-Z¥"oeĨšdÑŽÙô”kÒå‘{óç.ËÑ7\”.ën—ýÚ#ëwV›3QÎÆMÒxªßš iTVV÷OÐ3¨|4«ó«ùnDFŒ«Ê{7œ­n|„‰ã«ÓqôØTgVŸ¬jœ·Ú,‹ýý‘<üÎn9xÙ yñÑg2z…ý²Qç’dR4;Ã}6GËÈ«Ð2koÞ'MNÿWž²evè0:Ïýë¿™¸Jÿü¬Ã÷GKåWÿË}w<'_}?_ —ª$©“ʬ?ù¬Z-’ÖS´Å^3ndFŽ/IËÖSŸK&›¶YEšM1Â÷M(×üøµžr¤²2Ó(fáθPÑ"›Ñc§<ÁŒÏ˜±•)m^‘¦…ú÷£FR–ÊLÔ4.³©¬û®°Û“9ò¶ rsŸ+³¡0ù5­d‘´[$6äëT¦ç4^™Po†|“´X*ífÿò 4!/S©52£§HüjF|›5ÍÒ¡¢4…&-Ó¢qu¾12Õ©˜,œ©="£S‘–?¼Ø²´Mzmq@NÙb¿Œ|ÿ?¹óò+rÚ€!9íÆÒ§ÅÜ\«9§Ð¤"å¥éµÛ9qã)›{-¤Q‹v³uÁ-]z‹lÕó®ÜóðÙ¯Ëð<öleV;bÃÉjQÏxŸÍÙ2²àj¶úfÙ°ÕIyô?_fÛM_Ë£/²æq}ÒºdÌÿrÉÑ'å¹¥Ì §Ÿ•º´LY¡&#:);_<ãy7Oó²ê 5jªsÉTãNoF³YŽ4m–¦›1cë1î”åj±xº¶Ÿw“êtúiª>ÏàÏkÒ~ÝÎi<ãý f옌IÓ4k¢Ö$³«<=v]ž::w\xKÖ:¨IÆü4¸tñ¬Ð»UnûßÿòƸõ²Z]!nÕÇyñå¯Óxù•ÓÃÅæ *ì0•ê¯_Ë«ŸÕn¼·:ƒŸy&–õLïî’²ÞYm…Æyï¹ÿfÈdmüŽÍ«O¿œ±WÊŠ¦¼Ä”¦åÒç€ãvK¯Q¯çµO¿o‚´´´4©¬Le1¿â¯Ñ²YeùÆùäíÏÒ¬óbYl±ÚŸÎ騲¼^³™æ¶(Y4›l½JF?õXž{öñ<_²v6ï3yP;Ã}Ö@ed!T¾B6߸CÞýÏ2èé畦ëg‹µ[¤dâÇ/æå¡m³Án;gõ®-SVH’‰ùäÃÏR¯F†Ëzd…eåÝgþ›¯g£½ðÙ-GiÇEÓ!_å³/f¡IùF=³Öê-òîSÏNv>¬üðé<óY›¬¶z·ïkFÖw¼IÆñY†¦cíèvиWö°sº|úç\øç¦xh¢qVÞv«,9쟹ö¶7êh½2ŸþíšÜ÷qÇl±cŸ´ôÜÌ<‡ ÀT ?Ë_ι$mÞ6+w*ÍÐWîÎ¥|/¶:7?kSH m²ñ/vË_\Ÿß^\žC·[%ÊFäGoÊåÿL6úõŽY¦4©ölnÿóYlÍå³Ô¢‹¤ñ¸ÏóÊýçƒf=³s—Ò$…´Yj©´ùLøÛëYtݶIi«tn׬¸ÞøWÒ.›ì×/;öÒœxÞðìµå*éÚ¼&c†}‘ßú*í7ß9k·ŸQPS2mQÈ"ëou¯½8×Ý2.MÖ?%k6Ÿ|êﳆ(# §²ôÜ´oºÞ÷p.¿ÿ«´ÚðwYuRM¿ÒŽ]Ó¥ü›<ÿåÍö«§mõ×yçÉ»ò§'ÇÖï&³¤C6Ýëç¹ïÄkó›‹ 9`«åÓ®dt¾úàŒï¹c6êV¿În9J:õLÏÖßåå7>LUŸe§Ñ\í´4Éê»îžeûߘ3.o–ƒ·ê™fÃ^Í=WÜ•!+œV.ŸÉñ’dbÞýíLh¿^–mç{IÃh²ÜÞ°ã39æ®W3±lƒÉ†•õÜ3'òvN¸ê¸þÑöÙ©ïjéÖ¾q*‡ÎëO<{þõeºívXI[Í0¿ò0•Ò¥vÉ€íFåþKŽÍ%ŸŽLI륲úΧåð½WMóIéky½rîEmsËM÷åwG]œo'6MÇîkd›Ó/Înk·MI’š²f©þôá\ýà52rB MI×Þ}rÈÙfƒIUÊWÙ'Çíöy.½a@ö½²Iºïñû\¾ß´Þ 8ÿjÒkßœQÇÜ|Ó}¹üW×eèØê4nÕ9ˬ¶Eö›òe¹Ó0ÝmÑ|Íl½a£üëþÙù„•3åÏìõÙg QFN%KöͦÝÿ˜«Þ\,{¿\Ê&õ/´Ý,GøI.ºþªürïÑ)´ìœå7Ú+ÿwz\0à½z̹æ«– ÎiŸën¾;ç ¸4#«§Mו²ÛI;Ö»|³]޲å²ÞÚ­ó÷gŸÎ,›efòTºøN9ýÜ’\uÕÍ9ùð!™Ð¤S–]ï œ{ÈöéZ2óã¥òí<õÜ×i·ÎzéénÓ4+îûËlÿ̱¹ç«)‡5I÷ÏÊÕË<˜;î~8wýá 5!¥í³Dïµ²÷y§fÛU;þøÝ潆üEwzóªkXaÝõù·PÏ¿ø”LÑ]ûS»_é¤ÏÝju—$)KÒç“O>9s:ë 0ßzùå—³ñÆ×1db^»l¯óÚ6¹îÊ=³„ dó‘ʼyõþ9ê¹rÅuû× ¡ì3hß½1‡ô(Ë}SŽY½é<,IMƬžþx/Ý%›pK>˜îx³;ÍŒÔdÔó¿Ï.›˜[Þ¯L’T }5÷^t\öÝ®oÖ[gl°Å.éν4²fŠi«3ô…›ó›ý·ËÆ}ÖÍ›í’#/x0ïýi¼ o_—}7Þ#—¾:¶¡ nÜÃÇgÝ5ÖÉ.¿’ºŽÔ Oþ6÷9>7å‰úê½¹èø²ó¥Ï:ëfÃͶϾǜ—;žÿ2æBÙ`þ7ã{F€¹EÈ 3P3ì¯9¦ßùyiâ¼.IÃXÐÖ‡ùAIZ/±|VèÕ%stšïMó÷J®;÷¾”ìtLv[º,©þ$wž4 7¾Û1›÷?#WÞòÇ\ñ«­Óô™ß爓ïÏçµÂå oÝc޹9÷Ü?ç\wS®üíŽióßsrÄégȤñÊ{î•c¶;Ϲ9ƒ$^ÌÏ Uù莳sí+õ} a|Þ½ëØìsÈEybürÙiÀ™¹øòËrî‰ûfÝf¯æš£öΑ7¾ž1~¿`!WŸ{F€¹¥Ñ¼.Ìߪ3ìéçåq‹f¯y]”± ­sE¡0ƒJ²ø¶§ä™šé¬L“Lû®Î×ÿ¼)÷]#ÿ·k¯”'IÉâÙå‚û²]‹ViþÃ*,³tN­|;ÛþæÁüçËí²{ç’$còÔ­·çƒeÎÇm—ÅJ’¤G~ÓvXöÙÿêÜ1h“µ|£$M²Âî»eÅ{¯Ì-ï‘ßmÖ*3Ú20/4Z|ÓlÙö™ÜyöµÙ𦣳r³é_ùÖMùíþ—6{\š+\5-<°WÍÚo•M—/>9W¬ð§·ú f ¬úÞ3Ìjò0…ê xW~wÄ®ÙrÃu³î}³ÍnGå¦×&ü8|økwçÜ#¿¾Îz}³Ã§äÆç¾ÊO•ê¾oâµï)fàýçäð7Ëë®› ·Þ''Ýôb¾60w}xúm¾aÖë³Q¶Þ÷×ùã«#RÓ`ÓO*çÀ;sæ!;fÓõÖMŸ·Ï§ß‘#j¦^Æçå¨Ý¶ÊFë÷Éú›î˜ƒÏ¼'ƒF×$5#óôù»e§ÓŸÌ¨/îÌÁk¯žÕW_+»\ùVªæÚ¶œÇ~µ~Ö=ê/>Ù VåÝköȺý.Ï ª¹µ>,´Ê“¯þuIì¶Å÷ßÅ­öÊñW>‘Ï+¡ŽfÇ}˜‡.<*»m¹AÖYs¬±úêY}ÒgíýnÉ'ÕSN3›Çpõüû/$km™Ÿ-òSôÚ¨e­€w’&mIóŒÍØq“zT¾‘ÿ¾ø]–ýÙY´ÖÝqÙ2eý._æ™§>øñ;RÒaãl±Ê„<óà¦V#ó©š m³åñg…¯îÌÙ×½Zg³Í?Ÿî¹/ï·Þ*GT;àýAãtÛåèì²Ä—ùû]Od„々ÕLÜ3Ì B^&3và•éø¥y©å–9æü«sí¥§ç°í6Î ]Ê’$ß½vuŽèY^ë´s~såsÛõçä •¾ÎÇœ³Ÿøv² uÔ£çæÌç{äˆkþ–ÿ<õp®? S^½òØì¹çiùßR‡äŠ¿<ž'þuKŽ^úÍ\~Ò¥yvŠ_¡ggúñƒ®ËQG\žA]öÊÙ7Þž[/8(=Þ»*Gw{>¬ª½ŒsrÊ¿;f¯ ïΣO>™\}`:½ðûwÉs[h™uÜ’ëû/ŸòŽýrùÏä™gžÌm÷Lé\Þ–õ5'ׇ…Wõû·åì;ÆågÇ\œ[ï¸58rÍ ¿÷ÄqÑó]çú]þwÉ€œñt»ìwùßóÔsOäKöÉrÍZdcnËß®Ø#]§q:ËÇð˜—óü5YnÍUÓbºÕk«3xàÀ|Óªw–û¾úEjF|šOG6I×ÅÛM~s\ºX–è’|öáÇÿC¿B묾VL|õ¿yu\`¾TS9!Õ‹÷Ë -—/ï8+×Mï=ÒUå•ÃÓlµ>Y¥é4Æ)]:k­Ù!ß½úRÞÒÔ? ©™ºg˜ „¼ü¤fh¹îÎ|Üë°\xæ~ÙtͲÜJëf«Ý·Ïjm IÍ×ùçµ·çãåÏù'õ˺½»¥[ÏÕ³Õçç7[NÌ?.»3ïÔ PkJVÎ^ÇîÞ‹”§PR‘îÛÇdÄ’»ç¸]WJûÆ…”4íš¾{n•¥†¿”>˜ü¹çYž¾æÛõØl·fÏ,±øÒYeË#rVÿÕ3ô¯Ì¿¾©#åøfbHzít`6ëÖ"¥%MÓyÝý³ûš•yíÏRѬÑ4›9žÕc¸êÓ÷òáÄvéÞ½Ít›P®òP®¸ý£,»ûîY£ñ¤eŽ1ižæÍ¦¼5nœŠæe©52c\Í’´ï¾tZŽû ï}æÅķªªRFé¶ë‰9`Ù/rÇÙ×eš9oõ7ùú›¤mÇ)›æ KÒ¾S»”Œú:_§*/ §™»g˜ó„¼ü¤rP^|­2=7Ü`Òû…¦þÒÀÊôX¿O:Ö^¨È?[#Í¿˜¿ú)ô(íÔ3Ë´ª·”T¤EE£´ëÞ=‹Ôž¾¢eZdLF<0™åé+ßÈÿ^™îlÅkUQ-]jùôªžAo ÎK*]´wzµleÒ²u‹d̨iÔP¬§Þ–õ5ÇÖ‡…Zi§•²rçÚÇUIÚ®¶FºW ÊkïÔQ­¯fb*'&¥J'›¦¤¤êêšéÖRŸÕc¸êÛo2,mÓn‘ißÞÖŒ˜kN8?¯ô<*¿Ý½ÛO5Ø'fføêáÊØ¶CÉ·ùú[ ò1Ÿ+[:»Ÿ¸_–ù쎜}ÝÀ|—$Óz ¢ÞÏûx0€…ÔLÞ3ÌiB^~T3nDFŽ/¤U›Vu^ j¾‘ iÙªåTÃKZµN‹ŒÌð‘?¥0…&MÒ¤Žÿ—•—×ýñάN_3nxFŒ›˜·¯Ý;®¿~Öÿá³ñqùûˆªŒ5æÇ·Ð´YšÖ5³š©Š3Sz[Nc)Sõ™SëíЬEšOq *Z¤yÆfÔè:‚ÎF½³áz‹ä{oʃǦ:òÍKÌÝ/4Ïz›¬’&Ó[Ö¬Õ•™˜F)kT÷àš±ƒr˱ÿ—» »ç÷gï”%jUY,T´øþA‘1S>X1>£ÇT¦¤¢EšÕ.S£²”¥25[K(ï±wNÜgé ¾ã¬\;𻤤dòkhIÛth›|ûÕשœÖLR¡_ MM‹öi?­&`7Ó÷ŒsØ4~`aTh\‘æjòÕˆQ©N‹©ÂÇBÓÖiÕ¸&ƒ‡œjxõÈá•iݲy'š´H‹òFY~ïËóÛͦlºµ²–æø°á¶å´êLÕä»±ßÍ™ÂÃjƌʘêLöx`ͨ‘•æéPQÇ YwÀyÙÿ—ýsânÿH³òFiÚ±w6pIÛd‘9R°Ð¬yšfLF×Ñ$m͘×sÓ1r[U¿\ø‡ƒ²bÅg…–Kf‰EÆåíO†¦:ZͪÏòñà¤ã]Òx²ùΘ4K³ºžBùNyzí{bö|ü üñìëÒ§“4.Œþipé’Yi…Ö¹ñÙg3p܆Y³®§0ª>Ìó/ I“•VK/ÿƒ`!5³÷Œsšš¼ü¤¬WV^®4o?õtêl)¸lù¬±ryÞ}êé|9Ùð±yé‰2v±U³rÇùàÒÒh¹¬¶by>zspšwéš®]kº¤S«ò™š]iiiRY™Ê™É®l[Ò¼¢y2jDFÕ^~õмõæÌJc±³´>,Ôª¾z%¯|^û@­ÎçŸËûzg¥žu'>ãÞúGüf£œ÷—ÇòØcÿÊßo¿$ÇnÓ#Í ­ë.íÔ9óe>ý|òºˆ5£æú¿Ìí¥{åâ‹ÊÊ-ë(@£^é³V˼ýŸ§&û>V¾ÿŸ<5¸MÖ\«{jGÙã?ÿ4CÒ);Íç;¨ÆËå'îž®ŸÜžßýé½)š™lœÕvÜ.݆ý-—Ý0°ŽfÑ'ä“û.Í],šŸïºAêú ÀBa&ïæ4Ïað“’ŽÙrÿr×Ñ—çøs 9l»•Ò¾0*_¼÷VÆ÷Þ5›v_$›¼Oî=ôÊœx^ãµóêé\6,oþóš\ø·B6=c×,;?ü¯¶¤}6?dÏÜwøïsôòÿ6«g‰ŠêŒþö‹¼ÿÆéøóÝÓ§C½g–¶K/Ö#žÈÝ÷½šÎ´OJZ§K‡fÓ¯Ø`Û²Q–]{õTüíÜüïòuI“ _楻ÎÍmƒ’B§™Þ8³¶>,ÔJš~–{Ný}Z¾cVí\–a¯?K®z%·¿4}ÛÖuäTgÔïæËªvúÞ  ª(M¡¤4MZuÊb‹¶ÌÌ=f1Uiê>†;÷Nï6ßå…ï§jƒÞ)MR3f`®ÿå/sý—«äÿ[&#^}6ÏÔšSé"ËdõeÛ§4M³ÖÞû¦÷þWçä ›çˆm{¥ù°—rÇE·åË•ŽÈ9«Õ.ñļ3pP*Ûÿ,ËuòR<š®x@NÜåÉ~ÛK©,Ûx²a彑ӎ|3G]|D~ñá.ÙmË5Ó½}“Tû8¯þûîÜñÐé~ØE9|Um5°0›™{F€9OÈ @-…T¬ñË\qq‡\qíí9õÐßgDUã´]|µìuÚ®I’ò^ûçâ«ÚçºkïÌo:7ßV6K§žkgÇó¯Î>}ÚÍ7MD4]î \vu§\{Í]¹ð˜Ëóõ˜š4n½X–]k›\>sqfùêæä}>Ëï¯:,ýþÐ$=ö»,7Ü{Oi7Ô¶,¤åFÇæ¼Ã/Ì%ï“ÍN­JY‹NY~ã½sÆqå9úÖ™ß6³¶>,¼J²øçä¬Oä²óûçüOF¦¤ÍÒY«ßy9ý€ÕÒ¬ÎijÒhéU²ìÈësöáýÔ»Pš–Ël›R6ë<ë%ªû^1öi“žüOÞ;¬wz–&ÕŸ<•‡_™Êªÿä²ãÿ3õ|68-ÿ¼pë´HRºän9ïâ’\|ɵ9ö_e|ÓE³Ü†ýsñQý²xí[å ü穯Ó~ýŸi¶–"Ó,«|Bv~²îøbÊaMÒc÷ rkÏrëíæ¶sþœ/GV¦Q‹öYr…>9à’s³ãfó (~õ¾g˜ ²ÒÎôæU×°Â ºëóo¡žÿð)™¢»ö§v¿ÒIŸºÕê.IR–¤Ï'Ÿ|rætÖ`¾õòË/gÛm·×ÅH5ùöß§e¿s¿Îögý&»¯Ò)MK’TOÈÈÏžËUÿwB[åâüõ¤5SÖÀKžøöÕÙûÍŠÝ•“Öª;~ž=5ýÄééwÒûéwëÙ¿›G#fG¡P89ÉÓI*“T'©šôïÄZÝUµº«“ÔÔê®Ý¯fŠîÚŸÔóïúü;½îéõ«Ï°zSÿfÖ˜‡óëÎÎÓêX’EwþCn=bEYR•yå‘Ç2|ÕS³çjÒø‡Þ%åiÙu•,ßµQ7¾aîd§Ð¨Ç9j›ä„«ïή«í“n ý%œðnn¿öÑ4ÛáÂì*à`òû3̬fëçÿnþSú×™RÒ¨¢­ , ±FY²g·Ôüé¾ÜöÌÙfÅÅÒ²dBF|õ~^þç¹âùŽÙúÂUçL³¯…YçèssÒÿËà/&¦[׆ý&V~>8ûžœsv]=ÍtÎ0sü 3«Ð4‹,Út^—æS%é¶ç¹9¯úòÜxÑá¹i𰌫)OÅ"³ôŠëfÿËOÍö+ÎÁˆ´YÏlù‹žsdÖeKnœ}–œ#³€™"ä a5ê˜u~qzÖùż.,˜Jæu¨?!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!/@ò!ï´ÕL£˜3dtõ ä("B^€""ä("B^€"² †¼sêÌ^ò kndp \¶· †¼ ,!/@)ö·&³_½zf¦×d34ŒYÍÞ",꬯ØC^€…ÊüòÎë¤|^/˜±yëÍëå'™B^êAÈû“ºR÷ù"‰€…Œìn:„¼E¤˜BÞú$óÓgV§÷DÌ=³šÙ͉¬p¾Ôh^€yãƒ>˜×EfÁÜ yk’fqÜ™™¶¡–°À«¨¨˜×E€ú˜™ü®!²¾)ç1·—?CÅÔ\ófvÃÌʆœÑŽÀ웹ÜÜÈç©…­¹æš)º§WÃWÐ sÎìäq5u|ÅX“wf4ô ˜ªƒæ’™ xgv~ ”)ä[;j> `.“óͤù¹¹æé5¥ÜÃgGM’TVVΡÙÀBaN¯3š÷ìŸgæçw¾WQQ1¯‹0™÷ß?k¬±F¾ýöÛy]`ò~ovÛôÆ´ò¹šé [¨,HïämÓ;`€9K^Wó2ä—íkÏÊ´˜sæDN7¿f’³eA¨É;3Õ²gf¼ºæ;­þ°P8õÔSóå—_6Ôì*—›Ù°¨-!o}ÍêÎR³&yþùçs衇æ¶ÛnKeeåì̪¡s¸…&¿k4¯ 0Ô$)Ôs¼šZÝõ™`¡Qõí üóž{óȳ¯ç£¡cSÒr±,»Î¶Ùoß-²LŧÌêŒ|ï?ùËä™ïåóaãRÒ¼C–Zy£ì²ï.Y«SÙ4ç?þ‰³²ë9Og” åYÿWÎI} yóÆ#rú}sÎy;g‰z=–41o\sP~õú¹ì»¦ë4§©Ê{·‘cŸ]7^¶wº•ÖgÞ §ÊÊÊ<øàƒyüñÇóñÇ'I&L˜Ûn»->úh9䬵ÖZs«85™sµ|‹Æ‚òÖ¥vˆûÃNœ™PwÛñ3rê©§æÐCM§NæuQ€y¡úóüåœSó@£³ý¾ÇåÅÛ¥ðÕó¹ëš«ròW…\rÚéXH2áíÜsÙíy·ÇæÙ¹ÿîY¼cËÔ }#ÿ¸ù†œuò˜œuùÁY¡ñt–Ó¨Wv;õ ¬Ù¬V¿BIZvn”¤&-ë™eÇ/š áÌC‡Í©§žš>ø Îá…B!%% ÚxðÌærS†½ E®Wl!ï¬Ô¸Ùš½ÓÛñ DÝõñüóÏç•W^I¿~ý²Ë.»¤¬lÚµñ€PIçló›ë²yEË4ûá ºÔ9fâûùÅùå¹!›g»Ž…¤¼Wö»èê µN³K,‘¥š|–WNúožÿpÿ¬°ìt.5…Š,ºLÏ,Û¢®Ót!‹m6 ¿mÈõ Þ*++ x;tèþýûg5ÖÈV[m•òòòì±ÇÙu×]SRR’ªªªÙYT}3º9Ys·¨2Àb y0§›W^èÂÞù¬š=0hÔ¢åT‰Æ­[§Y>ËØq?†' x'©3:ã ÍÓ¢ùì<½UWÓË5ùæ_sãÍÍsoÉwåí²ÌÚÛfÿ¶M¯–Óº,Tæó§oËu·?šW?•B«®Y¹ïîÙ4µÛh®É˜÷ÎÍ7=gßœ§e».é±Ö9ð€ Òyazƒ=À$>øàïµ×^›&Mš¤ªª*묳NŽ<òÈ´k×.'Nœ€w~ÈäŠ2ó›ŸBÞ)›T.LcØ´¦™™éf¶\slçþùÏN’ôë×oN-b†æA5{ (Uç‹AoeXËeÒsÑºÏ Õã‡ç“WÉ­W=“››Íº4ì¹cÂ;Ê)'ß›‰˜Y!­Ç¼¿_{UN9³:þn‡têݺ5ýÂU9ùÜ§Òæç‡ä´ãz¦ÕøÏóÒ_oÎåÿû*Õm&6î¥ÜpúÕykµCsÜË¥]ɘ ùäͼ1²mZ;ý ©ÇãÍ7ðüò6´úÃ33¿Î\¬f¹š¡ç–>M÷d¥òɆdØ?NÉþ—¿œ 5ÕIY»,¿õQ9eßµÒz†gÛšTWU¥ªªÖˆ…’””¦>Q× Ï·ß—–Ø=—±å¤@·K9úË úå½¹àÖ9r•)Ùš¡ù÷Ýføòå܃6NûB’,–®G·Éˆ#äÏ?Œ6ú‹|6²Ezm°aV\êû—w^¢GVž™ °€ùä“O’$+­´Rjj~ŠÊ&L˜0§9«y\}ÛÆüò6t³ÌSÖ®©£ÿŒ¦_ šjž Õì@͘7ódz¯ÌKïŸó¶_"“W˜-¤åúGäâÞße⸑òÑÀüûþKrä+ƒò«³Îj­¦sz­|!ï±m.®Ý¯¼ON¸ã×Ù°ÉãN|'¯¾1!Kì¼V«U€ÒÅ—Í2ÍïÌ»o‘êU›bþïåÍ÷ª³Ôž«¥]íb4Z2+.×:w¿1i Ú®•ÍÖ¼+—œb&l¿c~ÞwíôXÄ»Èç´ê$*JÀüoz9ј1cÒ¯_¿4mÚ4÷ÜsϬÌ~VÞ·[×4 ßÍ×yàüòÖ×yzAíôšƒ®=N]ŸÖ<ªf‘šïÞÉÝgœž¿¶Ï©'l•.u\9J+:fñŠï»»õ\1k­Õ%gran~hˬ²ëâÓòõΞg’5›ÕêW¨È¢ë(Ǹ5¾*Üvtv¾£öêL_c¾Kõ”ÓŒ1•%iѲÅ'ýB*Z4û©\…öÙø„K²Ø¿ÿ’ûÿ~MŽÿãåé²ÖÖÙc¿]²îbu†!ä€ùÛK,‘·Þz+¯¼òJÖYg:Çy饗’$K-µTC.zf2»™ z˜ì¯!CÞÕ†mèZ¹3Öœ•¤IDATS–Ù]vƒíðÞÁ;£þsë½ó š=PDjƾ?Ÿ~jî­úyN9môj^¿Si¡åRéÖ1ycÈ7©ÎtBÞBótèÖ=Ë´˜ñ| +Ò¼¼4=w<+ÇlØjÊ¡)«h;ÕE­Ð¸Yš5ªÎ7£Ç¤&Ík]j2nÜ„ÉO쥭ӳï>9¡ïžùÁÓ¹÷ºksΉ_çWWÈÚsëòµpYPž4€Uß¾}óÖ[oåÆoÌòË/Ÿ-ZL6|Ô¨Q¹öÚk“$›l²IC,²!2¹ú¾{wN¨OÈÜ æuš¹±Qr l ßU³ßj«­²ÓN;ÍÅóZ͘7sÇ©¿Íý%;æ´ÓöÈr3tÖŒ|7ï~QÈ¢;6Ü…¦¬GVìUžÁï}‘¦‹vNçε?‹¦}Ëò:¦Y:=—.ɇ¯ ÌðÚgíê!yëío¦ªùû½Ò´ì¶Aö=j§ô5(o Ö\=°pÚb‹-Ò½{÷ <8GqDž|òÉŒ;6cÇŽÍO<‘þýûgèСéÞ½{¶Øb‹YYÄœÊÞŠ-ƒœiÅX‰æ‡Z¹ÓkryFID] þ\Ùûì³ÏdßrË-uöÿî»ïæFqæe5{`>V3öÍÜñÛßæö¯—Ï^wËè7_Ê‹µ†—´Z2+vo›¼{o.úû˜ô^c¥,Óµ]Z4šo?~5Üq[^l±q~Õwц y m³áž;ä¡__•ßþaDvÝtÅti^“1ÿÊÇï I»M¶Ïí¦œ¦c6ÞqƒÜwö 9ÿÖ&Ùw“îiY9$¯ÿã¦ÜÿQI '­ïðçóçû¿Ìb«öÎâÚ¤ñø/òÚ_ˇ͖ÉvK§* À ¤¤$guV~ýë_ç½÷ÞËï~÷»©ÆéÞ½{Î:ë¬ s¼EÄi…ÁõÉøfÔÔsÑUî,¦wVBݺ†Õ‰ëz—ïÿ·w/¯º%g€ëìÓÆ(Ú¢ÐDƒà'$8°'M Á‚‚d"8ˆt6ˆ³@"D$:D¢„ऑþ„„LDb4 „sövÐg%µëT­UU«ÖmïçÍW«ªÖå»4üÎ[UZã{H\ o÷ uS”ÙpûŸÿ¾òïß Ïž¿¾ðö»/è/|ñ3¿¾÷‡~2üÄÍ߇zçÃ;ÿýÍð­ðÝáû_ûñð³¯ÿfxû×Þ ?ÿcÿGýÃ?ýëáÿä‡Ã_ñŸö/Ãûÿw>ôꄟú…7Ãod yCx^}ãwÃÛ¿ÿWá¿ù³ð‡û?áîû~4üÜÇ5üÑï¼>ów/¦}×÷„»ÿø—ðÿü…ð_ÿû­ðäÃ?~ìgÞ¿ý™ß ¿ôª¥š€ÇëÕW_ Ÿÿüç×¾ô¥ðå/9|ýë_!„ðÑ~4¼ùæ›á­·Þ www÷¶íÔ’Ñ¥ý¹›Ï=PÍþ¾§6úÿ¹^º^n<í{’´ÓãÒkÚÎÇ7/þrí§™×´ýño|ãºð~M{ñŽØƒ÷k_ûZxýõ×Ãûï¿_}Îíímøô§?¾úÕ¯†×^{-|êSŸ ûØÇB!¼÷Þ{áwÞùv™ýç>÷¹=þ°ƒwß}7¼ñÆG?ñÊ+¯„§OŸ~;+º»» ÏŸ?Ïž=ë¾æG>ò‘?!ükáù‹¿ÛL;~½{ñšk—‚áÒq˜yMç¥c¹ãR_Ëxµ+TòÖ,¿œ›·t\ºÆeúNVfÀ ={ölU »Rm†·ÄÖæ€§Ï ¯òŽPZ¶9nÇs6]²96íÅ{ÔrÍ!ìZf©Úln©º¶Ô÷à<Ô7 lçöå ™ñšëqd¸;™ÜO|âᓟüäÐ2{˜Ñ“»µìÇû Cß«†¼qH¿¶œ;7ž~Ù·áƒýx7©æ=‹ƒËìx|ÒªÝÛÂøÒ5Zî—{½”›£ QÍزòm2–+÷®Ùxh3—Ã--Õœ ƒKÇ£ƒâÃíò¶®‹=òÃ,}±¹/µtßø_\ê‹€“‰s·¹|.=.en™-.íšž±’wÔ‡ÒRÑ›Ž¥anK ,+¸K9ÝÒ5Jc=ÏÔ{My÷|ƒµË'/…³s½s÷>Ý— Ò›ÏÕæ¹kä^÷0ô^g¬ä]Òº/ïܹs_`ú¯nÃr¹8P¯”ÅM}¹ùñkÚ_ºþÒ3\ÊCÞ=K6?È/Nh‹Ïšë^ÚYBÞšu´·Ü(¹T¥›®÷=Íý<ðØLy[šÕ݆—3»4«K¯1òyZö>Ä“ƒ®™›“ö=É´Ó×¹±'Ñßt|“ißDÇ7Ñ9O_?Æâ¾_ž9'$c!™÷$éßKî½¥íÜûÍÕêýΫ&Dl sók–=έ“Û¤?]b9 eoCÏÃËíW^ôßF¯·I_nIçøºw™vüL¹÷›{Ÿsc¥ãR_ÏœjW ys}¥7nçÖ8|§07o§¾\ð›¶ãkÅáï“äž!܃sÏ]ú JŸIíüB^€íõ†¥0r.´›Ÿ¤q; xÓ õyÔÿåBÜ©ßE}¹={ÓxÓ¿ÜsϽ.õ•ŽK}=sª½2òb'w¾TÆíÜñÔw>hS·/æ§ÿ*¡¨N?Ä›äü)ð½æ—BÞPh×VþÎõ«ä8‡ÞÀ°fßÚ–@3–¦•¼¹*Þ\{›K+Sé’͹gœ{þíL!ï\ð:µKaì“ÂkÈœ—¶oÃwÂ×»ä¼xΓè5 fCø Žûn£þø?€tÙæø~7áþ¯¥¢7í«©àUå ÀözªJ—BÐ¥ ÞXi9业wÊÈrU¸!äCß´ ›sóÜ{¬©âõVñb‹7Änaí}r¡rÜ_*뎫x§ãÏÃýÐ÷&9/Ý8}†8ŽïÂ|ØÛòΩ/hW¶‹µ!ïRð™ Ko“ñt_Ü\EonOÝÒrÏ¥|.ôæž¹Õ^¡íðûœ©’w„\ÅoÜžªvÓñ´ê7þÁÄU¼OÃý[ìNn^ÇÂq°›ÊÓ_üFM˜;WÕ›ë·T3ÀùÕ„‚­U¼¹þ¹êÕÒX憤]ªÎ÷ÚMÇï2çÖ†½¥ºô~„£BÞž*Ü\€»t½RØ[ÏU÷¦U»7á~XWëÆAoßD¯Sø/ÿ<ÍŸ[–y. -Íòp.=!oϲť€5öæÞéøùÌX—ž½T•œë[ ¸s}=Að!áñÙ+y—Âàµaqß [§JÛ8´æß…ûoiÞ)Ľ TýN׋+yãgHCÝxNK%oÚ3ýsŸ×VK:ð²Ö€pn~koÜ®­äÛ“wO«ps{óæÚ¥ Þxyçî‡Á[†³§®ü=[ÈÛÚ¦çæ^Ca,½gö¦?Ðéó4š7Uî¦AoÜŽ÷×½KúCòïï[î†ÌxnΖa/ÛYî¶T·–ÂÞR{z­Ù›7m?Ïœ[Z¦9„ûAïR(=WÜëT¡ïÙBÞ%¹vÄõríÝ+­ô÷ÕͽéRÍ!Üß xºF\Í›{O-aoh§c¹ã9B^€óh {Bߥp·4–.³<ÚæÞÜ5rÕÂsϾֈxw[…¼5!lmP»4/7>W͇´i0B¾š7 {Ó%§b¼÷n¼tsü,¹P÷Ir½ž}ysã[Wï ƒú^fxmUïRlnßÜÒ_.ìÍ¿éR͹ë–*|sÏUS½»ô¹×~/5ó6 ÏXÉ»¦J·çÜ¥8„ûÁp®=Í á~¸› „ã 7 uï’ãš°w®Ýò£òìktÈ»4©Ýúz^ZӪܥÊÞ¹vúœ¹g¯µ&l=]•ïCÞ%ielHÚ¥yiUnî±8ÀŽCxyYæé5]¢yúÆK.Ç÷™ªŠsK2oUɻԿ4À1Z*xKýk+yK•¶ñX®ê6·ßnZÁ;7'½×Ü3åÆrïqiÞ©òÖVÞ¶Tè.Í¿¤i^n ç\0œ½SÕî´<ót­8ܽI®Wïö„»¥À·6žëàZj+]Kf®¿5ì !¿7oÐæª{Ó€7½n.Dɼ¥¶%Ä­{h0|tÈ[RÔöVó.͉ßÉܲÌñÒÍq°;]û.Üvãgˆ÷èÓEË2ÍKcKý½ógmØ8Wµ[[ª€ÍUòæŽÓÀ¶TÝ;̓Ûtn÷ä¹ç«³4¯tÎilò¶Tߎ¾ÞÜÜ´:7 UK{ÙNA=]'®ÚÛñ=s¼éÞ¼½{ðÖ¨]Ò¹õ:´ë ç‚ÛÚójÃÞR5í\è;½–öÛMÃÞ¹êߥ{̽÷-ªxºÞ·mÔ­©­é«]θšæÂÕ›ÌXÚ?7ÿ&ÜrããÞå™{*xsÇKý½óod5ïÒqÚn }sAlnùæ^^ª9dÆsU¼éüxl®Š·¶/wÜÒ—³YÈ{ÖåšCX_ \³4sÎT±›.Û<-Ç<½¦Ë4§¯!Ü_Ò90§ÏSZ¦9n y‡#BÞRð[š— ZÓ@7W›.í\‹_sj—gîqÊ¥šC8w%o©¿¥š77žŽ•–J.Uô¦U¹¥7=gé~-nn¶ž€7=îYþx.ÔMÇsç”®;"àMÛ5ǵckæ6Û+ÜbÉæ\_.Mk—P®YNynYæ¥=x—úæÚ5ÇKý­s8‡š±¶µu¹æ¸]³œóܽKû÷N¯-KC§íÒœÜq©¯f¬g^·³…¼Ks÷z§ö\Лë[Z޹&®}îܼR_ÍØš¹lkTiïRÍ¥±š6ík lç*‚—®17'w\ê«[3·ËžaÞˆ±%äÑ® pCa|.ÄÝ¢zwM5oÏ\ö1"dl]ªxmUï\ª ÞÉYB¼+½{ô÷ž³ä,ß;ë­ +G†§[õŸ-à=<>C%ïd«e›—æ´Œên1€‡­&\;gïpwÍØZ‡¼!œ/Ü2è]š·eØ»f¬f|íü­®À:#BÅ=÷±oî^rÞØ™*yCX,îYÕ;úZ-ã­óZ xÎc«pqT(:2”Ý2à=MH»Öü£ƒÞžñÑ×ë³åùœßÚ sDXÚ:>úz½s¶<¨³{š[„³Gºgý.8ž°r«àwp·eÞVçwæ`pÏÊÕ­‚Ù-–]Þò;;óïà±Û2ll¹öšpuJáÞ¹[œ¿‰³íÉ8ŽY{Ãà­÷ØÎP«7¸\[9;2¼]ó—wöppÔó®”Ú¶¾·­¿«³ÿØ>¸l½þÜü‘Ë)ïY½;ú:Ã]%Ø;kØ;zîmÐs«V¸›q¥0ð¨ôÈ`x¯ïçJ¿€Çn¯òÈ Û‘ÅG\gSgÞ“7ud•ëÖK+o$@3°—ZtÅÀpä3÷^k xôù{]€}l†®½fÏù½÷ùþ/,_5ä;CлæÜÑŸûU¿Gö7:Ð<"¤}´o×Ï”¯qåï€PΞ% >ÔÕƒ¾³½£®1ò:ÐkT:â:ÞB¸Õ{8{Xû¾;޵UÐy¦pxÏëîâ!…W SüÌÒ÷ À}G—W©²½t¸;yh¡ßÖïç*A2låªìƒxCx¸áâ^ïë¡Ýö CÚ}vóÐÃýßßÙ>ϳ=û9[¸¹÷óœíýó˜B@{áÀöÒÞÀ§ôXÃdz½ï³=”œ-H=Ûólîæè ž Ò\ùs¸ò³pŒ+W¿^ùÙ‡PÉ p!ª@Ë|6p¬G_µ›£’àBT«®ãó€>ªt;©ä¸•¨ûòyðP©Ì݉J^€ òÀiý?¡b % ‘…IEND®B`‚sequeler-0.8.0/data/assets/screenshots/sequeler-screenshot2.png000066400000000000000000006415211367531117400247300ustar00rootroot00000000000000‰PNG  IHDRy¼«0ÞsBIT|dˆ IDATxœìÝwœe¡ÿñïÌœ¶gk²i¤  ô&‚‚¤ˆ âå‚€‘j¹(—º‚¨ˆX€ß¸ (]•€ÔÀ¥„ž„BzO¶—Sf~lvsöä”9mOÙÏ›×¾vÊ3Ï<3çlØÙïyžG .F±0qÏPiœb7`01‹Ý€{ô*XÜoT*zóBÇÜpÿ€ì g‰áš ŒÐ55îPôôM‚39î P\½ dnUÎ÷¢œÛ€UÎÁi9·=o{”ó}(ç¶ 8Ê9,-ç¶çÅ` KñºK±M@¬R XK±Me»DÀ €ò@®UÓ‹PÌkL÷ƒ[1{ÖŠ^½ƒ!|èk,µ{Zjí@á•ZØ9Ðí)µëÏ«J êº*í<À@¤•vžS‰áa¡¯©PõWâk€ÊR¨À´ÐAlE½•,òZòY7s *e.ÜB^GE„½•ú•zÏÚRo¯Rï™[êí+ŠJ ó} ù¨¯Ôb R jóÊòI©…»Å>¾ÔÏ€üè°2×óûøB×7 Ê5è+•€7—vTÊ<¿(/¥2n¶Çú ·ÃÁRG³9®{ú–ã뀅'‹ÑÓ¶ÂÞ² zË-ä+æ\·™SÈúËí5@ésr:ÄȸPõ\9†Å x îº);P¯O9½» #Ýœ§Pn¦×8¨‚Þr ÷Šð«l>®µ\^W^>‚Ëtu”BØ;h‚Þr:ôÌç°É©Ê²Gq6Êá½0Ø:€ÌgÚ|öè°·¤ƒÞRörm_1†ONV¦sî–úë€ÒQÈyo“•ËWà;aoɽ¥–[À›K¸[¨¡¡³QÊï €Áª”zðæÆæcØçAô–j 7Po®óã&ÚŸ¯9wéÑ €|*FÞTûs | 1Ôs!ŽÏ»R "àèp7Áï@öl@yˆ@3—ðµXaoE½¥ü•zÀ¿/Û`7_½}3-[Ì:BŒùò8ÓP7Ù¾lëq³ßm™BŸ7¥æåÒž\Þ|„»¥úfS¾Pu 7ù3­c BÝdÛó]¦e ql^•RWŠo®án¡B_7eJéµ@qºl>BÝdÛ3=>ݾLÊâØ¼)• °X¯Û 5_án1Âà|€Ò“mðX¬ð6“íùlG¦e ql^”JØWȰ2×À5Q¹LêÌGàëöþäûõ,•÷À`”ï0Ñm}‰Êå#ÀÍ¥l¾äLËäó¸¼)…¯Po¦=`³ wsÙæö¼nöeR&¥ðlŠðfÒk6×p7Ûm™„Çéö¹ÙŸïãò¢¼lÚP o>ß|ãœKY”·LÈ| ‡<Ð!n)½ƒ:äÈ€×Íö €ó1¬sº}¹”@yè€7~Û@¹ù¾¹¬‚Þb=Ls>‚×tëfΑl[ªín÷çëW!BÉ|Áœh¿¦Ž|½òær\NÊ-äͦWk¡Ã]ÃÅþLÚ“j[ªíéöåóW¾CÞ|ϱ›*Œu\ìÏä|ù {˦7o±¾¦9Ó€×ízü÷dû3iA/Ü(¥€7“2é¶göfôVİÍåòækˆæ\^3žTán.çL¶-Õötûòy V)¼ñ¡k¦a¯”ÛÎnèTÛÝîϵ|Ίìk˜ælÃÖøyv“ÕèfrîTõgºÍí~]€Ê‘ËÄÙö€MƦ w“•KUÿ@½%ß›·BÞR x“•KV&U/Þ|õèÍ&üu[åÁMÀ˜ËpÆÙ†¬©B];Á¶deriC¢õtÛÓíËGùœ tØ7Ã4gðfÐ&ÚïfžÞ|Ìœl=ÝölË t¹ ݹ΋ëfþÝDÇdçô–í°ÍåòfÚ³5¯™b[ü¹Õ‘KЛ¯ùz3)€Ò–m/ÞdÛ3 Jݼɶ'꥛¬çn6Ao.=—ÝìËGù¬•rÈ[Œ€7ÝÐË©ÂÚøsåôæÔÒ› òå»oª2ù x“õä]N7Äs¢ó¸is&ÛÜìË¥lN2äËW/Þ\çáÍ4àï½è,é8I;Iò&i[üqnúõ!ä(_…³éÉšê˜NIŸIú§¤ç•8øM׫×MЛÏùyK²7¯g N’…\ÃÐB¼‰zòžÖ8lä¬ÝöÜg¢Ï_5ÞqúÕ  ‡Â“ßûõ6nX;FÒýÚŠêôšÚèÆîK¶ÝÍr¢õt2-? Jµ'o&½xÝÓœï€wŸÆa#/Ûs¿ƒ wwûB‘ä”Üë ”Ã0äñøäóûCo¿þÊ+7¬½QÒ›J=ds>zôæ:lsÉ Ùèhk>—lžÝøméÊf£¤ææˆ7Ám&½xݼñŸèÝ–hÞä]Âm§„^J <8[§BíÍàìä¥å¨'£³Õ?¼Ýß»-Õr|P›.,ÎVÁáRêÉ›Kœë8؉ߨíñ¯)õŸñ€;1[oxÛû=¾X|Xwxßv·±].lÉôæ-‡9y3;]/ÞdctǮǹIÞm^6ù\¢œO ¾§ZNÔ†tÛJJ9„¼ñr¦9Ù1‰Þ@½Û½¬$õpÇPOî&%zã·K©C]%Ø–ªch¢2e¡Ð!¯Û’Irž­t/Z²À7Ùv¹K—Ë¥ vS¾ÙÊ5¿,hp\ne¶½xÓÍÃ?÷nì'¾Kxì' d¯wÝdC5'Ëñb—ce›–UoÞr ysÿâKÉ_üdï`»g@!Åæp‰ò¹xñY_²À·byŠÝeßÕ9ÓÞí0ÍÉ&hî}#ż¹õ|pÏ‘¶æo½›½e›÷=ѶØï½RíO´|¼dûÓWp…앚ï´<“úR•MâÆOä¿/QoÞAõi ÏåoñC5+n[¢}é²ÁLÚ“OËKuèa·½xÝns3¶v²ùy¥þ¡noo^¹‰ÍÞRÍÅ+%Îöâד備lËdQ{¸f·7%“!3æ9ÝϱŸ ˆýAEŽÖÜÕÙ¡–æ¦b7£Âòù|ª­oeYÅn @ñmÍØâ{ïF·,ÛJ?ôr.Ã.ç:sQ‡l.vÈ›/n{ñ¦›‡7Ñ—´í$Ï9ys8V{{›&LÜA¦eÊ0L™fÅ]æÀs¤Í›7©µ¹I C‹Ý”=CÕбǪ}§NШ:K¡–ÍZ·â½ýÚ‹zæÅµ1Zì6–kûYúÙµÇi¬Ò«¿>_¿z=2@gè ?ø.ÚÇ«è’Gô£«žÔJ{€N]’í0ˆ%ÊßLõ½©²½dóó&ÛβïÆYŠ!o¦=qs­;ݸ݉æä­¸äÓ¶£jiÞ¬‘#G)jÛêìê*v“*JMM­6nØPìf ìYuÈl]~ö~éÝúXâ2RÛ¡ñµkõÊ‹kc[XF­¾ø_?Óù»-ÑÝ?ø¹ænÎÓ³x4¬ÞL3IQgÞÏïôω†T¼\µTÚ`‹Íáõzc÷dž¶½=}ãëÉô-—žÀEU¨7Ÿ!h6“!g2$sü¶TËýº‹WÒhÍííí VWËôxG*æºJE8•#‡û €œXcÒßÚO#½RxåËúým÷ëùOZ5QÓö?T;¬þ·>ný$k¥0öÔAS2QØÎßs˜ãô¯+Y½…8üy‹õ¬P*í0øÄ<˜1«‰ò9'Ár²a›msäÆÊg¨[€¸˜=yóç2¯oºÉ™õÞ­´¿—(ê–ªº¾^¶íȶùüv¾qO;Ÿ¦Í8B“ý†œð§ºÿÆ_ë©u>y-SᵋõÒà õ¼T•ßÚRÞÔÐ]gèäã¾ =w©ZOH-k>Ó[/üC>³P#Rïp½ßÝ;ªùwߤgѬC¦hü¿B›—êgÖ=O.R³“iYI²4l·£tÊñkú#Tc…Ô¼ê½þôãúË KÔS®q·:ù؃µÇ#Tmó}öÞ³ºÿóÔ´ãQ:ûìã5=`HÚ]çÝö'GݯþVgýv¾ÂnÏc Õ3OÓi_𦱵QmZ2_Oýc½:S>fªÛ9ÝùÝÜg·ÜÖ•êž½¬eÉjÜUGûeí¿ë;¼N#¤–µKôÖsOèÁ§?R3(JKüͱ½zcŸÜ…¹J²?•|¯Eëá[ŠÃ5§’j¨æL{ñ¦ÚŸ¨L¢9zËžmÛêîì”?×çSww¨ØMˆ5NÓ¦ÖËùø½´±JþÞ!›MŸ|_LaCCö;G×]x FX†'ªh4¨¡ãwÓWþcªöœô?ºòw¯i£³e¸^ïég\®éfHë—®Ò*k‚ÆÛQŸr‘‚­sôÓç6ÉQ&e =àÛºîüý5ÌŒ¨iÙÇZØÝ¨I“w×Ñçì¬I 7êšÇ—*,CÎÖõçí§a–!DZeÛ^Õœ¨i£LµELÚešFûž'{»S–¯QKÔQ÷ªæ ÎãÑö3¿«4Q>Cr[Ã'¢3Çuª+åÇxÓŸßÝ}vó»­+Ý=ë©Í5yÿ=µ£g“V­øL!ßp3U‡ÿÇ$÷^««ž\)¦nPÍÁ›lŠÕd½u¥ÜzófÓÓ·èJ-äMÔ›6“ònÊ% w͸ý±½w Õ¼¥|ùfÕÝÕ©¨Q}ý…BÝrœò¾žÒå¨Þ/("«^Ã{ž7;W¯W[ß$2 x&éØSÐK -~LW]yÞj©Ö®§ÎÑO¾9UÃö?E'>ÿ–îú`볯e5iî _¾Þ*£f_]|Û:|h•vÝsU??OmNe­I:æ”ý4Ìr´áÙ›tþ-o¨M†Fu•~wÁ^štô‘ÚëŸÿO¯E&ë˜SöÕ0KŠ,û§~råÿÓ+ë 5ŒŸ¢|«´Q¶Ö=8Gs6\«?œ¿»ÌèÇz`ÎUzj“#ùjT[7ÕÝyœ©:êˆ òŽÂKžÔ5sîÖ›­:`ö5ºò˜ñ[®+Ñïë-Ls~w÷9þôñçqÜ¿fNLsÏœž¿J4½¬_|ç%u·…寭–Ï ê ïÝ¢ ÷­Òöûì®Q_¡•v‚vã(]aR…ô±ƒ+}oˆÞ^»±Ã2Çgsv̱óñ¦®9Lçá-©¸ÔBÞTÜôâus|²m‰>¿è#‰¨»«S C†*‰ÈÞæ@)é} ±eô{¢gŽÚY»6š’ÂZð¯è§A õ¶–þã)½5kоP5D»M'ëƒ}ÇØ›ßÐó‹ ÕÖ7HZ®EK#:|¨Wf0 *Im1õ§+Û1j'Mmìi¡=òPûÃCz Ô+êHFÕaê {'MjJŠháSéÝP­ê‡HѦ%úÈñÈã1䩪WзõqÐS;Dµ[ž]L—çyS´}!9a½ÿ·'´ÈnP}MHï?ùŒ>>ê,Mµ”Têó»½Ï‹Óöšu[—·)ý=“ Uíð}ãÔ£tð.Û©Ækôø 䯨§[ ”h$Ò3¤mËŽFݧ]޳¥¬#ÇÞ’ÕõÅq†,Ó#ß«@ (É‘að ë •lÄÝX‰Þø:Ò½5+¢7o±BÞBýt&ª9“¹xãçßíÝoÆ•)ûášÇVgG»|~¿¼>¯"êJZ´Y›[%5 ¦ZCÚœä±ÓV«Æ”äDÕÒ–eJ’)Õ©æIU†jª«ú=ÔØMÍj÷˜=ʆµõ‘9Á9Ò•5ªjzÎ/S#¦¢/os-yLÉðomgSkH³§E¦åMø)Üm®Óåyä­RФnmjµ{¶É’'ÔÖ37mŠ7åù³¸Ï¹ÖeV¥¿gFpº¾õÃoé°!RdýÛzøÏsõþÚ.í0ó‡:cŸêž2Ù]2)ÛŽª«³S‘HDRÏ´!†Ë,¬wQDZå÷ùuÄ—¿¤Oœ©½öÚKZºt™¸ÿÍ}ößjÙ¼QÁš:y¼ÞAß«wǶ××_#IºtÎÕúlÉçEmOÅοÛûtÙ»[&¶Goï¶tsóJé‡j·¢Ã…yê'.›ó¸™·W|[án¯P($;U]]½lÛ)Ê0Íþ.ÒïÏõêÎ oÑómeñ¡ xìåúèã.}õÀ*yvÞ_û4¾¤¹ÿí47©Å–FxÞtåRº©Î™¨'oâ¡¢ËtŠUDZÕÑÚ¦Úº:y<…Ñâ´#–#C‘ØQÔˈQwˆ~tåýíÒ?jaºŽÐLÉ €\9]zóé—´qÿØUßüÞé ß÷½¹¬U Õ˜íwÒ”ÀgzrÞ2E×¼§ù«¾®Iã-M9üHM›ÿ°Þo hòŒ#4=`Hö&½ûÞ E¸GÂd¿³&Úž¢¬½æ½³ÎÖŽ£}Úë¤Óuà§hÑ–vz&j·ÑzwáZE×|ªOZm?ÄÒ”ÇjïwÔ›¢ Ÿ¤ýwóëƒçÞ×FG ‡Â=§2‡jôp¿ÔV°Æ§n·çYû™·9šXïÕ´¯ÌÐNï<®:‚Úùð/jg+Íõ(ÕùÝÞçt¯­d»¬+´¦*í=k Gzæ:3Lùª‡¨Êß"sø!:|àÖ¿*dòš ,˜¦±í´ŒÎ¶ŸÐLX. ÛŽª£­]¶ãÈ2¬~=lÓõ´uG¶c+é'?¹^3;N¶lÒ™žóŠË.ÕÛï ßpƒdXòö¯²]~ÉÅÚiò$=öÄ“Z¿~ƒŽ;æè¾ýÇóU24|ø08ó8}üɧºá¦›‹ôÎ<î}ó§l³ý”ÓÎp_ɶoÃd#õÆ®'›#7Óà7Ûy{Kf8çR ySI5oª2n—“ élÆ­Ç–/ÛVÚÛÚäõy岦ùäY'ÊçóêOü¥­+†êö˜®)Þuz¢ØMÀ a(¼à~ýò±5ç¤ÜápÍá1ûu½|«þ>o™¢Z¡'ïþ—žs´ÆnÿUÍùÝ …¢†|^K†ckã«÷é‘…É*Ð#¡³Dß5W\6Cc&««}ˆV¯m‘¨×ðau2çß®s®U4¼PO<ºP_8kWÇ¡Ýú%E"’ÇcÉþüaýèù÷%ÇQÇgŸjetOM´Æêø«£#Ö¬Oÿ¨‹nxÚÝyB ô·¿/Ñ!ߨAÉÇëºÛRWÄ#_W‹ÚG¾”Ow©Î?×å}vóøèò53Óß³MŸ¿§w›ÒáCüÚçÛ?ÖÍG·¨jôhY­›v†f;:5J˜iºù¦tçïïÕÂEöm?ék_Wýƾõ©SvÑ·Ï:Cÿ÷宂ÞÎÎN9rd¦¼>ï–¹r{~¿M5onooÝh8¤O½ÿÁ‚¬ÛbÙG3÷³ôæß_ײp²R†j'}Y§Ï>Gç~ë›:íÄ:túX6/Ñ'k;·þ„ùFë ߘ­ï~çLyÚ×tÊ×NÔ)³NÔɳNÔI{„ôÊ Ÿ¨ÍqS—Gû_t‡~vX³æ¾²T¡¾v˜š0ë:ÝvÖ0½ûÜRM<ý]}ÊΪ®ÙI_>éD<ëx`¾«g6%ü©7MSm­-ª®©Íú~†ikÝ[sõÂ' ÔÕ©®6(¿G ·mÔŠßÖ‹Ï¿ªÖtÊ‘©ÈÚ7ôÌëå©oÔІZU{"j^¹H/?v»~~Ï;jõyeÈ£±ûU޵doú@O?ÿ©Ú¶ k<áÀ£µßhKöúwõÏ—–¨#£²¦"«þOO¿¶NVÝ ilÔˆá ª±º´~É;zþ™yzou‡ÃPë‡ÏëÕU–‡ UCMP~+ª¶Õ õÂSÏèõ¥-ŠHrš>Ñ‚C´ýÄjzåt¬Õǯ¿¤mV§«óHMÌÓ"{”¶;\µV·6,zF·ÿôN}¶Ã í5\Zöêßôúê$Ã_'=ÿ&u­qsŸã%º—._3÷,Y¥÷ÞïÐÈI4jH­ª­V}üôºá· ´ÝQûkL×Gzö™EÚì$yMPvGúèÃõ…ƒÒ;ï¾ß·=PìWî«G}EþËCÚÜÜ’¶ÎH$¬Pw·$C>¿O†Ñ‘†á*tF£òzLÝÿÇû2Ê"ÇÑî»ï¦?=ð€Â‘¨<wóóúý>}í¤™:÷Ûg©««KŸ/]&sËÒC‡Êçó•ìÇ›6oR$Öî»ïÖ·Íq­\¹J--­ª­­íwÏÿtÿƒzõµ×û®¯<¯6mÞ¤/v¨|>_ßö‡yÜu¦iiùÒÏVKzR[CU'Ér¬ØñSS…º­˜®ÎL‡WŽ]Oö=~[¢!–cÃ[ikh»Ü»ßŠY·b¾Ç.ÿÏÁ‡~e¯H$i:™ÔÕs.Õ®S§hõê5ºæúeY¦®¹òr1\ ,Òµ?ùiÆuºaÛQµµ¶Êãñ¨¦¶®g,ü þaí xc=ñäß³îÑëÛ÷\ýþBŸî8ÿ7z¹=q;ü“féÚËóÂ}ºç©÷´&Ò ¾ô =s¤Þýõõºc~‹ù5íŒëué´ô«ëþGÏ-‹hØÞßМ+ŽVëÿ^¦_Ì]¯¨×§€«º,í}Þmú¯à=úÎ/_ù‡©±Ç_¥Ÿü¶æ\þ¸·wjè±×ëwÇ-ÖU³ïÒQG†·FUþÄŸ›°,K«W.׈Q£³ºWÀVŽ¢¡Nuwu+Êv$Ã0eZyÕªòmýÔ‰t©«³KáHD¶cȰ<òúª¨òmyrjÝ¨Ž°$+¨Úúà–OÛ µnêÙî©V]]•ÌŒÊ&:¿¤-íôú«c~wvíîPWW·"Q»ç Ýôʪ*Ð:Švµ©£+¤¨íÈ0LYþU}=Oð®Îc+ÜѦ®î¢Ž!ÓãW : §½IÉ[Ó¨ê¤]zÆÇˆ IDAT39¢û¼m}‰ï¥ÛºÒß3'Ü¡ŽŽNE¢ŽdX²üAUu5·)lT©¦¡Zží@ù‰„C ‡Cª Öhï=§kÖI35vì­X±R?ú¸Þzû]uv´ÉëõÉãõ¥­¯«³C¡pHË#Ç£Þ€7Þì!êÖ×f¨Ë/ûאַçâ^¢?÷¼ªkëÓË~¿OW]q©&OÚQŽãèß{ ÑÇ?¤W›üªâWçGÕï§ ¦ì ë¹fÙnër5zµ!+”ÏìYöVת*šýp@f Y¾ ‚¾`ú’ž€ªjªJQ—¯v˜¶ýóŽ™`{&eÝž¿§^Ë_­juê2ZÕ’ìuuSÞ`¼ñ·­n˜ü)Ë×ùû×Wè{fxƒª®ßö=R=$ö"’·ådz%¼Ý{Ïé:ëÌÓõË[nÕÂ… µë®»ê?ø®¤ûôÖÛﺮ/‰Hêémé6àµ#:üˆ/g<¢h¯c=FsŸ}V[;k&wÂñÇjò¤%õd!QÇéZ:êV(’iòxKïc;î°½&Nœ c>R’dÛ¶~rãMZ¿q³ê†J’ÖoÚ¬ŸÜx“nûí­2 C'0S>@Ÿ¾T‹?[R”vŸqúijlªuëÖé’ÿ¾\‡v¨Î<ãô\«u“ËÅîK7ìr²íÙ[rJ%äuàæZ¯›yxÓíë·ßÙò_¦Ú:»tñ%—êÆ_¯í·Ÿ(IZºl™.»âJu‡£ë^‰„eX–d²m÷sñž’$àí5ó¸cäÈÉ8èub–ÞGÏDí2Ù£Å,P{0°åÍjÊô8úðwÕñåµóPé³ÍŽ K² Ÿ¼VGÏO§×/ÓqdŽd8rÜÖµÞéצþmŒÝ³õ-âlyG¤z/ôÖ•Íû·f4S7ßò+}ôÉbùª‚Zøñ'ºå–_ëÌ3ÿSóß~Çu=¶cK2Òþý;^ÏßÃm9¶­]§LÉ:ä:uŠä8²{ÿÖŸÂAîß·ìóùzz0¯\)IjjnÕÓsŸ•DzÔÜÖº%´.7þøš~ë«V­ÖÚ dYž¾ûnZ–ÖnØ •+WjìØ±3f´¾sNÏ\¸'ŸöŸÜâsç>£î®.ýÏw©­£K<þW™¦‘ñ{e 7¡mªàÖÍœ¼™*ù ¸xƒug/Ûá íKÕ¸ ½x¥žùYƒ5uýj4MS5µõ?Ýç÷ËPÏ ™œçäY'¦-sÂqÇæÐ²Ä _•ª}¶Ú:ºân¾!³³MíªVMТŸéµ×›µóWŽ×¾#2äQÃ.GëèÝ;ôÚ¼E eRWÊeÿÈöb¤rÏ]wèž»îè[3z;-[¾R¯W2 y½^-Y¾\ã¶ õ›è˜Dú#‹‘,·üIÜ¶í¾‘E3ýª $J'áÆõ[?ã?¾Ñ×fÓ4ÔÑե涶’ x“±¬mûhZ–g˼Èëk'mí8jÔH]ñß?Ò!¤×ÞxS7üô&µuvÉ´,ªª2š7·½y•`_.JËn¸ÖRéÉ› 7óóÆ/§Zwäæ%ðÖØ¨«.ÿom·Ý(-Yò¹LËÔ„ñãuí•—ëºnÒ†s©>)Ç+¯ß¯ÎÎNy<^™–å*|œqÔW]Õ_?tXúBpº[ÔÚmj»º:Zßï#VmªÕ¦–VGrBz÷ÞõÀœëõ_?=H]‘¨:7|ªyÿsµþøf‡ä5Ý×%#ÉG/ Uå÷¨h'Í:E’T7¤ghßåËWhÊ”õÞ ûÊLÝe-]¶,é1‰¦%ÙQ9Ž“U(Ã0õúëoè°ÃÍü`Iï/XàºóÕºõë5z»íúÖ§ï±»~ôƒïé®{îÕ¦M›ÓÎé[L\ô]Mž4I³N:IãÆõôÒ0~œ–.[Þ¯ÜÄ ã5ztÏ5.[¾\>ú˜>ùôÓ‚·ïë_;IŽãhÞ+¯êš+zæàíîîÒKó^‘××ò›@0ý´BI¸Íßz÷'r9Õz¢e7C7—´|Gþ¥ù’y’ÿfÊäø´.{éö_ߢ[o¾I‡}ñÌÚ?€V­Ý ç^|Y?ò¨¤ž῾{¡&Œ×Wfâ„ñúÁw/ìË~øQ=÷âËZµvÀ´ñÔ“gé§?¹NCµvíZÝñÿîÌ÷)ÒuÐt3ÕjªõR‘×v tO^7OÔ 7›‹Î¤¯Ûúò2|ó/~ñK}ÿ{éç7ߢpÔ‘a8ºôŠ+õÃ|_¿ºõ7ÙVëŠaª©­WÓ¦òùýòx¼iÿq~øÿuU÷×¾‘Å„ÚFµFOž¬]:c7ÚjY¹X«ÚÚ5ïGtÔ 'ëâoEô¿si]¤V;t¢Î8ÔÑ ¿ø§–:’)CÕÛÓps“Fíºöì²å8Q…Z7jí†v…%Inë²õÙÛï©ýð/ëÄ}ßÑ^_§·QSí2ëÜnåïÖ’ÇoÒ|®h‚kµ,KkV¯Ô¨íÆdü?3Ò™:exÀ~ºû÷)©«£C¶•iZª åñútö·þS¯þßëZ¸èôõ™¦©öö6EÂy,K–Çã*píí‰F„täŒ#týu׺î l†æ\yµþõô\kêeš†«á–Ã]š5ëþå/iذaZ³f­æÎ}FOþýïòøªJz¤Í ãÇég7^ß—¥cÛ¶.¹ü*-]º,}á=ôÀ}ýÖ{âIÝÿàCy©Ûãñꕟy[Òy’"’lIј/'Áº³¥œ`Y1˽뉖c×}O·-Ùz²m™ìw­ÜBÞdûÜ.›1Û’…¼¦¶†¹±ßc—=’nË6ä-¶m«­µE^¯WÁêš”!oófws×į N¨U­í¡„ïfoõP}=/•íVwg§Â‘¨ÇáñÉÊïíyÉê÷ý¶n<«NOÝøK=òþzuÙ’ ¯j¶ÛKߺæ òñ/tÞÝ I[WßÝQ¤«C]Ý!ÙŽ$Ôå­RÀ ©½ÛRu]PVo¹Î6uv‡e;†¬@jªwŽ'äŠišºùg?Ñïn»CŸ~¶4i¹I;LÐ矫‹/¹ÂÕߪMËRKÓf9޲zm…BÝ’cë{ß»H§zjÚ ×0 =öøºáÆ›¨ª‘Çë‘iš®ÚîÎ…Bݲ£Q™–%Ÿß/Ÿ?˜ÕœÂÉçõè²K.ÖÔ©StÿjíÚµ:åä“5nÜXIÒŠ+õ—¿<¤#Gè´oœª… éÆŸÝ¬P8Rð¶Å‡¼’ôø_ÿ¦?=ð—œëŽ yÏWOÈUÿ ×Nð=YÈ«˜õt!o¢eÅ-—|È;ÐÃ5çKº¡–…ÁÉŽ/ñí°,KUUAµ··ÊëóÉçó'ý=ÓðÖ-ÃW«:c<–_¿<àÑ.ûï«Úw¥'?‹ÈWߨži¾9íKõñꈾl™[_ð”uõ2å Ô¨f›B~ÕùãÊUÕ©¶*ý5P(¶mköwΗ?”ÇëíÛ~ÏÝwè̳Ïí[ÿð£O5û;竺¶ÞU½Ží¨¶®Am­-Š:9aG†iÊÜò•š!ǧp¸[·Þú[-^¼DW͹\¶½í¿†a¨³³S?¹ñ&=ýô\ù|y¼îåXþª üUÁŒŽ)¡PXW]s½F oÔªÕke˜¦<¯¾÷Ý %I?ò˜^œ÷Šì¨­—_ž§uë7Êòx5éõŒ#¿ºÍ6 ¨@°è÷9> ŒOÝ µœlÈç²P®!o¦Òõ Ž{ÿ—ùxK…ã8ò …ºÕÞÖ*ßP|â4,ca-ýt©Œ™GkÖÞMzþãuj³½ªi«©¯oN_¯¹×/P¸l®€Ì% nãþ6îñzåñº x{·eZ–êêÔÞÞªp($C¶lÛèKÆ’Û3l³m;ŠÚýõÉ'õÏþS3fÌÐÑG©‰'Ê´há"=ùäßôò+¯(µåTËãõö Ñ\ÊÃ,çaÈòxµnãæ¾zÙŠ•}»—­X!¯¯§gÚº›,à•¤ú¡Ãâ4™är½ë©ܲ m3UÃ5g2o²åD_¹×ü»žášCi.¹t†!ÇqÔÒ´Y¾@@Á`u_o^§Œ†¶Ã>írÜê´¯ì©GÕÉo„ÕÑ´NË>œ¯¹=¬g—ÛòyŠû?Ëãa¸f@’âÚ#üº^_÷{±Ðè½×±‡ï£ÉC{{Øj[þžžêŸzqI[¿'tï¨}õÍóÏÒÍ÷霛_UWï³V;}éÍš±·v¬³dGZ´ø¥‡t×#ïhcÔPí¿§_Ÿ5MÞ~ç¶äuÞÔ-ßþþ/ÁŒ<æÐéúú9_×a;ÖÊ 5ëÃÿIw>¾PÍIþdiù”×ä eó&Õ šs=†aÊãõ)«»«SápHŽc§ý{·ã8’ãÈvlE‘žªVÜðˆ!Ó0ez<òzý²¶ì4o‘HDí-Í’¤êºzy<•×oÓãñõ×|r®ÙIñ¥4ˉ¾Ç—‹ß—h=Ù¶Lö»VjïˆtÃ,çz|>þ5¨˜QÇ‘išª ÕÙÙ)ŸÏ'ÇÛ3TB±—ÃÛ¥ߪþ%¬¨mK2d¦LW^@>Y2×3˜ÿ‡HAM?þ4}áÍ7û‡¼f£8û»:!ø¶þþ÷?èo»{&T2¼ª»»¾rö¥šöä/uÛk›äÈÔˆýN×÷¿>VK–¬—Sëïÿæ¡I#[ôÒ}·èMa©f’fÎþŽf¯»L?}¾Iíóÿ¨+?‹=ÆPãÁçèü>Ö’h‚&Ãõ•óÎÑ+þ¨›X¦ÎÀ8q湺 éÝøÜ¦mŸ52-Ÿîz€ä#à•zzô†C]2-KÁš™¦%¹ a§'%ÛÒ«7‰( +jG{:›’á2 É4Œ¾:{À+IGõC 3f‰ÊW†—ͰÍnë,©Â¥ò¦âfþ]7ûõòß_±Ã4Çë¶¹J¡PH]ª®É|Œûâ3å TË“z¢Ý¢2M³òÞ<¨lÖ}ýúSÕ~ß¿ÕøµSõ¥š{ãz`ÝÎ:þ?OÑ» •׈ªeñ<=xïcš¿¡'!5ë§&Þ¿1¨é§\¨3öªWõäëôóãÃúä±_èÎ×Ú5jÆ·5Ëó¬îøÓBYÓOÐìoN?jËp4ÿ¾_ê{Íž=K{¾{§ÞêrÔÕö©žºë_úl™úâžqíî^®ÿ¾V‘övuEÉjÑü%'ë´ ÃeªIÑö ZÑSÞ?UGÔüû^ÓúŒáûê‹–è¹»ÞÖ§k»e›õÔ ‡è†Ãö×ðçÿ¡uNnå¥4×”;•MôéÈÔzçàuG†$Ë0$ËêÛß›KÄÇ “IF—hÔßL†mN7OoÉ+§·Wü‹–l¿›:b×3qãûh—#Çqd†‚5µÚ¸~üUUòx¼e]¥Æ0 92*â=€ÁÂ#¿{~ÆAú×cwèªÕmjY?\Gþè|¸âýúÆ%jssð©šýÃtÓ•hqt¤Žün²ýiѿы»ÿH;¼t›~ÿNXÝ-í²=“uÔá¶^úÍZ>ôÝtDX¾ãwZÒé×~g_¬‰¾NmXøªÞX{™öœhiþ‡Qµ~:_oDCòŽíii¿ß³Z›c§ÕiÔÄñ†–ým"Û\£¡á_œ©ý6¼¤ЪDª²ÆŒ×ˆ¦•Z¼¡»g¿Ý­õ‹W¨iÖögIk#¹•—œÔ×T‚¸Ð6iˆ»e;¿Y¼ÎÉ]7ÁlºP·lÂÝ^Åyâ£ù¢w—­Q‡3RÞª°º»)Ú¡Ž°äõõ<ŸØ¡.uÉè?¯nÂöµËÉgéàMÿÔ­ó[·ÝïÛY3®wÿü²–w'~–7«ò…;ÕÓË×îèTØW¥j3÷ò]Pæè¡‹ •½ Dh[Ô`x CÞbþäæzîŠ u±m[^¯OµuõZ·fU±›Sa ùü~54 I; =PRœ­[±J-Ý=¿ÇšÃTßµY«z{©ÊV¨e•ÖµVkR£G†™z"F°Zþîj‰:²[ÚT5u„‚†ÞnMi©©Ê#sÈtí?z…æ/Ë`X8£VÓNù¾3éÝ÷‡ë³öøßÅ ;d¦l§Ÿ¾Ý”°¯$9¡n…<>ùbÝ ¯WÞpHáò™–ô“L®˜áë€;Ÿ!o)…¸©æâM¶¿w{fóðVÐCºµU*8ººØM©8Žãȶm9v½aPÙ¶üêjGì­Ï=--j­š¨¯¤¾‘kÕPÛ©–ÖhúýŽäôŽEÜ[s³Zë5Ìp´øõ¿ê‰É'ê¿®Ú_>Öó¿ÿ—vŸñ#]wd“>ñ¸Þhvú?ƒ9qß{YCµï™ß×iC^×ïï~A Vw(_Æ7YÇ;F »[K:“ÿž]µJë&h´Wú¼«g›ô Ù´R«£Ûž;Óòý$»|’evéæÑu37oE„ÀÅ®9L‚ãLçâͦëwÅ Õ/šÅ„é*XÌ£gtÕ|ýß²ÃtôÌ©zëÏ Õl4qÆqÚ7üŽîø$ªhwêýR—Ú;¥ácGË«¥ Kr6} ÷Ú.Б{üU¿{{±þýç»õ†ÏéRKkDï:_^#ªÎæÍêp30Žw;vî…újäYÝyïkúdC{‚´††~áÚýª~ñÆÆþsõš#tðœ Ñï< ‡ßk•½ö-½¶âpsÌŽz÷ÑÅêNÒq_ÝYkç?©•ÑÜË“ç@Ö™]ï÷To¢ãÜ>Š•ô<½¥òæ"Uo]·eÓ”‰ùø9T”Øn¥[–ÃËô¯{æÉºþWõòRת÷ôØÝÕí¶ä¤Ûߦ·æ¾ CN¿D·Ьݬ[Ÿ_¡gyE}ë‡šÝøg=1ï#­Ù• ŸÆMÕž#7èù7Ö&N9þ¹Ì·ÏÉš}Ð8yœ3tÍ!gl-Õ>O?;ÿÿi~X’w’Ž=n¼>úǽú$>96†h§½öÔäæ¿é‘÷ZäDVêÙ?=¤!'Ÿ­›o«‘åtjÅÛèÞ-UHNîåÓ\T®„Ï>n3»t½uÓm/{ùžÀ8ÓýɆP6\l3Ò,'Z7ã–͸í½Û¬˜ï±_±Û~{àŸ ÷AÄ«úQÃdm^£MÝ1ÏÖ_u õªö[=OÊáN5onVGïxÈiö›þ: Z#¯lu·¬×†ö¨ oFLœ¢}÷ßGÓw£Ÿ)Ó’º6­ÐÇ/?©û^Z®DxÍêa]Õ¡•:¶~l;ب±Ám@ív­_µIŽzäQÃd5­ÑÆÎø×¯†Qò·­ÓÚÖ-}|­€ê‡4¨ÆgJ²êhÖæ¦ÎžÀù(Ÿâz Ry¼>½úâ³ïHºPRtË—³¿ÍÞòåÄ}ï]vâ–ã?½œàÓÌÛ,Ç~O·-~9Õ¶Lö»R.!o¢a–ã÷» z݆¼õ|ãC^¤ßò@žX>U×Ô(ðÊ2 ’ìhHÝí-jꈤ=P^bBÞ‹$E”8äí q#Ê<ä•ܾŠÛ¿]IöÅ/§Ú–É~WÊm¸æBÎ…ëf¼ïŠžŠ&R{ó&µ7»!€"p›Ñrøå²ÚÙ,v@ü"›–`(¼|dyŸíUbÈ›nXèÞõø/¥-]Îç&+,{•ò&“í‹Wq/:PÂÈõÒ(·9yɤ'n&/l²zûm/›¹€Òã*“sY›è®·Î²ŽùŠò2IÏ¥n÷o$GeþòE°mÆ–¯°7Ññ…Jô YwJ•Г7Ÿ’½A’¼¡Hy€Ì9Rfóçš¡˜Ý äí‘ê¼a€Cn—†YìÜ+åž¼é’ø\÷碯n¯×WÀӭЙ^ª¹WsÝ_4¥òfj ºg÷gãú5tJ b dÎW’¡m¦*)äMÄÍ"U™ø}ýÖ‡™qƒ ¬]½J#·]ìfµ…±+)s¹ûÒ…µè&2ØæäÍôÍ 8²î¬YéCÈ›è6lOuLü¶Aõ& $]—.ÓK”ûU|–W!ï@¿(™¾yäG1²º² ‰*äÍäF⦕ü  gÅÎ$—,‡ž¼½ÜÜ\çØ¥/P\Ùfv…È KR9…¼0èònE/^ 4Ý¥@È e¤TBÞb§îÅ>?€ôŠëûü’$O±08Ž­ŽŽE#‘b7Àóx¼ TUÉ4Kå35™³m[íŠDÂÅn òÈ0Ê÷= å¬~7ÅWî!¯¡ÜÓòLŽÏê\ TU[7$›Ã”)ÛqÔÙ֬Ύv«kŠÝœ¬uv´Ë4 ƒå{ 诣£M£ÆL(v3gkV.åu­@¼®•¥R~7 @2Íìœ<œ+—:ŠªÜCÞ²‰DT¨RG[s±›`€ùüµ¶”÷Ï~$Q0X-Ó²ŠÝäJ’:Ú[$§lA<£çwR^× ÃëZ‘*áwP|Œ6@ÂáP±› *ãgŸ`€|©Œß @±UbÈ[¨ÉŽ$˲3\Åe{•ò@Å"ä€2â)v•£­µEŽãn_Ã0TS[W࡚Ǟ,oÝhIRäÕkS–5 CµuõÑ,˜séŪªªÊè˜îîn]wÃÏ Ô"d‚7ápHŸ|¸ÀUÙÉ»ìZàÖ `‚ÃuÝŽ—$Íœ43eѧì6-Bêêêôãk¯”eZ)ËEí¨®¸ê:µ¶¶PËPHG‡z¨,+õëkîܹl2AÈ›\ÅMÀ  ¼Œ9RÿñÍSuàûiHCƒ675éÕW_Óïÿ³Ö¬][ìæ%ä8ŽÚÚÚFS–³,Ëu_”ÇvôÂR[;¥Ã†·%-gY–ñ:—ºª*¿†ktõs[¬"ä­¶mËq×ÿ¯ül…šþ½\çx²î|õaEùÙƒ¼. B^wxPûí¿c+' IDAT»·®»zŽ>úøýæ··iÅò7~¬N\GŽã( ɲ,­^½Z£FÒþûï¯ûo½WÌIú÷à|—íFÒuWÏÑÿt¿~{ÛòªdY–Þ_¸H=þW]tÁùºîê9:óœsµvíºb7w¶më¬?OOYæžo¼—a­~íþí›tóLGÏÜùsÝ1µÂÕÃ4n§½uðxS][?£áHýôדõàY¿ÕÛóÜÍq¤HÔV4êȶm…B!y<ž¾Ð4MuwwËçóeÑcÛÐðƒ/Òϯ8JÖ=«ïº^o,Þ¨hõMœv ®íÐæý¿Âh˜¡n™¤?û6½S ×p Α©O>]¬iÓ¦Iê™CÙ0þ?{÷Eµÿqü=3۲酄¦xUz»âµwDÁ‚(¨ˆýнwE±`/\õ罊ˆŠ€pQTz‘¢"5½—-óû#!$!eC!ðy=Ï<ÙÝ93g2»ß9»ó9§üwè²w{®ß°‘ظ¸×iûа}Kxuèsük`yã9¢ûù\?è>^9ÒǦ³#¤†¿(€í/¢6o{åû9@ê†%,±7‘¡›P ƒ¥IÞAƒUYnûöí <˜gžy†é+çr‚·…ún¸8êÒy~DW ~ù‚Ÿ{ƒÕ;òpÆýƒç^ÅõÏŽ£çpÿ§kÈÕ{""""""""R+JòŠˆ`ú_}%«×¬áÍ·ß#&6¾Ü¼°0/ãßz‡c{Ã5ý®äÅ—_m ­¬JqÒ೺°dÅŸtïÜ  ôñ”™ËKÊØDÇÄ“™‘Zójm9óÌüýñu<0áON ÃÞÀo fóUÀAx” ƒØN¢«s+ÿÞ‡ÿaå²îý϶)½“7 ât:),,$!!fÍš•– ƒÔ¶GW£ÙEÜwÏùDÌyŒ+ïÊN‡—Ã{#+üÀ¶‡ÈHf=ÿO`sÜ tÙ§ïáþ¨£f¦irøá‡ašÅ{1%*²4nkJòZŽZ|u´óHÙ‘Ì–lì­lZ½i1|ûàùœÞ|ŸmÙWW®UµŸmþžò4·ù‰ß²öÿío¶mð ø‹“¼G}té¼]ÉÂ]åj—åuÐá’ËènÏæÁç~ ;2–ˆ²ùFwaåÊDw¸ˆA×õ¢gÇD[yì\·€o'|Àÿ-LÆ_²Î.7¿ËSQqß²v\×çd:6ÄQš¹_ðúø)¬É çÄ‘/òpïÉ0 Þ˜^òþûV½·¡xÿw¼„›n¼„SÛ'V”ÂÚ¹“xcüW¬Ì²ë©Žý§E‹¼òâó¥Ï—-_QšÈÝ•àÝõ·lì“¿¡0NœNpâtylùœM\Œ [‚Pã¾Ý“~4ç]s%ß–VM㉰3ùcé÷¼;nó’êÙÏÐå_“+ôŽROŸ¡\0o}>C‡ô¦g‡Ãˆ± ÈLþ›Õ¿Läõñ?òwƒ÷ÆR^Ù;y¯»îº=æ'''Ó§OzôèÁºuëHHHàé§Ÿ&-#‡ØøøJÖX‘‹n_À‘éß0âƒ?°b¢q–™çòؤ~=Ž/ÿ½Oäýe³È²œöàç<ñ:}î›Vî˜yÔu¯òæéó9øýÒcrÍqùyÆqÝÄ8ßz gwˆ'õ‹ç˜Òù®Ùñ<ýžú‰œ23GÛA|ðÊY,¹cîýÎÙ”äm`Õž¨ÜYÕ)ßPNˆÄtìÅ×]Ä)šm䓺m=_½ø¯* ±^'-zàægqL«(쌿X4í¾£bÿ’õ]NäÀÒ¹SGŽíqLµe–,]ÆÒeµí‚¸r±±±¤¥gT[&%-ØØ˜z©¯>Ù'ƒZ9OãÞ‹^`Òâ \zÌ€ÒÇÏ~{7;“Ó9¹çY¡§ÿük˜5k'W\~ 7­÷~ÞJAÙ…íL~zî*®úã-&ö_Ű‹_`¡ w‘aE6zñГ-Èž4Ž;Çn#+}AÀﳋ»–­X¥/€ØÝElX§A¼4æR³Þâ©‘óÙ\Å‘›“þG Ë«©;ÔõW·îv3úrÌïÆpÛ£¿’Ùkï»—1OšÜtÇüÑ]ÝJºk¶m›åË—ãp8Ê%8⢢¢¨UoÍfsºwkJÑü7™ïê!§èé01/\Bà»q<0z>[ñt¾hw=ù-¿ççe`cã/ qÚ-<à}Goîͼ¿r ?úbzힸi;_\ÀOÏõ£ß¦7ù¢ÿ*†÷Í"¿á‰!*Ì»í5<ÿ|_¬©/rÇcóIŽêÊ5÷Üà ™ ÿ×Dþ Ô½ŽýÉï/nww%äw%ûöE’·<ƒˆ–-‰·w°e{ñ6Ô¼o÷\‹ís›ÊÿÆ?̼U[)HìÉ­OÞÅC·måÚ§V³ŸÝ{tý\Ÿ¡Eä{Žaø“Ãh?ç9þõÔB¶#iѺ;Ç7ÙJÊ–à…â÷=`~ø!@€„„RRRˆˆˆ`ôèÑœrÊ)¬_¿ž&Mš°bÅ ú÷ïϤo¦âp8k®À:ŒN¢É]ø+k-W%wN8<É,š¿ƒ¡çw µ5‹E~»ô˜Yq—ŠüØ¢Òo¡Å¥MD»‹yàñædOz•»Æn';c é«eÀ¨395fSÓw¤´?ãTšmÂà  ÎŸw‘}KIÞfû½$%æðó'/ñÚ†ÅÇ wå¡Û·ríÓI­ä主í5¼ðüå8f½Å£¯.'=¼—ŽÁèÇM†ÝU|B4¬ãõŒ})®¹Ÿ0îáål/ ç°¶MHÞê ±^ƒÈãG0æÁž¤O~ƒQϬ%ÓÕœã.»ž;OhŠ‘¶kk껜ÈÇï÷Ñ¡}[N8þ¸Jç/\´˜ù Ô[}©©i4kÚ”eË«²LófÍØºm[½ÕYol»4Yôå¢JÿîzlùÂùeÁoœwæ)LŸõsˆ+ö³äÕ[xÈý4÷>ùÿµˆS¿cò”ŸÙLa‘x,°pEÇé§ÜIzG»Ö¤Ýy÷Ï-Âí´0,'N+„D€ÇY×öæð•ãèýÀDRÝnL#Ȧu˰<^œ5ÔªJ·ÑÇ™úräºñô}ú;vº];fñÂÃ-èþé\Ñýk^XXTëºê¶müâ) bY¶mãp8ðù|ø|>,Ë*þ,ÔæN^3žÄDHžŸB ¦ÝgÄsÖ€Ë8lùXz?ó-Y7&éÌ|ã_¤Gýãn¼„‰¿–ëÝ^Æ»Oü+òÉOŠÀNÿ‰÷&®çܾÝ8Ò±ˆ•Þ(€m⎉#j×{hÄrƵ}8rÝ›\þÌ4’=.Ìäóh º|9—wû†1‹u«c?KKM#33³4É›““³G’·¢º&y GÍ;ÍÐ!'“5å¦'V-ömY…‹yë¾yN‡…‘ñ-¯|r>§nÇ‘ÖtRCÝÏõüZ‘D³¨ ?‡5©A,rY5ï+–x½.´”á®÷ß¶mXúzzz:—]v'Ÿ|26l I“&,_¾œW^y…Õ«WC0ÄŒµE\<¤$gRõ?o±3…`d±rBÜøZÄ¥£ýѤÝu5Ìõáv™˜– kÞdf>ÁyÿLdÚ¤ÅG)WGÎ<­ ¿9ƒ ‡|wÞ"""""""ràS’·¡.çÃ'ËÜý÷×dÞœt§\݉£­é¤V¼ÉÕˆåŒ}9rÓ' zi þæ•ÑÍèüúå\ÑíF/Žà̽9|݇\ÿôDv y·ºl¾¨¦zM8§ßYÄ­x‹Û^ŸÉ»¸ž?G§óæ+\Sº=õ\Nä´|ùo¼þúx?'ŸtR¹yóç/à7ßfõÚu¸\îz©oöO?qÑ…ç3íû™¥wÑ•e_x>sæÌ«—úê×î$o¯®ý™¼ôc.éVá“—~Ì)‡÷"yý4N9»é)µX¯ËJcúýùþã¹øŠË¹êª¸lÀ_LyåIÆLÛLFi"¡x\Ñ [¶s_,6ˆ Ûsõ5q¶¦K''«ßšOvd»ÞigiޏúºCUé6:ÚЭ‹‹õïÿJZ¸·¤»SŽ”µ¬ÌަC›f˜ ÿÜã®·}ɶÁ_r'o0¤°°¯×[zg eYüý÷ßuÔQµ_1€abBõÿ“óhºtt°züò#ÃqàÀá ²ò§ùäöêD—Dƒõ%×B·­ac‘—UR…# ^6x½%]@»óPeßCGkºvv±þƒ¤GxwדºŽUÙÑ´oÝsÑ–ºÕ±Ÿ¥¦§_z|‰(£·2†aàóùªIÖUÂy2NšÂƒÅ+À(Ú¬ñ·3ðÓÕz=˜µØ·å7ÆMxLÙã­ƒüŒTl—³ä‹mˆû¹ž?CöÎÙLü±>õ*QŸΗÓfMª³d½ž²còN˜0„„,ËÂôϦÿ•íøfêFY±bcÇŽ%11‘M›6át…øÙ6¶ f5Ó,. Ôâ‚Z|vì3™¸Ø$*¢ÌqÕ¿ŒÉSÓxõœÓi5ù3þ‚§ë?9-v5ÎØŠiX¡o‹ˆˆˆˆˆˆˆHQ’÷€c“š’†írá®ìŒ˜£ Çtrñûg?ów™›[®fmn?Úµo†¹¢Ý:8ÙðïŸÙòYÿ õºŽ¦c‹ .bgÙsnþ?X²"ƒ«;—<¯ïr" §Ëź ¿óæ›ï”&z÷E‚àÃþÍþïc†¾·Þy¿\¢×0 † ½‘Î;ñô³ÏW³–†aÛ”&yŸ›2 €Õ[—àðG’¼q*=OìQÒÕo-Ó’†OTvæJ&¿º€ÿ¼ÚŒsï}™çþu[Öä£MÕ'‚i™äZf톈ÝUµ;œHwÌìÂ}z7^eÛhx‰ò8h?üCfÞTn«pºL¶zÝ5'DëYñ˜¼ÅãòƒA:uêTi¹`0H­úk¶ÓHN…øfI¸ÙPmgþ†ÛK¤+HvnQ…÷ÄÄQM‘Dzw'-íüŠ*ì(Ã(IÎW³‰†»dÿ{CËÍÁá²J÷]êØß*&°âãX¸hñ•†ÁMÃo.“ü5ˆOH½"ÿb^¹þIf怳í@^~ê$²þÚJa˜“ÚíÛ²œI=èsÕÅôìr$Íc‹ËÎpœÌ }ÛØŸ!3“™ôç÷sûsCÿ¡Œ»~$›þ†ÞùŒÙxã»–“÷škŠ/ÆñmÁ2¢(*H#/÷#>ùïrÆŒC‹-hÒ¤ ^¯Ó²Cø@ÛiìLø¤œü^ŸÓñI YH®±C‚ÝïRm>;ÁôLrŽý¬úöþê{.ç´þ‚·×:éqúÉD,Ϭ ”ã‘F@IÞVÕ‰Js+-ox¢‰öX´¾îU¦^[n—ÉŽ/–;Š(wÌŒì*Ï)×T¯áŠ Ò$+³â:lr²sK_«ïr"ª²‰^‡U|èÜ ^€Œ¬n»ýNÆŽ}‘®]:3uÚ÷lÛ¾fÍšqÁ¹çбc{ž~òqnÿ×=¤×0~ïþdSœ8¸ëܧ˽žš–Åâåë9î˜NX†Éìy‹èئå^Õa8Ü„E¸ ³s˜ûú~í}?ÛEblʪaA³’d[åǯ7¬4¥`äã3i…I~­ª¡¬¿ºm´ó³É*ô³ìý¹÷Ûôò붃ü½ÙÜ®rëj\ÒÀ.½“·ú1ykQOp3Ë–g0茓è9—ÙÙU/gçgQhÒ26ƒ¼r5XQ1D‘EzfqWÞÅ Œ=¶£xÛöìRz÷s» ³xÿ0˜û§¤—+iÛ6A¿iFhïê¨_¡ìïòó“’’H¨$yk±±q¸=»ïÜ´,gëßUMéY¤æØ0gÛ ª÷8~|`Ïÿ­üóòëÿ3d≠ò×ÿÞážo^#쨳¹ñÞQ<úbºq s«ù<×lïãµ*eïäýä“Oˆÿ/ôº¸?YùËh×:ŒÑ£GÓºukbcc1 ƒ@ ú¶7³|E:7žÒƒŽî_YTYžÛjIIä/]ÂúÀ®}I¥u„yÃJö¿]ë¸4 {M¶þžÎÄ•pv;>ÜÍ';˜÷Â2-[]5‹ˆˆˆˆˆˆH£ $ï~SÉ 1on{éqNÚô>Ï<:†e[²‹OTž÷o­l»0›œ¢«>»—gfeìqŠÍŸ‚¯(–\ŸIbd8•$zC¨×.Ê%×g’áÝcn»$1QÿåDdN—“u6òÆ›o°zíÚ’oý~v-Ëâ·Uké}i_n:˜×ô#66–mÛ·3{ö|øžöiZ·>š—F?ÇT¢×ƶírw¦¦e±dÅzºuî@0dÁ²ß%É‚:0xZ$gðGj>6ðûÁéÄòí¶6¹99Ð<вJ¯L‰£m»¤Ýé%ßZ–¬pç©Ç‘øÕ7l¯ä-¯¼î×_ÿj.)äö.pþ÷û cµ`˜Xfíï/®Mîue`ÉÝØ¶½{\^¿ßÏçÃét’ŸŸOdd$¶]››y,ýr"{ ⦡sYù⽟[úÿÀ°·WQ°ûÖ:¼ Ýã“™öÀç,Ëp™„“Ž[á`uéþ¯j?—{ŸöÁgLžH¢<‘“fücïsÌýèÐÜbΚ½»£tÝõüy){'o¿~ýø}œqÆ]8ÌBZymºœGBB.—«ô¸^<•%°§K¿ü’ dHÿXýþ*rË-æä°‹qù[øò¹_ɵ Ì]ÇÌfQDPö˜K›v‰X%ûÂö×1.ÌtfNú•7ŸÆ k"9!ðýRˆa›úF*"""""""‚’¼ûIe'ç­Žá˜øT~|æKlÞuâÏÁaÿhŽÅúÒRåNP­eñoE kӜܯ"­²³PÆz–¯ 0â¤ãHüâë=’!Õ[¸U‚ :¦ 1¿ß]™D‡öñ˜»¶§¾Ë鬚àN«Ö¬Àårï³Ï¬Ëí¦ ÈÏ3ÏæÑÇŸ,M¢¹ÜnÂ<^nrï¼5ž6mZóÊK£¹ã®{HIMÝ7SöîÄ@Zz6KV¬§S»6~.YC0(¹#,ôûaͤ3¹ù†£H]±Ž?w¤‘‘g}Xgοú*ŽÚð1Ï-, Ò6n$=æŸô¹øvÎK…@[Rªë4ÀÚ_}I/œ6Ÿ—ÜJ¡;‘n—ÞÂÕmìm»Ê¥3íÏé÷Ú`žºËàíoW’Œ éÈÖ¸×N⿪¨;/ÄõW'“o~DŸ·nåÅûãùpÊR6çšDÄ&ñvIìœö?'ï߃§mÛ%còKßï²ï»Ûí¦°°°äym¶Í€MŸrßèŒõo>ƒ‰ßýʪ-™ø¬š´hÅa ˜0cr™ùÖô}{OÜæçÉËØæ‹¦í™×2òB›ïîÈFjÓëªMÚïI9>ÿXü3Ùš’ÉŒ7'pÙ›·0úÞx&L]Ææƒð¸¦ü£m"ÉÓ'òsr]ëÈ?`“JF¹;´÷ž‰3gcÞº„ÿ»u8Wͺ“7Ô~ß¶lâ¢Ëéyy/æü{ )f’·Ö€é°æ—d÷º˜kz.`Üì­ºévÙHúu({̬¸´È7™ÿÝrCxÈŸù ýfíÆi@Jò6 ÀŽÍlöÅsü…gÒ!eqé‰ÊkNõVÝõ¦ÊŒ¾à’Ñ#xáîh>ªô¤V2Ó'L¡ï³ƒxòNxçÛßH¶#hzdkÜk¿bV(õÚ;˜öŸ¹ò‘Á<|CoN_O–+‰®âª#ƒ»O²Õw9‘F ¾»g®ŠeYDFEIôó‚Á CnÎ;o§uë£yê‰G¸iÄ­ûe»ªcÛÅ >·ÛMJj&+Vm¢}›6DÇDá0MÎ9ãd,ËIJ,Ö®]úzs¶²Óºˆ‹¯¿æqá¸("kÇï,žñÞžÎ_f8NüËÞã¡w›óÀ Ñ|<¢€uÿŰ7U»îü¹/rëØ;uÓk|sŸ…/{+g~ÀÝOe3~ЮR&þ•¯1hØny¼t3ÑŽBRÿ\¿ŸšTU÷ú×_‹à¦ ¸·^Ë­Ï ¢‰× 0c+«ý–wòCÞõƶ!Ák’à5‰ˆˆà”SN©®t­Öm8lt7—¯¾ˆ¯ïÍùƒOãú˜0ÌÂR·mbÑ.)ibüõ)ÃoHfØÈk¸ÿå‘Ä9òÙ¾ög>»õ>ZVD˜§vkú—½ÏÃï5çžçßà Xÿñ½ ÿh=þ?&pÓõÛ~Ë5Œ|ꆒý¿5ók¿ÿ«ª£Ž÷µ×Žä­·ßÃírV[¬°Èv=Žöl¹Iùê%>¼ä]®y ?ÜõÔrßÚßóÌý-xàö!¼òQÁ¬­,ÿþ]¾} ¼Û¾´\åûù÷ k«çÏPa&þfýöÈ4raç§ñçŠYŒ1žÙ9®¬à²wò®®¸Ë'u+ªØSCM*Æó•·õ¢iŒ§ ¾¿f1nÄ|²4Ÿ°ð݉åü¹/qÛØÛ¹{è8&ßkáËÙÁÊ™2ê©,Þ(=fZØõ—¦“§û¸¸_!¾[MÐ0•ã‘F£>ÏcT·®Êæ5<å¯âó]“YáqÙ©ìkVÉ´ë±£ÌcpcO<õŒ®ÕüÏ¥²23ˆŒŽ©ä6UÍ{â®Ï¡kËpì¬m¬˜õ)¯}ÇÝ/Å'}Ÿa¶ÏA—›ßgl—)Ü0üSþ ÿk­Ïå†ë/áŸ]Z‘à5)ÌÜÆºEÓyÿÕÿ°8Ó,º÷aèupbÛ¦DYE¤m^Îÿ=ûÿYo„P/€›ÃOÈÈgÑí°(Œœ-,ÿῼ¿þ8ž¿üonú!ëû¢œÈAÄ0ÈÎÌ *:¦ÞW ± ›×_}ŸßÏ­wÜò²;¶m%©YóÊff¤áõF`Z5';vnßF^n6‰IÍ9ýÌ‹0U/c``Z&sú¾æ‘—MÏO0ÄÆÀ08Ý^Âý8J“'AŠr2ÈÉ/"`8Â㈠wâËÞI†ÏK\\D%wåñåe‘“WH ˜&Nw^G™ybâ#K¯ˆ å’››G‘/@ÓráŽ%ÌQuÝ¡®¿úmÛ—Onn.…>?Á ¦…ÃFxdÎZ$‚yy9DÅÄíu÷ [¢.‚ð$Š~º§Ú²á$6mQËl‚EyäååSXä'hÛØ˜–—7Š(ïîädЗG^n.E~‚¶åtã Âë¶J‡ðe'“Qä%6>¢ÜÕmÁ¼TRs,¢›Äà2åd’WHÀ6p†ÇQ\—íË+ÞÿE~6†…Ãí%<2—Y?uÔIɱ¦òïåùý>r²³©9o‰ÃQûí³ ÒIÉ´‰l‡§ìçÓö‘›–BžE\\xq÷»µÚ·6‚l²sòðl0,œžH"¼²Ó|x›Äâ®r?;*}Ÿêí3d‘›•EA‘¯äÿ0±œÂ"" «M–{ B_këê+.Åí®ÝEK@€?›Xm"xOâ™HŽ»ý-ÆŒ`æ÷1fnJ…q΃ør³ÈÉ+À=JÍ IDAT¿ëXç 'ÜQHF®ELB»>‘{—»Y´¹~Àíße±ßn¶V’WDDDDDD¤”’¼{OÝ5‹ˆ4b¦iߤ¡7£”Û½;™ç hÀ-‘šU2X|ˆ"£öìB¼æºdÿØû÷Udõÿ¾&$&Õaéºl‹ÓdÉ‹73bã%ß6Q[Y™µ¿>·nb“b oÉ©×àœÂÉÜ2-sÿ¥xEDDDDDDDê…’¼ûNºŠˆÈÃV³tPÒûzp:øÞW—·ˆ_}ÄbÛÂæ­U·óubµä¢‡^à†6i«¦óøm¯±Ôï.éN]DDDDDDD¤ñP’WDDDDDö3 —7×þ®6°†7¯>™}`:=„GEãÑ/"i„tJc?9øîÀilœxãšRýhâ""""""""> >%""Õ2 õa)""R_LK?ÁDDDDDDD¤ît'¯ˆˆTËétá÷ûÔ`d,‡Þу‘Þ׃“Þ׃‰MaAN§³¡7DDDDDDDD91ÚO ÓÀ¨¿f‘CÍÁp·Nxd¹ÙÙäççbÛ:Ž,2ÓRzdÐûzpÒûzpq8„‡G¨M‘:Q’w?p:ø ‹p‡yu{*rè88îÖ±ƒA"cb0M ÃQCo‚ˆÈ!ÈÀ¶m‚Coˆˆˆˆˆˆˆˆ4rJòîaááäçæ‘™–ÖЛ""ûÙÁp·ŽmÛø‹”9P(É»_„GFb&Ðx="R[º[GDDDDDDDDDDD꟒¼ûƒm €@Co‰ˆˆˆˆˆˆˆˆˆˆˆˆˆ4rfCo€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆ„NI^‘FDI^‘FDI^‘FDI^‘FÄÑÐ "" #ð7ô&ˆˆˆˆˆˆˆˆˆˆˆÈ^P’WDä×Л "ˆäí[hÒ´ECo†ˆ„H1+Ò¸(fEŬH㢘‘C™’¼""‡¨ÜœL°í†Þ ih†è˜ Òh(fEŬH㢘i\³"_IËÞQ’·ÔÕ©ˆ4f†PÒ/Ó:&ˆ4ŠY‘ÆE1+Ò¸(fEŬHã§ø­%yëÀ0̆Þ9Ä(K)"""""""""""""ÒˆèN^‘C–ºÂØ},Ð1A¤qPÌŠ4.ŠY‘ÆE1+Ò¸(fE?Åo](É+"r¨Rû)" ßÄ"bV¤qQÌŠ4.ŠY‘ÆE1+Òø)~ëDI^‘C”ÚO)KÇ‘ÆE1+Ò¸(fEŬH㢘‘C•ÆäiDt'¯ˆÈ!K×9Ѝ+‘ÆF1+Ò¸(fEŬH㢘iü¿u¡$¯ˆÈ¡ªÒöÓä_ç£Á­+i |Ì}ú îžê§ÛMcyîÊ–dý0†áOýä`¨•†qîSy¬§ ÿÚwpÓ'üQŲVÛ™0¾?ÿ0 ™ùpoüÑj%"RUþ&vrú#“xú,O5_·}üò\?îü6{_mŸˆ”Wíy¬òíx0ýG½þ ¾Oß¡æáWó΃iÏZÞ¸~$ýr#^¢²¶<ôö]äjÌú~åÉËàÛ¬âxuч_Á±QñËX†Þÿ ›ýûk£EaµhgÁ&è/"73™?×,å§ï&1qÎ&röª tsäyC¹µO:µŒÁÈ#mó^»o ßï¬ïoÚj·å R«˜-ËÏ¢—®åÖ/“ÑÇ_¤)Ç['JòŠˆ¢ªj?…U=²ñù‚F-þÑ’§ï‘-ˆ5 %äZmü¾’¨þ"Õl‡á/$PZ¯­ö^dÛ3ÆlüE5P²ñŸ" ”vÜŒíÉÐëº3oìbòv-(¢¸„¢ÀÞüž®¬-½}9TÕ³¶_°¸œÙ›B(ðÿù9wúâÅÚ_+"!þ^60n"ã[Òé”–t:ùù jWŸÙ¢£îîMW—È'+Ï"*¸™u;÷Åoá*Úm#†óŸžÀCǯaôU£ø2E—qJã±7ç¸ü¾@q»r%Š9ð(É+"rȪìkl™× ¿ç¶ãoå›üÝóÜÑM‰ ËfÒýø£kSrV/cCÀ…s¯ë¬æ«´M™;kõµ[Dj¥ªKŸýüðÀIt W¼ÁŒ‡OÄå_É‹}ðΦâëaqDxÌýºÅ"‡¶ênWØõš´Á0iqÑú}s+ïm¨x‚Ë`ïÚ×ÊÚòZ´ï"‡œPb¶Ìs³)çº+ŽtAî2ÆÝõ2‹ƒá¸ÕÔŠì'!ÆlÑlF2Œ/rÜÄÖ †Œâž¾íiÞsOÝ´™A//!·µZÍZÐÒa@0…/o¾{få`¸¢‰‰ ß'o+o·ø“9ç˜0 ÛGQ@m¹4µŒÙL»tž+*‰Xoè—P)FDöÅS](É+""U°ð&¶ ©°âëa\ôøÇÆùÍAƒ'Iã·+fË€Åá—?Ç;·t#ÂÎæçÑøû›ÎxèMž8;£`5o¸‹¯¼½«‰‘EœñÔƳ׷Ám€mHêx·•K¾U¡¬ˆÔ¿jÇ020Œ²K˜†Yò‚ý?û…ë=o“9½Ó[,]ê°8ºÿS¼Ì⯠³3¼5-ZŸÆ§Œ¸“ ¿û½<®ˆìªÙ]¯˜å|ðZ,§>zÑ=®aè?g󨙕·óF°$6_!ÁÒ×¥m¾í+*~½²úB¹¹WäPRÌ?ˆ:n0^מpŠØðñ}<<«€0U:¿ævqm-Úd©H¥BŽÙ’džétæôñÓ·¿ß󼞎tëèæ«Ù…!Äí$Õš¨@A; ‹"Òþü>6¥ú° °‹"èxÆÉ´wìä¯ß×PàiÎÑGtç’‘í9Ê5’aŸüA Nm¹E‹®Çq¸§äy0—í7“°)ü3 [‡ 9Õ:fËÎ ðûÇðâqxð¤(N<”³~yŠ_Û bä™ñ˜vK^{˜·×è~Cu1R<̆—.—=À˜ŽÇq´ÇÿR3ŠÇG )Žëy׈4jgêD÷GÕ;_ˆãוånÓ•ÎQ¶mcÛ&‰ÝºÒª’Þ"EåÇþ0 gXIGt¤gï¡Üyug"Œ eí"|UlRùõUØF_pqT¯Üvå©tj‹×ia9½Ä6oà gŸAû(]f$rÐrŸÉ3Óg0ïÇ’iÆ \–PE«ëè@¿ÁgÐÔ ²ý«q᥃¸®_/z=1—l¼´¿â NöVQçúö>·aS´n7žÖvÝÎaø¤í¸ÔÈ‹4¹?MbfF¬Dzöìˆ ÀÓ•ÓOŠÅ$Hò÷ß²°¨B@yûšó¹èª+9·ï3Ì˱1ÂÚÑç’ÎÅ]À×å¸""žpòg¾Ê{+ ±ÍxÎÜŸna ½U"R%G'n¸£‡9 lß*&~¾ÛSæ¤@Híâ^¶É"R,HÞFr0\$ÄFa†·>~{-}Ÿ˜I– w0éþ\Ú÷Zž›“@0m*÷^p2ÝN¼ˆ+ßÂÐëòôìÄŠ+þÅ1ŽÝeEd_(ƒ«Ú«,òw¿bø–ðå”í\xMs{žJ—7—±ªû©œcBà/¦LYMдÊ-Üü3swÆ`@Þ/ÌXî㔓]Ä·>ЦæR¶†|\ÑõÎr¨©.f˼ê°p;wòß1ÿ¥Ï»×ЪåÅÜ|ùtnþ>Pz—@ÅX®ìÕêb÷+Õ—9´…³f4qQ6¶mc¸º0øŽ ˜ûØLRJ®«6CmׇÚ&‹HåBŒYöü•jº¥wÓøý';qç%îÝ}ŠÖžHBÂîÖ:¼m_nºérÎêvÑÎ Ûá%Ì00ÊÝÜQÛ¶ÜÄ‘@téàß&®˜$luê.Aè1[ž_ÀÀÀ‰'}*OŒ=“Ï<™¤Óûr`ç.ä•Ç&±Ó†jˆ‘ݵØÙ?òäð'˜–çÁišX.–b×a/ˆ4núô×…’¼õÎÀ‡³düºÈÒ=lc…Ç[2~]™®‘ o{Žéaç²âçɬtO×câéÑý|½±ªnMš‘$˜¿‘_–%sn«æX–ç^%]w­¯ü8ÃåÁë2€)7JŽ`Û×ÍcÒJODX%]=‹H£PÓ¡¢ð{n?á6¾Éßõ‚›Èļ»P6ÀŒˆ$ʰh~ìù4¯¸®€‡EÅ_—`€F8¤dÚ¸`á,Ê&=X¾¬ˆì5uoU±Ü®ÇeŸ[«¾þš ýn¢m““9½ë¿ñô<ë¦0e£‰Qá ƒ]à#è4 8‚ä— +a„{ 7÷ò¸"r(5f1ÀpÂúxiÚ¼xa<í®º‘ ͡ЦLWÍìß»þ¦eì9¯ìóÊ–W»-²[¨1ØÊ´'îæÓæðÖ6Äv##z.â‰ÙÅcç†Ü.îE›,"e„ÜÎR¡½3ˆ8¬ML ˜Ë¶m™P›ï³U|×6"NàögoçÂÿ¶y¼óæDlɧÝÀ縣g$`÷ÓhWX¾t={Ñ–ïñ¿‰ÀBÙ¢ÙÜsêp¾ÈÜ,."›Ÿãr†‘ñÃD~ºåD.Ž-¨¬9Ÿ35ÍS£UÕ[IÍ«ùÂËô:r«ÃL9T©½©%y÷‰Ýãוÿ€å’»»^ó¶ïF'¯]°ŠeóY¹_÷.ÄuëÎÑ_m`uµý¢Xx›uá´c1±ñoYφœ]gmêÎÎùƒßwèÜÒâ¨Þ·0,ìk¾þñ7¶8pºë¥ 9`Yx“ZTXsÉ`fY6´° ˜1êŸ ›œ]¡„ƒð„$"œÎ=–µs²ÉÀM\BYÅ'²¢¢‰Rw5"„µe—\ϽÇ&pRÏ>¸NˆÁ´‹Xúõ þ¶Œ=Æ1âã‰3as0HjR\ÂÎÉ"Ë®Íqeü"—á 0÷õ·˜ÿÏ{91òXn¸¶€­Õ-àpìþ‘h&Ð4Q¿¸Eö‹ÀFfÏÙÂÊÂçùôÜ7xDÎ~ß/ËÏYv-ÚÅÚ·É"R‡qA¯¸ °³0oU€`“ºŸu݃cãL°sùß‹÷ó꜖‡ðŠ«*·Úr‘=™„%¶ É[Ùê^z Éy1&¶]|^=ê¬Ü<íV^^œKíîi71+$l÷*ŽEDB¤ïö ͈ Sö„6…«—±Öo’¿z ëý6FLz´©"“êìÆàÑ/3þµ±Œ}tgµ0ÈÞ8‹·_ŸÎö½ÙŽÒõ½R<½|;gÅÀ6¦¾÷5¿çÛž¦ô¸d0?>ŠÁç¶'N—ˆ4roá©îòÝêË·,ä—-0ÜœrÃíœÛö0’šµ$©YKZv<Ë.èAŒ³òe[Ö°23†‹ãz÷¡s”f4.¹€ÎŽÝå4iÒ´/'B,CÕe­Lf|9—Û$ñ”³9!ÖÄ.XÄWÿKǬd=VÂ?é{Îax qÇ^J¯ ÀΫ٬íqE“¦Cm¢†y”)cáʜʋ­Ãg›49å4º:)¿»€¬,6à8ú$zî#ŒVç÷á¬D«’ú*ÖQÕkš4i*ž¨a^ñ|§ÇËÜÀ;ÏÅÖXMÏãÖëºN-ÛÅÛdMš4U>Qüâù¦åÀ鎦YûӸቧÚÙƒa²æã ÌɯÛïä]SÐç#hXx¢‰ôz ?â|zŸ^²TIÙzhË‹ŠŠ—ÇJäðæa€“ˆ¨p¬?4iªi¢†yÅóMËU:Y˜†˜„w»ž»û´ÂI+ßÅ‹‹òÀq}îıf麪ÊÕUv 9Ž5i:¤'Ù[JÓ50#ª#ǶscØ>Ö.]K¡FÎjo С]]Žiƒgå öb×PXPH§ÛÓ4‰lÙ…ž=cã´ äÔyØ ¾ €{ód¿o#_}ׂðð{ÉM´m?™qoü¿ŠêZ—ˆ4„ªšÏНWVΨðØn`Âó_rÆK}9¢C?^ýì\6oÍ$KÓ¤¬¹OsÑÒ-*[Ö·”Ï>[ÇÃÚÖ©?¯OìKžß;?ƒì Í®áËÕÜ‹ì[5ÅXÍÇ‹üy“ù>õtú$$Ò›ì¹ß2;ÛÂ0÷\ÎÆpÚ¨w9ýΆÃi€»”>_MG­Ž+"‡¢Zµã–‹¿>{™‰½ÇqUs«’ò>–Îþ™ÌsÏ&&üXn}ÿs†Zx<~ÒÓr Ƈ—–­ø¼º×Dd·cÖpXú&/L;/Là°K†sý¬Ûx}EmÚÅÐÚd©Z1ë:…‡¿šÂÃegÚùlœô·ø†ÇU·ßÉ»V¹~>¿¦÷¥w‚‡žw¿É¿¯ÈÀ{øáX™)Ù‰ìîí¹®m¹MîÚ•ü8‰6Ö\;î?\^da­z«îú†d Ï+¸ÚǬŸÅ/äŽé-rg/Z9À·þß<ùñÏlšõçN¸™Î-/âî¡¿0䥅dÙÕÅÈŒj¿ ‡Ç""µ§¯÷ Ê ¦swÚº 0\t4š7_{…ño<Ë€v ";u£CX%‡xÿ2ÞqäêëncôÌm] tº¨ç±ìø3îú+ésùÅS¿Ç™–R26ž+OþZ&¿2ŠÿË—¿¥À$²õ…ô>.Z HcÊÅS¡\\e¦“‚Å/ÐÀ£¼?ã7¶xiqD+ZDØþÛÿøtê*Šª\Öà÷ngäøY¬M)Äï/ yé¸gàÆ/+¹J²¡/&Ó¤é`Ÿ± Õ—5íLúæïâÌÁtþ÷íò­Ê×ã_ò£FËÊ”üEYü½äkž>Šÿ&;Ї½¨ÍqE“¦Cm"„ùåÊ8ìU¼=îG2‚•͇œžcä˜oYº5_|)+˜üÂ0ú=ñ#Ùv…òT²ŽÊ^Ó¤ISñDóË”1Ý~æ½ò2?f1œGÐ÷–+hë©]»R›¬I“¦Ê'B˜`Ûýùdl]ǯS>à±Á—Ñ÷ñydy\{÷}–=ë¶ eÌ¿Æ1mm*Žh’šÀºÏîášk_aNž]n™º¶åöŸñà³ß²|[Ûy[Y¾üOrúýФ©¦‰æïÁÆWäá˜oá²Ãø“Ožþ˜MN/ŽmŸóÔGëñaÑüâ[~b†QCŒ”U¡þÚı&M‡ì${­>w_uëªlžQÃãPþ!>ß5™—ʾf•L»;Ê<6'0öø“ÿÙµšÿ0ˆ8aÏ ì„3°‘ÿ<>Žÿ¥”9«bÄqú-pU[gÕ;ÏÎcÑOðÎÂ\lLϼGúþË·”wî{Ÿ…ù6Ø~‡÷å…{Î"Æð±ìÇ??Ÿ&••-§ŠõUÃöç“ëoǰ—ïäÔ›”¯ðÈ—¿ë.‘F&yÇvš~Ø{Ƽ?g©Y>l#Œ˜¦ñxö8@Ù¤m%£ÀÆpEŸYÚ-D°(—Üœ\ ‹|l ËáÂEd˜³šefg“W€?h`¹¼DD‡ÈØIvx⚳熈H}0 2ÓR‰Ž‹¯ô˜°K0/™äŒBlÃEd“DÂ+íÆAÛA¯óÖ€V°í? ëÿ6«Ë]Sèáô‡þÓgºñ¯|ƒ«½ÇoÙøƒ`:=x£bw•¿±æãŠÈ!¦†˜ÝÕŽãŠ&!!’²—òSIÍÈ/î.nXR”“Avnþ a9q{£‰pä’š–‡íŽ¥I|8f¥myÕß Dy!ƬmxˆNJ lW3È%=9 Î(â¢pµikj“E¤R¡ÆliqÃtàp¹ñx#s;ö8ÇJÜÚ…é$§åÄAx|‘.£ÌòÙdeæPè€éÀMd¸MNr…f$qM¢qP·¶¼xy_nY9øƒA08½1ÄDytôW-c¶Ì‚¸¢‰ð§’žëÇ6ÊÆž/k'i9>lÃ76‘(Oñ@»•Lj›¢¾ ‡Ç"‡ Ã`î¬iË€ÛÅ£ZJþúË<”yì2˾fWx\v"Äç¡ü­îqu¯…2/dúíÝ€Œ„.ô8ÊA€ ÿw~³m÷˜ìÖÑôî!.nF‡c:±hÁî«îŠ—Æ4‹rwEµâøsºev©©ù>»Ê–ÿ¼ÙÁêËØvóˆóz–—µ‹—³zãVRòÂHlw ­<ÅëHKI¥ÜjD¤ÑsD$‘Q] O\ šV2Çt…Nd­—µpGÆã®¸`B ÂCÙhÙçLo’¼•Ï3Löˆïq-wô9˰áëoYi›˜UýP5L¬ˆ8â«Xgi½5WD¤¬êÚq+,žÄ°ª–4qEĿDzn›Ç•y^Y[^õw©^•1k…ÛtÏoÂ5µ‹{Õ&‹HÈjþ½¼§P¾ÏîX›ÅV±|$1Mö\:¦iÅ/ÒuiË‹—w†Ç¯ár©9f›’]ñ5gTIQ_¯:Fjú.z‹ˆÔŽ’¼ Æ$©[wŽ´ laÙê\£bÊÌOfÅò .j‡§]w:G-d^f™Ùή zþ%•[§Mîê¯ù~],«Ú²væÆ>ô9éU– °ö³Ç÷—›]Ï k÷3*l¿M`çOLž—†Í^t-" NçxD¤¬½?&4¹äY>Ù —ia6¾?¿à…Ï6cÕßi«^yDöžbG¤qÙ?1»÷m²ˆ”§vV¤qQÌŠÈ¡JIÞ†b&Ñ­ûáX“Wð[²U<^G­üìsN#ÊÕ†ãºÄðóO™{®Ç¶ ú ÈØ±‰ßæMeâw+É ¯ù ᯶€ß ¸}_Oâ¤Î­9<1 é'7u ë–üÈW_Îf³‰[}¶ˆ4Nú,"°ç€{Á—™JVQhß6~ûñsÆýŒ•¨Ê¿#T¤CÇ"‘Ú©‡˜‘ýh?Çl­ÚdÙ“ÚY‘ÆE1+Òø)~ëDcòîÓ1y!˜ŸFjV!6N"âð–f_ýä¦&“ëà '&!ŠŠ×ÕÚ…ÅcfaàŠlBŒ×Ÿ›BzNùq L‡§;o¸Gɨ¬lé2¦—è„h̼ªË¸"‰ñÈÏÍ¥ °ˆ@ ˆa9pºÂðF„ãÔE‘F)yÇvZ´úGµãoŠÈ!Â0ÈHM!&>a¯ Á¼TR2ó± ‡;œˆ¨(Ü•>à´ IDATvôa“Ÿ¶…ÌÀEB“(]q(R[õ³"²íç˜ ½M‘J©i\³"Ÿa0çS5&ï^Òyµ}Ì ‹£I¥ã^9oVíX“†;†„¤˜r¯9ÂhâØ!•­±ŒEX¤‹0 „'"""U0½ñ$†4”AX\KªTDDDê$ô6YDDDDD;݇)"""""""""""""ÒˆèN^‘C”Qq p94• tLi$³"‹bV¤qQÌŠ4.ŠY‘ÆOñ['JòŠˆ¢LKƒs‰Èn:&ˆ4.ŠY‘ÆE1+Ò¸(fEŬˆª”ä9DùòsÈÊÊièÍ‘DêŽí ½ "R ŠY‘ÆE1+Ò¸(fEŬˆª”ä9Dµkß±¡7ADDDDDDDDDDa¿-[ØÐ›Ðh)É+"rˆú{ËÖ†ÞÙ fCo€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆ„NI^‘FDI^‘FDI^‘FDI^‘FDI^‘FDI^‘FÄÑÐ "r°0 —Ë…ËéÄáp`Z&Æ>­ÓÆ&â(**âÿٻ︪êÿã¯s'wPÜ÷ÊQVެ¬Ì´2--+SKûVÚÞVfe¥ ëWš¥-+µÜ[Ë93'.PTPdýŒË½çüþ-¦äûùxðî=ãs>p>÷|>ïÏp»ÝhšvQÏ)„B!„B!„BˆKK‚¼BQ L&6› ½îß AAA¯×£×ë1›Lx½^Ò32ÈÊʪð1ÍÝžcÖS†ÈNíÜkÏwÁ€†æu“žOdø^6®\ÆÊ=q¸+劄—=­†Æ{­Ö0楜P‹ß®åCÛr=¯Ž]LT±Û]è>¥Q°µʤ±fì;Ì‹ò hέw÷å–.-idAM;Í¡m+ùñç5væï£#°m?†¹™N1¤Çppãbfüü‘™9Û™àƒ·»°÷½·øþPFe$¸\Œ|¬ zš<ð!“ºüÍ ÏýÊQï¥NÏ•ÃÜí9f=׉˜Eïð܇È,ô¾±ó“Ì|ч)̆ z[ÜÈ=wö s‹ºûšð¸9¾›uK³bo<Ùÿâuq¥Èÿœ­i*Þ,‰§±gÓJ~]²ƒÓîó·CÓðfgÅþÍ+™5+Q™ùžÛ =Ë !„ârw¹Öë„—; ò !IJÙlX||.u2ÐëõøÚíèõzÒÓÓ+÷àžCü<î;¶¥ƒÎhÁÜ€¶×ÝÌoôàÆeŸ3þûÝ$I;’W(Ôè#„™cq•¹¨È>9¿žŒ}¯ žùŽ}ùƒ‡ææÜ?òfÔUo±8ʺšô{áeîôl`ÑOÿGØÉD´ê8âÆk<óîbsÏmlÜŸ7^»Öþćß%ÝÑ’~CGðN —g?ÚD‚î£K™¾¦+“M/Íáðeñªx>Šÿ2=õú>ÊåÛƒ…üE1Ñðögy{DkÜ»ÿ`Éw 8ž˜…Þ¯­®½•ûß|Ÿëf}È;ó.ÿgBT¾³ÏÙ:L¶@´¹þ_`b“/yvÒFâÏÞwž0~ÿ=Û3ôf?j5¿Ž»ïÃû Ì<óÁ:âäþB!.šbë¡•BêueqqÿBTMä­"ô:¨W§6Š’3õ«¦iyS²æÿYUsºù¨šFôéXþÒ$Xˆ+ÄåàÍÏj±Tn WË .2’£gG„äŸkXyÓS¼ÿÄSŒŽz…wÖÄ#Ï¢Bü•: ¼Ê©5S_®ƒVdÿNWÓÆÏ‚B¯v¿›[öñõ²c9#Õ–¾ÿ4«]içSÇO0ÙØÏô Kõ?Y|F,\}÷íÔø'§ÿIŒ pœÏ’ü˜üþ½ÜÙt+ß…{,.]ÉÁÛîc@—å|¸1í2(ó*šâ¿Ì½™uIWÑïñl}ù'”ç54¾‹ç‡µ!yÉ^ÿñ çÿ`×–¿øëðKL|d …¿Ä´Ð²…åRà9û(‡Bw°+y,S‡÷¦GÍÍÌ?;œGKç̱cy3QÚ¿›=iþ|=²Ýkn8·B!*YqõÐÊ"õºÒ]ì¿U“y«ˆÆø¿Ï'àt:1›Í¸Ýnìv;ªªæ­ÃéõætaQ…1O?KÔ©˜K™l!þÓLFãeà=Ëj±àñxp»/æDÊÙœ^û=?]÷ OÝy×ýJ„ô¤â?Gˆj×aØÀî´­mGK=Éî?cƯ;ˆõ@‘Ó:›ëpÃso·æÔuø ×[¥Üþ3O¾º ÿGòÕðÉŒõûwö5apßkhQÃŽÞÀ‘m˘ñýΰÒyÄÛ¼x{]l:…æö¼Dýö:£g¥q}Ö°÷+¶¥œ ½zœix ]OVJ éÔÆjV !thãCĂĿk÷DþͶØ~téTÃã´„m¬Ûÿ £nè„ߦu¤œå5rýó3xÑúCß]KjÞûzzŸOºíâågfqØ[†ëM×[ãyè¡Û¹¾Ymü Y¤&œ&|û2¾ýa3ÑjEó¾,çPðkqC‡ôæÚ¦Õ°d'rdÛ ¾ýa%‡Ò´¼k®uí@FÜ׃öu}ÑRO±çÏyüŽ| \*Š1…ußÌ¥ÖûðÔ í<÷CØyÓ6Ÿc¢]ŸúoÏÎà=ËMÔŠŸXzËúõéÌ/û6’vé{7ñ§‘q”®%È¡Àéâ·K‰Œ"ë¨PÒvB!Ä•I±6ä¦wqKÇê`ÓR‰Ú·žŸ§Ïåï8/eª¿=»ÿGŠ©‡þr / ~ÍnaÈà[¹®yMüô™ÄÝÅê_g³`wÂyõÑ¢®×•µ¾ àßâVt ]šÕÄW—IRl+¦|Äoá*­†Ê+>3xr©ƒ‡Fà†f$.ÇS3䤽ÄúÞÙtüÊ;û›ñà]]hVÝŠ–z‚+f2í݆ âŽkšlUIÜÍâo¿cá¡ü¢ËzŽ ¶ürLjžâŠ&AÞ*@UUp¹\ìß¿ŸfÍšáããCJJ ¨ªŠªªx<¼^/)))8üü|QOD£û—×âJa³Û/uJe³ZÉÎÎÎíQhÉìØ~í±–´ Tˆyâ„øÏÑÕïËSwlbη0#Þ‹#¤x–wlòìôÐ"¦“2Óþá—yºýA>÷$Oz¨vÕ@^~ñfœ³Ç3ù÷$©àÞ™l×à9Û|¾xÿ9Bc³°ÔëÆ¨×FñÚÐ3üoêv~÷:/&¾ÁäÛñΘÙïUõàµv¥}S…Ã?("HUàj¨Ù¼i„åFtßšÔ²eTpd®÷ §b fÝZÉ ò¢¥º÷8†ûÚÒÊ´Ž-_½L×›inǰסÅÎï˜ôÃ!¼Vª×oFkßD’‹°UÖ¼/ùSÈÞ~«/†?1qÆ’¬!ô6Œ·_ÖñÂ[Ë8áU°w|„wž¿–ä?0nòaRM5éÐg0Ot F—|!ù#*J1P¢W1õ×.|<ä1îß6–ïæÕצUs?2÷ïbqÿÏÞìڛȽÝZ¢ßÈ®²µT !*LÁV»j<1ñ%ÎU°ãЈMQ¼B!Daš×Jõj.¶ÏÆôcñ¸¯bÈSóÂÈXŸ°ŽÄ²4ai®âë¡€O³ûxçíÞð×,>ÿågTBºÞÃ#¯¾EíÞàóí)œªlu6ŸƒygÜí·Ïã›ë¶Q'$ø tØÝÆó¯Ô cíoLš“€3î$*e©ïKÇhýO|:öGޤiÐëqÞùŸ÷I!láW¼>#œ$¥Ý{…ç_x€¨§¦±#·úQžsT¨- By+ćy«UUq8üÑ4 “É„Á` 55•øøxbbb¨W¯yS9áõzq8hª ä¢Òùøø /æÞÒÕ»™'èˆ1·ž7ò¾œµ«À(½£7ßÝ›NÆÝ|?c…gZÓÕéÉã^M@¡cªÑë™öãßÅ>”êõzL&YY…(…FZ\<J ‚:ˆ“Ç+!þktæ–þ«s §SÑ¿0Ñ\ŸiÃûÒmî>V%ÚAß„k¯äÈÒyl8áBbw-`ÑÞÛx"$×âãh½¤„Âa浘= 9›ëÄF~[s;Ýzµ£‘~½n²½h*ÙîlܹE޾V}ê’Ù™ZbZ êÊÃýj±x {s':P¬V¬džY¸ÜMz†½¿«™€FBä ÒÌ!4¬©cKä…5ª—v½‡ì5©íëäà¦Í„Ï)Ë£OD°§¸–#ïKÍkÕŸî÷õ¥AÔ|Æ|õ'½Ñ|óe ZOêÇ]mVóÅ^zÞÝÇ™¼ú݆Üõ OsbJ2~¿Ç½”;¢Âtztx‰Z69×½Çÿ `ÛË?=m³â ÈIñ‰%Œ2PIŒKB³è£PJO !D…)˜ìÁ4¾ê&z¸i'³!¾èûMÑÛ¨ÙªC‡tÀù×ÿ±îŒÜ—B!Äy²0û“ç~?µŠï—wåš{ZÐH¿ŽÄ2v^T‹©‡¢pÃà>Ô9ü OL]MÎÇñI¢Ž#Õï#Æ>Ø›¥;çTxÖ»Òëlô¸·7u#æðä§ËòÚÃ<Ž¡q#œ“^áã­ùÎJê{{r;F«‡X0c ‡“5 ›ãk–³ñž«¹=v6_- Ëm—ŒaÓ⿸·{wÚÕ׳#Ü[¾sT°-@ˆ+y«MUq8¨ªJ½zõؽ{7š¦Q·n]j×®]`šf§Ó‰Ëå¢fÍš8üýQ5µ˜&Tq9Qì]xüÙz¬™0—ðùêRž»*3Š¿³Ô˜­Ìþnïù÷žDç»{S7:æÜÚèð éNÿ>m1;3ñ¨^Š (fƬ#¬ž½‘¨|hÙÎ"¦ -èây UñŸ¤Æ…±ÿLþ\#iß>"õwѼ¡žUI… "EÁ^Oþ•œ¾gº¼©ƒ‹>WG’óOÙæ‹ [ ;êü8H&1¹øBQ±6cÈKÃhuô^^rò\_­Ð÷R¨I‰$ãO Cä-ízµÄüþÏ]Œ~öMŒ‹—°lí'eÀrä}©ymhBû–F"þCt¾ÃyOæpúÝ4mZÝÁZ´h¢ãØœ=ˆCxNz0•-+’+¢ÒxN°hÚB®ÿž¼o;ÏÿŽ·¸ô2Ïú!$!*á*Æüð c”œéõ³SŽó÷ÊOø|þ΂Ïúg·#g‰&²cØúëG¼²ho©u!„Bh$%$£™L˜Jª˜–•¡ mš8:g7&¶ÓÒÙ»m7´¢M5…ˆØŠ}P—^gkœsþßþ!¦„ª©šð7+ÿ)4¢¸,õ½=9kA¨ñÇ9–´Š–Ž3ÝKÒñ¨Ï Zº ¬¥üç¨`[€W: òVgGòfee±eË:uê„ÕjEÓ4TU-0 «¯¯/±±±¸\.T‰¸T ¾­Z¢gÕuîªÍh0ÿf¶“31iç½lj| ­§Ùº#on3»¡NwßÙ„Ó+gò—ù6íXô! >>3‰Ž‰-8ÊWQÐ)%?éô»«‡B@ÍXÔÎÈ4qBü'i.2 ×I].ÒñÁfÓCáñÞ¶ý“ÂM·ÞM—?³-Æ‹£u_îh›Îö©)©Û‰–™™;b¶RÊ:Œôxszöµ»¥ ^y‘;ÔŒÿøwNåKò¹Š¨ LödÂj1 ¾~¯JèïS´".¡ÔëÕâYûÉ«D÷èÍ]½‡òáýrjûj~ùi[¢‹ÈÉrä}içVÌ~øšõ4ô¿,x!³Ž8›½É†Ý¨‘–ê,úÓp¥¥ÙqIü»²-aÊ«™xÏHîÿûu~Ò´‚+-™„dpT ÄÀÑb¦;ÓPÍ®(‹_ÜWQQÞCüüÆ ¶8=d¹’IHÊ(zd}îv[ÓÁÐð^ÝgäQâe u!„¢HÆêí¸£ÿ­\ߪ5ýÍèŒVŒü]úÎe,*>v|ÎóêC :ÓpÒ?[ázfÙ•^góÅפ‘šrþù '5™”B•³²Ô÷ÎN(¨ee‘UÄ ²=ÙEž÷lÖ•ëm â 'AÞ*@ÕTþþ„††ÒªU+Ìf3ªªb0°Ûíhš†ÓéÌÍÛ°aCöíÛwnºæ,t~ôm†Z2ö‹Í¹=m¬†ñÞ°¶D/xÖÄçÎf:Ï0ߥ¼ùùf‚Œe”e)S#špg¯ö4 ðôXm]ÁÜå¡Ä—ù³JÁÞ¸wöéF»FÕ°+nR¢ØðËtVËÎy¿QWúõéNûÆÕ±ë²H:q€M+–òûÁ¤ÜD=!Çò¸m9S7¢_¯ö4 ´ 9£Ù¿as6{èØïz¶«O EÃuêΛËG]¹×v¡ûŸ½ŽîÜ}gÚ7Ä';™È½ë™¿`G]Z¡s4 ÏíhT͆ÞLä޵̛¿‰ÈL m>Íð5±ê^ú¼ ½òcÞ]Mã‹™Æô’Î}ÍR—koëÅu­P+Ћæäôá¿YüÛrB¥ÉV§/it®ÐˆâKÛkZ`_Nhª’÷´ã9±™_¦m )U%øºâ¢ > dÄ©èÊ={Éi­ºtíÚŽÏ%4U†ñ_¤XmX kv;62ˆwñ ¥³ãûOøõõ×yer72³½dÄG°å»÷ùiKE×#*™–‘A&>Ø, …G*Ö¾ú2ýõ«xç½yL/ŽL‹ædŠ™&µ(;âÎí­¦NMˆÛ‹;ÿñ,V¬d’QT-÷¼³Ÿcññ)K;Áù¼)„­ÃĵsñmØ…{†=ÌËïTãý§§²ÍYøä•—÷Z– W¶—°…ï2ycái°5<ÎD²Ý¤{mV\¶1û˜*v½¢’esdþ \3Ž{À??e‘¥YϽíæ@X*÷vhOKó?ì.ª†¾Wµ "ëÐŽÈÌ/BT>-“„“'‰*m*ôÜí"œø…ï:MäÅá÷²îÀwìIÿw’*„BTÖvŒ|÷e®ŽšÃg¿"ô´¦à{ÓËüðعÍ.¤þ¦e:Is+Ôô³ŸWÒÙ|±ã"ÍuñÚQ5w:é…ê¾¶óÎ_ê¾e¨ï]h?²ãB\é$È[ zl6V«¯×‹¢(¤¦¦bµZQU•øøxÐ4 EQ°Z­èõztçEƒÒÙ¿+mp›7³+À‡mBp§¸¨×º%þ•3¾¾>! Dý¾‡$ üÝ*Ö®÷ña.SßšÆÁD€–}xâÙaŒ¶LãƒßÂÎåSsã¾<=ºº ønb(±Ùvê„TÇy:gêAs£>ŒÝuÓ,¦ÌÜG¬×AH·<4j4Áß~Ê̽ih€Ç­bé:!Úl¾|ã+Â’õÔïõ$cGŒàµiD,ûŠ·¾:@5èúèkŒÑèñ³ÙŸÛpu¡ûôæ©§nD·å'>™J’µ9·ÆèÇt|øùZbԳ縡æE|ýÁ·ì=‰¹^wF¾2ŠQw'ðö¬ýìþá^;ù:“zc³?pÀz~VóENãšÎm_ßd¶Ï]Æž£gptbð1ü¾xÆMÛzÅO¦”³ÙZ_ó*:×w²{fYJ¾Î€:7iN0êu%SÁÇâE÷h«ä´–ïà6Z xœÁÍ\lüdÑÿâ?IW­­kè8”w“+µkOo+yó;“˜wãÆ€¿yÔ4¶Uò‡†×«‚Ñ€1_ñ¦ÆŸ!žk©l€Ès!YÅÖŒA¯¾D_ïƽ¿˜ðô"Òâ`Ç'·\Ó‰à¥+9;“–¡~g®©™ÊžÝQÇ÷×$ˆbãŠ*ô42\élǦ@^ß%€&M‹È©r]9iÇ7óã­?¿•Vµul ?«JË{ÏBeóH“šdÌ §ð¬Ü(Ç ;¦ñ@ûV8–¯?·®:-š\àõŠJã>ÂoÓ–sí;}xòÎ#hZþGÜ„®^ˉžw0tà_þ%W¿µ‘:· ¡o½8ÖÌø‡´+üPˆË†–ÊæŸ~e÷'Ã9`ÏÍ /q¦ !„âJc¨Û–öIlþ|»òæ 6P·~MôÍý½ìõ·¢ê¡x³ç`6×u¾Šà%«87+³…ÖW·Æ»‘ýññ:û(ŽxÖù*ª/=»&p•¥¾w¡ AVò9Šüq…“v—*Àb±`0p8y£x½^/éééœ>}šÓ§Oc±Xò¦n6›ÍT¯^“É„ÅâSèh GilBÓú¹¨Om[d²méâ´¦•N)©«Õ„f¾qì;”|no-ŒEß­ç”â ¨zD¯aÚ¬½ø]Û“Ž~e™ÃÂN·u§FÄl>œºš½'ˆ‹=ÎŽu[9’(þtî}5ÿÂGßoâHB&®”hvÌÿ”)®é׺ùþkí‹~ÜLŒ>€jÕýHݾŠ- >ØN.ãÛ?O£ùÕ šŸ‡}«6pÂÖ˜šÿå+¼¿âK§ÛzR'rŸ~¿•È´lœ§wñóWK‰mt#75;7•¯B8‹¦¯â¨Û—Àà`¬®½,þ3 ßfM©£×a°úc1(€GŽ€ |­†!æ’ÏícÁ?°jÏI3¼8OndöÊ ëS[JŽrò¡éÕmñ?¹ƒ1…g{QrÖÓ*QNW_ë:|ü<÷ÜÓ<÷Ôp¼³+-‚J˜6º²)ª7h@ãFhÖ²]oÀ˜w&1aPŽÿ:™¯.ÒèS–ÇR³MKªz–Ë>²O~2z4¡I€Â‰„³é‰"K^z >™î%éDªÅ”Û‹Á€IË&Ì…ºùTx}=š†‰Zr€t›57 ÎM·Ó¸^ºCq¹ç8Î)¯ SîçªbðAÍJ‹)w?%wiœ`_áxßÅMclñçVLØüMù^0àq¥€Q¡}¸®8J`®iªrpÁAR•ÂAÞ²ð¹á7f…û•ê$SÕc ¬Këëºs÷ƒµXýãt ¯„93Žð¿g1îÇUœÊK54áÚÎ$üó‡‹|ìÑpnûž ?eøÃøi´žlW<á[—ðñt7ãî.çÅfg¢ÔîÁ#½ ºÝˆ–™Â©ðí|÷Þl69¤²ró>óð<Þx#žû÷æ±×hQp§Æ±w=¿dç\oêßÓ;ù>½÷Þëï‹âŒáàæ%L˜~ãú•ózÅE”Éþ93XÞy,ýª~/‹£K'ṉ̃›з;ýGÞF5_^W"'Ãv1gü§¬'»¨Ã !.!/'—ÿÈ¢žo3àÑÛØøæRâ.u’„BˆË„–´¯>¯ÃC†ðþ#Q1ܸ/><ÊSãžÝªÌõ·¢ë¡GqG,`Ü›I Ô›gßN€!“¸£{X5ñmæîHºÈ_5\¡?ñú»‰<<èvžÿ¾z7ÉјÿùÊR÷.½¾wá*óÅý dEq%“ o`6™Ðëõ¨ªJRRf³»ÝŽ¿¿?F£MÓp»Ýddd@FFNs«ÑhÄl."È«Äqð@*w„4¡ÄQ«MK¬œÏ IDATtûf¡žÀ»7“ÑmZ`ÛºŸ&M듹QùvÕ²½¨: _c§Î›M&>øK_D^1š±5\™ÙE#WŒ>X陞Bï+è³ÒqaÅês.D¦¹=x ¤'gbZªQ`E¾¼ÀZ¡™ÿ+¸¿bòÁjÒÓpà[|~OÁtŒ:âÌÆ¼@ž–寣§@ž•g½ø#E1¶ g¯n\Õ´Õ|s‚ÉŠÞÿȨ@C+ã4ÈFêwê@Í佬<æ®øÔÉ™ñ?( IIñœˆLÅô¿{èÜ®»×ÇPÜLÉåG•µñîÙXúkBˆ+—ߎá 0%l÷ýPð¿vŸŒ `ÕOñæx2U@1b¯ÙŽ_yŽÇúofËWûòíSøùi$­z—{Vå)‰?O`ÔÏ·Ü»òONÞГÞmñåžL¼³ybàì2^«FZøJ>{}%Ÿ»‚­ÃÍô Šb骰â^Z}Á ‹ ¿±žAkÎþ\Æëõà×_ã×bÓTy_̹s_s]Çô ë˜^lÜœÚôooú©Ðë뼦ÈÄE”µñ÷™q€¯Ÿz€¯‹|ÓCâþÕ|³5ß\¼ä ! )ësv±ÛeGðÓ³’WËs»B‘ËCÌÖ™¼¹õüzì åû¥Lõ7Š­‡‚†3b-Ó'¬-¡ÎTšÂõÃrÔñ’º„É¡KŠAlR®,Kµú´¿þ:B\»˜š‚VÂÍçΖæ|!Ä¿I%jÑ'LPsß°± ¬é‡YÉ&=ù ‘a{˜3n «ÃŠ^É·RdgݼãåОS3¯˜G«ËÃ%Î{!„B!„iY¤ÄÅ‘r©Ó!„øO’ o ª*¡¡¡ôêÕ .gz]½^Off&ÙÙÙ¤¤¤ ( ªªâv»óFí9NÔbFø¢¸Û­E-vïÇËõph×!Ì×t þ¯p ÆxQ#—òõw |‚A5¬hi§Ø»ô~X‰j1—aœ¢íø\Þ™Àýƒnaè˜Øõ٤Ą±òûõ€Ý™Õ|0.‘ƒï`è³ñ3d‘¹—Õ“¦²Èco6¾Àtý7dggãõzKÍ«àhÛ™†HVíŽç‚†ŸkN’2üèvýmôpX1*^2S㈠ûƒïÿ %6Ûo*炼ªJVV9ÿ!…âByØ9ïKvÎ»Ô ¹IÞ !„B!„B\*sîÐ’ŽUÔ{J)?—å»RÆßÏ~é ýœÿ+ÿkúܯ³?òý¬ŒÀäk®¿¡} ×\iÒR’ÉHOCU‹ ØC§S°ù:°Ù}‹|ßãŠ'ÉéÁ䌿å\àTÍH$!5 5ˆ _Sî«zÞùÏ7ÝÀ¸÷—p4-·G“ÅŽÝæS¾é‰ÝN\® ²²=hš‚Î`Âêˆ%·Û–ŽË•N–ÛƒŠ‚Î`ÆÇæ‹Õ¬Ïûg§!Ùm% Èž¯·‚WBGQy¬Ãd$°Ðþ4wn½ŸóÿÎÁÅ芓••…^¯Çj)ú†Qô&Ìå˜[\1˜(zhÁˆ©È÷Š—‘™Yd€W!„B!„B!„U›yEåÉü‡¯lGWdÿ@¹¦Z¢òddä¬mX\ ÷RÉÈÌÄår]êd!„B!„B!„â" ¯¨D ªWÃ[ä{Š¢+qZY!ª"MÓHOOÇãñ`³ÙÐë.mG¯×‹ËåÂ}IÓ!„B!„B!„Bˆ‹G‚¼¢Œ¼þy4ƒ‹X_ö¾sÓ ñâv»ÉÎÎÆh4b6™0 èô:”J]úü|ªWÅãñàÎÎ&++뢞O!„B!„B!„—žyE™·¾¬"‡¦i¸Ýî*³®Óé¼ÔIB!„B!„B!DÈ©B!„B!„B!„BQ…HW!„B!„B!„B!ª ò !„B!„B!„B!D"A^!„B!„B!„B!„¨B$È+„B!„B!„B!„Uˆy…B!„B!„B!„¢ ‘ ¯B!„B!„B!„BT!äB!„B!„B!„Bˆ*D‚¼B!„B!„B!„BQ…HW!*‰¢(˜Íf|ív‚‚©tQ¿‚‚ p8ðõõÅl6£(ʥΆÿmÿ÷-¿ODù´W¬²ÞÚ<:•…“аÌ÷KEö)‚½Ã(¾Ÿ7‘Á è[qç¨×™úã,V®XÄò9SøhLošÛ ——:‚®ÈëŸÍ`ñÒ…¬øu Ÿ¸‰F–sÛ™Bîgêü/ÙÚRY ®#+ƒžfLaõ7¢¿Ôi¹²˜{¾ÆêÕ‹ø~dkŠúO5^ûK–¾ÎM>…ß1Ôº7O¼9‰çüʪ XöÛt¦Žÿ:TÇø/¤]ˆ+‘¹çk¬þ}ÎÍÕçÝ—¹”`úOZÀÚß3sD3rŠUõ}Êﳟ £¡¨,ô·€ÕãoÆžÿ\ËÇÑÛWê BT\éÏŒB!„ÿ–˪)H!ª*“É„ÃáÀ×nÇl6£×ëQ¸ø•<½^ÙdÂ×nÇáïÙl¾èç­LŠ/Þ›ñ8í‹lœºrÒ DÕ¦’r2Œá18µ‹¹OŽbïYs+Ýué7Ì;î]mîûCšÄ³æÛI<÷䞟ü'™W?ΤWo£f¾bÚØtï¿—zGæðö³ÏñÜG+Iéø“^èAµÜíÜGæóå*#÷ŒHóË&âUñ|ÿezê÷’GÚ”µC‚‰&wŽeÚGÑÕÎâ¯&ñÊKo2îó¹üÑ’¡>cÒýͱJûµ…š’@’ïõô¾ÚVd BW¯'·µt—(½—ZYž…B!þ-Òœ-„Èf³añ)®Ûý¿K¯×ãk·£×ëIOO¿ÔÉ)G—ëio>ïWt„¸Ìi¥5*«œX9™×ÊuЊìÅß³ Õnº—;‚öðÅ¢#d¨Ñ,xëQ–9ÓH?{ G#yߨ„Ù¯ÜD·àUÌÕ+×Ý{ ÿÌð/W­eb’?_M€曘vÈd±þ"ößñ0÷w]ÈÛëÒ¸ôÍíÍGñ_æ=¹ß;sÏÓ°qÌ B3JÞÞØô>^{¼=Ióßà¹éûHËûÇeû_²öÐ[üßÈyôàh>ß]ÊÁ„å—±› û¯áÖ[¯Ã±ñ’ |¸hÚëFêÜÄßÛèp©Ò(„ ìÏŒB!„ÿ òVzÔ«S;o*VMÓÐr\óÿ¬ªjÎwM#út,ŠNæÇâbºœ¼ùY-9#wÊè5Ðö_óŽý^ßך÷v¥y°RO°ó÷_˜:s+ÑyuVÿ–·3ìá¾tkU}gÿÃòŸ~dÎŽ8<¹ÛØšÞÊ£#î¤{˺8ôY¤ÄŸäÐÖ…Lýf'uŸÈØ;ëc×)|¶¢àåøÏÏ2âû¼¥¤T±5áÖûÒçšæÔ¯ˆ]Káøž5|ûåÏl9ãŒôxm6oئ1pìjRòËô4yè3¦öÜÎèQóU\"м:juÊ£ƒo¢cúŒXmZÈÔ¯Wæ:{в䅶ÿ›Æ8Ÿ/¶ €£àæ–$Ì{…á3ÂJ½^!.%Í Á=†óø7Ò¾®/Zr$;VÿÂÔŸ¶qÚgËŽOÚ®âѧæ©æzôö(ôlM½ ºsóx}ǰ§â•Ÿœc¼ë÷¯ïmÆÃý¯§U-_ Yñ„m^À”i+K·qíÅܳ?¤Òý¦ö°s2›òµŽ{ÒÒ(ÜÔ–•”L:u°X@C3:·7sxÎ6N«ç¶Ë>º™Í§ï¡k—úL?t/ ÅoæÐŒéÕÇú ñP¦²gä„yËp½.Ëѯ7pR­xÞ—~nÿÖ}9¬][cqǾy1_}½„ý©ZÞ5×é6„'¼‰õ}Ñ’O°sõ,VHÉvÉ(Æ$þøâgê|6ŒçÜÂÿ¾9@ñ¡YWõ½†)òÊÌüÞ³Ü_ü- ú|€»ºðýžu¤^úÞ Bü·³øç÷mÜðr/z¯aAl¾›ÌÔŠÞ7°sævœƒz_º4 !ÊõÌ(„Bño oÒ¸ÿ÷ùdœN'f³·ÛÝnGUUÜn7š¦áõæ-dÒ‡ý`íLú>”X¯ƒf=3jüÔy÷y&mIFóéÀão¤Õ?Óx÷ëýÄ«6‚´ _‰^'ÑÓžå©ø |}W¯=:½ Íë)S¥XóX©ìdË/ŸñeDî N {þQÆŽ9ÍÃoüNBY 5'›†ÜÕÎêöåéû¶2ç»wù&:[Þ<úô(ÞÑb:y'”1/PðmÒ—×Þ®EÆêŸxwf<©g¢PKH¢—]Ãþzs»c²°4èÉÓãŸæÇrî¹bïY[O:µPû:´ˆ U«¡vë¦æPnëœâW›:ö,NJ,82×ÃÉh¨]¿&޿ɴvï<ŠáÁ´1ÿÁ_™Ïײ\oFIåh‘…GÙó¾Ôsææ÷óáû÷`\7ñSö‘hkÎ]bâ8O¼¸H¯‚ïÕ3éõ®$-þšW>#Å\›Îw=̳×Ô@Iº°üd4¢œ\Æä™]™2ü)†n~ž¯öæÕ×£]+?2öüÃÞâþŸ½‘ü³+!7´¥™~ÿÈ %!*—N‡{׬OÏm7ÕaѬ“yχÖN½¸Áô7oqÑöKšJ!®xåzfB!„øÈš¼U€ªªàr¹øûï¿ñx<(ŠBJJ qqqÄÅÅ‘””D||<ñññDDDŸŸoÞÈ^!Då³Ùí—: ¥²Y­y3”‡ÂAf¹Œ} n4ÍM|è|&}»›€[ï¡g€J 7?tõÃ~äÉËØÅñ#{Y=ã=&­ÑsËð~„èA±×¦®_û×­g÷ÑSœ<ÎÎõ‹ù~É~ÒÕãÆíÕ@SÉv»q»³Éö–qxPV(?Nø’Ùëö~"šã»—2mÑaL-ZѤ“”–O ‹?ø’…Ûuê$7Íb겓tìHe΋³ MCHûæUÆÿ¼–­»C9qL÷*DÉt>Ñ,šô5ËwEpâd${×|Ç;3öx[n™P˜¡)Ý® "|Ù,ÖDºðj™Älÿ•y» ´n^gº§Øÿ{…0fOžÇΘ TT\‘ëøyåq¹÷\q÷¬¾N9z,µÄ{J©vö¯GøüEìÌÊ}ÍfÅJ®ôÂ{ºq¦{ÐÛ}ó­Eª,’TŸú4®uáÒ¥]oiåèyÊ‘÷¥ÅAÏ!ýi||6o¶’GOrÝG‰wfE•iŠRò­k0`À‹ÇSt¨X›qÿ¸7¸[]ÄkVp"ßEÍåĉûyC/LØ­¼é΂iòf“cy²Šº€Ò®W+g9Zž¼/åÜŠ~f=!}ÆòS„ê0˜uÄÚ­èM6ìF•´”Âe †3Õ% —ìˆù|úëuüßàÑ ÝòߪjÁ¿‹–D|TÂÀáb‚Àz‚ª¢¤E’pS” !ЧF­cÕ¡AçK~½þC?=˜mßf‘•\¼÷¡SÒ¹#mÌ[ÙQT/ }=:]DÖ½Ò!Qˆ‹I;ÃÚß÷2bd/® H¤Q¯Z>‘H•"‚¼9³/hVüMpÞ|늅ÌSNÜ…wBTHyŸ…B!.6 òVª¦âð÷'44”V­Za6›QUƒÁ€ÝnGÓ4œNgÞhÞ† ²oß¾sÓ5`¡ó£o3Ô²±_lÎý§`í4Œ÷†µ%zÁ{|´&>÷AÕLÇáãæ»”7?ßLЀ±Œ²,ejDîìÕž†>Ë¡­+˜»<”ø27ø(ØwãÎ>ÝhרvÅMjB~™ÎÊcÙ9ï7êJ¿>Ýi߸:v]I'°iÅR~?˜”;º@OÈÀ±ú * ŠGE3Ï… de¥a,¥$/9­Å$­Z+Ú×Ö±/o²Žº]ºÐ(û0 #¼ÆŽ}nžéÒ™ó–“wcXhm;,§×²7®p(ÁKêÑ Lÿ$€vÓûÒ¶žžM½x½*Œ”6/ÈÐà*:VKdÃÄEüsòl‹–új£çHîïé®t¨iÇ®pn´³@Ó¦Õ ´“U$ y*”BT-úàÖ´«©cÿɳe‚Bõhä gI„—¢:1˜›öä–ÀM¼õàçlJ®Ü{ ¨{Ö{&†3t¥NM;ל­Ø[ðÐø·èï™Ç+oÎãàyk¨žÃlÛá¤Ïõ×PcÁ’¼ûØØð:®¯ÌŽÇ Œn4׬M5â8}¦¨‡Ÿ²—=¸ò"ÊÑó·ª´¼Ïc÷~7]šÖ&ý—Cù–ÈG‰à@„ʰm X¸æÜ6º`Zµ’5y/Yáüüù"º}t7Ï CÓRó½éf÷ÒÕïÕŸÇø“.â×m IDATCߢ`?#õúÍ]#¡fõP¾_¦˜:©ûö¡È­=ª³ne\íŒn俦™ì^^ÂzÛBˆr)ç3£B!ÄÅ&AÞ*ÀhÐc³åô¶·Z­x½^E!55«ÕŠªªÄÇÇ€¦i(Š‚ÕjE¯×£;/º”Îþ]áhƒ›Ðؼ™]™>´h‚;ÅE½Ö- øó¯œ:}}Bˆú}Iø»U¬]ïã!Ã\¦¾5ƒ‰-ûðijÃm™Æ¿…•iZsã¾<=ºº ønb(±Ùvê„TÇy:g}9s£>ŒÝuÓ,¦ÌÜG¬×AH·<4j4Áß~Ê̽9ÓzÜ*–®¢ÍæË7þŸ½û¢j8ü›™-Ù’Nè½W± ˆ¢"R”"¨¨/öþªè«"vÅö‰X»bETDQEiR¡&!Ò“Ýl¶Í|$À&$!` <÷u͵³3gΜ™Ý³ež9ç¼ÍÖ\æî`ò 70é¼vÎ{›ÇßÞL è{ã$îºa©O}I|Ém•ÿv{s‹AÜyç¨Ë?eêŒäØ;0xÂîºIå…×~'M?°+¸Îú=ï<ÿöamÖ›º…[.ËâÉ/âY÷ñCLÚó/ Jdʽ³9ZXQÝyËHZ¬ûˆiïÇ“©;ˆkÞ‰®ÑéT2Ü 8A*ï4T!ÌE•Õ [$Qa~²s K/7òÈΨØ(Lì/¾ó^)»?…èfM÷ìcï.ࡃÓr¾F àVrÞÿ‰uiAêuÁ]Wµ&í—Çù#Ç#—EŸ|Ãðÿ»–'ïòñöH DÒ¾ÿUÜ1Ðà~`[”èž\9²{Vo&)-¯µ!§¸ÖžíÌÞ r’’È‹èň¡Ù·< ô|R3=•¶6 ¦ïa/†žƒúÓ)k-YJ,íûŽäª¾¶‹XA¶­Ù€ë’K¸êÜå¼¾d^KÝGÜΘÆþƒG[Aª8vpÏ…u™^ÔaÜL°>-@TÇ‹¹õºÎìÿù1þ(?òGx‹VÔW³‰mÕžî †Ä›ŸIjzÿndî êì¾íl͵qFç–hË·{G®yæI®©¿‰§'ÞåLz†Wn"k·g¤ˆÕ_Ï&ᵫyô¶BÞùe;…Ñ]uËeÔÿ˜o6„¶2ѦK;Ì™ËIÈ*ïØ«úÙS5Gþ-`¯ÆsodóÛÌï¸ô…[x~b$ŸÎß@Š[ÁÝ€Ví등pgîgáì%Œyôz&_çåÝ_·“gn@÷¡×1¦•Ž‘vtÇ+ŽŸ¢Í_ñÊ÷½xyTWÌþe¥Öù·Íâ¹wÛñÂÍÏðV‹ùæ·uìÊôbŽlB×~Cua}v}ô$ïo¾š…8ÞŒ‚ÕÌ_êaÊ ¾üþUò[_ßó3ï̽€çî|Ž)M¾aÞšD²üaÔo#Ç¢á†wyîϼҿ«'M;u¦[è_#HnÊVRä.!Žàh~3 !„Bä­l6ÛÁV»V«Ÿ¯øGcaa!yyyèºNDDÄÁ®›­V+qqq¸\.l¶0‚¥‚ ž›I6¤]sµÛ‚Ö–n‹X1÷oºŒîBçÈ¿ø+×@mÔ†öá¬IÈ…’¶2б•ï?\Ì^%ŠØ8ÐScÆ™z}Μ¿¥•  DpÖ%ýh°óK˜«UÉ$mÏN´0;f-’ƒÎ§ÁöϘøÑ2 ì¨J*k¾}…ÇóüoX?~ßô)%Ǥ |ÿÉ2Ò´hêÅAþªù,¿¬Ó¿äƒEû0"P›æÿIJßóhÛP%>ùÐ 9æí•pκ¤?M’¿áýMžÕ‚š·–ÏÞŽ£Ã³saû¿ø_ņÊí^M ïDÿ1¤.ÿ‘äã@ &~Ç+?„sÙÏpwÓpôÜdVûo}¶žà|Û¿âÁû³¹öšKyxêmD›‹Ø¿ã~xò!¾\™(~j³ ¹uð¨nÁ(Ê%eËrf<ú –\Dò­û’—f5â®ë¦ðñÍEìøòQî˜Yј€ÅŒìE¼öR3î™p=Ó>p`¤±é¯xùÉLü¿ÖRQ°t}p3·Þô sÐð¹2HXò SÞôñü˜Cù•_†Ä*Ÿ¯ªœ !ê.=óžã齸éŽgøoÓp‚9I¬þa Ï~¶‘Âr·Q $Ƴ=|÷½ØÿÐb#Hþ®…¼òÄ›üþ/‚å×Ù-üµ2!çô¢õGÛØµIO.ìèĬÃÍsx>˧2ò±ßpÁ”¹<6IçÖ›®äé×â°í'aÙÇ<øÞw`j˹½bÉúûo¶–Û4ªêŸ=UR…ÏÑÒª÷Ü%|Á÷gpÝ5—rÇS×RÏ®âÍKcû? ùÈ_|¼yËÞàþç¯áö«oaêØ”‚T6þù ½ÑƒçGåñŠãÈÆ™oñ}¯gÕ ì:/;¾{Š[v dܨ ¹â®¡Ô7tg‘¼y3žÂÜuÿò !DÕxøgá_¤èËêù«qU:nˆ›µï<Ľ»Ç1þÒ1üïòXª—œ½ÛY9çžÿf5ûÊ~W™:1þÙ_*¿?}O.‘Z.Ä‘Tù7£B!Ä Pq¢Ê›µU¾¬¼ùª<*U|~`RË̇N¡Ë´’éÀ¼)d^¥8â9­gŸó»WrÌÕÆaã‰G'Mdd$&“ ¯×K 8ØUU³ÙŒÍf£¨¨ˆ¬¬,rrrxö¹),*"2ê1hÒܵn*Ïý¼s×+yêêïMZN·'ï¦áÏO3}¹‹˜óïà‰ÉüßäHV4ZŸÄý]–ñÌs¿zmÐ?‡ûžFúŒÇø|Ë¢Mæ.\;åb¿}”——»ï¯d}Ì·“™º¼0d½Ñf4ÿwWcæ=ýd©å—Gãâ‰ÑoóTŸ·÷``E ïÅO%ý'™µ£¸ÕË¿ÚÞÔ™k¦ÜHÃçÅ%!oà–\ñÜÝ´^ô"/.Ì ùðIÜßõožyv!i)8zÞÄó#³yó‘Ù$bλ“'/Jæ•§æ²ëÀ)Ô­t»îanîRÀêE‹X¼b#IyÒÑVmQ/6¶òÖš7 Ûï¢H×°Ç4¥Kï~ôˆÛÏ‚O¾áŸ%º×\:{¿ü€ßö†þÔh7ô6.süÉ[³6à>,ï&œ?v$ÝÝ‹øpö¦â±| 3+«ÔóŒô45m^NJÝn{‡©]áÆ»f‘,R…GM!ºï½¼uw ó¦¼Êìé€b&¼Ñ™\ÿä$ÎÛô8ã^]Wí#SÛñÌxuñÝÆÔ5žjÎ@ÁqÎ=|<¹sîœÈ§Iµ­™~Í{!„B!„Bˆc±lñÂõÀ=€Ð`Éc d>2¯FÈ|è2£Ì|èDŸWå±²ùÊ–Ue]•IKÞ:Àj± iº®“““ƒÕjÅét‰ÙlÆ0 |>‡¬¬,<žâ‹šf³«ÕrxWÉ`Ëæ|†¶mE”’A£®P7Íd§žBpCwuíˆãïxÚ´kNQüÏìÙÔðÑUŠ«H 5览0ÂÌ*aôÅlÅf6pùË£M1‡a7ʬWм…¸±c;Ð2|‚¥ÊSÜ1m@7P©%Êèézs¬Û+–0ì–£絑¥Ëi2«dXÍ¿†×G@£Ô9«BLÔBV½õ0)½3bÐåÜ7t û7þÅseÝ~騦•wƒ\”IR"Å­²1ÈÉÉ$%9Ëm#éqZÖ-NC÷Q„«µl>&¬V Ã[tx+^KCzºŒ3ƒ+øì» ä+ÚïÖ1Žåû¢JoÒãÄ~~|'ç”;@®NÚOpËû 2¶˜µ–™nç÷!jýT¾^Ÿ÷ÀbÃOAê&6§`µ—=v~ÇÛ úóäµCùvýl’ªûƒÂÜŠÑ×öÅóÓS|[ë¼P“ç^!„B!„BœXä­ÌfäååѶm[EÁãñ æ†ahZñø½‰‰‰†Ù\n”„Ý[¶àí×–Ö´ëjbÓg;ÑH\·ÿ-èá¦]ØúE2FH¬Gq8±—‰ý(áD(’ |±Óðâ (Ä:(ø =Þ\>…úáNJwqª9Ãqà¢ÀepxÃîculÛ^7nísŸâ¥ù¥ÃÐÑuC9P½ŽeDT°p…Œ5ßóú_³°4éň ×qÓ£™ñìçl(¬–=Ä1Òƒ:šVvÄŠŠÒz[Q@5rØŸkÐÎVüžðäå6Ñ(Ɖ²+d¬,5’˜h…¼m¹¥o›°6¢Ïè‘ô4VñùËHÓMåÞ,Q^YëÏJÞ¸ó.Þ-w¥A 0G¼BÔjvïÜ2r0Wœ½—Ÿ7§Q › kA÷ ®àÆ33™ÿè¦ãÓ’Ôp³êÝçxeDw×7‘”Z½Ÿæ† ñ.~'æl¨ ›êšVƒç^!„B!„BœPä­¶mMà‘É“K-SÊ´²3Œò~……"¢ãÊ,U07³•1´ï“OGËf¾Þô]ëÙ¨_G—¾ù´²îbþ?¡P5¶íâT’ÒTêwíNÓÀ.~ÝS…@Rp7[w¹ª{g¢—.%»l±ƒIlJð3á´ÎÄ,ù‹¬ƒë­´=­¶ô¥lË5ª·£ñcLfËV?ãÚ·!lñ*JE¬€¢ Eõ`L&ª˜má˜máè›øîïéøÒ%´ŠSÙp<bU*ò–ÇÖ„f±™[²‹viìÜUÄíZ±fíÁ÷‘×–vÑn35k̹£Gr–oŸ~½’ýº)$ˆ|ä²Ö)F9éE5] !Ä1ÓIúæ9U¯eü­ÏreãHÂðãÎI#qË>}ðæm>Ž!ÒÂ,übçqÉÚŸ²Œ/¿:.YW“>÷B!„B!„â„‘ o ªÇ cÚ´iÔ¯_ŸÆÓ AbbbˆˆˆÀn·cµZQU]×Ñõâ°PQQ_Ïþ¶üL}»ˆOrpÙ¹g`Úò âþˆ}ëâ5Æ÷í}ï|¶¹•RUÃGÿñ£pÏ]Êö¬ ‘íûsÅfì_ôÿx¨BðÕÅŠïãâÿ ç–q s—ï"W·Û¤9æäŬI-bÍws¹ð‘aÜ46Èwn#+è¤ùYƒÝÇ`Ù¿“ªPN0ôDs³úÛ¹`ÒXî¾6ŠŸÿÞNºGÁKãÑ䬸ƒM¹UÍË ïòÃÏä‚sב»1t™Á¶\ra,é›Ù—•ÏÒ†öýúÓÒ³“…ûêXËÌ“×çÃjµ–¿RmÀYuDKM!=§·WÁV¯9Ýûô¦­{-_lÌ£¸Cð I+–³÷?çqÙ¿¯OÇçhÊÙžMÄîE¬Jы딵1çŽE_g‹dÞª‘!»Ó 3HNsQÑ»Âç?š6[6N¿ž‹b !„8L ƒU_¼Ìª/jº § 9÷B!„B!„§ òÖº®³qãF €ªwΪiEEEøý~òòòP]×ñù|[í¹\.ô Zø¢¸Ùº)GÇF¬[³ ßÁXn€„µ X{žAæ’md•Žñ¢'ÿÈ;¿E1tôíŒm`Ç(ØË†§òñOÉè6kتI³yzJW޽˜ëî…Só“—¶•_>Z ¨¨ûðüÙŒ7”ëîM„ÉKvò¼4ŸvØÃªÒAíñ¦AúÏLy<“QWaô-—¦àse’ÿs½GÎ!Tpû¼ý}×½“'.÷’2ÿ-^ZT€?v —ß0ŒX‡×OÚöÕÌ|áÖ™±Ô†Óp óûýƒÁò[ó.r<œÛç΋²cV‚åg¼õW>Z²‘tH+ÜÜøúsƒ÷fôµ˜üyìMXħ¿®#·d¼]5º5ZPÕ\<¦ãa» ìø‰×fÇS^Û× ®ãõåR!„B!„B!„µZuvz[Y^å­SŽ0_•G¥ŠÏLj™ùÐ)t™V2˜7…Ì«€˜Ö³ÏùÝ+9æjS—‹§°]?º1XUUÁ…Ã^îú€;“WKD}"m‡"†º'›¬|/ª=–ØpKÉR–Ã'1±ÝŸ<ñÜì*ðà è š±Øœ8aG×=±Ï…ÛíÁë` ªÉ‚=2[Ém†¿·»¯/€Ž‚j²æÇnÕ¾Àþ‚ýäúìDÇ:CîVàÎÊÄk%Æ2qÐMn¦ -º>á¥Z¶?¬œ†ª ³Å†=܉E­h%ç¸@%2.Šâìt|®\\…^‚†ŠÉC´Ã 0/?PüÚ+*š9 ›3›Y"¼µÕj%Üé,gÐõ®ÔUTMCӴúY6ô @É{E5a2…¤Óøü*ºgÍŒÕ\~ûöü‚|>ßaË3ÒÓhÔ´yŽR!„B!„B!„8>–-^¸¸ð:,y „ÌCæuÀ™]f”™¨âóª‘  Zœ„[œ”~ÅlÇe§¼ðÙæðú”mL8brØai¢”^úo·¯J9ËßGyçXÅâŒ!¦LFö¨zØ+È[Ô<¯×‹¦iØme+Œ‚j2c)w«Ã)ª†ÙRI'äª ‹õè?®=EEåx…B!„B!„BQ·IWTŸ¢Õ¼ÿÐ*Ôrï?PŠÇ U¤ª8¹x<€r½5ËST„Ûí®éb!„B!„B!„â8 ¯¨F zÐ Xî:EQë¦VˆºÎ0 84µfodƒ¸Ýn|~–C!„B!„B!„ÇyEÙþÙ]Œ+g|ÙCT­’.g…8‰ù|>ü~?f³«Å‚ÉdBÕT”júüpzP'àóûñz½UÞÖYîxÂB!„B!„B!„¨í$È+ª¬¢ñe…Å ÃÀçóÉ8¸B!„B!„B!„8®d€T!„B!„B!„B!„¨C$È+„B!„B!„B!„uˆy…B!„B!„B!„¢‘ ¯B!„B!„B!„BÔ!äB!„B!„B!„Bˆ:D‚¼B!„B!„B!„BQ‡HW!„B!„B!„B!ê ò !„B!„B!„B!Dbªé!„ÕG£ÍU/ðR¯•Üß,vkºød='<Ƀ›âPžŸ=²ûëG¸ëóDŽü×ÅL£sFsÃçѽi8Fþ^Ö/ú†…e¶Tì-¹pô.>³-MëGã0òÙ½i1Ÿ½7›•™aô¸¡²2(Dt¼„ë®Ä9íêaóg³cÅÏ|ðñ/$œ27„‰S^ ×5—½’mwÓáúWy¶óoÜý¿ïHÑ‹?Ã&GÌâéøöŒÑ‹öqvŒüÖü<“¿8÷ê± íÙ†úvüäuÌýàCæ$„Üâ)õ^Ô}Š9?ÞM£ç®âα«¸ïã­‡uÛ|ˆ…Ó]Dóü%<ùeh€÷»þ”/žÂ°!=ø|Ó_HUBqJ2µåŒ®aìün é!h’W²"}½ÎjÆ'Û’ÖTºQæšØGµço¡Û„ç™|n 3þ7Eyu-!„â òÖš Íš4FQŠ{£6 Ã0›?ÐU«n¤îKGQ«³Gn!Äñöo¼¡ì6À1zœ}nâë¼úØLr ¦ó îšxO9^àÞw7â6 ¬ý<ýä Xò¯}¾™ýz$mûŽä??Nãÿ{”×VåaXOc¤ÿÐñŸyé㲂vâš·§Kx6¹A7i>ÂÙ2mp"Oßý ñÐõ@þ´(8ÏüOO<‡ÜŸ?æ‰iÛÉ·4äŒ!ã¸ý¬ú¨¹‡RA;qõܬš=ƒ÷3ñÅœÎÕw^Ëý7§së”?ø§’2XÚŽâÉÇ/Åô×§¼øþfrìm2aO>¨rÿãóH‘Wâ¤W;êZÅÛ–×Û‚£÷ Ü¥}Ê+“?aG¾™nåÉ›ïçµ!yló6¼¿¥çÞôᅧÝwÎ`MILê½8(&Jê|¦ÏêÅËWßÄ•+&óaBa^­1;DP¿–øŠ: ¦°vC6cÎíD[í/Ö*H'„BœÄ”ð†4rxIMÍ)Ýdp?{Ó aÓF˜IB¯¡tåýL­î2×Ä>ª? gTvgá–º˜¿Bqˆy눶­[ñúkÓp¹\X­V|>N§]×ñù|†A0XüU¯( wÿ÷^vïM«Éb !Ž‚Ål®–ïv›@ €Ïç;êm¶òí» Ø’[ü×"+þ^û¬oßx)ç~½‰ù¹Qœ?nM¶ÎíÓ”Œ¹‡Ý‰‰äGü“ÇâǾb—³!Ã]lYºŒIÅWŽSSv²þÀŽ‚>üA ¿Ï¯ªÿV”Xú_vQ›gòð‡’aì#å­\"^~–1¡i½›ùrêæCÏ÷Î磟úÒsdGZi°&PA”Hú]q)-vËÝoÿÊž @*ï¾Ù€./ cD×¼±^F&'¹ZS׎î³BÑøîýߨžk~’~û‰¿FžÍàô/y{ÞV² €4–Î]˜~ý8­¹ÆšmA©÷âä¡j¨Ù=ï=¾êý,Wß6Š~V~·ÍJ±Q“™Mű[ìŒ G 1a å4÷B!NzŠÝŽ…Ez™5> =´H'v|5”®¨œ¯çê.sMì£úó÷°ü{¹þC™¹J“º–?B!ÄA•ö(j]×‰ŽŽÆív³råJŠ¢——GFFäää™™Iff&;wî$33“ˆˆðƒ-{…µŸÃé¬þ<íöƒ= }"»JõÅhO²Ö†-50µ¡k»V¯+ úHVȆ›ð4êL×z Fö®†‹î}Œ{FžC»hó¿>&Ì­èØF%qÍz2C÷Haã–|*ÿÏc“•‹a±`©ìÔ˜Úн“™ä•«I (÷lg{a8íÚ5/Qqò«£uMÏL"1ô3Ì(ÄU$'i7y¥»qcÃnSŽ[Y„¨Q¾Ÿ1‡Äƒ¹ãŠößJVAÍ5ªzÅP®, !„8Eek[:EAU54­xR¥nîãX·;šüýdäz‹“ÖÅü…BˆÒ’·Ðu¨¨H ÃÀb±`2™ÈÏÏ'33“´´4š5kFttôÁ@Nll,Á`¨¨( ]µ6]ŽÔh;úQîi³Œg^Z@š®ÑfăÜÚv¯¼ò©UŽIçóß‹yrêï¥/< Q………¡UZWœ-zrÑùÝiÓÀ‰æÍeÏæüúg<•4ÔÕ4 ‹Å‚×[Qÿ‹å3ü>|eë•§a8J˜“p³+ßuØÿÝU€‹6D8T02ù}êäž7ˆƒ®ã…+odïª|þé÷,O=º2…R,œfƒ‚Ãöoà.($ô£ÄwC/HŸÎ-hi-Иí˜YYv jL IDATù>¬„[5Z}žY£K­ÁdUÉpØP¹•FœÌjS];†×‹·œßþ€¿Ük&bÐRïÅÉÈŸøoÍ9›GÞÌ•+áSÃ(]Œ\²r!ª^ &vUРJt½(pï&»âÁ}…Bˆ“Ú¡U(õiÁn3¡{ÜxŒšKgîu'Ÿ?x.î_ôÿó6ÿy£îíãxŸ÷“-!„§6 òÖ†®…®ë4kÖŒuëÖaM›6¥qãÆ¥ºiv¹\¸Ýn6lHTd$º¡SÛFå ø‚_Éσœ”¶ê{È?Ê*_ü>¹Ð*N &Så5UkØ›1£ÏD_÷+_ý¸¯³ç\<€+‡ê|8g •ÔŸc ò*'Î2-H"™î F‘‹ŸBÃ' îR‹UG8NܸKjg0­¿Å‹¿Ï&¼e/FN¸–Ÿ®ÇsÿÎ ×Që ÃWHa@!Æa?lÿÖ0ËÁ€ öÓ¸ù™9{÷W¼úâÛlÜç"`(„_ø ßt„}xݸýA¶Îy†i•m±hpUÖ­¥'‡S­®Õ¦²Q}üìøö}¾ëù#oÅêO½x û¡ÕÁT6oÍgÌÝéd]ͺò~2hM8½[,Þ„Íìà„Bœ¢Œ‚TöäYiÓ8 eMơߊZ}š4„ŒUéøj0¾é+z`jÉtÝ+¿YÛÇñ>ï'[þB!Nmµ©‰§¨À–¼^¯—¥K—ÒªU+ºvíJdd$FH×jááá½QQ‘u »fŒ¥ðòçë:È+ÄÉÄlª¬c ízžAìÞÅÌ^OJfû“Ö2wÎ߸Z÷¡G£Ê?ÊMÚÑßê¡ÖëH—Rùª4>»Í»HH B`;ë·øiÕãtê— Ûèrvlé[ˆ?¬‰}‚¤e|òÖ\¶9ÛÓ¹qqþÁ fæ£éUÚŸÄÖDƒVÝ;ºGÇöÑ¿ÜLM»Ñ=&‡esæ±6ÕEÀ0Ñ´yÃR7À”[†À6&øiÖ¦!ž´4öí ÒÉ(q9Å) Õµcú¬8ZRïÅÉÊ·ƒ¯güDjã!Ü1¼y™ž™}l\ð;)‘çsÝèö8«cfš\|5—6Ëà·y«+½±L!„8©w²f½‹Ö=Ï*õ?ØÔ¼=æ³~Ýîâ 5”ÎpïgçÎ]lßQ<íÜW@°î㸟wK$ bmÅ7­ÖÅü…BˆÕÙȳ²Knå­SŽ0_•G¥ŠÏvRK¦òæŠÏÛ &ÍZ6¬ä˜«ßïcðÀìß¿Ÿ¶mÛâ,·Ód2át:±Z­ƒA†aABBaaa,[¾“94xd£ÇSx¸¯›e«R(¾Q_Á~Öõ¼øÈµœæ]ÃòÄÂ’´Vμ~ “Îóò÷ʽ4ýŸåb§³×M¸Šq— eÐy§ÓÒ‘OÒÎýVé‚JT‡~ô‰ÝÍâ¿“(44Ú_ù/޶³vùN\†FÛÑ1éìBv:ú0þÚqŒy)C.ìEç:©;RÈ „ä•È+SðhõésÓÿ˜80†äu dúlÍz3úÚñŒ;ŠË‡\Èù½N£]=/»·îÃ-¨D-âpØQ*úÕšÒã¢Î×-bMzñ˜ÜŠ¢¢yqtìA{}ëv»+¶EQ<O©e…n±õâÊI­wÆ`.jEÓNõ(LÏ£8iqÎXîߢEðîòýø /{RUÎ5’óê°/³œ8}È Ü6$œÕï½Ë¼ÝE(Qg2fLw¢õ †¡Ó‚^Æ3 Q ?ÍZAŠÏÀÖ†Ï$6;r5Âm:nÏ‘ÚʲÏÕ£ÒÍ”Áž,–˜–œ3æÆž…Õ½•ùóãÉÆqÖ >´³d²=9%¼ §]<žñý–Á²ïV°G§ü2°gŸ‰^cÇpa£ ù.ª#†&-ÚsV¿3ˆJßNªçŢΫ-u­¢ÏŠ`ñgV\"?/L ßPË›Ã;,œ=f<Å$±bsV.ú” òªD´=—ÞщüòüüÞgÒ^]Ãg¯¿ÎŒ¿æ§\t~ ƒãvóצL‚eƒ¼j =®¹+­ãÕg?%ÞkA³vbìÄ«hµcÓgÌäÛ…ËÙ¸»“/„=Òͳ¨Uv{%+[Ð㜦ä®]ÎŽÜÐï'?ΖgÓͶ‡U[³*¼£SA¡ð(ƒ¼hóyå‹®ÏÆ¥;;~yŸ©Ÿ¯'÷@/Ì9 ,[ŸOƒ³qŸь|í­),|ïM>\™…(Z4].ƨËF0fä0.½à šú61ë­™ü¾¯¸£¡àþ$R̸ðòь֟.Þµ,ŒÏ9â7±wïzV§:é>p8W^1œ!}ÚáHù…·~Ó9·}¿-ˆ'§0…„½6:÷ÆUc/cèyˆÎü3Shw~[¾/ª7•èŽýèÝ0%¿üM²§®å/„' ò»êìð®.yUä–ÐÕJ¦ó¦y0Ózö9¿{%Ç\mÌ&•§ŸŒÓé¤^½zø|Å‘ììlü~?º®ÅbA×u, ¸\.žyîE‚e£™‘}˜øä@RÞzšYÛ‚Ö뿜‚¹Óetk~zå¨M1éþÓY3e ?ï7Órø$þ×/ïÜ÷«tft_!Ú™w0õz+³Ÿ|‡¥yGª;-‡Obb»%<õÊdèå?ÿßi¼?qËýv,š‚ðqÁƒL¹p¯<3—]Á’íZ.âñ77ÒôŠ;¸¾ý.¦?õ‚áXUP"{s×Ù;õQ¾Lƒ`À‡_7c·[ªõÍ/Ä¿U/6¶ÂuJÌÙ\;¡;{¾ú€ßö„Vh•¶CoçrÇŸLŸµÊ†·ÍÌÊ*õ<#=v;—“R£óõ¯òl§_¹ûÁ9¤ÈÝB!„B!„B!Ž“ó¾[Üø)ìK!óÁùÁ_½Ìt¤à0U|^•ÇÊæ+[V•uUf:rQÓ, &“ ›Í†Éd",, ¯×K\\º®cªªb6›±Ùláp8ðù|X- ‹|¥3ÌÝF|ú(ÎjÓuÛ^Ìm»Ò™-¼÷÷f<€Ó:9YºÜEt›¶4(ˆgsºz0t®g$“†sÉ |ªÅžœÀnu-«,Í«žÑ!ôŒ$öXJÚš+¦0to!Ø,XBÒ†…–Cnâšni|òÄû¬„V²‘ó¿ÿs 7ßñ ÎE‹X¼b#IyæRÛ Q'Fñ'þaû‡:x®ö[“”¼ ÂÞ‡Þº‰åS¬“ñË Ü3s›t)„B!„B!„â”%AÞ:Àj± iº®“““ƒÕjÅét‰ÙlÆ0 |>‡¬¬¬ƒcošÍf¬Ör‚¼J[6ç3´m+¢” u턺i&;õ‚Џ«kGÇÓ¦]sŠâfwȦ†?ˆ®Bh_ÇjÐOa„™U¨°ÃØ£cx}´Òû)/æ¤5»˜+›«(f3­šÇ±v‡çP°K-dÕ[“Òk0#]Î}Cǰã_ü8÷WÖí÷ž™5ÈÀ¨pL^Ã[DV¬Ö²ëMX­†·ˆÊÞÑF]볆wØÎ'Ä™…¹àB!„B!„BqJSkºâÈÌfìÝ»›Í†¦iºiii¤§§“Maa!š¦áp8Ø¿?.— ³¹Ü¦pìÞ²o‹¶´ŽhÅi]Mlúg'º‰ë6ào߉-i×¶nNÆ ´('ö2%<‚Ń»°z¼%¹V­;å¢ |𿉼ú—‰þÿÙ‘¡[i„…›ÉXó=¯O¾›zŸU–s¸é¿c8­ìAQÃôÃúUáÉ!Ëm"&ÆYº^¨‘ÄD+äeçVz{E¥y×F†—¼Œ Ò÷—?e¹ü5]B!„B!„B!„¢FIKÞ:`ÛÖ™<¹Ô2¥L³VÃ(¿¥^a¡‡ˆè¸2KŒÄÍle íûäÓѲ™¯·}×z6ê×Ñ¥o>­¬»˜¿ÃOèÉjl;ÚÅ©$¥©ÔïÚ¦]üºçÄ’ôÌ$öU²¾˜ÎOmæÊkÎeÏô%¤Œx©˜má˜máè›øîïéøÒ%´ŠSÙ\Ai!þ@ €¦iå¯4ÒØ¹«ˆ3Úµ&bÍZ }­Åµ¥]´›ÄÄL*«}ÀÑ´{ ²ùƒ;¹ü(¶B!„B!„B!ĉ%AÞ:@U5†Æ´iÓ¨_¿>7¦AƒÄÄÄÝnÇjµ¢ª*º®£ëÅអ¢"¾žýmù™úvŸäà²sÏÀ´å  ( è»X¯1¾oì{ç³Í­„Æx1|qô? ÷Ü¥lÏ Ù¾?W iÆþE/ñªÖü¶:i˜5 ‹²9oΦã˜0h7¯ÌKÆÞ…K.Œ%}s"û²òñYÚо_Zzv²p_kÙ(Nz^Ÿ«ÕZÁÚ I+–³÷?çqÙ¿¯OÇçhÊÙžMÄîE¬JÑ+­{>¿´|B!„B!„B!N&ä­t]gãÆ 0U-îa[Ó4ŠŠŠðûýäåå¡( º®ãóù¶Ús¹\è´ðEq³uS*ŽŽX·f¾ƒ±Ü k°ö<ƒÌ%ÛÈ*ãEOþ‘w~‹bèèÛÛÀŽQ°— ?Nå㟒ÑmÖã=@±`É]Ä[wä™Ç3r×4¾ÜU€?v —ß0ŒX‡×OÚöÕÌ|áÖ™±Hgå¢ñûýƒÁŠ[óæþÃן ¸¸7£¯ÀäÏcoÂ">ýu¹ŠVaÝ ê:^¯÷¸•[!„B!„B!„'^uÆä*Ë«¼uÊæ«ò¨TñùI-3:….ÓJ¦ó¦y0Ózö9¿{%Ç\m òrñ ël+ ª Žð(Îðr×Ü™ä¸X"êi;ñÔ=Ùdå{Qí±Ä†[J–j´>‰‰íþä‰ç~`W_@ÕŒÅæÄéC«â»É_°Ÿ\ŸèX'¦*¯Êceó•-«Êº*“–¼u@xdá‘QÕž¯ÉQ8ÇáËU[ q¶Š¶RPÃ"ˆ´D¾*ìLnxb,]Ë}Wd/™Á”ï!¼>¡£›ð¼¢r•—N³ÅPï` ö¨zØ+:!j¯×‹¦iØmåW@EÕ0[*hé[OQQ¹^!„B!„B!„BÔmäÕ§h5ï?´ µÜûtEZÐ QÇPa ·Êùáv»«£HB!„B!„B!„¨e$È+ª‘‚4–»Î@QÔJ»•B€ap8hêÑÝ q»Ýøüþ#¦u¹\ÇZL!„B!„B!„BÔ òŠ* ²ý³»WÎX¹‡(¨ZÕ»’BTÌçóá÷û1›ÍX-L&ª¦¢”âÜÀ@ê|~?^¯·†J,„B!„B!„BˆE‚¼¢Ê*+Wq|†Ïç“qu…B!„B!„BQŠ *„B!„B!„B!„uˆy…B!„B!„B!„¢‘ ¯B!„B!„B!„BÔ!äB!„B!„B!„Bˆ:D‚¼B!„B!„B!„BQ‡HW!„B!„B!„B!ê ò !„B!„B!„B!Dbªé!„ÕG£ý^ç¾Ë¸ýÖOÙ¬éòq²ª-uÍD×_ç™®¿rÏ}ߤ×T9„¨=¬ý'ñä^¤ÎžÄmïÄã)³Þ|Î}|;ÙÆ+£ŸeQQè±]0vÔEœÓ¥ "Ì\YìÞ²†_¿›ÍܵøOàq!„µ“Jìé#¹uÂ`zµ‰Å\˜ÊÆ?f3ýÃßIôµ ݉(sMìCò?òk „âT¤Uc^ÊQ®SŽ0_•G¥ŠÏvRK¦òæŠÏÛ &ÍZ6¬ä˜…¢Ö*t»ˆ¬éb DàÙ·’õÓjÒÿu€F%öô! ižÂ¼7]Åÿ@Õ[†¯®—_ÔE'¾®U´­µ~[ZêÛX¼*…£ËRˆ“’©e?®êׂè°¬_ÄêýR뵦½{ž™¿g-!ñà* m†?« ¦qÆ ¾Ÿõ-_¿?×ïÁ߸ã®ÅÙú&þŒÏ’@¯BˆSš¹Ý8þïùQD®žÉÔ7¿àǵù´¾ôF®í’΢%ÉÖTºQæšØ‡ää×@!ê²”ä]éÀ/€!SÙç¡,£ÌüIMZò !D5Q‹Å‚ÅlÆd2¡j*J¥÷¿ü{zP' âóùðù|F]úSˆêÕ‡îÖýÌ:¥ËðoÔõò‹SÇ¿y¯V´­NÊ/Ó˜T]Eâ$Üó' ³{0ò¿Wñ×Ýï³±lsÞ2Ìí®`Ò­ÝÉùöQî{oJldÕ’Eüžð8¯ßü7n¹‹×Ö!3!„â¤e§÷˜´Üþ׿¹€T`/æDòö´«Õa)35˜îD”¹&ö!ùù5Bqª’ ¯BT‹Å‚Ãá@SOìPç š¦¡iV‹…`0H¡Çƒ×ë=ÆMt»ížv~Ì#›ºpؾt¨o‡üþYø9ÓgþMêÁÿ ‘3áÚK9·sc"5û·¯æ§O?á«5JÒ8Ú äÆ†Ó¯SS¢4/y™{Hø{Óßý‡¦·¾ÈäáÍqª ¯þ< ’ôÙ½ÜðÑNŽÜû«™&ç^Ííã/äŒæá¹)ü³à ~.³¥âhÃÀ+G3¤gš7ˆÁiä‘´þ7>xó3–gØ8çöÊÊ ÙåRnž0Œ¾ëcóe²mÙ\Þ~çâó«L·6cÀ„¹ªšE‡aR…þ 2á¿sˆºåž‰˜É#:qý˜¾tjà@ÏKbåÜ÷yíg?ý'\Ãe½ÛÓÀaŸ¸šoޞάø Åy„ò Qj¸®8*Ù6™Î·½ÃÔnó¹ñίHÖ‹?ÃŽ©>:’_ï…¨aŠ9‡_ßøŒ&¯N`âøåÜöîæÃºm>ÄÂé—^B˼E<434À{€¤¹ðÝ©ŒÑ‹ÖÿT!„§$S{zt·²ý«ì éYÆ¿kËö¤o¯æ¼—°‹`M¥;e®‰}T{þN¿åuž½ ‰Wï|ž¹u-!„â ò !Ä¿äp8°……Õt1Ð4p§MÓ(,<öŽ|ÂÏ¿“Ã>æÅÞ#>b»ãþÉñ¢ó nycnÂ:祆ÁïóÒGIFѾÿ8nyêyš<3‘—–çb„Á­OÞLçÕ3xæx2uõ[tä´ˆ,²ƒ.RgÜË™SxgÄN&ÝøF0P…?- ágßÊKô%gî;<ôüVò¬é1âZîíÙ%çPJ#`§A}Ë?•7wfà‹=‹ odòÝû¸öÑ…¬¬¤ ÖWòÂs#1ÿñO½µ‰lGFÜz />¡rûsH>bAÃ8ó¦ÇyàÌM¼ôàuü¾;H\+y|ò` >y˜~N&[‡(ÀÙïvî×Þçù‰ï²5ÏB«ÁÿåÅ»åÝá9lùúU&NßB–Òˆþw>ɤÉH¼þ5Vz\•–_ˆ¯vÔµŠ·-ä‘c«OÅÛþûz/D-`6£ì™Ç´™}yëú;¹nÙDÞŽ¯ Ì«5ã´ÎxÖ¯fCQùI&³zmWŸßöÚ¬–F$B!NAJDcš8½ìÝ›]ºÈ`{R¡qó&XØEQ ¥+ºË\û¨þüM„ÇDbsFa©‹ù !„‡H·ŽÐThÖ¤1ŠRÜþË0Œƒ]²†Îëzñ­^ºaº/E­Îa—…eÕ¦o(»ÍpÌ^…-|ùæ<6• ´™¹ñ[^ú ŸÜ9’þŸ­g^N4]3‚æ[?âºióH7v“´s'ùoòôõÃønåLv8Ó4¢€ø?³nWqëâ=IÛøçÀŽ>|A ¿Ï‡¯ª•z ¸âBb6¾Ë½o/*Ùÿ^’§f5ý® MëÝÈ'S6zž²ߟOŸqi£-deEeP¢èõå´Nú’_ý…ÝA€=¼ñrCN{s£Oÿ‰—×ø*/§©çöŽeÛ·_ð[²H[5‹oÖãÞ p}³£ä«X1â™5}> 9àg×üïùc\o†ïûˆWçl&ÓHeñìE\}ÁœÑBceBýXÏ¡UQ‹êÚѼϵ>UK½¢6P54$Íy“OûMeÂ=Wò×ݰ©Ü+³ÑÄFCvFW­ ™û³ÑÃcˆ SÀ%My…Bœz‡;Ü…e¿}¸ hÑáØðÖP:O9_ÏÕ]æšØGõç_È’—oæÊ>ög(ÍêZþ!„I·ŽhÛº¯¿6 —Ë…ÕjÅçóát:Ñuýà8œÁ`qóEQ¸û¿÷²{oZM[ˆ“šÅl®•Þì6@ŸïèÁ´ìÈ+=V}öÆ $jcèÜFcÞúöœÞÙÌŽ™«Ù_*™›–mÀ3 Ýã¶§¯à§cxàáç±|ó s¬ !Ûÿ¯ K[º´WÙ1óŸÒû$³vSãºV¶±Avf†Åе²!“Mí9³›…ÄY³'¤å^pw î+èС!êšÝèçh˜L „¦Ò ꪪ–±9¸;Bû¿ÔݸƒdíJ&7d±áváÂŽÃ~|Ç{¨Eu-娊}Ìõ©Zê½µH ™¯_ûš~¯ŽcâÕ˹í½-÷ô`TõŠ¡\YBqŠ2J=Ô¾tŠ‚ª¨”´ÁÐõº¹cÝîhò÷哞]<«ÔÅü…Bˆä­t]'::·ÛM||<íÛ·',,Œ¼¼<<º®£ë:@€`0H^^QQQDD„£§¤¢žà1B…8U8œÎš.Â9ìvü~ÿÁÖþUæóá+»I¡›BÂp:4”°pÂ-:ù‡ýÑ òpÑŽÈpÒ2X8å¿ì¹h8c†ÝÌ«×ÝÁžåóøèƒ¯Y²çXÇ ÅâÀiÖ)È+»W¾»Ô2sƒ3¹üŠ!ôëÖšFQÖâÎ]ÍvL,¯|aDX5Ú^ó*?•j®¨b²ª¤;í¨Py°'¸e+ò8t }W}ÈÒÔÑÝ.ç²3 YþÊ&J¯ïa/“AÀï/÷Ož"1^qÔ¦ºvTޱ>UK½¢–ñïü–WfõæõqwqÝòûø@×K×#‡ÌˆŽ‹ÅÄö ‚À±q1(ÉdUÔ¥³Bq’+¾AІó°n-8í&‚….ô´ÿÂêÚþdÐÚзw<Ô ¤ËºÔB!~§ÌÒÝì,²|õ é IDATÓ¹U 9þVÔšÓº¥Bîòl'°œ±þî»ûÔ}³l˳)-ißèÚ8Þ¯û©V¿Bˆß·ßcô¯Ñ1 ƒ˜˜ àM›6¬[·Ž””¼^/}úô¡I“&ûË–••±{÷nb¢£1ÌS?º©xús×c£éRcùa“ÂÙ”¾‹‰¢ˆãÀb‰|½kÅÛK†´B/ÕÑšoH­ù¸zôYÄì^Ä|À‡ß¬¢´ÝÆï†w_ôÄÒ’s.9‡–þtÏšÂûï¼Ë_/#;¦W]{>m­õ·o³Ùóê@kÒ^-«ÿ¡Òº:„6“²U‡Ð&V'Iìßf5n2uÒëœ3pîIfCîÁƒO§dÛ"Þé+Ò<Ý8½Måk¨ëX¬4p5·’ºÕ ñÌÓ‰­Þ¾Ú”î]ã÷ÿãfi×›>M Xôå Ví*%dXhÛ¡%Õƒµö!´‰u)AÚvnIÅž,vgUßöSYl{çÁ\·”ǯ¿–‘WŽåš;çõy²ÌÎQ8¢×PˆHœDcí7yŸ£q/ÄI'Îg¯Í`Wë+xpTûƒ23Y7{Ûc†pÛŸºâ>$S„•6ÃnæÊ¶{ùþ›ò·µBˆß¯ðfV¬.£ó€³kü?ØÚþ hYÄêÕÛ+3bœ rfY›7ofSzå–¾»½¶qÜ_w{ -š8+oZmŒõ !„U"R4¬¾Ä‘µSØäQ‰ðçÃÝÔª­¶}…Ê×mh«6í›×sÍÇL8bðùƒhժ˖-£{÷î´jÕ »ÝŽiš56«ÕJvv6v»‚‚|Ö¬Û€År*OØVˆê}1WVÊŠE›(Üÿ¥“IÙ¶å,\Ÿ6K½oN!Ž„ÛåŽ,ºMïËFÒe×b6X:_¸õ»|U'mœvápzûñÉ7Iäúü”íaÓN…žôŵ}=ÛKM0ŠÙ²rë·î!¯¸_ Hyq6[sœ~V"fÆz2JëþÆUüþš¹+ÊËðFE×RZ¥ÙY#Ú!Ž6=¨Ø“K9^: ¼¿ï‹î[¼±8›égÇ.þcÇpaB1»÷–£x[Ñ÷ò»¸ÿòhVü÷u¾ÙîC‰=›?]ׇXCÇDÅß‘Wfh«íÌøt ™“³3ÇM“’tÒ U¢œe Í•«`wiK.;œ3-{Ù‘À߉A×ÝÅ ýb°—¥1{öòà œ=ò|ºÙö²q{1jTμôÆiIŒc/‹¾\ʃ:úPÊŽ,+n¸Ž‹[é—†P=ñ´îØþƒû—½‰] ¾ˆí?šzIÙ˜Q±ÄÇEã±êT”«&JW¾æ—4ÛÊÌïRØ¿²CïáCé˜õ#߬=0û[qŸÆÐ+zR²à–𤋮áÈ^C!"q²Œµº>+ šÖ?G;ž|ì<êq/ĉei.cÏ ²àë_kd³ çn"Ã3Qt&ÊÜÉÂ/“QõO…‘¿‰ÔŠ®\~ãµ\”èÂÐÁꎥUbo.{7]Ó†Œžáßós˜ËB!Na²wô½îO\WÈî|¨Ž¹å¾±tÛ9™–Vu3Ô‰*÷[ôùD´q¬ëwqîßßãõûúâûù'RJC¬~!„8õìÌÜ–|Oe^I³ÚvðÏÕ7ê8ÆAû§´S9úwÊ0Lƒ˜èh’’’èÞ½;v»Ã0°X,x<LÓ¤¬¬ ]¯¼Ÿ«}ûö$''H×\ƒ“~·>ÁMÎoxôeU_~*¸úŽãéq§“5ýiþýS^Õ°Ógü“ŒóÎæŸ¯-#~Ô£ÜáœÍ[[;qÙ^´u@E™ÃWß%‘ñíd ž9ì\zuLÀ£(Ü™ÊÒ9³ù!­°ê®4ÄÑ ´g¸è9ú>Ɵחªð÷׆Yßÿ‡§fe‘xÃ+ÜßiO½8lãðÚ½Óýomnǰ ΠC7Z°ˆÌ øzÚR2}& àls—_~>½;4ë)+Ìa{òÏ|=} {Oý Ô¿{ªI"•ø¾C•ÊÔo²h=æ Û ´´ocaϲ Ê5í@j…‚­¤žC׎MX˜µ‹Í^㩊¢as;±š>*X”%²¾Ö¤gLçåY^®¸û)þÒÚ‹Q”ɪiÏòægë÷Ï@ nþ‚‡ÿZÀ7Œàÿ^º‹X«Ÿ½[Ö0ë‰0å×L@ ùPÛ\È—ÞLS¯ Ó_Äδå¼óØ',ªúßIpÝ^ü²÷Þô ßîg˔Ǹ{R]kîcR¼ì þúÜ üùº;xéÚ(”Ò,’}Í?ßèÇs£ªJÌçµÛpÿ¸ñ¼ò?7fi6É?ÁžØÂCÿ¶ºúàß8™¿ý5—›nÁÝOÞH—J 8›Ík~ࣈ¾åV g¤°Ù;†_\­û:%Û~àå‰ÿeAvÄ¿–:Ùk(D$Nž±Vûs3Žùý¸âdåcä7™Ñÿ)F5;ø\€-ÓŸäŽ-3fÔ…\sïpšz­èåùd¦®dÒÿ=ÃÌu¹àBñ»§ïœÉ?'ÜyÛXþõZvÿ^6.û˜‡ßŸÍNãÄ—û-ú|"Ú8¶õ‡)-(ÆW’OAÀl„õ !„Ë Ža&¯zÐ~õ­ú1­jÛ·o©¶¯Và•³œß«žk>f¡Ï>õmÚ´AÓ4E¡¼¼—Ë…aäåå‹®ë†ÁÖ­[Ñ4'žz›ÝQ­6gßÛx~L€›ÄZ?€“>7=Ƶ] œ9s™øúb L@ëÌ5ï¤ÝOðâ¢rÚ_6¿]àaxëýy¤˜ÄvÆŸ¸†ëßṩ›h Ö€½Ãpº÷<Œ¥“ùü‡drôæ†K›’ú¿—™´¡-‚öÒ(-/ÅóÇGxqhÏ<ð1©aÐ1D¹ì´¿lu^Ì“/ÿL®q¸íF‘Ÿ6ƒw?øŽ {üØÛœËíÿ¸ƒéïñÄä4¶n\÷Ïñ´[÷ÿû6…<ÃMBÛnôŒÝÃÏ¿î–/À~šÄÇ7XFkz×éÌÖ)“X´7Ž7ÞÀi铸ø—Ê(ž3sÇ Š§½ÍœŒê­[é~åŸfÌáµéœT±ºIhדó†œEÌæY|úc&þ>Íóòóküœ›“M‹Ömk)iáô»Þ奞ßsë½_’)ÿ‰8 ±àÍ¿Äñí3¯òUR.~P¬x[ôaü8/ùqƼºN>3„B!„B!„¿KËþ°¸Q9{W¯z WÛ׫íï›ák´54˜Žä±¾ýúŽEr.b2“·p:ûgíÚív‚ÁÊOEEÅÅņATT†a`š&v»„„ÊÊÊp:è5‚4 ¾-©dZ/¦s[µé:89½«Ÿ3¡Çèt^Â’"µE'ºxsY½±ªVÀSÌMÌøp!»•âÀÈú‰w&wå¥ñƒé37¥Å ¼/•hú =Ÿf›?ã¡–Qá°£*Y¬žö2¥îçøûÈsYüÝþ»ÓlÏŒÆi©ŒÏ;bâ‰Ñ¥–h×á¶K:3ޟ˶—¸¦Q˜å˜9ç\Ø™VZÎâÝelZ±ž¥ RDfÒB¶V\.›¤‡`mÁ a}1~ùŒ%Ù j‡~j+6;v‚‰ðéƒ:ŠÛ öy=½¯æÏ—´Ãª(˜á¶¯ü–) 3ð)ê±ÏÕ6Ž~+®óxìã{8§Ö…7 ²gMäŽ6r“7ØÏgø´ÙbÖ¿ÄÔõ¹ö2C”f%“šfˆýð×KB!„B!„B!$ÈÛØl6,Ëþ`¯Ãá °?°«ª*V«§Ó‰ßïÇív ±ÛlTøšX”NJÎ(úvjŽš¾kbOº“Æû¿¤Â¥C8£›‡¥Ëˈí”H³ÒRsÔýó£ÜL²qa­ÊþªÚÜ™Ù¡Ž¤]K•¥Å $µ´¦SG Ó6ôºÙÞ°XL2×'ã;¯bvæGÚžQ‹RP¥î¸Ôa·»Ýº[ժՊŨ§ `®aÁšK¸ýî‡ñÌŸÏÂIl/¶"áQÉFÛó.¡· þRu­Ýkš•ßCîPöm«Ÿ*O™ÍÛV4‹“˜fí9ýœÜ™˜ÂôÉóÙz*­éû•7î¹—÷j=i®(<ñ^ˆ ŸÅx†í@¹êR®9k7sR³)5¬xÚÑë‚k¸µOsK–Y¼B!„B!„B!›y»Í†¦i†Aaa!v»ÇCtt4V«Ó4 ƒø|>òóóñù|X­VìöZ‚¼J.i©% Oì@Œ’K‹žÝP“'±Õ؉¾ÁϽ=»âþ%…NÛâO™ÃŽjO5C:†Jåd÷*ªÂ‡U…V€T¬\V“ ˜ša/-PA9.\Ž‘Ú†Û‹,—ìa·ÖjV_#€¬V°òÍÿcgÿK¹|è•<8üjö&-aöÌY·÷àäºâTdbV ÅÖäì8˜aÝ‹YðÑ:J-–Ê÷œRUZQQÃ41~üرۮǂݮaü5R5›Á Šƒ€YDþÞݤoÎãê».ãü^ëÙ¶<¿Îüfc[gÞôS˜ã?ѽhXýÌûúYSoäú;ŸflËh„(/Ì&#m5Ÿ>ü2ߦžJÑy!„B!„B!„¿ ò6V«…ÒÒRŠ‹‹ILLDQ|>ßþ`.€iš˜¦‰¦i¸Ýn2220M«µÖ<¢ìHK#pn"£réÜÓBòg[1ÈX·ÐÝ8-ªœÎ`ÓäLÌjñ'ÅíÁuPÑB!„B!„Bq*‘ o#¾i#<úhcÊAy‰M³ö bE…¨Ø„ƒŽ*˜©lâjº (¡«-•©é: `l[O’q=–ÐÁ¾¹[BP-Ü©Æw¦s‚Êöì}A#•¦={Ñ:¼wEHÒ·“¼1ĸ3º·x ùû»m'ñŒn8s–’^dîo²áö ]‹…ÚÂmGÚndT¬N/V§£4™éïΠ닗Ð!AeCfähÑ8…Ãá:‚¼:Û|»ËJѬÄpæå—ÑaûL¦¯-ÀWªƒ™ÍÖm~ÎìÜ‘¨ÕkÙ·¤µ–HçØr22ò꟫înI«8(H-ª·\8|R$7B!„B!„B!Ä1"AÞF@U5.9’W^y…¦M›Ò²eKš5kF\\QQQ¸\.ìv;ªªb†QîñûýLýjZí•·‘²Ý̓ÎÄ’6™aPŒm¬KѸ~`?\»ç’^®Ô|šÁ_?Šò™KÙœ¯Ýe0× kÃÞù/²ÆGAR?«§ÏäÂGFrÛµ:Ó¥“¯{hÛ÷RF0YöƲölnϤd÷.J¼}¸`Ð:Š’ŠÁ(#¯èà ÖáµÛÅÛƒK.Œ''5ƒ=ù%mèrî`Úû¶òÞÙ5)«@0ˆÝn¯õ\¨¬¼Òƒ–ÚULʪ("7¿Tí+–³ûæó¸bHësº[sÖ…gµc>+w €Úâ,Fœig×ÖìÉ/ÅgXð4iK¯èT‘Ä—IE˜õ ¾`HV}B!„B!„B!N%äm à ))‰!C† ª•³5MÃï÷ …(..FQ à  WVV†QÇ _”r6%gáîÚ‚u«Ó îå†Ù¸v#ö³Ï$oq:ù5c¼™³y÷§†þ3×6sa–îfÃì—øø»L §=‚‰°*êÞy<7±€Qc†sÓ£‰²(ÈÜÀ¼ßâ»­&.Ç‘´§ožÅÛ3?ü&^`çÜ7yaNÖQµÛ `)¡ø‹¹ò–‘Ä»­˜Á²7¯bÒó_³ÎoÅvU‰Æ) ¡ëzí³yå ±ƒ²ïM¡ ªêpѦ~n2ä¢?0úÆ(,¡bvoœÏ§?®£HÑP³x{ÂgÑûÂÞüÑëÀB_I.;ÓðÉâõd5Ô:ŸncuÙB!„B!„B!„8 VrÚ£¨«¶sJû‘<*þ¼oSÚ¯¾U?¦Umûö-ÕöUÀ ¼rö€ó{ÕsÍÇLiq¾ŠR ãðÖyUU·7·Ç[ëùpy…ealQM‰vV ¬ú È/  ºâ‰÷ÚªŽj´¿lu^ÄÄgg±­ÔG0l€jÅæôàq;ÐãÝd†*(/¯  c  Zì8Ü^\v­êx8íËŠ(« ›*w±+¡Ò½]ÄÆ{ößÍÐp»Ôú¼ý¯K©JtB 6‚T—à …+/ŠŠfuàôxqZ%Âû{a·Ûñz<–6 ª›å të†N8®º)CAQ-X,Õ·¦£&æþ𰊪ihZÝ^€’ÒR‚Áà!Çss²iѺm„}B!„B!„B!޽e XÜ„ЫÃÕöõjû•‰4ƒ6³Úq³–Žä±¾ýúŽEr.b2“·ðFÇàŽ9æõZÜMHpz\uÆ‘à¬ëY ª#Šh[Ô¡§}¸eâµô¬õ]eR°øž™‘(Vž ‡Çêiï@±yâˆ;¨2«·)‡¬FA»µ=~]l¸bšàj¨ûâ”Ð4 —³ÎS‚Åæ¨ýŒªaµÕ“,\QѬ¶ˆÓ‰ïãóûk ð !„B!„B!„¢q“ ¯8vü«øà+Qk½ÿ@Á€j)k…85ø|>€½¿ŸßOyyy½e<ÏBB!„B!„B!ÄÉD‚¼âR0t½Ös&Š¢Ö›VVˆÆÈ4M***‡Ã¸Ýn4õÄÞÈ ë:åååC¡Ú!„B!„B!„B?äÒÙüÙ½Œ©e­ÚTípÊM{Bœ<‚Á ¡P«ÕŠÝfÃb± j*Ê1]úüP&&†n‡ †BãÚžB!„B!„B!N<‰‰ˆÕµVí©ÒžGË4M‚Á ¬ƒ+„B!„B!„BˆãJHB!„B!„B!„BˆFD‚¼B!„B!„B!„BшHW!„B!„B!„B! ò !„B!„B!„B!D#"A^!„B!„B!„B!„hD$È+„B!„B!„B!„ˆåDw@!„Bœ¬4º•§»ÿÄ_þ>Ɖî¢!öA2ùÁ¾dÏø~¼ÿAç­ýîfÒß¼yãX¨~F#®ë\uÙyôëÚš¦^áòv¥¯ãçÙ3™³!ÐoxB!„B!„¨ŸÌäBqB)QƒyìõqôÔNtOê÷[ô³±¼BüÖŽ÷ر'N=mFÜÊŸº9",o£ý¥åå§n¤¿m ß}ø:'>óïÌ`µï4ÆþóYž•ˆK9®B!„B!Äa ¯BˆH!ºïYô´Ÿè~4ä·ègcy-„ø­ï±!cOœzô¬eü°1Ž‘wަ{q^KÇËyh\OŠf=ËOÂÌÅkÙ’ÊÚå?ñÙËñðG™tûnèiÐX!„B!„Ç›¤kBˆ(Š‚ÍfÃfµb±XP5…“c*‹‰‰¡„u`0H0Ä4Í£¨Q£ûøWxÄ3…¥uå†ËûÓ¹‰ʲX¿`*|±Šìð¾² Q].âº1ó‡Óš¥ùÉݶ–y_Naúº|ÂUeÜ/à†.e@—–DY”äï!}å·üï“õ´÷»´5nUṯ†:;¦>½Ÿg 7ØW…è®sýµÑ¿Ks¼ªŸÂœ­ÌyóßLMEØ¿Êë}4j*ÿJîĘgÓµ™-˜Ï–ßòÁG?²Ùç¢ß-õõS!ªë%ÜtÝPÎéÜg¨€-+æð¿¿gc©yŒÚâdrŒÆVEÕg•½çÿéF®t­chêOØpúTÞÚrã‡Ùø³uÅóO]BÁ{ðÔü\LÅE¯[žæñ¾i<óðçpÍD{┣X‹ùù½¯hñ쟸çÚ•<øñ¦CÒ6`㌡¤mÉbž˜’FÙ!FÙ1çSf_ô #‡õãóä%”ÍŸB!„B!„8&$È+„õ°Ùl¸Ýn4õäL|   iš¦a·ÙÐu Ÿ@ Ðð“ë©Õ3à6î·OæÕNbc!ÄuʽÝÏ“îçyà½$ÊMpt¹†=1OæµÏSÙkD“8ð*nþ¿ÇiùïÇxme1¦ý ÆM¸™®k>äÅ7’¯»HhÛ…ÞŠôr²?|„¿<Æ+—fð¯¿|BJ #Q`ÅÑu ÿšx)Ö•_óÞó©äÝ´JŒ#¯* Qÿª®×ý‡[xÐ=7ž}¤œÎ6ƒ¸cÂL¸i/w½µž5õôÓ–8Š'eɧ¼ðA*…®D†Ç«üõñoÙ©}BœLŽåØòc§×s_¯4^x7Kv…iÒ{4ÿí”My’W~ØIqpiùG8þ¶Îàå)§óâM·rqÊóÌÍ1ñôË=CLæ<5‰Õ%>{â¤X,(YsyëËþüçºÛ»âQ>ÜXG˜WkI÷Ó¢ð§¬%¥®?ô¬ÝPÀÕƒº‘¨-am¸ŽrB!„B!„øÍœœQ !„8 ¸Ýn¢¼Þ“6À[MÓðz<¸\®£ªGaÓÞ›GZAÓ ’Ÿ2‹×>K"æ‚ ŠQ@‰åü1Ãhµy O¿5U[v±c[ ó?ý¯-²pÁõCé¨âiNKoiK—‘´}Y;·²~é>ÿ~#€¡ é&˜¡`ˆ`(DX`zËyW¥õÖ/xòå,Þ°™ôëX0{>I%fÄý;p½›™ööLÖçø00(ß¹„©?í º×tÐêé§͹׌ ÝŽi<ÿö¬ßžÅŽÔE¼÷ßïØ{ÚH.ïi=ú6„8™ã±…Ö‰sΊc˼¯Y´³Ý ³v:36X8-±)å>ý¨Æ_˜³ß棭¸ù®‹hÓ‹qwžGŬ7™”ìÃDÆž8E©*:;¾}Ÿ/¶5å²»FÕ¶Y‰!> ó ¨;vkP[ˆéŽ#Îqrd3B!„B!~ïOäâwNS¡}›–thÛŠm[ѾMKÚµnA»Ö-hÛª9mZ6£MËf´jž@«æ ´hÖÓ9(B)·ÛÓÑx×s9Gè5öf°­F.F“”2µNœÖ^K'zžfaÛªuäÖ(VÁ†ÉøZt§g³`5?¬‚?>ðOî¿ê:ÇZnêÈX:V¶ÿë*²ÚÎGÖ¿ý×›»•-E5¯·¬´œnÜõ}—méD¯nV2]EVµ\}×f6WxéܹÙþh¸ !N&Çzl) èá골ªZbüHÇŸžÍ÷o~BRÛ±<ñì *šÎ+_n©'u­§ðNf¼ó Í.åîkºPù—M71D¼ÜƒÜ!„B!„Bœ $]s#‘ر¯¿ö eeeØív‚Á Ã0ö¯Ã©ë•ßr*ŠÂ_î{€»³Od·…h”lVk£ðîãr: ‡ÃƒÁÃ~® <ø;\_>¸ÝŠÃƒ×jRVRvÈW½FY)et"Ê­‚™Ç‚—þ¬ó†rùЛx~ì­ì^9Ï?Áò¬#O)­Ø½xm&%ҶDÞ¿}×ë÷㯵¢ú£¯Š= ¯]£ãµÏñåèg°ØUrÝÎýAÞ#mCˆ“É1[úVV¬*æÂ‹¯ ÿšÏX‘­ÓcÃO¯`å[iÔ÷)éø33ïf-¿†§/u³bÊ|¶‡Žäê…hœB³xó›³xáªÛûë#|jš5ǯYD~Ä4‰Ã¶:R•«Ä6‰òÈB!„B!ÄIA‚¼€aÄÆÆR^^NJJ ]ºtÁápP\\ŒÏçÃ0 à £ë:ÅÅÅÄÄÄåÅØ™…ÚˆRÍ q2p{<'º ÇŒÛå" aF<;§’âöà9(ö¨DE­øÈ+×1ýe”šGyP(¯ñe±êö⡜Òòª)¶z1›|Á ¾ÂÛ¾?W»‘‡ÿÕ„gï{‹eGv]f°‚аB‚×}HûÀaôïè>Í@9å!Mß<Å+KJê‡I¸¬¾Ô—B4>Ç|l™¬þè%¾|äþñÊ ü!_ÞV–ø,Ÿ./®w¾àáŒ?G—+¹õBÔõ¹ôþÓuœ½ömV”ÈlDñ{bË´˜~öD®ºs«> 0«eûгHÝTÂÕgö¢›}ëj»»BkEïÓã lLe‹$ B!„B!N äm à &&Ó4±ÙlX,JJJÈËË#;;›6mÚ‹R5+&>>]׉‰‰Á¬Ìwx‚¯@ˆÆÃápD°¯FTû3pV7:µŒÃë°Þ³”O>ý…½Æá•S[ æÎëÏ"ö &¬…¼óɯìA8hÙç<÷I¤Uœ-\AÞ®Müúó6ì­{¦®¦iØl6Û5«6éJ*©»ö]J˳úÑ6¼o3tof}Zˆ?ôëMÓYsÉÙßO'=Îê3g )JŠ€ IDATyPtJ·/ã“7cèñÚÅto©²"Ý@× °Z°΄ÖÐ6R·èŒë×›„ÙóØ{pSGÔ¿úÕÚÏð’6†¸¹Ss|_¥SXk•Zm#oCˆ“Éq[öŽƒ¸ öWž½ãV×þÜ# ¸ºsýÃq/~‰Gß+`连äî;6°åßKÉ7ë©_ˆSIp SßùŽsþ5Œ»/Û‚i–V?IÒ¼ì<œ›F/fóçé”×OVZ]t#ÚäòÓ«(•û#„B!„Bˆ“‚yÓ0ˆ‰‰Á0 Ú´iúuë0M“Ö­[Ó²eËišËÊÊ(//§yóæÄDGc˜Æa„NMЧ?w>ІŸžùŠôßxæÁ‰l[‹¥¡c¥ùÙW2f ‹Œå˘ñÓn |:›ŠÏ8ürŠÝ†5°…yS–°£Úq3TÆX‡Bô™#3ØEê¼iÌÞ’OØÙŒnç åÒkÝ„>˜EZEÝ=>’ ¯hư{ÇQôé$ïÕ‰ë9ŒÛG·#ç§çXRl‚YÌ¢)3úäµüãö~ŸBNØKâ «¹õ“ů~Ï”˜>ŒÙ”¬µ›ÈÌ)&hoJÏaçÒÞ·{ À¤hÇJ¼}vñid¯,£”ì|_ý+þ™ùü<õ'F<:– w§?n$ÏtÓ´]Gì[¾gqfdý;ŒW¤Ž~²pÊl.™x3ïŽâ‹ùÉì®PqG'жsy ¾eUþѶÑÀk!Äo)±9O›v$¨…ĵëDç ÓÐ ”æ“[FeVå£úÝ|'—* xâ£õ”†L¦ÿ÷+ú>7Ž{‡láÉr0dì‰ß ÿ¦i¼ù]_ž¾¬–Я5Î…¶|ÃKŸtdâÍøwë¹Ì\”Lf~KtKºŸs#ÏK`ûç/0)åÈ—ZB!„B!ı%AÞF`ßLÞ@ ÀòåËéÛ·/.— Ó41 £FV¯×KNNåååÄÄDcF=5ÿ(x»÷ QËcîïªmq¤¬k½çÕfg3â\ë?ÿ˜y;ÃhªZ¹´dûgÓN9‹ÃÕ_@Vv{ªWEAÝ_ÎA»N­0Ò¦3w}†ª€o¿ÎYJÇ{‡Ð¹¥FZ=Q‹vø·z虳ys®‡á·>Â-=˜Å»X;ëe>˜šLEÕGNpët&þ³1×å§Çkñ“»m=s_x‚¯VbJÈÒòå‘§ ¸ñÚK¹ÿÉ›ñjAвR™öÚ÷÷ïpÔÕOÿæ¯yì±<ÆŽÊmÆçT–ä°uÃB>?Ìu?ìµâ·ulÇ–JhG[=£¸û‰A›:¥ÛæÍçßgqŽq„ãO!nÀxî9?Ȭ‰“Y_õáÞ9‡×??“ÿÜt'—m|šov†eì‰ß ?)_|ÀwýedÂÁçl›ý"÷g\Ȩçråí—ÐÄkA//`צµ|ñäËÌIÊC–³B!„B!NÇ2)]}uÕvNi`?’G%Ÿ÷mêAûÕ·êÇ´ªmß¾¥Ú¾ XWÎp~¯z®ù˜ñù*xâ±ÿ mÛ¶ÄÄÄ ( ‹§Ó‰i𔕕á÷ûÑup8Lrr2ÿ~ùuÎjkná¤ß­Op“ó}cYÕLAWßq<=ît²¦?Ϳʫú‚ÖNŸñO2Î;›¾¶ŒøQr‡s6omíÄeCzÑ>Ö9lüe_}—D^Dß„j$ŽŽ´O‡Œv.½:&àQîLeéœÙüVXõÅ«‚³Í9\~ùùôîÐ ¯¤¬0‡íÉ?óõô4uãÏkŽKÝ÷¶0Èúþ?<5+‹Ž£åN÷w¼µ¹#‡ô¢Cœ³,‹”E3øbY˜>#‡3øŒ¶Ä9MÊw§2ÿë¯øq[õõ<ÏåŠËΣW»8¡"27,dÚôEl«pÒst]mïÄt¶æœK†ð‡íhÓ,cÏæ_™9õ;’ ~ïù+>>¥Î3 í/¹…Qî…¼ñUõhË)D÷½†Ûzfðá'¿îOZ[}‰Ãoçr×bޚľ‹JüÙÜtsO2'Ä‚¬ºß7&&ùù5ŽåædÓ¹k÷ZJktÿ*Owû‘¿<ü ;åí(„8n¢Ï¹‹—neîKï035¿(V<ÍÏàú<È€´gÿv²¬m-„B!„BqŠš÷íôõÀý@0½ê1\m_¯¶_™"òÀ~õcæAûÕ7"ü9’Çúöë;ɹˆÉLÞFÀjÑp»Ý¸\.t]GQJJJp¹\†A^^±±±˜¦‰¢(¸\.4MC=dmÑ RÖ¦cŽéDGû2Öútí™H°¸œ6=º;qå: Z[;XØñÃz Mˆ¸^à –¯xëñwH+0‰í6Œ??0Ž{ïðÜÔMø"x[†#¬ÇÞa¹÷<Œ¥“ysR29z ‰ƒFsÃ÷Òô/3iC)¦­+WÝqíÖ}Ä+¤g¸IhÛž±9ed}ü&ìz„‡fðÌ“ÍC”ËN8hà8šëÌ)ü÷±·ÙT¤ÑvÈÝþzça¶­XIî çsÕ0ß-ÞD‰÷4.qŽ´ïY±Û¨÷6›z¯©Î'À…)]øÛ›·Ñ¯ÖIÕ¹ß?Ïý“Ò%è#D£g¡ÇÀþD¥ü—o’óØ¿º¸¢lÏF6eë ¶ÙŽé‰B!„B!„Bœ*$ÈÛ8N, »ÝN0Xù5hEEÅÅņATTÔþÔÍv»„„ÊÊÊp:è5fâ)ø¶¤’i½˜Îm5Ö¦ëàHäô®~VÌü…£{Ð=z KŠLÔèâÍeõÆ"*'/ƒbnbƇ Ù­ÄŸFÖO¼3¹+/LŸ¹é,0:Ù`=%Qôz>Í6ÆC-£ÂaGU²X=íeJÝÏñ÷‘ç² ù;v9cˆw—±iÅzv–‚J™I ÙbXq¹lX\Ñ8-•“´1ñÄèÔ^)æFf|²Œl-–& P²r.˯èÇÅ9Søßü=˜QÍhB˜ä¹‹Ø9ð<›«¤d xé{É`Ze~Íß?ú…b» µx-Ÿ½ÀiO_Ä…]–ðùFµî¶ƒ›˜þÆ:»›Eƒò%Lù~}¯hKKõŠ%?äÉIõ¥Õû Ú¾–…ÓQvÓ¶ßzÍ•X>̲½Fä媂¼Z‹?pýƒp»l,eïŽM¬Zú+ó$E4ö.çÓI:Wÿi8·ö¾˜°j²wùT>X°‹ E;µ‚ ¾Õ¼û·Í|RÇE…+Š$À+Ä)AgWÆ.”‘C¸²Ï~ظ—2·Izž{%7ž‘ÇügÒ$=¬B!„B!„µ o#`³Ùö§f¶X,8 û»ªªbµZq:øý~Ün7Á`»ÍF…?X³Â¢tRrFÑ·SsÔôÝX{Ò4Þÿ%.ÂÝ<,]^Fl§Dš•¦š£îŸ%häf’ kÕaÕæÆÈÜÈu$íZª,0:Ù`=­éÔÑBƴͽnlUϳXL2×'ã;¯bvæ®aÁšK¸ýî‡ñÌŸÏÂIl/¶î/JU\UAQ”C&'¹;ÈÁ¹¿ø+t wæb8mT¶`3CTàÀn­ª@kCçD+;f¥RávUµgÁR¶“m:¶‰GݘSwÛŠ w´­Ú áòb°jþê©â7c±aÓ”]‹™<{3MEQŠÙ0oîãéfVÌÍD´:™‹¦29ÝA ¤ ¿¡áŠkM?œË×·`Þ'_³¦°jÎoTοälšo`þš\ûpæYù,ð-ßþºÿ ~iŽ)3@qn.Å'ºBˆãÌ`ÇŒ—xFÃ5ãetó(ìJˆŠ¢½dnZÏßdÞ&߉î¤B!„B!„'% ò6v› MÓ0 ƒÂÂBìv;‡èèh¬V+¦i ñù|äççãóU~!jµZ±Ûk ò*¹¤¥–0<±1J.-zvCMžÄVc'ú?÷öìŠû—:un‹?e;ª=Õ é*•Í«¨z?Vˆ,ÈÛP=ŠÕËjRáS3á´‚¨ .‡j+ßü?vö¿”ˇ^ɃïfoÒfÏü‘u{ºîÚú £×èGebÛ°a¢P-)º²/Î]p³9pÙ4Ú~œ×®ªÙ?‹U%×n­wf¥%®+ƒ‡ ¢wçV4ñV“Í…UÇ&»8b&fÝéuÝ4Ø“±‹ U«zo*hJ{öTàh‹Kɤ4Òr&àÏc{ ((˜æ±3³Û]WÑïŒf¬[˜¡ÄÒïòœîû‘¦®§Ö¬fyç!\7ê*†W|Ì´ä²:ß;æa½«tRÿwWÆ3„âˆéù¬ùú¿¬ùúDwD!„B!„BˆÆE‚¼€Õj¡´´”ââbQŸÏ·?˜ `š&¦i¢i•ë÷fdd`š&Vk­‹Z²#-À¹‰tŒÊ¥sO ÉŸmÅP cÝBwtã´¨r:w‚M“31«Å»·×Añ/ÅE”âc{Eä9†ªÇ ”RThêõ PP#D¥y¼¸)£´Ì4^…ÜÕ3x}É—ØZõçòq7qÛ}±¼óôçl¨h°'÷¹:3PNyHgóÌ'yciIÍši` ¦rðzÈU]¹æþÛé¹ó+Þzñ5’³J ™ žóæ½[ލ;â2tM«c>µ^LQ©IÇh/*ùÕ~ï V‹Âató0Ê(*ªr༢€j²·È¤³Ó(Þötiî'í‹TJ5kå·¾m‹X”~:Wtiƒ-9@=×$„B!„B!„BˆS‡yôMyäÑGkSÊ;lšµÏÔ«¨ð›pÐQ3#•M\M—%tµ¥25]ŒmëI2n¢ÇÀ:Ø·1wKˆêP5¾3T¶gï ©4íÙ‹Öámü¸+ò@RƒõèÛIÞbÜ݉[¼„üý—g'ñŒn8s–’^dVuMÅêôbuz1J“™þî º¾x T6dº˱Mƒ¬g’¶)Ę.p,\IÍ¥ˆP4…ZÛÖš'Ò%º_Þü‰­>QM\(XèØ•ŒcÙKqÂápÝA^#—­[Ë9»{Z¬\DÖ¾…a-ÍhßÚFáÆ|‡S®.ÎV´‰7ÉK+ÀÌpˆiÁá°¡p`†º¢ºð8UBåê}á°¬`+„B!„B!„BœJ$ÈÛ¨ªÆe#GòÊ+¯Ð´iSZ¶lI³f͈‹‹#** —Ë…ÝnGUU ÃÀ0*Ã=~¿Ÿ©_M«½Òà6R¶»¹bЙXÒ&³1\™X1¶±.EãúýpížKz¹Rc²«L`ðõ£(Ÿ¹”Íù:Ñ]sͰ6ìÿ"k|D<1¶ázü¬ž>“ Ém×êL_”N¾î¡mßK=ÀdÙ ÈRÀâíÁ%Æ““šÁžü‚¶Nt9w0í}[ùa˜”ìÞE‰· ZGQR1eämЫœUÓfsÁ„kùË1Ìùe39>§7ž–íb)\ñ3ÉEu´½wY¡ 9óƒIš»‘"5†v½.àâ3&»ÇS Än·×qÖ`Ç/ Iï6‚+¯ ñãÒtòô(:õ¿€¾Ž-Ì^»—ÊDß–S›Ñ÷]Ѳv’SXJy@ÁÙ¤-½üÄòµLN*®,W±• [qÙa䱜´ì2t[4mÏ8—óÚ±nòBõ\S0TßY!„B!„B!„B46äm à ))‰!C† ª•)€5MÃï÷ …(..FQ à  WVV†QÇ _”r6%gáîÚ‚u«Ó îå†Ù¸v#ö³Ï$oq:ù5c¼™³y÷§†þ3×6sa–îfÃì—øø»L §=âäÇ ×£¢îÇs 5f87=0š(K€‚Ì Ì{ñ-¾Ûjâr¨,%1WÞ2’x·3XBöæULzþkÖù­ØTÐ7Ïâí Œ~¯ °s0'ëûh3‡gÏcÔØaŒ¾c±…`YÛS–0³*on­mû+ÿ7ñºŒƒYžË–ßðÖҸퟲ_âh…B!t]¯s6¯R¾‘o>Ñ9ÿ¢A\2ö¸ð“Ÿ™ÌÌI I-«œÁq9³ŒB_ƒ\Ây1.¬ŠŽ¿$—ÌM?òÑâ$rB–ªTΤÌú }à` Í ('š^AAÖ–Nù™_w…QëÈ®@]‰œ…B!„B!„BÑÙ‚¤‡_Wmç”ö#yT"üyߦ´_}«~L«Úöí[ªí«€xåìç÷ªçš™Òâ"|¥FÛ:¨ª‚ÛƒÛã­õ|¸<²0¶¨¦D;Dˆ _ù%TW<ñ^[ÕQö—Mà¡Î‹˜øì,¶•ú† P­ØœÚçïÚDª-›2óèêBT:ÞcHƨǃFÛ+ïææeñVòÁaÞÚØètÙž¿ëtk¾gúÛ_²5Ï%¦= ã¦g^åÜOž`”MT˜Ç½óB!„B!„ˆ€D)…Bœ@ 1ýÐë°#Ôõ<ƒß¿Â„7—’gMýBˆJÇ{ ÉâxÐw-bNJ®ºïOœîl¸¼µó5L¸³…ÓçÎGßã«+Y›”ÄÊÅßóá³å/ïfÐéÆ¿qk¯*B!„B!ÄoBfò !„¨¦2ñ¿<óHrn¹z §5uAÉNÖüð9oMú…¬ý3í¢»]ʸG0¨{K¢5{7¯â»O?á‹Õ¹„«Ê¸;_Ì­·\ƹÝZ£(ÎÛÅÆ_¾á­÷ÖÐúÎxô²¶xT…WçŒt¶ö·|´½®.*Îùs]Ïˤû¾4Ì÷~K‹:ëϬ­b¢{Œàöq#ص)Î`éËfòö»³H)‘iKâw¨Þ±¶½1cï<–Wÿ3‚ü7àÑy{©¼ïÂMŸ?¿Ä³g'óÏ¿|„rýó‡ÿ „hb-äÇ7>£Õ«ãxèúåÜõ^ê!i›°Ñ{Ä%´/žÏ?&%SzÈ?yA¶ÏüÓ‡½Ä¨ËûóÑúŸ‘…B!„BˆO‚¼GC9ÑBœLlv6«‹Å‚ªª(Êñý 0MÃ0Ðu@0H0Ääè¿yõž;>æ…¿½OJÄ÷É_ý/x&rÇë(7ÁÑíz^|~$,ø˜?J"G¡Ëà1Üñäs´zê!^\^„é8“;Ÿ¸î«Þá©wSÈ3Ü4mו3¢ò)ÐËÈzçîÉ{†w/ßÊ„[ßgCØÄÔÃõwÌ2~­óyÚá—«b?m,Ï?{ÖŸßçÉ7“)pŸÆåwÞÁ Uþü·oÈ”ˆ“ø½©w E0f6Oå¹OzóÆíw3<é fï1ñö¹‰‡.5™õÈüZ\r$ŸBˆ†Y­(»¾å•Iysü=Ü´ì!ÞN©#Ì«µáŒîQøÖ¯bƒ¿ö"虬Z›ÏuçŸNígVIju!„B!„â„“tÍBq Øl6bbcðz<Øív4M;î^EQÐ4 ›Í†×ã!&&»ýèóž*¤1å¿ß’œÄ4ƒä%MãÅÿ­#öâ««€Ço¸œ¶›>á±W¾eŦlß²y<Í‹?i\4~$‰(ž–´Ž*%åç…¬Û¶›]ÛÓY³p&ÍJ¡0ÂA‚º ¦A($ ÒRGú¼ˆëWb|Ý•tÜ>…'^ýž5Ûv±=é'ÞøÏ ²»btoÛQ¿¦B4FuŽ¡ˆÆL˜íÓ_åÝÍ]¸ýþa´‰íË÷]HÅ×/óþú ÌúêBUC#Ìöoþ˧››1êþ±ô¬+Ó²K|,äæSwìV'oo†7Žx‡Üé*„B!„Bœ $È+„GÉíråõ¢©'þ#UÓ4¼Ïÿ³wßaVT÷Çß3sËÞ¶^EzETD¢X@ ¶KìÝäMÔhŒ£¨Qcï½ v±7Š ½÷², »l¿{÷¶™ß»À[. Ÿ×óÌsgçÌœ93;ç–ùÎ9¿ß¿Sù$ó–°¤¤f Å¡pö,–[]èÙÉwWîéfɤ©¬ßbµ0Ó&Ì"Ò¦}›8&óédƒ¡¾ŸÛF ¤{¶{§ÊµÛ¸ºrhË'N"§FÂäª,§Ó­[K}`ŠÔ”jIæòÑCÏ0£ÃÅ<0æFŽ/z›û_]H]EdK¬äGßaI«áÜzAÒê[×Iõ =ˆ!""""""²/PwÍ„e´oÛzSË@ÇqpªoÄÔœ·m»êÕ±ÉÍ]æ¶]’ŠÈ®ð¥Õ{Ët¯ðûªšëTTTìX±±­ïáV„© `ÀÂH òØ”•–ms«×.+¡œ.d„LÈËçËûn$ç„áœ=ì ¹øZr&~‹ϿÃ9Ñ+Ûn`¤¥“îµè|Ñ#|z~Í—×d]Ð Ø{©|"ûší©3NþO¼ÿã…<4<È„—¿`Y|ï”Yd_ú>¿}ºž‹'ÞÂó¶½åg·SDAd5k‚‹Åut—nѤY6FÙJ6è) ‘}‚‚¼]:ÈcŽ ¼¼¯×K,# bÛ6±X ÇqH&«nˆÁ 7ÞÌÊœµ{³ä"ÿÓàÝÈïó‘L$ˆÆbÛ¿q(Dp«¨¦‘™I¦!?œÄ©,¥,jÒ*#„Ax‹›Åf0ƒ å”–Uoœ,fþø—ùûø×Hïx4ç^õ{î|°9w^þ0?—ïÌî:N4Ly,ÉüwnçþoK· \;$ÊëëÂRdÿ³=u&­û¹\s’‹ÙÓÖsèï.eÀÔ1ü\¢–€"{NŒEo=ÎÛ`Ô£˜ü|”(ÍÉÉÕÌž_ʇJoï$~­í,«ýnBtÞ,iÐl‘}‚zŸllÇ&++‹p8Ì/¿üB"‘À0 JJJÈÏÏ'??Ÿ¢¢" (((`éÒ¥ž±ÕîLdw  ¯´—ùýþØjÚ“¾­k~D˜´íߟã‹™»4 ñ…ü:'Fçþ‡Ñb‹ì}ô=ò |kç0+ë N’Òe?ðìCï2?؃>íªzH&mp¹ÙÞŽœSÝ.¥õâ ™17Fû.­©X›ËšÜšÓZÖ•î@ \äD­u(Å:cúpùÏ$øÍ£üõoÿæµÂÜ|ñ45È_Dv­è"^{t9mÏà–‘¶ê™9ƌdz"s¿?¿;m¾6¸iwÊï8³ýz>ÿ`2¥zFCDDDDøEÖ IDATDDDdŸ –¼;eû';±m233pǃË墴´”‚‚òòòh×®YYY›9Mš4!™L’™™‰í8X{¨œ"û“´4/fƒcðºðØŸ£ïJçV™døLÌÜñ¼üêlrlw˃8âð^ôèÐŒ&~Fe+g2é»)Ì)®¥îfıgœÈ ÷7¼üì4V4ð‡eYx=*£Û¤tb­þÇ«(zîSfä%iÚ÷t®?¿#yŸßÉwE8Å|óò{ ð·Ü}}Œÿ~4‹¼D]ϵ':|÷ÀG,J‚‘uçhAÎÔy¬È+&êmÉÁ§¦cd1ï®IE+VP’ÞŸÓOíÉÚ‰À.%· ÒÀˆum·u?°)®çòõ+c9í+¹ÿÖ ^ýb«Ã¬ص9ù_~À¤ÝÕ–ýQ]u(…:³!Dÿ+ob˜1ž??ý+¥1‡·z#¹Š?ž¼?š‡½Ãï"²½*ç½ÅÃãúóqÇ'l‘_ô6ÿ|¦ \q/Oð1ï}=ƒeQÜmè}Ì©ŒÜœe/ÞÍs³ÔW³ˆˆˆˆˆˆÈ¾BAÞFÀ¶íª€­mÓ®];f̘ã8´mÛ–Ö­[oÑMsyy9áp˜–-[’™‘mÛXûù°¼Iß@†ŸWβ§1ßVãuÙ5\®†Þ>½dö?Ÿ‹N;á{>þz…6.¯C´:rá¸ä°“Ž Óš‰Løpë‹+I¦wäNàŒQ&±ç&³(¾1Ðk‘Öù$FœÚ™`¸œ„L9âÙ orùXþ(Ä×ÞË mCØÅ+™úþ?yâµ™TTï8¶ø-þô‡B~{Ñiüù¡«ÉrW²~É4>ºû6Þü¥0âÌvƒ¹êäßÑ<äÁ©,fõü‰<õ×—ù¡º)PlÆ›Œ~»×_|/]QÉ’7ÿʵ¯Ô5&àfµo·|‡×«\ðüC>_t×þý·4õ›DKòX<íK^Ô¢²««ŽÖ_g š{5eìm/1-\Uß+?äÁã‰ßßÄȹwðÎÊÄ¿ˆÈöŠ0ë•'×ÿ^F¶Ø:-Ê’±çÊ%'2jä`ιþTš‡Ü$ÃX9o ¯üù>>œ‘>EDDDDDDö»²‰g}yÕ–f40ŸÊ«‘âß's«ùšSÍeVõ´qÞUcÞÜÀ˜Ã:®o=ǼËD+#ÜtÃÕ3p 'N¤_¿~øý~ÇÁ¶íMS2™$™L²dÉZµjÅ”)SxîÅ×ðx÷Ý1Cw?ƒx¯ßñÇ¿ðÅs³ä•]&+3«ž'(’-NæÒ ›²áõç—ca&Fõåglz›rHÄ8†eš``;D[ŸÊ5gíëÏðÑv›a\qnJ¾x“¼pó¡Syýù™¬L¡Göd2IQqÉË ÖçѪmûZÖvÑçê§y¨÷ç\~ýÛ)å/""""""""""²#&|ÿåLà& Ø@²ú5Qc>YcÞœó5—9[ÍלHñïT^뛯oY*i)SKÞ°§:Av‡ÌŒ fÏžMÏž=ñz½Ø¶Ëå" â8ååå›ZóvèÐ9sæljý»e9´8ýf®ò>Ë#ïäQìTIeßñ‡SƒðÝC<>Õ]}uùh6ü®ñ¿ÀcoåQyü¸Åû¯9ŠA‡·£}ÈÄU¹ŽÜ¹ßòõ„u¬O¦@µð¾5Å| ŒÖG1ðè^ôl d†‰¬_Ì‚‰?ðÝr»º…ÓâHŽ=¶'=[¥“nE¨,+ `éÏ|û})ñã/cÔÁ^óD†ßz"ÃI’œøÆüä¨s»\òluq-õ³, êëÖMËCzÒvÅÛ¼—ëÆrÕU7 \ÏVƒÛÄㄉDŒMû0r¾æÍ§Â”–¤YcäÊÆÛµ¬è´}ÆñÝeüÇò×—®ãÈZè´Éûè.®|n‰=].‘}„‚¼€Ëeðûý$“I à´´¿ßmÛ••…ã8†ßïDz,,këàR‹ç¯ ìÄtu¯á—˜øhÓ±vy1Y É¯k(p «íZU7iENVÍ?|‘7—¸H¸û0àÌ#è±ðMÞz?‡";@FëŽôJ/¤ØŽRðá<˜w%0Wü†y ¿? wúÑõl§¯¤ ¾ ¨Ñ’vmL çVyôH†÷nE _’ÊüÅÌùñ{~Ê©½«eÃ$«Ã!3¤-Ìx…IE›ß¢ 3ByØÀ´¬í¿î̀펈ü®»žgjMtHT)À+""""""""""û5ywÆŠ›øý¾M­v½^/±XÕØš”””`Û6éé騶ã8x½^š5kFyy9¾´4’[D“ÈYÍ w7hù%¿¬‘ôô¤ÇëYøýZéIïÀ ¾ {ˆ6éHw.«VFqŒê.fL7 VM›[Ä áÍÏ»pçéý9|Òx~×Úôn ©åÓ‚Gõ¡ãªgóÑÊ}~ Eß¼ÆËi7qó1Ý9`ùby›Ò4­ˆ¼9s(ˆf‚QAþ²|cÛøü~?qWà™Ù”,ÇÀÀ ÖÀv" ©¯úÛV6Ù鞃Oaèò)|3v<ù‰ ZöÊéçdã}åM¾ÎwmÊÉ8øþ04a@¼˜5SÞæµï×Ƴå~j Ö¦ü6Ô˜â¼N%Eë*÷v)DDDDDDDDDDDöY ´ð¸=¸\.|¾ª`ozzú¦@nË–-iÕª¡Pˆ`0H‹-ðù|<^¯g›üüáÌ/̦M›mÓ•>ÌaÍœµÌ‹ô ó \mZÓºb.ËŠ‚›¶µŠVQèʬ‹Ôíqc­Ëc¥Ù‰ÖM+R>¦†ò±­ŽÐ:BþÂ%DC¸Ün\n7Á ‹Õ‹×PœÙ….ÁVÙ &-Ñíì+8ûèŽtʰð¦¥m Ôn3À0 0hp;‘áX^¼–wÍx^ÿtK×—SV”Ãüñãø<¿#‡Ú´Æ6ɹïðÔOóø3¯òʧsY×ù\®¾ìXzø÷Æ€¸ f?y)¿¹æ-Ç+""""""""""²RKÞFÀëõ`Y¶mSTT„×ë% ’‘‘ÛíÆqb±‘H„ 6‰Dp»Ýx½**c[äç2rYºÌ&ض5™èÔ–à’±¬0°ÈbhǶæÄ´ÏÄXº˜F@q"AÒ0·ÚëØDH#äÚŽTÈÇvû ¸$â œ­Z z ÂñzâXF!ËÞ}Œ1½úsÜ€ÓqtœÈÒ©Lüq3‹ê~†aG·Ùhc×èµ1’IN‚õËVSéòV?Mcà¶JÈÍMân–EÐ(®Œx%1œb6¬ËaÑâr¸f'ôÆÂ‰1v6Öê8»d wÙG(ÈÛ¸].ÊÊÊ())¡sçΆA$ÙÌ…ª Žã8XVÕø½Ë—/ÇqÜîZºO6âä-Ï¡øàŽt “ìTΪOW5š²añ*ŠGt£g ŒÙ&LîkˆM7ïÇç'°UvIˆt#Bee꤆ò1¢aÂq À‡[Ž_ê  „UU­r3B&e à_ò~³> >œSÎqc¾4‰é•5Æ4Ýâ4´•ò±Èþɶm,«öëİ ).sÑ-#„Al‹ë×å¶ ™Ü"pk@U³sÃÀÌD>9Ånú¦0©=ÈkT5M§ÖÁ}k)«ˆˆˆˆˆˆˆˆˆˆˆüïP·X¼h!·ß~Ç˶nAXWK½ŠŠéÙͶYž¶v5 ž4;h-M­YÌ\íÃ|¹K™eA›ƒ–t/bùjÏ1$;³3³¦³°0­z‰‰¯Ó´OÎççu¾”©¡|Lg ‹W âøÎh6s-ë7mé£u—6„ §°<ìݹMóùHóùHD—óÍØ_èpc'Èü–éy!lÇÆ±\¸·‰×·]‘ú$‰z‚¼9,^gHÏÞ0õW–Ç«.TÇÕžŽíJ篧¼žà¬ã?€ö™1Šæït+Þe‘ÿ ò6†i2|ø0ÆŒCóæÍiݺ5-Z´ ;;›ôôtü~?^¯Ó4±m{S«½ÊÊJÞyïýZóLK.cAî± ?ÈC`Å,t|`@š³„¹Ë†0ê Î„ò?ãëh`Ë‘›c­é<ôûqKKܸÚÃà£ÜTNù–é1_ê£<7a–°ðÛIÌ¿ôtFùŒñ37ŸÌ"³û`~Ó'Ÿ…oMa¥‘M"З#S±"ü’WS:|(£3ø¾À*ׯ§8p0÷]NΜ2Ö;½ØN¤~±X ¯×[Gjœ¼Iß3½Ç œyºÍ?¯$×nJûþ¿á8Ï ¾ž^‚—x«ã8ëÐJr—ä°fC˜ Ûƒ¯i'z @ŸÊ‰Œ›æ–ÖøÛ[Öx|§ó‘}‡‚¼;¥öñ8w5Ûv˜={6C† Á4«¢¨–eQYYI<§¤¤Ã0°m›X,¶©Õ^yy9UñÞmËi…,[VJZ‹Üù+¨¨î’Ù0",_¸W¯fD¦/céªÞ¾*WÞç¼ùËô|³]˜kYöÓÓ<ÿs Qf G“z>é%ßóüÓë9ñÄã|nVåy‹˜öÒÇL\ëÇJ3 ¡"㎖M¶Ï„X)E«§ñ募37– ¦õW¼ñÝPÎp)— Š™ôþÚðv"õ‰Åã$“É:[óz+¦óáË1J~sƒÏBÐ(£hùt>{õ{f…½€Yº†UñC8hðJÃCŒÊ’õä,þ„מÁÊhZíï2Æ/õ²m›h4–âÚ"""""""""""ÒìÊ»þõåU[šÑÀ|*¯FŠoœÌ­ækN5—YÕÓÆyWypcŽ0¨o=Ǽ˔•©(«³K溆I ”A ˜^kzE¸Œpy¡ôLÒ|þMË+#”•ã÷ „6nkáx=hû.ϼ´ˆEåå$ILÓ$Íç' ’Úå´}ù$â1Âárâ±ààr¹ñ‚x¼UÝ<;ŽMYI1±x Ƕ1 ·ÛM ÂåöTçâ./#©Àqüþ þ@ …íDê—æõ Öݵ·ƒC2ž YݺÞ4M,— sSwë‰x¢ªKñêêm`˜.—«Îe'$’n»ÁZWVVN4ÛfyþºµtéÞ³­EDDDDDDDDDDvŸñŸŒ ÜÄHV¿&jÌ'kÌÛT Îio595–;µL¤øw*¯õÍ×·,•´”©%o#ÊÈ"”‘µËóõBø¡m–§ùü[}kr ošlï¶éIï‘ ¾¬[µ]›6æŒçxôG»Á|jr¹=ddf×™n&éõ¤W¯E ˜¾M°»áíDêWaY|¾ÚÇ£60p¹Ýõ¼ÑV¥o/ÓráI¡WñHee­^iÜäÝ ûkç§5›K×dF§ñÅ£?ðm,xŒ¶•±iØÞºòiL*"•€Ï_{ wo©ŒD¨W¨Ž‰ˆˆˆˆˆˆˆˆˆˆüRWv“Óª³‘yÜôl ðŠüÏp***H$ü~Ì:ÆèÝS’É$áp˜x,¾WË!"""""""""""»‚¼’¢$EŸý?Å£de7«³u e6àJ-‘Æ&‹ÅñxÜx<\.–iV ²»;9IÛ&‘HʼnF£»w"""""""""""²×)È»3ö³e(=½á•ö`>"û‡X,FloŽƒ»Ÿ½/‰ˆˆˆˆˆˆˆˆˆˆìÔ{®ˆˆˆˆˆˆˆˆˆˆˆˆˆH#¢ ¯ˆˆˆˆˆˆˆˆˆˆˆˆˆH#¢îšwB|ovÉ*"""""""""""""û%ywB“¦M÷vDDvHQᆽ]ÙA òî„’’’½]‘M¼oá[ú‘7înyi•[¥»»–Wþ˜Æ¿ý7?Dk¦Xdw?žÃå°îmiò’³hß}ü!ŸÍ* ¾CDDDDDDDê§1yEDd¯2Òñ×Ç.¡·µ·K²wé<Ⱦjw_›ºöEv‹v§]Îù=ÒR\ßC‡“ÿÀÃ÷þ–þž%|úÂcÜu×}üó©qüéÆyû'Ù¿±[ -"""""""ÛAA^Ù‹ 2úNoïÞ.ÇÞ¦ó ûªÝ}mêÚÙ’¹ørA6î:‹ž)Äy]OçÖKzSüÑ?¹ù/óáÓ™5wÓ'~Íkÿ•?½¸’Ï»‹z§4‘ÝMÝ5‹ˆH =/ÃíÁ7¹g~w.:½?]šú <—™ß¾ÃsoM%/±q]ƒô®¿á‚Q'rT·–¤[•ä/›Îø·ßdìŒ $ª× t<ž‹.:™][“îŠRºa-‹¦|Âó/Ϥõ%wóÇ“Û0 îw(dÕ;·sýëËI6XVƒôî'qñC9²KS|ñB–LþŒç_úœežN#yàÞ“(|ævîý&ÀðÓ÷²pg¿ùÜ÷Ï0µÌ 2ºŸÈ…çþ†þ][2+)Z·”ÏžxwÅÜOÕ9{˜ÛÒžãÚ3¹èŠ‘×5›ÂîâºW–Ó­¡ó™ pØe;sDv£¡ks'ëàŸ^‡sîÒµ/²î¾{æ]Zýó|®;w ·¼´p›n›7ópÐÐh_ú#w¿9Ÿrgëô«>{•sÃN9Œ×çüDÙ6눈ˆˆˆˆˆÈž¦ ¯ˆˆlÅ 8à÷Üä}ƒGþö Š »çP®¿õ&þx€›Ÿ™MØ´®çpÏÝCáÇ7xôõy¬·3è|ô~÷ç;iýà_ytJ Ž÷ .ùËïè>íF¿´€ I?ÍÚw¥W¨âd˜¼nç…eÌÉ˹熗™›ÛN¤ÜñtÉÝwž†ë§Wù×só(òwæ”K.áî?™üáÎOX½t¿Ù‡Ñ_Ήsà‹uÁ¾çq݇Ïî}…_«ïP§uÅ=wŒ{Ê{<óÀ<ÖÅ´éœMAu4»Áý$L‚žÄ­·µ òí;Œ~kåù9Ø)žÏi;qDv'\ïµ¹Óu°4‚¡k_d·0\.ŒÜ/xòíþüû‚ßsÞä;xaAa^«5=»¥S9w:s£µ¯Br5ÓgröÀt¶~bz¢ŽõDDDDDDDdQWD¤†aàñxð¸Ý¸\.LËÄ`ß”ÎÁÁNÚ$’Ib±±X ÇÙùæ5 yÿ™ñÌ/®ÊkÃÜxôµü÷òÓøÎ¾(Îä¸Q§Ðfñë\óäxÖ;9¬Z¾œÒô¹ã¡|<í-–[Ò:TÎüŸ'0{EÕãÜÕK™¹qGÉñ¤ŽM<'–jdÇÈà˜sNã€Uïsÿ"' Ë3· ×èaœÞ{<ÿ™gÕÇÿåž÷ò»«Ü1ëqÕ±T|t¯Ì‰T·*ÌâØ³‡Òvé[\ûð'¬­ŠÊ²hÁöì§j#WÇ)}ÿžTÂæÿ€•Úù,ÚÁó ²›ÙuÕÑ]T}‘ú™&IV}ò,oõ.¸z$“ÿôój‹ó™4É„¢‚BêŽÝÚæá²ÉN3¨¥¹¯ˆˆˆˆˆˆˆìa“WD¤‡ÌÌLBÁ ^¯˲ö™/€eYx=BÁ ™x½;?¸¥½~9˶è‹Ñ¡hî\VZèÖÁW'zws±lê ò·X­‚Y“çiÕ“ÞM œÂ_ùr*œpó߸iÄ‘tÉrïtÙpu¢o7+™Jn P2g1‹+BtéÒ¢ê.™ÇçO¼Ììöçq÷?¯b`ñXƼ½ds—•®ŽUÇñËTòìØ`oø…줅 ðnÖàùilvU‘Ý+±šqO}Àò'sí9]©Q·Žmʉ)À+""""""²/PK^‘:|ii{»ÛŲ,BÁ –eQQQ±Ãù8ñ±­ïáF*ˆF `a¤ ¹ÊKË·¹Õk——QN'Ò&8|ûПÉ=v(§½˜λœ5SÆóú«ã˜˜[WŸ 3¼é„¼ϽŸ·ÏÚ"—×$?àÃlÀ)˜ÄGÏá'˜üæ7¬ˆ×Ì'DÈãPZ²íqlÏ~œÒbJj ÓðùDÓJ#³«ê ˆì~ñåñćó¯WpÞ/·óªãlù™ç³¡2›fãbYŸH&YM3!¼ŠB=¥!""""""²OP·‘°Lhצ5†QÕ‚ÐqœM]²Öœ·íªƒí8ä®]‡aª…˜ÈŽhŒÞšü>Àz@àV –ô 2Œá$Ne9e1ƒ–éA Â[Ü,6!‚„) WG<“%,üö-þõí»„:ôgÄ%¿åO÷4åŸ7>Éäò*N4L8ždá÷2æ§Ò­´‰òÍ]N¦u=“Ë[Ì›™ÏÁç_ÀÓÿËäÒê÷ÏX ƒf¡À6DZ½û©OCçS¤±ÙUuPDö„8KÞޱGÜň«F2õÕ(QÇ¿99™Ë¼…¥œ}H_zx§2£¶g°¬6ܧ ÑóX¢-‘}‚‚¼DçŽòØ£c(//Çëõ‹ÅƒØ¶½iÎd²ê®‹aÜpãͬZ“·7‹-Ò(yÜîFàÝÈïó‘H$ˆÅbÛ½­Ù´;½Z™ÌËÙØ4Õ¤õá‡Ñ>±ŒO–'!±˜™óãuØÁ4ÿè ÖmŠ×øèux/|ë~bnÁÖAœ$e+&ðò™ôzôDz¶6™¼È&™´Áí½=½`'–0{AœßujIäÝEÕ/2ü=¹èúS üøw§zä¯ÓÖל¨c[ÍÿOS·y“É$õéI¿C¥¤¤„¦M›RQQA^^‹/ÆívãóùpÛ¶ ƒ8ŽÃ‚… Y±r5¦i6¼ --4¯·Ît³Í ®¾ælN<öhŽ=fó4°S‚y³ÖÙœ­>žaÆ2tÈ@ŽìÛ…Öþ(ës7©eÜV+³+¿uçîe錕”7ð1èz W]>œ>Î"f¬ŽÔ¹žiš$“ÉM­ü7j(È{¼õnqÂò»sOePK>އ^ŸIñÆ^˜‹0af)-Ê9£Îâ쓤«w5_>û8/ü²0¬,z0Œ‘gœÎÙ#†qÚñ‡Ð66‡·Ÿx…o×Vµ0N®_Ájw7ŸyçD¯èt¾œ[Ôà'q¢p>?Í(¡y¿Áœ1â Fœ:˜cé@Få*fL]Dü°«øÛ¹AÆ~”Ï×VÝ’¶K—2?z\x8ñ)?³ Ô&¾~&8à¨1ò NÿÍQÔÚ`Å”‰,,rØÏBÖEò¦t>wð<ˆìnu]›ñ]Tuí‹ìZuy!AþÂÒ:†®µL¨ä…$E‹&ñýÜr²ºÆ ' å´SŽç˜C:^6Ÿy’g¾Ï¡¶žœEDDDDDDv†‚¼;nW6Uk A^“m¹µt­êi㼫Ƽ ¸1G 8®o=ǼËÄc1.ºà\Î9‚x<Îüùóq‡¶mÛ …6uÓœL&)..&Ó²eK>ø`c?ú·Û³'Šù?Çö窛Ûñõ}ï²h;ÇÛ™meï ¤yëîªÙêx"× 0áÍŸXUãÆ©/gCQ„ª·Ió#GqÑQs¿þ†)+Ê0³;qÔc8°ð+^;¯F Ð$½ó1œyJ¼å12Œ¹¼üÂϬ«%¼‘êÁ™ ¤%*¦½ÌK“ ëýÔŠÆb”••m±,]]º÷¬íéyé#ü£ÇWÜð§X]O9$:Ÿ""""""""""uÿÉØ™ÀM@œªÀn²ú5Qc>Yc~cð×Þjj(8LЧòZß|}ËRIK™ÆämlÛ&33ƒh4Êĉéׯ~¿SË]ÇÙ|-„B!Ö­[G8&33ÛVDaÇ„zö¢³UÀ{t[ÙÛÜ.wgÀ IDAT½é®´4Ü•…äæ­cmÍêe›»xvÀa‡5gýÏòÉôR Ó€â)¼ÿFœ ~4ýÛ.äËÕUá`W›c5¼k?…½'qù¡ ÐÈ ïÐA4[ø=3Z ¡k Çä²v Ó†½Ù]µ|â÷Vë¿Â&ÿó¸é•E«»Èÿ‘î¿EDDDDDDDDDdß  o#`;6™Ìž=›ž={âõz±m—˵©kæòòòMݱvèÐ9sæ™™‰³M×Ça—ßÍž¸ã?(q üý.á—ô!wì?xðë‚êG¼zéß¹$ô1{tMFÞÁ•¾yri'†éK‡¬4¨XÇ‚IŸñî§³)H©Åª¯Ý‘œ~úq|` BVŒò¢u¬˜óïÆz»¡t‹Îgíîr, ùȹôØ–øMƒÿ{t`“ûù¿¹÷£Õ8¾¶yÒŽêu­²3ð9å¬]ü ¾ó)³‹Òè}V]Ûæà­÷ØR¼ d·2­úº77Hóù ’G¥aRWOèF “,o˜Ü¼0ÖÆü fùbæå f@Çæ˜«×V=Š´z¯?õE¥6Íj(kÒ¤ßP¥Ïãri;*µÀaýÇ´ŠüÊÓ\ÌËu^¢¢¸qxEDDDDDDDDDDv1y·Ë"à÷ûI&“†Aii)~¿Û¶)(( ++ Çq0 ¿ßeYµŒÇ[ÁÜé‹pFu¢£wÓ+ÒèÞ»3±’0ízõ ë›)t«=t±êË™9³ñ}¹ÞåÉ;Ÿb~¡CVS¸ææK¸Þ÷÷¿³HC Ì=Ýqå˜ñ"cž›K YûôÎZG‘B:Øíå('÷¥ÛøKÎ팺œûn~‰y °Ò2I÷» á&*fÊ»Ÿ0sÙzbYýuÍE\zNw=5um›Ù§Ác“½Ïh çù4_D"TÖs9±(QÇK àb›Ì4Ò¼&¡ŒUA^Ìeåà¶Ìö Vó#8m€‡©o~Ïêx6íSlÚP¾û'JI~>%{»"""""""""""û(yŸÏ·©Õ®×ë%« UTTPRR‚mÛ¤§§oêºÙëõÒ¬Y3ÊËËñùÒHn@4ˆ,™ÇJ÷‰tio1}QÒ:Ó§{%“?œD¯³zÑ3ã'~*v0[u¢k(Ÿ_S5 1ÎBƽð=kŒLš4;÷kžz£;]:ˆC¿XÄÏ%õGW _&Må,œ<“Õe`RÌÊÙß³Ävã÷{0Hß4àòn.‡ËŸÏU5LsZf2“lîn5¶±ÿ™áMÃã² üo~>€~g´§µ9‰’:¶mhŸ, ·Ÿª òZ­Žâ«ð{ VÆúU ™úó/,دZ-²‚+†} Ýò`QQÃ׌nGOÿæ&F…Yãÿm¤Ö“¯»Oé‡=é5~ÊÓÚ]£Ç'™÷üuœ¹[òÞé|ŠˆˆˆˆˆˆˆˆˆÈ®§ o#àñxp¹\›‚½iiiD£Qš5k¶)°kš&n·ŸÏGee%@€X,†×ã¡¢2¶e†Å‹˜»n$ý:µÄ\´wçÞôd>ÏNš'á A~žXNV§Î´(›Ë¼u&#RvþJòðã®n lzØ+°ÊÆ­M~.©¿¯d§hßN;‰+®ýÁo¾áûɳYQâÆ“búF»»›o†±UÎðȨY"‰p ¸-¬z¶MõØd_–dåïðÆ¢4¢¥åTÚþì¶ô:êθ°ã_~iEfÖÇï<õdN»âF\É$N¼E~bJnkD£¤Ô«ø&Ú{WþÄ “ ©³ŸhÙ/(ÈÛx=,˶mŠŠŠðz½ƒA222p»Ý8ŽC,#‰°aÃ"‘n·¯·– ¯‘Ïüy¥œÚù@2|Zõî9ç–Ú«IΪäúÞÝ LšK§.í©œû«jlêÄ“Ø&P£u°™ŒSIin ]™LyâϬî2§=“[N=›õ³âã¿bÆúXÃé{ªõpewgÐÜ¥ MCLÀ°Òp1µþ–•;±OÙsœú»7®,`ÅrªZgãPTTÀê•¥x®Áaµ`Æ÷yؘÑ\~zû¿ühùx*Õ$Ýz(¯,e{zèöuÄ)=KøöÅ”¹\˜lÜ?`˜˜†í8u^u§ˆˆˆˆˆˆˆˆˆˆˆHc¤ o#àv»(++£¤¤„Î;c‘HdS0ÀqÇÁ²ªÆï]¾|9Žãàv»kÍsÕüùDéLÇô|ºôv1çµ¥Ø,Ÿ1‹ø•=è–¦K'XøÆJœñ.#Ä¿UüË¥“nDXQ‘JÛD‹´Aþ¯ãxì§·ñ´éÏé—\ÌïoÌâ©¼Î¬Š†Ò÷T9êØ,­;çÜt½W¿Ë“£eNnqÇ xÜŸxæ²Ý§qû;icYVÝ+&æ¦k¯ª¥¶é±¾Ø¡‹/msxØ0q¹½@’h LWËŽt …YžS´aW‹¶=»‘å÷rÚuÿǰ)Žmã´¾„ÛŽ 3ý­§øtyí×¾Ô Ï"""""""""""ÿKäm-\ÀíwܱÅ2c«A<§öQEE„ô¬f[-5p–Ïc!gÓu@)Ý=óxgQ0°—Íd¶}1½Ž.å@ï2¾X‡­Í&]èÒÌdEÞÆ ‘IóÞ}i›XÆW9©’Lܾn_»lcŸG÷Ñ'q`3“Y+“ ¤ï©rØØÉ$¸\Ô ÷Y-;Ó5£ˆIO|ÍÒHéMý¸8°s+L–oZ¯¶mS;vÙÛ‰DýAÞÚøÚЮ‰CÁüÂZZèVwÙmfÒ÷˜ƒÉÌŸÂŒ”¯Q€$+¾}™§'lÕE³‘É!§çÀ2vz!‘²º¯ŸD"±û‘}‚¼€iZ 6Œ1cÆÐ¼ysZ·nM‹-ÈÎÎ&==¿ß×ëÅ4MlÛÆ¶«H•••¼óîûµg[ÆÜÎx®ùo° a€†½Œs-.<ú0ük¾`Qبãʼn5cÐ…# ø3‹7$Éè:ˆsNiÇúoF3-õõr `„zqÒà&¬›·œµJ‰y:Ñõ˜Atˆ,å˵vƒéTuT»ÛË¥kr( ÊñgP<»ìr ÖçÌ!' bö (639 ïñœxHZ¢ëØ6Ù¹}ʾ ‹áõzkO4[Ðï„îX¹«YWTF8jàkÚž¾Ž¢sx:oÌ.ÁÙxñ¥eÒ<`‰[š´£WÿÖ|=ß¼6…|¼D·//¢ Œ-[ÿå ˆW“¿¡L³Î•W#Å¿7NæVó5§šË¬êi㼫Ƽ ¸1G 8®o=Ǽ˔•©(ö·oÌVÓ4„2 Cµ¦'•'ð¤7'÷9êdG ÙPÅô7¡IÈS½Ô¢Ãð¿pk—¸ëŸ±¬,B,aƒéÆã  ¤a¥r591*JJ‰ÄUÇc˜Xî4|Á>·Ùpúž*GÕ™ V^LyE”¤câ d“t‘¬,£¬W?Ï—OœË»ý[«Að+yñ½1ªƒ +»'ï¼'_~ƒÏ?ǧo=Áƒ7 ¥[ÐØj[“&ŸÅí<LJÀgo?Á¿®̾Íëy:ŸÇ“ïÿ‡+zùv÷È~Î;è/Œ?ޝèEmW›ûÈ[øèãÛœ¶uŠ‹&½†rÍßFóò[oóÅgcùägyòïW3òf¸÷@ÙEDDö/©~×Ýz=½/’ÆŒ¤CJß‘÷äwjÙ“ôÑ.""{•‘1„“ïî*“ˆì» š>›S›Ìä?ã–°s{çå|R^FÅÆ›gËVòOw'Þ¼m0›Á»ëÀÏQgŸN‡Å¯qéããɵ–ñ¯¢ þ;æFvû™§$€(sßÇÜSËyGÀÝß•¡{r²»$s~àËÂÃqãùütÃsÌŽÔ¿¾»Ë9ü媾½ÿWnyve›.ÎÙLùñ¾]p']ñG.Ÿ=Îh 3Ù>Îö~+´Yýùþ²[ #"""‰‚¼""Rƒ‹>W?Í=Á—¸}N/.;ûhº5÷Céj¦}ù:O¾2‰ÜÄÆu 2zœÌ%¿==[“aEX¿x*Ÿ¾ú2oýšO¢z@—¹ü²áÓ£-™V”’‚Lú€'Ÿ™FÛ«þÅÃÛ4 ùldÅk7sÙ‹KIÖ[ÎÏ×tâÄóÎâ”#ºÑ¾E6A§„3¿æùÇ_cb¾#¯©kÛUý—7ùkà)κc<%›~‡[tºèž4…ë¯x‰…ÉzÊöô䨻å'²ë™í¸ð±Ç¹òŸ\ð¯ÉTÔHr÷þ=/>’ ÿw/k_wZŸ¤ê}å)îJ{œKÆfqÙõçsBl6¼w—>·$™½NåÒ‹Na@Vd•æ-fÜÃ÷òúüª ã$MZ ¼˜ËG æÐ2±"ëXðó<ùôg, WUF£¾ºÝP9ž/ä˜Á}aÚ~.Ú|“-QVF‚-E‹Š©  >Ÿ8àêÊa}½,~k2kkÔïø² LX;‚£û·çÙËHNÁ¾š}7 éOæ÷_Q¤(¯ì&†»ˆ¯þóm¹„[/œÈÕÏÌ£îЬ‡ƒO;‰%ßpÛ+5¼ÅXñáóŒ=å!FžÞŸg~G©®]Ù/¥ú{Ùͱ)ýv¬ZêÄ ù±—rÕùÇÓ·m§x%¿Ž'_ÌÚ­¿ŒÖ(ÇC}¾àòëÞb¥ÚoÐT¾S‹ˆˆH㢠¯ˆˆl#tÜuü)í%þõÇg™[MzãwÜÆ¿‚wqåfv ­Ç…Œ~`|û£_œÍºd&]âÊ¿ßO›{oeôÄbœ´C¸êî+è9õ)î}z.v€ætç ô &ËÉ}êf®+¸§O_Ê_.–Y '™h À ìL¾ ?-š—3ñõGx|i>±&ý¸äÖ˹ㆵüö¯_òKÛ¦ø‘Y_Ùà•ÆÄÎ᫯pÑEƒ8"ø ßmê ÎÃA'M³œo?/Žãª¿Nmp BNã/w·"2þUî}¥€Òõ«°_¯ßòàÃqOx“ÇïšM^,@Û®MÉÏfÛÓ¸ñœI¼õ½<“!Ða—ßx%÷8y\l0ôÏ÷sÛ¨tÏvï’òíÚ| Šp<^¼»àôí®cÙœ¢‰|1ÕáÐŽ$»º~ú b@`_|»†ÚC”µ×)»`O*Þ2ˆêîRõ^2arõX¶µK®›Ë̼š+Øm(ÆñÔ]ú”Ëaff“IEuÂôà’¿]MŸ%Ïsÿû«6÷8àlñÒ dáŠÈ¤I–¾†ËXÉ;¾Ã’Vùõ‚¤Õ·nÊã*À+""û·/oo~ëç1{]Íï¡fÎH9¿TƒîØwjÙ—©%¯ˆH=<@ËÜ7oÆX–…eYx=’É$‘Ñhtç2ŽÅˆm}·"LiFZˆÇ¦¬´l›[½vY åt!#dB^>_Þw#9' çìaWðÈÅ×’3ñ^|þ~ÌÙ‰2:;ž¯»Å¡œyÎ)Ó§#­2½UÁºý¸˜¸ãå©Þ‰²‰ìsœ2&}9™Ê;ql³ñŒÍräàÃpM†ïªŸðHµN9%EoC5¼!B^›Ò’ú[ÐR¦b«m«z_66U¿)..’$µ—Âðwå¼»þÊö8þrßg¬®ÑÊÁ —SŽ ë§D<ý.’åÕ­x«%ãÄqãÞþû";$¾ô}~û(u=O¼…çm{ËúæQPYÍšàbqC&X4i–Q¶’ êf\DDöw ü^¦ŽG!-;ÖÜvëMÂa›òk`@£Tƒ¦ðZDDD—}3j!"²¤‡Bûl€·6–e ñûý;—Q(Dp«Ã623É4"”‡“8ÿÏÞ}‡GQ­ÿÎÎö’Pº €€ VTD±½¢¢Þ«ØïÕŸ¢"ök½XkEE,HTDŠ@%„’BzÙl¶ÍüþHH#•"DÞÏóì“ÉÎΙ3³g69ûÎyOi!E^®P×!Aƒ3'Å•÷ƒù$ýô“Æåê{§°Úyϼv/CGØ<œríýÿÚ3\Ý*‰i“àúkoäÊknâÖ)›êIQY©Žð6›µúy8VÇ,ÄqPòçb–tçü³¢PCr~5?¯&_çȯ)Ÿ›¿§ËÙàKõ°”zð`ÃqH {7n˜4‘kóyr—l©1)š^´Ÿ½ùÚµ‹¨~ jíÛ*díË êíŠÍ%(É_¿Ë7{Ú0æëèeðVk“÷²9©{ß~ô¶ÔQ„MÿS[àMŒ'¹ï™…Bˆ¿½úËЄ¾#€Ý½fy..*ËkP#û ’C!„ø{i>‘‹“œj€NÑm‰éÐŽ˜íèÝ–ŽíÛб}:´‹"ºmk¢Û¶¦]T$í¢"iÓº%º&ßÀq¸6k½I Ohv›íˆ½jËžôm[õO„öƒãßNÂÎ ø·±~‹ØAh]­Ïh£ïà>ØÒ·ŸU³û¤p×2>|c&IΜ]6Œ-ÔÀhâð“7¾\cÇSé×2—eßÌeݾ"ü:€‘1m©:¨®ö:锸KÀå¤Z?Y '.®ePk¯›ÍŠ/EK²ˆ6”žC†qªg‹þ(F§ñ×TÝeï`sr¸Áhu÷@i=‚28@$í¢ª'¹QœÝ¹ùù‰ŒÑfñø“3Ø\Û<¤í¬Y_LÜÕ>MÎ`HÛ|Ö¯ß]mì…%ª--É"ý€üŸ&þBÞd¦OžË¾öWððèN523ûØ8ÿ'v‡ gÜ Ýqr-šˆyWv8ÀÂ9k(”o‡…Bœäì/7±ï¨¶êEŸ¨ªÏ*Džv1äòòšBú B!ÄÉDÒ57±cx{ò[c±Xðù|8N4MÃçó¡ë:Á`Ù?Š¢pÿ±gÆñ¬¶Í’ÙdjÖÞƒì6@ŸÏ×ämu_.û×=ä}ô3‚´ì{9ãoèLÆÂgø-O=Ÿ_?ûŽË^»…gÇûxÿûx2¡t=çî½Pç·W¾'9Jø@®¿ª5ûÖ%²;#¯%ŠS/?ΞíÌÜ_ÖùÍÛ½›‚A\~IOÒWå€VHZ¶§Þ;Œ»ÜÌ}ìóE0pÄ9ôÈÙ@ŽÒ‚®C¯â†¡¶*£ýêªS)Éëã)¾è"n8so/OÇkޤïåÿäên:úÆÖMˆæ&À¶ÅKØ{ÅyÜ{Y+ –MäÏòQ¨ÁF]SõгùyúB®|áVž{@磅IdkZÇÄbIþž%)«á‘ÖCKßζ|§õ섺*™  Ø»sóóÏrs«-|2%W¯~ ¬ºM~ ¶ç¤”ußÎdëäyê%üoávJÂ{3úî+h•0ïâ«~éÒ+Sö*¶æH¤LüµJ¿æÍ¹ƒx}toLþ•ÕÖù“¿á¥âxå®çy¯ã|¾[¼‘]Ù^L¡íè=ìFŸ×Š]Ÿ>ËGñ2]!„h°¿L°Q}ǃ´Ò(Fýë.ò?YȦŒaÝ/àž[{ràǧù-·áÿîƒJ W!„ø»’ o3 iááá¸ÝnèÚµ+V«•‚‚<š¦¡i@€`0HAAaaa„„¸Ðö¦ahF©f…88œÎã]…£Æa·ã÷ûÑõ¦‚)³yó{WÜû<÷·w¡å§²nÖK¼7}%åEù¶ÍcærËÍ—òoüƒpS)vüÉ÷Ï>ÎW䢊߃!ú<î¹ø6Z¹Ìè¥ùìMZÅÔ§>cYùP ߯¯xõ›6Œ¿õE¦ÝUÊŽ¯žâÞÏëš°Üa—û+“_æÁ±·óÖÇô¢ ¶üö5¯?»ƒG^ë\Q|]u*ú}*O|÷Œ{“9ÿRñg±uùw¼ø®—¯n|Ý„hn´ÝKùyǵÜÓ=é¯oÅ_þ¼žÛ¸kªn:îñÈ“ÙÜyóå<þêÝ„¨>òömæ«ÿ|ßèúq=I¬ø£€‘ƒÑùÓd¶ÁÐn çuwbRs×ÓƒÙÄ·ê ®zz1Å@pï<ž~Bãžq×óÜäH,¥غr}8Ÿ½Uç=3Æræ ä¬^ͶFEÁ…8š<Äþs=ÏèÖ5×yÙ1{wï¸ëFŸÇ5ã/¡•ËDÐCjâZ>ÿ¿™·1«âÚB!Nf ÷—õÆõÐØ·à%žÛ9ˆq÷>Ïí]óv³îûyaúfJS!阖«2 IDATƒ !„'­£99`}eÕ¶Ni`¹1?•Fþ~ða¨±\õQõ9µüqpÙXeÙ˜€·9»o=Ç|Ô.½øîw';vì 66ŸÏǾ}ûÈÈÈ ::šððp‚Á @£ÑH0äÓiŸ±tù*T£Äò?•Ø1Oñ`—•<ÿêOdh oQ_Y].Œ{b×ðæ›‹I;¢²oÿ;–ã]ÏÃcµZq: ¾N ëÊùWŒ ¿i#Ÿ~´ŒôCŽOÁÙq çŸÝ—.­¨Þ|ö%®á—e d•ê2DŸÏ?oèGh÷aSáÝ(ÒÁÐîî¹étÂk¼VK[ÊÔÏþ ¾›{‹Š‹ñz«Í¾GVfmÚw¨åÕFNùÇÿx£÷Bîÿ ©Íä}Bˆ#eŒ½‰©ÿNÂÓÿàõžc°Çà™6¡#sî{„/vËÈ~!„BˆæEúËB!ı°réÏ›€? ÁòŸ*ËÁ*ËeSÍk5z•çõZ4ò÷Æü¬o¹¾ç³®Ñ$ú× èšFXXš¦ÍÆÑuöíÛÓ¶mÛjiš‹‹‹q»ÝDEEЦk'\RÅ9ˆ{Šfñ‹3I>‰¾ß ø‚è_ý£k¨ý\éäíÝÊ6mßq›­qÇrüëy8ŒÆ†®!±Ã¸rä)XŠK hAjëשQgpõ˜~háëùéx|Áp®¿Dã“9Ié e¬æ«Oâ½F• ¸bíÓ2*FÍ*3&ï~új{ªìP÷SÐÀù5›Í‡y¤Í{€šÈ~OM»ÁµNÒ«‘ñýDîþhkãRÁ !D#vÎæýŸÎáÙ[.aÖ¦™ì>Ú2¦ÆÜ2Ï“˜%^!„Bˆæëxö—…B!ª o3 iaa¡x½^V­ZEÿþý±Ûí躎¦iÕÒ°º\.233q»Ý„……¢i'Úm… ®ž½ˆU³Yt¼«r«ë\idýþ1¯¬¸\VNÜdÜÍ¥žÕ™ŒµF+Û ãºËº¾ðs–[.âÎ~µ½ÊLÜÀÓh±)S~J HQ ;—yslÜyÛ´ÙÆ’4 üÅÈ(:tëΧÒÉžÎêõiË“­VL¥¹¤edV5¬(è`ÕíVxþàûÆóA­+u%yàB}º›µ¼Ä›—÷¥m+#»ÓŽî')* ïÒÉLœ߸´{B!„B!„BÔC‚¼Í€¦k„…†²yófzöì‰ÅbAÓ4ŒF#N§]×)..®ÍÛ©S'¶lÙBXXú!A^î|–[ms˜ðÎÊò€ öþcyaì)¤Í~×g—·ÐïöIŒuÍçéÉ+i1zwÛæ3eg.Þ—NáV(Édëê™ùÃf²”¢Øé=æn?+ »Aáß“‡i _çùï÷¢¡àì<Œ+.;‹¾#°úóI_ʬÙËØåÖ)Kkg.`Ó®øÂûsÝ?oæök²™8ue=çÊrHºdKÌHîÚï3xïó-dÈ=s 7ß=žV¿ÉçñEèåÇ`z ·Zæò¿—?&>½Kô0îzünî¾"‡gg$á5w窻¯¢ãÆOy룲5‘zÐ;<“¼*Çahs7ž·yÓÿÃ'ûK°uÆãFs·^^‡¦u4¦ ™·ÿcEihªrƒ¢b0©†º_k %Ìê'7¿ÆX-½€Ü<k†‘øjÙT:•ŠÙøùN¼c¼(XmVðx(=ŒÔ× S56O¹ š¾!„B!„âoLúËB!„8±4³á]''›Í†Ñh$,,¬bo0¤¤¤„ôôtÒÓÓ±Ùl©›- ‘‘‘˜Ífl6kÒ<;I5u!®Cù(Dk,§t/eÍüeduìEÏв€¡Mºº²Ø²5¿rk}s?YÊ~%Œ‘ᶘ©3â |ýB $0ÚC±À€5¬aá-pÙ ¸èÑ9´KýŽ7?]Mj‘Ÿâô L>™1çr^×ʺj§h >–·ldÇþt2Š‚£q}+s?[I†NËÈ ×.bUŽǾ|ük:zHkZ†زh{‰jÚ%Pë¾›P÷j|Û˜ýÎ4mÚG®'Hñ¾|µp'ÆNhk¨ç\Õ¤„2`ÄÙ´Þþ%¯}ú;;rJq¤±~Ö›¼·Laà¨a´¯r˜ ÉÌýp»|."ZµÂîŽgÞ¯{pu£ Š-ŒŽb¶­ÙÄÞ¢^w>©›—2ç·”jAIÅ’É·?e鎲¶þÀô_öW”S—†ÚPc÷ü(( ¤GVÌ,øðùk® âóQ,V̵ni%îôSÝ·ž?3¨š- òªmÎà¦{þÁÃ?ÀÃ÷ÝÎM— ¥{‹úÓK !„B!„B!„âïG‚¼Í€ÙlÆh4V{CBB*¹QQQ´iÓ—Ë…Óé¤uëÖØl6f³‹¹–PR~2 ™.âºDa,±½éI›W'’àîLŸN»ÄÒº(ÄÌÊf¢e¥’“A fZêVö:бmcš“‚¢üYþP£‰‹5±çÏDJvÌF#F³ {ñ^v•8éÝ¢¢±ê¹kX’lÂå°a6›1©•¡0-k™Ø*êg´BiI¼½Yh63eO1ë~J°b15e„cûnBÝ«Ÿ 3ŽÐPìV F££ÙNÀ]&µ¾sU“±=]:IÙ¸ŸËÙdÄh4cuXIÝ´Odº„W=G»Ùt`.?oŠÑŠæ-›3 çýÉ’?ι÷1îy:]ZØ0[8ìæjûײ¶±ËëÂf1¡ªFL'þ¢‚ŠrêÒPjìþOhº^vãÁ!£n+ßÃÚä*½§‘ôG…Õ6Hê²o™1g>s¾žÎG}ÆŒkÉpö力.§_x³93B!„B!„B!„8 $]s3`1›QUMÓÈËËÃb±àt: Åd2¡ë:>ŸÇCNN“É„Åb¦¤´ÆøG%‹¤ÄB.‰!LÉ¢Mï¶|ÎNm/ÁøRÆ÷îŽcu]â:Pšð#{ªlªûƒh jÚÞ ŸR¬XM ¡‰yk§˜­ØÍ*Æ<Ã䫪­Áh2e1UÇ´B7^“¡Ö(™î ¬V¿² Z@ÓQ¨²IEܦ徭mßM©{Uƈîœ3üLNkGK— ¨VŒ¬kR­“»I§¤4P#˜¬ zKpcÇn­¬îõP©öV˜j(aí{ÿÇÞAsùˆ+yø’«9°yóçýÂÆ•mI÷xñ×h JÍùekÑ`jäþ½‰ék)Ã[J),–šå±XTtoi-£’MtèQùñ,LñZ‡Òlv§Š‚‚N^^6{S 1ÿã*ôiÍÆ¥Ô•ÍZob;B!„B!„B!ĉM‚¼Í€Éd¤¨¨ˆ‚‚bccQÇSÌÐu]×QÕ²ù{SRRÐu“©öT®{’’ð‹¥sHq½l™¾M”ñøïîA·7q]`ÛŒTô*±&ÅáÄ^#ö¤¸BQ<ì.9¼/€îuãöÙ>oïü^X=$¥khš‚®l®å#\k[ë‡î»iu/gíÎ5ÞEï½3™òêd¶¤áלg?Æw4­Fº·ˆbŸB+—…ÜjûW.ST¬Syn aªX] YëçòöŠo0·ÄåcoeÜáL}áKâ+¦™=¼sÝpjhÿÇ6`©5Tµž|ÓáÉ#Çm¤M„eWAå{b%"\¡ 9ÿÐÛ!œÝØËFꯛÈÔky•1ô²vhÐó8¯g³ÖûnhÁ¿`2c!„B!„B!„Büe$ÈÛ $oÛÊ“&T{®æœ º^{૤ÄCHxdgô”D¶q5]‡ÒݜȷÉA@AÛµ‰ÍÚ­ôZHŒe‹vø©Ì3´ˆ#.ÒÀA#­z÷¥}`¿ìk\ I Áh¤Z-˜JÒ6?×uí‚uéZ ªŽŠ‚z¢f¤=Œº«Q±t Ícõ{‹Ùé±ÒÒŽ‚‘˜Ø6H©x]­çêýïfËV?cûô$bù r*öo!¶Ol™¿“œ¯71&kÀdsa²¹Ðж0ûséþêEÄDˆOmJ9µ”ܨ6Tßþÿf‚ÆGäÕ3ع«”Óâ:²~CE›P#c‰ w“’’]cÔ­Ö§ö#ÆŸÄÌÄâÆ$¶µ#º…NvRn£x¡ì˜„B!„B!„Bñ÷!AÞfÀ`P¹lÔ(Þzë-ZµjEÛ¶miݺ5„„„`·Û±X, 4MCÓÊÂ=¥¥¥|;sVí…úv‘°ÛÁgž†1i[eù‹mTn:ûþE$»•jÁAÝÉ97Æ=ïw¶ç íz׌ŒæÀ¯¯ò§‡Fu ÷ï£ÐÕsÏÜHþæЊÉÎw³nÖ|Î}âZî¿%ŒWo'Ó£`sµ mÇpòÖüÆ–ü£q6…¦×];°4ÿyœvþ9l^´•|CûžË…§Y«Œð¬ë\Õ Ø•²~ö<Î{rã® 2{Y29A'ú_̘!:+ßYBšBýâ*W/.:¯™‰)¤çâ3w¡ë°sèäÙÉÏéG:•wCmH ihÿÇ–×çÃb±a)Av¯YÅþÛÎâŠá>–lÊÄçhÏéçNÈž_Y»W«~­Xb8ýÔrþ\À®@-‘¡5ýÏ¶—̼"Ü^[Ëôr±î ÌØ\€^ÏÅçóûk}Þétáq !„B!„B!„âx o3 i›7oføðá e6UU)--Åï÷SPP€¢(hš†Ï竵W\\ŒVÇ_7Û¶¤áèÞ†ë“ñUÄrlݰËÀÓÈ^žLNõ/Zê|þ·8ŒKÆü“k[ÛÑ‹ö?ÿ ¦ýŠf³4jüapû÷¼?7’Û/¹‰WzÙ»è=þóã^Èü‘ŸÉfôõ#s÷¥„[|ÅÙìNXÁ<ïœÀcNmrÝõâ?˜ön$·ßp=sº;‹kæ0åõ$Æ=ݹâuµŸ«´¥0ø‰—'æ2úºK¸õ¡1„½ä¦ÆóÓ«Søa§ŽÝÚ„À¬¯‹ ¹òŽQ´p˜Ð}…dl_Çç¯|ÇÆRæ#‹ñ6؆ Çxÿ ñûýƒÁ#Í›ÿ'ß~©3ü‚3sKFû·þÊ¿l$_Q«\+ a§  »1•E³©õN ½˜jŠ òñ”¡iM›‹Ô`Pp¸Âp8]µ®¸³É+`iE¨­2r¦yrÉ)ôb°· …Ë\þ¬J§Ëžà‘¸eL|é{vyð40˜0Ûœ8Ö&¤SÖðçS\â%¨0:"w–ͬûKp»Kðúejƒ“Ù†ÝåÄlÑò}vÂ[8¹C¡öuÜ9Ùx--ˆpV™Ÿ8è&?»5¼.sã*^ß¾›^w`iEÅüA­ìµV'N[¢ÜöÈ0,JÝ窶ºTÛ? £«Ã…ÝRP¬ë4O.9EB#Ã0㣤 ?PÖæªÉŠÍéÂf24¾¥æëÙ†ô†÷¬Y,\åª|ø4&³±Öñͺ$(o((#F£zH@VúðÀh6×qéhM«’šÝ€AUQÕCË«ª°¨ŸÏwÈóY™ÄuïÙà1 !„B!„B!„ÇÊO foü€Ëª,«,k€^e¹êszåªù{c~Ö·\ßsY×h2’·p…†á ;êå-‰tú¼ÁA¤­®­ ÖBÍ!‡®²ö㎉×Ò»ÖV¥“»|*/ÎM!ˆ³3‚ˆZbhŠÉŽ3ÌN]á5“«5g®G‹(9LÕAXkG“êM=ûnzÝTkaÖCÏcx«ª¿Õ~®j;Ö†ö_×vPó=7ck‰ýˆË©ëuõ´!¥áýk^¯UU±Ûê¼PŒfêKì¬TLæ†G+ªK½/S0M˜ë{I-<¥¥µx…B!„B!„BѼIW=¥ëøèñµj½ÿ@APþš‘˜MÒ\ë-Ž)ÇÐ` ÷Då)-Åívïj!„B!„B!„â ¯8Š´ N°Öu:Šb¨7­ìñÓ\ë-Ž%]×)))!àp8P Í#Ð q»Ýøüþã]!„B!„B!„B#ädûôñ\WÏœ´ `PNM{âi®õnnÓ†N<>Ÿ¿ßÉdÂb6c41¨”£:¥ùáÓÑÑ‚@Ÿß×ë=ÞUB!„B!„B!Ä1Ö\â,âPß|¸B4FsmCº®ãóùd~[!„B!„B!„BœšGþQ!„B!„B!„B!„€y…B!„B!„B!„¢Y‘tÍB!„â¥ÒóöÿòBÏÅÜÿïÙìÕŽå¾}nåÕGcX<á9¾Û@ ïÆ…W\ʃzб… ­(­kòÙôÅl/Ö«lk â”QÜ~ãùô‰ÀX’AÒŠy|4}9©¥e¯3wÍËÏ"þ…gøt«çXˆ8ÉYÎ|˜÷'cîs<ÿ_xB!„B!„¨ŸŒäB! „œÃSo¥·zâ”{¬ê$ÄIËÒëï:mÑ4æí €!ŠQ>ÆÕrXúÅÛ<ù¯Ç™0e9¥§ÝƤ‡Î£µR¹©©ó•<õÄå´Û5‡Wž˜À“ï,¦ ï<7~-Ê_çÛ5Ÿu÷eÄ™ŽÏ!Š“‰Jô¥wrCk#_o¦ÓÅòæó·0ȼƒ>y›‰_䥩sYïéÆõO¿Ä¤Ñ±Ø•†KB!„B!Ä_C‚¼B!D½BûŸNoˉT“'+…ˆaWpaøæ,H)­¨e0ÿ¥¸oâ§Ì]±‰­»÷²mí\Þúl-Ê)g1(ò`´ËÆéW\L‡ßòʇ¿²qçn’×ÿÈßúÂWsYÜÁ;1¼$Í_HRÔŒäBbeâX ¦­äç­Œºg =ç5v¾œGÆö&ÿû—xè…Ϙ·|ñ ‰lXµ˜éo>ÅcŸ¦sýýÜÜ»±Ac!„B!„Bk’®Y!D ¡Ý/ä¦k/`P×(\†Rò2wòã{¯ñm²Péz7^w!gt‹"D-%k×~úæ+foÌ!”¥X}‹ !ßð\BWnº|]#íè…{YÿãçLý%À™7^Ë%»ÐÊ®Q˜º‘yœ­EèGeû²ãé~·Þ8‚Áq-±ùsÙ±æG>ž¶­Ez•}|Ës[ºpÝ¥éÞÚ‰êËaÇš|ôé/l÷Øpdzüëâö8 /ÏÙó퓌ÿ2…`çÑÑù\n¾ùb†tmKˆÑKaN:Ékðñg›h;¶îr5{'Îs9ô‹¥}«pz!{¶,eú‡3ù#ÛZOö1è‘ø—ýn}~ …'C¥Óµ/ñÆ™xìÁlÖS·i+I;¦)qE³ahÇ5¯¼Âe{ßdÜäõTM0lêq+S&õgÍ3ðáîvu·×¬ e×Ú›#ΧCáržý*‰âCÚ¥=?~Áü ^dÔÈ|¹eEÒv…Bœ´ß~ÒùÏ%uçæË×ÒÅilZò-}½ŽŒ@•òŽ´ßZ"˜…Bˆ“•y…BTcí~ÏM¼ÓÚïøà•D2}ÚÅF]Þ µv½†çžËg0ùËDh¡Ä½ŠÛþïÚ¾ö“×”ZgÜÁxõ Þœð; Mt~ÏÞõ(“G°mÎû<ùQ2yJkÎ÷8vÌâ—fs¦[ô™ÜýÄÝLÉÆq*7Þw Þ•É=/þVOùg½¾ºI€W¤¥±ô·í\wÝ™ôwüÉ ÷Á/Ìô:{-Ó–òë6?º±þöš«pÆ\Ä#·Æ³ä[^ý:‡â¬}h4ô™S–tÆÐö"þqå:fMi饨;å–»Çò„^v–z×M½õ° oœÂöi‰µ¸ª2Õ­+áE;ÙVÑU\Q´qxIKË£Ú¦ÁìÏ€¨öm0QäE/dsünŒ×œBOóo¬òº!ŽÅhDI[Ä”oñúã¸~Í>ÙZG˜WmKÏn!”&l ¡®6܈ø\®>³±ê 6Ô¼ûA!„8I4¥?ì2Ž-3øïÓŸ³5"zŽ`ü#2Éñ }°·~ôú­ußÌ%„Bˆ¿3 ò !„¨¤„sÖÕ#h¿ókî}séå¿ä­•ëϾn$í¶É?§üÄ`{RR( y 7`þŸ_³³<ªh[™ýÑb¶ç뀟݋`ÅU§sqæW¼¿`[yÐ%ƒßç-çêaÃèÓAe}reøô°·WBvÍ¥tÜ3‹ûßÿ…}A€4>x·5½^Åå½âMå¶3ëýylÊ)늻÷®àÛÅsæð>Ĩ›H úðuÐ5ü>?¾£»åuwFÑÖULÒï+Ù¼»ì[ó´½;Ùtðõ•ëMä«7+ß¿ˆOÊÀ«º£þÆúÀáÕ©Ñu+—ãÍœ3ÀÅïK ˾°²öæìA!¤|¿œ” ¬¿½æ–ƒŒc(~õq^_]P mè3§œÁz€Þü‡™§Ïâ㘼~v:«›H ÒàuS_=ÔØDóYŸZH}1^¥ÅPnÕ–óÞ#ÞWþœÝŽ%¥5ïðQâ  †:±+Pª—ӜԽYbée`UªÜU!ŽƒŠ {|È×g¼Àÿ͚Ǧ“XÛ7ÀJ- /;÷‘ë•4r³òÐDX¸B!„ø{jj˜mÌúà'’òËþnæ$|Ïäé=xÿÎK9óÛ-,Ê9ŠýÖ¿ül!„â sò !„¨dìLïnFvý±ŽŒÚbÆ.eë×m$«ê÷»z ñk¶àiÓ“Þ-+gšÔ²w“R5§£^BqI¼Ý{ª¥)ÕKܸ±a·UŸ¥ò°·7v¡o©¬#­Jg7¸o;ÛK\Äŵ®ø¨eídG~µƒ¡¸È 6Ž#˜4SÏ]ÏÏëàü‡žæÁ«n:üÂÐÉËÉG7›1…‰ôFI{(ÅâÂeÖ),(®õ+\ÅêÄeÒ).Uçê&N2zk[‡÷‘39£åd;pÖi7ÆŠì² §±íU/̧ F ·¡ÏœŠmKJ¨9Õ˜Õ®Ó#©&#*Á²òµPl]ýø¿¸Dû‘I¯ÿÌþ*Ã+o21@µDîfì6#šÇ§j±ÁŒÕzXˆ£ÈŸò=ïÍ9ÿ\u×ÿñ$_èzõëMÏ''ÂZF`dWÓoî=äJ>H!„'©&÷‡ý>|5_è)Áƒ‡C=1ú­B!„hÖ$È+„GÙlÆáp þÚ‘Y ªª¢ª*³™`0H‰Çƒ×{x:ÝWBI@!Òå@Á}HÇU/-¦È§â@6-iÓªúýŠ£+×>ñ8—kó™øüw$ÖvDp'ë7Óy`ÿjŸ‹ÆUȦ{ªïmE rÈÌ’ùxÅ_È·ƒo§þ@ZÛ‘Ü{Y‡™™}lþi {CÏæÖ1]kIùh¢Ý7rit‹¬£èø3/„BMìZv§W›ªý+mO@‡À.¶¦z¿U!„'ÉÛL¨ˆn×¥< ‹®ë)Y«.kZÙ†š®“–ž‰b\€BK‡›Õz¼«q»Í@IIIÓ6ÔsøíÛÅ\:ázž¸¾øe+ÙºƒV;cÙ±å©,ûj#&]Ëãwùùda™±g^Íçê,ÿïÂc„žÇÒ¯æsÑÄÛ˜xo_ÿº…ý%¡‘tˆ‹${ÉÖå4º0ò÷ì¡ÐÕŸ‘v#cmhEdäxêY¨„õc̨V¤mØFjf>K+zF'Ï.æ¦ku–›™•Nš?œ~ç£[N<9J±ƒ/eÌ`k•@Q]u*eÇÆÜç˘ÁðÁªL¼æ–ô¾ø®ˆ=»±u¢ªÛ—.gßȳwqK W½Â¦ò‘~ÁFµ×z4ø™Ó¸i=´Ìl/°Ò§{4êÚ)›ƒ÷Ú'çºÈ$¦œŠ«[_úWݦ •ø]yñ²aÎ<¶¿<†ÝQ§¿ìÂÚ“Qc/%rë æ%TýrN%¦{gL9kÙž#‘2ñ×*Ý6‹÷~èÏ —õÀ诞ÆÜ¿co|Ö™‰·=Ákí1oÙRs¼CÛÒsðŒ:+’Ý_þ‡Ï$¥¿Bˆ“˜Þ´þ°îmÍÈñcÉÿâg¶Ñ{$wéHæâ—YQ å~«B!NFäm&b;Çðöä·(..Æb±àóùp:hšV1g0Xöߤ¢(ÜÿÀCìÙŸq<«-ÄßšÙd:!¼Ùm6>Ÿ¯áWÐqoþ‚'ŸÏå–k/æÁI·áR}ä§%2kòB|;g3ñé<®»v½p;áÆR²vmbÑžeæú¼úSªþ…J·ÇSOesýu#÷ÄuDØ|…™ìŒ_Ê—M¼!Ú·yoÏnÍ]×?Å”[½¤ÌzG¿®kÞÂrþR”¶gqÛðˆtšÐK ØŸ¼–O^øŠ•åàj/wïOnÇ?o¼‘—Þ¹ ­8ƒ¤sxç•]Ü7©Sƒu*^ó)/N¿•Ûoy‘/Æ«øÝÙ$¯þž×?ô1ñŠÆ×Mˆª´=¿³$åJnËäÛw“9x éyk¯ukø3§1ޏí¬þ³   Ó—;ÙC›~œÕÕQÀ­ÿpÈ&¾µïró‹ËpÁý?òâs·ß:†'_i¥4‹ä?f0ñ³Eì¯zß„± ƒD³nÛO„bÄI¦”„¯?â‡Ys—]ó_åÁ”ó}é0®¼ë"ZºŒݹìÛ¶¯'½É›³‘ñDB!NvMéSçóÞ"'—Üù$w·u¢ìcÃ÷oòÑ·[88ÈÑì· !„âäs‰ñšTVmë”–óSiäï†ËUUŸSË—U– € xkà³ûÖsÌG¦i 4€Çþý( tíÚ§ÓÉ0›Íhš†¦i‚Á „……ñÖ'Ÿ° à BVˆ¿£ððð"Es}‚Á ù£ýÊÊÌ ®{ÏãT+!„8ñ;_Í[/CÒ‹ðî¦Òc°Çé÷0åÑÌtßì•(¯B!Äß“JÏÛÿË =~áþÇæ°W’% !„õúiÁìMÀƒ€Ѐ`ùÏ@•å`•å²4‰•ËUŸÓk,W}ÐÈßó³¾åúžk̺F“‘¼Í€¦i„……¢ë:f³£ÑHaa!ÙÙÙdddMxxxE*ç-Z  C×48ÁƒPB4GV«µÞ¯ÁÙŽSNß®í‰tYÐ=yìO^Ï’¥›H¯;PpvÈùg÷¥Kk'ª7Ÿ}‰køeYYÕàZi{ê0Î9=Žvá‚ÅÙ¤&üÁo+·‘SÏݽªªb6›ñz%½âQe¿ÞÇSm+5²¾ÂƒŸ'ø«ë%„8l”øxÉ0þïú ù~Ë<öí¬©#—];˜’ŸÿÃ| ð !„Büý)GslB!Ä¡$ÈÛ èšFXXš¦ÍÆÑuöíÛÓ¶mÛjiš‹‹‹q»ÝDEEЦkœh³ò*ÎAÜóP4‹_œIr3ú޳¹Ö[Fc=W–΀+®âtÿfVý¼–½Ù…ǰ‹ÏãúP¾§ ü>5ê ®Ómã/|=?¯³#ƒ/Îõ—h|2'‰²Ì¹Z ¾ŠëÏPIX<—E»‹0DtáŒáqS •Of'RXÏ}?ä=<ëùß¿¶óY}ö@I¾x…hnt7N{ƒwGö&ª•Êžô£ûÇÞØª¾•SyyAMœ-]!„B!„BˆCH·88’×ëõ²jÕ*ú÷ïÝnG×u4M«–†Õår‘™™‰Ûí&,,M;ÑrÂ(¸zö"VÍfÑñ®J“4×z‹cÅd¬ug=—53Þa­ÇG@UQ äþÁœŸZsÿU=é²™µ:`&nài´Ø¿”)?%P¤(˼96î¼mÚlcIšÆŽ ЊË>dÁ†Â²òò×2k†ŸÇ ePûmü\Ϩ0£z¢Ýêñ7 {)ÈÊ¢àx×CqtyvóÛw»IÑýðݬcR´B!„B!„8 I·Ðt°ÐP6oÞLÏž=±X,hš†ÑhÄét¢ë:ÅÅÅ£y;uêÄ–-[*Ó5WccÀÏr«mÞYY>šPÁÞ,/Œ=…´Ù/ðÚâìòdàúÝ>‰±®ù<=y%-FOànÛ|¦ììÂeÃûÒ)Ü %™l]ý#3ØLvC^;½Ç<ÀígEa7(ü{òp@#máë<ÿý^4œ‡qÅegÑ·cV>©ñK™5{»Ü: ;fãÌß0é7—]s1§Ç„Pøëd&ÍÝGç1¸ÇñS¶Ç0jx_b"lèÅi$,›Ë×+ôu çôé@„Mǽ?‘_¿›É/»Ü '>o Þº­=ƒ/ν:Ò&"›^Lúö?˜÷ílÎÕ0uÁ#£à›×yunÙþÝÆ<Â}½wðþ¾&Á­ Θ¡Œ9Œ¾#q¼äíMä÷çósRe§·ì”gGFžÛ‡˜–T_>©ñKønÖï¤zQSËkây3DrÁC3"ïsžúd#%UN¤ÚqO=|:ÉSžçË­ÕrÿmÔúÒ +( ÝlªI¯ÁëÁ«·Àtð“WmC§h#é+Sp«*%æî$9o0Ý;·diÚtGá7inÔƒûUŒŠ·“¸ï<†tn…ao:uÝÒQ]…B!„BqôIüø>®<ÞÕB!Äßžy›“QÅáp`·Û ƒ(ŠBaa!v»MÓÈÎÎ&<<]×Q»ÝŽªª™3´„„ Éè×u¡³e%J¬tÀMt¯„ÿºœ\P;cdÏÏ›ÈÓ!Ô§az 7g2噩$åê„÷É?ËxÛT^þvžz§‘.fã´Çybß“¼:"…šFbTk!v#¦Ž#¸ï¾s1¬ú‚7¦n&ÏÞ‹ÇŽeü8¯L^B†Ÿ†½ãPn×÷Ò¯xkz6nw: Ÿ†mènÔ¿âݧÞg[¾J‡á÷2áŽ;xâ¬"v.xŸgÞO$‡Ö ½ó Æß1Š´I_‘ÐPÛêMÀ„Ë•ÏÚ™ Ø´ë¾ðþ\÷Ï›¹ýšl&N]MþÎÙ¼ýu “®ºš¡;>`E¶Ž½û¥Ü8ÄÏ¢—>cc‘“,1#¹üYh¿Ïà½Ï· #öÌ1Ü|÷xZ}ü&ŸÇ¡Cùq^í–¹üïå‰O/Å=Œ»¿›»¯ÈáÙIxijy‡sÞ2XúóFÞ2€¾ÎM¬*:øæ«tê×—–Y+˜šèÃßs…Žë¹w£Ûáò¤³?¿ü\ÙB ³úÉͯ‘¸S/ 7ÂZ„aä>Ÿ¯nÁá0U‚æ+V‹W¨ •ºƒ¼ ÖU!„B!„B!„ÍŠ ïjl6F£‘°°°ŠQ¼Á`’’ÒÓÓIOOÇf³U¤n¶X,DFFb6›±Ù¬5JSðìH$ÕÔ…¸åc ­±œÒ½”5ó—‘Õ±=CËB†6]èêÊbËÖüÊ­õmÌýd)û•0ZD†CÚb¦Îˆ'dð9ô i(dÀhÅfTÖ°„…·Àe7‚â¢ÿEçÐ.õ;Þüt5©E~ŠÓ70ýýùdÆœËy]+S㪢)øüYÞ^°‘ûÓÉ( VŒÆUô­Ìýl%j8-#C(\»ˆU9Vûðñ¯éè!­i`Ë¢eìut&6ª1—@=õðmcö;ÓX´i¹ž ÅûVðÕÂ;u ­“•‚¥0}g®¼n(­]=¸òÚÓqÏŸÙûL˜ €Ê€gÓzû—¼öéïìÈ)Å]ÆúYoòÞ2…£†Ñ¾JU’™ûá"vù\D´j…Ýϼ_÷àêG;õ0Ê;¬ó¦R¿”uþî ê^F4ufÀiáìÿ} û tž¼WÎAÚšu¤–zWÌ,øðùk¾:ˆÏD±X1xv³u·NסÃènB ¶Hzœ{ƒZPTƒ„q…B!„B!„Bˆ“ˆy›³ÙŒÑh¬ö†„„Tr£¢¢hÓ¦ .— §ÓIëÖ­±Ùl8Ìf3³ùÐó“IÈt×% `‰íMO’ؼ:‘wgúôp¢ Þ%–ÖE $fV6-+• ì˜  `0;ÐR·²ÇÐŽmÓœ”òŽ ŠRþP£‰‹5±çÏDJvÌF#F³ {ñ^v•8éÝ¢¢±ê¹kX’lÂå°a6›1©•á--k™Ø*êg´BiI¼½Yh6sÙ RňY÷S‚‹©±¡±:ê  ˜q„†b·Z0Ívî0©å©zŒÖRV~ø[Ú\Ê}\Oÿ¼ÙLYÑ\^б=]:IÙ¸ŸËÙdÄh4cuXIÝ´Odº„W=ÎÝì:0—»b´¢yKÀf. 6¹¼Ã;o};KWÐe`?ÆËͱ§qjH ËþÈE•ÈcK;κò|Ú¥ÿÊÜu•7M ëe7(2¾²}•­r?ÿ;VäwàÒ»àß>Ä£w¤[ÑzÖ¦i¼^Ê–.„B!„B!„Bˆ¿I×Ü XÌfTUEÓ4òòò°X,8NBCC1™L躎ÏçÃãñ““ƒÇãÀd2a±˜))­1'ª’ERb!—ÄÆ¦dѦw [>g§¶—`|)ã{wDZ:.q(Mø‘=U6ÕýA4TÍ kú)ÅŠÕd€Ã 5)f+v³J§1Ï0ùªjk0š dYLA/­Ð×d¨%0º/@°ZýÊ‚eMG¡Ê& åå58#oƒŒÝ9gø™œ׎–.3@Q­YW¥t#V?­.æÉ‹¬ûf5y–ÊùZ“»I§¤4PãÎ Õ[‚;vkeÄT÷ú¨T{ªšmry‡{Þ»_Núùg00z sStï×{ÒLÖ©ëÛHtôÆ¥A6GqÆè+è\ÃôÙñ*je×[J),–šå±XTtoiyrfƒ7ß¼ÏrՆâSê.%hêĈ~ŸZXgªæƒuB!„B!„B!Ä߇y›“ÉHQQÄÆÆ¢( §"˜  ë:º®£ªeó÷¦¤¤ ë:&“©Ö2÷$%áKç,âzÙ2}'š)ãñß݃n!nâºÀ¶©èUƒ‡'öñ(ÅBˆâawÉá%Ô½nÜþ ÛçMâß «‡¤t MSЕƒÍµ|Tm­q«¿x訵;×ÏçÜ''rÃµÛØóñzòu ¸›-[ýŒíÓ“ˆå+È©8~ ±}z`Ëüä|½ñ±Ø£]^}T7ë–naÌ5}éµÇNomlñcø[‡x!Ôäµ¶åÿÙ»ïð(ª.€Ã¿ÙšlI6 z‚ ŠŠ  ˆ`{¯¢ *,ˆbAQQi"(EPzO¡†„ô²I¶Í|$@z%rÞçÙg'3sïž™ÌÝd÷̽÷Š~wÐѽŠg¬ã¨j(öº(-‘={ó¹¤Yc‚6n>~ÝëÛÒ,ÄI||J=t orÐ9hßýbÉëÙRIÛóz½e®ÏÉÉ©°œB!„B!„B!ÎO’ä­t:=}z÷fìØ±DDDIÍš5 %((‹Å‚ÙlF§Ó¡ª*ªZðÉÏÏgÆÌYeWêÞKÌ>+·]q †?ë-‡WQ÷²%FϽÝ:a9¼ˆ]N¥X"Ps‡ÓãÞ¾8çþK\ªàæ=èß«G—ŽaS~$ 5²"ËÞ«¯ØBFT&¨9¤d8Ù0k>W»‹§ïw°pMIy ö0"„¾v9Ñ•Õ}&•÷ÑC$x®á’k{µ(– ƒí¯æúKŠôÀ´Òööt×–ðîŒýè¬ }9ƒKFõåÞ®û˜ðo**ùlœ=—k^ëÍÃwù˜½b©>õ;ÞD¿®«>_F‚•ô-¢ªë«ˆWÔ 6Üõ·ÞdƵn<±šå'åÏ4—ÛÙl.{£9’+îìK7Û>–.NÁÞ¨ÁE6«¹ÉìOÌAÅǾµ«9üà•ÜÖÓͲ­I¸­u¹ôšK :°”õÕm*ÀA„U%Ï£ÇV6»Ò)â(K§®'™Š›žÛ㩚ƒB!„B!„B!ÄyA’¼Õ€ªªDEEѳgOtº‚Þ‘z½žüü|<™™™(Š‚ªª¸Ýîã½örrrPËéá‹âdgtÖ–µÙ²qîã¹\/±›c1_v )+w‘Z<Ç‹º>_.qps¿Ç¹«¦-û0ÛæÌ”ß÷£šýêê‹›ÇsÂ|󓌼ÝÅÁEø`áAHZÈè)ôØ‹~ÜBH€‚;'…}1ÿ0×u'°Š”÷‚uLÎà»ûð܈hÎdv¯ý‰íàá7 Á—ôãîKóXøÎöëM˜0g¯ä«ix{ÀÝ\½gKAwt1ïL£ï€›yà¹~\¤í߯â1ù}†%àdzÆêª¸¾J^MÛÍŠ5^ºßàaÁêý TMúø|æñxðù|eöæÕ…4¦U-:] ®»³e©íÞÝ¿3nf ù›˜ñ“FÏë.§ßýA<™Ž]Êm!£Èü½ºÐvÜ6ð2jT\ÙiÚ³ŽŸçn >G‡¾‚_¥OUq¹Îƒ$„B!„B!„Bˆ*S•}í*ª«¬mJ%Ëþ<+~þ|ì¡+±\ôQt¾ðqlÙPdY±—u½ª}Ç\e²33ÈËÍFU+šu³4NÁjw`µÙËÜîu¦žãÅApà‰,‘š—Fj– %Œ0»©p­ž†}†ñB³Œ|w{³óp{UÐ1Ú°YNb8ewN9¹.|šƒ5”[ÁÜÁš'§3—Û[ Ö0š±Øm˜tàÉ>J†ÛBH˜­Ô eoóâLMÁe#ÔVd~bŸ“Œ”ô!ØMþ^VÜ|ùÙdçäáñ©ñذúÈNób w`t¥“žåÅ쨭ÈkùrSIÏKh(ƒRúøQÐÌXíXÌ'’}å5/ÔlÁᎽ̩×w²çMG½^¯ðr»ÕŒ½ŒÔs=¶öYb6›±Ûl¥7¨^Ü/åÝcÞˆÙx"9¬©>¼ÞÂkEgÀ`ÐÞùX(ètzô†2†€.!+;·Û]j}rR"µëÖ¯¸°B!„B!„Bq­úûÏ­À³€P_᳷Ȳ¯È² hE–‹®ÓJ,}àçÏþõ±é>]Øð±oês<ôÝTk®Ø^—µ ~ÍPlZ&û¶.aòø©¬N¤Ëãå•=@·aÓxÝ:‰~ÓyüËo=Mîû”‰=ÖóÔÐ)ìôUÛ—+8Táq qžÑÕãÞÏ>£ïþw¹çƒµäÙdlû0SÆtaÕË2~oýòÛÕQï“0žA³Cxè©»¹¶U(©¿¾ÊàovâCÁÑæfß׋®­j¬ä“–ÇœOÞæ§Fóé¨}Å p 8Ðç%ûïoLüòÄ{‹RQû®,ŽÉit¿¦=lË¿é'R¯Þìl¼%N‹+=ƒ\ꨚө½™¸ék9R¤{ö®bÕ‘;èÖ¹>_ÇîÅh)«ø+ê!žîÙÇß‘.Y^q†(Ætþú|*u>Ä ÷®æ±¯¶S~jÖÄÅ·Ü@ÃÌ¥¼úCÑï1nöÍÌì^Ó÷ÖÎ|·u9Yrí !„¸`)·º‰A÷ß­# Öçq4n¿ÿø=Ó7&þïèïçêÂúÚÜÂÐA½éÖ2‚@w »VÍå‹/ç“¥¯Ë¯ÏÚB!„¸àH’W!D)ö«žä•€)|ðÒ×ĤAXÛÞ¼8üU>°ä‘Ï·PÞgH[÷ÇfŸÆ‡o<–D zð̨gxëáD»‰<èðð^ê͘W`Ùá2bøMdÿ?Þ_¸Ÿ´Ê¡—ðè›Ci½aoCŠj%¢AK. J%Í—C¤çx2e4_Þº‡aC¾f›WCóyñx-ÔŒÈaõOŸ2~O2î°Ž zaß>Âý¯ÿɺrËúùç²¢Ø$Á+ªõýË}÷õà2Û:–›ÝÄE×v#üÐRo÷ *nW©€‚½É- {³6y‹äíRÈ:zls?¾ßãªiŒE¢ÛJÝæ5HNðztuoá™þk˜þíÛ|•‡µa†<óoiÇÞ[@«¤}W‡µ [*ìü2ªŒWQ:"Û´$4+ŽØÂŒ®I›‹Ã‡ÓŠ÷Ìõ%r("ë×ÁÄÞ‚›–É–M{1Ü{ mͱ2¿ê~]Bc4¢ZÀغ1að“<°ê¾ˆ)'Í«¯ÇE­ƒÈÛºmå]“¾ýlØœÊ=Wµ£¹~9JÞý „B\ Zݢ÷{ò)Œù.Š$Ÿƒæ=ðȨ÷¨óö ŒYqüB>W›[ äýwïÀ¸ükFMˆ&ÍÚ‚[}„Fêxü¥ßØï+¨«òÏÚB!„¸I’W!D) ;˜6~ÑiOS¢f1fr;¾òzLÝÊ‚´òÊídÚØ_Ù”RPι9Sÿ¸•7u ‰aÑ4ãŠËÃØ5ëg–ìw¢‰ëá×ͽy®EMr~ÝSéð¥Š-’ºAÙÄ,ÿ›-{]Ú·‹MÇvðºqû4ÐTö:Ù´jyuÚÑ>üÄ?ž•~®64§C;ñ«×pÈwb/ßXbA´hQëø·•ÖB!Ä…Hzò !„(ÍíÆ]ò;Ü\'¹`³ê_Y¥ ?¯°·Z Já¼»¾8V­Íäú›ï¤Ûúoù7ÁKH»Û¹í’\VËŸØ´dþý ‡®íý‡òéOphõ¾›<ƒ•‡*®ÁX³·÷ïE÷v©í0 k´``µ?¯\¶¢ÉáÓˆMˆó’–Íš?×’?¼W†/fv².×t°ù+–~³åo»Ò2ÓÉ(‘CUÌvìf•¬ÌŠ{Ð’ë$·DÙ‚Ñ—OÌé}:q`0`À‡×[vŠ¥9G¾Îmê†^ÈÁ"=%4g9b³”¼SÄ„ÍbÀ—›Sü}ÑçÁƒcù÷ËQ¥<{fñÉ/—óÙ€§x`õóLVÕâíMK'%BÂÃ0WÎ_x=aá¡(ÙûI•aÆ…B\ ”;v“JvVv©ÿ]ÕìLrhF°]‰…++ù\­dÖÓô¾Oùýî¢;é0˜u$Ù,'zçTöY[!„$Iò !ÄyJQL&&£ƒÁ€N¯£äÇ7 Õ§âõùp»Ý¸Ýn4¿{âTÀnǦƒ¢Ýô‡‡’G²³œ¯?4'k¿ÍÔ·ßfä—=ÈóøÈ;º‹•ßà›•þ÷ òe°cñ÷ŒZ<• ÆÝ¸ëчña#†|¿9å”±tà©Gpù¾ïyÔ§l=œGSº~3Ÿô#ô2×*ÿ­T›ô~ÕOî¦%ü9’k¯¬ÅÜ¿ZsmGµ­!CãôÛ•ÛI®GG„݆‚³Â÷€ [ÏiÆA~ybµ(¥^I±´àîQ#诟ÏkÃ&ºÄ¤äZöaf˜iV'…¤¥õµ¨©¼:±Ø ,J +yäJ¢Lœ5nvMÏ/]ßgÀ3X;Ù…«hŸßA¢vdqO§´5¯acY÷$éëÑñâ0\Û·±ë4þ B!ª3-?‹l—ŽÚÁöRÿ»êlÁØÈ!+[ ïæ«äsµær’ãö±cÆk¼·¬äMÞœŠ¦RB!„áš…â¼d2™p8Øm6Ìf3z½¾T‚@AA¯×c6™°Ûl8‚ƒ1›Í§ýúú­iYôO„Žº;ÓÈGÌžÓûv×ܬ×…þˈ{ï¢÷íéÿÈ>[O©é,ýâ#kï ¾þx&;l­hW¯àôϧ‚ÁHÑÁ’ .¦C4Vü2‡ ‡²ñhê7Фh‡º²Ê‚F®3ì6lE JÍšÕ(çiÙ± Qí¸cX´,™fݻѺkw.Î[Í¢u9høß®Ê¯{7Q»|4ëÒ‰ˆÓè‚pºqøŽ&r”pêÔ*~ÿ£bkÉ}o¤Ÿ:‹W_û™¨²nÔðƱvcͺ^FÍ"Ç`lx9]#3ظq_±ž‘æZ‘Ô ™#G%S&Î"×.¦Ž›Ã¡º·ñ|߆%Ffv³eþbö9zòðÝ-±–j‹FêõzÛëåßÖ’%÷+ !„¸Pyv²1ÚMÓΊýß´ïrG¢Ù–|âe¥Ÿ«=;Ùã¦~³Hr$p8¡èãIYî³udB!„¨¦¤'¯Bœg¬V+ΚW.½^ÝfC¯×“››{Ê1hîÚôyéQÒ¿ù-‰>j´¿•§înLâ#Xž~:ßî*Ø4"B—FX£æ´púÐ4®¬’²ñøSCÈe ¼£&‡6lg_b.s-.¾õçÅ1ó°ÐHß·Ì ÎÜzskެN5‹„¤Cr‡rÙ=h•º™T%ŒæÝîàînEîŽ.§lJ>»6n#熸ûŠÕ|¶ò.S8ío}œ;[hhGýMˆêÈËÎ%Ë8xÛ5<Ñ'‚Ì#ÙTØ ÕçW»ª€–ŸSÿàöwà­g4¾ùc)ª•ššbÞ5eñþExºq¨GâØ™È%­¢_½  XZrßÛor_D4ßNŒÇÞ¦—-“Ïæ¸4|ä³aÆLbÇÝÃëåòåq䆴¥ï#·3…_·ýrÎ@“6Í0¦¬&6U2eâìÊß>Oæt棾m1zVÛæÙõ ï~ÕŒ÷‡¾Í„óùuÉö¦¸0סm÷›é{M{¿{“o¶It!„0-ƒ¥ßÿJŸïçͧÜ|1o‰Þ`š÷¸›'®×Xþþ¼b#^Tú¹ZKcɳ¹åýGxï…`~\´ƒNkHM5 ùÏßX“rîW!„ç?IòVzÔ«‰¢Ü*¨iÚñ!Y‹.«jÁ0ª¦‘p$ E'=Ç„¨NN'Á[”%0à”½¾øÙ|2ÏÎmO¼ÍÓuí¨ûÙ0ë]&LÝzŠ=nÑá!Î>€ç?èqbµæ#kïŸ|2r<ËKN–Y‚']½kxô¦‰°›Ðò38¸c5“^ÿž…Ý‹Ü[¦1æ—Ú<õÀh¦ Íg÷´×y⇥ŒSg fìd+Zv"Ñ˧óÑ›»yáÃÆÇ«/»lÙÿNâÉCyôáOøí%=îœdbWþÊèñnÞ»ÓÿØ„¨ŽÔ}óçî»x´å¦~{ü† -Í¿vU> ç–oxᵆÜw+¯Žy„ ½›ôCQLû`žßñvÞü³.“^]:Óø»]Äù@Wç2®iièïÂÐ7º”*â^ý1w¼±„Àwp.o Syôá¼5.sþQbWMᕯçs°è[š¡)Wt#uÍvÊØ{â¬ËcÛ˜ÓùmúÖ,¹ÍÅîÙ£xd÷õ è{ ýŸº™»Ÿ3•ýÛ×óÃÿF3wK²_7c !„ÿeî¸é¼òb÷ßw ÿûø1BŒùݽ‰yo¾Ê´uiņ\öçsu~ìϼôb2Üw OŒºŸ®ÌDâ6ýÉwò‡W!„•8ñNª®²¶)•,ûó¬øù󱇮ÄrÑGÑuúÂDZeC‘e`Æ^Öõªös•jÑ´Ÿ @NNf³·ÛÍfCUÕãópú|· *ŠÂÓÏ<ÇÉg+D!Äi2UiYÙٸݥ‡xJNJ¤vÝúe”0Ðî±/ù¸í yêöW’o=9 !ÝžcÂÓ¡,ý)3£’ÉWň½v¿9Œ+£G0àÓ-ò%²â¬34½—IŸö$æÇøxcÞxk—g™2¼¿=ù?î“ÞýB!„ÿMgòsµBñß³êï?·Ï f³÷>{‹,ûŠ,«€Vd¹è:­ÄrÑ~þìÏsEË­óg›ß¤'o5 ª*!!!8NbbbhÞ¼9dff’——‡ªª¨ªŠ×ëÅçó‘™™‰Ãá (ÈŽz0N¦^¢:°ÚlU_§Å‚Çã9ÞÛßoJUÞtŒ‘vWuűõcflMÆulµæ!;!ší ^z†ôäõÃèh,«¼J⼑<òM¬ÃÀ !ÄIðî™Í‹{ðæý73këLöUõ±ýîïFÞ% ^!„Bˆÿ¾3ò¹Z!„âIòVªªâp£i&“ ƒÁ@VV)))$&&R¯^=BBBŽå†ÏçÃáp ©*H’Wˆó^@@z?ÚªÞÑœko»‘ŽÆ-|÷Í ŽTrG°^¯Çd2ár¹*Þñ¬ðr`Ï”;n¢ÿ¥‡Y¸=‘lÕˆ=¼í¯îÏ),zc2S'þ€¹ÌòÞÜtIð !Î ÍÉú¯Þå“[Ûa`_BÕ¾ÛkÕÂõ÷8Fþ¶SŸ1]!„B!„Bˆ’ä­4UÅáp ª*õêÕcË–-hšFݺu‰ŒŒ,6LsNNN§“ZµjáFÕTηYy[g}®KFÏd×Ö‘åB>vQ1ƒ¡²–ª#¨iwnïÕsN>^Õ‡¿#>?I^•}¿¾Ëëºû¹÷ÑwLœé‰ÄïØÈ¯|‚í~—BT¹Ü=üùóž3Rµçà*¦M?#U !„B!„Bˆ $y«c=y].«W¯¦cÇŽX,4MCUÕbðÚív’’’p:8Á¨êù–.Q°·nCS} ‹Îu(gÝ…|ì¢2FC™ãg¨Ó}špäXi¾!ü¯Û ?™[=¼DMÌu'Qâ¤x“YÿóG¬ÿùL½€B!„Bq.áÏÕB!„…$É[ ¨šŠ#8˜¨¨(Z·nÙlFUU 6› MÓÈÉÉ9Þ›·aÆDGGŸ®¹˜@: y“cøç«ÈÔ,ñΠv$Ì~‡—¤Îøl¦ÃàQ ²Ïçq«ë;œGç3qOúôlOÃÈM"vÍBfþEJe=S mû=Ãà+kaÑ)¼<®' ’ðÇG¼=ï * ¶ÆÝ¹­Ï•´oJ€'ƒýÛþfÖììuj€ž¦ý†ó°éF-·Ó§ÿM\Ú(ˆ¬¥ã5çû çQëïLŒkDïžíiˆ–“@ÌŠ9L_å¥Cï›éqQ}B5œ‡·³ô×™üµ×Yx¬uŸzù‚óXnü¹»X—.7ôäò6 ¨L –ѸuÌñ;Qiç[¢^œ :}ÅC5{®â§I+HÏR‰¸üäúçWV·B!„B!„B!ªIòVFƒ«Õ €ÅbÁçó¡( YYYX,TU%%%…4MCQ, z½]©9>s‰Ù¼ m@›W±9 €–m›âÎtR¯M+B–®$MôõiÚÈÀ?·’®A°[ÅÒ­?÷f2qÄ$v¤i„´êÅãÏ â©ÀI¼7c'yåÓrØ2åU†z17Æ3ú¹)l÷‚>ÀAÅ€±Á<ùäÕèVÿÈÇ“¢H·´à¦Aƒxêaï[F¢ ^·Š¥A7|¸ο§1vj Ng: ^·J`·~Ü£Mcüë_°3COýžO0ü¡‡ve6{|Áˆ/¶“JMº ÆSõ&aÔ4b G±=ÝòÇ¿¤ÂcÇkÄnÏ`ýÌlÝ{wHG<~ƒû§0rÒšÂd¼ø/SP*ÞAç&;Œz]åûžlÝB!„B!„B!„¨V¤{W5ˆÁ`ÀápïÅëóùÈÍÍåÈ‘#9r„ÀÀÀãC7›ÍfÂÃÃ1™L”¨M!o÷vö›Ð¬~aoÀ€¦´k™ÏÚù+HnІÖÁ !]í&4·'›q¢´¶“9ßþÍaÅAXx$,aÒÏÛêÒƒA•%’t,Á@G€# GHv‹;oèAý¿òÉwkØŸí!çÈf¦~1Ÿ¤FWsMóCÙêÖ#ó‡7ùlÁv>Bb¶ïxoZE‹eÎ÷«HÔ‡P#<ˆ¬õ‹X€õÐ&/=‚T“A^¢­à µ1Mko§\¾ÒøÍå;€{'³?ŸÂ¢­‡HËó‘sè¦ý±CÃúDJ+((Š$k…B!„B!„B!IÞjÁd2a0Ž'{ƒ‚‚Ž'rkÕªEíÚµ±ÛíØl6jÖ¬I`` V«“É„Ùd*]aÆ.b’ì4kR `nÚ–Öì jÍvbœ¹¨• …&M©™Ãö¤—‰š¼ŸD,u   3YQ÷Çr@WŸ~e# òT +E)ìc¨¯G³¦FlÚN®Õ‚É`À` Ä’s½¹6ê× ;~±jikY¶ËˆÝˆÉd¨?‘øR“Dàñø Ÿë#ý`2j ‰‚ÕLš‡\0‹'ÍN¹¼_ñ—sìŠ kp0–3ƒƒÉ‚×™ F='70¯B!„B!„B!„ø¯“áš«³É„^¯GUUÒÓÓ1›ÍØl6‚ƒƒ1hš†Ûí&//ÔÔTòòò0˜Í&róÝÅ+T’Ù±=‹››6¡$S»m+tÑ?°G=ˆo[>Oµm‰uM MšÕ'?f!ŠÕ<>TPdšXÏC>u@eó–M1`1éiØoãî(¶ƒQG²ÙxÊ:Lñ¤¡±a•5¹Š„B!„B!„BˆÿIòVF£ììl233iÚ´)Š¢——w<™  iš¦¡×ÌߦiÆ2ë<°c®îMi”L³¶¢§îAU ~Ë6<´¢E“fM`çÏûÑŠä« K‰<”b"HÉc_î©%x4—§ÇGÜÜQ|þoVñ””¦¢ª šrìr-ì[fÞêt“d§VÞ¿øËééÐ’þÏ¥íÁ™L3Žè„l<š‚íªWøê¡S GTCªOE¯?3ý¶UŸZæz›ÍvF^O!„B!„B!„g–$y«];cymøðbëJÎÍ©ie÷ÔËÍÍ#($¼ÄZ-~;;¹“æ]³hiÚÎŒ]>@AÝ»•(õÚtË¢‘y/‹v{(šøÔ…5£Y¸Ž}‰Ç’F:"Ú¶§®w/*;‘T’êóÁP|bß~vìô0 yþ^Of±ÃQ@QП™NŽUÃÏøË:v}­¦4NgÍ„%ìÉ ¨†šÖFGüY>q®x½Þ3–äõz½g¤^!„B!„B!„Bœ’ä­t:=}z÷fìØ±DDDIÍš5 %((‹Å‚ÙlF§Ó¡ª*ªZlÍÏÏgÆÌYeWêÞKÌ>+·]q †?ë-XQ÷²%FϽÝ:a9¼ˆ]N¥XçVÍN{ûâœû/q©>‚›÷ ¯z]:†MyøÑV#ëð!²ì¸úŠ-dDe‚šCJ†“ ³æsõ°»xú~ ×Ä‘”§h#²Aék—QgóLñ'þrŽýè!<×pɵ=ˆZK†ÎAƒöWsý%§8øµ¨Ž\n7f³ùŒÔíöxÎH½B!„B!„B!„87$É[ ¨ªJTT={öD§+òW¯×“ŸŸÇã!33EQPU·Û}¼×^NNj9=|QœìŒNÀÚ²6[6îÂ}<—ë%vs,æË.!eå.R‹çxQ÷ÏçË%nî÷8wÕ´ efÛü™òû~Ô@³_ƒûâæñÅœpßü$#owqpÑ>Xx’2zD }ö¢ß#· àÎIa_Ì?ÌuÆ <+ô~Å_æ±/XÇ”ñá ¾»Ï€æLf÷ÚߘøÑ~£ñ¹=,qÖx<|>_•÷æõ©*.×y߀„B!„B!„BqªrÜŠê*k›Rɲ?ÏŠŸ?{èJ,}]§/|[6YÖF`ìe]¯j_Á1W™ìÌ òr³QÕr¶åÐé¬vV›½Ìí^g é9^LAž˜/VÍK#5Ë…ÎF˜ÝT¸VOÃ>Ãx¡Ù F¾;½Ùy¸½*茘mج'1œ²Š;'ƒœ\>M‡ÁJˆ­`î`Í“‹Ó™‹Ëí-HPë MXì6L:ðd%Ãm!$ÌVê…²·yq¦¦à2‡j+2?±ÏIFJúì&¥JÊûÙÇnÀ—ŸMvNŸZP&À†-ÐGvšK¸óùN§·Çs†"B!„B!„B!Ĺ&I^á'qSŸb@9óáPÐéõg9.!þ›Ün7£ÑˆÙdÂ`0 ÓëPJLq®¡¡úT¼^/n—ËuŽ"B!„B!„B!ÄÙ"I^á·ŠæÃBT=MÓp»Ý2¯®B!„B!„B!Š‘$¯BñŸ¢§ÉÝï3¦ó:^|þö–=†¾Õ„žÖƒ?åÖKxúåÙTÏäk)X/z€1/6bÉð·øõ€}H ®¿í®ëÜŠa¨ÙGˆ]ûßO]B\Žv¼¤¡ù½L|·7µKŒ°ïÝ5•'þ7—êÿû™÷å½7;³í|›w&XüG™¯xžŸŸïH✷x~J,ù%¶;=Á/0áþXQl=¡-¯æŽ>WÒ©e]"ì&¼Î4íÚÂòùsY¸-™ B!„B!„8H’W!Ä9¥õ`ø;˜ýì·DKBRq®˜[0p赨‹F0÷€tµèýâ+ôñ®`Ο±óPZxú=ô £"4ž}{ IÇò¼v;V×V¾{wÛ½'ªÔòŽ’\41íÇ~î½óùzI7Þz¤ÿ¾<8ɪ‰S¢§Þ-C¸{Ýp&ï(™æ-‹‰†7=Ç›µÁ½å/æ};›}i.ôAµiÝåz¾ñ.—ÿü>oÍÚM®VymB!„B!„8ó$É+„âRîx)mÍ)Ì>ס!.` ¡Ýoãúh¾\_Ð[QMdþ»Ï°Ø™}"©µï c ùæÙ+é¾”¹G 6˜l6Ì9‡Ù±=–íܬâß~.vÌÿƒ7ô§oçßyÿŸl$§&N–/aËÓ/¦÷£ýXóÊl¯$Ïkh|+/ jKƼѼöýNtTßÎæÕ+Y÷2<ø4÷íz™IQþ$…B!„Bq¦I’W!DzZËk¶i¼µ£%÷ÝÚ™f5!'­ËfðÍô $ï}¦Ôü:îp=—·¨E>Ÿä½›YüË4foIÅ[¸µñÕÜwßMtmIÁEVêv­_Àäï·9èM^º©.VÂ{3o|˜ñOýOÅzýS±4äš~·r]‡¦ÔÁªeq úo¦~=“uɾŠcœ²Šµ¢í[iúÂxžµþÈ7ÿ"M+8fÛÏñÍó90åy^ž“T˜  ¤Û ãy!xCG,&Eóçüéi=ø^ ø†'æ;¸oh_®jJÚ¼‘<ùÃn|©Ý¥õ¿’öuíhY‡ÙºôWþ¬äì á]ú¿ÿ>}~ÂÃã6Rtà`c«˜8ª#kG¼À×ûêTÒÆ*»Ž‚[^Ͻw]Gçæµ°ëòIOÚà2cWA÷Vͧ£f—Üß·;íë£ÏOf×ÚLþî/â 3°•·õ âø1ƒ®W¶m_°6óDJÕ›“M‘·¸23É%‹Y4@Án·Aö²+ÌÆú»h©kYs/\Õ‘ —“)Y^q’c&Ë¿šIíwïæÉ»Öóü”¥†m>ÁÄE7^Ký¬•¼9­h‚÷7þÈüëFÓ»W'~Šþ§ÒkX!„B!„gž$y…B” `ëú0ÏšæÓ7~ 6B[ßÈS/<Ë(ëû<÷UN š÷ç­7o„•?3î§íUƒiÚíüß"?|që3ÑÌ1h؃´Üô-c¦Ä’ê³^¿9mìidøœ$~û/¥½ÎØ›âyëéï‰ñ‚ªzýLQú§æ³^ÃÉú™“ø:>wèÅÜóäý¼84‰GG/'ÍTAŒ*PÑ1¨¹Do‹ƒûÚÐ*à/þÍäâέñdæÒäÒ„Ï]ÈQ 04á¢V&ö/Œ&Íßó€[£xáÕšä-›Á˜é©ä$BEÁÖáAÞz¡  §0rlY¦Z\ÒkwŒ@—q†.qáPø{y\AGë&þqËê˜hsUgj$üÍÒ4C%mLƒò¯ch9€·FÞ„qý¯|õþv’ÜVê4 %%Ñ L^«‹¼ÇnßÀ¬©2åH>–ݸÿ‘A ÓŽòØÄ­äãG[¯(K'Ú7Sˆ›²½ŒWQ:jµhNHöv&©Ç×Ù‚¬“]iYÿö´,¢¶íÃп­MËYíªd!JP ”„ELü¥3Ýó0×çÛØrÒ¼úHZ·"?f31å]k¾ƒlÞ–ÆW´¢©þ6—¼ûA!„B!„g$y…B”¢°“Y_-fGFA&"5f㦶â‹!·pÅŒhe8¸j@/êÄýÄã$19Äøx²‚>dø½72ÓtöÚjiÏaÇ¿«ˆÚWðÍqÂÁ=l=öB>7ŸšŠÇíÁ}’P+3]×v¦}¼ýD¡Ã‹øî÷n\vGKé—“^IŒJ%Û󣢈7ÝÈEM üå…À6t¹ÈÅêÙkhwWG:†þÁÂT }ý6´ JfÝÖ$T%įó·§ð|7"gÌ«|´&óİ­J zÜv%Ží?ð¿oW¬áà„ ‚>z‡;OîT Q£«V²ížûèÑÉοg\m¹ªsñóVï|·±´ÂdPÙ×qWÞy#u÷Lç‰Op¤0oº+¶x$º€£üþÉ×,H(ÜáÈ,&7ºŒ®ºˆÆú­CWÒÖ+ŠCß´>õ lÜŸUáÐÈJX7îïÉž¹Øæ>¾›Ý†¡É­¼3áA—¾˜µÌÿe.ÿvä~ç>uÿA²ÍMiXKÇêý*Bœ>,øšé—¿Ã=õeí+S˶Yqæ€ô”´R=×OPIKNG³† Pù B!„B!„8Ótç:!„çõh<{‹Å¨‘Ã~}Z4Ôƒ¡ m[Ø»aKarñØn¹l[M^íÖ´­¡ ¥mäÏ písoðì]hb<»q–I#=5Íd¤PiŒ•mW“¢Ù–D›¶uÑm/åb¶³aÉf¶9›Ñù’ j´iM­¬h6ï÷ù}þŽ¿Fê:þØY<ùdlDË&:â7n%¥èïA¢vTœ¨Â_ZÆz–nÖhU'B /IëÅÝèÇ’•G(;õX¼Sæulh\ÐÖm ±‚<¦š¼ƒ˜¤¢;¨d¤e¢Z±(å•ò?]°¤e”ßrKsîyy­÷þÄ'óqÀKôôxëÓIŒ3šW†â¯ÿbøu¼<úynª­;Éý ãLO#ƒ`Bòïº8 ރ̙ôñ5oâ‰þÍ (ï/„æï_ù #„B!„Bœ¤'¯BˆR4wÉïpórÉ#«U`ÃnÔÈÉÊ)õU¯š“MM²ê@KaÙÇÿ#áʹõÆxà¯_ÌO?ÎauÂé?ZYœàÅ~7ß~=][7 V°¹àî&£#ë +©$ÆÊ¶û²%*‹[Û´$T9BƒË.B¿í;¢sâðmÉçåKÛc_²‰6màŠ™ÏN(v?Ïß±ãÌÊ ³DL1Y±5²KÕ¡áÌÎ-'ù&ÄIÒ²Y¿|®®àòËXb¥Ó•—`ˆúž ï.¨´«ª¬ëØlÇnÒÈÊ,ÝŠ•ÍÍ%·ÄS`ŸÈÞžN èñŒ,P%° }_}‰›Õ…ŒúèO—èîèËØË†õEVìßKLT –ÏŸ£Ïµ Yüã^|'±_A¥^¼0”w¿Š~òÄÏcÂo—òÁC¸î5~Ô´âíMË 55B1°·œ)t„Ôp€óiåOî+„B!„Bˆ³Hº!„(E±Ú°•觬äátúÐòsÈv+؃l”ìD§³Ú±á$ÛY˜Eñe²sÙt>xåIxi2¬×ðÊ[Ñ¹ä œ8±\Äз_á¶ð]üüÁÿy.é5)N—‡Ý³¾aö¡Zôy´/-Å.+_Ûwfئ=­ÌåT¡¯ÃÅíÂpÅng÷IN­ „B!„Bˆ3C’¼BQEEÁl6c·Ùq8 ¥FXØ}„……âp`·Û1›Í(JÕ¤öt5ZÒ¦ØÐ¡:"/íD}ï^bã}àcë:]LD±— ¤Í¥mLÚALJÉÄ„ì}«ø~Â\vÙšÓ:² ~ŸO£ã)„^Yœ†ºíhšÎªß°9!¯` nýZ”Ý9®ì+ÛîÚ¾JSÚ_)›·³zK.½‘mZ+.½á"ZìestaoÅS:%xö±3^£QûÖ8ŠÖ¡ §eóù/ªŽ'–¥ÿ¤Ò´kgZ\Ö•vùëY²Ñ‰§ÐÆJÖ½—í»}4ît1á§ñöuºq¨)GI¡µ#Šr£X›s×°W¹UÏÈ·eûIÌCª5£e$:x¤œž‘ïgЍE©$%K¿|QÜ»™1éw"{ñDŸú%Ffvµxƒ¯â~ͱ–j‹Fê\w·ÔKfÉ‚ dË}B!„B!ÄyA†kBˆ*`2™°Z­èug7µ¦  ×ëÑëõ˜M&|>¹yy¸\§7²æªI¯§‘ñãŸDõÚ¶Cû5 iÉ{ü“©–ÉŠis¹qÔ]¼:Ô÷ÄäµÓôŠ;rµÆÊOÿ`·GúõŽ aóNö'eâ6GжWwæíeÎÐÈ8p€,{Gz]ß‚Äõé f“˜šç׌•ÅéSŽà ¡ÃµÝi‘ºT%”¦]n¡_—€ãÉ”Êb¬ü@ËÞΖxýoèŒqûlvFŸÍšh_ßëá…lM-\ïçù«øà“Y6g·½t/t1eù^²á´¹~ ·Ö×ÐŽžÂ/^ˆ2y‰û{%‡z]ÉÃ7Õ kõûl-|‹ñ%WÞÆ*¤¥²|Æn>aÂÅ’¢Y‰hÐóî?X¹ß¿O75iq™\Ô²úõ{ðQ0ï]¯½Ê€ðL¼{‹öt,Z&s?Ûö¦ãÓ7¤× nví >1…Œ\AuÛÒóÎ;¸4ó/ÞZz´àýÌßýÐÓ¨ecŒ©ë‰K•Œš¨ù;g1á÷޼ӧOñaÌ=»ããï3òÁa|XwsWD³?Õ…!8’Ö]®£÷•áìûé~ˆ9ý©„B!„BQ5$É+„§Éjµp®Ã@¯×c·ÙÐëõäææžr=¾ýó™°ÈÆÍC^ã‘HZæ!6Ïû„ofDŸÓ½g6#ßHgÀ]7òÜ;ƒ 1䓼w+‹>x“™ÓÑÅ“y%ö¼›p›-?“ûÖóí;ÓXUØÈ5‹Ïf×dèÀ×™ø€‹øYïðâôòæ<É8ÓWðŸ:<~Ï=¼ûùPÔœDvüóŸ¿¿—'G5,¨¤²­•Z*Û¶&0¸Um6¯Ýz¢—“æd˺˜;_LòßÑ$éçÏù«˜FÖº¯>¶?Cî|wn·£ä$²cÕŠ®Ó>Ž-Š,ë#0ö²®Wµ¯à˜«”^õêDŠUÓ4´ÂqÖŠ.«jAAÕ4Ž$¡èü,QqŠÎ§oI¹yyå&z““iÖ²u[ô´ü)ï´ú‹§_ùƒçí(¡Õ%N!Duah|'cßíÁŽÑ/0~kþ9ŒDÁzé£L|±>ó_Î/%Ë+„B!„Bˆÿ®Å fož<€ ø Ÿ½E–}E– †ˆ<±\tVb¹è?öç¹¢åŠÖù³ÍoÒ“·šhÚ¸Ÿ @NNf³·ÛÍfCUUÜn7š¦áó|¨( O?ó'žË°…øO3çm‚Àˆ×ëÅívŸ|á*šÛ÷”XºòÒ„‡éd,k£Jòïóì{ ~<—q !þS¼ñ¿3yYwþ7ðzæEÏåÀ¹Ê­Ðç®.äþùó%Á+„B!„B!Ê!IÞj@UUBBBp:ÄÄÄмysÈÌÌ$//UUQU¯×‹Ïç#33‡ÃAPõ`º³”sXX>Ÿ‡Ã¦ª I^!ª\@@ú Ú–ÎV‡‹;_Jûæu ·›ÑòÒ9¼k#ËþÞÊ‘b£€*Ø\ƵWµ§IMzW‡¶¯å¯1$ë€@äÅÝéqi3ꄘñ夰?fËWí$µ‚ òôz=&“ —ËušG|i.2““ɬp'Š^qäícù¯ûÎiÞÃëøuÖ9 A!„B!„BT’ä­4UÅáp ª*õêÕcË–-hšFݺu‰ŒŒ,6LsNNN§“ZµjáFÕÔó.¢Ø:óèsõX2z&»dBQM ´,%„N·ÝÁ¥ž(Vÿ¹žƒ)YÜŒî7]ÃÀ`ofl#³°c­¾ÖåÜٯꖿ˜>ÿ.[º\ד7«|ûöî;:ªj{àø÷Þ;½$“„ÞKBGQ,ˆ<; €½=Äúëó§±aïÈS}VDP¤XP©"]Z 5„@HHOf2™vïïH#!º?kÍš›[Ï sfXwŸ½Ï·É*ú 庳4’æÍdîÎbÔØöœ5ð"nŒÓøxÆ&ŠjIÔ=² o„MÝË•uÜûÄ©/íB!„B!„B!Ž=Iñ¬ögò~ûí7Ú¶mK·nÝˆŽŽ¨T†Õívôz<Ñèº~¢š} î.]‰×‚RnUÔkfSÆ–1òX1åmÞô3«6§“•_DVêJ¾ý)½U:Dí¯Cl!áÌÓˆÛ³ˆi?%‘ž“Ͼk™õír¼íúÒ«iùW´©5½z5bßâ|·6ìÂB²v¬bú”ùd¶êGïµå0i'ÛP!„B!„B!„B Éä­tCÇMbb"]ºtÁjµ¢ë:&“ —Ë…ax½ÞÙ¼mÚ´aãÆË5Wb§×mÏp‹ý[Ƽ½´<›PÁqúžÑŒÏóÚ¼ÊÂÆVzÞ:–î9<9~)qÃÆp§}¶·gðÀ´‰±AI)Ë`Ú÷‰ä.+WqÐmøýÜznªÂÿèdüø:ÏÍNGGÁÕî®|.=ZÇb ¶aÓg,f‡Ï4â‡ávËWŒ]èfðÕ—pFÛ(ŠægìÌÝ´>†»œß3ak[ ìAÛX;†7ƒ¤Å3ùri˜žƒ.£ÿ)­ˆµøölbþ7Óøe‡¯üµ*Ø[öaÈó8µmcÜZo~;7.ä›kØw²ÅÊÅ §jµ‘QPÂ:†Å|0“^1AÀOÀˆÃ¼ÿ›WkJ›–&ö.MŧiGÝämgK~:µkÀ¢Œ}N1V™>´ý×UL¨Þ­lÚ=€¾í¡¦ïåPÓÚÛ*„B!„B!„BˆúF‚¼õ€Ù¤át:p8D"E¡¨¨‡Ã®ëäääƒa(Š‚Ãá@Ó4Ôjs†–´v Ƶíig]ÊÚRºÅ,ôѲkgbæÿJžh­ˆokb×ÏëÉ7 :¨ãèw57™¦1ᩉ$çÄt¾”=8‚Qö‰¼ôõfüµ”ŒÅð²îÓǽûq^½8•ü”MaÐl¢&Ì­/æÞ{ÏG]ö9oLL$ßÑ‘KFŒ`Ôí*/_@¦á Ž£u?þy{|‹¦2nr>_> á Ž½ßpn0¦òÎï±¹@£ÕÀ{3r$£Ï-fûwïñÔ{›È¥1ýnͨ‘ƒÈ;•¤`éÄÐ;‡ÒzÝ'Œû0‰ÝIÃVé“E¾xE ”ÃìPu»BLËæ¸ý{ÙSPÞQìÑxl!ò J*ïj’—ž8&ö VœN3Pa¢^ՆͪâŽv£qè ïaÛ*„B!„B!„BˆzEÒ»ê»ÝŽÉdÂãñÈâD"”””°wï^öîÝ‹ÝnG×u ÃÀjµÒ°aC, v»­ÊÙüÛ6‘fnOB«òC[<Ý;•²bÎb²[w¥KtY@HmÚžîl6¦<ÚØÌ̱Gñ×02æ1qÊ¢úô§gÔáI*&G4v“¨ØÎŽÅæÄé°HðL=ksνòšïÏÌÕM`eªeÀ̽-ÛäcÜoXRЊË︟ÿû÷ƒüûŽKéXü;«2t‡«–.„B!„B!„Bˆ¿)×\X-4MC×uòóó±Z­¸\.¢££1›Í†A0Äï÷“››‹ßïÀl6cµZ()­’‹ªd“¼©ˆËâÛâQ²iÚ­3êÆIl×Ó‰l(eT·N8—'Ñ>¡¥I?°«Â¡F(‚®Bź°j$D)6lfþ`¨I±ØpX4Ú ŠñC+mÁdVɶš½ô"³ZC` Œ`˜H¥ö•˺B…CÊÏW¾F-aÕ»ÿ!½÷% ¹øJºì*ö%.aά_X·OryEuFÝÊ [špÖ°+èYÁä(R´ƒÜ@)¥X±Z«žÇ„ÕªaJË3ÉÔ@K¾z_5;N«A©¯”ˆ¹ ÷„‚´¢C–jÞßÖšx½Þ÷_!„B!„B!„' òÖf³‰ââb ‰GQü~ÿ`.€a†¦•Íß›ššŠa˜ÍæϹ+9™À9ñ´‹Ê&¡›‰“·£+ºn¡;;Ó1ÊGB{Ø<% £BüIqºpT‰G)î(¢?;Kþx.¡ðá EØ:k,oÿVT9$eè躂¡ìÿ¸–g×·ú£y·6·Böï3ùï’¯°4ïÍ·pûý1L|þ 6”Ô6Ù°ø;Ò#:š¦Õ¾“µ)}‡åLc_LYJ¦nª\>ÁŸO®ÏDÓXʎƒi5šØ…Â-‡M(*&³ˆ‚j±bjÒŽvn©»óÆ=ØV!„B!„B!„BüuH·ز9…ÇÇŒ©´NQ*3 £æOI‰Ÿ¨˜†UÖ*©›ØÌUtè[D'Ë&¾ÞôëIÔo¡k¿"ÚZw0w[ˆŠS5.„†*;3÷TuëA‹ð~Ù]·@’‰€ÉD¥ðX$äÍ!®íÐÛ¢UVz9 ( Úq¯›¬b¶»1ÛÝèÅ™ñþL:½zmªlH“b¸¢²p8\{×ÖŒ³‡åôàR>ÿz%ûtSY¹ðŠŒL¶ï(å´„vDý¾öÀç^kOBŒÔÔœ2tË9¨zœs*žìU¬;Lß ‡ÃGöâ„B!„B!„BqR“ o= ªƒ bܸq4jÔˆf͚Ѹqcbcc‰ŠŠÂáp`µZQU]×Ñõ²€Oii)_O›^óIƒ;HÚé䊳OÔ<…”pYýbEßÁº$ûõ±g.[|J¥äX#Øþ7Ã7ë7¶æFˆîП«/mɾù¯²ÆOi Šöì¦ÈÝ“óÏ^GAb!è^r |¬ž>‡óG_Ã}7{øaùV²ü vwÍZÇ¿b! wî?Nqwå¢qdmJeonAK{:œÓŸ6þíü¼W² Eu`«ÕZóFk3ξjý\;™ÿSî¶ DWج—d“–éE'ÂÎËØóÏs¹b`ë³:[pÆ€3ˆÚ5ŸUécf>X IDATúÁ>eóÐÈ©ãi8ãZÒµw_z5ÚÇüɫȦö® …ŽÍ‹B!„B!„B!ÄIA‚¼õ€®ë$&&2pà@Tµ¬Ø«¦i”–– …(,,DQt]' ÈÚóz½è‡ÈðEñ±ycÎNMY÷û‚b¹aRÖ¦`=ó4r~ÝBnå/zÚÞŸçá²áÿâšÆŒâ=l˜óŸ~Ÿ†n·Ö©XrdëlÞ›Ù[/»—§¯ >÷]^ù!²~à…§rvÝ¥ ¿órbl Ao;“–0+po`]‹ Å]È•#ç4c‹ÈܺšI/úR3õð§/¡PˆH$Rc6¯ÓŽÎM,¨jGþqU§jÛÃÛ¾gü´$J ÖðõÿqÃoŽÂ*dOÊ|>ÿeæïUc»sÅugÒÀ¤(Îc÷ö•L™µšT¯ŠVËç3¢ëÇ» !„B!„B!„âÏt, àÖv®š¶)‡Y®Ë³RÇ¿÷?Ô*Ë×iåý˦ Ë*`ÆÙ÷¼µ¼æc¦¸°I1º~d󪪂ÓíÁér׸=ìË!ßÆÕˆhûÁ(‘îÏ#·(€êˆ#Îm)_«ÑfðhNXÌÓ/ÎfG±Ÿ`XÕŒÅîÂå´A9e ·oI€ˆ¡brÆã*›;Ø•àó•†ËÔª ³ÅŽÃí¢B¨xA1q®j#jÞÆ—›CÀG¬«ÂüÄ9^´˜F¸- AJ ‹ð‡Âeï³¢¢™mØ]nìf‰ðŠšY­VÜ.Wõ z˜`(Ì¡ÆX ™±š‡ =B8\þ™GAQM˜LZåòÎûÏ €‚ªjh¦J@WQT\L0¬¶>;+“¦-ZÕ~°B!„B!„Bq-]ôózà è@¤ü9\a9RaYŒ Ë×U–+>¨ãßuy®m¹¶uuÙVg’É[¸£=¸£=Çü¼&g:«¯Wí±4´ê(ÕE´%ªú&[OF>} ÝjüTäý:‘f¦AÅâŠ%¶†Ø˜bvàò8¨afw#ªÎ0\û6θ&T{™šOã k O‡8·5 hš†Ã^¥Ã¨&,Öº½*ª†ÙRËü¾àœþÒÒ¼B!„B!„B!„¨ß$È+ŽÒÕ|øØ*ÔÇ(èŠdÅŠ¿¿ßP=Ð{‚ùKKñù|'ºB!„B!„B!„8$È+Ž!=b©q›¢¨‡--+D}c%%%„ÃaœN'šzb2D"|>ÁPè„¶C!„B!„B!„ÇyEEØ:y×b>Ü2 ªv˜’³BüEƒAB¡f³«Å‚ÉdBÕT”c:õyuzD' …ÇõzB!„B!„B!„8ñ$È+ꬶùp…eY½Á`PæÁBˆcÆD÷»ßçîs¹íÞ/IÓçµ\§ÝÁÛcÚóã㙺3ŒÛ…Ë®º’Kúu£mCzÑ6ý6‹>šËfoÅù)TâNÊ]#.¡wû8Ì%$.œÆ„ê?²ý,ñ×ñÖ+ýXûÄ#¼Ÿä?ž/XüEYûföèÞdLÍÝï'QõSdîóÓÇØysøóÌ/­¸ÅD\×\3ìútmMã(3ao.»’ç—Ó˜µ6©"ıgí?šÙ÷Ôó#Žø/«JkØIiÄ•¯Lä¾S5vOý7ÿüp TZ^ó:]¹•Go|—5áªÙøôüŸú6CŸœ‡wÿµþÏÂ×<ÃÅ5γ$„B!„¨Gd‚T!„'”=ç?¼‹2ìHq"Y»pó¨‹Ñç|À7;à6c蘧¸¡}ó>z•‡î¹‡ÇͧôŒ»xõ?ѤB¡sÂ5ÎEÿÅ_Ud÷b~HjÀÐû¯§{â¼æ„«}Wò§?Å]c>`Ú‚U¬MLdÕ¯?òñ‹ÿæ¾÷Sió#ÜÖ£®Ac!Äñ¯cñï }.< Oµ/~ ϧeòo,Ï?®%-„B!„õŒäM !„¨ ¬4ê³®Oy|cWF^ÕŽP”ΚŸ¿`¤åd(§ÝùFÜ|9gwiF´ægßÖÕ|ÿùg|ù{6áò}œ rÛÈÁœÓ¹-@aÎnR–Ë„ÖÐâ®W3¸.Uá­vN~‘Ÿl'R‡v>õ9oèÀÍWö¥KS7¦@›—Îà݉?°ÙW–é 8ÛsáuùôÌŽ´j‹Ë(dçúy|ôÎd–í‹T8×$ßЙ[¯êGçÆNô¬œõ!ãÑÄM\qV; ŠRWóÍ{ø*©˜ƒ¹ Ñ]/玃èשö`[–Îâ½÷g“T$¢žR[rãÿ˰´¹á•”TØdîv;Ÿ¾Ú‡¥ÿwïìhU‡>6‘§mï0bF #G]ÏcÉýæ1nýp3<]/ãÖ›.¥oç¦D+¥äeneæ›ÏñErÙÍl#¢Òôì[¸íÚôlíAóg‘òÛ·LxÿHûú!ÚñQç èkÆñ[þÁ>..¦jõË@~%4ÇnWLèÕÃÊÖ/W°·Â½÷ÐŽ¥,Ý;”~½[ñ¿”Dêº`ä,å—Ä‘Ü7°7žE¿/_#â)æ|~y{2ÍßÁÃ7.ãî6U+Û|…S/¿ˆ6…óylÒFªWp ²sÖG̸ô † éÍ'ë"?mBcæ«^Áy¤£yÌȪÐÉ,]¸øüÖLZ…÷š‹O\…B!„' ò !„¨Æ}޽䥇?`s¡…¶—ÜÏ+£žàƒÁù$ýOH&WiJÿ{Ÿaô˜¤Þ:ž•åwÌ­¯ãå‡b^ø?ƾ»‘º_B[)„B!„8ÉHW!D5 ÉL}ç;6–Ïû•“8W?êÎg÷¥ÿäõ|—Ã7 ¡ÕæO¸eÜw”%ìbçöíE½Ã³·bÆÊIls5£ET1I ±nG€Ý;·°fÿ…ÂA‚ P0Hðo+lfê¸oX“SÖN_ÚB&ÿ8„þ—ô¤½i Ã@ ‘Ï^HbcMq^%†¸ÈËέ–¹~P„œ}yèîXâl x%•Wˆc.Ì ²¸ü‚Äý[€E¿‹Î$¸äVù¡û‰n£B!„â¤"sò !„¨&’¹m…oàä%n UK K{ Ì8µ‹™mËW³¯Òn>Ö,Ý€¿ywz4T0rWðý …‹ÿó]{6bÍǶû¶²%¿r;‹‹½àpâ<äQy9ù+Ö sžEöí`[Åú“ºb_„ÜiTXmø¼xqàt”lê@ÏîR—-gw…ŒÝÈ®R|QtìØD~lE½eä/cîjƒžô!¶ü#ï<½?})Ì]°‡šC5÷1=g)s–T¢šʾK–® £–8f$+‰õ™wÐÉÏ-Àø}½¦v¨žX<ä“SË\‡Š³3#ž¼›îÛ>â¥é»V0*=Z]÷+ÉË%q1ò "ŽB8¯ÇͶ¦ƒyø†ÎØjÛרë§S¼Ba¶Î[@jÓþ\ÜÅ€w6VÀüŸ6!C…B!„UI&¯Bˆê‚A‚Uïá–ø(Á†Ë©¡ØÜ¸-:ÅEÅÕnõêÅ…xI Ú­Bf6?¿p?»/ÌUƒîà­[îa÷²ïøä£¯ùuwàèÛYê/Ïz«BQØÓ17îÉ•W_Ê9ÝÛÑÔc-+þjv`bYåcÕÎe…j¼­”_@±EeÕˆ¿é-¾¯TBOÅdUÉr9PáÁ0!NrF1Ë^Aé˜þœÛð'fd»è3 ¦µ°°|„G]û˜Q˜OA•Ž Xݸ­:E…µgÐR⣤ʱeÕ—¼¯×ÔL&LD‡kn…âèÀuO?ÁúLF¿ðéÒË~Øq9”*GYp9LDJ¼øºïw@$D3fíï‰uÚ>7¿:‹ÿ^;Š[–=ÄGº^¹¿ùääCLÃ8Ll=Ä” q cQŠÓÈ•òáB7ú®…ÌM¹†ë/ìÁ~§Á€ è¶{oo ×Å´{Í%Œ€o0Bò×óÒ‚ª*ƒ°·¶ò—BœüJÖÌcQáÓ\pnfýÒ… N7Xñúò² ÷£ìcFÐGIH¥‘ÛUí»¤Ú¾µèhûz©?öò ýÊWR¹~ìS\­Íáñ1SØè«ÒË‹÷^`%¡y, Y֚Т™Bö²LG°ßëÚ8ñS"5qÔ‚lùò¾êû2×Þ-+> ¨˜I'1¹ˆzõ¤›u9¿×4KkÉé§ÆØ´-2ϼDZ?o`äé“GÛ­IùþÒtjò–U°1ÑD[ Ú8•(<Ñ ¥{¼’,„B!Ä_”ÔBQÖ  =šUü‰PiÑ»7mC[IÚÐf~ß$¾w/WJJ³Ó£Ï)Ø÷ndCvÕL„¢‹ùßÓHvu¦{˲ô´HD“™c[ȹŒ©õ©ôlÇâ¯f²zw1!ÀD«¶Í8fÉq¡Í¬K Ò*¡%{3Ø“Qñ±—¬"¹­&ê¹`sd“pN?ºô=‡Sý˘»Ò‹Á1ècÁm$n‰Ð§ª&¸£mGd_&ûhHó&•Ç?*®NÜôÜÓ ×§óØãSH¬iÒðVVüî%¡ï™•¾Ím΢o³~ÿ}gYfd]÷+gmÒŒd³wŸDÔÄ1ØÂäñ3ÙÝâ Ö¦Jò_us~b§g ·_ß gµ¾h¦å¥ÿäÊVûøñÛIJ Ç‘AþoóXÁé ¹ãj.l˜È‹öb “AÑÆ l×zpá¹ ©ÚuÍmÏç‚„RÖ­Ù"…B!„ø‹’L^!„ø“)Š‚ÅbÁb6c2™P5¥Úm™º10Ð#:áH„`0H0Ĩóœzµœ7Ø”ÁÜEþ‡ß³.3BƒCu};2|Š…ùÌÿì¿v3ÏŒ òÞì d†£éÐÿzî¹Ð`á˳Ù%æL®ژݫ7±3³€€µ §@;ÿV¦í‰ù;wRÕ›!—uaï²\ЋÈÈñ“²r‘¬ÝìÆræÅý霻–\%Žý†r}?û±»Ùeä1oÒ .ùN^z8šÏçn ݧàŒiLÛÈþù[–çÈqQŸ…Ù/Þû"/4ÿ†ï~O%7d£Q‡> ½æbšlø€Vþµâ¢Eç.t/©xÑé›I—QB!„BÔ+äBˆ?‘ÅbÁét¢©Ç¦‚‚‚¦ihš†Õb!‰Pâ÷Ý|·‘Ô¼9ÛÍ÷<Ç}-Üèi¬žþ"ïN^OIù½ŸàÖ/yôßyÜ|Óåü绉1—²oÛf?óSWæaJÈÚrw]òO¹-¥¤'/c⟱¸ü&RpÝT^ýª)£nyOï(eÛÔ'¸gÒ¡æ<2FÞ|ƿڒFÜʸœÅ™l\ø%¯?³‡_kw ®P¦4e ü;›[nºœ{ÆÞL‡J 0“­k~æ“Ð1»Œ'Œ¾s?o»†»:íeòë)ìÿX}3ð­û‡Ïá¶›†ðØ«w¥ÉßÈÔWf×¹}GÝŽp2KVriŸÞ´ûd [# 6?“\˜µ>ÜñdŸj‡—½ÁÐ'çá"é³xr´Î]·_dzãb-ÝGÊÒOyôsH¯Pö¾®ûaŠçìÞqä._ÎfI¿ÇŒŸ “ÞefïçÖ¸ê¶ÛfŒåÎmrí°\=ê2¹ÍD|¹¤mZŤÿ¼À¬uÙÈOš?k~^BÖÀ~¬ž»ššŠH`øXûþc<¸ëZn¼ü*þïÊ8œj€ü=[Yùís¼ôÍjöVý1uæÆç_áÆJç ²àÙ«yæWéåB!„BÔ'GQïˆÎUÓ6å0ËuyVêø÷þ‡Ze¹â£â:­ü±ÙTaYÌÀ¸3ûž×£–×,„•8Nì6ÛŸr­¿Ÿ’’’CnÏÎʤi‹V5l1Ñýî÷y£ÛÜ6ꫲù¿„âoÀ#ßHÒ“wóÆïþØgŸøtLk¾½÷a>ß)åš…B!„Bñ×µtÑÏ뀠‘òçp…åH…e0*,W\gTY®ø Ž×å¹¶åÚÖÕe[I&o=¡©Ð²y3¥,†mÆ’¬—u½,"£{³PÔc6ë¤â(ü™^‡ÝPk ·Vʱt„çòħ÷Ò§ÆIzu2g?ͦÈÜbBˆc*¼}ïýÔŸgn¾Œéë§±óD}ɘÛ2üæ~ø¿Ët ð !„B!„BˆC o=ß®-ÿ?¯×‹Õj% âr¹ÐuýÀ<œ‘HÙÍ@EQ¸ïþÙµ'óD6[XÌæ?5À»ŸÃn' ¿óÉÄ¿’·ïÅ5n4—äK€Wqì>V}ð"oéA³F&vfœ˜os“&çéo7ð‡é!„B!„Bˆ¿ òÖº®ƒÏç#))‰:`³Ù(,,Äï÷£ë:º®‡‰D"âñxˆŠr£§g £¹?…ŒÓå:q×v8…B²ý룔ü¬ÒÝ !ÄßQÉv~ž²ý„6!”¾”©_žÐ&!„B!„Bˆz@‚¼õ€®ëx<цÅbÁd2QTTDNN™™™´lÙ’˜˜˜¥œãââˆD"x< ] ò qÂØl6´Zú Ú¼?wÝx1UvÑ31ñ³•ä ¶¼€]ß“èCœ&’ö ïLYKq q\MÓ°X,:¶8Lâ„[ùG÷B!„B!„B!ÄŸO‚¼õ€¡ëx<t]§eË–¬[·Ã0hѢ͚5«T¦ÙëõâóùhÒ¤ žèhtCGfå=qWoîz°%ó^˜Æ™VïoÉdª½*V æÀ6~šº„]úÁõFÈKayÐVÏ\ÎÔ7TïËJ½®¸˜™”Ô’¨{dA^!„B!„B!„Bœì$È[ìÏä ,[¶ŒÓO?‡Ãaèº^© «Ûí&++ ŸÏ‡Ç®ëµœY_ î.]‰×r˜{¢›"N³É\ëv“͆¹4ŒÌ,öV쮊‚ZžOÈ˾ÌâjÇZÚJÇ^–ÿžAåÐ×Ðd¨‡B!„B!„BñW"AÞz@7t<ÑÑ$&&Ò¥K¬V+º®c2™p¹\†×ë=ÍÛ¦M6nÜx°\s%vzÝö ·Ø¿eÌÛKË3§àùÝɘñ<¯ÍË¡,ll¥ç­cážÃ“ã—7l wÚç0a{{ìA›”d‘²ü¦}ŸHN2UMœvëKŒ´Mã± ËñˆO«4¿ô;}¯=?›4]ÁÞ²C†œÇ©mãÖ‚x󳨹q!ßÌXÃ>½¬Ý®vçpÅàséÑ:[¨€´ ‹˜>c1;| ?| ·[¾bìB7ƒ¯¾„3ÚFQ4aÁ’²†qzû&¨[ö`ŽïF’ùßòMpÉ@Néìâ·e^bÚÇÓ¸8‰MYê(’žF&ÌåHÕâDOKa—:ˆÖÍT~+¬SÍæÃ2ò×°`ÍEÜqÏ£¸æÏgÑŠDvš±ìßAkIB¼™]³7Qât”¯7aò¦³£ÄE»–q¨)ÙeçÊ[Á‚-fÜÎêÑS={Yؼ“ JK"ä§g£Û-å£ LXŒ%ذš•#¸~eSª*(Š‚R1§XpF[*¬0ö‚YCfOý;‰¶øk¦l±Ìß5P IDAT(òRªk8b[Ðõ¬s¸âƦüôÙ7¬É¯žâ«ÄvãÌäɦRs­\.×Ñ5_!„B!„B!„'„yë«Å‚¦ièºN~~>V«—ËEtt4f³Ã0ƒøý~rssñûý˜Íf¬Ö‚¼J6ɛЏ,¾-%›¦Ý:£nœÄv=ȆRFuë„syíZQšô»*j„"è*T¬µ¬FB”bÃfV£òVŒ‚ª%¬z÷?¤÷¾„!_ÉC—]žÄ%Ì™õ ëöQ,66ßbüÐJ'ÁdVɶš¾ô"³ 5”Ã5‚a"•^OYaÛ°n Pá´²5Grýš˜b;ÑàÙœšÐœî²`²¢Ù0±º¦fŠzÌÀ¨½\ri;SEAÁ ??‡ô´",w¥×)Y·(³Jis3­N?&ø15X§R̆|ª„B!„B!„Bˆ¿ òÖf³‰ââb ‰GQü~ÿ`.€a†¦•Íß›ššŠa˜Í5—|Ý•œLàœxÚEe“ÐÍÄÆÉÛÑH]·Ðéå#¡=lž’†Q!†¤8]8ªÄ”wQŠŸ%u ðÖnR°Z­þÖ°¹²ŸÉ—|…¥yo†Œ¸…Ûïaâó_°!àÃаuÖXÞþ­¨ò9 ]W0Ós+•"¶•¯ûGuºþ!ê.Û:qõwÐ-}^ÏÆŒbB†‚ë¼Gù`äjŽ8‰éM«%?[QQ| Ë>«ª‘Ͼƒ»­ú'ÔÕ‘3»ÚI›¿ž,£n³íꑪ3` !„B!„B!„¢>“ o=°es Si¢TíF͡Ӓ?Q1 «¬U0R7±™«èзˆN–M|½%(è;Ö“¨ßB×~E´µî`î¶¡j\ Uvfî©4êÖƒáü²».$ƒR 4tâP äÀä¸Q´j[e’h³ÝÙîF/ÞÈŒ÷gÒéÕ‹hÛPeCZÉ›C\Û¡=¶E«(¬ôòP´ã9Qi¤n××#0™*•`ÖšÄÓ!:ŸåïÎc»ßFT &ÚÆ7E%õ86Zœáp¸ö oMìÍig“œW%‹W¥ñ©=iJfÚ&o²x÷·A!„B!„B!„ä­TUcð AŒ7ŽFѬY37nLll,QQQ8¬V+ªª¢ë:º^*--åëiÓk>ipI;\qöi˜’§.«G¬è;X—¤qc¿^8öÌe‹¯ò„ŸF°!ýo†oÖolÍÝ¡?W_Ú’}ó_eŸ:$ÆêìJL¢äœ³¹¨G2ÓÖå4ÇpîU\ØÈ)ÛKqwå¢qdmJeonAK{:œÓŸ6þíü¼W|¬ž>‡óG_Ã}7{øaùV²ü vwÍZÇ¿b! Žî}¯]]®oP´g7Eîžœö:  A÷’³o7¡œvAç¦P zhÝã|.<Ív4Å®ÅI* VÉR¯@mÌétBËH'+¿_@ÁÞ =úžE¼o-S 1*v*k[Î85–Ü5ß±#\÷Q ÁPè(_…B!„B!„B!N&ä­t]'11‘¢ªe¹®š¦QZZJ(¢°°EQÐu`0x kÏëõ¢"ÃÅÇæ8;5eÝï[ˆå†IY›‚õÌÓÈùu ¹•c¼èisxž‡Ë†ÿ‹k;0Š÷°aÎ|ú}ºÝZ§¼Â`â^r·\ñ0¯Ü¬.É#uÕlÞúÈËïß©˜PÜ…\9rqN3F°ˆÌ­«™ôò7¬+5cQ5ÈúžÊaØu—2üÎˉ±)½9ìLZ¬À{¯ë®n×lÍ{3rëe÷òô•Òç¾Ë+ß­äÓwrëõƒyð©k1|Ùl[ñ-^Oæö'Û?Y("‰ÔœÍkxÉ÷Gqvß‹8×ãÀ¬D(-Ê&mó/|òk"Y!S¥RΞî½èdJcîºêZj<¢ëǽC!„B!„B!„âOt, ÚÖv®š¶)‡Y®Ë³RÇ¿÷?Ô*Ë×iåý˦ Ë*`ÆÙ÷¼µ¼æc¦¸°I1º~ˆ€í!¨ª‚ÓíÁér׸=ìË!ßÆÕˆhûÁBɺ?Ü¢ª#Ž8·¥|­F›Á£y8a1O¿8›Å~‚aT3» —Óvå‘uB%ExK„uEÑ0Ù\8M¥úLx¸1AJ ‹ð‡Âe¯[QÑÌ6ì.7vóÁ¶¡|¾ÁpY@[5a¶Øq¸]XTï£ è &ÎUmDCÍÛÂørsXãˆuU˜Ï8⣠NjÓ·åà =ÜõA'è-À[ b¨˜œ±Ä¸LDJ‹)öú Eô²cl.\öÅya =Xg©iñ§³Z­¸]®¶èá0a]¯Pr]EÕ44M«à-ß;$“ÅRçþVT\L0¬¶>;+“„N]Žèu!„B!„B!„ÇÒOßÍX<„ˆ”?‡+,G*,ë€Qa¹â:£ÊrÅuü».ϵ-×¶®.ÛêL2yëw´w´ç˜Ÿ×äl@Cgõõª=–†öC¥ Ú¢ˆ¶DUßdëÉȧ¯¡[Ÿ*ƒ¼_'òÂÌT"¨˜bU÷±Ó`ÿu OªíRµ5f.ƒšÂgfw#ªÎH\û6θ&T{[4'žÆÕ߬Ã]T,®Xb«ì Ù¢ðت¿‡1y"Q4MÃa¯Ú±T“KGU§h¬G0½¯¿´´Æ¯B!„B!„B!ê7 òŠc§t5>¶ µÆñ :€¢Ö´Qˆ¿<¿ßPC ÷8]¯´ŸÏ÷§\K!„B!„B!„. òŠcHADjÜf (jµò³Bü]†AII áp§Ó‰¦Ÿ‘HŸÏG0:.çB!„B!„B!ĉ'A^QG¶Nŵ‡˜ß¶Œ‚ªA-Y!þ†‚Á ¡P³ÙŒÕbÁd2¡j*Êœ"ÝÀ@è„Ãa‚¡@à·øDÑè|Ó+Œé¼ˆÿŒ™Å.ýD·G!„¨¬g?Ä”‡N'sæ³<ôi ¥U¶›{ÝäGl¼{óë,®ôߨNç3tð¹ôêÔ‚Fn a_»·¬cáœYü°!B&„B!„Bœ<$È+ꬶùm…ugÁ`ð¤/W‰êϘçÛ2ãÙXsjþŸÀ (c›­YøŽÉôBˆ?êx'œß9BüÕh´¼ü6®_9†’«†ykb¡Í%òÌÈ®×ýÂìg°3/€Õ”.}.äº'_ä¬)/óìôm”Èï²B!„BqR R…BT }út³žèvèì™7±ÿ[A®ÜLâ:Þß 'ËwŽ-‘Œ¥üœË »†ÓÅvøýMí†ððˆnÌ~‘ŸÿŒY¿®eCÒ&Ö.›Çä7ŸàÑOÒh{Ý}ÜÔ­'B!„B!ÄŸB2y…B”Qœôù \Ò§ªðÒ´‹»¾~œQ_¤A!ªÃ?¸áÚ 9«c¢´R²w¬å§¯¦2c].á:]D£Ë­ãxÜ5•g“;qÓÞ$4°ƒ7ƒõ ¾æÃ/W“Þ¿ß[<ße÷ýß Òõ²ãÆD}ͳÛsíågÒ©± -˜Ë¶ßñá'¿°uj‘µ9ç]3WÝ‘šz°vxËdîùÏ,öHùg!¯.ß .â–.¦OBì¡<¶­ø>ý‘”bKûa¼üÜEä}ð8ÏÍÏÆPôùrÞ©c÷s:ùà¢nó`‰Æ3O]ŽiÉç¼òá&òñ\:bÏ<ªòï§¾#}ûLÞœÚWo¹ “^fn–«ÇuÜ;Ðà‡ç&ñ{‘¥–ó !þ8ÅdBɘ˄¯zóú ·sÝŠ1|œrˆ0¯ÖŒ.£(MZKR æ]ˆ¤³vCWÝ™xm kë6²K!„B!„Ç‘”kBq€ Š`è„‚!‚¡áˆJ ç]{)Í·Nåù ?±zÛnvíHbþç¯3~±‰óo¼˜vZݯ£°™éüDr^Ã’›4›ñ“ñœ9g{”ZŽÛÊô÷f±>ËŽŽ/} _ÏÛEtSh«Z{úœ˶Ÿ¾aqºˆ kí fn0Ñ1¾>¤Žh!ÔöÍ9W_Në]Óyù½_X¿3ƒ]›óÁ;ß³¯ã †t3avÍyO¶·çŸwÿƒæžŒ¸ë\Jf¿Ë¤~ŒÚÎ/„8:ª†J„]ßý/w4bðÝÃ]¶Yñçüœ¼Zªrèäeçc8c‰µúwZ!„B!„ ò !„8Ù­ât᪒V«DE­øÉñÅlœF ¿ò_=þ8;›ÒPÎv–}ü"Ÿ/«ëœÁBˆÃ1>|¡›¿}ŽqKŠªô-ƒ°÷`ÙW[‡+¹m€Æ¦õÙœzý œ¹ö=VIoâÏbÛô™qæÓ ½k«?07G2Ø´¹ˆ«NëAgëjÖÕ4"JkΩÝã¤lb›Lš-„B!„Bœ¤\³BˆJ"Ì&̃°á­¬OѶש4ªœµÓõŒ®Ø³’IÊ©{ÐFmЉ®M+þ©4;£­Â;HI=º»ÇÖvgs~ÌJ^¼óV®½é6F<ø"ïÏO£DbJBü!5'l#1%DËöMðgf²woÅGÙÅe麊£ 7º ç¯yþ…·ù*¿7÷ÜÙ—8å0çB[Ám|=ñ{2š]Ê=ƒ[U©Ì$ñ§¤GŸÇ-Ã;”MP‰™æÿ¸Ë[f3ï»ÕËï©B!„BqR ¯Bˆ ví¢È}—^Ø‘¦ Ñ4ÎŽb²xê,v¶¿†ÇîÀ)­Ó¸y<ý®y€ûÎ7øuÊG”Ùcsé¨ü£{+š6nN× FòÈðÖd͛͒£¹{¬àjÙš†ª™ØÖíIˆÿöî;LŠ"ÿãø»{rÚÀ²äÌ‚DQÄp˜ÐãQPO=Ä|æpžþÌzf=EÏCñΈŠA1`8EPIKÎ HÚ…³aB÷ïX– ƒ,aåózž~¦§»ººj¦kfw¾]UíÈhך–éA\{‘«È¡«ºÏ„\&¿û)º_Ê×Eï.mhݦ]zK¿!gÑ+Í#D¯K¯á cÿz}.…Ñ5Œÿ÷XÖ1œú–ÏÙ[]þ¸Ö"¿G¥KÆ1òóM4éÖ™ôJÿF—Ä3o."mÐ]<ý÷ 9ãÝéÒ±#‡݇¡7<À“—·eõ;ÿbôM| """"""r°ÐpÍ"")Ã0p»Ý¸].œN'¦ÃĨú°±±â±xœH$B$Á¶÷®‹M$sÿߘ«.¼—‡•±jÜ#üí½•DVŒçûrzA?nyä2R¥d¯œË—O>ÈØ_r÷h(äxÖ§Œü2È™WÜÍÕÍ‚Øùë˜ýɳ¼òÁü½ìqk]³ˆÁÁ\÷à ;7Ûq WÇÈ'þË›VZDªÿL(]ö!÷ޛÅCûqå]Cià3ˆlbżɼ5hÐû2®?9Â'ŒanyÃŽ­È¿Þ9’»†‹ᣵ±jó׈°"u­”ï½Âç½îa@zå}e¬üô)n^u*ƒÏ:‘AWNÓxx+ë–Ìæ½‡žebfšR[DDDDDDäàQ—%jÊ«ª}F-ë‰< >ß¾˜•Ö+.·9Ê—íëÎ ë&àFÓûä5ÔYDä7s»Ýæž ¸Ç).)¡¬¬æž6Ù›6Ò¡S—½)âoä ËeÏñHçÿqã±¶Nã­ÉÇý•g®JåËgF1aa¥`¸69œ‹ï¼•Þ‹ã²—æï˜+TDDDDDDDDDDœ¯>?¸ˆ/ŒUXWX·»ÂzÅmv¥õŠ >O䱦õš¶%²/aêÉ+"r ø¼Þßt¬Ãá  âp8(..®ã’ÕÂß›ÛG^I¯*ÇE¶Èþâ n½bÛSc_ Æê¤ëñÇ’´àß|4?‡ÈöÍv”¢ ‹Y²1N·[ÃÀŠˆˆˆˆˆˆˆˆˆH½§ o=á0¡eófåÛ¶w ÉZqݲ¶u‹³l›õ6a˜ŽS`ùMö&À[‘ßçؿޒ_xùöe¼YM5Vœ·{ÐÆY·jÆ€¾ 깯o¦ÈrjØ’n'â/‡çðí£‹4Ô¤ˆˆˆˆˆˆˆˆˆˆÔ{ òÖíÚò¯çGPTT„Çã!‰ ±,kÇ<œñø¶ì ÃàÆ›naͯd±Ed¸]®: ðnç÷ùˆÅbD"‘Ú×»ŒüìlòkL´/o<±Xóñ3å¾ç§‘6ø®ö}Ê‹+Ú3°oÚ¤z¡x‹šÈØÏ3ɉ'R'G^ö8—{Çrç‹?Q´#ReÒ¼ÿíÜyÔBž~ä²,_Ëã8ûì“9¢mcBŽE¹›X=ÿ;>?‹ÍÖ¶rÛÈ9O¢Gëx£yd̸͛ñß³2l2†ÜÕî÷yè»Ï?ƒ£Û&Qðíó<ôñ<µæ/²ÿ˜Žšï¹‰­Æ;£¾'·À¢Ñö,h[[Þ"""""""""""R¿(È[¸œ~¿Ÿx<Žaà÷û±,‹œœRSS±mÃ0ðûý8ÌÝæø,fÁì¥ØCÛÓÎ3Ù¥^:uË ’¦e×Τ~û[mÀÑŠŒ¶NÖ|=—\’#þãÏççX^¼‹¶Ú¤vîϵ· çß(ÿ` %µv/´‰FllGd·¡fã‘Ä#ÄÜ8÷êsi=çuF¼²€+@z«ÎtKÝDnù®Öý¸þúS0|‹gFe’ë?Œ3†ç†+Mžx~-ˆE,ü­çÒ+žü.#ÞÎ!ÎÅN ‘ýÉÀ¨9¡°\³ö´{š·ˆˆˆˆˆˆˆˆˆˆˆÔ+ òÖ>ŸoG¯]ÇC$ ¸¸˜üü|,Ë")) ˲°mÇCzz:EEEø|^â»- J–/$ËuZ9˜½4Þ ºw*eú„Ÿè:¤+]’§0%ÏÆlÚžŽ¡l~YœlJÖ°—ðñk“ùÕH!-¬õß0jL'ž¹¬=¿\ÊÔü=D¶z†/…´@K¦Ïem!˜ä‘•9™å– ¿ßa„8êô>4Ïú¿¿þù7fþlÞ~)Ãù§vœÂ;‹·UÜѦ%ùÏÞÉ‹™—ÃáÂÝ –üë¤"uÉÀ¨ã ³¨¨¨n3‘ýBcxÖn·§Ó¹#Ø›””´#Û¤Iš6mJ(" Ò¸qc|>@·ÛÇíÞ=ü¥,Ø¢Cû&˜€'£]XDæO YnÇფ¶Ï qánÚy™XÙYlÄË4ÓÀÊZ̳­›ÕÝådçÎbÒ,ƒ>×ÝÁý¦}š·7@`{ÖÑ’.ÖÌZHqÀÛéÄéöá/ZËÊâ ­Z¦í¸¸í­Ó™´ÔE(àÃívãrµç/""""""""""""rROÞzÀãvãp8°,‹ÜÜ\<Á`ääd\.¶m‰D())aË–-”””àr¹ðxÜ—FvÍÐÈfÑÂÎÌhKŠ‘MÓn1çf…µ–ø¼RnèÖ‰ÀO hß¡¥ &²¦Â¡v4ŽeBű–Íx”R¼x]&ÐļU«ØMÑ,fÆÈÿcí±gpv¿AÜzæylΜ§þÇœÍ ·¿ÛA›!÷óü¹»d‚Óe’íqíÖZaÊ\&Tìd\Kþ"û›½Ï†U¶©›ö"""""""""""rpP·p¹œ’ŸŸOFF†aPRR²#˜ `Û6¶mãpl›¿wÕªUضËåª2Ï5‹Qvbí’²éÐÍÉü·W`°jÎ<¢Wwæ°¤0ÚÃ’1YØâNF ˆ¿RÊ%‘d”°º8±oÕá&ÇSá¹oÈ û—ù×”÷q7?–³‡ãÊ›RõÈ;Ì+ ŽÆY6á!^˜Z°kž¶…e؆sGÞ†Qùĵä_¬ ˜ì_VÜÂápì³¼EDDDDDDDDDDä÷CAÞz`é’ÅÜ}Ï=»l3*MÎiÛU%‹‹KHJM¯´ÕÀ^µ%œGÇÞtr/䃥qÀÀZ9—Lk]/ ­g%_.B…Þ…fZ:¤›¬Þ¸=hdÒ¨[ZÄVò¿u‰’lJKŠ!=€ß€±T#‰VmT?ÜÄå áò…° ç3þåéôÔé´M7™—•Å¢%Q†vlwò v ØÃÀQk§Èšòß‹É"¿A,ÛgAÞX,¶Oò‘CAÞzÀ4 0€#FШQ#š5kFãÆiРIIIøý~<¦ibY–µ-ØZZZÊcÇUid% V8ç„#q.Ã☱-6j­dÎß ÿ¯_²4lTŒñbGÒésñ`¦²lKœäŽ}8¿K6û³J öÑf-Öd. øÄ8½Ç"ÆÎÉ!âJ¥ÃIçqZ; g[*#Ô•ÓOMcÓÂUlØR@ÄÝžŽ'ö¡MÉ ¾Þ`afŽû”Sÿ’ÂÄŸ–±©ÄÀJ£YëTr§Çü¼êKQ{þ"ûWY$R©7{݉D£û$_90ä­,Ë"33“¾}ûbšÛúº:JKK‰F£äççc–e‰DvôÚ+**ª¦‡/F˜%ó×èÔ”9¿,%²#–cñìÅxŽ9’œ–²e×/VÖ§¼üM g¹– û± eÞ§ÏðÆçYX>OB3ŠF2ÇðÔ˜ vÎm<ù±â­¬šñ ϽZÄÿ Üž¨hÚi º|iv¤€Ëf2ú‰™SêÂm:`ÓD½?‡ÁögÈÕg‘ê5ˆå°zÁ&”ÕVˆÚòO ""u(Çë¼7oܲ(+«­AˆˆˆˆˆˆˆˆˆˆˆH}’HL®.òªjŸQËz"F‚Ï·/f¥õŠKÅmŽòeûº³Âº ¸€Çô>¹G u®3…ùy”bY{6O¬iB)‚¡*÷ÇÂ9äÅp'5"Ù·3ªi•leKA¦?´»|«ƒ6ïâ¶ßóÀcŸ°²°„HÌÓ…Û$ð&0<òŽ3-. ¨¸Œ˜ecœÞ g)ùa') C8íÅù”DcÛêm˜8\^|Á>×βÚÑbÂábÊ"±mmÓ‰Ëíà â6!Z¸™¼ˆŸÔ´à®w4$˜®¿ž IDAT¿Èþäñxƒµ¦³c"–‰Ëí¤¶«µ °H$²ÛöìMiÚ¢Õo,©ˆˆˆˆˆˆˆˆˆˆÈÞ›6ùë¹ÀÍ@°€xùc¬Âz¼ÂºØÖ+n³+­W\Hðy"5­×´-‘} SOÞz ”œB(9¥Îóu’Ø}»ék@º¯º£ LoÉî¤Ýwy{rùЭʫÊfë£xôãUÄ1qùSHõWNã£áöónü) Ù-IåÒ¸üSüTs…QyFâ=É_d*++Ãápà÷UÛ0œnع¤´´Ê¯ˆˆˆˆˆˆˆˆˆˆˆÔo òJÝ)É+wÎÀ¬òþ ÀP/Y‘š”””Ôè­5ŸÒRÂáp]IDDDDDDDDDDD2ЏI2°âµªZl,».Gù}²m›ââb ‰[ÖÇ)((Ø^'Ý®x‘F ¦ÍAõMâ ã¥#ùê?“Q·Ó‹ˆˆÔ ž>wñÕWóúU]©ê–1×q·òɧwsª·ò'i]ûqí}Oñæ{ïóåÄñ|öÁyñ¡¿2øÈt\û¡ì"""""""’¸ƒê§y9˜ÅYöö ½ëS6Tw20Õ,¦© ¯H¢"‘yyyRVVF<Ç®b˜~›x4ëæˆ³N§Mþ·Ü9ºb€w»«'¼ÊøþÏ0øìcy}îwh‘NÃ5‹ˆÈnB'_ϽÖðêíÃ9kÀ {l2®~wòä_ PÃPÁ¯å®ãsx÷¾«8`0ƒoæWó+,ŸÐKÏ+ïçöcryçŽaôë7„ ïË¢â0?¿t#Üñë,ðv!O<6ŒNëÇñÐ×sõýcXÞöbž|àlZ; BG_ÃSw÷#eîëÜyíõ\ûàhæ4ú3·œÕ&)Rì"~u ׿º„HögüíìAœvæ`®½’8µ·Ó²eðø›ëèqÕuœÙÔ B=‡qÛ6Ÿ<ó ?çÖ˜¿ˆì— cÝgŒ½”Fƒ®gX׆mv´äð.I”ÌɼÒjÒij˜9{ Þ.Ýé¨9ïEDDDDDD òŠˆÈn ñî¿?cþ–¶!'sO½:‡ÔÓÎ¥Ojõ!Tƒ%¼;âCfm,ÁÂ"œõo±š”ž=iïœ8ái,ýl ßd…‰Û¥lœñ>ÎvÒõ°Æǰú\4ˆv«ßåÁç¾`ÖÊu¬Îü†þù1;fÈn0Ò÷üSiù&½ô-óVÿJÖ’|øÌ¾ÈõêËM¤ŽX±‘¸ ¶E4!‰ÛH;%ÆêñÏñò²Ž\usZ¦ÅÕ7Jñ‡Ïò߹Ũ5å/"{Çtà ÆêþÍ[Ë3øæ ©vz^#•´TØš½…XµÆÉÙ¼+Ô€4¯n¥9èwpÙM|ãr–çW ´ØlÍœÇ*Gº´¯¾ O|ó2–æîz\aaøpàtBe€áM"Éã ã’çøüÏ31qzL6ý8Ü‚.‹ÂüÂJ?5Û„õó³È>–H;5 °³§0yf`io~ÉÊè)³È¡*ºbϾÿþ5ô†ýx+¯Z֮ߓv.9¹šž†“eÕ|Ã;HKo€Q˜ÅÝ¥!""""""rPPWDDv Ü¡)g¤¤b”Þ‹Ù2í0Ó_z”·~˜^îCI4NÉæ¥üðâ}¼òCÞ¶ËÂEâ,úànŸT°[7V´…h¤ÅQ“´`ƒŠA]¯Ï­9yEö1;vº}ØWo§ ¸öt'™³6ÓóÒËè=sSóu+†Èþaé{ÿæýÞO0ô¦¡LµŒ²òñ5ˆ¯%sQõêI7ÏOüRVEŽ–uDe ç±T“f‹ˆˆˆˆˆˆä‘Ý8v¡G3“ùk¶GyMZ{,m£ËøhE¨~ÈæÚx:ôáO ¦rÿÅÏ35¯Š@Ot sD8¶C3ŠßYÌÖ*{¯`á ‹áGv'õ£ov¦1Ñ¥Sšæ"©Cñ¸N®Ši§€èη"øí£üíß[ðÔ“Ürã,–<<™»†üE¤n•-åíç?æ„§ÏáÖÁK°í‚ ;#Ìùô+V÷Ä•þ–ů/&¼K›vѲÿ¥ jµ™/FN§@÷hˆˆˆˆˆˆˆô;¸ˆˆìÆŽ4eàí×Ðÿˆ64kÒ’ÃO¿–{ÿÜŽ_Œã»Ü½ùu× Ôº-L7im;rXÇ :vhKëÆ¡{+ߌϯG^Íã· â¤îíiÛ.ƒnGÏ€ q\CìÍ|=öŠŽ¾Œ{†@çiÖöpθö6Îkki¸f‘:c“»z5ùI½8ûÌ.4oÔ˜æ }‰´S#‰c¯¾™ÆW<ýò/DVñÞ3ïðëQ×pûåsöV—ÿ®µÈïQéÂ÷xöã 4íÑF•þ Œ.}ŸÇþ3Ÿôófäý—2ðÄ#èÖ¹3G×—Kn’]›ÁÊןâ•y«YDDDDDDä`¡ž¼""²›øªñ<ûIˆs®{˜[„°ò²˜9î1F¾=—⽊ šÄV-`Yh(·>Ùgçf;NÁʯyö3i£Eéâ1Üþ·l†]r×=ôúMÊò7²lÖ×¼°ÉŸö{ü®½èjž¹ £p=™ßÈ}/ôâñÁ{U}© 2ç]žz¿)7 {”7®*eù»÷rÝèeµ´Sƒ´“þÊßN-cüo0«¼[`,kO¿Þ‹‘WÞÌà÷ðAV¬Úü5"¬H]+aÞè‘||ìà n\y_ËÇ?ÄÕËOcèàS9ÿ†3iro!ká FÿߣL˜“¦Ô9xÔeG‰šòªjŸQËz"F‚Ï·/f¥õŠKÅmŽòeûº³Âº ¸€Çô>¹G u‘CŒa¸ÝnÜ.N§Óabìãþh66VÜ"‰DˆD"ØvíQØìMiÚ¢U{œtÿëË<Óí ®¸á}²¬*’üf©ÇßÂÈðÙ£Ï163›R 0\„šöä²ïâ¤ù÷3ô¹9úYDDDDDDDDDä0mò×s›(`ñòÇX…õx…u °+¬WÜfWZ¯¸àóDkZ¯i["û¦ž¼""uÀívp˜ûw|‡ÃÃáÀãvÇ).)¡¬¬l/3ÞÁiÝOîMÊÜgø`n6;JhG)\?Ÿ…ëcôõ¸÷ÁyEDDDDDDDDDD~_4'¯ˆÈ^ $…Bû=À[‡ÃA(Äï÷è¢T!Æšk0zœÁùG·¦aÀƒÇ¤a«®üqØß¹¢g_~5_½xEDDDDDDDDDDj¡ž¼õ„Ä–Í›a”÷®³m{Ǭ×-kÛØª–m³~Ã& Óq` ,rˆø¼Þ]ŒÝø}>Š‹‹pI*²XýácÜkþ…‹¯y„ ›%ã%J8w#«ýÂ[w<Ëg ¦òŠˆˆˆˆˆˆˆˆˆˆœä­'2Úµå_Ï ¨¨ÇC$! bYÖŽy8ãñ8°mnÐoº…5¿n<Åù]s»\e€w;¿ÏG,#‰ìÁQ12_¼Œ?í«BŲ™1æŸÌ³¯N """"""""""òû§ o=`Y©©©„Ãa,X@ÇŽñz½äççSRR‚eYX–E,#“ŸŸOJJ II!¬µë1‚!dE~Áà.B­~?ÑhtGo©ÿä­,Ë"%%Û¶q»Ý8N ÈÉÉaãÆ´lÙ’ÔÔÔC9§¥¥ÇIIIÁ¶,P÷wÌAÆ{¹¹ý4~ê+6ZÚŸ}×dLçÙg¿a½µgùÜÔz2>3‰Åkåõz÷hÞ@Çþ\6¨3Å?¼Î«Ó¶°ó%öÒ¬çIôé™Aó>±brÖ-áçï¦0oóθf°9G{4=:¶ =äÁ.Éå×¥¿0iò\6”V^‡ÃÛí¦¬¬ì7ÕSDDDDDDDDDDD> òÖ¶e‘’’‚eY´lÙ’9sæ`Û6-Z´ Y³f» Ó\TTD8¦I“&¤$'cÙš•·zFðX®¹¥%ß<:–¥ñ]šß&‰cÇ"l+¾MîÚÅ,±ÖQ°‡ÚX$Ñ Ç…qNgâ-Ëuæô¾Í‰Ɖ[߃ä#Ïbh? ¿ǧ˷ó5¦óIý8ã‚ÑW>aQ1`¤Òëœs9:šÉ_Ï`mN$wàÄ3NåÂd›W>˜G~ ï·‚¼"""""""""""¿/êâYlïÉ[VVÆÔ©SiÛ¶-ݺu#99`—aXC¡ÐŽ@oJJ2–¥]õ B]º’áˆ;ÐE©3ÙS_åŸïÌÝã ¯ì—Ó•XB#™ýú¾d*sò*·G/­Û7ÇZô_Î]O~I„ðÖ5üÌ;‹£ÛÏ€þ'Ò£]:A³ŒÜµ ™:ñS¾^”ËöÓ¾wz_þе5M$㳋ذìg&|ð9™[-ÀÀ×ò8Î>ûdŽhÛ˜#BQî&VÏÿŽÇ/¦Ñà›¸ì¤&øMƒ¿?ß°XÿÅ?yø“µµôf­)ßYl¶¶¥ ¶;‘sžDÖ ðFóÈš7™qã¿geØÞ‘O"õÜ3»dÄ.Ã7g ¹‡kŸóâ²Öô?åpÚ6 àˆä‘5oŽ›JVI5Ñ`G#z_~ç§ÍeԿƳ¨ˆê}è0‰Ü#c’vT?ú$-äƒÖÓbhå`l”â’(Ž`2A‡I!ÎPˆarŠw^+FÌÂv»vöÌ7œPVB™†«–OòÄÊ*"""""""""""õ…‚¼õ€Ëé à÷û‰Çã†AAA~¿˲ÈÉÉ!55Û¶1 ¿ßÃáÀÜmÎÐbÌ^Š=´=í<Ó˜] à¥S· "ùaZvíLê·?°Õ­ÈhëdÍ×sɵ!9bá?þ|.qŽåÅûG±h«Mjçþ\{Ëpnðâñ–P]¼k#“¿žOÿ¿ô¢Gp.?nOì MÏ4̞¨…exÚŸÅ7œ„5u #GÏgS<…Œ†pÉÕ7ÐèÕg=¯°c.B¡æåÇ_eÞ†R<-Oäª;¯æês¶ðà˜Eì6¯Ù€^_Íùé³xîá·Ybq{;×ZïC‰AͽgŽá¬Þnf¾;™µÑ´Úí+§Ï û’“9·oŒÏXBAè0N9ëh¼‹¾`ú¯;NcT>Ø µesB%ø5¯æ+¥º²ƒÁZë """""""""""uïª|>N§“”””½xãñ8ÅÅÅlذ 6àóù°, Û¶ñx<¤§§ãv»ñù¼•r3(Y¾,W{:´*ïèÍ {§R¦ú=Ù­»Ò%y[@ÈlÚžŽ¡læ/ÎÛy´½„_›Ì¯F ié©°þF™GÒq}èY˱à tÞdfF;qlÏÔa'W;z™Ê¯S§³ÎL¡W¿“i¼ìž~}*Ë·”Î_Ï/ãžeä÷Ç 8‘Û¯ÚÈÆ¿ð_Î]ÇÖ’8Eë¦ðî+p¶iE3 _ i"–LŸËÚÂeá<²2'óÑw«ˆ`âô'ãs€‰7%”Ô4Bµx©-_ÀqÔé}hžõ!ϾþY…QŠ6Ìæí—>eSÛS8µ£ ŒäÄëY –òñ¿de$DƒFð‡ç1áÛ5„:v yå‘|Í$¿àj.n³”}‹Åvw­¯§ìÆÕ”ú…õÓ'LÙ¦A•A{kó¼5z¥]ÎäŠnàÆËþDããxeÂRÂ54)#Ô™>½°~úL²êé|Ò"""""""""""òÛ(È[¸ÝnœNçŽ`oRRÒŽ@n“&MhÚ´)¡Pˆ`0HãÆñù|Ün7·{÷ ó–²`Sˆí›`žŒnta™?-dA¸‡wb`Ú>ƒÆ… X¸içebeg±?.Ó Lw+k1kÌV´nVûådÚ˘<-ŸöÇô¤IyrwÆ‘‘´ŠïÞŠÃÕ‚ö휬š³ŒH(€ÛåÄétã xÉš;Ÿ’ôö´O-|nÉÉø½œN'N·ŸX8\€;‹I³ ú\wWô?šöi>ÜÞ¿»<Àl”wŽ40Œò%÷£Ö|-éábͬ…ü¸Nœnþ¢µ¬,Òªe¦sêY¬ìÕüàv”×ÜéÅ*+Ÿ›ŠWˆm»iÓÿJ†wßÈ›½ÂÜX™`½¥7­N:#J§ðñO[kü¤5’:ròéÇÐ$ß~ù3—’vô™ ìÝ_uyšsÒ ?Ò|÷|<3¯ºT"""""""""""ò;¥ášëÛÃáÀ²,rssñx<ƒA’““q¹\ضM$¡¤¤„-[¶PRR€ËåÂãqS\Z©Ÿ¥‘Í¢…œ™Ñ–#›¦Ý:cÎÍ k-ñy¥ÜЭŸоC+JLdM…CíhË„Š“Öšñ(¥xñºL¨m&YÃdõÔØðÇ?pLËI|œå¤SÏÃñ/Ë/…Œ ¿Ë¦¸4V).fà(+&Œ¿×lœ :ѧï Ñ¡9 CnLÀpxq2s[I³˜#ÿµÇžÁÙýqë™ç±9s ŸNøs6ïEßÓZò5Ü^ünm†ÜÏóçîZ§Ë$ÛãÂt%^Ϻ`—Eˆ9Øå}Ûmô_ÀÑòO\ØÊÄp¹hÛ*ÙËKv–`_½žõ”]í0Ⱦv}èß%ŸI¯Ï¡ÐéÜöo¿‰À01 ˶±Tz}ÝKþÇ+Ì%fýÂúrÑàs9³ø ÆÍ/Úõ*p7áƒÏ¡g|:oŸGá¨5Èn×Ñu$"""""""""""yë—ËIaa!ùùùddd`%%%;‚¹¶mcÛ6Ƕù{W­Z…mÛ¸\®*ó\³he'fÐ.)›ÝœÌ{–«æÌ#zugK Ó¡=,“…]!‚d‚ø+E”ŒPIF «‹3ÖÀ™=IËÏäÌ^mù|s€ž‡;˜;:“b̲BŠ"BA ¶îšrC(¢°Èo'οù*º­Ë‹O=Ïüõ…DmƒàÉwðŸËw7dýËÇükÊû¸›ËÙÇqåM©Œzäæ'òêW¥–|Ë„£q–Mxˆ¦ì^³-,ËÀrú«gI¬—2¥óxõþÑ”~[/=ÕOæ—üs'×üzZD+nápTëÀA‹.‡‘ê÷pÖõg@…=¶ea7Î'‡™ýÞ(&niCÇ&¥,zo!…×¶d”¬üžï—v眎-qϯ0g²§)½‡œË1ö Þ3–3¡á¬ø!8i²ˆˆˆˆˆˆˆˆˆˆÈ¼õÀÒ%‹¹ûž{vÙfTê†iÛUØŠ‹KHJM¯´ÕÀ^µ%œGÇÞtr/䃥qÀÀZ9—Lk]/ ­g%_.B…ð ™Öé&«7n™4êÖƒ±•üo]‚$G˜™“ç3äüt]ã§›5›ÿÌbbB|5óG~xü0…-;ªå!ãðÎø6Meiž£m“sùiä7¬(ñ’ÔГ¶M1YUád&._—/„U8Ÿñ/L§§N§mºÉ¼, +§“ªBu5«)ß,-‰2´c{¼“g¿Ë[c€aàH°žû{d+g5ëâ&[ƼÈçíÿ /9u/þÀ¦ñûšê}hM ‹Åª òÆY=éM^žV)üj¤päÙi»zãgo¥¤0Ží޵x½nŒ 3¦Ÿ Ï$.ÛÙùÚÛŒ†œËQ‘i¼õÁÏl¶œ˜ ^±Xì·TQDDDDDDDDDDDR òÖ¦é`à€Œ1‚FѬY37nLƒ HJJÂï÷ãñx0M˲°¬ma¡ÒÒR>;®êL#+Y°:À9'‰sÑÇŒmñGk%s8¸øø^øý’¥ac—@£I§ÏŃ O˜Ê²-q’;öáüþ-ÙüíSÌ*!Á ¤IYæ÷̼`gŸá¡ìç³Ø6ˇ.å—ñ8õî\yAœñß/eKï-.‡·±þ=–ÃÌð~kxö³,"µÖûÐR‰àñxªÜ-Ê%§°Ò`Û†MQ ¢ÅydoÉÓĈ­`ÞòØ·?9üÈ¢EÄÝÉ´:üDNj™Çœ1kˆxšqÂyƒ9>¸šo¿Ê!Զɲ¶Š³ÉÚXDuïB$­“:‹ˆˆˆˆˆˆˆˆˆˆÈÁAAÞzÀ²,233éÛ·/¦¹­w Ãá ´´”h4J~~>†a`Y‘HdG¯½¢¢"¬jzøb„Y2=NM™óËR";b¹1Ï^Œç˜#Éùa)[vñbe}ÊËߤpæk¹ ±»ðWæ}ú o|ž…åó$ÜñÔ´—óýO1N<=Êg?f±=œibnþŠÇØÊà¡g2ì–!$9ËØš5¯žz‘ÏWØø½&vÑϼñït.ûó@n¹(v8›åÓ?âÅ.âÊûÚmË*RH4í4]>€´€ ;RÀÆe3ýćÌ)uá6!¾ì^ú8Ëμž•±öË‘<9qmÍ3˜Öš¯6MäÑûs|a†\}©^ƒHQ«LaBYâõ<` 7î¼oùF'¾âbÎ]9‚wWÖþzJ¢Ñ(ñx¼ê޼ƶ›ŒJÛÊW0M³ü+fÁ'o?¾½ûá„$Žx1[×/gê»ßñóº¦ fj;:7qcš‡ñ§ó:ívºØòÏy~ìJ«(gܲ(++«bˆˆˆˆˆˆˆˆˆˆˆÔWu9lMyUµÏ¨e=‘G#ÁçÛ³ÒzÅ¥â6Gù²}ÝYaÝ\ÀˆczŸÜ£†:×™ÂüW•Îák@Ãiy=-eee8ü¾jLN··Êí§ GMŸÆ¦·gÏ?®KJK« ðŠˆˆˆˆˆˆˆˆˆˆHý¦ ¯ÔÒ™¼rç Ì*ï?0°pJk€ÇÛˆgæ˜Èdžþ)ŒÃ8ˆzÖZ* »{•EªURR` wÿ))-%èbüŽ9hÿç'xêØŸùÛ­ï³2î ó%OrOçÉüß=X³­ÒàÈ!\û—?Ò£e ^3/AÞE·ÑkÚ#ümìêsˆ×Mê¤b" :X®¿ªÚžÈ¡Ís­Œ¹õ(6~ün}cñnÓ9¸z]ÇèÛ½ŒüË?ù~—4èt ç<‰^ZÐ(ä&Þʺ¥søîÓ Lœ—Ct?ÖCDDäàdÒ û.»èÕ¶Îâ,š2WÞþ¬Rû H·?Ê| ΡükDDäP¤ ¯Ô!+nW´°18þ²9³¥IÁªùïÓ°î*Ó(µÔÁ01ërózS©ŽmÛ‹Å8ÌxÇã„Ãa"Ñúó3¬‘Ô‡{iËø›_c~½ TÚ¬_ÎÏ&ÂÛÿïòödØMgÓlúHîxl a—“Òl8jù2–n £X”Šö¦½W}lmOD-Ϻ‚?ÿ|¯.ªæ­Š›6g܃—w%2ç|òÚxVo-ÑԔ.ÇÆ…÷=ÆÆ<Á?Æ-§XmMDDa®vƒ¸÷®3aÒ[<ñŸ•§tfÀ°ËùGƒ8·<=•-öM·?Ê| ΡükDDäФ ¯$(β·o`hs»îd`:ªžt›,ÆÝu)££`º¼’’ñtW`muØŸ¦²Hm"‘Ñh—Ë…ÇíÆétb:LŒ:ú|w66VÜ"‹‰F)++«ý ƒŠAòQGÓÍ“Ãø]”½bñë7/òP…-fz+Zû¶òˤé¬Ü¼3šõíÈ'ùvÿPä °7í½ºcwo{"ñõÓø.÷\3„Ÿîx‹…µÄyíÎæ¶áÝÈûäQî~sE;~@\Èìà‡eçÉKoä’¥gTf"Ac‘ß#GŸs­V|Àuÿý–ÀjžËMbÄcç1°ÃO¼¶4~Óí2ˆs(ÿÚß9Tt!69xU7·ë䀿AÍé*¿[¶m‰Dêù<¸º\6‚»ƒïòE¸äìcéÐÐEë™;é^yo&cÛÓ$uü =?Ö„$G)Ù+góÕûï2~ÎbåiíNá’KΠwÇf$9Ë(ز¥3>ãÕ7çÒløƒÜ~F ¦ÁãcûqÖ|p77¼³ª–¡Œ·•óž¤÷ùÇ‚Ž\|ö±tL÷c¬å—‰£õ¿'\tgÓžF~‹‚¬9Lxõ5>Z\XaFûDÊà¢éqC¸üü“èÑ"„]ð+s¿ý¯w)¡ƒ.—=Ç#]¾áÆ;¾¦á7qU¿.´p;ÉxìgÕ»wróX'xˆ^Sîâæ÷Ö”ç`Ôét†]Ôã:4ÄÝÊòéyõ/X\hïADö•Ä®?Ã߆S‡œÍŸzfТQ*»€5ó'óöÇòsŽ—^—×ÔÞkhEþŽ]ÃaÛÛÞßdz֪£Ï†ZÛ¤ÈÁÍpåóÝÆÒô±?sý3¸õ%» Û¼“›Ãûý‘V?ð໼ÛEX3ñ->ýÓ£ èß‹wæOAMADDIÎ ŽìæeÅø_ØTah¦XÖÏLß4€cjÉ›KW?PéöG™Ä9ê<7݇?Î='¬eÔßGðm~}Ë_DDd'yED¤ƒ`ï+¹Ù3†çîÍâ\hÐ¥7Üv3žà–ÿd¶ÁÛñ|þñ`?øa Ï¿³ÍV2ÇŸË¥ÿw?Íž¾—çgäc{gø]—ÒiÖk<õÆb¶Äý¤·êH×ÐVòâa6¾v7·o½—g¬â7¾É‚XV,ÁZ ¸œoñì=o²¼ÀEë¾×ðàUãùþù,ùè%î~e)¹FcN¸òNnûÛŸYsý(~)ÿ•;¡òcìy)ÿ¸í8ò&¾Á#–Qàn‘ý‡ríQ0óª(–]ÄÜ÷žä–ŸÎáÉÇŽgîƒw2zY¼¼^mwKîÎ̃÷Ÿ…sÊ[<ùÊBrýô>œï0ùÛýŸ±6þÊ Rg¿þ츟ô†afŒÅWåip]ÿþvÕ&®yô;fÕÐÞkkÕ[Õù{÷ÙP{›Ü/»È^2œNŒõ_òâûÇòÏ‹®äÂé÷ðÚâj¼Žft9,‰Ò³YPÝ€ ñµÌž·•óNèL†c ³cÕ¤ù3BMh(cýú\v¹ß)¾™_7B“Mq±륫êÏÔº.ó8GÝçï ˜’„?˜BÈ]óÙéÀN)""%ƒ%ŒûÏW,ÚÁ¶#lYð Ï¿IÊ)gqBŠF*'íOóeïòÈ‹_1sù:Ö¬\À·oý“ç¿wrÊÅýhç#Ø„f¡"MFæê ¬_»‚¹S'ò΋)¬x„hÜÛ"‰‰F‰ÅïdX‹ÿÊ7,Ë‹b[Ŭþæs¦äøþ:‘—>[ÂÖˆ]¶‘©~`M¨3‡·*=Áòc¤Ñ眓HYøO¼ö= Öl`íòÙLùÿËóT;·‰Å±+ZC½ŒdN<ÿ,Z¯Ç/ý¹«×³fá÷üçߟ³ù°œÝÍõ›Ë R'öäú+[È»Ïü—§Ìgù¯Y“ù%¯¾WÇN´uÔÐÞh{úYñÛ?h“"õéÀ$ΚÏþË{+1ð¯ƒéâ­&­‘BZ äæl¥úØ­ÅÖì\ì@xõÍ#""‡&ÃïÇO Å¥V¥=ŠKb8AüÆK·?Ê| ÎQ÷ù—ðã ·pÙÕ2aƒ]óÙIA^Ùµy+w‹Ñ&wÁ²í9¬œíév˜“•3ç½K²bæMŸOIÓ.tkh`oý…¯gÂo¹›Ï=Ž©u ±rV³ªb9íbŠŠãä®^Cþ.›Ã„ñá÷•ÿG”`ùqµ¥S{“U¿Ì%§bºØZ2°×£U:ÛÓ£³‹¬Ÿg²¾Âí¸ñuËXV¢C‡Æ˜ûº "5Ù«ëÏ&wK¶Û»¦#i{Xì½ùl¨ë²ˆP±µ|<ê#V5>ƒëÎïȶ8o5-×NôEß<""rˆ²+=lé Ótàpl[LèŸçø­ÇíIþÑB²óʶ%­ù‹ˆˆ”ÓpÍ""²;!Rù‹’bJð80¼AB.›¢‚¢Ýþÿ°Š )¢=Iì&=ó¬?©g÷Æ^Á¯3¾â·>æÇõÕ ¹å,+£¬Š€¢±h•ÿm3%Z~# è²)Ü-M¸°˜Ê÷×î)ÓDÈã Ýóþ]Kêô˜d|˜î}[‘š{pý¹ÒçÌA§Ñ»Kkš${¶C]~\ü\ó9i{XîßüÙ`YÔî¤>‰®ú„‘Í“ç^Å…?ßÍ[¶½k;°óØ’) àde5Cš¤6Lð¶V?¹¯ˆˆÈïÚÎMØåÓßçÄ* Sb¸t®c¯ç;N`ûý‹ÑY/qé õïûúuÿ½å/""‡6yEDd7F H°RÏ;#)™d£„œp»´ˆÂˆA“¤ á]~,6!‚„) —‡Aâù,™ôONK¨Í±œ;ü/Üñ†Fx/®½¶;¦˲Ù‚>C®`@£8~˜¹‚8—…;  —\Ò‹¨Ì­lM·h’“WY[¹¢8ëíàÇ…±døÂÙ¨C·K.¢e¯ü°.íà“¯FP[.º¬YKà¯Dð-~Èe_vC ½„nŽ$ö¤¸ð‹lÉY×Þˆáøçlâ§ŸbH³JÇcÔéÄÀKZ°hkR‹"±EÐcà4Þý óc2°Ègï>}F\Ë…¼df»°GÒ¤E{N?·'á‰[ˆÏõ5†ª¸2DJòíúKõÖãô}iç—Ì–]™¡M8í⸡CÂ’X6g{Lʾßs³ØSÙ}WÞ{…·Ä½w¬ï >Ü“yÕt*D|äh~6C{¹ømÞ*Šõ-îIÙ®à>\ynB­½ü1g9»Š¾)4S·›×ŽÁ£®æ‚V˜¦_P8Zwã‚¡·p÷ÕMØõÅ«¼ñ[’Z³‹ˆÈ)ÌKb¼IaC972øT/¡-ÎbôøatØû5oÌÚ\ô0Tu­w"b®Ž}Tuùœ}Ïd^º½¹,!6ÛSËÊ9ùlÛ›̧p„,«Ø«äïÅ_”3Ó'5%y•ä‘SPeIÞ ì?ñê|;]7¸Œþílÿ¯|¾–ô½0§Å²lm& ÎÈð‘øvÐY´÷cáûoñÑ_)˜€a ËECzÕ•\{Í.¿ 'M]ë™9e:‹÷v4äÝ¿“8g.¼z#†ô§KÁjƤUò—øX9¾ÅP°w-+ãCè~ÉŒ~ƒû¶#8n>S~19§}¿,8–$/xR7òûš êŸ~!W]s×\v!çõlIüݬY¹‰ÄËÇŽòb©„O×_n±{éÜ׸ŠËÎëDDòbÞ™G»óÃÙ8·0É[Þýî®ô>(oÛ êVi’×—{²ZNƒˆÏÊKò‚‡¤M{;û\ÚïcY±$/xIÛü'Kb²‰hß›‹.Èåƒ/àÜž- ËÚÀwïMå½%{Ðå/""§:+k+ŸhÓÿJ®qƒÎhBAô7Lžú; ª½suì£jË·Ññ\În˜ÀÒù²+¯¶•/"ròQ’÷èUe‡wµ!Ék£t"·¬„®½èu`ÚQlÚ8Égö=¿{u©±’h×±sKìtûÏtú™{þ†8³ŒUDDDDDDDDDDDªÀ‚ïç¬îÜ&v½E?=Ŧ½Å¦$Í¯Ê’Ãøø»/?+š®hž/Ë|樊BDD ÃÀÏÏ?§‡ÃÍnèÒgiJ³°0½&¯—Ë…Ë岪àïƒq"È-!¨/M¹•Þβš$Íû¦oVw‘""""""""""rÊR’WD¤ øùùŒÝf;¡û50°ÛíØívüýüðz½äæåQPP‹ûñÉ[Å»maZ9yfOnº¼""""""""""rJS’WDäPÝa`·Û Án·“››[Ýá«€Œ¤$2ª;‘JIÞZÂnƒfMcu¡jYÖÁ.Y‹O›fᚦe¿/Ãf¯ž€EN5)Á[\P` ÀQ$z½løðn®®úDDDDDDDDDDD¤Š(É[K´mÝŠ7^Ÿ @vv6þþþ¸\.BBB0Móà8œ^¯(ôž{ïg÷Þ„ê [䤿çtÖÈïAx<\.Wu‡""""""""""""UHIÞZÀ4M"""ÈÉÉ!&&†öíÛ@FFyyy˜¦‰išx<¼^/„‡‡Ší*rª ©î*„Ûí>ØÚ_DDDDDDDDDDDj?%ykÓ4 ¯ƒeYøùùáp8ÈÌÌ$99™„„š5kFDDÄÁ®œ£¢¢ðz½„‡‡c™&(É+Rå°WpoÙšôgü gQb3~ ïLû‹T À °a'ÎèÝ-ìÄ*È$qg Ë–¬`Kº÷Ë+Ín·ãççGAAÁÑUTDDDDDDDDDDDj%ykË4 Ç4Mš5kÆš5k°,‹¦M›Ò¸qãúiÎÎÎ&''‡† ^§¦e¢QyËg„ôaüýÍøåÙ¯Øì­|ýS•ŽSiGÅw–á`+ füÎnóÐ|ËMÆ„¬£1g]z ö®fé¼Å$eäAhsz_t׌à‹±Û}å•CI^‘“‹’¼µÀ–¼,_¾œÓO?   ,ËÂ4Íúa %11‘œœÂÃë`šf%Ÿê B;w¡­=™Ÿª;”MÇ©,N‡³Â厀œù©Ä'$²¯ømhØŠZÝã‰cá{S±lvl66ÃÀJ[Çüù‘´Ýž¶õmìÞkú^^y±Øõ¨‡ˆˆˆˆˆˆˆˆˆˆÈÉDIÞZÀ´LÂëÔ!::šÎ;ãïïiš8BBB°,‹ìì샭y[¶lÉúõëu×|˜@z{’›¿á±7—µ4:} ÏŒéFüœgxù—d ÓÆþôûcB¿ã?¯/#jècÜøS·µáŠÝi¹‰Äþù#_ýMre-uÒªCŸK÷Öõ±·?~üŽ…Ó8°#°)g]:€³»´ Qd­lömù‹ogý@tª 6;‹+¯<Ÿ­jw‘–ÈÎõ¿òõœXê½—±ç5$Èfðï×&ñóÿÇÓóâ¨85^Q¹ÿ°ß,\'¤õ¹\uÅytoI€;]ë–0{Îolϱ–ãK=+f§í°ÇüS·´bȀ ÄÊŽ'æ·¹|¹ÌC¯!—Ñÿ´æDZäìÝÀ¢¯¿âçí9:üÄšH×aå'«Òspò²Ù+êÝ 0òÈ7lô˜nÃáçø–†¿à@œV¹y‡®ßÊ;²X³³³¬ ©”ä­œ;ÁÁÁáõz1 ƒÌÌL‚‚‚0M“ääd"""°, Ã0 Ân/lx¸\bVoÆÙ†ÖþËX@Ç®mqeäЬK'"--ßÓÞœ¶­ì^¸–4 ê¸L‚ú g´ã+¦>ñS-": æÎûÇ0!𞟵‰¼Šº5X²p=ƒoìM÷µ,Ï:°²–½ºS7éwÞÙP€›Ë¹gÂy˜|Á”éëIô†ÓöœaŒ¾}õ?|•éë²°Ëã$44¿¿úžµÛ÷ãŠ8‘wŽfìðd&½ó'ÎŽ\sû5´Xó1“?ˆ!Ù ¦^óNtH$ÍÌ&þ“G˜¸çQ^¸ƒgïÿ„ °„TÉmáWQ¹Eç¬Å@î¾ûlË?å•w¢I êÀ 1c˜p«^_L‚ þ­ûTÏÊx\&ý†q½5ƒ·›Mévš¸‹Çn¹…‰çe±íû·yâí ¤Ð€~ã&2á–!Ä?5ƒ˜_bý…5§ÊÎ/¨¥ *j=kyyäÁ10œÁÔkÑ•ó´'oÍ<Ö¤XîæèÊó-V©m”ä­¶Úõ÷÷Çår››KFF¦iv°ëfêÕ«Gvv6xkPi·u»œ—Ю¹Õ›½ЖnóYñíŸtÖ…Îu~ç÷t [£6´MbUl:PØ5­ambîGKØk„UÌø_x狎¼2¶?½~ÚÌfõìä¯[ÂJ÷ôéÁŸKR “˜ÎÖôîÁÞÅ+Øc ç¼çÓ`Ëg<øñ2rü±ñ¬šý*YÁÏóï!ç²xýÄ™€ksÞ\ƒá€ŸÃ9¿3c~_N¿ª9m’NTp6›V¬%. l¤³+z [M'AA~8‚êè0áQ„{Jº½0*)×0B9ýÒþ4Ùõ5ÿþøO2üý°e¬æ³·ëÑᙋ¹°ýï|¾)ˆÞ¾ÖÓ†ËÜiËH°GP·dþý˯êÍ%‰3øpÑ>¬°ÔÅÃúŸ~#®ßy´mh#f— ¾Äk+ÿ8Ur2NÙñ{ “²öFgsÃøsòWûwobå›â>lí×rç¥-p–'“ÏŒ%;È3lEéÙ#+ODDDDDDDDDDDNnJòÖ~~~8ŽƒÉÞ€€ ¨W¯ÞÁÄ®ÍfÃétH~~>ÁÁÁ¸\.üýüÈÍw^`úfb‡rz›†Ø6ïÅÙ¶+ÙÈûn€A8­S,Ï&¢M[dŰ!ÑÆ†€fÒ.ÂYÔ@ØæŒ¹+–ݶ!´hlãJ²z6k K–eðð™½h¸ôgö™à×¶'=ÂvðÝ_©Ø§Ñ¦µƒ³·à Ưh;‡Ãb×Úõä׆6q)~×ñ+VºON8íØ+íÿs)·Ýõ0!‹±dE4;3œÚÂ(ÊU†áK~|)×ÞŒvmìž·Üà ¢ùÙqlÏ ¡u³(lÛ¢|¯§̤Ý$xð¼8 ?×KZ\f ¶¢ü,7¹àï4|56±üãTÉ98uyÙõÛ,¾Ø@Af6ù¦ È¦t9û\®º¡ ¦}Í?i‡ÎmNÌw¼½Ã‰ÝHxƒ–t;ërÆ·a΋ؖ{ä剈ˆˆˆˆˆˆˆˆˆÈÉMIÞZÀßϻݎi𤥥áïïOHHuêÔÁétbY.—‹¼¼ª¤\Ã/€ ?;-‡=Áë×^‡ÓF’¿›Ó÷zúÂryðv^ ;èõ˜‡•bÈ×Îñ%ÖŠrß•žƒ“˜…Uq7ÈùÉìÜiiÉÄíÊÄïŽkè}ZÖ,I8xº,W..ÀJ'eÿ^6oIæÚ;®àüîkÙ¾<¥ðXAyeÅ*"""""""""""'%yk§ÓAVV´mÛÃ0ÈËË;˜Ì°, ˲°Û Çïݱc–eát:Ë,s÷ƜۖÖaI´ëê`ýgÛ0 رfîÛ;Ñ!,‡vm`Ó»°Šå±Œà‚J䵌Ð0ÂŒ¿&}¸rÌMÜzoï<ó9ër}9úe©¤Ü‚rÜ^¶|ûoþ‘yxzÍ21MÓè[=}vtc®Z>Äj%Çu.âÓ98y™^»½‚öʆ ÛÁÓRØÚf¥±?Ý¢]`ÀágÌ(J6lîTÒ-š‡†`#¥ðщ#)¯ŒXEDDDDDDDDDDää¡$o-°yS,>öØaóŒ} [VÙ ÁÜÜ<Â"ꕘk`íØÀ&®¥}ßL:úm`Öf/``n_K´y]úeÒÊ;?muSÖó(s·¾óú«A™ÇÉÞЮW³j IDAT×spròx<'yËØ„fQÉSËmu @pcšDBê†ôŠ×ó±<ÇsdqŠˆˆˆˆˆˆˆˆˆˆH¦$o-`³Ù¹bÈ&OžLýúõiܸ1 4 22’°°0‚‚‚ð÷÷Çf³aš&¦Y˜îÉÏÏgÖW³Ë.Ôµ˜Á\uNO¿ ÖSدangMŒúõ&hïOlÎ1K4Z®zô¿a(9ßþÁ–/uÚ÷gøàfì_ôÿäácRÒFAôo¬qWò§à¯·ˆµlEc½æ³jη\øènáeÎo›Iñ†ÐüôA ëk±ìÍÅÄàØ¿‡x÷…ô¼¨?Ñ?Å’n §E÷ ¸¤gÀÁ£Ð.\za‰v°/%—_ÚŸÛŸ–yÛX¸Ï,2÷î!3´œ³†ôè 0³IN/¨°sÛÊËÍaåìï¸`âî¹1œÿÜBbžA`h[D¶âWÖ§ûVÏã?®­/±–sœ|8'³— ÿ²ÚpúE±ÇÇ‘˜–ENA`Ýætï{6msVóEt¶FgpyOölÛ;”,òL!u›Ó½o_ÚäF33: ÃçòÊãr»ÓQ‘ê $o-`š&ÑÑÑ 0›­°ë\»ÝN~~>n·›ŒŒ ÃÀ4M\.×ÁV{ÙÙÙ˜å´ðÅÈaÓúx‚;6bͪ͸ær=Ä®ŽÅÿÌž$/ÝLÊá9^Ì]ßñî/á\6ìNF4ÂÊÚ˺ï^á“vaúûÜðÔfmå·?=œ{©›ï—ïã@:Ó†mÿžŸ”ÊБ—qÓýÃsºk ^šÊÛ,‚lXÙñÉ[õ{ÝÜÿÄH¬œ$¶®ø†©ÿÛÈ­ÿi]X”+ wÔ%\}Ë¢‚X®L¶¬dú _³&߉Ÿ ¼[æñöÜzŒ½ìn&]]@ÜOSxñǸŠG0­´\;$þȳO$3tÔ`†Ý~9®ìdvÆüη¾×óøó%ÖrŽÓ÷>œƒ“˜ÛíÆëõ–Ýš×Ê&-/Œsú^ÊyáA8 /ù™IìÚô3/&ÑíÀf€•±}ž3èqa. À‡¼Ì$â6/fÚҵĻì…]4ûX^Y¼¦IAAÁq="""""""""""rbUeg°•UÖ2£’i_~>þ~àe+1]üU|ž½èu`ÚQlÚ8Égö=¿{u®2YéäåfašG2F+ØlÁ¡á‡„–¹Ü““LZ¶¿°úÔ <”P4óRIÉ,ÀET¨_Ñ\;-¯˜Èƒí~cÒsóØž•‡Ëc‚͉_`!ÁØèj²ÑlðÃü»Ûr&=»˜”[î\rrr)py01°9ü %Èß^t‚-¼ùYdeçáöš`sà !$ÐKVª‡ záøã"7#“<·§ðØ6ìÎCB t¨¯‰+;ìܼ– Gp$!ec|(8_Ê-QË*ŒÑ/ Ðül¾Ö³rî¬ý¤»‚ˆˆ )öÔ†‡œ”d ü£ˆ,^oéÉÙØ#êêwh•ÇZÖqrT~ŽwwÓÕÌßߟÐ2–X˜Ó,Ö•º ›ÝŽÝn?”µL¼^Ó¢‚õ|-¯ ™YY¸\®Ró“hÔ´ù‘VYDDDDDDDDDD¤Ê,[²p-pàLÀ[ôÓSlÚ[lº°«ÖCÓÅçY%¦‹¿ðñw_~V4]Ñ<_–ùL-ykÐ:á„Ö ¯òrÁu©\z¾-0’zåme` £Ž_XéE½¸eÒº–yUY¤.}‡gçîÀ 8¿o$[æ­`¿Ý(Õ-±á "$<ˆ²Ògâ°„P:Žˆú¦ü ¯KP¹eØð ‰$òÀŽ|¬CååúR‡JÖñ1BëSrÔepÕR§×LxƒÒ'½òXK§ÅUzNnØív‚KÞ06‡¿2·*¾š »Óχn¹},¯„¼üü2¼Rì´¿ù Þì·Œ;ÇÊV¯ƒ®ãÞàé®?sß_³Ó0¨Ûû:î¿u =›GhOcÞcÏ“6öQúüöw}¾ý»6/C•TLÄG5åú+ëÞ9µù÷ŸÈ¼‰}ˆÿj"w¼C^‰åγ`öc¼:ìå_â ªËF ½ˆ³º´ A˜Ov »7®âç9_ñíê$4„ˆˆˆ¨×0~Ì ú´‰Â™Oô¯_1õ£ÅìȳjÀz'"æê؇ʯüˆˆÈ©HI^©:ù+ùà‘¿±•ù?‡‰¡Q‘øÔ§ûeC9Óµ„—ÿÌÁnœˆn‰}Ti€oMŠEÊ•—WøÕiéDoõÊËÏ'''§ºÃð‰QgO¿Ò–™·¿ÍZOuGs´L2ölbƒ_ÙîÙÀ3÷ðµ4ùãîùϲýì78cS,±ñÙœ¬¹¨“ã|Êñr,×GÙÛ–qï‰`§ùÕwq󲙺¾dš·,~´¹b"/ÜÑ‚æ3çí™lKÎÇÞ„®ç æ¦g_ãÜiO2qÆ&ru¯‰ˆÈ)ÌÙnÏÀäd9Ÿr|ËõQÞ¶¥ï=ïžßX˜Ú›kßïù€èJò¼ÎvÙ8¾;i³ç÷דuð Ähþ^ºˆÅ±OðÆm1nã^_ãKÒXDDädÄÙ×^IË-Ÿ1ö­Ä›Ûy1­oO¾ž¡þàXO5®w"b®Ž}¨üÊψˆœª”äyÙòÙF–ûµ8›½¢Žgw1{âÍLwƒÍ@pXjÜXYN¤š‹TÆåráv»q:øûùáp8°ÙmU:ôyi¦×Äãñàr»)((8Æt»ã]þò ®ïÂ-×ö£Cý Ȍ㟅Ÿ3uúŸÄüLaP§Ó ÆÜx9çtnL{û·¬ä‡O§ñåª$|¼öWt+ˆˆÈ)ÉÑžÞÝýÙòå öëšÉ½}Ëö]C¿>Íy?v;ÞêZïDÄ\û¨òòýèqû*»Ê߶쇡Žå½¡ò{òøu‘cætbìùžÉÓû1eìÝÜ´ìAÞŽ)'ÍkoÆiÃÈ[»’uùe¯‚w+W§pýùÝhoÿ••jD"""§ #¬1MB Ø»7•Þwò&°'7o‚Ûɯ¦õÊúK_Õ1WÇ>ª¾|¡‘u ‰ ̯6–/""rˆô‘R 62ã­ïYŸâ²\$GÏæ¥×qÉ5ô0Àˆä¢ÑWÒ|Ó4Ÿü=+6ífçÖu,øà^úÅÎÅc‡ÐÖFHcš†eóëÖlßËž›ùgÉ·|8°ú>±ˆT+Ï.f½>‹­®àÁë;PѺ–¯åèá9EY‡ý¨yë6›»½ðe3ŒÚ¹£ÝîHÊwe’˜š_¸nm,_DD¤ˆºk‘Ò\.\%?YäæK!ÁvŒ€PBýL²2³J}1³2ȦuBmÄÂgïeÏEWpíÛxí¦»Ø³ü{>þpK÷ëøÁ@A¥>YxÜî2?Ey_ã7r‚ qšde”\Ï";3ç˜?|a„ùÛi;ú5~¸®ø‰!AØýª(ï–­Èà’Ë®¥ßßñG¼‡ˆnWsUÏ\–¿ºžÃÎÆQW9ùGpý9ôâêáƒ9·[k…ûv¤ì ÂÁòŠ÷áÃ}pĉգ~oð-–c~ÀCäro›Í«3Ïæ‘¸iù|hš‡ßVÉiQ/ [ÊébßNT½HŒ¬]¤”×¥³ˆˆÈI®ðÁ@BJ=äêGHon6yVõ­çì÷/æ>Ñÿ`kO÷_¯qíÿjß>Ž÷q?ÙÊ‘S›’¼""RZh(!%2Fx8áFI9^¬üL² l4ªŠÁá‰[HBÈ&3«hco:L㩟ֺ#ÆßÊ/×ç‰q¯òGö‰¬Ô!¾Æo¹rÉuÛˆ .±žA@ ÇšÛ´ rÈvyÙ8ëQž_œY*‰æÉNÁ튬š¬V¼ý,Ÿ=ý4“ÞíOžÛKÞþÍ,ú>Xš®§…¥L>ßA½˜ðòœ½s/<õk÷fá¶ Â.y‚¯î®d>Ü'jøÏš‹HÕq±ùË·˜Ù÷FÞ;’P@ð¡ÅÞ8¢7fr}ï^tõÿ“Ue=ƒeoÆé=¢(ذŽÍ—ZDDNQVÖ^âÒýi×$ƒÄCÿ+ÚÒ´±AÒò ªq=sí4î½ëlEÿ¤[9 de¶¬uû8ÞÇýd+_DDNmêqNDDJ±×íL÷ÆÅÿDØhÚ§­Ü[ˆÙæ÷&V­wѶOo–e ¤ûY§¸o=ë’J¦ ½dnÿ÷_ùŠ!èÖ¬p L¯×‡“ªíȹ¾ÆïÚÆ†m&m{v#¢øz¶útîuìDÝ›Xã¢y»Æäî‹go|ñ×>3]Uƒ»þ\ùOÜ0‚!WbøíOðÆ‚”òçTËù”ãÇÇëÏÑ¢½ê¦òÛ̹¬Ü“…ÛpмUcìÅ6+óúðå>(oÛªæc,"µNÁf>{}.{š^ÅC[–è™ÙÅšï°3|·^בàRO9i6øf®n¾Ÿù߬ SO‰ˆÈ©Ê³…«²i×÷ÌÃ>G:[žM߯é¬Zµ³°GŒjZÏÊNdË–-lÚ\øÚ¼7 o-ÜÇq?îþá4ªXøÐjm,_DD¤ˆ½òU|VQc¢²–•LûòÓðñ÷#}ÙŠ^eM·MšµlXAEDj¬ÜœlBÃê”±ÄFƒ3†0°U$ͺÖ#w_9„Òªßh{:ù?MåÍ¥ ¸­|vï±ÓgÔH.¬—ÁÞý9¡M8ýÊ;¸ïÊ:¬xë ¾Ù™‡q&×]ߋӋ…€¨Öô»f›ìdî§¿³«ÀÂØŽËŸIÝÌÍlN³h’[Y[¹Â8/m°oˆáàðÁF8=.HëøŸùfuÊÁ'_à ¼ª+™‹¿aù>ð-~ÈeoVc.u=ûÙ\€_TιþF÷Ç?{#ß}·ŽT«tüö»3[X3zº…±°ŸßfþÁn³¼ë#‹Ý•Þå½W˜Ô?ìš=ÖkØ—{²šN…ˆ-ÏeÔ.ýñÅzäð$mbGH?†^ÐŽ0+Ž%3—²£èíÙLÙĆ܎\yã.n„égpMÚöàâQwñàðfìøøY^^”ˆ»zª%""RxHØcrúõ×qAd{S¼„µîÇ-÷Ž¢SܼüÙÆ¢‡¡ªk½su죪ËâÜ¿Ç÷žNÞ¯¿“å®e勈œ|âvmOæSد¤UìUò÷â/Ê™G‰é“šºk‘R¼;æðê¼P®ºëiîiŠ™¾‹•³ŸcÊgk¶útmù’‡ÿ•Ê£/çÿ^¹ƒg>û·þü'aÆ_©X€áÎÃÖìBƺ™ú¡~XùéÄm\Î;Oã·¢O'®53xif#&Üô,ŸÜ–ÏÖs×ôòƬ:¾ÄËÞä_ÏæÎëoç•aYñDÿö5ÿy³7Ï=ö8òc¿à¡%qÓè˹ë©©d£ #-ÿ,äcwUÆ`ó#†-¡#yàÅþ‡f[^2·/äÕIo±8áØëS]çSŽß®?+u¯¿ÔŒûÆŒeò‡ÁXY ¬ÿõKþ÷äV|¹õÁÒÊ»>*¿ÊÛvG•ר—XDj§<ÖMŸÂÜ>O3´AÉeló·o½„‘C/dø„˨êÄ›“® 3ýÿžåÛ5IJðŠˆÈ)Ï÷-ÿ™h2þÖQü÷õzøçï'vÙ'<üþwęտމˆ¹:öQµå{ÈJÍ /3…Ô«–/""rȱ'èkY5¥%¯­ÄtñWñyö¢×iG±ià&ŸÙ÷üîÔYD¤ÆJJL QÓæe,qÐíŽwy¥ë|ÆM˜É.}ˆ8IDô»Ÿ)÷Dòý³¯ñUtù&`8 mÔ‹±ONä¼õO0òµ5ú_DDDDDDDDDN˜eK®îܶÞõýô›ö›>ÐÂ×,ñª¬0>þîËÏŠ¦+šçË2Ÿ©%¯ˆˆ”fTå3@G(è<ÿänÎ*sàM“„y“¸ýƒXÔp1•³gù´A_Â׾¬µIXd¹ÉŠ_φxüýN\¼""""""""""rL”䑚%ï/Þ¼{Г›¦oI•³ BïÆ¸fÃÏØËÈ2„ÖkA÷ †3®W2?=¾^­xEDDDDDDDDDj %yED¤f±òIK̯î(jŽYò×Ïñ¸íFnÿ £×!79i ìØ¸ŠO~•ï7äž `EDDDDDDDDDäX)É+""Åxˆž:–‹«; ©zž$þþâüýEu"""""""""""ÇÊV݈ˆˆˆˆˆˆˆˆˆˆˆˆˆˆï”ä©E”ä©E”ä©E”ä©EÕ€ˆˆTêADDDDDDDDDDDŽ‚ZòŠˆˆˆˆˆˆˆˆˆˆˆˆˆÔ"JòŠˆˆˆˆˆˆˆˆˆˆˆˆˆÔ"JòŠˆˆˆˆˆˆˆˆˆˆˆˆˆÔ"JòŠˆˆˆˆˆˆˆˆˆˆˆˆˆÔ"JòŠˆˆˆˆˆˆˆˆˆˆˆˆˆÔ"JòŠˆˆˆˆˆˆˆˆˆˆˆˆˆÔ"JòŠˆˆˆˆˆˆˆˆˆˆˆˆˆÔ"JòŠˆˆˆˆˆˆˆˆˆˆˆˆˆÔ"JòŠˆˆˆˆˆˆˆˆˆˆˆˆˆÔ"JòŠˆˆÔz‘=¯å±WßfÖW3˜7ûmî:½#׿ò¯k‰;Ǿɜ—¯¦Yýëo§Íu/3ûµá´¶Ww,R¨6\7"Rœÿ90{ögL¹©#e,wö¾‹_>Èyþ%—؉ì8€qÿ~Š·?üÙ³>eæÇ¯óÊı\qZ]œ' vñ¾®‘je„õçñ7ÆÐµ†'õNDœG½€^Ütï•4Þ<‡ï¼‹qžàÓè4ömÝÂæ„ÌªÞŸÈ v¼¯UÝ rò±Óìòq\ש¬4oYüh9è_¼úôôñÛʽÁ¤IÏòÜ;sY•×Qÿyާ†¶%È8®A‹ˆˆˆˆˆˆÈP’WDDª‘AÓÏ k©ÖD5͉ˆóè÷a«×œ©¬Z¼‚íûSHÜ›H†+‘ES^dêïIXU¼?‘ëx_«ºääã_ÆÂØH†ŒFgò¼ŽÖWòà˜®¤Ï{ŽûŸ™Æ·KW³.f«—ÿÂg¯>ÎÃï¢Õ¨{ÝÕפ±ˆˆˆˆˆˆˆoŽê@DDj;ÇNæÑüwcGF_Ù‡vu!;žµ‹gñÁ—+IðX× ¬ýÅ\?òÎîÐ0{>IÛW³`æ æ¬IÁS´Npë =z}Û7&ÌQ@fÊ>6ÿý=N[Kã1OòР¦Û žÿj àe÷¬G™ðù¼•ÆjP§ã%Ü0âbú´oH¨-Ÿ´Ämü8åefmvû_a} ›Å×·aäågÒ±AvW [W|ÏÿÌ–¼ zßRQœa/å¦ërV»ººSÙºâG>üd>±YVí£¼CBÏQ÷rÛÀÎ4õsÐö¹Ï¹/;f<Â}_9¸aòSôþ}"÷}¹ûð2Œ`z;Ö:½Ê#p×wጾm(ç·$uÞ$îž¾Õ‡íœ4:k· ?îMC±2÷²vÑ×,ôáÌKu«¢{+·èZðoÂù×Ýȵçt ixv›ÁÆ‚žÍ³˜ºõ,Æ<ºkÕ¯ÍP^xúRRß{”§=ð`Ñý–gxâô<ûðç0|Ò1¼‰ÔL†3ƒ_ßûŠFÏ]ÇÝ#þæO6‘_îÚ~œ6ð"šg.åÉÉ.õd‹Ý?~Êw?ËÁ½ù|ýïd•ýôˆˆˆˆˆˆˆœ@JòŠˆH !}oå>ÿ/xí?Ó‰MƒÈΙðà}<ü÷¿MŽí‡óß'ÂÒ/xýó ì7ëжß5ÜüOÐøåÇyýï ,ÿÓ3ñf:þó/}KŠ7ˆzÍÛÓ%4•to =ÊC©3yÐþ{Ï4b<`šŸ+GòßIƒpþý5ï½°DW0MÚF’\”…ö)¾¢úŸ} ÏæÍç :±€ÀfçpûÄÛ™xÓ~–*ˆÓ¯íPž|âr¿Ê‹l -¨-ƒÇŒáɇmüë‰ï‰óû>Êee³ö˹ÿÏ«xñ¹~¬}ò¦oñmת‚írª N6BZ]ʃ4 oñ,^ú2…ì¤=˜>moÒëfþûàY¤ÿø “&o!Ó¯!=äÎÓëcK÷ájS•÷V>þt¿ñaîí¾‘×&ÝÅï{<Ôí1Œ‡ºˆìO1ya®ylL9ÊkuÛ\^Ñ—nÇ%1/ðS¢EH÷QÜ=Àâǧ§³*3ãÞ‡Dj*ÃáÀˆÿ‰©3ûð¿ëoeÔŠÇø(¶œ4¯½1;„‘³š˜‚r ôƱz]*מӉ¶ößYí)g=9aÔ]³ˆˆ”b°‰Ùï-`cª Ër‘3×?‹&ü‚Ë9'Ü#‚óG¦É–<3u+·îa÷ö}ú?^ÿÍÁ7 ¤µŒ†4Ífãˈ޹ø¸m¬ýãG>ŸK.`z]¸½X&n——ÛÇëCó #‚ó®HÓm_òÔ«sYºn ›c×°ø»EDgZ>Çw¨¾[˜ýö·¬MÌÃÄ$'îwfý²›:ÝO£•½‚8:œ;ürZìžÍ oÿÌÚñìÞðï½õû; áÊ®ÎcßG%L¯—Ç‹˜î#ÙîØëähÝŠìiOñ⬥¬ŒÞ@lB>–/ÛQô¿ê¾Ë IDAT<Â7|É ýFÌî}Äm]Í·SÞæçt4äc VÅ÷ö6œuF$[|Íoq9x­WÏaî:ÚÖ''Ï‹÷˜®U»¿{›·µáæ;.¦IxwÆŒ?ÜyS˜¾>¯ð¾9Ú÷!‘šÌfdž—Ý߿ϗÛësÅCËï¶Ù'*Ò’S)?wk’š”†Id€Þ¥EDDDDDDj%yED¤sÿ¶Ö£EZL »ìmèÐÒŽ6tíà`ûÊ5$¶Z.ëV¬'¯QgºÖ5°RW±p%\tÿ¸ïš³há,¹«£ãh]¸ÿ¿V’`–µÜ·øÖ7i[Ó¯ovV\ÑwÙŽ6tïäd×_+‰/ÖìÏ»g [rCi×®ÁÁ?´G½íHê”òóWf>æ¯/Û;[ѱ«Ö’\|cOÑ3ËCXj„ª¾· ;x=ÅÛÍš˜&Øl¶Šþ¾^«ÞæO™FtóQ<ùÜxÎIŸÃä™[+èºVä$â‰cî;ß°£Á îޞ‡ "þâ¹ÛÇ2rô8ÆÜÿï.ÚEn±bŽåZ5‚:3zÂe/}‡gž}“™i}¸ëö¾D•”/r2qmeÖ;?ßx0w]ѼDÏÌ.¢,&®ÎùÜ4¬}C8irñõ\Þ,‰_¾_I–ž©ô=ªˆˆ”b4`ð„1\Ü­94¡ËE·ðа$þ2ß3,°2ømÆ·ìl3‚Gn»ÓZ4 A“¶ôq÷\`±ô‹ùlõ‚Þ‹kG¤_×V4­Iý¦¹àÊsi™·ÍûLÀ"}÷n2C{2ø’4ªWŸFQ•·ä´RøuÖ/$uÅÄñ—л]sZ¶íÄ™]ƹ-ì>ÇwG¤ì8­4–ÌøŽ}ÝnfÒ]—Ó·sKZ´lMçî}8ìrzGIÆè(ÅQ;Nuòe{+‰Ås—‘Ûózþ5ê,Ú7®O£]pËÝ\ÙÜÒh5Y•ß[!ÍZPÏæ$²EÚµmMÛÖ-hV/„C#xõj„Òûæñ 2óÆÇkÉrïfÎ[_ßc _úDß{"Õ#Ól¦üHî¨WâS {ë7¼2m#QWOäåbÐÙÝèܾ=§ÑŸ‘&ñâ-­ØùùL9ú¡DDDDDDD¤j©»f)Å»ë;¦üÂeãåöÆ!X{X=ïU>˜µþ`ë:×¶9LúO#G äþgÆáÈ'iûZ~zñI¾Z•†î|ŒÆçqó€ë¨âÄÊÏ`ïæ¿ùè™,+j 䊞ÍspۨǙzS;f?ÿ¾,oLÀ,r¢?åѧS¹qÄ î{êfBí.Òã70ûõù>Çw$Ê‹3Ë×<þx2£FäÖ‰#‰ 4pe&²mÝ>?Âq?îX½ãU§Ê··Èüë}›<œq×ÞÌ3W‡bd'°qÙ<ž}¿“†§ K•¨Ú{ˆ{÷F¶… å®'Ï94Ûò’µóW¦¼ð>KÍ£¼V "ûŽåîó]Ì›ôk‹Þ¼þ~àe+1]üU|ž½èu`ÚQlÚ8Égö=¿{u©±’h×±sKìtûÏtú™{þ†8ó„‡&"§ ƒ:gÝÁ+·EðÓ+ïðí†dòMÀpÒð4nxäún|ޱo¯¯uc[‹ˆˆˆˆˆˆˆˆo|?g-pàLÀ[ôÓSlÚ[lº°‹ÈCÓÅçY%¦‹¿ðñw_~V4]Ñ<_–ùL-yED¤4£;* êËCSn¥·³¬…&Ió_à¾é›O¤Ž…œÔtéׇ°˜·øf}2®³-7ÙûbٔॿŸŸºM)ƒ’¼""R³ä­â݇¶0­œÌŽ'7ýÔIjêXÈIÍËž{0† àê^ûX»ŸlÓAhÝft=÷jn<-™EÏnT÷°"""""""""eP’WDDj«€Œ¤$2ª;Žš@ÇBNj&»ç¾Â³ÆH†yŒa Ãð7Üä¦ïgצµ|9i 6åUw"""""""""5’’¼""RŒ— ÞÍÕÕ†ˆœ¼)üóõ[üóuu"""""""""R»Øª;ñ’¼""""""""""""""µˆ’¼""""""""""""""µˆ’¼""""""""""""""µˆ’¼""""""""""""""µˆ£º‘ê‘]Ý!ˆˆˆˆˆˆˆˆˆˆˆÈQPK^‘ZDI^‘ZDI^‘ZDI^‘ZDI^‘ZDI^‘ZDI^‘ZDI^‘ZDI^‘ZDI^)‡ƒnw|ÈÂ)#hQẎ›Ê7“‡ÒÒçÿ.f›Ê„ô¼¿~‘‘-Ø#;sÅí2uÚÌÿq.?|9…—ïH‡£Ä¶6¢z ãÑ×>àÛï¾áÇ™SxñÎ ixh=¿¶£˜:ûMnëXUWãq«‚ö7OaÁ{7ÐÖ^ݱœZüûOdÁ‚¹||[ʺRg=À¼ï倒KDuÈÿy‰i_Îä§çðý¬÷™úÔ íYç ˆ]äTäß" ~Ï¢/&pF©û²ˆQŸ«_šÃâ…ß2ý–ö¾­Úh6âUθ“^޲6 dÀ¤9,xê"BŠïë‡I -ù7PD|WùÿŒ""""'Jú*HDDN=F<óÁxº—ùåÔÉåTª«œjÌÿgï¾Ã£(þ8Ž¿ïr)¤@½÷"ˆ‚€€ˆØ(R¥#@¨ˆ(E¥ýDŠT¥H¯¢4Q¡&¡„Bzïwûûƒ–„$„Èçõ<÷ܲ;»7³d¶}gf ¿èÅqo¢Œ¬\çªtë’cUzôÛÚ,óMsQÚJ×rAlž=Žß{Ÿ·÷d_Æ}þ…“=‹³¯ðߌè@‰S‹þÑÇ|üÝFÂk¿Ë¸È-]©åLùÝž¶ï·§ÒCñº÷ý(ÿev”ló¯WÏhƒʵÂôïÞ¦£7«Ç O¿bØäߨ[…ž£&1®s%œõüZ$KØÂƒ u«Ï‹OºV53—h U¢ Ñ^$»eäšQDDDäAÑcfÉF&ÜëÖ§¦cK²;+YîQ*«üçwz¨lãÂÆ‰ ¾«ÞË:~]2‘¿i^Éw˜V"ÀæÇŠ¡o±.*’˜ëE8sŽÑöåX4¨) þÎoW À™§;´¦´ÏBÞ˜² ?ÀƆæálj]iW馟Lâ9¶|Ç^éAç+¾-’ìÜ~¯ûQþˬÿâ:´ý  ¿?‹#±·Oo_¡#ƒûÖ$tù—|<ó(‘7þ°°wǶžÊÿzÂ['ú3ùÐ6&"w/ö{ŠæÍŸÆýï? Mqr±P¡Ù³”8ñ›Ý^ VvåQDÈø5£ˆˆˆÈƒ¡ ¯ˆˆ$c¡Æ;?ñµë\¾8Z7;4 RAgˆ¸À?~aÚüñ»qÏj"O•—èÕ£ «%],>ûX¿`‹÷’t-K…æ¼õf+ž©Rw»xƒ.ròß•L›q€â}Ç2¤UI\Í&&mh Xñ]øoÎ95“òir)GóÎíyù©J”,䫎ïáÍÌž²]ÖkÛšÎ0§)ôZ‘—7ûwá¹*/ij¼°b"OµôîÕ’• ’+!ï«ùñ§5‹0näedî|áY‘mêSµˆ–ø ¼v®`êô xŸPïÝ{-«Hö3 `£7èÛåYjwÃ;ÇþM¿0mÁn.'Áõz0¾Æï¼Õo1çl€c šõz‹.MªQ"¯³éF襤“?Ó냕¸÷I¾Î}Ö¥¹<Ó´&˜È?ÉžŽ'EF’úQ[|h1#W.`€¥"uj:â³x7—m7Ó%žÙÉÎËmiP·$3OžÁ A;ùóÈ›¼ß¬.îÛS?ˆ°§ÑàE|é2öC6~c¹åºObZ“½ôï=/kÊmpÛãèOqÑvïûþο ÜñxµÌÅvåÝnM©UÒ #ì6ýÊݲÉ>”?XH±I½ÐmïÌ8Nú¡Yoñ¥Ã·0h~òïu ø®žÍŠ—ÇÓ®u]æÞFDö·nùo±gß»iüY3šÜÌŠ+É*™CU^|6/æï%êµ³/"rW׌""""‚‚¼""r ·ÆýøÌi.c?™É±ÈW½%‡ b¬ë0úüpˆhœªtcܘ–°u.ãæáŠÕŠM:ÑgÄ·9€q»Â0œjÑwxoªî›ÎÈŸŽds¡`©Ê<–;˜k~Ó?¢_Ð(~j}šÁoÍÄ3ÉÀ°&eø¦8#ù4’œ)T0Š]¿LbÊé@ò=A¯o1äýËôøò‚ nåZ0xxb7-`äü "Îc+ufÌè¶Øo›Éˆ©G q©Dë¾};ÌÌ»Ÿ¬ä̺ܵ>ó.ƒÝñÝW}8äO®RMø`Ä|ý¶?='`Ï}–U$;™K·áãW·3Ú0¦&‘·Òs¼ùÎçŒsFŸ)WëZJNÔ~{(ŸÔ>ʸÏz²õ¼•u:3tÈKDÎûœ1Îb÷4~ëžë’Kž¨lÂë§#i©R”†¢Õ*ãáÃÉkOçL¹‹RÌ5žK—BRö̵úsÑŠ–,†g®ÉŒp8ƒ¥[-ª;þÉŽ¸{߯)oì펣¶´¶˜ñ}Çß&#Ç@nOöeÜ ]ýƒ¾õ"ܱ(uZ÷ࣧ a ½¿ý#÷ÈÞÓÅuLœß€©oô£çÎüx,0¯] «š›ØÃûðLïïÙzŽ}ƒéÚ¸í¶±O”D2—ÙLÂÁ?Ù6‚šcÕ¯¹~ˆw~¢öðý®hjtÉÖ\Š<òîêšQDDDäÐ;yEDä&N°hÊ:Ž'` YθهÈÛ¼-MòšÀäÁsÝ[SÒk_N\Çn¯óøžòdÓ¬o·ÙŽçßhIy;0¹¥xîHŽmÛΡ3—¸èëÍí«™³æ1€-)«†Ä„I´f¼{Ðó „y£¦°hÛa¼/øá{h-ÓWùàP¹*åìnnËR¡<‘3>gÄ­ü{èÇýb1Lî4éÚ†²¾‹>i#Î\Ä÷Èf~ø~þUÚÑþq‡dyñbÑÄeðņèsÛX¸Ñ÷Úµ)g¹ÿ²Šd'³“«ÆýÄúƒ§¹pñž›æëYžx¼¬®%g©@çóá½îW6Ÿ‹ÆjÄá¿w ËZ¨V©Q1Iés|¯uÉ®X)JYB8s6â¶C(›ò7æ­6%ð^¾Šñ׿¹8ãL,Ñ1©×L *& ;W·dï"5:{ާ’”-rÿ—Òw*·¸‹}§ß&#Ç@S~šulŠÇ‘yŒøq ž¾—8çµ—eã'²1ÔI7ÙÅl‡Iø®œÂŸB´û°3龞ה—|y!$0ø–^ï7Y ÁææA>'½pP$KÄŸ`ãÖ+”{®)å¯7Ç7å¦Á O‘ð÷ŸìUÔH$ÛÝÝ5£ˆˆˆHÖÓs¹…Õÿ§Â“߸„ñä¬]ª–³ûŠ<^ÕžSÿî# E²hìô$¶X j0aïfýn/~þ-ƒ:5¤²‡ýƒÍgš B‚B1qLvn ÚÉÚÃR‡,©]ó»þåb².·Öó'9›J• ß8‘Z|ðM™—ÈÈ(pvÁå~ )ò°çÈ•äÝF ‚ºM]³ÃbkRòulXmf³™Û=ûº×ºdv÷ÀP‚BÓìÞ €É¥ ½¾z‡§fóíòó7{Ò)¾îÈL(îäË{ÿ—Òw*ïÝG3¾ï︯3r t(OµŠfNí9ò|tŽƒGÃIÿCˆ¤s,¼”SEZ1 kœn—öŽïÞ¾‘02&"·JÂgóVÎi‹U¯6$4åkÈ µÂزé8 Ùœ;ᮯEDDD²š†k‘[%$úÎ5&šœpu±Ãä䆛ƒÈˆÈ[npm‘áDQìÜNóW:Ð`ïÏüã—DÞmxµV »&å¶µÿ^ë’Å‚+IIi?v39W¤ó°/yÕ¶ŠÁ£6p!Y—E#:Š(rázK× \-Xc¢RæÉšH"öاז$=iàNå5îò8z7ûþ¿‘c ƒ ®ö6"ÃSŸ ¢"¢õô!xz9–<Íÿ:õ§ç®™m³¥ü1B …¼òaÁ'ר‘¯€¦Èsßçå"’>Ûùmü~ò5º4¯É ÏýäoúÕ/n埤´›èg¨q†MÇb‘Lr×׌""""YLA^¹•›®fHÞËä)–Àh+F\‘ñfŠäqÃDʇøf×<¸ED䵕­aœØ4›’»l^ëû6C¿+Èз&ðOTÖæçÚôÿn(OûÎc̈I¾I¢a"wó¡üÖïΛ7⣉J°rbé|»5õ°IQ·ÚRä?ÄÙçÔuÍÍ 7®ÕµÔŒhvÿ8Š…#G2ì§&Ä&Z‰ ðfÇ´¯˜µ#,k6ÇÅK.\œM¤î_ar®D—Céh·–/†üÊÑT/6"/q!Ì‘ Å<0qåæÚv…)^ÔDà.ÿÁQS.\ˆ%&`W:afrårº·FwsÍÄ}Ÿ‘c`b‚1‰fò¹º¤:˜pÊå F.…¼OaIý1tú »gÇŸ¼_¼õGNDеNmª;þËþ´ZaØ•à‰ÇóÜo½L^$ëlýÓ7{7£^ÞÊ4+ÅÉõc9g# ïÕÑ ç<äq€[.JM¹qÏc"îR”z‹d’»½fÉj®YDDna—¿*5‹&?E˜)^·.e}8vÚ ‰^ì?š@ùºu(”â ~.jÖ{Œ\—â˜:”`%âÌ_Ìÿ'\«P£ÄÕ.pV« ,öÜË@Îwʧ¥ÔãÔÎÂ_KV±ïb$‰€…’eŠ’¡x‰^:–@É E‰¹ìÇ%¿äŸË\‰¸»Gf÷SV‘ìdW°N^×L¨U‹2IÞW ip¬Ð„ç=þah·×hÙ¦3û å›ÎrË+ÌîAZuÉàO(V8eF“keºF{Ûr}ñ+G¢ÒÈ@’»÷GQ¡þS)Žiö¥Ÿ¦~Ñ0öï÷MѻѱpQòÈ倴Ênn®¸&?>šòR¡Bþû¼øNû8šZ¦íûŒNsü´òµjâõÌæ‚T­œO7‹xoN^ÅÅâ¯òq»Ò©:ÿ%phí&|Ý›ñv—ʸÜ™·§Ä˯ӦdWî&B=”D²Aè?›ÙÍ´îÝ‘æްq{@: t "ŽzrÚ®&͸¥Q}™gy®B‡x«Q¢Hf¹ËkF‘¬¦ž¼""r #¡­>éKè¬õò·’¿fkúw)‹ÿÆ¡l 5Àc˼e´ú®Ãû'ðãOü“òP±IÞkn°m̼­`ÊûÛââ¾ãøú‡ïX˜Ç[7¥l¬¿]²¡¾¾„ç®KëWªryW0Ø"ð ŠÍPo³;åÓÊE.&xðÔ‹M¨|`S>*6hK—¹2ö°Ëaóü´Ó‡oäaÁïž\ˆ6á’·e*$ð•ü”á½z_eÉN¶¸Â´ü¤7a?oä°§oϪløŠm!iŽ÷‹[©24‡¯LE*E[1 +ñAø]‰$ñ¾r“N]ºìƒWX.jU-Ý.o¬€É¹2ÝG§{Á£ü<í,nÕjóTòr…å OVâØ·ô7NNîÊ—ïÄðÓFbòV§]ŸW)xl.Ë<“7è°P®Zìƒvq28­²[ñÞïIÔ /Ð¥á.þ·ã2ñ¨Ùú]:T20î®´w>ަôfâ¾ÏÐ10€?~ÛA‡/ß`HÏxfüéC¸}!j¾Ò“elþwW^É:qÇ3aU]¾oWûÄ)–%z/aôŒ Œé=’©¥Ö²ló!ÎÅcŸ§ÕŸy…vM rfÎpfyj¬f‘¬fDîã÷bõb"·Žæï°ô¯m7ðÓêgÝo4£Š-cÝþ³':Q°b=Ú¾ö"…=g0ú¯ð”ך&WŠW©J˜ä?j%ì‚ÔŠCäîæšQDDD$ë)È+""·°ž]Á„5n¼úÞHÞ/î†-ìû–fêÂÃ7z‚%ø,æ³!ôèÞ‚ÏÇ¿C^û8N`ÍðA,Ú‚˜c1—hJß—^§ ›F\Nìbú—óøëÚC¤„C‹·¤ý{Žbnï8N-ú’÷æ§÷NÀ»ÌgÈ&+Á‡½Þ`âlŒHŽn[Ì÷ÃO1໲Úq'å“ôìÞ‚÷Fô ¿³™øp|üÁœ»ŒTÝOYE²‹ëFóõ麼ýÞH>(î†5Ô—}kFñÍÂ#Ĥ¹Ž™¤³ÇðqëÄÇc›ÜœmX‰8ó†Maë}ÿÒ®K'ø{O8/׫KÙ9ÞøXÁ\ì)šVvÅÞ®½¿ªwëvv§íW›‰¬VóÕ`}ßîÌד àÀÉsùlæZ.$±¥< ëæ#øßñJ³µˆAä?Óùjvoú¾=•ŸØ‘ÈÉË5%o;Üea3pM)s÷ýá;`à·Ýy·kÆ¿–S¤GþZÆW?ÔáÛvwY^ÉB±xΟʪº#iW(õ²xN­AŸSÍéÔ®)û¿BA7{¬ÑÁœ;¾—ùŸbõ¡Àûl !"Ë?þæJ³ìû}i @qƒÍÁŸñÑùNtkÑOÛäÃÅOè%ö¬É·Ëöq9õ¹ÊR…nߌ¥[Ší$°õëŽ ß¡Z.r'¾fy2ó5Y·ÛVZËLw˜ÎÈ·)ƒÿ¾þ1§šNþI>ÏîÚçú´%Ù´°&>U¿qÍÛ”YDä¡xÅŸ"ÅK¦±ÄBw~b|õ¼ÕÉÕ÷=”rJ>EE&ò6øˆ©ï{°nÔ$~;Hœ 0ÙãV¤6o L££Cé4éP¦Œ,å»1}R3Ž}õã÷ÇfòÖL¸Ôû¹CJ±²ßø>lM4²oß‹ˆˆˆˆˆˆˆÜ‹Ûÿ8 |$6Àzí;)Ù´5Ù´ 0’M'Ÿg¤šNþ!ƒÿÎÈ÷í¦o7/#Ë2L=yEDäV¦Ìlt—œñåÜ~ÔKóŵ6ü× £Ï¬SWÿ™ù‘tØS£q}Ügéá@â¯Ï6‰ô;Êq¿$š9:dÉ/'^Á›š0¼Ç+,?ü¾™ýBû2´ïÑ€Øõ#XþÐx!;÷½ˆˆˆˆˆˆˆˆ›ÀºãY"9Í¿žÎ’M'^ØÉ¢ÅY²éL’Íû^DDDDDDDD½“Wïä‘GPúïäy0ôNÞ{gÎŒˆˆˆˆˆˆˆˆˆˆˆˆˆˆÈƒ¡ ¯ˆˆˆˆˆˆˆˆˆˆˆˆˆH¢ ¯ˆˆˆˆˆˆˆˆˆˆˆˆˆH¢ ¯ˆˆˆˆˆˆˆˆˆˆˆˆˆH¢ ¯ˆˆˆˆˆˆˆˆˆˆˆˆˆHbÉî ˆˆHöpuuÍî,ˆˆˆˆˆˆˆˆˆˆˆÈ=PO^‘DA^‘DA^‘DA^‘DA^‘DA^‘DA^‘DA^‘DA^‘Ä’Ý‘ÿ*;ªtË*Ûù|ÈjÎÛÒOW®ËÆÕÝÃÀ—pÆú ó("7;ª¾1‰oªnæýOWp!ÝãHf0áòXOÆ ,Ãæ!_³ì|vy+ÑüÕ<_· ¥òåÂy™“»72oáf|¢ŒkZ*vcÚè–IÕ|2É{!ï}¾šK¶Œ§s(ÛŽo‡×Åó›¡Ì9›•–ÿ(džóëÇOà¿êk>ž{’¸TËíë¼ÇüOœ˜Úã{þŠO¾ÄÊÏÒ¶U#êT.NA7’¢C¸è}ˆmkW³Á3ˆÄX¹=yED$‹DøÂËñ ÑÆS‹ˆd+ÇJtîý¶ß‡²ú|˜ Óràg´Jú‹U þ‡×ÅŒµiÿæëŒ(hðáÈÍ\¹~lssÃ%þ0sF/çxÒÍM±&Lg ]™µÌÜÜ€¯û´âŸO㣨šÜ;J´x‹.{†0ûDê0oZ(ýÒG ³ ‡þdÍÏ+ð ‰Ç.wªÖkNç¯Fóô¯cøzù)btNy((È+""YÄÆ¥ÍÓ‘ÝÙ¹#ϼJó¼GùiÝÙ«½mþ¬ý›¢#oµ|/0Ѿ4³>lDÝ[Xpuƒ«+ŽQ—8qü$Ço3AÆÒÅsbíFN¼Ð‘vu×3æïHS“»eõÛɶÐÇiÙ·=ÿ~¶€ãwˆóZʶf@¯ê„­ÅóNp³£úqîÚÁŸOûúût÷þ”éG24‘¬¦ ¯ˆˆ¤äXŒÆ]zСa%Š»;ag6aº¶èê¢(õÑ,>qþ™ž#·qãA°¥_Íø†ùìÃ_ñ±¦5̪=EêµçÍŽ¨YÜ #⇷,ã4F³ÈCÇ\ŒŽcÆÐêÂÞž¼ŸäÛWéÉ´O°{èfú£iûÖ<_»<Å æÅňàüÑí,œù{­\ryƒœfñÞZwº÷nG㊄¬F¿ù§°b"Oåæt{íyêV,Œ›9ŽÐ+§Ù0õ;–z_íÞjXͪי힡fñ<ØÅâ½{³çü‰Ïµ¬É¹ô½çcAõUÏÙ~3¤šI²·Ä‡‡CQœM€˜pss…ÈÓDÞ6›Ñt`ïfÛ±nôiü¹ÿÙF¸¢¼r—Löál›ñEFw¡ßk{ùx®×-Ã6ßäÀc/>GɈ _”<À{]ç7,`íó£hùr~9ú÷ÿ†EDDDDDD$ë)È+""É8R³Çg|P󓆽Çß“Èÿx{>ûä9¢`âµ™)uOÛ6áZûu¾P° s6ч‡ÂÔz¹ï>QsX&EDîÍíÛ|èÔ©!O¸àïã®;P­q]òûmg‹W"†Å™ù£ÙûÛtfž "ÁãqºöëÁÀÞWè;j!€×2/0`P!b·.eÜâ`¢/bœ*wâëa/a¿w3ÆçJ‚ ÅÊ{äŸ\}y­¹è ¼ÓfË~ÇÜËq8—j@>½lðδÃĆõ>òá\‡šLøÌ=žF€+93…+U$oäi¼®ØnÌsÍíQ‘w\7cé#‚#ž¾X:Ö ªÃ6vÅß!½H*&‹“ßïL[R—﻾MçÝCøùd:a^»¢T­”›¸c9–Þßšõ=Cèа åíþæ`êÖ"""""""òÀ)È+""7Ù•£Þ“œZ»Œ¿.DcW®`•ç ¼[¾ Ñ«}1®]îš)M^m„ûñù|þó_—¹05ŒÜßC‡L,†ˆdƒ€;ðìÚ&uÜøg{ÄÕaƒªÓ¸nnήÙÁY+`=΢ñÇo®véwæ¬oÀSm+SÆn!ׂA–²eˆ7ˆïÿ ¿9ü°)/:¼HñÓ‹yoÂ:._‹›zŸL™³Së'Ìdßµ——3»ÌS|ßø1ÊÚ¾:ôqü½çî|IJXÂØ.â¶C#›ò5 GË¢œ^=Ï„squsÅR®5ßLm‹{î\„ï±Ý¬]²š.Åßeº«û>øÜ"ËSº°™]çlˆÜ³f¬œ_7“ÅOC×wÚ±û³…iÛlr'Ÿ;„…ÜÒsý&!¡.x8™¸sKÉj òŠˆÈM&;,°&%>Ù†Íf³ùưÍ÷ľ •Ë™9»ø0AÉŸ ']àȉÚW¹Ÿ‹HV0Âö²å`7ú7®CÞ¿¶b€Ëã ¨›Ë‡_v\&íУAhp†ƒÉ¶à=lÜž2ˆj)KõJÎ,݇ÿm☶À»’<°pŒ\.8§{`Êx>ÌyÜq'Œ°ôW&çŠtý´UÏüÂgk.&d>‰£‹Çòõ¢ƒÃˆ¶Ú“»HE¶j˧£Êóã 1l¸l»‹t×òByðp7ƒ‚¼r¯’.°júJênË{÷2`ž7Öôš2 Ü*À+""""""ò0PWDDn²žf÷¾pš6•º²Ûߊ{µ¼R#†½ÓNpÇCo69¸àjo•êñ°AtdL:Á"ÉVF${·í#~@CžÎ¿•uA.ÔiT Ë‘yü}­µ†}Çx¥MsêW-Eá<ŽWûúÛ;cÏž”›Š#¢Õs¥Ù´à Ö»Hwu£I$aÁbw›#’‰g×0u哌mÛ›Î{¾`a¤¬oFÁaàžß ÉþS0“7¿;DŸ'$ý—ûŠˆˆˆˆˆˆÈ¤ ¯ˆˆÜdİÎx–|ñƒ&6$.ÑJlÐivý<š»nö|K/“ËÉ)Ý8¯‘CL’ gLD§Ø†£“Ãýõ‘,{è/þ‰øŒÆOdãöJ4®icÿ”½„€ócôùOž_̤±?rärI† ·¦Ÿ1÷í;oûúq¡€›Ë-Ç…[ÒÞnC÷›ØXâpÂ%—é–_29—§ýçŸÑÆîw¾þf'RG›ÓÛfÌÎ^1¨“'÷moé¥3årÆ™8bãÕkRîW"§–ÏbÅSÃhÛ·ûÄo8ß\lõã¸WjÕ¤Šã>¥Õ¢Ë®×ÈGüÉãœJ; ,"""""""Ø=¾XQDDþ«Ë6äÙ¼{Ýç :u‹^æ§-ç’õ¢3ˆŽWW\RD$òR®œGú'–D_¼Î”©Y÷äë™ P¹b^DV‰'Ùòw0åë×¥ÒSõ©·—Íû¯d-ÅkPÓ#”+×qÐ/Š$ÀBñ’…ÉPÔÄ3?e¥lÇ)p-=î7¶ ‚ÈO‘‚)Û?š\*òÚàA´¶­eØÈe¿‹÷šrW rQ¸xár:=#oŸÎ¡`aòÌ•@s ™ áK§¯Ç¯è˼תdª‘™8²i+ò4¦gûŠ)ÏíØSìù®´(ÈæuûˆT»‘‡‚zòŠˆH2&\K”¢€9Rå¨cðY‰ Æ?0ŠD¬œ:tŒè¦ÏÒ¾ÞfìºB¼C~ª¿ô&¯–#(Ml]µ“W?éÊÀÎñÌÝv†HûTkÞ™Ö% Œ€WJ¹IølßÁÅ—ñöKù‰Ø5†Ã×zúY/ã—˜—ÚÏ=C¥`O‚M”¯×‚öõœnؼÁfÛÒÍ´Ò™Á}aÁŸ' 2\(Xª,ާ6²ã\Ærx¿ù°]9O¸U.ÝÞÓX¹úÞ×¾D§'X8ûn•jòDòuÂÏáy&«]i^îÕ‹÷ Îúc&wñê4ëЖ'Ãÿäë-Wûg4v”©\ûà½ø+¢&™#Îk9S×?Á7­ª`IL9Œyâ©•ŒŸW–a¯æ»â¿³ú¯£œ ŽÇ’§(Uë=OËFðýe,óÝñÅ """""""ò€(È+""ɘI<‚Ó®íxoxÛ³ +‘¾Û˜:f&;®ØˆÚ=‡Q {òFQ,èoGbtÞÿ®áû™ {5½mDì™É‰y«Ãë|ÓÆ S”?'v®aÔÌÇÖòA”ODî…íü?l=Û†7*\aéïk >Àý‹'ãÝ®]ýColQþœø{%?Œ9C¿¥3°eƒè# øbd=^{‰G¼Ž›]a~ÇY>yc†ówßùHòáß4¯S‡Ò¿œæ´ÌEjÓ¨¢ »:ôü´Î-«$ìB÷Qm‹$0¦ ;>C·‚yp2't‘ã{aðÒ-œ¼Þû7£é,å¨Wǃà}ûðÑи’iâ8¶xëë ¡eÔËâ9³vžmJ»ÏЦ÷ äw³`á¢×A˜À†#A7꾈ˆˆˆˆˆˆd¿Ì|âí¶•Ö2Ó¦3òmÊ࿯Ì©¦“’ϳ»ö¹>mI6mì‰OÕo\ó6eyh^ñ§B媩æšÈSïÆ÷ÎËïã§³úxq6ÀdkáÇè6ècêŸÍ?%);2-"’…,e;0qtNŒÀ”ÃqÙ˜.OöeÚÀ’¬8„%å‘ÿ®MëV>`½ö”lÚšlÚɦ“Ï3RM'ÿÁgäûvÓ·›—‘e¦W ŠˆÈ5ª5¨Kîc°òèµ/€‘HÔå“xù[qppÈÔÖA""‹¤³ë™½ÕJ“ÎÍ)™¡ gûR´z­1,`­¼""""""""’yEDä+Ï^ÄT½mj—ÀÃÙ'ò¯LãÎïÓã± ¶l=¡¡Eä¿ÉˆæÀÜñLÙk£pÁì‹òZ $açt¾Œ˜lË…ˆˆˆˆˆˆˆˆ<ìôN^¹ÆÆùUãeêDÇ^Ch_87ަDbÂ8çu˜Åæ²É+6»3)"’ub}Ù¶Ì7[³tiË–gkDDDDDDDD$PWDDn²s`Ù,ËˆˆˆˆˆˆˆˆˆˆHz4\³ˆˆˆˆˆˆˆˆˆˆˆˆˆH¢ ¯ˆˆˆˆˆˆˆˆˆˆˆˆˆH¢ ¯ˆˆˆˆˆˆˆˆˆˆˆˆˆH¢ ¯ˆˆˆˆˆˆˆˆˆˆˆˆˆH¢ ¯ˆˆˆˆˆˆˆˆˆˆˆˆˆHbÉî ˆˆHöˆŠŠÊî,ˆˆˆˆˆˆˆˆˆˆˆÈ=PO^‘DA^‘DA^‘DA^‘DA^‘DA^‘DA^‘DA^‘DA^‘DA^‘{fGÅ×§²iF7ÊÛew^D²‚…êoMcåÄv”δ«F®µú0gÙX:•¶¤Xb_¤>ýXÌŸ³zRé6uêvéÊwfÚòè]-WfeX$Gql2˜M›V1§w5Òªöõ>fÍÚ/hê”z‰…|Õ^äݯÆ1oñ~ß°‚uKg2mÄ;´«Uûw‘‡Ÿ™|·ç‹I³X½v%–Leì»M)“˔ݑG‚¼""""’á½8îíO”qwkšò4ã›Y}©iIµÀ±*=ú¿ˆmí –ù&]›i¡`Ý^L˜ü>uœâHÿ§îœ.áÔr¦ünOÛ÷ÛSIQ)ydÙQ²Í{¼^=£(×jÓ¿{›ŽÞ¬þqƒ>ýŠa“cOlzŽšÄ¸Î•pÖókyÄÙWxoFt Ä©Å ÿèc>þn#áµßeÜÀFä×yRDDD0yEDDD$6.lœÈà©ÿtWA^îuëSÓñÖùù›và•|‡Yºê‰×æ:TéÎØÁOseöç Ûp[:[ÍXºxŽ-_ű"¯Ð¹zÖ&"ëÅ¿Øp,?m?èB Äyí+tdpßš„.Jß!3ømë^9ÂÞùyô@Þÿé,åz|Â[5ÕC^DDeÎ<Ý¡5¥}2bÊ&öûœáÄžÕŒ³Šðz]iW)uëF‘¬¥«IÆBw~bdîù|áY…7:4 J!lá¾ìY=‹ÉiÒ«;¯>]‘B.g÷±ìÇi,9™¬G‰<ÕZлWKT.H®„ ¼w®æÇŸÖp,ÂHö øÂ³"=ÚÔ§j7,ñAxí\ÁÔéðŠ6{ ^Ä—.Ói?dá7~ÀŽrÝ'1­É^ú÷ž‹—5#å2‘§ÊKôêÑ‚†U‹’Ç.–Ÿ}¬_0ÅûIºQöé sšB¯yy³ž«âAð²A¼1Ë +ökØ•w»5¥VI7Œ° Øô+HŒ”ÿv¿#ò0¹Z_Ç×ø·ú-æœ-õ7Æ…zïŽeH«’¸šMLÚаâ»ð#ÞœÁ3Mk‰üzó¨‘pr_¼³?¿ŠwLÿò4£éŒ üyäMÞoV÷íz—½Er:“}(þ°b“z1 Û.Þ™qœØtS;ðx‹(¾…AóyK}IÀwõlV¼<žv­ë2çð6"T§DDäQd©HšŽø,ÞÍåd­ Ïìdçå¶4¨[’™'ÏèžNDDDõä‘[¸>ó.k᧯órË®ô_@׿dÆ´¨}n!ztä¥ö2í\ÞÒ‹'“uìq¬Ô™1£{RÙo9#ÞïGŸ¡¿rªL7ÆkM)»”¿1¸A‹¾êC«–íh7àW®ÔìÃ×o×Jó‚÷éJ7Æyªë÷éû¼ýáhæËGÛßòñÓîÉzú™p+ׂÁÃÛ“ûÀFþŠ1ÎcÄۓ}÷Å‹¸žÃ wûñîðù*Ø…ZJÑS0cåOïwDr†ÛÖ_#Š=Ó?¢ßl/×1°uš¿ÒŽ·çŸÁêR'*›ð:p$e Ɉà’_ÔÕÆ"¦Ûô½Ípºp8ƒ¥Z-ªßÒ›Xä`oéâ:&Î÷¦`›~ô¼Ý;ªíJðXÕÜÄÞ‡g\:i¬çØw0§ª5¨¨wЋˆÈ#Ê”»(Å\ã¹t)$åkC¬þ\ôƒ¢%‹á]™‘G’‚¼""r “qŒ%Ó~çdh"†-š3¿¯b[`.r_\Ť•Ç Š70âüØþÛÎå®N­ëÑK“;Mº¶¡¬ï"†OÚÈ3ñ=²™¾_…•v´üæ-¯ /M\ÆÿXl؈>·…}q¯]›r™9΄Ƀ纷¦¤×<¾œ¸ŽÝ^çñ=åɦYß0n³ϿђòÉX[*”'rÆçŒX¸•á¸_,†)?Í:6ÅãÈžø[î\ ’Ó¼¡½>jªÉ)7¹í(ß}ë»$OaÆâh披óÍÖEq±Ä¦³±;6~¾‹ÖÑ&'7ÜlDFDÞ’w[d8QT ›ü¯Î3ÂC K29¸àjo#2<õ6 ¢"¢oÌ»›ò§õ;"9ƽÖ_‹ V’’À£1k"‰Øc¯¡eå—xz9–<Íÿ:õ§ç®™m³¥<—¡…BÞù°à“Î{íÈWÀSä9‚ÓÒYDDä?îj#ç\¸ÞÒ]×Wg Ö˜¨´¯‘EDDD²ˆ‚¼""’iŒøh¢¬œXúßnM=«ARÔ톂Lc{iÎ5‘+—S†ã¼F\‘ñfŠäqÃDtŠmš]óàJ‘6 ýH‘CL¢™|®.©¶aÂ)—üdvùEþsâb‰%×µÞÿYûÌ”Ëb‰Q@Jy x/žÂ’úcèôA'vÏŽ'>yŸ{뎜ˆ kÚTwü—ýñil®O<žøãžx§ùÏ3"/q!Ì‘ Å<0qåæÕ¬]aŠ5¸ËŸ´N£""""YEã׉ˆHæIôâбJV(JÌe?.ù%ÿ\æJDÂ]lÌ &:Ü\qMÑ5å¥B…ü?%z±ÿhåëÖ¡PŠÈp.jÖ{Œ\—âx‡`SÂiŽŸ¶Q¾V ò&߆¹ U+ç»™—L-¿HÎfµÚÀb}òyþP€b…³¾¡cá¢ä'ËŠH‰ïÍÂÉ«¸XüU>nW:ÕÈÌ Z» _÷f¼Ý¥2.·´¢²§Ä˯ӦdWî&B=”DDäQ•äÃîýQT¨ÿTŠ{KûÒOS¿hû÷û¦3"†ˆˆˆHÖPWDD2Âæù+¸T«ßhC£å(S¶<ÕŸh@ËÎm¨—ÿ.ÆYÆŠ÷~O¢Ê¿@—†Ep2ɱwx—•ŒŒ÷4ÂØ2og*ö`xÿæÔ*S˜"%*Ѹû >in°mîš;÷J2øã·D=ùCz6¤JñB-ó/½;€e’ {™©åÉÉ B}} Ï]‡Ö¯T¥XÁBËŸ ã²^a¹¨\µômúÎg åªUÀ>ȇ“ÁŠH‰Ä_Ì„U—)R³:SÝ&z/aôŒ£è8’©C_§Õ3S½JjÕkF÷OÆò¿wËsfÎ8fyªk¼ˆˆ<ÊâØ·ô7N–ëÊ—ïŠÕ‡ÑiLDDuÖ «ùj°¾owæëÉpŒ àäι|6s-lÙ;yÔdf—¢Ûm+­e¦;LgäÛ”Á_ÿ˜SM'ÿ$Ÿgwís}Ú’lÚ ØŸªß¸æmÊ,"òÐ ¼âO‘â%³;"ò²”ïÆôIÍ8öÕ;Œß›¿`Â¥Þ‡ÌRŠ•ý°ÀWƒæ‰ˆˆˆˆˆˆˆ<¬vnÿã0ð!Øëµï¤dÓÖdÓ6ÀH6|ž‘j:ù‡ þ;#ß·›¾Ý¼Œ,Ë0õ䑜˹_ÎíG=û´Úð_3Œ>³N¢Ž|"¤Ó+øqS†÷x…å‡Ã7³+¨}Ú÷h@ìú,W€WDDDDDDDDþ£ä‘œ+v?ôëÏŒ4$Å„*À+ò°1¢Ù;c4ZפhA ¾~™[Kí &~ûd†­ô$&S·,""""""""òðPWDDr.#ŽÐ+qÙ ¹[1§ùã×ÓY²éÄ ;Y´8K6-""""""""òÐ0gwDDDDDDDDDDDDDD$ãäÉAäÉAäÉAäÉAäÉA,ÙÉ®®®Ù¹êÉ+"""""""""""""’ƒ(È+"""""""""""""’ƒ(È+"""""""""""""’ƒ(È+"""""""""""""’ƒ(È+"""""""""""""’ƒ(È+"""""""""""""’ƒ(È+"""""""""""""’ƒ(È+"""""""""""""’ƒ(È+"""""""""""""’ƒ(È+"""");ª¾ñ+¾kC‰,¿j5áòØëL7œv%-W=o%^ê5€ñ?ÎdÙÒ…,ý_•©ò IDAT÷iFWSªuÍxÔhÍÀo'óëâ,ýù;F¼ÙˆRN7Ó9”mÇøùcy½r®¬.ˆ<â~Ìòå ™Ú³2Ni,·¯ó‹ ‘cê%vxTnÆ[ŸŽàÇÙ³Y¾tKæLfüà7hõX~ì@ÞEEŽ ?fùŠÅ¬™Ù›Ú·ÔËkLxeÄ|Ö¬ø…»—Ã3ÅÚ~ÊYoRÓ’ÖJN4´€åƒá’ü·– ¢Ù-ç1ɉä‘leÊÝ„/ÿ׋êvf=‘49V¢sïç°ý>—Õç“À\˜–?£Cé`¶/ø_|2ˆ!ÓvWëuF|Ô”BÉžÛ—m׃[SìÌJÆ Â?l&¼æ›|Ý¿>ù®¥K8³–™›-´ìÓŠ Š–I–³£D‹·èR%­0oZ(ýÒ@&ŒìA]‡S¬ÿù 6ŠÑÓW±?¶¿͈våqV\H$K!„º=Åsµ]H«š™‹5 Y¥h‚Bž7É^ºï‘ÛQWDD²‘‰ÌIß xí]ÅÄy{1ÕhDÝ×ÃçâÉW_¢ä饌™¹…C§}ñÞ¿I×Q§­*\"ωµ9QøyÚÕuKó!¾Hf±úíä“´ìÛžªˆóZʶf@¯ê„­ÍGßÌcõŽƒx;ÎÁ]›Y8áK>›sŽ2ß§{õŒEänqGÙyÈÄ“MŸ$Ï-';Ê5y†b^»Ù¦ ¯È£E÷½"""r{iê#""*;ª¾1‘/\ñõ‰Êto]— ùsA”‡·.eÖâ}ø']Ok"wÅçéÚ©9OW*Ln»8ÏdÓ’E¬8LÒµ4.eŸ¥{÷—¨_±(¹-ñD_Æ{ï:fÏ;LÑ^Ãùä¥â¸˜M|ûÛ‹€•óK¿ ÿ/g±¦—E“ uÞLc½eÿcKµ÷hôoÿ—èdÏÀ,å;óÃèg82r [Ÿ“ñòU~ž]_¤^…üäJ áÔî Ìž»‘“‘zÀ&s1:ŽC« x{ò~b“-²¯Ò“i#ž`÷ÐÌô-FÓö­y¾vyŠÌ‹‹Áù£ÛY8ó7öZ¹z\™À §Y¼·Öî½ÛѸ¢!k†Ñoþ)¬˜ÈS¹9Ý^{žº ãfŽ#ôÊi6LýŽ¥Þ6 «™Bõ:Ó£Ý3Ô,ž»¸@¼w¯cöœ?ñ‰¹ZMÎ¥ï= ¨ߨxþÈîð›õ;)*’$RŠ'†¢8;š,å©U݉Ó+ösÅv3]Ò¹=ì¾Ò’ºO”`ž·/VÀÞͶcÝèÓø rÿ³pJ$‹˜ìÃÙ6ã7ŠŒîB¿×öòñ\/âÒMíÀc/>GɈ _t‚¨[þ.8¿akŸEË—ëðËÑ¿ÑiP$s™,ñÚº4¦aþí¬ LVÉì+óÜ3î^t¨¶Ïe_&E„q¿,"""yED$®õßæCÇ_™ôÕ|N†‚GÕé?àCF¸Œá£Gˆ6À©bG¾þ"ìø•É¿'À–‡ò ÚòúçC)úÝ—LÞŽáø½¿Nå?3nîI‚­Î(Y‘jn!„Y£ñÿù > ù’‰/åë÷çq, l¶¤Ûß°ÑHg½ÜMÓñÆ™N˜×®(U+å&îØAŽ¥÷7i½ÀAÏ:4¬By»¿9˜ºõƒˆÜ³™xÏíü1˜çaý2?®·Êõx8à‡½ÑTí­¹à¡¿_‘GІk‘[˜ðbùŒMœIÀ0>¶†É àþl º›À”—Æ^¦˜Ï"¾™¶‰}§.rþÌ1¶,øžÉYx¶Û‹”µ“kaŠºEqâŸñ½Œß…Óþg¿lxŸ<ÄÖµ[8qóX`v `ý„™¬;p†‹—ýðþw9³7]½æc”½1ò½çÃ\¤$%,aøž‹àvG S¾ôhY”Ók×ã™pmž³3ÎÄgK•:˜Ø$ì\\“½ÇÔ øÜ"‹Sº°.Ã% ™í0cåüº™,>SVï´KØf“;ùÜ!4(ä–žë7Ù ÅpñÀÃIƒ‹d‰/6ï tãF7Ïm&7ê6­M®mŒ½íÚÿgï¾££¨6Ž?›ÝR -ô"¤)Q.(/"EDAP{CEÀŸÁ(`C±Ò;HGz‡ …!$$!½gwÞ?@I…¡Œ|?çìÙÉÎÌÍÝ™-ó̽À t«ÿ^·Î.rqœ=®àl}1ŠñóÓ kuÕ®j•lÕU¿¶MÁ»ö)2ÛbÉ:°ýRÊÕSýRçvkõ.©ý›ÿÓ5SÍâ×9MÞ§U›ãU»mKUºð çR¿…î+v\k7œú÷Šç‚l_£ºÎ:±c—²\&m P@²§jÖ,Ã(n FìN­Ýk¨Q_¿ë¸7n¡¦®Z³éŒrÆšÖRLt¬Œ"ET$KäˆÞ¡»â²‡¨¶jçßKvìRxÞ…_7Ò_~YûB–C±çâd¸ºg P¯¾Nżå­X»ÄX‡·ZêónÕ þM_.½Ø‚ÂÈqŽ˜sŠU1•ðæ]7@æ)-üvŽ—yH/?QKçsÞ|vV£ '9¹ \vmؤeZª}óß™-%š©}Ã8m\{Dé7¹v.2íïeðŸCwÍ€\ŒŒt¥ç<‡›’¬•»»U–¢òt6”Ÿ˜ëT¯#1A‰ª./w'ɈҺ/ÞWXëŽêÖ±ŸÆõ~N§w®Òo3jkØõè§4]~k6êÌ­tµEšXD[5‘›ÿŸÚîd-Øö¹xÉÓŪj=?ÑìY²Èæâ¤HwW9Iù\Àˆ‘ ëw)íí–º¯Ô:-r—oë»d;8C›£ÎDÎ¥êáG;¨y½**[ÌåüÎnrÖŽìEÅÇ*.ÇAcqñ”gCñq¹ßK²­›œ¬ä ’d¹˜Þ^K=äl“Uöó-%ò`q­®îCÞÑÃŽåõùjÎÒÜÑHNR’\åæê$eë<¯ˆÜ\mr¤$)%k±öLeÊ&[–ÖÅÀõ”q|±¦,¸Gã¨Þ;†i¦ad?ÞŒXEÇJÞ¥JȦà|º€tRñRÞRÒIËp_×ȺYkUûhºß>•lÕFuÃ6éû`»”×EM—¼æâ ¾€@A™÷÷2ø¯!ääbq÷GŽI¯b*fIQT’]Fj¢Ò-*ëå!‹’²·ˆs÷”‡’”t!E±ÇéèºY¿îOyVmªÇú÷Õ{£KiìëSµ=±ðën?¾A«ƒ:«KÛÚúýŒ§ZûÚ´ïÇmŠÎRÉËn_Z’’2ì:ºà#MØœ³ûVC™‰—êÒøoIÙ·QÇ¿§6÷ùhņÚjÓȡݓw*ÎäÖP?zO÷œœ¥‰ã¿ÑÁ3‰Ê4,òl÷ž¦?ù²ôd%gZTÚÓ=×{I®e/UеÖ#%E©**wWK®ÿdq«¡ï¿§G­+5úã¹òÏ‘6 a sQõò޲쎼¸¶ÕGÊJ‘;#²µ¾²¸ºÉM©JIã¤;n” Λ¦ù÷ŽÐcƒºk×Ì4¥ngÛÃtøh¼¿«‘êºìÒ¾¼Î)[+¨qƒ’J;rX \?F”6­;¬§Ÿi£{fƨJÛJ X=Q§.^«˜ua%&$Êpó’—³”ëË©ÅCÞ^RZX¢ˆŠ€ÂeæßËà¿…~â¹8•ª£;ËeýˆpRù{|U93XGŽÛ¥Ìí÷Ïоå“íÇ­«î¼çN¹FøË/*g€aWBÈ͘²HDzÊV±•ˆÑ–Kµ7,Q™†$ÙT±rÙÜç¢ó,;X‡íªæÛX¥¯a˜Ïk­‡#ꬢTJå|²_ÿhq¯¥žC‡¨›c‰F|4W‡ófíAÚ½?QÕîm’íýÐVÙW÷–×þ}'³·ïõ)«’ŠVD$}àJÔœo—)¬|'½Üµrކ}é:¸jNk£~=jÉ=×±è¬ öQçJ‘Z³t—¸>¸Ž Ånß ]j¤NýÑý¥kÍßQù\èd(ÁßOÇêëþæ%s5ôu®ÒJmª§éà |Zè¸Zfø½ n´ääb¤•Q§Wû+væj:kW‰ú4°GE¬ùD›ã ÉˆÓÆ?©ã¨ž20C?­ðSD¦§j´|\ÏÝohÓÄ ´Kï»Õ£‹ÂöÕ‰ˆ8¥»ø¨~§Vªš¬…g’ Åž<©xÏ&êÔ¡¶ÂwÆHŽ…G§\fÄ¿K­g(fÛmj€ú>QTiÛ&hwò•n_Œ6ü±Dÿ7âxÙK³ÖÒéd'¹+­Ê5K+jÝRíŠæ,7n™ ذI¡Zëù‡J)~ë8í¿Ð$ÈyFaÅuwûVª}@Ñ–ªÑ¬³z4+Z°ÊF´ÖÏY£ÎÃ{kè iæ_Ge¸Ë§J5¹®Ð¦«áµÖ䀸¢jX§’¬;ÏŸ ·¸ÕRÏaCÔ«´¿~ýñ„ÖàYù xÑ%×KÞ¯U[ìjûP¢}u8WuÙ¾Ô€¹úàƒ(õîÕQÏí¥®¥ÇG(èÀýFC^Üf'ÿÖºãj@ÍÍ™|LÿFÌF}3©‚^êÓGc¿(Gb¸ü7/Ð×ã‚õʨª(ÙPÒÁ™öÑ9õíùÞõŒ<­éŠ ;¬y“V¸~×\ÌmÛ¯¾¾ªú[‚ì’S¹»Õº–»lV_õ{×7×*é;'ëé1•$É~z¹ÆŒvh@¿6®¤\R#ulÇï1c¥Ngm°k«®f¾%½k—hV….U~³¦i™ïpu)s^š‚—|ª7Ž·S÷έôèÀÿS)O›ìIçzt¯fúRËF‰?àFHÕuÛt¶mSí]»OI—Ë I~¥÷CSÏÝôúÃ%åæ”¦Ø3AÚ³ô3}¹xŸ"r~ÞØjé‰á#õD¶rÒµéÓ·•£(3ü^·‡ÂììãReå5Ïr™é‚Ü[ ø÷?7§ÓYoY³^¸ý3mË2í$ÉYÒ„{›·it‰m€[VdD¸jÖ©—Ç«ê ˜¨ëþ¥×Þ[p~ü/S²©vßÏôI“-üÖlýû ø¿²} ›­Úãš0¶­üǼ­ÉûS¯Ã°ÈýžAš:¸²– ®Ù§85`.üžàzXµtþ~IoHÊäd¿pŸ™eÚžeú|—§³>fä˜ÎzSÿ.Èý¥¦/õXAæ-y¹Ynâ€?nÍõΔçåëœ×L‡"WŒÓ¿Sæ%а¸5TÇÖ%ttáç•£ÜÌípKÊ<¾L?®k¥÷{wÐâC‹t²°3Xç*êÚ³™’W×^óâ÷$¸Eòn-)»õÝ;š‘ÏïæÌäØ|^+í%W·rjÖ«¿ÚdlÐè5g«@ÁIÚ3ý MîT_e}¬:y¦pƒX›Ò·|«O–ú)ùò‹—DÈ ¸µiŠ‹ŒTÜ•®g-§Žƒÿ§žÕœ´Mߌ›©½ÉD¼®@JˆÖÏ ¹.EgžÞ¡¹ó®KѸ 1&/cò¸ å?&/7cò^=§Â(pcò€‰ò€‰ò€‰ò€‰Ønv7GbbâÍ®¸ ´ä!ä!ä!ä!ä!ä!ä!ä!ä!ä܆lªÿÜT-˜Ð]Uù$na65xñG­žÒSU®û±j‘Ç]/èç¹ãÕ«ª-ÛçrÍõê׳ô×´~ªmÍk]'•lÜCÃ&NÓ¢% ´|ö©îpµ\ñrEjôÖÔy_kà®…¾…¸=¸´ªU«êçw*¯½È¹Ù[Z¼d˜ÚÍ9Ǧ’wvÔKÿûT3fÍÖÊåóµtΚ:êEu¿«´œo@Ý@ÁqjpSYŠ= § R#Ûå—-<Å…ÕácáJ4näÿ½´›ó\$¹ÔSßW;ʱä{Í É¼ð M>MûëËI¯É·hªò{»p®ÙSz\•giä›oé­ÏV(îî—ôéàÖ*e¹²åÒçiòJg=öZÕ&UÃU³ªò£/ë™ú½X ˆªw®o?{^-\ŽiÑ7ŸjÈ»ÿÓˆIjGJ]õ3QŸö®-·œ×-€›†pYäÝ´¹¹ÜèÿëЩ4tÊߊºeBÞ›õ\,*Õîq=\r¿æ, TÆ…G‹Ô}Zã‡Þ§ˆß׈årä¹®›î{¼›ªüªQ“Wiw@°üw,Òøq ׬º×¶]áriò›·P~åVïž"SÃÕ°‡nÔr¿Rzìõ'Õ 9¯sÍ'4tP#ÅÌûPƒ†¯?×íÔÞƒµsÓ ý4v°^û÷}GÏ5¢…9· Ú ²°©Á‹ßi´Çt ;t§ž}¼…jû¸Iñ§´gõošúË6…ýÓÀM«ûú÷í¬–õÊ«˜5EgviÙÌšµ;R™–q¯ÙAÏ=ÛU­êV”·5MqQ¡:²m¦~¿G×ð®•åádÑÄå]$Ùòë›zöç Ù Pϼ~Ѱu5àñª[Æ]ޏíX4M“–g¨mÿ§õÈ}µTÆÝPüñ]šûÍTÍöK¸Ðïüú_4X©ç^™¥Žk-ïÂóqgg ìßE-êøÈ5=JǶ,Ò7ß-–_üe’d‹‡š½”Çsñû§ZÕð-õ:û¹ž»9[«c[ígôã„ûµoØKZÝô«‚¿fW[GÜ~œ*驯¾R÷cÕgüv%g™å\ÿyMÿ´™¶¼;H“ƒ+«CïêtomU.SBFœBö¯Ñ“ÕÖ³v?Þ¾Õˆ¢“Õ~q=ûê“j_·„¢çÑ€iGe—EÞw>¬OwRóºåTÌ’ªsáZøåGúÍÿ|¬jØT®e?=׫î®â-kJ„Žü½@S¿[®£Iç÷]‹{õ«¯ÇçÔª]#iÏýsñXH?2WÃ^œ£°°dU|"Ÿ¯Í¶Zòm䢀YÛu&K œ¼E[Î<¦M+ë‡#Á²t9IFÔýuðY½ö@SyoøK1ž¸Bçýõõ¯ª0±¿Þ~j«^üþ°Rò]ºˆwþ?U[«!¿RB®ý-]!‹~ÔüN_¨{·¦úyÿzñ‘ÀÍGÈ ÈųÍ+z¯ètçù“JÖï¢ÁÇh¼Ç½ðõ>%RѺOéÓq]¤uÓõéÏa÷V­¶½ô¨OT᣷õéÖXEïÒ ‘Uo×·úè;?E9ÜåS¥ŽzEëœ=Qaß¾©W¢Æè»nAúÜ:iȰg^&à½È£ÕKl¦OÞþ^GãŠèއ^×øW?Ð÷]cä?g¢Þžê¯hK9µ}e¤†ï¯ã&iGþg¹¯©<—Ú½5nìcr^ÿƒFM9¤sîµÕmÐ ?ÂI/½³@'.µQF¢väó\x=Ø^}^l¯–ÞkÅ¿IMuîo©r5þ@š,M öš]Sqûq„꯿Žèé§Ûê^ZÿïUEÔ°} •]«U‡3dØÜTÆ'Q[›¨ÉA‘J/ÙDýß~NÃ_;£¾¬V´!IyVﬡ#Ë)eÕL}ôK”âÏž”C’ë}õÙ¸®rÞò‡&8¨ðtwU¬UJ‘a’΀ëT±³^b›fýô‘¾K‘{Õ¶zîõ4ÚW¿ {”"Éȼ†z¸7S“:ýî`ö€Ëˆ×é0Ir’,y·©µx•W4>}.{wÎöp…†Iå+WP+µ€Ë¥H’§}{‚e{ê.ÕwùK›R¯ñµÄíÇÙY–Ð¥šðK MðŠúmy[ßøåóh­¤†õ¼”²—ä·¯ÙOh×ÞhõiÓ@µ¬ëµ+3ŸåÀ CwÍ€\,òד—êPtº #]QçéÓ÷©x‡ÇÔ¶¸E²”Pû§»©òÑú`ÂRm?zR!´jÚÇútUè¢VÉâQ^½ä·~ƒöŸVhÈ1íÙ°H?/öS²$GfºÒí†d8”‘ž®ôô eØ Þ<ÈbøiöÔ•:“!Ñ¤à• µ>ÒU^¡ 5qÁaE¥2Rôáϵ:áU_wU±^Ÿò,ÞjÛçQU ùC#'®ÐžàP…\£¯?_¨ðºÝÕ£q‘ËnK~ÏEô¦•Ú’ÑHÛø\ì¶µÈz U)\»Vþ™}Í®½Ž¸ÝŠØ°Vû¬Mô`S¯‹ûŸk#=ÐÜ[AkÖ*Ð.)í fŒ™¬?Öï×±Sa Ù·Dß. P‘:õT=Ë!g«YC ß¿¯Q¿®Ó¶}u8,E†¥„*ûEC?™£u{Èßo·VÏ_©}qß œŠ†kÑ'“µ`g€Nž•ÿß¿kêÒP¿ûnUÿ·—㫯‡S…*ªb;§àãñùŽ»›‹»›Ü”¢¤äœk¦+19SVO¹Y ¾Ü?Ï}ÔñŠ/ZYÕÊñuWÁÉ*«2²`²f”Q÷7z+ßáy-ÅU²¸t.2Zùg·vE='‡g •,J'âÜ 8kÈŨÀ¸lÍÙtîà·ÖT½êVɹ–×sVà¶]:›m±$íÙr@)¨Qi‹ŒèíZ¶Ý¢Žï¢!½ZªN ç­çÙ`fí3Ò‘¤„$»¢ƒO(6ËÃFR¢å&w·KŸ˜¾êòlµtwƒ":¾u›B³´†µŸ<¢#I^ª]»ìÕà&íÖ²õ±ª÷`[U¹PˆK£6jé¨UkNüÛêù²¯Ùõ¬#þ³Œ˜­Z¹ËÐÝ훩ąÝݽI[5w?¢•ëNç3F­¡sQ12ЏÈ%Ë!çˆÚ¢%Ûb³‡¨Î5Ï¿—lÙ®°¼ “$Ù#ü´?<ëÅDÇÊps—{þµ/p=œ¼KÈ[1ŠŠ¹D%òÿ7Yï®}¹ ìç¢#o•,Α‰kyBs&ÍQ`¹®z»O]½Ô²FA÷NújàV@wÍ€ÜÒÓ•žónr’’UTîVYŠzʳˆC ñ ¹Nõ:┨š*æé$…Gjõ˜×Ú¾«ï2Pû½¬Ð­Kõós´)4íÚë™–¦´\çš efdäy :ŸÞV¯¹áÂÊöXù¯š¡Q«~•Wµê9èy}ø™>|îKýx#7êú1Ò’”˜n—ÿœaúd]ΰÊPf⥺À¼<{Ð-;ö˜º?PW?ŸöR»¦ÎÚ=õoEfýG—{Í®sñß•¼g6ÄPûÖeµè¯zjßÄÐöÏ·oÝîv·^ýìCÝ2CãFMÔþÓ Ê0,òêð¡þ|åòeéIJÎp’§G®÷’\Ë^ª k¬‡RS”"× ­ó¯,è5NëT¬‹jV(!‹".®m-«Šå-ŠÜ®´+XîWw¹+EÉj¸fé:6k²f7§^¯÷ÒöÓ”–µ ¼ý”úÇ«ïݪï²M»óºËZIM—TÚá:ÆøíÜèÿ ‹µT=5*Ÿõ#ÂI›6Õò ²KGµûPºj4õU™lÒ\Õ¨YC¹ž9¤‘9ƒ»âƒ7ê‡/þ”¿G]5¨t¾yšÝîlÎ*ÜŽœo°Œ£Úç—®Ê5Ë+ùL˜N‡e½QD|zŠÉ÷¹0µfù~y´h¥fM[êc§VnËEä5+Œ:â6”î§•ë"U³U ÕkÞJS¶jåŽD’lUëîRç´qöBí MP†!I6U¾£¼ Ô5=PÙU³™¯|®a˜Ïk­‡ýl¸Îª´*”½Šë3´}w¢j6¿7Ûû¡sÕûÔ¼|¬vï9ß2² Ë]àR¶¼J)RgÎ’¨¡¤Ó¯“*´â#z«{Õ=3§kß’U ñ~@Ï?YGEgUêôŒ­|V+lW<½5pK %/ #½œº¾3H1Ó–i_¸]¥uÓ«OVSøŠµ>ÆŒX­1W]?ë«‘¯¦ë›ÅžYLµÚ>©—;Z?n±ŽÙ%Kñ{Õû±2 ÝuX!á±Js)«ÆÝÚ©ZJ€þÐË¿ä7&à­+õÈïzgp¤ú=ÝY/ê«RnNJ‹ WÀžÕú9£`e\ò¹HÚ£¥íz k‚þüì€rö¦Y׬0êˆÛ“#dƒVöÔ :gôëçGôÏîbœ[«IŸVÒýhÂî2Âuhý,}>2PoV­%JÚ7Mo‹ÒsOwÓO_—5]1¡õÇøÅ®ß5×#Ó_›wÄ©S³¦ªöó1\áýÔ"ýo¨Cƒžï­Ñ“JË%õ¬Žl™®÷~X¢SŽ+_N¶jÙ´¤¢·mÓQúQG¡IÑ_¦haÓÔ½LÎyi œ?J/vP¯îíôÄ«ËÇÓYö¤h8¼S¿¼?F‹öEŠ n×Ð1Þ••×<Ëe¦ ro)àßÿÜœrLg½e}ÌzáöÏ´-Ë´“$gIîmÞ¦Ñ%¶nY‘á*W±rsljðâwú¢þ =÷êlpä±n›ê>7E“šnÔKƒff ¡xÍ€Â`«ñ”¾ø€üþ÷¢¾Ørkb‘{³74}x-xåmÍ 1Û%/·eÃêý’Þ”!É!É~á>3Ë´=Ë´C’‘e:ëcFŽé¬7ðï‚Ü_júRd^Ñ’›¥0¯ºBn­õÁôWÔ,ÏAz _7ó5þ2ƒæë›Um5²ïÚ·ÿO…ܬ7ç;Ô£o ¥,¥y¼È!/àÖ’²C_¿òª¾Ïs¦¡Ìäs¼Ò5l“‹Š—ñ–«[µè;HíÒ×høÊpsW ˜…‘¤ßÕ—Ý©¼M!a7çÆ¹lY¥m˜¤ (ù¦Ôf@È ¸µ©Š‰H½Ùµ(\W»MÖŠêZsOfÊZ¼¶:<ÒY6­«*%]åH8£#ÛWhƯkhdY×I%tÑ€>íÕ䎲%‡Ëó"Mûu“N¤ž_®HµîúddSøøCý|$¥0* :—–oé÷·š(|áh½5ýˆRsÌwö}Y¿¼STSú~®iYçXU¢Îýz¬kkùÖ©(Ï"ÊL:§Ðcû´~É"-?¥Œ¸Üš.ÿàF¡%/—añj«¾ê¯úÖ›]“Âñ_ÛÜ Å‡êhp„’ |nëjÖ9/ß}Ø¥¶zl/ÇÊéZt2Sr*«.ƒßÓãU£µaæWöÎ ŸºI©w=£Qo¶SËÅU«=ª†vS…à7t¸†}½FqžÕèW›«ä…åÒƒ—è‡56uy¡«j:_Y˪JŸÓ“u‹pù"ªúÐ`}ùQ_5-¨e?}¥#Æhì· µ;¥¶zÿo¬Fu¯!7ËåK࿬ ßnZòpIkrê»DiþÍ®J¡ø¯mnãr)¬C§×LÕ¨+*ôjÖ‘ò߇-*Ñêu(~Hß-=~¾Å¡#\Kƾ®UI JþgBNi‚sUM{£µš–^«Eg I®ºç‘‡T9hŽ^þa­Â’¢‰1^š0öqu­¹M?³KJ“ÿ’òÿ¿'Ô½é2Ûœ ÚkàVdÛ¢õ1ÕePm{o¦çlΛƒ­Z7½Ý¿¾bѰþºØÈý°önݤMïjü3¯éécïêÛƒ—) €ÿ¬‚~g¸1y9XT¬N=ÕóA5­UVžN©Š‰Òò)Ÿiα IyÕzP}zuÐ}µËÊËšªÈà½Z5ûÍß­LIç»x á^³5Ú¯–žêÖTµJ»Éˆ?¥ÝËÑ·eªeŸžzøÞêòqs(þÄ>-úñ'-8òO`r­ëŸß¯:ÿ§~}:ªYÍRrÍ8§ÀíËõãô:’`dùs4úPuõê|¯ê”ñ5=ZÛ—jÚÏ) ÅM¾ÏŽÔ;U”»“EŸüÙQ’]'ç Ó«¿×徯s鬿oOÓ;n?©ßGëÿïZUµçX}Ñr¯Þ{ãwØoÄöàvedH¥š÷Qÿ­Ô ¼‡ŒøPí[;GÓfïVD¦”g·Î.ÔæÉ¾z¼emUô.*«“Eÿ4nÈ<ö«^~©Š=“uk܇OPóÖwJ¾Ñö¸‹ï™‰ Ž¥‹Òâ┬òrs±H2$[ ÝU¿¨‚æïVD–n£3OìÐöˆ.jÚ¤’f ‘]’½]ëýžÒ mšÈëïõŠ#åÅ-Èâ§õßÿ©rcŸÔ+=wê­éGsuÛ|Q5ìØ^•ã7iäYÞ¤ëäò™Zòàuéä«ßmVû=àvtßnB^@6EëôÒèÉyç\}?î°"ÒÝU¡F E…ŸIŠÖzB£Gv”6ý®I¿ÖYG1Õhñ˜žyÿC•ÿìMÚw!hµÈý¾gõªu¦¾>CñΪòÀ 8X“:Åéè‚o4lÚ1ÅXʨåóCôöà'uò•oµûß³Ð×¶~‘Ý5òÃβmž©ñÓ+Æ­†:õ﯑ï9ið‡KuÊ~ñ¼å>O_}K#ÒäZ©¥^ú‚†ö;«§îמŸ†éshÂCÇ5úµòË”ŽÌýp/¼ç² ®ïöàöåT¹³^yøoÍúñM‹²Ë»Fk=ýì›í>Noþp0î–]Ô¨ï{z½‘¿&ŽxY›C3Uªq½÷N{%þ1JVŸRŒC*–ë?]Ã>ìÖBjZ0ýp!U¶­QÙÚµT­[²Vã ÉR\mzuR…€?ôñÔUÚª“Á~Z;ósMÚhÓýOuTµ,cdZG4ÚÄfÈp$+dÍ2mŽr•ÇéåúféQK7d¤…ëïE›tÒ³®VÎ>ÀæU¯o)¦VOtV•“ó4´?$L'oÔ÷“—élí.êVÿâ`šhÞ7‹´?"E9”tj³æ¬9©bê«ä°§+ÃnH†CéJÏÈP¦½Ñk!?—~ ¯×öà¶æä®e“¦kÕ;%¿¿iüL?o×Y-½ó|ÌZ]Íî)¡ÀUsµñT’ìFš"öÎ×Â6ծᣤ{¾0\í>l-WY•l± 9É‹#,%[¨o—ò Z²LÒ/<ææ&7¥(9Õ‘cét%§dÊêî‘e,RCÑ'N)Á¥¢ª–å«4nQNV9É®“KЬ`u}±»êå7<¯Å[%½¥˜¨s¹Z½_äйÈî%T¢(nOWöàúãÌà"[5Õ¯mSðŽ]ÆÊ9¿úùù»ö)2kŠb$ëÀöCJ)WOõK]üUëˆ Ññ¬}:ÉJL¶+&äd¶.Nä$%ÉUn®Ù_õú¶êjT×Y'vìRX–˨í¡ HöTÍšeþýtD)06ÛÆ(1!Iru—ûµü@/äç² ®Ûöà¶æˆ<*¿³YwdC1‡鄵ºjWÍãj‹U6›dÏÌÚŽÁ!‡CrrrÒ¥vū݇ŠyË[±:›Äkq«¥>ïöW½àßôåâЋ­,Œ÷—áˆ9§XS o¾Jã—yJ ¿] ãeÒËOÔÒùœ7Ÿý²coÿ»`áÔ ³¹ÂïŒ×Ý5þeqñ”gCñq‰yþnµõ§³¡ÄøÜó‰ JTuy¹_ =Œ´4¥åQPFfFÞåçøûj×·¸xÉÓŪj=?ÑìÙ—°¹8)ÒÝõß×HMUjž…]["ZØÏeÞÿ$÷C×k{p{3R’”’s¿JJR²ŠÊÝÝ*ålÿgÒö]qj×á5Ý󫶇Ûå}gg=Ü Y;§úëR=_õ>ìl“Uöó­|óZݵººyG;–kÔç«u:K•/^(â$eë`¯ˆÜ\mräÜ~{¦2e“í*ZÛ7ZÆñÅš²àl z蓮†‘ýsLjUt¬ä]ª„l Χ‹I'/å-%Ô¹ü÷à?튿3\g„¼€éÉJδ¨´§»,JÊ>©‰JH·¨¬—G®ùNîžòP’’ºÙEiIJʰëè‚4asή[ e&^ªKÊBªC!>—ù'p-Zô’-"ÂbqsWކö²xxÈ])ŠJÊ#2’µûç/4{Ø0 ™ÐR©v¥DiëOc5s땎5]0FJŠRUTî®ål^aq«¡ï¿§G­+5úã¹òOÎñ®¦Ð8U/ï-ËîÈ‹k[}T¡¬¹3BéYËsu“›R•’×U(À-'Có¦iþ½#ôØ îÚ53Mi†ÛÅÙö0>¯Çïj¤º.»´/¯«0¬Ô¸AI¥9¬@ܦ®ô;#ÀõFs€‹2‚u8Юj¾U:¯ô03@ûý3t‡ocùd›ïª;ï¹S®þò‹ºBÌ@<’¡JÕË*%<\gÎd½E(2!㊊³Û’³MÎW’¨Úsi(%)YòðÈÞU­¥¸ªW/qUäWµ=¸­9•ª£;ËdÝÛ,*Ù°‘ªØƒä<ïÄÇ¥ZKÝ_|‡Æ¾0@½ž~Nýß«ïÖžPr!¼Eäµ;¢Î*J¥TÎ'û5Œ÷Zê9tˆº9–hÄGsu81 ؃´{¢ªÝÛ$Ûñh«ì«{ËÆkÿ¾“ÙÛjø”UIE+"2¯¾Ø[Pz æ|»Laå;é宕sôÌœ®ƒ«ÖéT±6ê×£VÝ¢;«Âƒ}Ô¹R¤Ö,Ý¥„[àc€›â ¿3\o„¼€‹Œh­Ÿ³F‘uzkè ò­YYUkÔÕ½íV«*VÉˆÓÆ?)¤zO ØN «”Q™ 5Ô¢çzí~C›~_qk´ð1b´á%:Óàx¹³š×«ª*U«©^£¦êØ£³|K^Iºi(öäIÅ{Þ¥Nj«\i•+ézù´…ö\Ú¸ÏOIwܯÍʨ¨E²¸”RƒnÏê‘W3ÔUnnkŽT=ôZ?=Р²Ê•)¯:-ŸÔàÞµµz‘6ç9®E•ª¨´“³JT©®š5ª©Fµ*ªTÚCÎ×\›¼÷a#"HqEU«N%ýÓ‹²Å­–z¢^eŽjáŠò¬ÝHMîjüïí®jÅ/,›¦½ ) j½ólkÕ¯ZQÕuÐ+¯wVé#‹´È/ë…!VÝQ§šœ£ƒMÚóH=:OS–E¨lýº*ãW`Fà}1Ã_%ªÏÞí­‡îk zµj©á=mÕëÕÿì ùí+ýâw©ÎÖø¯»’ïŒ×Ý5²0”tp¦†}tN}{>¤7F=#OkºbÃkÞ¤’¤ô ùñ¿õêÙQo~<@Åm©Š Þ¯•ãGêÏÝ1×¥Ö«‘0W|¥Þ½:êù¡½TÂÕ¢ôøØ ß®ð·wúÁyúj~ ìý¦öKÓñykð¬üÆ-üGa=—†·ÿ¬1¿öÓ€¾c4óU«2’¢tlÛb}þCºF m{âÕÁ×WU R]r*w·Z×r—Íê«~ïúæ.gçd==f£’$ÙO/טÑ è×CÃÆ•”Kj¤Žíø]#f¬Ôé¬ vmÕÕÌ·„¢wíR L%U~³¦i™ïpu)s^š‚—|ª7Ž·S÷έôèÀÿS)O›ìIçzt¯fúRËF‰S×€Û]¿3Ü…ÙpçReå5Ïr™é‚Ü[ ø÷?7§ÓYoY³^¸ý3mË2í$ÉYÒ„{›·it‰m€[VdD¸jÖ©w³«à?É¢bÍ^Ô‹kåßjÑá(¥:$YœåQ¶¡žò–šûÕ€oúØØ¶jkÂØ¶òó¶&ïO-äÒ%É"÷{iêàÊZ2x¸fŸ"師–Îß/é I’’ìî3³LÛ³L;t¾ƒCGŽ›‘åq#› øwAî/5}©Ç 2¯ÀhÉ À•rk®w¦Ý¾IÚ3ý MîT_e}¬:y¦pƒX›Ò·|«O–ú)¹PK® !/WÊHS\d¤ânv=€[’C'~¡1–^z¢ÿpõ(ë%K†’cÏêÄÑýš5bŠVÍ{$ßB‘¢õsC®KÑ™§whî¼ëR4pEyP¸ìÑÚ3w²ö̽Ùþ›œnvGÈ &BÈ &BÈ &BÈ &b»ÙÜ)))7» à*Ð’L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„L„þ¿½;¶¬ªïþ{ïÕ€UE!-ÔØQA j0Ž­im5´S $&!N8 @·IL'j4*8àJBÛ`޽´B&eÅ6dÁ¶‰1 ( ¢ª( ª¨wûê¶ç:ó=çÞsîû|Özëž³÷>ýçÖ«!½yg IDATµê[¿½DÈ 0 B^€ò ˆ`@„¼"ä!/À€yDÈ 0 B^€ò ˆ`@„¼"äÍ7ÊÙº!£«@È 0 B^€ò ˆ`@æ1äíjf‹<@»¦‘ÁÍ]¶7!/ÀÜò ÈÐCÞQL^^]çø¹+倘ff×FÆ8SCyV•¾„¼³NÊg}} Ü¬s½Y_?"úòP÷'²R÷^$ñ°ÊÈî ydH!o•d¾hLÓãý˜ž¦™]Ya/­™õ 0wîÜ1ë[˜VÈ;Šˆ…†cëÛÖõæÞÒ’ÿçÀ ÔÉïÚÈúÒç˜öõK iºæ±ºL“²ìÁ ‚`r]ärÓÈgjµ•qRÛE¾‚]˜ž:ùÜ(ãgÕb%om/À¼ª¾0%uÞºç›+óòNëAÍõ¦LÎWSŸ§k.šJ¹þIŒ""F£åŽN«B—ÁkÙ¹'ퟙ>‡¼½·´Ô¯oÛm·Æ–ƒï;wîœõ­éWJ9;“Îé ´#/Ÿô­*ó´&oо0UÇåêdp²¹„Y†¼³œ_»É±¾8Ð.rº¾f’™‡JÞ:eÙuÆe7¯V…w½ã­ñ€ûÜÖéÚÊåêæ€ƒ6!oUMÖà2´åIO|B|ôCgÅK_üÛ±nݺ..!×+±fÖ7ÐQD,T7JlW9`ÕXºÏ#âY¿~L<ëÉGÆCÚËÛ®Ë.üëø‹ž[·}.Ææ‡=5Ž=æãý°xàûÅhÇã[ÿü¥øø?Þ°;÷üû=íMñ¹7=9öùëtW|ù­ÇÄ›ÿqG¾âÌxçQçÇk~ç3ñå*w½&yÒ‡âOŽú|â'ãÚÜc–â°ãÏŒ3þý?Å«_ù±¸zO•s¬Nk×®ç=çYñŒ§?-òGDÄúõëã¥/~aü§_|fœþþ3â+}uZ·3Šîª|cCÞ,Éwü넺s÷à˼ëoÓßfüà†g}+À,,>0ŽùãSâØÝŸùà»ãòïþ8F?.Ž;éÄ8íàQ¼üõçÅ£ˆXxüæï?{åyñ‰?ýD\{Óm±pБñœ—¿ÿrWÁuv_û£³â¢;m£=qÛuwGÄBÜvÝÖ¸lý qûªû- ÐtŸxÏ©oCyhfÿòž=±{w~ÁOuÿE8ö®ŠQZÈÛ¤â¶neoуŸ‹9º«xÒŸ9úçâŸüt|ü}:víÚ5ë[¦iùú8ç/soß;Æ¿õ®ùn¼sí¡ñé7<#ž¼å ñÙGw]gôò¿¿sm|ûΟŽÇœö„xÒ!gÇ¿\~wÁ…në¯Ü—mÏúÕ:ŠïŸ÷¾x}‹o €êÖ®]ï9õmqè!o¼1Þyê»ã¯\—|íâ¸ë®»â/Îþ`|ø#‹5ëÖÇúõûMr©ª]—•»ƒÊ‡òŽu=½r•/Ò\éY™=Ðwoßéxö®[n‰ñÀذßBŒ®x÷Z³qSì·Ç¶•æXΑ5õòBðˆçÆ /{n<ùˆ-q¯]?Š+/üë8ó—mËûÕ¼6ø”ÆI/|zý3›ctë÷â’/~"Î[ñîbãÃ~)^ùŠçÅSþ ¸÷ÒqÛÍ×ÅŸg|à‚¸n’·0PÏ}ÎŽC9$n¼ñÆxþ±/ˆååˆ ›6Ç—ÿá‚xÇ©ïŽ[n¹56lÚ Åv³.Àdî×§7=¥òBN_Þ1uŽ«{_=Üã_ú¢ˆˆøÐ‡?ÖÕ%J̤͠ÅxÀ#÷Ùvu\qCv깸þÀxðÑÏŒ—ü¤ØvÞ{ãÜïµ›Ž®ÿÙãâ½ï96Ö|ù¬xËûÿ5nÙxxüʉ'Æi§,Æ«^{N\»ÏÚº ±ÿãNŒ÷½ñ)qËßžpê•qÛºÄcŸÿ’ø½Ç ÿ¶wØ~GÇ«ßþªxÄÿ9#ÞöËâæå ±åÁGnþqÜ"àV©güǧFDÄ©ï~o,­Yk#"â5¿ûû±ÿæÍ±qÓþ]\¶­l.}޲ý*ãz÷)äm[Õ`¸ÎùæÎËì[¸ïÓâ•Ç<(®úìiñÏ+ÖÙ]ˆŸzöÛã“¿st¬_XŒØý£øÆßþY¼þì‹ã–Òßœ ±¸´KK‰£åX^íûKwáÀxÚ‹Ž‰‡~çqüŸ|>¾·'"âº8ý´ûÇQg¿öèÏÅi—¤Ù…ûÆ3ãéñS—ž¯9ãKqÓèžc®=íßâÞ~z7¶ÿãA›·Ç7ÿáâë×Üóæ®ûîUqI`Î<äÁŽˆˆK/½<÷¼÷>𧺺dÓ<®j`;7úò¶=-sºZx”Ñ^vü\­Ë;¥2{`à6><Žó‰qä·ÎŽÿúÙkceÁì(n»àôxåebíúýcËCÏ<æwâƒG?<Þüû_½µàWæÚÇÆžsnüa²m×…ñÖ_9%¾tgjìšÃâè#×Å5Ÿº(®KÜÀžk¯ˆ+wüF~Äýcñ’ëW³îÐxÄaKñ­^?LÞÆÝ߯_zküæQ{ßÁ.Žs/~AüÁ½7Ö}æ³ñWç_[l€ˆˆµë×ÇÝ;wfömÚ¸1>ÿwçÄwÜ¿ôìç79}“õv³Ži;¿ëuØ÷·ªñ‡\”DM“õ3·fTf ȆÃâ7ßö–xþè¯ãuo;7¾—^¨7"öl¿)¾»ýží«·þk\ø•ïÇÛ>úûñòg}>¾öñïEîŒÇ»/‹¿îqщ¶åíqý]û]Øï€8`¿¥xØ‹ß_øí=±fÝbÜ´iC,¦Y·)ö_»ÛnÛžúe>ŠÛ·ïøIÛè‡qþÛOŽëžñ¼øµçžÿý%'Ç÷/ú\|äìOÅ?^—q3«À·¾ýíxäQGÅc~îÑñO_¹(sÌÏÿüÑqõÕßjóÒu2»:AïÜdm†¼eÕ°mWåÖ¹—I¯ÝÚ¯Á[Ö>­5zgPf ȆÃ㸷Ÿ/XúÛxÃ>ßÜQíWáhÛ5qÕGn9(–¢ äqã·®Ž­ÛËÏ;ºëö¸}מ¸üS¯‹S¿|Û>¡íÝÛéüy´kGìØ½mÚ q{★X¿ßú•1ì¹%.ÿâGâ­_üŸ±ù'Ço¼ú„xËŸÜ/Þtüûâ ÷0oÎ=÷ ñÈ£ŽŠ^ù²øÆ¥ßŒíÛ·¯è?à€Íqò‰'Ü3ö¼/´qÉ62¹ªkïv¡JÈÜŠtÑÓ´MãCmós[á»výúܾM7Æ?þï/Æ>÷WS¼#`Ö6/zç)qìògã^ÿñø×Aç‡ÅÅ ×ݘšÚy»¯Œ¯_¶+~æ°Ä?øA\}ò熸iÛ®}Ùõí¸üÛËqèc&ÝÅ-ñˆ#î“ó—àžØöí â/Þ÷™¸|ÓÃã‘Zjë Êß}þ¼¸bëÖø™÷ øðÙgÆSÿÃSbãÆ ±qã†xÚS!>tÖ™q¿ûÞ7®Øº5>wîyM.ÑUö6´ ²¶!N×<®Ê-šr¹¬j7+ÁŸÊƒxשïZ±ÿº×¿.³ý~?`·3Ë2{ Ç6/zçÛãE÷»4>tÆ5±ùÈÇÄãý{nùN|ýêGüì1ñºçnŒo~õqåµ7Ƕ=ëã>~Tüòq/ŒÇmûRüñù7TñÖ4úqüýGþ2žsÚ‰ñžÿvïøØy߈ïïXˆMn‰‡¾%~xþ9qñÍécnŠó?}Aüú¿,ÞôÒ;ã¬ó¯Žmë¶Ä£žýÒøõ‡.Ç膽ï÷ÀÇÇo{p\÷µËâ;7Ü»ö;8õ¼§Ç!;¯ŠÏ^×ZL 0(KKk⤓_ÿãýG~xœòæ7î3抭[㤓_kÖ®íúvòÂà*_ÙTσ+îRÈÛ$ÔÍêK†ÄYkùæÍñÝJœÞN+ÔM›A™=0‹?ýøxú›bíÒã„·vü蚸fùWã9¯zNœtЦX7º+¶Ýü½¸ì«ßûĹñ[Ûý{ñέ×þîã%/y^ü—w¼$Ú°wÝvC\uÉùñáŒBÞˆQÜváéñÚS_'ýö‰ñ§/Ø ·ÿ .½à3ñÆÓï9vï°Ý;cñAψWýòñ±eóºÝyK|ÿò‹âoøp\°mp·´baa!víÞ¿uÜ‹ã˜_}^<ûÙÏŽÃvhDD\uÕÕñ¹sÏ¿<çobã¦ýcqiâYëdtéö¬È-úÇÝ*ëûöZÛkä–/«?ݶÚNï罦·³ö“?‹{²¶—2^ÓÛg<áÉOû¹’÷[j¼okðn»íÖØrðýcçΕ¹ûîÝñÁ³Îˆ#?<~xóÍñþ3þ<¾ö/‰ˆˆÇ=öçãäWŸ÷½ïAqÅÖ­ñ²W¼:Ö¬]7ñ}³wÓ ?ˆ-÷ŸÍ.`hF±óŽ;bçαçîݱfÍÚØï^÷Š{mØM#Ç‹ÿéË_ˆ#bÏÞŸåŒíäëhïkÖv^0œ·¯éq龬ý¼¶:ý• ¡’·ÊôËYãÊöóÎ1˜„¾ =+³ wâ^6ƽ6lœÕ TÍðʂت9`ïóÂ!„¼mÈ›¶9¹Óé”ÍIãµxg5]ó”Ëì ­j6WV]›×6wæ5äM¶EëòFF•ó·bVánÒâÒRìÀñ7÷ùøä§ÿrŸ2ûý8 ÚŸÙånuÖãËÐw¨!o2¤M¾Ö9¶¨?ý°—ãžõx;©æí‡™—Ù°ú¤«v—súËÎQçzY¯ƒ²8먩ʬ³òrª/«Ü{.4ôTVW6UsVœ·ßvPWµ‚·,7œÅ2­­^«•¼eê®Ë[tlÑLÿï€å(/ªËËâÆmY㓯éö¼ó—Ýà 1䭣ɔÍsù  ‡º(ð¬rÞAëKÈ[eí.JΫÒMÏ÷=´#Õ·ÇŠ²º.2Ä:kÏÄŒΙ5&ݶ±~-ê[HüŒ÷3¶û‹‰c–öî/%ú’mgç\¯êýæÝUUÇwñŒè·:kÝ69o•*Ú¬×tÛË#bOÜÞŽ_—SmYS:ÃÞd œÜNNû\tOUûòöóÚšŒ©l¨!oV[^È›ÜN¿é`7¹?s“ï¸-+øMo'Ï5nĹÓ÷QtßyŸAÞgRu|Âb€î5 óÂȼÀ²l|: Mn/§ÚÓAëžD{ò'+Äo§÷G‰¶¬5{“U½£ŒŸ¬û.z-kËÛÏkk2¦²5mž¬çFñ“ 2¹µ?n[Ž{Ú´å½ãÓ ?çªã/âbêøqໜŸòFÎvYZ•€½êq´«i`XeÝÚ:fVXšì_Nµ±Ë}É1YÒS6gÝcÑýϵ>…¼EÁëx;/Œ]ÈyŒãÒÛËñ“ðu”:.9f!ñšf#î ƒ“mˉöä€doú>cå—¯NEoº­Jo[U¾t¯IUiYZeJå±¼é“Õ¼ãŒ,« 7";ôMog…ÍYsÑ{¬RśԴŠw&ºy³‚Ø.Lz¬P9ÙžWÖ¬âïG¬ i÷ÄÊÐw1u\z=àô=$àäµ"ŠÃÞº!okþt§j`X7X¬ò–ŸYaérª?½.nVEoÖšºyÓ=çåsYAoÖ=×5­Ð¶õëô©’· Y¿ÉíqÕnº?]õ›üÂ$«x—bå—-ìŽ-îÝOV'ƒÝt <þIþÁ¨æUõfµ›ª ÿª„‚u«x³Ú‹ªWóúÒan¤¶óªs“kí¦ûGÇV {óè¼÷3fò6©ÂÍ pËΗöæõgU÷¦«vceXœ¬ÖM½ÉÀx1ñ:“Ó?ÇMË\Ðæi+ä _š„¼M¦-Î X³ÂÞ¬€w¼¿§ /çÝ{^UrV[YÀÕÖ$žIxÜ÷JÞ²0xÒ°8â'aë¸Ò6ÚŽÇbeÀ›·>ï8ÄÅ=U¿ãó%+y“÷u“cêTò¦·£ ½èóêjJgöU7 ,_·Š7¹]µ’·hMÞqº 7kmÞ¬í¼ ÞäôÎ+Ãà.ÃÙ^Wþö-ämÚ¦Ízœ¾ô5“aoú :þÂ,%Æ+wÓAor;¹¾î(Õ©×äú¾UÃÝÈèÏÓeØ @w& wëT·æ…½yÛã×*kó¦·÷d›7MsÄÊ ·,”.ªFnªW¡oßBÞ2Y!mçËڎĵҕ¾Éuu³‚ÞôTÍ+ן#YÍ›õžê„½É@;Ý—µ_DÈ ÐuÆ&¡oY¸›×—žf¹(´Í x³Î‘U-\tï“j#žº®BÞ*!lÕ ¶l\VQ5o2¤M£ÙÕ¼é°7=¥óø‹˜\{79usò^²BÝ…Ôùš¬Ë›Õßuõ®0 ¹¶§ž´ª·¬6kÝܼŸ¬°7+øMOÕœuÞ¼ ߬ûªR½[ö¹W}.UÆu÷±’w’*Ý&Ç–…Ä+ƒá¬íñ˜ˆ•ánV œ rÓ¡î(µ_%ì-Ú®ó¥òLWÛ!oÙø²íº¯Ë±oК®Ê-«ì-ÚNßgÖ½W5IØÚ»*ß>†¼eÒ•±‘ÚΗ®ÊÍ:GR2ÀïGì;-óø5=Eóø ˜œr9yqUqÖ”Ì]Uò–µ—õ0u*xóÚ'­äÍ«´MöeUÝf­·›®à-“¾VÑ=eõe½Ç²q½6ë·jåm ݲ±É‡4—5…sV0œzÇU»ãé™ÇçJ†»‹©s%«w›„»yoÕ ¸¨ €a©Zéšhfµ× {#²×æM´YÕ½é€7}Þ¬9RãÊBÚ:!nÕ±3 †gòæ©Ô6­æ-“ |ÇŠ¦eNNÝœ vÇçÅÊ`7yÉ5z“ûé/EišËúÊÚ›Ž =“†EU»y}e°Y•¼YûéÀ6¯ºw<6ܦÇF¬ ‹î¯ê˜²qyÇôF—!oêÛ¶ÏW46]›UóÖ²½ã 8Ûãó$«v“ÛÉkfUð¦×æmºoU§t®{êk"·U«öæUÓ…¾ã×¼õvÓaoQõoÙ5ŠÞ{U¼³:ßÿ×uP7Iµh•¶ªÓç…¦YáêbF_º½hüb¬ r“ûM§gnRÁ›µ_ÖÞtík³š·l?½]'ôÍ b³¦oŽØwªæÈèϪâMOöUñVmËÚ¯Ó–¥³·¯Ó5GL^ \ejæ,ãŠÝô´Íãé˜Ç¯éišÓ¯+§tÎ ˜Ó÷“7Msr[È °:Ì"äÍ ~óÆe­é@7«:7=µs^_ò5KÕé™›èåTÍý®äÍk¯S͛՟îË›*9¯¢7]•›à¦)»^@7«?k?¯­JýVwšâ¼·ê´ÍYmé°vÜ–ÖfÁUÞ¢ëÝW•÷”µŸ×VÔÞt\m} y‹ÆV­V­³nmÕ5qóÂÚ¬x¼±o°›µŸµ]÷}mµUé+# ˜Ü$Aà$!oÓí¬µp³¶óÖÌM†³E¿éö¨ÐÞä}dÉÚ/kŸtl-ÓêúXÍ›nK´É×¢ªÜ²ŠÞäõÊ*x›†¼YûUÇÔé`öÊ‚Ã&ªMCÞ¬×äÔÊYcòݪ︯J•q•þ¬ý¼¶¢ö¦ãBÈ›ÕW´ßuÐ[´Ÿ>W•©˜›„¼UöóÚªôUé {uCݲ¾:¬MBÞ¬¶ôÔÊé·l¿Í€7½]e¿j_“qô)ä-Ûf5oÑØt8›ÜÎ n2Æ–µÝWÝûÏ;®¨­J_0@{f5esV[“`4¯7ݖמWþºãêðôGWáb[¡h›¡l—ooBÚIõ1Ì›uÐÛ¤¿íó5ÓåñôߤAfaiÝþ¶Ï×tL—Ç·ª¯Áß´Í.ÂÙYº}}–ôG“°²«àwánq]ߺ>ƒÓ¬\í*˜íbÚå.ŸYŸ¿«]—acsO®N£R¸éØ.ŽïDßÖäMj#pl;dmw½Æ®p€ªš—“VζÞNrƒ×÷p°­ûk»R¶Ð¶î{ëúYõý»@÷ÁeÝóos:åiVï¶}žÖ %ØëkØÛöØY¼OæÛ4BÏ®BXán†!…³ @g Oëù é{°ÚM+„œe…m›ų8O§ú¼&oÚ,«\»žZ¹« ªèS;ˆ u–†¶yÏMÏ5 ¸íã§uN¦£‹0tÒs69¾é5Û|ÿƒ –‡òõ!è䨶?÷¡>G¦¯í@s!íª x#†ö-(EX<‰!?{î1‹€r–ál_ê™zÐ×· ·­s´yhª­´óx÷Úu£|ÐIDATš‡ ±«÷Ð÷°vž³ÕUÐÙ§pxšçŠy ‡¦Îò3Ÿ§ç ÀJ³ .‡Re;èpwlÞB¿®ßÏP‚dèÊPعx#æ7\œÖûš·ëÀ´ÂÐy»ÎÔÌ{x8í÷׷ϳo÷Àôô-Üœöýôíý·f5…€Ö€îÍÓÚÀ½´ZÃǾ½ï¾Ýäé[Ú·ûéÜâ¬o€êTÞcÈŸÃï€Ùrõëï½*yDh>Ÿ ÌÖª¯ÚÍ¢’`@T«NÆçͨÒmH%/À€¨D.Ÿ7óJeä!/ôÖÿxçiXŽ@^XIEND®B`‚sequeler-0.8.0/data/assets/screenshots/sequeler-screenshot3.png000066400000000000000000004217571367531117400247400ustar00rootroot00000000000000‰PNG  IHDR˜·®‡!sBIT|dˆ IDATxœìÝwxT÷/þ÷9gªºII„@t WŒ+6.벉;qì$_o6Ùäþ¼Ùlr'k'q’M|ޝk—Ö¡p066ÅôŽ!Š¡:ý”û‡4Ãh˜r¦ÏHï×óèÑÌ©ßsf$Þó™Ïˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ(ûéÀ ÄsNDDDDDDDD”NDDDDDDDDDñˆ&t' MWÈìí%]6—™pÁ½XÖÓ»N*“l|ü‰ˆˆˆˆˆˆˆ(ó¤2Õ»¯XÆ” AsV…ÌÙ0¦³·q"+ŽSUùLDDDDDDDD”m’Y‰œìŠèLêÙV¦+\NT°œìP;Ùô< """""""¢Ì‘ª 4Ñao2ƒæA2gK°˜Žp9]Ár"Ž5[W""""""""\š&2ðMVÐ.©SÑ#Ö Wo ,D˜ªâ9š †[¸iá¦Çº‘ñT/‡šíø‚-¯·"YCäPZoÕs´!sÖ¶ÊÈæ€9á²dZ°Ö‘êPã 5/šiá¦G» ‘^ñT/GÛCo_åPq¤V‘BèPó‚Gϲ¡¦é™—ˆåc–És:Âåpí.`=ý—#m!–4æpÓÂMu9""""""""¢p’]½ì~°‹ðEjƒá?=Øòó¢Ùžž1§*ds¢ª—ãí»m¸Xµ&—¨PÀdÙ`ãŒ& uz´ËèÅPšˆˆˆˆˆˆˆh`Kd8™èªæ`ÓÃU.ãý.èÐà,‚‡Î‘ª™õ„̉ìÇœ‘UÌ™0'«z9žp9Xó¸¯~õ«ó~üã?ž““3 €1̸‰ˆˆˆˆˆˆˆˆ(3xœNgÓóÏ?ÿ‡gžyæï¾‚9•!sVU1g[ÀœIáréc=¶è…^xÖn·[dY†ªVåQ¦EƒV«ÕùÔSO}綾^Z…‹•Ì™2Ú€9ÕËzÂæp½“— \vÖùóç&ËòDEQ ™ˆˆˆˆˆˆˆˆˆ2‘$I0 û† ö/¶"x¸ì?-R/çXB嬮b¼°\&‹¶z9Òr±„ËBß|@‘ 5¬Z&""""""""ÊN}Ù^ z¯¯æÍý‚e‚ÀÅl~÷d™ÀùÁDZ.k®ƒfˆ¼HJÅzâbij~¸pÙ¾AQ f""""""""¢ì¤iTUµââµÕÂå“.æƒÞÊ`ÿÛ2-ܲÁÖÕ#Öõ’"̉HÛ£Iñõ„Ëa±wZ°¾Ë¡ª˜M˘ǑˆˆˆˆˆˆˆˆˆbЗñù2¿_@ÿ2:o#Âôdåª •Ỉª^ŽeùPO€`Á2à÷$bÈLDDDDDDDD”õ¼ÙŸÚw;°m·zÙ¿_½¬w¿Y]Åœ =˜Ã¥÷ѶÆÕ%ðÿï¡Þ¡Èš>(DDDDDDDDDV`i´™a°>Ìz«˜Ce¡¦e”Lª`Ö+žÖÓB}¬Tî×~-2XÁLDDDDDDDD”½Zd¨~ß½§{«‡C}÷§·s°å³B²+˜õ&ìÑô‰U¤ªçPïJ —<6"""""""""JŸH`¸ÊåÀí›ïØ¢™ër1Ɇþ¢m”©¼7ÌÅ£OÞ„‘ÍŽío<‡÷«pëS_Âå…}Ö‰Ïþð ¬hR.Ù»aÂ]ø×§ÂÝéˆó˜‰ˆˆˆ²Kˆ‹üi‡»Ø}Hï²éØžO¦gè­^Ž4]o³ÿíÀ9°ç²ó€!Ë2ZZZP[[ ‡Ã—Ë•î!e”’’477§{DDD)¤âü–?âËÂW‰‰Ó.ƒÔÑŒÆS6HæL|$£yË*¬Û7UsÆ£8ʵ!Ü‹»Ø·­žýY¶§­U¨Ÿ^ ¥­Í<°ˆáçA! ¼Áwï(!õ¦àû ÖŒÊ)ó0¿RëÔ^l;ÚÂq³QWf€T6<ÆüñO""¢tU(™øÚ%3566âôéÓ¾s)FŒššš4,%ü«—ô¯d.—†·áª—— 6ŽDÔ)“î€YïOx,¡r¤mk²ß2úW0¨Ìš¦áøñã9r$ŒF#Gº‡”qdY†ªªâñ&""ÒÅÝ€O>: §e<îþæ#˜]Ø[å Õ ·Kªip´lÆÊUŸâà© w8ÆÍ¾7ͯA®}^ÿÙ_áœy=*ÏnÅÎæ.…5¸bñ]¸j”°…Ÿ/@ƒãÄ&,_ù)±AȯÀäknâ©¥0Bƒ½ù3¬\½ ‡N÷@µ¡êò[qác¼³¥в ¿ÿÁ&H5·â©‡fÁØj; ÚvýïþmÎÊ…3kTß+u- ‚Ùƒ“ß ¾í“Á?ÏïÕ¨ÒvçWþ¢(AP\pºd¸ÃÌSý^rô¾æà?.ï4€ÕsoÁACǧ§±ý¨ eSoÄ­3s ¨2\öPçÓ}[ÿú6<Ռ²1¸âÖ[QqôÏAŽy6 øÿ9eïÿéÞŒÆ?«¡ß—w]äñx`³ÙPXXAÐÚÚŠ»ï¾F£š¦A–eüå/ÁèÑ£¡i:;;‘——ƒ!Ý‘bbéÁì"ëíË.Lö—¨°9–å’"Ûž ñV/‡ªh5ï’P9`Ú€pêÔ) ¸¸˜á2”³ÇÑdL“g¢Îê„ÃÙ¾fßåo­Äy8êçNñÄ6l_û'Ø-Oà u$(hÙü s¯ÅÍcñ÷µ°~åÔ~uJ„ó°üO«°Wëîœe×j¬_örJǵE°ü«±W.EÝœ)(ì9÷!ÈÏ©ÆpëQt+cpÕÍÓQVP«ã–…ÚNî6üõƒí8%”¢nÖ8HG¶á\zµ9Ãm{?–…8þ/Î*ö½P”FTc¤q7ÿþ&þŒ…¸ff ‘ç]<ÏGðÉ_È@FÛ—Ò ¸]P ÁÝ—Lkª .—ÔûŸ†=ôùœÓº«vÄi7ãÚ Nµ#¯@ ~ÌæÕ/ š¦AUU¨ªŠS§N¡¥¥mmmp:PU’$Ád2!''V«¢(ö ›ÃEf³ùùù:t( SpD©e³Ù°gÏ ¹¹•••Ð4 ’$Áf³¬V+4MÃ… ÐÒÒƒÁ€®®.Lž<¹¹¹i>‚„óf~ÞX2-T;Œhæî3#û*G#æx«š£]'šÚ¿T^Bü"[\¸pcÆŒÃဪû§…üß%"" 4§NM@NžšriObgã^² ~Ãý¸ÿºR {(:ò>Žî>ˆŽÚÞŽ¿bÉå¸ý¶+P®A÷žƒXÛÞ† Іa}OCÍ/8º‡zD”/¼WN ”·cÿý‡ÎaîÐ}8l0ü†ðוA$@vÀ-OÀËz4¸KqÙ´i-(°íZr;sŠÑìñng8p¾m?_‰³—T0K2æÒm÷ì\òøÛgÌA±÷UdálÜó@;Þzw#v¬x{>» W/¹óFZ!„›×7Íyû·îò%T0ûµ‹ÿ†øUo¹ÂœÏ9%&HÐÐ}ö <õ póüR]N(AŽY–Õìù/‡ˆˆ4o•²ªªèèèÀ¶mÛ`±X0sæLTVV"//ÐÓÓƒS§Naÿþý°Ûí2dÌf³/hŽ´UUár¹ÐÐЫՊššX,±\Ù óØl6ìÛ·³gÏFee%>ÿüsœ9s³fÍ‚¢(¾|HQÌš5 ‡FII f̘––lݺuuu-döïlà2ûÆáäÀmEûÒ)+ª•ƒIVÀœÈú†h¶. µLà41à»wº¸< *˜ív;ÚÚÚ0qâD¸ÝnÝáòúõë!Ë2®¿þú$ˆˆˆÒÆb…EÐ`³Ù!0õ›©Áå°CÖD˜átº ˆù(4šÍ»Ú0!Çå†[Ó`0 €ÖÿTðùœvdMÁÉÕ¿Ä÷Wû–F‘Ó Gß~‹‹rárú]3BQú.ë­Aq{à‘48ÂlÇétBõmÇ X P$gƒœ U¾tÛΰÇKÞ•䌻_ÿÞ8ðñ_±lí~¬{gÊ¿y+ÆÃÌë{Õ)Y€¯o1FK46¿üøóáhÈpçÓˤ[ðgœXöé6üõÕíø°â ÜýÀõc <æhöIDDÙO~ò|÷»ßi]oø{êÔ)lß¾ .Äĉ/) +((@AAÆ£GbË–-())Åb$ICfUUa6›aµZa·Û±oß>\vÙeÈÏÏiÜ™Âãñ`Ïž=˜={6ÊËËát:1}útȲŒ£GbéÒ¥èììaâĉ¸úê«!IœN'ÊËË1sæLlݺ3fÌHí2¼ÙŸ·ÿr`°ì@—†ËÁ*•CõbŽ&$Nd œ”p:Ï€hÚhÚcè].XÈ콬s¿ûÙ܃Ùãñ ¹¹ãƃªªeY×zëׯÇG} ÷zÌ!³ÚŠ^^ õö¯àšáé¼,¹†Î£‡a«æ0Kôq"""èÄ’*TšÝGvá`×8LÎïÿRÊš—ƒ ¢½­ªV¡çÚ=€—<¡ïU«hè­´½XX«],´ :°äå H(_ð–LÉ¿ø"Ì’óQ+DAE{Û(Ziï»ÿþ/ß½Ⱥ¶£¡ãB;­èì@WßuÂûW0ßvøã¿X],Û{ [4(R.Æ,¸7žøþtð,Îv«i¶…œWSàݱgWº$pÀÓ·]ïyë¯foÏæpçAPLwÓcøÞÕ-ØúÁñþŽÏ°~çtŒžsé1ÅJÓ´KÂ\A.ù;ØrÁ¶¥( ÚÛÛñùçŸã¾ûîCyyyÄ¢¹1cÆ ??ëÖ­ƒ$I°X,+™A€Á`€$IEƒ‡B]]]VW2÷ôô //¾v"ÇÇîÝ»Q^^ŽÉ“'#''@oqâ™3g°{÷nÔ××cĈPUØ¿?º»»QTT”ÖãÙ¸q#Ö®]{Éôÿ÷×½€ÌÞ9Ôý`ö‹§Š9Qm2ÒVÙœ­o1èí¹¸l°vbùÁî¶ÇÈÚ fï/ŽÊÊJ˜Ífx<]ëù‡Ë@ï0€Cf’(BLw5ŒÚŽýoƒù®ð3Ñ cº óæǾ¿ïDzßýûkJar·£µsnzäTúÂ}øü³÷ñ®}4L§öà˜bƘ©µ(ãÛõ˜i˜”¿;¶ý[L“P"9Ðq¶ CæÞ„i£& Æ|‡?yïôŒE¾ã Îä]‰‡n‚ü\h;ˆ « (Í«Äܹa¶S}ªÐøÉ{x¯§Æ“»Ñ¢†xq,ä\ºí+B¡7`‡†®]oã¥ÏdTUGÚÐxHP4U…@׿Pó„„þkú|.ÂèCÿƒ¿ÌÅÈáE`€f« ¤KŽyÎU½ÇFDD MÓðâ‹/â–[nAuuµoú~ô#twwûî?~Ë—/ÇO<2ôõV.+Š‚mÛ¶aÑ¢E(++Óõ‰lMÓ0lØ0Ìœ9;vìÀˆ#t_øO˜L½Ÿç’eÇŽCmmmÄ}†ãv»À·ÝT***Bkk+¶mÛ†©S§¢©© ˜>}:¬Vk¿esrrPSSƒòòrŠŠŠ|¿Ð"ùè£ú…Ë^Þùºë®‹rý¯òêÏݺ«—oDc— ‡bâu·áú EáÁ™Ï?ÀŠm ©]8sÎ1¯sîy×T‰¡×síÆŸ~s 3ž\Œq(8ôþ/°gÂc˜Ò²Ÿµœ…øúÿÏójqÓW¢2HA5+˜‰ˆhÐÑ ¿öQzôh---ðxqâÄ/].¿Þ:½öÚkhjjÂ!CðÐCAUU¼öÚkhooÇèÑ£ñ…/|!êmêuîÜ9Øl6Œ;Š¢èúa .û›7o^t!³vÿ° êíàÊ¿DWnÆß^ZÜþUÜ1!jÛV¼õ»M~ߨkØŠ7þØë¾qÆY\Øÿçß`×įáîq*Ü®Ðë]‘¿ïü¶ 3¾y júæ#ÿóKì™ð$î©»€5¿Z‹a=Š9ù œv—ï7ˆ?ƒÁ€;wbÒ¤Iú‘ˆˆ(ë 0˜-0 Dš¦Bõ¸àpzzK4$ÌŒ’h · — M0"'ß ƒì@·Ý "L¹y°ˆØ»#Í÷nÛl‚Ñ B€UñÀåp£¢Á ‹Åƒ(@ÓÈN‚Á‚«’¨'ì´pÛ1Zaµ!A…Çå‚f²Â¨8Ðí¸ôÓ]!·ìøýד̰XŒ0ˆ"Aƒ*{àr¹àQ´°ó,ù90inØzœ}¯Osòa5ÈpöØáR¬%šr‘g‘ ;ºa÷h~ã~dÑ‚‹’(š EvÃétCÑ‚3/MDD±0 0 p:8|ø06lØ€sçΡ¤¤ ,À¸qã`±X ËrØžªªÂãñ`Ë–-˜2e êêêbÏáÇqàÀ”––Â`0@õ·îôx<èîî†ÙlÆèÑ£u-ÿú믣¥¥‚ àé§Ÿ† صkAÀ´iÓ|'L¦ÆÆFœ>}ªªböìÙ0 èììÄСC}Ëœ8qgÏö^™¢´´UUU¾ymmm¾‚Å­[·BEŒ1555I{(íííxõÕWÑÕÕ«Õê ™¿ÿýïëÞ†ÙlFUUÕ“Ö£7\Vû¾”¾/Íoºæ7Í{_ó»€iÞ/ùiZ¨ùÁË2QIWs²ƒí`­0Bí_O ÿé=™£vÿý÷ãw¿ûΟ?7Þx²,£½½¥¥¥¸ï¾ûbÝlDÝÝÝhooÇøñãu‡Ë"†Ë@o%sôUÌ—RODCîL<4R„½§°ÖáÊIëñÁ¡ ¸¼ª%U(Uí°Ù€!ÃsqîÔ¸jJ¡…YoîÌÐû“]îÞß;laÞ´Ì„w䈈ˆROƒìr@ñ~º¦¸á´¹á¼d†ö.ÿV…ÛÖ·ÞùÞmÛƒl€*»`ï¹tPšì„­;`pÛñ8`ó\¬rÛt¹°ÛvüýŽÃ‡-ø 7áìî Ø¶½ áš›©nº‚|@-äùT°õ?‚ ÇLDDop|øða¬Zµ ÷ÜsF…cÇŽáÝwߌ7.ì6¼Ÿ*VU5îêÙ²²2ìܹªªú¶©M†—$I0™LýÚ{„³qãF´´´øÖEÑ·O£Ñ£Ñèkû‘ §0Cgà IDATOŸÆ­·Þ £ÑEQpàÀCUUH’„ææf8NÌž=pàÀœ8q#GŽ„¢(ÈÏÏG[[jkk1räHȲŒ>ø ­óêÕ«ÑÕÕ…ââb<þøãرcV­Z˦ü‹Pý+ƒõ`޶3ÖKVrZ*›“0§ª3[,û , ýïk™s‹ “É„Ç/¿ü2Μ9 ÷—Û—¿üe ]½ƒba·Û}½}¼¿Dõxî¹çt-ç½Â¨.}±ÔTþ‡«ØípäTÀè½Z»ªÀ› G‡ êáv¶ ]ã1>§Gõ`øô"hªv=Eë}£HSU¨ô»¦úý1é?Ž@¢(FuΈˆˆˆˆˆˆ¨¿ 6àÞ{ïEEE\.ªªªp÷ÝwcåÊ•;vlØuýû/;NäääÄü?ºÕj…¢(1ýŸ/Š"DQ„ËåÒµîÞ½{}·eYFkk+JJJôö7ž1cdYFnnnÒò @ƒ===zG’$hšQÑÚÚŠiÓ¦ù*Ékjj°sçNŒ5 ²,ûBr»ÝÈÍÍ zÁÆTš9s&L&n»í6˜L&ÌŸ??êÇ6H‹ŒÀN¡rCoÿeï´h[cøKU8œðýdRæhû/GZ.R•r¨u{.GZ>jªªú~§%óã%%%hnnÆ™3gt7Á€ŽŽŽÄ&X@ÈËGNOºT CúÂàžÎääåBÈ­ÂÓ¶á•W_Åç…Œ_‚›Ç ÉZØõ€®Þ‚úzºáp*¾+¢k€ïvÈáöÍL÷/M""""""¢lá-Xûö·¿  ·½BII‰/¼”eeee8þ|ÈuB‰ç:I©¼ÆR`1Þš5kpÿý÷ûò“ɳٜ²p€/\‹ÅÒï|hšÇ³Ù  ÷1ò.ëýî?^ÿm%Û† pÕUW.\¸€U«V¡¾¾Ó¦MÃäÉ“át:¡ª*\.®ºê*ÄÒÖÖO¸"Uÿ–þËDªhìÆÚ§9cú0gRÀŠÞ€Wo¿æ`·ƒµ¼ðšƒV3Çú ©«« o¼ñ.\¸€áÇCÓ4´¶¶âÕW_Å?þã?ên‹ÊÊJ466Âh4¢¨¨H×G0ž}öY]ÛþÞ÷¾§ šÚ{Áš€ f”Õa’g)67LÀ có uìÁ¦ƒVL| šû$vîËÅO|ÓsÐÛÒ%÷¾Mn=цBãYœ9/cT‰µóöW`®W¡j&XM8wÞÕj 9\ÿÍ0`&""""""Šì‡?ü!€‹ô+))ÁñãÇ1jÔ(ß2MMM(--õý¯¸Ž—ÿÿäF£ÝÝÝ(**Ši\6›í’mꥪ*dY†ÉdÒµ^QQÚÚÚ|÷ñÎ;ï`Ñ¢EÈÏÏOKÆàr¹|UÜV«ÀÅ ñ²²2Õ…ýü)Š·Û­{ßÓ¦MÃÚµkûM;tèPTT„ùó磾¾>¦±Ä¢ººkÖ¬¦i˜4iÊÊÊàv»át:ár¹0zôhhš†;w***0zôh8_¸o6›qâÄ ìÝ»‚ `äÈ‘)ÿúõë±iÓ&8Nã¶ÛnKÖ®Ûeø‡AñT1HÉè—i›‰hi®Z9Ø» Þïþ!±ßeÉo~°/ÉïË{ÁñãÇí;"àv»ñ—¿ü÷Þ{/$©7ÍTo¿ý6–,Yâ드,‚ Àn·£©© 5550 aCÓââb]Ûmoob,ù°ŠþÝ2ܰuÚ!K&Xs,0Š )p;íp¸Ý8ñá›Ø\¼÷_U‰\ ðtÆòß­†ùö/`î0BÐõzË£Ecr­†ÞÊiU#Dwlž¾«­[ €êö]¹þ’ÑJöîÝ‹)S¦¤ôc+DDDDDDD…ÑhDSSÖ¬YƒsçΡ¤¤7Üpª««}m3BñVغÝn=zçÎÃý÷ßÓ8V¯^ ǃÒÒRFˆ¢¨ë"š¦Áétâüùó˜0arrr"®#I^}õU?~ü’ycÆŒÁƒ>˜² üyÇc6›ÑÖֆÇûúwwwC–eˆ¢«Õ ƒ¡·&U–e8¨ª £Ñˆüü|‚€?þãÇÇСCár¹Rr Ï<óŒï¶ÕjÅ7¿ùM˜L¦„ä4‹ÕÕÕßðz/è§ö}WüîûÒúæ{gï`4¿ùø®™¸L¨yánCÇt½ó£’MÌѶÇHĺ÷‹´], }ôQß(ÐÛ`=pZ²hš†ÜÜ\Œ1Ç÷]é3TÈ|áÂ…$ŒB†£³Ž ³\°uöÉñ «Ó‚1xº:Ð@éé€]ËGiNßÇZ‚®×K qEuP\=èÔÙ–GïUe‰ˆˆˆˆˆˆ¨Wss38€o¼ÕÕÕøÆ7¾Q¡ª*œN'dYÆêÕ«Q[[²V‚QQVV†ãÇcß¾}¨««ÓýIcAÐÐЀÎÎN”””ø‚e½ÿë{<8äåå!??_W¨ªª*}ôQ|üñÇØ±c:::0dÈÌœ9sæÌ‰·OpÔEÍfCCCƒï4MðaÃÐÖÖ·Ûí» ?³ÙŒ¡C‡ÂáèMr ÐÐЋŒ–¬Äápàã?Æ5×\“èM+` ÖZ×»L4­.µnÆÉ”€9–`8Úíë»lùPó¼|Ÿ¡ˆµ¯¢(—ü°›–LŠ¢ ¸¸‡ÍÍÍ9rd¿+lf^jFíµW ùƒ×ð{ *4ãPÔ.º“¬*h[¯ª€A>‰OWŰ’s8Tx;nodS ÌÔSkð»¥øÂõÈ5önA9¹¯m¯Æ=×Vø^x*Íkñvc=ºe ›ðú 7-ž„ólDDDY,//ÏW©ìõóŸÿÿüÏÿì»o0`±XÂßyÛdxÛ6455áØ±c¸æšk0aÂß2þ¼ùFcc#vîÜ UUQ^^îk®‚YUU(ŠâÛŸÃá@]]ÌfsV·Ï”e;wîDMM ÊÊÊ ( $I‚$IÈËËCnn.ŒÆÞ7¸=l6zzz (ŠoÙÖÖV466búôé¾ö¯É좎N§3!A½ÅbÁ¨Q£þ½-2¼í1üÛdøO l‘xÛû$ôÞlì¶ÿ÷h¦»jZ4ó£’ͯVõôc¼ì¾ÿt½á¸Ä^Áœ)¼ã5j:“É„ÂÂB_ÈœqÜvt¹íiÙµ·ù¶?æDDDÙD=û –}®¡ÈsíC¦ã–ùCÐôáZìî2¨¸a· §”À uâÐ%Ósqjë6mñ·¿]Àeµö¯Àå­øèå¸`4 «-ó¼µ{×â¸gj #qÍݣѵù8„¾¿ù’FÅ› Pº]­V(.;z\àÄáͨž7‚¦ö½J×ÐÙÚ†Âê¸m6¸ •¨pnC«\×w!áHóHAÆADD”ź»»ƒN÷ÿª²9·M†ÙlFUU$IÂ'Ÿ|‚;v ¾¾ÈÏÏôôôàôéÓ8|ø0:;;¡iJKK¡ª*\.<OÈpÙ¿ç³ÝnGnn.¦N QSÚ39$I´iÓ°}ûv¨ªŠ²²2ìÛ·ÝÝݨ¬¬Äˆ#|Ç(IN:…––äååaâĉ8}ú4Ž;†éÓ§CÅ”½V‰îÚ_Ññ;½íqCU1#ÈôHUÍzÚed´DÌ™WöÚKoÈì©ÏŠž0:+x«•ÇŒƒC‡Ál6Ãd2eý/ËD“$)ª¾LDDD”¢„γ ®úÊ1Rr¡cÏ2l5]ƒGÿ±’։ͯ-Þš»Pwæ“ ÓïÆÌiã1¬«·Ý~ì[—áØ¨Ëѹ{).ÔÝ…»Æwcã_¶A”5X-*zdN» ¹_ˆÚ{¥Ïlþ¬õ7WAì»v‹Ö±»\õX\¬Bó1i=€QR¡A4Í‹ÿ.GšAÆADD4Àüà?@gggÔëyfƒÁ€œœTUU!//çÏŸÇŽ;ðÉ'ŸÀãñøz {ƒb“É„!C† »»v»=â…ý ƒ¯=DMM Rv1»dòV!«ªŠqãÆaïÞ½8rä$IBYYvíÚ…²²²~Ú»ví„ ÐÚÚŠ7B–eLš4 n·¢(úªŸ€p`à—޾ə't\©®`Ö“ÎEªHŽu_áž z·çßfcÀT³*ŠƒÁ€šš9rµµµ¾«…vÞÇ÷Ô©S(((09Q6Ð4ÀRY!žô¸5Ø:»QPVW  ()ñà@§{ˆéž<šêÃî‚K ¡hDÕ [Ç œêÊ•v´: PmÒàýï­DöýÍWÚ°kŸç݃éy \*(8¹ã0 gÞ³¢ÁÿC²f³·K¦ €ê‚ &˜µ‹Û4ßwüã ""@:::b^×2K’³ÙŒ’’äççÃf³ÁívûB`£Ñ«ÕŠ‚‚äææÂ`0@’$Ý÷óo‘a·§çÕ‰ä<ÞsTWW»ÝI’àv»!Ë2\.—/r¹\¾Ö&UUUP99½½<O¿`Ùûéïl¤³·¢Xÿ|1\¸K¨®âYïzI— )b"KBãhÛcè¹`¸íd-ï/ˆ‘#Gb÷îÝüG¦÷NQQFŽ™õïTeM…¢ä•ƒ½©ò¸rHZΜ7cèLyj°é T €œa9è:݃‚ú+0ôïk±¦©昱{í ›~ Ê„WrQÚ±gÕßqaÆÝ¸i¤§§ï5’£;N¼ëD¨Š¨tÙ%ä™_QŽž}§!­‚ÔÝ‚S– LèêÑ7Ÿˆˆˆ"ó^WÊ¿‚Öjµö+ óþO/Š¢¯ªy0:Ù¬‹¢Y–}s^^dY†$I¨¬¬ÄÇܯEFUU¬V+DQô]Ñ{î CÄjð,£·µn¤jæHm2b½X¤½J:æh$"ðÔK%Ü&ÞªêŒ&Ë2Š‹‹1kÖ¬t%ãhšæû ¥‡aô՘߼ËþG€QvÃ\»‹òhÁ§«j &x–cé_Ï`ê‚é}f=>¯X„y‹—@ÔxœŒŸ “æ„+h? m[?Àšf#ïâõO«1ïöY°îÝ×äÅÚW½¬žÙ‚÷>ÎÃ’{g pÄÌkøK—n<&L¸ñXάÇõÎp¯2‰ˆˆ’ÃjzÃÎ`Ÿ:öÊÞePo8ì­Pöž3ï×!C0eÊßyÒ4ÍFûŸKÿùH¸«’‰ˆˆˆˆˆˆˆˆHx²ÄH™fÖå“é®`NÅ KÔ>+ŸYÁLDDDDDDDD”åüò=ÿÐ8‘™b²Ä´V;§²‚9é{¼ûŽÔ7…ˆˆˆˆˆˆˆˆˆ²W2ò¿lÎCuKds&0=½—ÃmKWSoV0e·ùžî¬ÐožÞ^Ìé¬Ñ‚ü¼<ˆbøb©ªŠ®înT¬JÑÈ7Y–±`ÁH’¤{5kÖ$qDDDDD”m¼¯5MÃÚµkñÅ/~1Í#œ¼POð›îpZ·lh‘18y6ãùžÅ'ž”ì zžÝlg±Î#Ê­­­xæ™gpçwâ…^ÀÂ… 1iÒ$,\¸¿üå/±xñb<óÌ38{ölº‡z UUÑÓÓƒÎÎΰ_===PU5ÝÃ4 øè¸Š¿Tù˜¤Igg'ÌfDQûe6›ÐÕÕ•¼¤ôouæSUš¦éþji<ŽO aéN8zìé>¥Y{{;¶mÛ†;ï¼°víZþO•%²©‚9Ùô¾ÁŠf¢,óÎ;ï`ìØ±xøá‡áv»ûÍS<òöìÙƒ·ß~ßøÆ7Ò4Êà4Më÷]ϲú¸p|ÝïðÛ·>Á‘Æ‚˜xËøÎݵ°@ù[Ð9árŒµÆ8ðà#LÒvSLÓ (½_š¦áÀF£µµµ$)ÊÇÜ8µé=¼ùÞ:ìhj‡[ÊCÙe ñ•o?€©ù±þùIÔyÏœÇOÓ4477CQ”°Ëé~ Ô&¼õÍ'ñöiŒ" ˜†`Ì÷àñ/_js¸EH‚¨ãÝú€sçÚŠ_=¹Óžÿ\™7p^V(ŠUU!^~ùe”””À`0@Ó4¸ÝnH’„Ó§Ocøðá¸üòËñÖ/_Å×]رbjïy'š GÖ¾…?®ØŠ#ç€uÆÎ¾Þjrι$"""ŒÖ¬Yƒ±cÇâK_úV­Z…óçÏcûöí˜9sfª‡MF˜ÆÉÆ€™ˆ¼-[¶àá‡ÙT–eÜxãxã7R<²ÈTU…ªªxäÏSÃ.÷ß÷ïŽê]õä_ñë×Ûqý³oá…Ñf8ÏÅáöB˜@=ÿ¼ÖoÏÆXk›dm7Å4 Š¢AUU¸Ýn _Ø)Š"\.L&S”ï¶k8»ö§øÞ›îøÖsøÖôrX<çqdÿyÆ.#qç=ƒ?Q1iÒ$€ „þãñVÈÀÎ]»õl¢qîûÕoñð rç¼óçñ_+&â§wŽˆÿã^çÎ4w>YŠ¢._ ‚€Gy$ärgΜÁ—¿üe<ûì³øÛ¾¸­Æ#ÿú"žWtÅ'¯ÿÏ=ïÂÓOß‚ ýÝ9ˆˆˆˆ(…^yå|éK_ »Ìºuë°dÉ \}õÕX¹r%Ö¬Y1`~óÍ7ñàƒ&r¸¥L ˜…€ïéÚ¤i &ãøš_ã7ïíE›Û%o üö“¸¡êÒ‡Åyl5^üõÛØyA…¹t¾ðÔc¸²¼w9ÇÑÕxé7ocëi4Ë8üÃü;n¯RÃl[Cמ?ã…ß®D£Ç‚âQWaŠjì;àXçé·ÿ~lß¾=ì2õõõ¨¯¯OÈþ:;;1dÈ°Ë 6  Ù_"išæ )o¾®;öÇ´ÉÕ໽bÝnßGÓÏï@ɰ¢ˆÛU;. søTÌ!Âåô@(¨Fm¡UiÇ–W~Ž¥‡š }ÿI¬.¾ÿ£±ò»{0ónË^^‡3õOá÷;ðÓÇwá¦WžÂ,x°éù‡°~î«øî<㥿—~ð$†¯ ØîwJñö×Clcövüâ_öù­¹ÐÂü.LMƒ¯‚YUUF¸\. 6 åååÏqßc¢›{7Þ{«ó¾óqO²Û 7ò1ª®šªBà8¶/ýæ]ì8ï†f®Ä•ý¾b8 žÍøù?­GÙ•"î¿gw„ËîÅSOÁ‰WÎûîè!Îc”Û™¢Sïv»q¦õ¬ï|ž¼ñŸïCüò/ð§ù¥@w;l†än·cmèm@„¸OÛ>üá¹e0?öküqN!ίùžòþ.LáŸtMÓ È*¹7`;v¬ož˜éÿØé¡œØ}ÂåøÆx ²ê]Oƒê½íÞ‹7~ú?0í—xköÈ'WáÇßý–Uýw !\ø ‹?W £zï~ë_ðîî—ñ¿.y<÷âåPçQlÇ-#UÝÐNŸ9‹QÕ/Ô×ÙÙé;¿ÞpÙûÝ¿­L`ð¬OÛn¬ÚІº%5<ñZÈóåO ·â©_ý+Fxpèåoàß–îÁ5ÿ4=èÏÔJ½¯Dcy\w]ÇoãÏò½xñÍ(€ çÏt!'Í¡§óC=tÉüsçÎaÉ’%˜1c>ŒaÆáÙgŸÅK/½„¼¢‚ˆo(§p4w:n.‘áñvGÑTxò)¶ä]»//€!¯¹bømË[±³øZÜ69XÇ,Äuµ½‘v¬óˆ¢1qâD<üðØ1ãÒ~›S§NÅÃ?œ°êe˜={6Ö¬Y2ìÓ4 kÖ¬Á¬Y³¶ÏDñ†hÕÆ«ðâ›ñàÔïáÅ;6÷»]m¼ gϵãB—ªÞ@Ó\‡¯<÷mÌ:÷¾ÿÕ¯á/ˆ£6 €Å#C ¸]põ…ˆ‚V…ߌjƒNwø¾·ò‘ϰ5oîUÙé„lÊE¾Ýp÷)ÙˆÍ9 q×´\¸νµÇ¶coOê߬UŠÒ[¡¼k×.ìÛ·û÷ï÷}Ùíö¨fÍfƒ½°y!æË ŸaKþ XRŸ ·Ó uØÜ=¯Ÿn:Õ{. qõ‚¨n\r1jj$œ?×9༻#GÛIå¥6ü«‘£ýÒMiÆ{ßýxà^ÜóÈ‹h»í‡xr^>ÝÏ;Õã1Âì†Ó©¡ª~ÄθBüLyÅö¸Ú •W ·a–o>ŽN§†ü!iQ§ªª¯Šù•W^ÁË/¿Œ¥K—âå—_ÆŸþô'ÜtÓM˜>}:PRR‚½{÷bñâÅðx<º+Íi‡#7Ö ?V–Ü\Ølö°¥ÊÑÍø<çzÜ1Ù {¹³`Bó.°õ­¥ŽÀõ_øìÝwxÕ¹øñïÌ6iÕ{w‘­bálc\(6`H'T¤Ýô7!õ†ô~HnHH( % ÕSŒÁã.wY²-[Vß¾;3ç÷‡Š%«x%Ë–l¿ŸçÙGÚÙ™3ggöÝyçÌ9Wo0Bòų(Ø´’-!À¬bíz;Ó§æökÛ!„Bˆ111]¦Þÿ}æÎÛé·ÿ¼yóxã7¢.ë$õ7ï7¹É3ºƒÉž&Ý&T#[_ù'/®­ÂŽæ­ÂŸRÖi^¥VC=uËøþçÞh=y4èŒ (¬Æ<‰…$iŠNÅ÷R¶ÕÜ„/±ˆÄöeâHˆ×á$^ëû@Vâ\fš&ÅÅÅ,Z´¥T{w&L`áÂ…Œ3愃wõÅM7ÝÄg>óüqî¼óÎN­•R<öØclÛ¶/}éK¶ÎÒ–$SJñÂú¿´ÿmû߉cõ[¸|ÖŬ\»9Ú’1ãJ˜ÿå_r]¨Šwþ)÷ÿ"į~pݶãÖ3ÈHnmåÜ“Ö×Ts#žäÑ$´”Šþ~Ž3·NÕÔ@]Å2¾ûé×Z¿yM‚¶aŒ  Ñ®àä)¥0Ì–‡eYíÉÙíööAþl6[ŸœZ|Ò»ï¾K\\\û8+m.»ì2}ôQöíÛÇÎ;)..îôúM7Ý„Ífãá‡>åu½“óiÒ]‚Ù·âa~±¼€ÿ¹ÿ3ŒrkëàîÅmó¶/‰I¤Œ^À~z™Ç©‡‰k®§ÑT¸õèÊ&>8O#M–­*€Ïoµ¬«Ÿ¯I‚Yô•iš±hÑ¢ödò©H.CKÿÊ?üáùþ÷¿Ï–-[¸üòËÉÎÎæðáüùæ›lß¾€Ÿÿüçüìg?#9ùÄ}Ÿ¬h[·vL0_;áV^úè)®›ØÒ·ÔK=Åôa×rt×ëL¿|"ñq®ö²£«„I$l‚žÅô»nà­E«ÙžG¦Þši;µ&ˆ;›4 ÕaZ/Ò²îÄ$â›ZŽK±¥ê¸r{)Cu·Î¤dR‹oæ—¿¾¡C— #ÂèÇ1¨¯-Œ-×y¿P(„Ûíno½i³Ù8pà£FêS?Ìz^Å¡¿°z×BÆ”:»ÎœJbc íÛÕ ¾¶‘„äD4åí¼miKê·<ïôZoÛ1¬¢/g€D³”R¤¥¥µÏ—’’´t·Ó“ã/$` À S˜sÛTþýàs”_x££Ø^J)¼+æçˇó£Ÿ}‰b·†±ö7Üþò±ÏwO1ÕïýjZÄ—\Ã~q-wí|†Ýÿ–ŽºŸy©ƒ×ð¡cÌO<ñéééØl6tc9·~²”W–ì!33“Í›7ó»ßýŽÌÌL*++ÉÍ®U°-¯”âÀSl<ø F ëÐO…u„Í›½"›VÖi‡ñùÂèIɤ}’ŸüìØï)M³ùDBÊ‚cýkÄ2ifÿxo#;37;íÞãÛB!„"ZwÞy'·Þzk—ä2´tÑØØÈM7u—£mþ7ß|³K‚Ù0 ,X@8>5•Qì»)O…Suf5Àå*žfŒøtRb5æýeñusl} {ÞàÙ55„TÚCµØG_Ä䯷xa]=`ùëi Z½–m}>ãëßaÉö–×àþ¥¼³Ý8©×„è˲(..fáÂ…,\¸²²²¾ÝÒ%¥ãÆã‘GaôèÑüë_ÿâþûïç…^ ¬¬Œ‡~˜‘#G²ÿ~¾õ­o–ÁþÚ“¨'xtL0ÿâµo°ýÐF~ñÚ7øÅkß`Wå^þóÎ.¹xr{— Ñ–9¼ƒ­UÍ„-…2<ìy{{ó )°)”æ&>敃].xµ—aK'3¦’=[ÂÆ‘•¼¿Õ¥°ºˆóÞàùêˆ(…é«£!`u-·—2º[§mÔ ¦5½Æ“ËöÓð7Pµç3ºmÙñÑ—}ÐÝÃ4Zúa¶,‹±cÇRXXHaa!¥¥¥”””ŸŸßißEõpLà†Yú¿¿åå­G Y ñrôàQü–Â6êR. ½Å ëê0”"\ý.ÿY•Àô©¹hÝí#ZÒ‘Ço÷Þ·côå Ä£/û¡£ô´TÖ­ÿµ¬ëôø`Ýz^~õ5Ö¸¡ý‘‘žÖǺXØJo`AÆ2ž|ã0zTÛË"ìõ`&¤“¨‡6WðæÒñ©Ö2{‰©þîW£v? ÂÁŽÌѸMÌ~ÄÂñÛödtìšä¶Ûncîܹ̺t ³/›Ïm·ÌgÎŒ6mÚįýkòòòÈÎÎnïc/*Žq\÷±Þøã㬬ôa–ÿ kŸú#‹m×qÝ'8ÓɈ9À¾ê– •æÑ5¬,oùß6j:S›—ðw+hôùðyëØ¿ëž¯i*œcg1¾j ÿúÐÍô‹2Nz !„Bœ«zJ.WUUQ^^΃>ÈŸþô§.¯}ík,[¶¬ÛD²aÜzë­§ªÚgHŽqðI æÓ¤»“¸¤i ¸ê½?ðÕ»þE\Êp.½f6Åk;žD¶%J¹å7ð蟾Ç=¿÷bà"ç’»ùÖgÓp¹Æ±ð¿çñПþ›;¢bйùûßãšÞÊvMfá—vñÀï¿È! 3õ¢lr¯ à ª8·˜¦IYYYûÿ§ŠeY$''óå/›Í†¦ií‰Ó4ùõ¯Í׿þuöîÝË}÷ÝÇÏ~ö3RSSOY}¢Mì´µ¼÷ÊŸvš^Wß̇›v1eòXlšÎò•ë™;ç¢ö²OÄ8úð5v×…°9ݤ—Ìæžo\O¦°ÈgÎ cøÁ/?çÓfóÅŸŒíÚšØVÊ ÷óË_þ?Ö&&àJ(¢lJÕ(”cw|{>xàØqé–ïk Ž+÷—wö\F["­Ó:‹¹í;Ÿä¯;æÎ¸›o~& Wô›¾]“kJaªöÌ›6mÂn·wj1;bÄ1M³OëÈûøøIÌ£<òû¯ò·šÊæ&sÒm|çsÉÕGqË·oæ/¿ûŸ~(®<.¹ç>>ž«P¡ã·Wk“Y¥PÚñÛýS=oÇ.Û½·rîdüüŠèÏ~ÈÊÊ"==½ËtMÓØ½g_§ÛÖq‚Jth©­@¥0ûÖYüûÿbÝÌ/G±½ é’›¹ö½ÿåËw>M\Êpf}ìrJV·%˜{‰©~îWãÈ þï·‹©68‰”~ìK,Lëà §@ÇÌO?ý4iii`¬æÚù·ÒØHiQ,¿þõ¯)**"%%MÓÚc$ªîL”"{þwù^Ìßxì·_ãáúáNÞŒE|ç{óÈU,½˜ëî*â·|“õ 8ãGSvA&Õúhnúæû¿ó…?û0”‹œé‹øï»Òè©÷>e/aæ„z¾¿çc|-µ­)ºB!„è«î’ËÐÒ¿òäÉ“),,ìö·ììÙ³yä‘GhlldÅŠÌž=;ê²Åé3óÞÊêîµî:ÎîmZwµ(Ÿ·=ônþ·uø_ïð¼ãßî—9räǽ¼çv+W®ä¢‹.’$¬@Ó4Ö¬YôiÓ¼\ŸÏÇ׿þuöíÛGqq1¿ûÝï¢^~õêÕ\|ñÅQÍÛ—cÂâÅ‹™7o‘H¤}Z]}36ïbâ¸2lºÆúÛ0 ƒ+g_ÄÒek¹vÞôWÂæ Æé@× åv{“H$ŒÑÚ€\³»ˆqè LÂA{¬#¢ã%ÍæÄålíOCY˜ØÐ!4ÝŽÓé@×54e…0¬ãË cõX† W7뤵\›ÞÒ½†e„ …Í>å|Ú>Cý=.éÉ&¬´,Ï÷²qãFbcc1 ƒH$‚Ãá ''‡ÌÌL–,YÂUW]Õ—Ú¡Û86tM£eßD…Z†k{ÿ­ûÍ ‡› 躽lÎXV ¡ºlw³ÇíØÇrú¼õ:¼Ó>ì‡ý•(-):á|š¦Q¾cÇå÷±6:Ž'„ƒDÚn¢ÐĺhyŸZÛK³áp9±k€²0 ›M µ ð×kLõg¿Zvb\öÖ=-u G¬>ç?ÛöCQQn·»Kw¶bÅ ®¸â l¶–>&L#ÂìÙçóƒï^ÇðÂˈ‰+!==§óX0‹/fÚ´i½vwr\±9\¸œvt<|øÐ7xðÈÕ|÷k³Én½à¡ÛcˆqÙZ»>11±£G| Ðt®'ö–ƒ–$4P؉‰w`xt>= ³õÑûxyÔùÖÌ„S–_öûýlÛ¶™3gž¢5!„B =¦i²hÑ"¾ð…/ôzŽÿè£òÜsÏ1iÒ$~ò“Ÿœ²údee}x0{xXÝüUž«ÓŽÿ¿ãƒ(Ÿ÷ö÷DÓ8Á´h^‹š´`>Mú6T!ÄÀRJǯ~õ+¾ýíoãp8»J@K½:WßàaÃæ]Œ--Æ4 Öm(DzÌÖ–€}è^ÄŒ Dz|Y!²,f k*Q™a‚–· BÁ®W‘/—Ë0 u³N,ƒp7åžNJ©Ö>˜­N]´í#—ËE(êSÿËJÇ2Âôø{|ÿ]·—´'%»l÷*ç¬a ›&ÐöÙTQl/e èU‘‹ôSýÚ½Çð`èØ‚À0 Þ|k-v{ç>Å;v…Ô÷Ö& 3ÄÐ)ûÔ·¸ñGßä'tò?_˜N†­%iìïTì±A•!èïn»½]ë©~›7qÕm§.¹,„Bq.zçwX¹r% ¬Y³ŸÏÇW\Ñe¾'Ÿ|’ýû÷°qãFxàÆßmKf1x$Á,„­Ú’Ì=ô¡PèKœÜº¢I>*¥p¹\¸\.jëšØ¼mcŠ‹IJNÄ®ë\1{6›ŽÍfÃëõ´/#N¬¿þ,K‘îÖIwëÄÇÇ3}zÏ-Æåââ‰E³BÁÛËwÒ2[/4p((Û|´]hiK0ÛlŽöé=9¹QF:sô4ó­`„ëÅßÜÃó?~€7kS˜þ¹û¸ LùX !„B ˜ØØX ¸å–[PJõx7]||<£FbôèÑ@ËoËØØØÓYUI0Ÿ&’dâÌ ”:¥‰å¾²Ùl¼òÊ+D höµÜþ~´¶¶Ûy5M#11ñôVð”—¬s°ª€W^YÓë¼m]ˆ“SRRÜ©[…Þ„ÃáS2X¨81MÓxùå—û´ŒÍfëC÷ݱû½ ø¸á¶bnþÅ#,Ò‘P€!¿á„B!ÒôéÓ™1cFûó¶ñ‘Ž·`Á‚.ãuô4¯<’`BˆAíE§«¯¾hIÜDÓm‡RŠ@ ‡~+D'ý½ðwÿ‚ôc]WŸp~p¢wÑìÓ4ås}¸æšk¢¬ï8çÔæd™„ý¾O\ !„B å7~4Ib9Ÿ:3H‚ù4‘ÌBˆþèøeÚq ?1x†R w!†¯×;ØUB!„B I0Ÿm­y$Á,ÄÉÓ4­_-䆹è4ød ²„B!„âÌ& æÓ ))‰Ã‡“““sV$Æ„,J)ª««IJJ쪜¹è44Hbshý Îum1 ¿…B!Ä™J̧AQQ»víbݺur-ÄIÐ4¤¤$ŠŠŠ»*'E.: 2ßÐ ûaèðûýƒ]…s’RŠºº:RSS»*B!„Bô‹$˜O‡ÃÁرc%‘$ÄPJaYÖ`Wã¤ÈE§¡aíÚµƒ]쇡bÛ¶mƒ]…s–¦i¤¦¦RZZ:ØUB!„¢_$Á|šœé 1!ÄÀ‘‹NBˆ¡Æn—Ÿ„ƒ¥­‹ Ã0䢣B!„8#ÉÙ„B ¹è$„JLÓì*!„B!ÎPú`W@!„B!„B!Ä™IÌB!„B!„B!úEÌB!„B!„B!úEÌB!„B!„B!úEÌB!„B!„B!úEÌB!„B!„B!úEÌB!„B!„B!úÅ>Ø8“y½ÞÁ®‚b‘c‚B!„B!Î5’`> ‡c°« „BvïÞ=ØU àóùHHH °°PŽUBœF‘H„½{÷ÒÜÜL||<±±±ƒ]%!ÎyJ)4MìjqΓXBˆ³—$˜…b€¸\.|>~¿¥Ôi]·¦i¸Ýn‘H„p8Lqq1áp˜@ pZë"ĹL×uŠ‹‹Yµj‘H·ÛÓéìj qN³, ]—ž…l‹Bqö’³B ˜˜š››-™dš&v»¦¦&FM8Æ4ÍA©‹ç*Ó4 ‡ÃŒ9’Ý»w“˜˜HLLÌ`WKˆsšišØl¶Á®†ç<‰E!„8{I‚Y!ˆÍfôVJ)IMMŲ¬A­‹ç*˲HMM¥©©‰üü|9™bY–%q(Ä ±(„g/¹?E!Î"J)LÓÄårön:„-”R¸\. Ã8b8bhXBˆ³—´`Bˆ¢iÚ \2ØëBt6Ž Bœëd`1!†‰E!„8{I‚Y!ÎBJ)i%"Ä ’øb`…êëiÚ´‰ð–-˜õõ iØRSqGâØ±¸RS{\VâQˆ¡AbQ!Î^’`B!„B IÊ4©yçÔŠ•åæ’2ºWb"¡¦&Êw°ów°Í˜Aæ¬YÐÍX’ÔbhXB ¯×Ë‘#Ghnn&£ë:±±±¤¤¤••…Ý.©ÎÁ []!ÈP¸åo(ÔAˆ³‰¥LvÝÊ®¦ÕÔ‡ìÌ¡4y*£3ÎC×z¬HºÈ¢ÿ”iRýì³dí¯¤hêTTm-ÖŽý~t·›ôŒ 2§Ncçp°¦†ü›nê’d–Ûò…8–¥8r¤†ÚÚzü 11NÒÓÓÈÉÎB×{Ž5‰E!Äɰ,‹½{÷rôèQ\.)))X–…ÇãÁëõR]]ÍèÑ£IIIäÚž{$Á<ÐT«ý-¯U˜]^²—ÞÈ}·M$°jßã/XÊËNáü¯pç…Ihæ^^þÍã¬õ´|ùêöX2†qÞ%s¹|\:öÖ××Ù§r÷W®bXÇóÚË[iŸüÖ-ŒsF¨ùèu^]¶™ª&gBù%S¹rÞ2e _!†„§Ÿ~€[o½õ¤Ë’.2„8yˆ7ö= I5Lšx!ÃR/ ²~'î}m;VreáíÄ:âº,+ñ'ÄÉ«yû2öîcTYá±ü~ Ó¤àÕW¨ºf>öÆFôC‡URеm+5Ë–‘9gN§r,ËŒê qÖ ‡#lÛ¾“„øx&NOZZK§¶¶»v³qÓVÎ++Áétt»¼Ä¢¢¿”RìØ±ƒÆÆFRRR8ï¼óHJJÂëõ¢ë:111TVV²cÇvìØAII‰$™O3I08ù¦sI¾IèÐÖïõTt!çeÙѳ²Z7¸EÝömT[nâÝ*·í yÊ…$i:6 ´˜<&L…Ûíw°ò…0©ÃîäÂø–×Ñlt½°ó²‰`Ë&ËVÍJžq-Õ±Œ›œ‰U»ŸÊú1] BôÓ@µT<™2úº¬ÇãaÉ’%\yå•$%%µO[¼x1sçÎmŸ&NVÃßçýwSí ƒ3œÑç3cÆx²\ƒ]7ÑK™,Ý÷Éù~&šÃßG¬®y€Dg6s&\ÆúÝ«Yºï)®-¾­›oẽ«%îÞûp‡›ÃàL$»è|.Ô¸³ðìYÎKKö1lÁÌÈ’b= ÖÕa._Έ1cn/GƱF†a¢¡a6{0¶—3bd!¼û.áI“ºôÉ,q8˜†X,šMì]»œ•›«ð˜:ÎÔbfÌEq²Äco,K±mûNòòr(.…ÏçkoEèp8˜rÁDvîÜöí;™8á¼cNbQÑGŽ¡±±‘¬¬,&Mš„ßï§¡¡C‡CZZÙÙÙ¤¤¤°zõjvïÞÍäÉ“¥»ŒÓH¶ô@Ób1u>£uEÊj>Üë#kÒ\®½ ÍŠŠX`ÕQ¾­•y)sF}Ä+k·RÞ<…‹’Ž}ÙjîQL¿z>ÃmaFïçéí>¼~ñQT¡}Y@™DÂáúZŽš:¹3nâÖYèº Í  H+!Î]K–,¡ªªŠçŸžO~ò“X–Å3ÏÏK/F¸aÁù¤É9í³»v+wLecí+˜Êh-hTP8Hɰi¼×¸‚ÝG·R”1nk+º²¨ýà?¼¸+—¹7• ùñà?Ä–¥Ïóâ‹n”¸ SýÁË,ÝŸI~V N¹ƒ¬Wž-[ȳٰjŽbz½íÓ-Ëìô¿e¶þ~özÑŽ%OÓ©Ù¼™¬™3Ûç“; ÓŒÅPͱ“¸é+ ÉŠ58üîßx|y9ùוá>ÍU9“>|„ؘF Fmm]§¸ŠD  #F £®¾žêÃ5äædu)CbQÑ_ÕÕÕØl6Z© IDATÎ;ï<š››Û§G"âââPJ°Ûí”””°uëVª««)((ÄZŸ[ä”vÀ)ÌHˆP(DØjùUf˜P(Ô’\¬ºíl­V$3©´ˆ8³’måM½*PÁš×óêóO²t—‰+"c£lå¢ü»Yþ⠼𠼸l'¶œá sX|çiþõîvŽxü$¹,ÄY«­‹Œ=,X@zz: <÷Üs<ûì³455‘žžÎ‚ ¢.G½<¬ßß0—¢¸0 µµ4b)¼ü¦j±¾"Œ nã?ZÂ^£m9ƒÝ¯=ÄË; ”R„k6±ä©¿òç‡ÿ£ÿ|“ò†–éÊØÍâ'—±cÇÛüãá?ðÐk²êéGx»Êh_¿Y³‚'þö‡Í!°-ΠGyÓ*òóÒ©hÞ@Ð1N  Â³¼œ ÊWu[†D‘ >ü¦Þ8’„Muu4ÝŒ¾bÓØÀúŠ„Zã®=_i²ûµ?òòΖ ‘£mq÷0üó-v4¶Îhîañ­q÷çßwˆ»‰Ï£+yâoïq¤ÓÝàGÌâ¶ESÉqH ¾ nÚD|\áúLÓêð8[¦©:½®k 1.žð¦ÍÊ’ÛòÑPŒÅøQLZHL°‘úz±#F‘â÷I¯ŽÖ6——Css‘HÃ0:="‘ÍÍMäæäpôh]·eH, !ú# ÈÌÌ$wz-Ðz‡SÃ0ÈÈÈ@×ušššNg5ÏyÒ‚ù´³¨Ý¾Ã–›ó‹r±øó[¶–ÓtáÅ$·Î¥•¬[V €fKbÔ¨b£\ƒ bóê–ˆlIL¹¸¸” ùä­õ<õÜ 6¼ú8›W–0{Á \2,9Åb`ôõVø'Ÿ|²ÛéO=õT§ç·ß~{Ÿêк®ó©O}Š¿ÿýï>|€ÌÌL-Z$I²b5¡Ö]È”X?¡¶F°Ê äwRPèf㑬<.§«Ã—²†ÃéÄåÐÀ¬fõ’¸ç}žo”¸iþè_<òÖfrn˜H¢æÀØÁÚ}3Yð•ȵ8²¾Šì:ˆ‘? ;u{öã-9:Èi]ôêƒÉq¥PªC©î·\³UKZL<µ¡ƒ=–#]d «±†Ú¸Ñ\ l¶-ÂA£âØXÓ€*pâr¸pjZk7eN§—CG³ªY½x#î«þ‹ûJÜ4ôOþúÖfrnœD’îÀl»¯ÝHž-HÍú*žÜusX[ÜUà˜p¹6­CÜi$æå 0•|6NĨ«Ç‹ €Õ1©lihhÿ¿Só‹`ÝíÆ¨¯ï²me[Ž!‹Ê ÐÐ4EsUœóI±ir^Ô ¿ß+ÆE0îñ÷¡iYÄÄÆàóù¥‹ !ĀسgOûyjuu5Œ?¾½ë‹@ €eYŽ-†aÏç“cÎi$-˜O7«–í[cj6j6¼ÂK¯m¢ÁfÕ6Ê›Ž}Qëi3ùò¯Ëo~z7–šìYö,Kw†{)ø˜¶eûÛßò«¯Ì"C, wɵ|ñÛ_ç®ye$xvðæ3KÙ9EïSqF°,‹æææN' J)<´2 ʈv¹°uûÕBwº‡#½ÞMbÕì¦"n2å4Ö7ˆq o8ÀÁPÛœ?g<ñê=A\£Ç‘Qµ“ª`Õ²gŸƒÒ¢$I.÷‘BÃj"1ˆ=<"Þ`“üp‚T$LØåÄÞåƒoawº‡NwGv³/n2å™454¡LjºªÎqwÙDƒ4xƒ¸F#³rDZ¸Ûë ¬8¹KÜY‘¦\·‹ša–yì¡L‹à¾ {÷¡ÌίY†… u)G.–ž¡‹íõó”³l=L6\Z^" cF¯#îñ{QbQÑWãÇ'-- »ÝΔ)Sp8Ž $šÀÞ½{1ŒcÝÙ)¥º$Å©'ߣ§™ut;ÛŽ˜`5QñÑT´½ U±m{#]Øú\Y„¼^üöxrrâѶÖâñ†£ëÒ¢uYo‡¾ý ¿#”-‘¢Ù71¯ê‡ü£¼†£ÅèT :!÷¾õ­NÏö³Ÿu;½ªªªÏeGÛúØãñðüóÏÓÐÐ@vv6–eQSSÃ3Ï<à 7Ü@BBBŸ×-ŽãŠÅôá·ñ.ëZ|A\1.P ”¢e·),ÕòÜ ñYÉS^Ýò i`Ë"'b¡ ¥Åk ÒÚ ¦m8çå¾GùþÃ÷°ÏUÊÇ T—·èM¦{µÍqÅèV÷xz uÍõdÆNèor=¸´71A? ~æ(þ ®Ø4]–kÛkª-îþ´¦ý5ËžENDÐâ‰s„0Z°œ#›÷åûà OÜÃ^×®O0å¶“àHO'Xy ÌŽý.[ø÷ìi9>ZmšÝN0àÇ1<¿SYrÁtð éXôWðÎK’8oãc ‚ò=Ù«„„›šp»c{Œ)]×inl"1±ûß‹Bˆ¾òù|L˜0+V0~üx óïìóÏ?Ÿ}ûö±sçNÊÊÊ€–;œü~¿œËžf’`>­,Žn߯ËÎè¿Ã]’ŒX5oò»_¾FÕ¶r§ä ü{xÿµWˆ ×±wû”-›‘ÃãШíôz¼`#kâå´.Úù5[“¯œL̆òÐÊÃFäH»w˜hÉÃ(H–ä²¥¯·;8p ªé})³¯Wi_ýuHOOgáÂ…(¥xüñÇ©­­åõ×_—Aþ€ž’Gnx9ûë§™Þ!ìšØ_$wz ºÖ„¦èp1B(d¢=.ž„¼™Ü¾èBÚÙšfâkh"h´&¥Ûv½e£ lË·ì§:a?1¥#Nò\}6.}¯^ͰቦuÜÔÐqÙ\Ôiæêœ=–#Ý [Z>¹áeT4\LÖqqWY$ï’4lz ÚoË7…LÐ4lqñ$äÏbÑuŠ»@“‡ Ñ2AѶ ìŒ;œw7WPXA̘ëIPV·»¾e9ùlô.á‚ hؼŒ¸x,ãXüY–EÅO @¬Ã‰Öa÷êƦf/¸ Ó¶UJɶ$C6ƒU¼÷Òû¨™·3¯áeˆnåæf³wï>FŽŽiš].¤¶Óª«P4º°Û˜“XBô‡aÌš5‹H$B8Üù. ÇCAA111477“””DMM –e‘••%ÇœÓHºÈ8¬£lßvK/à¼Qv|^/^¯¿»˜²lóÀVÊUÁCl]»–6UJ-eæmw0+«Ãåà!¶®]Ú5kX³f-»êŒWú;¼¶v7õ&Ä KIrˆC;>âÃíGqŽœÊ'îœË0ùqN[°`………Üy瘦‰eYÜqÇJry èùL¹ÈŦ¥ËØQÄT¨žÝï½ÁFûÅL)°=ž$g-5­ƒÁ6ïbçÁ–¦TZf)%¾µ¼¹®‚šúzêëŽP±ûž3ÆZîyŒ¬ßĪýnƺ%¹ÜÓ‹)°_ÌÁÃõ¸íih81,…a)4œ¸íi¬®£À1•)%ƒ]]q<½€‹¦ºØ¸ømÊ;ÄÝ®w—°Á6•‹†ÛÀžØw mq·“­ƒƒiYc(õ®eéúJjil¨¡rï!š{ &…–?–ºX±/–²¢8‰»“”<~ ɉ˜´ÞêjšX¦‰²,ÆþíÆ>ö”e›˜ ê’I7®SYrGÁ б>Ī—Þ%0í6®e#–hFfF:.W F×m(Eû›J®Û8xà0±11df¤u[†Ä¢¢?,Ë"‡innîv ¿ÔÔTÒÓÓñxÙ–øU ¥L"á0aÃÛ(®ïøzËLA?A£›×”AÐÄ>ƒÛ¿<›Þz¥ß2‡Âò{Jˆ3P­ÑN¦Œ¾.k³ÙX¸pa§>—u]gáÂ…x½^LSî=iÊ ~Ò'¹Íñ&K^ûoyÂD":éã®äæ›&òch¹L¹,?Å.W,w…EÉÔÁÔ3xû¥çytiS9H3“kg&àèi•d1f¤Ÿ‡ÇQkIóå~0 ‹kŠîäµ]û÷­‘ì„€¢ÞSÏþÊFF¸fpuñ"ŒHÏq"­T‹EÂù·p›c)K^~”7šÃFKÜÝrËd¦žËEWæñ«O°+&Gl#KR¨×44=‹Knº”7ÿó,y½5îÊæðñ9‰¸ÚZYjǵxÔr8oT€Õ«ÐTOû½½¦|6zaKJ"åc×RõØßÉMÀ P–…aY˜† "†‰]×ÑtÝá¤Ê×LÚMwàHJêt+¾´šLC/};V±æÀQTÕÿ²©í|LKæ‚[ïfv®´¾é‰RçOžÀ† ›Ø³·‚¬¬ âf‡šÊÄÅÅ1yÒ8LÓ”ÌBˆ¥”"°uëV#GŽ$--­ý˜ 9|ø0(¥˜Âmäç·ôÙS×ѰÛí¬[·Žùóçãóùú]ŽhöØxâcص{?ÎKõøøÜ’ö>)m®xÜŽ– ‹V¶PÍ!…f‹!.Á«u„{3ä¥ÉÂÒœ$¤Æ®o&Ô©QÉ¡÷ŸacÎ'¸z”=ºþûEš¦㎡²q'ë«ßâPó>ò ™œ3‡aÉÅýÁn[dÅÅÅñÊ+¯pÁžž~º«.аǸ‰uµÄÝîWÿÊ‹õ“¹ñš2’ZsHº3ŽøX{kÜ8°…›ñ†šÍ…;.§MfØ×ÆÒœÄ'; 7z w–=ɆÜ[¹®ØÑKÜéÄ$& û›ð=Î$‡ÍFÕ?þ‰ñÆ[ä&$B(BØï'ðëÆévƒËÁAOιWwóMÇ]=pà@ûw¬ C+uWÉqÇ_¢µ67JLž€¦i¸\.jŽÖ±oß~šššHNNfĈadf¤ …zl©,±(„86›ššÊË˱, »ÝŽÛínŸÁïDz,œN'“'OÆív‰Dú¼Ž &|x0{xXÝüUž«ÓŽÿ¿ãƒ(Ÿ÷ö÷DÓ8Á´h^‹š´`Bˆ!âdËb¨SŒ™ ˜öÜc<÷:Üxe ‰zKÒ¸1Ôq™c”ÄÛÄÛ¥Ø0žº®Й [ø "‡)3œ(%Í—ûK)EÀ ×]ÈȲ1Øl-£çš¦I("àë:0•JFЇ'è4²/û$Óÿùϼ¦qÓÕcHÔÁ ûhî~ G”Âע˥:ÆÛÐMÜÕobME^êêÒgwgÁæ¦~¾§sKÄ4qûmÔäç³÷¹çI ùIJN$>£å¢ Sëi¦96‰ÌOÝIƬ™„Â]÷ ,6؆V,Z!õ¡.“E”RƒARS’Èκ Ó÷b8& öº¼Ä¢âd˜¦I~~>¹¹¹ìÛ·šš|>º®“””Dvv6#FŒ  õ+¹,NŽ$˜…b€È­ð":á ƒ±·~ƒ)ÊKSsˆëˆÄ:ÂÚç³Ù›È¸ù72‹Î×ED"‘“ú‘*Ç…¡Á¹™¸èÛ\¬ü4{Ã×sŒu˜Uÿz‰¼IŒ¿ö“Œ²+"=v!ú*‰1{N¡~ÃGY¹Š@Íbò‡‘>m*“'ÛÝeàŸŽ$‡‰Å3Ÿiš]/²Fg‹Bˆ“ ±ÙlQVV†®·Ü cš&‘H¿ß/Ýñ I0 !ÄYH)%© eÊÀßX‹ ËÕr™y÷טg³yZn-ƒCâo(2 zé½}]?èùÌùÌ×¹JW„ý^üi¡7ÐÂá0ºËEê%ÓÉš=«ýdÒ²¬ö @ª›–Ëm¤ÕäP#±x®’XB Ó4ñûüLJœ$I0 !Ä -˜{ýb°øë>q-úm(Ä©fô6·'ËdŸJ©^ï&8Ñv—ýr.X<È~Bˆ³“ “+„B!„8kI«I!†‰E!„8{I f!„8 IB .‰?!†‰G!†‰E!„8{I‚Y!HÛ­ðƒõãYnÅb葸bðÉ`?B ‹Bqö’.2„bÅÅÅ ÊgMÓˆ‹‹;íëB!†:i5)ÄÐ ±(„g/iÁ,„(!!„„„A[0Ø2´R ·Û=hõâ\''ÑB Òï«CƒÄ¢Bœ½$Á,„äÕW_ì*àñxxæ™g¹&B€·ÞzkP/: !ZìÛ·o°« „@bQ!ÎV’`Bˆòé;æv„B!„BÑ÷Ýwß`WáŒ%}0 !„B!„B!„èiÁ,„8c)¥‡Ã„Ãa,ËÐ~Ýt]G×uœN'N§SF¼B!„B!„è†$˜…g¤p8Œßï?eiµ%¬ à  ‹Óé<%ëj_g8@uM¸Ü’OËý%&¡îáà+´lEŽ«ÿ@Á¥œSétã0¾WþLãê{Môäq$þG$åÉM>g‹ªw_â+i¹¥“5õj¾7;½û[º¬£¼ø×7Ù^6—o\’ÚÿÛ¾ªœ¨(¼¾FÞõ9™—‡­sEØ_]Á{jØ0qÅ&rYa!ÿ•GÌ)­“B!„âl& f!Ä' NÛú,ËÂçóaY11œ†1ÃÔ­gß¡:öבÊ%9)$ìZz`ÃyÙÉ¿0 ªšæ?ßÿT¯ÒÜFÝ÷¾F`ÚÃäÏ~ª×‹ðÒqä-Eâ­ß'}X"ÂèiçTŠ}h°ŽòÂÃK(w-÷MO>EIXì æð2¥¼¬xqÛz›]‹gÌä1¤fÇÜE—•3ïÝ2‚|tä¯8»M!¬ÌR.?.Áì­ÛË×·61±t Msà©?ȯ·må·ŽÉ|3Ã~n]XB!„B I0Ÿ!ZÛ¿SíÏ_8p]1„ÃáÓš\î(´w›10 ö|´…ÕµhºlúiMòh‰y8KÇæ8ÃÒKÖažùã[x®¸™»Kl'ž¿[AÂ{vØo’:u¢ LppÄ%’(„}l´XŠ/˜HñÉ®t Êé‘â@Õî?dãÒÜáܨíâÙ.óDXQYC «„¯å' WÈ5®ã»•µ|6#›ÔSV?!„B!ÄÙLÌgº>æÔÒbOM=Î^Ц=;ðå—’ë:Ê=÷(¥ðû»kc«hþèyžZq˜Ž—T,3†q7ÜŬüciCå-çÕ§ßB›õY®)¶E½\›@ €Ãá >™5bS²—›Å¨¬0¾½Ê¨— Yûµ¯¾I°º‡{ñm¤]7 G{þÛÂ,†º¿ˆ¯ªGážõiÒçMÂÖ§Lj4åDˆløu/½NàP$ãž}7és[ç1ÖPsï·ñx[·ô w²çÎ=Lþu…ýH¬;ˆq91ýØæê¾ýkÛöüÙw÷ÐÆ}ƒá_¹ ›`xâfªko'÷Ò£4¼¸˜@uZÉÉ¿÷z ü„Wþ•ÚÅï<@ÏOü¼Ï’:mºjéø{=îÑõø·Ôb=ñú š6ÁVv7ÙÿuÎ~¼ý"ô]ÀO®-ÀÜËÃí¤øî¹ÌJTì^ú< OåÇפ²úϱÄQÂØÈA><à%ìJbì” ¹éâl¢ÞTÞªœ6}È «ö±§ÑÀ•’ÅùŸÏuãS;t¹`pxÛG¼°r;kChqÉŸ7žë/A–0ðăo±*ÐÚÝÍ»ÿá‹ïèäϸ–oÎHiMüŸ œsân4ŒË¹oq€qù~¶ì PTÊùZïîô;r2Ÿ¹a ù¶(ºãˆú½ŸˆFΰ±ü{¤ &KwwEØåUäÄÑöU¤Ì Cñú¨PÚñóaåÕ¿½É2Jùü“(ìï5!„B!ÄYOÌB´±ز|®O”ëÀ–œ§ªÜsP8î¡Ïeä‹ïâÛs:ÜâíÛÂsO쥤c?ºÊËŽ÷¶¡rÓ‰±kÑ/×eY„Ãa\®¸Z`'¿¤˜a*ŒòÑ—Þ¤ÕŽ‡©~d5®›¿KÞØ Ô¡·©ÿÛO©Ž¤PpË4ÀÚñgýa%Î}•Ü{òààRêžø.‡µÿ#÷ªQ'tO\ŽÂÚò{ªÿ¼Çu÷’{~ªr)õO›jóäÍ…f¿Œß,!ÃÜNýý_'0õä^5 l}¹5ßdû¯ò²/ŸK&e£;¸¬z>Z³‹÷ÊufßzcQc;ÔŸ,!UyñüñfjßdÄ=Ó[ê¡;èrý`ïã©OÂìÏ‘ga9K°k ãýqè5¸oþù¥‰˜ÛþAíSÿÍõ9—d·,ï÷aŸù?ä–=FõÓ/úÄOÈ»d5>MÓ®ëÈs¢¯cœÜTÔÊjUÕGتG;aV™Iumˆ¼ÒÔöî6’|ý\~’ï ~Ç:þòÊ;<wŸß·®z/GQ·ñ]\êcüå³¹o¸ ϾÍüëõ7xLÍçsâÑ€ÈþõüßËyÅL¾QèÆ8º/çf ß½"‡-Û¾|;7›µ¼øÈì{ ÷NMB4ÝÖž`=a9}x_'ÜÖS.ç{cM”òðþ ï°µ›¹T0LÒ¤Y|iäþøÆöϾŒ¯L¨ä‰g6ó~U 7ˆ¢œ(ß{4¶d€•‰ß‡Þò újx`ã^VEÀ2  :}8”E(l&‚qjººB!„Bœ%$Á|ÉÊ˺¿ÿ™ƒÓ¿ÂÇFÛ!´•góÌùÿ›ÆÇ¢™ûxùÁådßuUOn&¹TQuÀKÈÂ=æJ®Ÿ=Џ²áÃëyíåå쬣¹Ì\xgè­ÓßgOsåHgìå㊲lF9Ï?´‰¤2ƒUÍø½!’&_ΤðG¬©ðòp¿–3†cöa^­¥.¯¾´œ= GR —ÝpcSmкÎä±:ö{üw)7Ì/äèÒçYYuÛßþĺø2®¹9‹>Éu¦Ùq|¹·_‚kãK¼¼¢‚æˆ[ÈœgR†4;‘p8ÜãkV°™†`Û3EÇ«¨}y:Xªeš·|9[§3Ãþ›£^®«H$2@ f…ñÑ÷ŽlÖáJ g©NÀ§AÆíd|6¿7¥@£ÏË/£¦ÿœÌ+Æ·ä²î$ãèzª–/%<÷Ó¸¢É^©(ÊÑêð¾þÖÄo’uÕÅèõ)2ü‡©Ù¹C¡ihvhö–$–îDwô¯«‘Œâ1LØ]Íú7ßc÷Ñ êÅeìÌÍ¢¨¤€”¨7fk}hI&kºÍáì9ùjOê½? !ù¸9¬4-^>ç2.Ó²|æ½dÔÜÍ¡%¯švNçbJ q¥Án?BÌye8³|8cþƒå.{çÌJ'«é(‡#FåQ’²¨ª¬Ã(Ñ8TÇð!b ˸|˜;5æ>¶§’¿nÜOý¸2úÒ½t¯å¨:–¯ª&~òƒ|þB‹òòrJKKNø·ý6kqŽNd]ÕQ¬Ñ9˜•{¨MMÅÚ[Id| öÚJªãF1=ÎÆæ]Jû*Ÿ¾6 ›QÍÛ~Œ7v|žëK»äÌØÏÛϬÄvÍøÞø43>¥Cd?o=»×u_ä;c°êÖòÔÃÿfUƧ¸$ņæÙÃáô¯qÏüôæUüåçÿäý˾Âç>Ÿ=¸…üæ]¶N¾ócú2ï–=· çü/óݲ8š×ý?¾´žü;.$šgâ¿ÌÝŸÏÄnÕñîŸâý½_åú«¯¥rçR2?{Ç[„½[YwÒ뼈²ãË †ð ŸÊ‚É·ã6©zíA[UÁøëF!)æÞ™¦ÝŒÆ!¶”;™° Kµ,£<å,ßšÌì›s1–÷Ðëf¹“ªÇ)£a»àv’×ü£ßû,žó&[r“ßzX7vªb캊÷:,jEPz†Et f3Šr¨$tHá¸j z{&JÇ1ó»äÍ7ÜôEÌ1‚ÑË^çqÃræÖÇ3l 3ŒÇË™HlR7i6Ï.Bõ±Äî„sâ*‹þö.B>Eïiô蛆jIi síæ`½Æ&…ㇳ÷£#T{c8l¤2+íØíÜÛNAN2ìi¤Æ‚´>hz+'5XGU³‘ÃS;ü˜°1lx&®õu Âp7$”ŽçÊ­ïòäÃ/±¦0‡ÑÃsWTÈ¥±}K£T9ç6ÅþÊ­|ÞŒá&²0ÕAóÞæ—ä²B!„âÄ$Á|)//ïô÷Äÿ—uSŠFʈa„ß>ˆOeR·ûYÓ/A½»›ƒF1ªŸMŠæÛpÆç&)LÁÜ IDATœ”ÎwÂ,-ì’5mgGÜ…ÜUä"äófÇŽÂ8´î øÔ;A¿âÆqéØwx©¼žiSÛ0ÆŽ‰iY‡-“œä\âÊ’0 ÒÉIöÑìUý¼fý6Êc§pçH;AטI {ù*‚S˜èl#˜8>‘H @„X²³mìl`„#(f0@ÀÞzJ=ëLv_®FlFnÄï‡Ôè«}D@Ì'Ð}÷]önfö$.‰5Á”‡íïm#eÎMd›ªzHêuY®–5ÏŒ›@êן&±bþm ¬ø- ÿpwÇÏɼ0”²ì¸®û_2§$v^V‹åDwÓ·‹¦P§3¥hض’Ç6Æ2ÿÎK ¾ò*.MáÞ« H8M5èXÐŽÏĶ>à~ô†gØpà zC:É…5›ØU™ÀÑô zùF·¢ŒéTŽ‚–½Þõ½w|÷Zl6×ܾ€éÕÙºï;7­bñv&_}9·•ÅGÝZw Ê9gi6Ü69ÒøÁ”\ÔÚe“¡ØmtséX!„B!¢" æ3HiiiŸZ0¿³¶ûr´ìB j7s0”ÍýiÏ)ÂÜü»ªC„+k)›Æ^М8ÛÏØŽ˜Bþ ]¡*à#—GL[ŸJ¡ôˆËÃÕ–”°,bâã 4Zs.\¶öU€îÀnkMØ(šê¥ˆn^ðâ©ÞÄ£¿[Ýšö°ˆèY ÓrµæÂio+Ôj©gO‰±XçñÍ•ŠUËXU^C-XK q˜´‹‚®ë'NîªF¶o©§hfº©P(<Û—³=u67e™D"=$Úº,×{=—AxÕßñªKI™6Ä‘ÓI¼æSþqÕ¯.&é‚»pÙFàÊÿ¾*ô«¯l°PA¬ˆ«CK㈦[®\ ß¾Xd¶&úæ¶ÑX1’¤«.¢íš šMem©Ù¾S*+½äN›Á…I‰XW”ñáKUìó0>®?ž„øQ¸RüøwíA+i}?á]Û±R/ÆÕSŸBý⤠'ž%ÛöbfŒææ˜4¬œ&–o1pd¢cëÎc"TT5@ê02ûøÑí­ÍJ~B„­Uõ£Ò[PX¬:J01Ÿ¼˜–ç¶ldƒμqØž3ŒéÓ&±kéKü~å.f—NâØXš:6L³»ïK9g¢ÞÞûÑb¯ãt&1¾}<‹ O=>ƒgôöB!„B &I0ŸA¦3`ËgdæTnßEe\S]±XEq¬Ý½ u(ƒ‘óZ3ªÊ‡Ç§hÉZ(𛉉swÛJLsÇëóൠµÃ Z|q^ ZîÞ¶ð4y‰MˆC£µãÛã3y½eö¢˜W‹K ¡`ŸýÜ RÚ.‘@H$Šu ô:Î󷽯3›³ùÔ=7’æŽgùÙª>ÔçM‚Ù¨ÞB9ãùx&´ôrá§rÏAꪟå÷:,»ñ/T–\Ås†cëv¹žÙ¢nþ{ªØÐ‚Ûhú÷Z,íK$•f£y¶áßÛ€–‘ß’ÌÕ øÿìÝyt÷ïýwUuWoZ@b;H „!ã€Ãâ€íx¼@lb—±“'qnr'sϽ9IîyÎ<7çÞûœy²ŒçÜØÎÌ$¶3™dbâ}yâ=ƒMÀ؃0«…$ÀfÑÖ]ÝÕ]UÏ’°€nI(Üæó:§O×ò«_UK>|úëo•^{9í÷üý΢rYVfÉgî¡Ý¸ƒ‰w~Ë€ ë ¹Î,‡ðst"{0ŽaD°FÅ´3Ï(Jþò3´ýì>>x±ŒŠùã Z^âØƒ¿"·ä'TôÍXñØ"´m\C×ì[ˆÆRärcˆM©üÇ7â\tյ̥§ó˜¹Üõ%cð¡ùp²ê)ûË‹èxèG­úå³Êñwþ¼pŒØMŸ%bg³Áèñ#qÖíeÄ¥‹)1ÂLŸ\΃Ï¡þ¢'}ñç¼ûl±lB˜cï¾Á#ïBíÕSNþ] B¿ó£Xºp,^\ÏšQ‹øÌ”(]ïmãß79̼|SÌîkŽf>àå—[pŒ,›RJ(õ[["#Ê(ëû³” £-žß±Óç05’¥ÃKP3.Žq&ó —êâ¨Óýà½.rN‡Ž†1±(YBÂxÌ`;°æ\öáfÉäÑüë›ûù§Š0Ÿ¯´é:ÞÂ}.SIÅiã]ÞÛ¶‹=‘I,«)S…¸ˆˆˆˆˆ¤€¹ˆ W3D™<ÕfÃkD?q ˜Q¿}=öE,ˆÒý¿¼{MlÙÔÌÜË&qö²asÕ×LÌÛÆÁªªgV×£¼º«kf•bd:I%”TÍ¥!»†õ»¸vV)þñ­¬ß§áo*09:Ì?¡žk™0—9ɇyö\]7‚PàÒq,M´¢¬ÿ^¨F”˜ÝÆûG²Prfë÷œ'ÍÆË¤ñåDI“î:Î[ÚE:˜òg}æ …mÛär¹~F¤Ù·u/óo£Ä zžWÊ'þú¿±4Ôôù4ýá^6M¾“U32´%³Ž+,>›Í~à ¼ì¿3>øŽ=ùü¢âãˆÌ»ƒñ7^ÑSel`ÍÿU_ñÇÎÁDÆ=co¸´gŒ‡ûÜ÷hyrÿ‡!hËßs`-`ÕSùÃbÄsó˜ ßdüpôñÿAóï’ÕÄ—ÿñ9óä€Ì(%qãw(ûÅÏ9òÏ„*°/ý/TM®<ã€Øè³t^Âåžs‡?ýQeü3Gÿ.ޤ1GÕ“¸ù¨\:~ØÏ;Š*ó ã'•b¥“Æ2Æp™2öä{22~æÖWø‡';q##˜sérniHœqXÙÿ<£?±Œÿllæ‘uÏó?™%2b 󯸒ë畞3ê/.åëÁ<þê‹üÏ']‚H SjæóµË¦srÓ›y˱û‰M¬ùõ\+FÕ¼Å|k\œØÍÓŸƒzžÿçÕ¶ÿœð2?|0Gó¹¯^Ã#ƒÇ,¶sõþFúûìçdÔ þ¡~?Ýû·oó°c¥,Ÿ5›¯ Ÿ~oiÞÝ´™'Ë,UÀ,"""""ýÎ’÷7W¾}Fžåþ¶å{7¹Þû2ó,[}–Í>ë}ßó½–455ý°ŸÏ<¬îÙh²¼lûóRG=«äÊ‚–?ð“ÙË‚o¬fI%Àû¼ôO?ãÍY_á®+«0r»xôîÍ”Ò`ç-tºU—ÜÈMŸžHØÏWÂkâð']ó2»Ú\{"Ë¿p G…0:Þá©5ϱ㸠áQ4\sW͌㻻xäÇoQ÷© ^+ÏßûåŸÿŸ,3 hãµûƒsÕWY>zÏàÇŽctnã©5Ï²í°ƒ‡MeÃUÜzM=¥Þ)çÄã½gþ‰µcïäöO$HîxœžlÄ-ÇuwLã­†sÐÕgÞëï˜Mó<ĆÃ+ËEK&°oûn¹iî «â.TAÐÞÞ^°sÐþ&>ÞÉ¢/|š±A¡˜ØçÐúß²mÜÍ\1Ý:ƒãº™¦IYYÆ)=w·lÙÂÒ…Õgü™N0lÂÑ&.Y'9`È-’ŸÃºß¬á±Òåü¯ó‹ìå©ûÿÀsGO¿Ë¬Ê9Üõ·ó˜dbùxóòø¿<ÅkS®äüå8=#@DDDD>ö*ÆÍþ°Žž²Ë`†ˆDìžJÇÏÍÉù@ˆH"„—LÓ]“jaÇmÇ¡»M®I8ÁÈ8¸þ™ŒísNÓÀ ÀϹ¤39‚ÓÎ V$NØwHgŒP„˜mA#ãø„†åœœ¹¬òI§sÃýH°%×uI&“ùwZQÊJ-ÒíIÜ~~˜áÄ"Ùvºz ò8€D"mŸ^áþgÌ"Ãb0Á°G²#EÊËs³[F–E jù8ómãÇÿº‹é·~–ÏMT¼,"""" ˜‡Nÿf,"÷l4ú>­/³\€—!uRFç㦒¸§ Ü4NߌÚÝÉÓ¿xž}'õ¨µ˜´ì ¬œ'íd9Ÿ#ãäkk#“ì»ÝÃM9']SÖq†0öLÎ ^&EïÇ rR}v{ÃrÎ<ó:©“Öýu}“ضïû8}ö½¼4mÏ‘M¶qÒ:Èãb±XÞpY¤¸X$ÊJ9×ÏC”"Å’•UÌW¸,"""""PÀ\$ V"Ÿk‘zV}{Þi½ýlšLNõ·rnD£QLÓÄqœú7LÓT¸,E"Æ’[?Ï’Ìß÷I&“ø¾O4=gçù¨SÀ\$îÙ8´vÙ« _Ë‘×uÏi¸Ü—ã8'Úfˆˆˆˆˆˆˆˆˆæ¢rô 3µÊØÙ¹Ž¯€ö=;IN¬¥*r¾¯Eò ‚€T*U`oŠmü‚—Zž§—”]´ŠÛ–ŒïY÷éܷާž}É«ncј¾_Ú8|óU^ÝÖLWÎ Zs7-ž÷)¨Žã‡Õ“YDDDDDDDÌ"ò³mí&"5‹ªˆÂÃ"×u ÷\2d©æÚ»nåâRðÒ´§r€Ë¡ÍÏðâQLŶúèsìgxéh«¾xããÛÕsÜé|ßÇu]"} !"""""""¢€¹ˆ KErÐŦï£eñ·¸®:™wxèGâ­ø7Ïaxûxâ»c!þm+#j4w‘Ifˆ×]ɪå3HÈ^ÝC›yú‰µ¼{Ì%WñéÏ߯%£ÍžíëØÓ‘%bÎ×ñ™ú‘X¹F¾çmÊë ZtêÊPþ‰+˜ï¾Éëû»Èt9Äç®äÆ¥“‰zg0Öè¾–§_ËžNŸpù,.ÿÜÕÌ©° çœ#æ˜4¿×‰ë¤`Â¥|nÅt>xîaÖ8ŒõÀ½l*©çÚ›kùà™Çye_'^‘ª%ÜxóÆ­[‰ ×u ï Ò8™•™ãËžº3Léä¥Ü¼¤œÝ=Bgß]¹fÞÞYΧoŸCi¶¶¶¯#›Í*`AsQY½À§±±‘ÚÚZ€—óöm6L¯.cÓð«Çã5íáHEþÞ&²sg:ÒÄÁÄ ',š;vÑZyw®¬ÄÊäÅû~ɳ;W³ª6ÏCÎrïñâïÖc]ûuþûÜ‘©’ Ù÷xá¡×ˆ|ö|¿®ÿèF~ýóß³aôY2ÒÂèÜáQßæË+FbvlàŸÿ÷oYwù·øÚêq„ÒÛøÍþÈ;Ÿ¸¿ˆžÉØf^^³{Å7ùA}‚ŽMò³Ç73ño0 £sÍ%ßäK«ÇòòÇ{ïaÝÞ»XuÍJšÞ}Ž1_ý2—”ø$ßøw~,ã®ï_D—ŽcI,…Ëç•çy…wnz//ÿ{^ÆÇ5ƒO^ºˆ™#C€Aéø±N9N®€öÛóAI£ÿ¸†W›ÚqÍ‘Ô,ZÆ‚É Õ±÷{""""""""ÅeE¤±±ñÄû`–ó39u2ns ÉÀ£ew3c/f\ónZr©æ¤§Lc¤XSh˜ÇuœìHæÍÅÞÝ­ä‹Ö¼ÖìL,àÓ52É$iB„z¶¿¿˜%SC¤S)ÜD—ÎqØÑx ÀšÌœº(®ã¶Æ0~D³ëËÉ9é`ãG$éèê 9ÖkÝNcì“,"J©›Ïäûٟîg*óæ–‘uœLŒqã,::rn–€/íà¤]¨M´y3ëßi¥=•# åÜ(Ø 4«¾þM¾ñõoñíoÏÕ;lxz#‡{žséç²xyœ]‡÷Ó1c»úëÜyÝd½ô »Ó…Oåûzx¦ˆˆˆˆˆˆˆ(`.*½ʵµµƒZ.Ä7IGšhÉd÷{•ÌœYCuÅ~vÌÐÒt„IÓÇu©†}â G£dRiòEk“ÄIĉú= ^A:…“ˆé }ŸhI NÊé®#5"Dzûá€&d}8FÀ‰‚ÓAŽ œ.:®å?ý)ÿøÿÈOï~’½&xî‡óØ¡ÞIýîëÌ›ã/çK7ͤ}݃Üý³ßðBãñ¼áºœ;¦ÙÏ_YA–L*EG{m.¥³?Åë­íý„Ò½óN¼˜K&[8íí¤KçÐ0ö‡Ž‘û½‘ ˆZd‘|ÕÉý/×çŸÈšÈ´1ÏÒ´cM‰>‰á×$ظ{;Aëh¦]Õ“âI:“”w?0­£­ƒh"ž÷[ #^B,ÙI—}%¥$º:éô¡Òðélï"VšÀ §DôÔü¯¿‡;ÓdÒiŒ²*FGuF8¯l»pê$ß§ùˆÓ]edø`ë&ö$ª™ZÒÿÆÈfšÛy½±9ø6ÛÛ'1uTá;4툈ˆˆˆˆˆˆ|̨‚¹ˆ [sOfçù½4T—uo©¨¡Ú{Ž7«§1¢'3¢3™i¯çþ»[èt-ª.¹…›ªÃàç)ÿ MáÊÛñ蚟óÿ>âØYþ…ÛX8j<Ëo»Œ§Öü’Ÿ<éBx +neQ%øîéÓ c—~9O­y€?æàaSÙp·^SO¿Å¬æ(æ_:…ú)?)ÇŠ«lÖ>º‘£^ˆP(Á”%7pe¹ª—Ï'Û¶q'/f¿Ï?ÉSm9¬P˜Ä„y\õÙ‹( Üþ[›øeÌ_¹œŽÇãþu.Fb—¬¼†I–O6ÏiLÓì7è¹ gZÖß\ùöy–ûÛ–ïÝäzïË̳lõY6û¬÷}Ï÷ZÒÔÔôÃ~>ó°ºg£Éê>'ª“Zî=&/+BE†[4Å4MÇé÷¡ÃÅ4M…Ë""""""""y(`–üBuÜò÷ 'µ’ ðÈœZ9*rضM8Æu]\×Å÷ýa ›MÓIJ,Âá0¶mcê¿-"""""""r*ÌRÀé­$D>j à ‰‰DÎ÷¥ˆˆˆˆˆˆˆˆ\Nít """"""""""2( ˜EDDDDDDDDDdH0‹ˆˆˆˆˆˆˆˆˆÈ(`‘!QÀ,""""""""""C¢€YDDDDDDDDDD†D³ˆˆˆˆˆˆˆˆˆˆ ‰fÌ""""""""""2$¡ó}""çZ¸®‹ëºø¾ïû§1MÓ4±mÛ¶1 ã<\©ˆˆˆˆˆˆˆÈG›f¹ ¸®K*•"‚~ÇõϹ\Žt:M,öíst•""""""""ÅA³ˆ\0Òé4Žãœñq¾ï“L&ñ}Ÿh4z®LDDDDDDD¤8)`.ëׯÒq‹-æ+) ×Èïôµw3³{W å‘!r]wHár_Žãœh›!"""""""" ˜‹ÊÔ©SÏhüþýûÏÊuäga@ö]»÷mf|ùæÄúë[Û瑳(R©TÁýî¡-<ÿÂZ»bK¯\Ì´’ü÷®ã8„ÃaõdA³œ ¡),½¡‚x¿á²È¹ãºnážË¹V^~'×~¿žfsló~ýr#cVÔ‘È3Ü÷}\×%‰œÕk) ˜‹È°T$]lzð>Z‹ëªCy‡‡~ô(ÞŠïpó܆·'î^˸;ràß¶2¢6à@s™d†xÝ•¬Z>ƒÄ@¹±·Ÿ—õµwõ4òð=o3bŽIó{¸N &\ÊçV4PqÒu%y÷Éxɾš/,³ã©Çye_'^‘ª%ÜxóÆšþÇ— “ëº÷ùGöÓ\>ŸGgikËžu1Õ^§É©£.–ÿ˜l6«€YDDDDDDDÌEeÑ¢E´¶¶RUU0àrÞ¾ÍF‚éÕel:ð~õx¼¦=©¨ÀßÛDvî,BGš8˜˜Áâ„EsÇ.Z+ïâΕ•X¹ƒ¼xß/yvçjVÕô3Ã0é΃-ŒÎ]4—|“/­CÈ?Êgu{ëøìÔÞñY¾úÏe–ñÅUÕ„ßþÖ˸ëûÇ¥ãXKá²ü<Ï+¸/×Õ‰[>…P®»ÂÙËÅ)/綠ÇXþ¯¿ùDDDDDDDD.$ŠíŠHkkë‰÷Á,çg0rêdÜæ’GËîfÆ.^̸æÝ´äRÍHO™ÆH°¦Ð0;Žë88Ù‘Ì›?н»[9ãh͚ʼ¹ed'cÜ8‹ŽŽ4A÷åйý Ù5“[nšK<çaVŽ&Ú¼™õï´ÒžÊŽGQ³ ùslxžOØ2ñOl10-œWøß÷ î¹(`."½ÊUUUƒZ.Ä7IGšhÉd÷{•ÌœYCuÅ~vÌÐÒt„IÓÇuº†}â G£dRiÎ8Z3"ءްÎ'‚ÞÈØÛÍ_ÜŽ`z9À9_ºi&íëäîŸý†Ÿy¨-Ò‡iþ«.‘Ëå>ÜäÈåBØáÂ_kô7ŸˆˆˆˆˆˆˆÈ…D)Iž fÀšÈ´1iÚ±‹ý‰¦EbL¯IðÞîíìoÍ´‰V÷¸ Ig²7èhë šˆí¦)T jLà3_ÿ&WškytÃÝA²ŸÃž°ë¿ò_ù»[¦Ñòälé,\M*2þakD±¶ãœ¸Õ½6Žu”1²¬Ÿc,k˜¯PDDDDDDD¤8)`."ÃUÁ Q&OµÙóZ#ÖÌj@ÉŒØñ{ì©Lém±ì5±eS3é‚Ô^6ln£ºn"í1"fœùŸ»’øë±þ°‡ßñ>‡;ÓdÒiŒ²*FGu$?ƒmÛ÷£j¨Éîà­æ49Úßæ½Šj&÷Ój<Ÿ…«)>zÈ_ÉW<˜åÓu÷avžßKCuY÷–Šª½çx³z#z:љ̴×sÿÝ-tºU—ÜÂMÕað‡¹š8ðÉÅærýÕ;øÙc¯0õ3ðìc9ê……LYrW–« ³ mÛ8Ž“¿³_Á'W\Ìû ÿÚ鮜͕ŸM,pó¶ƒ1M³ßÀZDDDDDDDäB2œ©]såÛgäYîo[¾wcë½/3ϲÕgÙì³Þ÷=ßkISSÓûùÌÃjýúõ,Z´ˆÖÖÖÕÉ-÷“—!5É9®`bÇc„¼4©Œ¹]<òã·¨ÿîíÌ‹š€ŸËq½Ý.BD!¼dš\ÁåÞSÇ ûé¬uÒ>#%öI»‰„z~‘~6C&ëì²!2®ë’L&óî3¬(‰’(aÓ ð\R]Éž?§K$yæ-[¶°taõp^òiÊËÊÎêü"""""""*+>éÀ:À+ðòó¼}Öƒ>(U ö IDATÛN]îûbëý½´¶ fß ©‚¹ˆ¬_¿€ýû÷ŸØ6˜å¼¼ ©“²67•Ä=eXà¦qúmîNžþÅóì;é©{“–}•³ã=¡pŽL²7Nî»Ü{êTÏCûNÞäÒ¤zVÔ©W"òç±mß÷qç´}—¦«==à±XLÕË""""""""}(`.+‘ϵH=«¾=ï´æÝ~6M&§cùh‹F£˜¦‰ã8øþà{›¦©pYDDDDDDD$Ì’_¨Ž[þ¾á¤Ö™< "ŶmÂá0®ëâº.¾ïç ›MÓIJ,Âá0¶mcê."""""""r*ÌRÀé­-D>. à ‰‰DÎ÷¥ˆˆˆˆˆˆˆˆµS;ˆˆˆˆˆˆˆˆˆˆˆ ŠfÌ""""""""""2$ ˜EDDDDDDDDDdH0‹ˆˆˆˆˆˆˆˆˆÈ(`‘!QÀ,""""""""""C¢€YDDDDDDDDDD†D³ˆˆˆˆˆˆˆˆˆˆ Iè|_€ˆÈPA€ëº¸®‹ïûø¾?ls›¦‰išØ¶mÛ†1ls‹ˆˆˆˆˆˆˆ|\(`‘¢äº.©TŠ ÎÊü½u.—#N‹Å°mû¬œKDDDDDDD¤X)`‘¢“N§qçœÏ÷}’É$¾ïFÏÙyEDDDDDDD>ê0‰{6­]öêÃ×2@ä£ÀuÝs.÷å8Ή¶""""""""¢€¹¨=ÃL­2vv®cx´ïÙIrb-U û.Ýû63¾|sbêy+' ‚€T*5ð¸®Fžú÷0–}•kgZt¼ù0¿~õ}¿nñ½( Ÿ»ƒe¡c÷:ž_¿›¶\€ËœeWðÉ ù+•Ç!«'³ˆˆˆˆˆˆˆ ˜å|ó³mí&"5‹ªˆ¡),½¡‚¸ÂeÉÃuÝ{.]ì|e;AÕ(¢!0qÉ|ï²'îªä6Öüj/³&˜ÙÅ«ë:˜sû7Y0ÊÂÙ÷xæ &ß²ˆ±yþÇß÷q]—H$2ÌŸNDDDDDDD¤ø(`."ÃR‘t±éÁûhYü-®«AæúÑ£x+¾ÃÍscÞ>ž¸{-ãîXÈÛʈڀÍ]d’âuW²jù ²_÷Ðfž~b{:²áQ̹â:>S?+×ÈÃ÷æ™kÙ8šŸ{˜õc=p/›Jê¹ö–qüéWoQûw7Q`Î{ÞfÄ“æ÷:qL¸”Ï­h Â;ÌO>Î+û:ñˆT-áÆ›ä ¥¸¸®;Àˆ€®Æµl+[ÌÒÐKlíÙê§;8žþpÌñ76p¤ú3L0Á|ŒH%#BIÚÚŒDåÆú‹±³Ù¬f0•Õ |©­­p9oßf#Áôê26ø¿z<^ÓŽTTàïm";w¡#MLÌ`q¢¹c­•wqçÊJ¬ÜA^¼ï—<»s5«jó´È¾Ç ½Fä³ßàûu¥øG7òëŸÿž £¿È’‘F¾¹ÞýOÜxÍJšÞ}Ž1_ý2—”ø¸]ï°É013gç.šK¾É—V!äå÷Þú½u\í¾ÂÚ`w}ÿ"â¸tKb)\þXð<¯ßýAg#kßÁò[ªÈ­-çZÙÖhsÑ#ñâ3ùdõïyî™Í,l(ãЖ­D—¬¤Ê„B̺‘ …b·"ÒØØxâ}0ËùŒœ:·¹…dàѲ»™±‹3®y7-¹€TóÒS¦1Ò¬)4ÌŽã:Nv$óæbïîVòEk^ëÞ_Ì’©!Ò©n¢Kç8ìh<ÖÒå«×Íड़´{ÒÜÏ9•ysËÈ:N&ƸqiÌÊÑD›7³þVÚS9Âñ(j¸ññÐo{Œ “¯lgäe—2Î˨Avönå½qó™ë¹Û|“ÊÙóuôm^}ée©æ¢ñ‘‚á2t·ÉÌE¥·B¹¶¶vPË…ã¦3éH-™ƒì~¯’™3k¨®ØÏ®ƒZšŽ0iú¸î@Ö°±OÜ!áh”L*7x Ò)œDœHoèûDKJpRNwÌws ~Îv¨7Dô €süå|香´¯{»ö^h<ž7—âcš…þÊ èܱ–ËY:Ö#[(ˆÚرí5MÂì¹)‚®í<õÈN&ßôŸøÆþ_¸èøÝ+´d‡r""""""""µÈ("ùª“û_®Ï?‘5‘icž¥iÇ.š5|*ïI°q÷v‚ÖÑL»Êê$éLPnmDñ¼ßJ%¥$º:éô¡Òðélï"VšÀ }Fs zN o‘ªŸÃž°ë¿²ˆ«[^æW÷?Á–ªÛ¹¸TuÌÅÎ4ÍÕÃ)šö´pôàCüÓ–>ûßúgšf]Íß\6 ÈÜF#s¹~ =³Û²Ÿ£S>Éõ1‡¶6°«?ÍÅ[ÿƒ÷ŽùL(и۲¬aÿl""""""""ÅHexEd¸*˜!Êä©6{^kÄšYM(™Q;^c=•)½-–½&¶lj&@ÚˆÍmT×M$_´fUÍ¥!»…õ»:ñÜñ­¬ß§¡®¢û&+4—%f·ñþ‘ÓËEœ³¿ã}w¦É¤ÓeUŒŽêhð±`Ûv=¥|â¯ÿßýoßå{ßûßûÞw¹ý/FP»ê¿ð•Õ=÷lš}[÷R1¿ŽïÃo&•„îbÒÜv²§½‚1# ßeápx?•ˆˆˆˆˆˆˆHñRs¶ æž>ÌÎó{i¨.ëÞRQCµ÷oVOcDO¡¯ÉL{=÷ßÝB§kQuÉ-ÜT?OÙ°1žå·]ÆSk~ÉOžt!<І·²¨|·¿¹F1ÿÒ)<ðÐOùIé<®»cÚ ç,ÄoÛÎoä¨"J0eÉ \Y®êåÛ¶q'O/fŸLçq2}Ö“¹/ÕN[²;^ÚÙöþ4]Æïóƒ9îVÌyŽgþã ‚P³¯¸†ºdó|1ašf?A·ˆˆˆˆˆˆˆÈ…e8S·þæÊ·ÏȳÜß¶|ïÆ ×{_fže«Ï²Ùg½ï{¾×’¦¦¦öó™‡Õ=MV/ðilln*É©…Á›Æé›³¹;yúϳ蠟æYLZöVÎŽ“qrrÚ\½ÛsR}ó’}Vü\9sd’'o÷2©ž‡ù¹8©~Jœ¥¨Ù¶ïû8ŽÓï¸l²“¯xi:Úò È¥»hO|îX,¦êe‘>0‰‚•ÈçZ¤žUßžwZd?›&“S°œÑhÓ4q§ÀCÿ†—iš —EDDDDDDDòPÀ,ù…ê¸åïNjA@à‘ rtÐs‰ülÛ&ãº.®ëâûþ°†Í¦ibYápÛ¶1 õñ9•f)àô¹D>d‘H„H$r¾/EDDDDDDDä‚tj§‘AQÀ,""""""""""C¢€YDDDDDDDDDD†D³ˆˆˆˆˆˆˆˆˆˆ ‰fÌ""""""""""2$ ˜EDDDDDDDDDdH0‹ˆˆˆˆˆˆˆˆˆÈ(`‘! ï éO¸®‹ëºø¾ïûç伦ibš&¶mcÛ6†aœ“󊈈ˆˆˆˆˆÌ"ò‘åº.©TŠ Îù¹{Ãì\.G:&‹aÛö9¿‘2Ì"ò‘”N§qç|_Ð6'“I|ß'žïËùÈPÀ\$îÙ8´vÙ«œ›v"ÃÉuÝL¸Ü—ã8'Úfˆˆˆˆˆˆˆˆˆæ¢rô ó¶ÊØÙ¹Žs# }ÏN’k©Šü2\‚ •Jõ3Âáà›¯òê¶fºrÑš+¸iñL’û7ðÜ+;8’1ˆÃ¥—’IñîÞÉî¡-<ÿÂZ»bK¯\Ì´c€9óœÝq‡ÃêÉ,"""""""‚fù¨ò³mí&"5‹ªÈ0ygk^6®ëöÓsÙçØÏðÒÑV}ñÆÇ ·‹öT’¼´¶ú[¿ÉÂÑ>×ÿŽß½ÔÈ ×֑ȵòúó;©¸öküõ4›c›×ðë—³¢ŽDsæ»ßÇu]"}C!"""""""¢€¹ˆ KErÐŦï£eñ·¸®:™wxèGâ­ø7Ïaxûxâ»c!þm+#j4w‘Ifˆ×]ɪå3HäËes<|oáñî¡Í<ýÄ:ötd £˜sÅu|¦~$Vö0o<ù8¯ìëÄ Rµ„ožMÛs³þÀa¬îeSI=×Þ2–?ýümÊë ZtêÊPþ‰+˜ï¾Éëû»Èt9Äç®äÆ¥“‰öœï©Çײ§Ó'\>‹Ë?w5sF¦Ùyê¼·/!òÖã<ñê~:²9üØt.»ñz涆á‡-Cáºná¹fÞÞYΧoŸCi¶¶¶>»·plÊ'¨¦8Þ%-¥ö­WØŸ¬£®s?Íåó¹qt–¶¶,áYS½áušœ:êÂ…ç,$›Í*`AsQY½À§±±‘ÚÚZ€—óöm6L¯.cÓð«Çã5íáHEþÞ&²sg:ÒÄÁÄ ',š;vÑZyw®¬ÄÊäÅû~ɳ;W³ª6ßCÎ,ŒBãgæ…‡^#òÙoðýºRü£ùõÏφÑ_dᯰ6XÆ]ß¿ˆ8.Ç’Xf”ªkVÒôîsŒùê—¹¤ÄÇíz‡M{84êÛ|yÅHÌŽ üóÿþ-ë.ÿ_[=ŽPz¿ùÑyç·óÑf^^³{Å7ùA}‚ŽMò³Ç73ñoRê¼é É)ŸâÆOÜÊø¸Ç§ïæ—ö3÷³3PÄ|~xžWpŸßv˜JÊýÇ5¼ÚÔŽkޤfÑ2LN¦ááz&sM¢±]IŸ\W'nùB¹îÊh/§¼¼“öß*ñD@8%“JãCþêÞBãÓ)œÄ"½Á¡ï-)Áis0Æ_ΗnÚÈóÏ>ÈÝÏŒfþWóéY# Ì!b˜Ì0!+ 0 pºè<ø6¿øék=¨>Ys,S\À>eÎ Éþ /³¡ñ}Ò˜é#8e“ V®ÊÙgšf¿®9ñb.™lá´·CéƾEËŸš)s¹jy;O?õþdÄ5³Ži•Jâ&ápˆ\®OOå G.Âàõ3çÄüßÁ™¦¾›ÌE%_urÿËõù'²&2m̳4íØES¢†OEbø5 6îÞNÐ:šiWõ¤¸A’ÎdåÐÑÖA4/\ö^h|I)‰®N:}¨4|:Û»ˆ•&0üö„…\ÿ•E\Ýò2¿ºÿ ¶TÝÎÅñBç`0¥”NºŒ¯~miw%6ÝçÌ:i²§<·-½ýi~·u_üò Lˆ‚·ó!þ׆BPÎ…þf³¬œ²Tm®ßý»Í9d¼aðrD¦^Æmu‰I@îÈküvs¢`¨ ¶õ8É`eàµq¬£Œñe&¦ÝÏœX–¨ˆˆˆˆˆˆˆˆ€Zd•Þ åÚÚÚA-eòT›=¯5bͬ&”̨¯±ÇžÊ”ÞË^[65“ HíeÃæ6ªë&îM\`¼]5—†ìÖïêÄrÇ·²~{œ†º èxŸÃi2é4FY££Qbvï9ófÖ„¹ÌI¾Î³o´Ò‘J‘J¶qèÀû$O›7ÀˤñåDI“î:Ȧ?í"]¸Cƒœ¶]8Ù5FÖ0ÓÜÎëmä€ÌÁ·ÙÞ>‰©£L ÀsSt¶·süàNÖ>ó±‹ç00FÕP“ÝÁ[Íir´5¾Í{ÕLŽ4g~ápx¸?¶ˆˆˆˆˆˆˆHQRs¶ æž>ÌÎó{i¨.ëÞRQCµ÷oVOcDOÕ¯ÉL{=÷ßÝB§kQuÉ-ÜT?[xüx–ßvO­ù%?yÒ…ð(VÜÊ¢Jp÷o片7rÔ  %˜²ä®,7€QÌ¿t <ôS~R:ëî˜6ø”1Ë?¿œ§Ö<Àsð°©l¸Š[¯©Ç6Ož÷ú;.cѶ‡ø?ÿð"±Ò±\´äb&mü©døÙ¶ã8ù{1ûeÌ_¹œŽÇãþu.Fb—¬¼†I–O6HÑøÿ­áµÃ>Fx$3>µŠ«kl²ü >¹âbþðØoø×Npål®üìlb‹ô7çé—`šf¿!¸ˆˆˆˆˆˆˆÈ…d8[Íö7W¾}Fžåþ¶å{7¹Þû2ó,[}–Í>ë}ßó½–455ý°ŸÏ<¬îÙh²zF=˜{ÉËŠšä×0±ã1B^šTƃÜ.ùñ[Ô÷væEM ÀÏeȸ^¾®7CD"6–Ý•¦29,›X$ÔóK ð³2YŸ0Bb¶AŽŒãJ„ð’iº»\XØq›ÀqzB@“p,‚‘éù<½ç3 üœK:“;}Þ´‡2€À'—õ±B>ét.ÿç”sÂu]’Édþ–M"Ƕ ?G&Ù…“ “HI±xdÓ)R™ïWÊ’(‰6 Ï%Õ•ì¹÷û›ót‰D"oÀ¼eË–.¬þs?z¿ÊËÊÎêü"""""""*+>éÀ:À+ðòó¼}Öƒ>ÛN]îûbëý½´¶ fß ©‚¹ˆÜ³Ñêû<¼o0ËxR'åw>n*‰{ʰÀMãôͨÝ<ý‹çÙçõe1éÒ%ùÇŸ˜>GÆÉ¾ÝsqR§žµçܹ ©>‡xɾÇ{¸)ç¤ëÏ:}Ö /ß¼NêäÏÿ09‡lÛÆ÷}œ¾¿Ó^žK²ÃåôøÙ'ÓÕF¦Àœ—¦«=gÁ9O‹ÅT½,"""""""Ò‡æ"Q°ù\‹Ô³êÛóNkÞí;oóÛgÎËÉÇT4Å4MÇ)øÐ¿sÅ4M…Ë""""""""y(`–üBuÜò÷ }ZRô<2ùªJ)0^äÏ`Û6áp×uq]ß÷ÏYØlš&–e‡±mÃÎŽB"""""""" ˜¥€™ä™DÅg:^dp à ‰‰DÎ÷¥ˆˆˆˆˆˆˆˆÈ)Nít """"""""""2( ˜EDDDDDDDDDdH0‹ˆˆˆˆˆˆˆˆˆÈ(`‘!QÀ,""""""""""C¢€YDDDDDDDDDD†D³ˆˆˆˆˆˆˆˆˆˆ ‰fÌ""""""""""2$¡ó}""C®ëâº.¾ïãûþ°Ímš&¦ibÛ6¶mcưÍ-"""""""òq¡€YDŠ’ëº¤R)‚ 8+ó÷Ö¹\Žt:M,öí³r.‘b¥€YDŠN:Æqœsv>ß÷I&“ø¾O4=gçù¨SÀ\$îÙ8´vÙ« _Ë‘×uÏi¸Ü—ã8'Úfˆˆˆˆˆˆˆˆˆæ¢rô 3µÊØÙ¹Žs# }ÏN’k©Šœïk‘Š H¥RýŒp8øæ«¼º­™®œA´æ nZ\E×›óëWÑ÷ëß‹Òð¹;X6Ñ,pÜ„¼OAu‡p8¬žÌ""""""""(`–*ÿ8ÛÖn"òW³¨Š(È“n®ëöÓsÙçØÏðÒÑV}ñÆÇ ·‹öTŽ—ÜÁ÷. qâNJncͯö2k‚ÙïqyÏâû¸®K$¢o>DDDDDDDD0‘a©HºØôà}´,þ×U‡ óýèQ¼ßáæ¹1 oOܽ–qw,äÀ¿meDmÀæ.2É ñº+Yµ|‰|yo®‘‡ï-<Þ=´™§ŸXÇžŽ,Axs®¸ŽÏÔÄÊæ'ç•}xDª–pãͳi{îaÖ8ŒõÀ½l*©çÚ›kùà™SÇ-`ìÐ:‡H‘r]·ðÎ\3oï,çÓ·Ï¡4ÛN[Û‡»ütÇÓ½kÇߨÀ‘êÏ0Á?[ø¸B²Ù¬f0•Õ |©­­p9oßf#Áôê26ø¿z<^ÓŽTTàïm";w¡#MLÌ`q¢¹c­•wqçÊJ¬ÜA^¼ï—<»s5«jó=äÌÂ(4~Æa^xè5"Ÿý߯+Å?º‘_ÿü÷lýE~ð kƒeÜõý‹ˆãÒq,‰eF©ºf%Mï>ǘ¯~™KJ|’oü;¿?mÜÙúIËG•çy÷ùm‡ù ¤ŒÑ\ëMí¸æHj-cÁä'}'’ke[£ÍE7ŽÄ¼Á7Èë¹(¢+"'Þ³œŸÁÈ©“q›[H-»›»x1ãšwÓ’ H5 =e# ÀšBÃì8®ãàdG2oþ(öîn¥`´V`¼Ûºƒwã³djˆt*…›hàÒ9;aTŽ&Ú¼™õï´ÒžÊŽG1ðÜ,^ÚÁI»wœ\h ·Ç€ÀIÑux?3Vð·«¿Î×MæÐK¯°;}ò8gïVÞ7Ÿ™1ëË÷õðLPÀ\Tz+”kkkµ\ˆ1n:“Ž4Ñ’9Èî÷*™9³†êŠýì:˜¡¥é“¦ëo ûÄŽFɤÒŒÖ O§pq"½á ï-)ÁI9ã/çK7ͤ}݃Üý³ßðBãñ¼¶9Èqòñfšýÿ•eN¼˜K&[8íí¤KçÐ0ö‡Žô¹cƒ6vl;FÍE“0½38î ¯CDDDDDDDäB¡”¤ˆ O3`MdÚ˜ƒ4íØÅþD Ó"1¦×$xo÷vö·ŽfÚD«{\¤3Ù[1ÐÑÖA4/|Ó_RJ¢«“ÎyOg{±Ò†ŸÃž°ë¿ò_ù»[¦ÑòäléÌS¥:Øqò±Ö_°k–•S–j£Íõ € çñB„íÇän£‘¹4Œà Ž;•eYÃñqDDDDDDDDŠžæ"2\ÌeòT›=¯5bͬ&”̨¯±ÇžÊ”ÞË^[65“ HíeÃæ6ªë&R0Z+0Þ®šKCv ëwuâ¹ã[Y¿=NC]t¼ÏáÎ4™t£¬ŠÑÑ€ÀŒ(1»÷dð “ ŠmN}‘5Ì4·ózc9 sðm¶·Obê¨Þ¿æÒìÛº—Šùu”xÁwºp8<<HDDDDDDD¤Èé!E$_urÿËõfêîÃì<¿—†ê²î-5T{Ïñfõ4Fô476¢3™i¯çþ»[èt-ª.¹…›ªÃàç¯.<~<Ëo»Œ§Öü’Ÿ<éBx +neQ%¸û·óÄÃ9ê……LYrW–À(æ_:…ú)?)ÇŠ«lÖ>šoœ\HlÛÆqœü½˜ý2æ¯\NÇãqÿ:#1‰KV^Ã$Ë'@ÐÞȶ÷§±èª0~ßo'8îT¦iöt‹ˆˆˆˆˆˆˆ\H†3¡ëo®|ûŒ<ËýmË÷n r½÷eæY¶ú,›}Öû¾ç{-ijjúa?ŸyXݳÑdõŸÆÆÆÕÉ-÷“—!5É9®`bÇc„¼ÿŸ½;Žâºóþÿ®êîênµ›XÄbH2`°Á¼Ç+^ðîØI'N2s’83™g–ÌLf&Ïo2“Ér<“ØÉ$ñ’d’ ŽÛ1N¼bƒÁ`ƒA˜]c Úº«»º«ê÷‡$,D·$d­ðyS§««nÝû­î«Vë[W·’$R.d¶óø÷Þ¦ò¯ïdNÄļLŠ”ã’5½ÜUy3H8l0|\'E*ãAÀ"¶¾i>^:E*Ý2U µàgH9`å('§ÇqˆÇãÙw,b±<¬€ïeHÅ›±3­½$¡° @²!ŽÓ±ãtv\±X,k‚yÆ ,ž_ö1άkE……}Z¿ˆˆˆˆˆˆÈ©*Wú `àæX¼,~»ç~»m×Û/tóyg]m£‹mÝÙ×mÁ<„Ü¿Ö*yimÛ–î¬ç®qP IDATà¦H“£ópqœÅ|'‰Ý>GílcÅÏŸg÷1wØ Pzþ¢ìåVŸ!eg²Äá`':¶ÚÚv&E¢Ý!¹ÊɩŲ,<ÏöíãwºñF‡¬ég7Ic}ŽJ;;®h4ªÑË""""""""í(ÁÑò"Ÿa„ÃaÂáð@‡""""""""rJê8ÓˆˆˆˆˆˆˆˆˆˆH·(Á,""""""""""=¢³ˆˆˆˆˆˆˆˆˆˆôˆÌ""""""""""Ò#J0‹ˆˆˆˆˆˆˆˆˆH(Á,""""""""""=¢³ˆˆˆˆˆˆˆˆˆˆôˆÌ""""""""""Ò#J0‹ˆˆˆˆˆˆˆˆˆH:‘Îø¾ã88Žƒçyxž×/횦‰išX–…eY†Ñ/튈ˆˆˆˆˆˆ %J0‹È å8‰Dß÷û½í¶dv&“!™LF±,«ßãÌ”`‘A)™LbÛö@‡´$›ãñ8žç‰D:‘AC æ!âþµ=›.{Ù9ý3€HorgÐ$—Û³mûè´""""""""¢óòá æÛFDû&ŽÁŧaç6âÊîͲ2P|ß'‘HtR¦nãk¼¶¹–æŒAdڥܲp<†]Çæ5kx{çA®AhØiÌ¿ô*‹Û>æ<šv¯âég÷2qéœ7Úì²Îl—ulÛ& iNf”`–¡Î;ÂæWÖ¾yãÂ]$üN¤¬ Çq:™sÙãð[ÏðÒ‡³XúÙ›gà;Í4$2ø¾K¨ôB>uõ†Yi­]Î#¯l¡ôºÙÖ?Ë5#?&‚è^Y#ð<Ç!ÖU %˜‡^‘ì7³î‘³oáW¸®,©wYþÝßã.ù·ÎŽb¸»yê¾W(¹k>5¿ÜİrŸšÚfRñy—±ô¢©Ä²åfÓïóÖžäÕÝM¸>„Ç-â¦[ÏaŒ›c»WÅc|ÜúO§þ¹Çx½æ}?ÀºüJ®¾sá·Ÿä©×öИÎàEOãâ›®gîÈ$Û:–½µœžÉ[Ïf#‘^â8Nî™ZÞÙVÄwΤ Ý@}ýG»Œü)œQé“NáHÜ 4nÃß²IúP`„(˜¸˜[±cùã4u³Î\Òé´Ì""""""""(Á<¤,;Ç£ªªŠòòr€.׳ÎÛlÄ8­¬u5à•Å­ÞÉ¡âb¼]Õ¤gÏ x¨šºØTÆÔ6ngÿˆ¯òùkFÈÔñâäÙmËXZ~üMÎÒÛ_åÿB¾úwg‡Cãá8ÒUÙ·ã0>výÆ]u Õï=Çè{îfA¾‡“LŸt.7y;có\jVÜǃ«÷0ûÚ2*;”¿õ?ü.[l2 \×͹ϫŸò õò£¼VÝ€cgÚyrÎĆ—&•j-—ú€­«·à•_Î(À `ì »ž ~÷ëìAŒ""""""""§¥Ó†ªªª£ÝYÏÎ`øä‰8µûˆû.ûvÔ2fáBJjw°/㓨­!9i à 0‰Y§çáØ6vz8sæŽd׎ýdK­FŒ"R»ž×ßÝOC"C(/‚ÑÉö–ƒ>ný>®“ÆÇÇMÚØIƒè¨ñ 7’$iŠ'—b&⤳”¥³ØdÀäž|;Aóû{hœº„ÿ³ìÏøüu9ðÒ«ìH¶î¯ßÈã?}€ûòް˹`fñÑ÷Ôˤq³TÝUÙxžnž)"""""""J0)m#”ËËË»µž‹Qr¥‡ªÙ—ªcÇÞLŸ>²â=l¯K±¯ú¥§•´$å ëhñ E"¤I²¥Ö̱—ð¹[¦Ó°êîûѯy¡ên'Ûé¥úãÇÙ³úIþç¡yèá‡yäOÛ°}²&Ž»]§ô+ÓìücÉœp6 &°HÌdÖ˜C8ÔÒkŒ øô×ÿ†¿ÿÆ_òÉ3Žð§_¯¤6ûTÊÝ®³'1Šˆˆˆˆˆˆˆœ*”%Bzg3˜À”ÑuToÝΞØ4¦„£œ6-ÆÞ[سS&´ÞÍÓoòéÓXßH$–—½Óx¬ñó¹þ Å_Ü6…}xŠ M~îí½UÉ-+øí¦B>ñ™e|ñž{¸ûŠé伟_7ë”þÕYòÖ,,¢0QO½ãá~Æ&å Y­Ü$MGŽp¸Ñ!oê\f„q°¹ó÷´Ë:³¹wŠˆˆˆˆˆˆˆœB”`Bzk3D˜8ÙbçU¦—ò§Nƒ­o°ÓšÌ¤¶)Ýj6¬«%郟ØÅêõõ”UL [jÍk<ÈûMIRÉ$Fá8FE||/÷öÞª#BÔªçà¡4à㦒x±""$I6×±îÍí$Ûò‹Ç”í"60–•;³k ŸÆts kªêÉ©ºwØÒPÊä‘&Αln®ì§©ß¶‘í™Æu>ñIguæ …zpf""""""""'ÝäoÉ6:¹óõÊ5µÌÃl?¿‹Ye…-[ЧQæ>ÇÆ²) kÍÇ‘éL·^ç¡ûöÑä·à6n) wüˆP¯~ O=¶–Ý Á`ŒI‹nä²"¯:ûv2½S?Œdîù“xxùø~Á®¿ëbÎÛ¼œ~çE¢c8cÑÙ”ni­Ä<¶ì’+,^ù}¶:e Y–…mÛÙçbö ™{ÍE4>ù­r0b¥,¸æ*J͉Ö¬|šýÍ@€ðÈiœ·ô|&˜Ò bî¤ÎlÇ™¦Ùi\DDDDDDDäTÒ›Ù´ÎêʶÏȲÞÙ¶lF7Ÿ·-f–õ@»u³ÝóöÙ–EÕÕÕßêäœ{ÕýkM–ãQUUuttrWëmÇd“1ÉØ6Ž`båE ºI)2Ûyü{oSù×w2'bb^&EÊqÉš« XDÃÁÖßÇK§H¥=ü\Û{«~À†‰Zð3¤’.H˜ ø™´G è‘LfŽ/뀕£NXŽãdzï XÄbyXßËŠ7cg|ŒP”ü¼0AÓÀ÷}|/M*‘ ™iÿŽšD 0 $2]×™M,Ëš`Þ°a‹ç—õü¤»¡¨°°Oë9UòJ¿¬Ü‹—åÑo÷Üo·­ãzû…n>ï챫mt±­;ûºM#˜‡ûך@%/­mÛÒõ܉còwN"ŽÓ¡˜ï$±Ûç¨m¬øùóì>ænxJ/ü4לžwü•×ÁNt¬µëüLê˜d¡k'Ž=Lî²Å&Dz,<ÏöíãwºñF‡Žég?mÓÔ¥ü1<’ Ý®³£h4ªÑË""""""""í(ÁUý2dD"LÓĶm<Á|ÛˆhßÄ‘OÃÎmÄ'”3.ÜŸíöTÓè²\‡óJ¿Ç¼ÃÔ»odf´·çäí$¦>mwpñ}ŸD"ÑI ¦Ý«xúÙ½L\zçþèâ‹s`Ï¿°ý¶U<ƒÅ—-dJ¾x4îXÅó¯ï >ãc„Ç0óÂK™7>‚o×±yÍÞÞy„kvó/½€Êâì¶m …4'³ˆˆˆˆˆˆˆJ0Koñްù•u„ožÁ¸ðI”xëx^ÁI,¾±˜¼þNòT»ÀqœNæ\v8°þ^¬Éø1¬öÙøÌ~Ö<¿â«¿È'§X^ÿ(¿ZYÅè%ÄR;ymU#3ïü2çŒ `ïþ?óo;ѾK¨ôB>uõ†Yi­]Î#¯l¡ôºÙdy¹=ÏÃqÂá!q%EDDDDDDD¤O)Á<„ôʈd¿™uü˜} ¿ÂueAH½ËòïþwÉ׸uvÃÝÍS÷½BÉ]ó©ùå&†•ûÔÔ6“Š§È«¸Œ¥M%Ö1éæÇÙöÜc¼^ó>‡`]~%Wßyc>XÏÓO¾ÂÎ&PÑ .¹áJf SÅc?ÝÃôE«ÿ¸‘#S–rïuOÝÿE•ûjI4§(:óRæ:Y³§™T³MÞìk¸iñD"Ùr¬Ùê¼±ÿ@ŽŽárð­'yêµ=4¦3xÑÓ¸ø¦ë™;2yüyÝV›¿x›ò¿¸…Ê 8Ö³â©UìlLã‡F2óÒëøDåp™*»ÿ†Í4©ÝÛ„c'`üùܰdÅîû¼õ‡'yuw®áq‹¸éÖs`¦ÙÿÆr^y«†Æ$U\ÆMWÏd¸·‡•míRÅcäxo29êîÙ +ÂqœNö†(˜¸˜[±cùã4µÛãÚCmÑ\n•¦¾>MhÆÙ”­^Cµ]A…áa„G0,§¾ÞLjSdÂŒü)œQé“NáHÜ 4nÃß²IúdM0¤Ói%˜EDDDDDDDP‚yHYvŽGUUååå]®g·ÙˆqZY!ëj>À+‹[½“CÅÅx»ªIÏžAðP5u±©,Œ¨mÜÎþ_åó׌ ©ãÅ?ȳۖ±´¼ÃMÎŒ|*¯º†ê÷žcô=w³ ßÃiÞÉ3®ÆZòe¾Q£qÝ#üèÉõLøÌ9 #€Ñ°‘—·]Æíõ/L¥IÄ·b4íäÀÈ{¹{ÉpÌÆÕü÷·êK¾Â—•Lnæ×ß}™wϼ“³ò³eý²Õ¹›gsÆÐžIá¤s¹éÌÛ›çR³â>\½‡Ù×–e9¯wYg˜˜é½¼°ü Â×þ9WQ€÷áZ~õ“ß±zÔgY4<€Ñ´Úü/ó¹e£ zòò÷³jWW:¯òŠ!_ý»3Èáñpœ€ x€³“™Ïó…ÿ;…¼t Ïüð!^Ý]ε“LŒ¶v `äxo–x9êB\×íd¯AÁØ1v=ŽåœinÂ)šD0Ó²ÝÍäQTÔDC£c§3¯ìw<÷ÌzæÏ*äÀ†MD]Ã8y"Ní>â¾Ë¾µŒY¸’ÚìËø$jkHNšÂpLbÖéy8¶Μ¹#Ùµc?ǧÖ|\'›´±“Îþ-TEç±xJd"I¸b.ßßÁždkRÐżËç1Ò·I¤2-Û™YÁ±m’ÑŒ6ŽÓ+‹ÈØ6I$c‡ÅilÎ5uÂñuº]ÅÐî5‰ŽÏp#I"‘¦xr)f"N:Ëyµ?wwÿVÞË;›E“ƒ$ œØ,Οi³µê0@`2sf’¶mìT”’’IÌ£ˆÔ®çõw÷ÓÈÊ‹p4e˜ÈÙ ÆbØ n1§M4ilHqÜYçxoè¬î!"÷ô-¼L7K×õL>º­¥pɸ>x&#NŸËÈßáµ—VREgŒ -ë×oäñŸ>Àý?ù oØå\0³¸Ó×ÍótóLÐæ!¥¼¼ü„F0¿´6{=FÉi”ÚľT µ{G0ýâi¸›^e{] §ú¥3K0؆…uô„O(!•HâA—7ÇóífšêÞáç?x£5Qç‘6Ç0ÉB€YDaž‹×>Qh„ ·Uìfˆ`À ð}0|ŽÏ´¶Ó¡Î.c8lœ=«W²ºê ILŒä!ì‰]&fýd;6žp[BÔóˆäçc×Û-aa¬`[À>àc`޽„Ïݲ–çŸ}„ûžÅÜK¯ä‚ÃZ^S#h¨¥,¾‡‡‘ý”s¼7tV÷ašf¸¡PL&óÑ?C&Ä øÍ[XñÄn¦Ýò%nmðá;à·¿}•óo^Äø#ðé¯_Dȳ©ÛôG~÷ë•\pÛùŒÏñ išÙ¯Í½ùv-Édò„cª”`B²Nî|½2{E Lý,Õ[·S›Æ¹á(Þ´kwlÁß?Š)W´¦#ý8MqŠ À§±¾‘H,¯[ÃÞX¥sÏ·Œ†À#m'I§>=~ }ÇljçƒY×®ÎnÅ$·¬à·›JøìÝ72>î¶åüëê®›2ò ˆ57ÑäÁ³¥î¦†f¢1 ’¹ã÷2XãçsýÎãÊ}+ùÅCO±aÜœÝ6ÇvwÎ9×{ãef«;×dƒPOÌaÅD7!î—Rhn=‡ [hâìÙÇ“æq}Ô¦¾¬² 8{Óÿ²÷°Çø1&¸IšŽ$Á0É›:—«_à`³ÏøaÙ_·@ {Ê~Μ9'·ˆˆˆˆˆˆˆÈP¦)2†¶ÊåååÝZÏ-ÂÄÉ;ߨ"0½Œ?ul}ƒÖd&µM±ìV³a]-IüÄ.V¯¯§¬bBöѰF„¨UÏÁC-™ÛÀøÙÌŒ¯áÙ·öÓ˜Hˆ×s æ ñ~œY {1ø¸©$^¬ˆI’Íu¬{s;GgÑèp^ÇÔ?n6³Òx}{9²‰×·ä1«¢¸Ó,¯ñ ï7%I%“…ãññOôuÉñÞ½Q÷³,«GÇ#§1-½•·k“ød¨¯z‡½ÅeLŒ@hD1¡ºíì‰{€óÁ6v63z˜‰sä›[G>ûiê·md{¦„qE¹“ò¡P(ç>‘S‰F0!½6‚¹ufûù]Ì*+lÙR<2÷96–M¡mЦ™ÎtëuºoMN€q nã–²ÇÎkÑÊÉÜó'ñðòðý‚9\÷ù+¹äSñô£ó½'l\,F̺‚Û¯ª¤géÃ0Æw#ƒØ¬‹9oór~ø‰ŒáŒEgSº%ÇyÝ5¥]ýc¹èŽ‹yúÑùþdÖ’Û9oxNî°¼ú-<õØZ>tƒƒ1&-º‘ËŠ Èä>æ¸SËñÞx{rÔ=„X–…mÛ]ÎÅ|¯˜yKÎæOOüšŸ5¹„FœÎeמNÔwðJ°dæs<ó¿ccà‹9ýÒ«¨ˆBó¡Ö¬|šýÍ@€ðÈiœ·ô|&˜ÒÙººiö8 ."""""""r²éÍÌSgueÛgdYïl[¶G£›ÏÛ3Ëz ÝºÙîyûÇlË¢êêêourνêþµ&ËÎñNhæ¶c² „É‹˜dlÇ0±ò¢Ý$‰” ™í<þ½·©üë;™11/“"å¸9gp0‚a¢Vü )ÛÁ5ƒ„ÃÓÀÀÇË8$S|‚„cAÜx²]Nµã¶Vž…oÛ­I>“P4Œ‘j‹·£lu݉Á`E À÷Ȥ=Ad2ƒÜyyÛ·ÓV¿-7;L‘ÊxYã „óy6I/D4lí¨>^:E*íe}]Ž“|´¯³÷&`å¨{hq‡x<ÞI “Haf¢D»7ÜDˆåG™¾ëhŽ·öƒ`$F,ÒúÚø.Ž'áx¡(ùya‚¦ïûø^šT"A2“ýU‹ÅbYÌ6l`Á‚ã¬EDDDDDDd Œ3æÀ*ÀͱxYývÏývÛ:®·_èæóλÚFÛº³¯Û4‚y¹­ T¶»y_wÖspS$ŽÉßy8‰8ÞúN»}B×ÙÆŠŸ?Ïn·}©¥~škNç˜d^†”mXn†T¼ãöŽÛ\œ„}L|iÛî¢ý¼ã¯dt'ßűÇžû1÷ŠKs^nû8OàÝT‚–°ìD¶!Îsü¾ãÞ7WÝC‹eYxž‡mÛ9Jx$ŽÛê»Iš²ÝdÏ'“l&Û.?mÓÔ«cE£Q^iG æ!"çHäþ®dé½sŽ›cØK'IåñyRµ/ý&‰`š&¶m÷覽É4M%—EDDDDDDD²P‚Y² VpÛ?Í:~Ê ß%•sTi?èöƒ\ïÍIȲ,B¡Žãà8žçõ[²Ù4M¡P˲0Œ¡5—µˆˆˆˆˆˆˆHP‚YrÈ6… §Ö{cáp˜p8<СˆˆˆˆˆˆˆˆHgé%˜EDDDDDDDDD¤G4E†ˆˆˆˆˆˆˆˆÈÇô~s†o¯<ÌÛu)Òž?ÐáœÒB¦ÁcÃüõ…ÅŒÉWú³¯éù˜¾½ò0Ê ¸mÆt04iÀ€ò=êêêø·—ó½«Gt4'=%˜EDDDDDDDD>¦·ëR\\: ïûx¸Î)ÍÆ•°qÛ¡å” ³ˆˆˆˆˆˆˆˆÈÇ”ö|>Hø¸šcÀ¹À 4UI?Q‚YDDDDDDDD¤¸¾ršƒƒýýG f‘^ày>ž—{åH“-‡:) ½¦³÷Az—Ì"""""""""½ÁßÏ=töß/ްñ}—ŸntØ]¯ hŸòŽà”¡³ˆ Y¾ïã8Žãày^/^ž4MÓ4±, ˲0 ýb‘Îy¾×I‚`ΘÿyY”Uµ~º1ÅÁ¸ærè šª¤ÿ(Á,"C’ã8$‰N¯ m ëL&C2™$bYVŸ´%""""""'‡î$˜ —9gl€'ÞKó¿[šñ÷­arÇå1nË÷I¾ë³£Æáþ iö¸=¯¶C#L/ s×ô 3b@Úg[­ÃÏßI³Ýé­6zÌýG fr’É$¶m÷[{žçÇñþ d6ÃAƒ[*-®œâ·[ß–ÂéQB8N:‘桇_âÇu>Á‚1|úÎùüùÔ _¯òèÿ÷Tá›óŸ¿ÜÀ÷&ð Fñ‰«Îæ†øÛ—ªÙŒþ ‹çd¦óqÿZ³GÇ-;G?Mrrq§_“ËíÙ¶}tÚ ‘Žº;‚¹£‚°Áçæ†¹vzˆ_nNñÌçGàúø˜'^Äð‘dX¹­J€`”o^äéÇmÖ´¦‰Î[XÈÅ5|k_ˆ¿º*ĽP1Ê 6ð?Lñµiö·o?ä†i6ËÙÍ ÖYä϶ÀmâåÖSrÇ|nßý È?çj§"Ã-þ|~˜³¢ŒgxhµÍËM@ Ä×/ °v‹ÁÒ3CŒ{?ÅÃ66ñÃ÷[ê ð_çÁ÷W$y¯›¯‹F0÷%˜‡O0§6"Ú7qdçÓ°sñ åŒ ÷g»ƒ¥}é¾ï“H$²ïtÙ³no¼[K“kbOã¼K3­¨åâŒs`Ï¿°ý¶U<ƒÅ—-dJ>4n|Œ_½và˜«¹žaÖ wqá„ã/ìØ¶M(ÒœÌ""""""rœž&˜ÛŒŠ™Ü;?ÊÒ¿“äå½énéãÓòw³çC(8×Ì °qͤÝ$étÇ ·&]=œf‡t³‹ç5“ ¡âƒ |ù±z/Äw/äæ1߯û¨ö@~Šiv=ËÃ3…–s4ó •Lfý›+Š|ŒGr·cZÜy®Aâéç¹bKŠÑgŸÇODØúRšÞÜÈh>9¦†¿ÿÎÛl MaÒœ ü×ä0¡.)`ÊXwÃn¶ºãéîŸãJ0÷%˜¥wxGØüÊ:Â7Ï`\xoݾô ÇqrϹì4Ð=ƒÿìvFG2¼¿êøå«Û˜°¤‚hf?kžßFñÕ_ä“S,¯”_­¬bô’ †-¸‹¿½8ÈÑ^ßÌ£¿ØÅŒñÙÿkÀó<Ç!Ö• 9Ö‰N‘‘‹›J¯¯Ç÷ò»Û2˜1>yµÁ ÄBiž}üu¾½¯sDæ£Øü£¥ñýÖi$2ò§÷Æ™RFÄ·ÙqÀaAÀ¯¥^†<;ˆ¢Ãùåa»òÍ4m#·²µæ² ¹†¿l˜Ma¹E¢n?›†MdVЧ. ÐÄ“ÏÆ©™xÃP_SÇîóJ9c£Ï×dáø4/n,€ÀGuwùŠèŸúûÌCH¯ŒHö›Y÷ÈÙ·ð+\W„Ô»,ÿîïq—|[gG1ÜÝQ9œ@¦ŠÇî‡a3Mj÷6áØ >7,™E± ÎÎëò¼æñæÏ~EÓeÆU“[~,½/òãßy\·ìRÆõl†”“Žãtr×€Øiœ3ß làˆm™4…a[ãØ„í¡¶h.7JS_Ÿ&4ãlÊV¯¡Ú® ‚FŽ$Û*ñ9òÖj•}‚ñfî«étZ f9ŽÇÇÁ\w$ÁOž{—'Þ~Ÿð˜iX…±në{<ü£•üè@„Û>óò¦AQÏÏàãÝüQÚ¸å¹ïƒ‰¶ÆmµŒΤñüàÑ’®¢9&¿ÃßÊ>±<‹¸ÇõÍœíøFšQcÊøÁ§ÌÖsÃ`4läåm—qû_ý Biñ­M;90ò^î^2³q5ÿýíß°ê’¯ðÅe%“›ùõw_æÝ3ïä¬|£ëö“)â“Îå¦3oglžKÍŠûxpõf_;•‚3®ãŠm?æoUpÛ¤wY±y,×.+'/³›Ëß |íŸówx®åW?ù«G}–EÃMÛ©Íÿ2Ÿ[6š ÷!/?p?«vUpí¤}¼ÐéqÝ9¯O1÷ìaütó^>1y*!<n݆1û%—ÛqÝNîtà¥IFÆ£©¦–ä˜9 3!ÓÜ„S4‰`¦å‘›É£¨¨‰†F¢í^àÌ~6WYœqÓp`â‡ÀkË^ŠycË!¾0§Šæ ‰wÓìq¯­¦Èè?J] !UUUG»³žÁðÉqj÷÷]öí¨eÌÂ…”Ôî`_Æ'Q[CrÒ†@`³NÏñmìôpæÌÉ®û9>µæã:i||ܤtpöo¡*:ÅS‚$IÂs™øþö$ÛþGbó.ŸÇHß&‘jùW ™YÁ±m’ÑŒ6ŽÓ+‹ÈØ6I$c‡ÅilÎöép|û.ÑQãn$I$ÒO.ÅLÄI¾¦rÉ'¿ñ¿~b#®º’Ó‚™ý[y/ïlM’L$pb³8¦ÍÖªÃ-ÉÌ™]HÚ¶±SQJJ46&»q\wÎË#¿òLFïØÌnðÞgKU€Y§8ñŽrË9=FÇrMïñêF8g~)Àu=B³ÝÕK3à’q­ÏÞµ‰½%s™í<ìyº*""""""Çó}¿Ó¥£¤“á§ÏoáŠÿoÿó®C¸lVñø£ó)wi‰ŒïãûÜć<üaˆ»ÊL סÎÉcZaKY3â¢RhSûºüí›ð?¯:\¿0‹‡éû!“Egåqcz¿:Åï¤ô¡#¼T0{.]ÌÈ ),_Ì´ùgQ"{ ~ԡìâs’<¿·ðh¼'²HÿÐæ!¤¼¼ü„F0¿´6{=FÉi”ÚľT µ{G0ýâi¸›^e{] §ú¥3K0؆…uô„O(!•Hâ.bõífšêÞáç?x£un[´9†IÌ" óÜc¯&aÂmû€"h¹’†ïƒá·›ü§«âìY½’ÕUIbb$aNlÅÇÌ`ÁÔ§ùÙö3ùÒÔPËU¹d;6žpÛçÉÏÇ®·[š5ÂXÁ£×îZ>ì1ºu\·Î+2ƒ¹^`ó®S‹¶²-4‹Owó|O¦ivܵ«yeÅF .½™Q—¤ ¡PL&óQ?C&Ä µ ï׳uóa¦]PŠéúv5ÓÔµ99žçùÂí¬œïó‡u{øÞÞ¡!8ŠHé|¬@°5QÜ“ÄhË1¾×:9ZÂWîåS·ŽeÞö ¿\q˜ÿwõÎs<’‰z6n5(m-ëã·ÆÝRO[ ž×þoãáÔlZÏ—Ó3ùÚ…£ù˘I$è³çÝ­Üû ›½%&·“vBQ~òË­Ü{Ël~»Ð$høÔn?Âß®õ‰C++Â3Ûášñïó d·^×c^c ë7J0!ÙF'w¾^™½¢À¦Œ~–ê­Û©ŽMãÜpoZŒµ;¶àïÅ”+Z³¡~œ¦¸E-W›ë‰Äòº5ì݈PPz1÷|qqËhh<Òv’túèÓãÇÐwü¬èáŦä–üvS Ÿ½ûFÆGÀݶœ]ýÑ~÷À*žÝ5™sǼ˟֜Áçcäkn¢ÉƒfK€M ÍD b$sÆÓ£ã²žW˜és§ðüÛ;¨öáY·SÔ³Ó?iu™`Nîãõ§_Ç_t—Ž»µ¯†Ýt„¸_J¡¸õn,dláG0S·™*fsýhèdvŒ–ú]]b‘SQw¦Èx}ÛþíñõìND‰”œI8>:b¹ÇüÜ·J牄ñ{¹úŸ÷VA yŸþö;øÁF € q·h±ÂFþöêU̦e –Ï›Ïü‰WÃóÈqìß¾ÆÈJvn{Ͼ¶ × ²ð†‹ù§Ñ8%£0ðñ(âÃ9Ú)*·|ëGOñÉ `bM'6~ ¦ß1†¶‡º¬'ÇAèöÝýZiŠŒþ£axCHÛåòòòn­çaâd‹oT˜^F ÈŸ: ¶¾ÁNk2“Ú¦Xv«Ù°®–¤~b«××SV1!ûèe#BÔªçà¡–Œ^`ülfÆ×ðì[ûiL$HÄë9Psx_]=:¦}7•Ä‹!I²¹Žuon§mv܃¬~z#£¯^Ê’¥Ÿ ºfoñŒ›Í¬ô^ßÞ„dŽlâõ-y̪(îô¥§ÇÏ'xÚ\ÊÞ_à ïE™]9¬g¯ÅI̲¬Ü;:Ö®XEjÁ­\5ÅÄN·›cä4¦¥·òvmŸ õUï°·¸Œ‰G§O²{Ó.ŠçVïvý( }¼‘“RWS6Üþ½?ñù‡Þb_^9Ñ §c­žö!ëBŒpÙ|Âáb o3*š`Î 6m>ùSÎ$6qáÒsÉ+4ðI´bÁ£ÓO@`ìBbÅÙâ b—›~>…óذr?7Çòƒ ÃŒ1ZŽÍÙŽïC¸„è”ó(¬8ŸÂŠEäáûYbhYB…îœ\Ï£{†õøu‘þ¡ÌCH¯`n‡Ù~~³Ê [¶O£Ì}ŽeSÖzµÈˆLgºõ:Ý·&'À¸·qKY(û% s$sÏŸÄÃËÀ÷ æpÝç¯ä’O]ÄÓ>Ì÷ž°q±1ë n¿ª’NR„=סýëﺘó6/ç‡ßy‘hÁÎXt6¥[<­yš·Š¯bÙiÒ~%K.ÞÈOžÞ@Ùó¸èŽ‹yúÑùþdÖ’Û9oxN'mc{v\¾QÊœ²FÖí;Ÿ[ ôAØ‘eYضõ—Dâ½µ¬«ûÿñÿdSÛn£ˆ¹7}ŠÅc‹™·älþôįùY“KhÄé\víéD}ðªØ|p ç]Âó;¿ bšfç‰n9eù]Œ`®2&‘7¹e@YOn8x1GMfùÏçWÁéÄ&”`]Õ-fˆ»®.bižÍ³¿ÛÃ+Ö4=x­†ôË;ÄôÖ[ßU]ÙöYÖ;Û–íÑèæó¶Å̲h·n¶{Þþ1Û²¨ººú[œs¯º­É²s¼šƒ¹í˜¬aò"&ÛÆñL¬¼(A7I"åBf;ïm*ÿúNæDL ÀˤH9nÎY+Œ`˜¨?CÊvpÍ á°EÀ4ZþU"ãLeð ŽqãI>š·ã¶Vž…oÛ¤ý–øBÑ0Fª-Þ.ÚOº"a‚à{dÒ G2™ÁE‰˜iìT0‚¢A;™Æo‹¹õßB\'E*ãe‰á?m“hŽ™äGÇ@Ìn*ÁÑ0º}\Žój+}è-^Ý9—)¹œ‹eYxž‡mÛÇl÷RMNå>Îw“47$³ït“4ÖwÝv4ÕèeÉIS3ô†¬Éçýøž¾žzúÌCDΑÈý-\ÉÒ{ç7·°—N’ÊôÃOî@·ßW¼}¼üУ¬k,`öõwPnA7¦>eE"LÓĶíÎoú×KLÓTrYDDDDDD:2 ¢AŸ¸ã÷ΰPé1ˆ[Þé{J0KvÁ nû§Y¦±|—T‡‘£ýj Ûï+f)Ÿø³¿áJÃ'“Jâ(»Ü%˲…B8Žƒã8xž×«ÉfÓ4 „B!,ËÂ0ôKIDDDDDDr›3.ŒŠ)ÌÇ÷õ7ä@2 ŸáF3%ã#Ê)A fÉ!Û4Òw<œŽSzH— à ÷l>&‘Þò7ä__:Äîý¤= H!Ó h\˜¿¹hä@‡rJP‚YDDDDDDDDäc•gòƒkJô°ƒ„ïûý2­¦(Á,""""""""Ò+”ДSQÇ{¥‰ˆˆˆˆˆˆˆˆˆˆt‹Ì""""""""""Ò#J0‹ˆˆˆˆˆˆˆˆˆH(Á,""""""""""=¢³ˆˆˆˆˆˆˆˆˆˆôˆÌ""""""""""Ò#J0‹ˆˆˆˆˆˆˆˆˆH:‘þæû>Žãà8žçáyÞqeLÓÄ4M,˲, ÀHEDDDDDDD7%˜Eä”â8‰Dß÷;-×–xÎd2$“I¢Ñ(–euzLssso†*"""""""2è)Á,"§Œd2‰mÛ'|œçyÄãq<Ï#‰ä,W\\üqÂë±5kÖ0þüi[N^êWÒÔ¯¤/¨_I_P¿’¾ ~%}AýJ%˜‡ˆû×ölºìeçÿ¯ÿ"§"Çqz”\n϶í£ÓfdÓÜÜÜåÈèÞÖ6uÇ@´-'/õ+é êWÒÔ¯¤/¨_I_P¿’¾ ~%ƒ…ÌCȇ'˜í›8²óiعø„rÆ…û³Ýc(Æ,=áû>‰D¢“M»Wñô³{™¸ôÎû‚ŽmÛ„B¡¬s2Ä<ÍmmjŽhéMêWÒÔ¯¤/¨_I_P¿’¾ ~%}AýJ %˜¥wxGØüÊ:Â7Ï`\xˆ|° Ř¥GÇéäj®ÃõÏðbÍHƉ`:¯Ëó<Ç!>þª„iš6‚y Ú–“—ú•ôõ+é êWÒÔ¯¤/¨_I_P¿’ÁB æ!¤WF$ûͬ{äÇì[ø®+ Bê]–÷÷¸K¾Æ­³£înžºïJîšOÍ/71¬Ü§¦¶™T•W]Cõ{Ï1úž»Yïá4ïä™GWc-ù2ߨŒÑ¸î~ôäz&|æ†ÀhØÈËÛ.ãö¿ú&„Ò$â[1švr`ä½Ü½d8fãjþûÛ¿aÕ%_á‹ËJ&7óëï¾Ì»gÞÉY‘À ”­eeÖ8æs2E|Ò¹ÜtæíŒÍs©Yq®ÞÃìk§¢óÐæºn'{ ÆŽÁ°ëÉн+¾¹êS‚YNêWÒÔ¯¤/¨_I_P¿’¾ ~%}AýJ %˜‡ªªªc»^¯ÌR‹ÁðÉq^ÜGÜ͇;j³pþË;Ø—™Î¨Ú’“.b¸‘€À$fž‡cÛÀpæÌÉvìÇ-?­CÂÕÇuÒøø¸I;hàîßBUtÿgJd"I¸b.Ÿz“=ÉyÌ þ(æ]>‘¾M"ÕZM`"3+"-íF3vØ8b•Edl› #;,Nc³‘î—uçŽc˜ulÌ`5ž`†|ÀßÃÿ( ØÍ²Æau :ΞÕ+Y]u$&FòváDô1=ô™¦™3)ÜÓúrm×Ì}Ão~ƒÿþçß²cÚ­üãÝóŸªGzÕPéWÞ¡—øÏûu³?÷>5[_j9õ+é C¥_ÉÐ2”ú•›_÷7ì˜zñÉ3²~GÒ÷¨Áa(õ+:Ô¯d°Ðwæ!¤wF0 Lý,Õ[·S›Æ¹á(Þ´kwlÁß?Š)W´fný8MqŠ À§±¾‘H,쩵c± J/æž/.føÑ/0i;I:}ô)ÇUÖñó°³ÏÇn”í4ŽÌ±e“[VðÛM%|öîwÛrþuu'íËÑÛ æ@ û%–¬WÝí<ú/÷³:x>þ7×3…–ç¯5ø†I RÈèI§³à—³ð´‚ný|ek³?¯X{7±rK€3ίdĉÜÓ6Ì@ËÅ3€iè}ß*ýÊ0˜­†atyA°?ú®ä¦~Õ?[<}m¨ô«ÁÚö©Ö_ºk0÷«Žå «ˆÑãÆ‘S„e¶|fé{Ôà4˜ûÕ`w²œG_ŠýêD×û?4è­BÚF(———wk=·'[ì|£ŠÀô2b@þÔi°õ vZ“™Ô6Ų[͆uµ$}ð»X½¾ž²Š ÙG/¢V=µdãg33¾†gßÚOc"A"^ÏšƒÄ{/Ç×-ÆqLÌ>n*‰+"B’dsëÞÜNRO –Õq¸úÇ …²n7 #Ëb¶|Ðm_è[žÑRμðÎ9šôî×yüþÿâw[㵎ΗÜm÷Åâ²çõ'X±r+GèÇ6޾Èfë먥¯—¡Ð¯Úÿ‘ÜWmhéÝEýjpžóP_†B¿œmŸšý¥»ËàìWYʅ˸êϾΟ]UF8W™¾­øëzª/ƒ³_ öåd9¾[†V¿:Ñãû÷ý—žÓæ!¤×F0·ÎÃl?¿‹Ye…-[ЧQæ>ÇÆ²) kû£*2éÖëšœãÜÆ-e!Ž×¢•9’¹çOâáå?àûs¸îóWrɧ.âéGæ{OظXŒ˜u·_UyÜÌ}ÊŸ;Ž1_×Åœ·y9?ü΋D ÆpÆ¢³)ÝÒŸÁJ_±, Û¶{å_†LÓÌ™°Îú ©Ý6Ã00Z¿â±é\¸ôN 8{žà?¾÷,o<µŠ…W2á.ýµÿBёߴš¾ù[Ÿu³ÞàµXãÏá†OßÈœ&à“Øû*?þ›j› ‹–°ô’é¦÷ñÚòßòܦZ½ÃÇÎ࢛ofâöùÅk‡q3«øá_¬"0ýfþñK‹ZþÑá˜Æì|éQþ°z;ûÇñcã8ý¢›¸ùÂÉD^å¿þùQöV~šÿw÷Y„½}¬ø÷ÿàÙÆy|á_n&ÿ•ÿ>®øtÃÝÏ«þ+/o=Œ?|Þö).›š‡Ñɹ4¯æo>ŠÝ—˜·ÿ÷<ù,º÷^.«k¬¹ Ú~…ËÁuËùÅë©Ë §ü¼©m·ü|åìwã9´òø~õ_ZHhïËüؼ¯£hg^y ×Ï+éßßU§õ«ýÊofû³¿áw¯Vñ~sÏo™ò+röÝ|ëú&~úÍGÉ\r3Sö<Ǫ GÏäòZù/l; Ãgpéwrñä 5/e‹'Û9Ÿ<o¿ò‰ï~™Ç~ÿ2ïîkÄ‹Œ`òâÛ¸ûò)d:ý}µ{á5L®[ÅÚ] Åm¿ëB9ÞßÜý-ÔÔ“úNîþÒ]ƒ³_¥©Îòžýçüú›¿aÇôÛùç/œÅ‡Y>—Z¾G}tn†á“Ø£ßýmpö+ZêÎÚFP÷ô÷¸ï¹wå×øê壨yê?¸ï…Ô.ù_¾´„d®Ï¹ý«ås©Ã÷ò{Îe×–ç8w7k¿×gÕGm¿rNàøegrhe÷¿kýÃ'}~ñ/¹þžü$•n¶¶?É¢ Jö%½ºCHoÍÁ `L¼–oü»Iƶq<€.ÿ¿ßáj7I"åàg‚Œ»àN®ºÜlùW«LŠ”ãæœµ¢`ÖÍ|ý¬øR¶ƒ[4‹¥_:‹›L/ãLeðƒÜöO³pãIŽÎRÑq[ ”«¾þE|Û&íF1‹¿ô5Œ”ãHY?WcNºÌ¸ço¹Ü|LÚ#p¶G2™9‘û¿É dyyyÄãñN pÖ'ïÆL4Èä.Fs^ÙÌ•`nÛÜ–`nyîã»..˜°€s&<Ïãµ;ØÕ¥ÅÝÿ¶ÔÙ Ì&¼ùu—}‚«Çnà+_ã7¿ŸBÙçæ‘Ÿx›Gÿû1ÞÊŒcîâ3±ö¬aí~N"úWÜø¿Y͈y×sÓ„µ;ä ’W2…±Ñ÷hp§ýÿìÝw|eþÀñÏÌ–ôJB „ „ÞA:( EDP zöÞÎîåÔ;ëyž?=ÏÞ D&Mj:„ôí»3¿?6MØÝl $|߯W^ÙÝÙ}žyf¾ûÌÌwfŸaØøÞ4‹O'JU8©v%œH݆ڪ/£‡±gÑÖ|û9I2&FEUU=~¦XõþnUQÔ± ÐqåüÊšÎçq^],[±™f.¦ËŸGÑÔ¸-7w5 âaÛ÷ÿe'Q4KëH³XUÎPQWãJÏ_ÎŒ/—³—¦tî—‰që 6º½Cê{c)PÜÝK?uDÚÖóù;_³FÍfÔå]ñ¬™ÅüÏß'ªéŒm)·w­iWþãʵõ{>ž»™ˆ×ó@×½LÿÏö4ÎgaRW£âfû¼ïP‡bt“ßø~ñZfü_-ûdôà-üðã&æÌ^MÛú†ÞG7 u6®J×1ã¯YëjJçþCˆ/=€³Q&ëz>¯b{µgÑŒƒF2>cóæl(ÛÖ ÷[w°x“Xýòz¼„ªnÆUà}¤ò_Ë)A÷£¼e (`ýÿÉö›qåÇ;P<Œ5™Á¿¿ÂŸ¿cEz«Fm1†ÉÛc°¬ ØÏ}QE¿Ta¿<ÆÀî€mï*}Uêf\锬©Æç áX«±¯¥þäxJÔ-ǵKÌõÈ+U Û'qÊã<¬rmN«g¥·éN;6ßa-œ[ùþÝìòø¾Ë@ê«׊‰9ÍÃæ/SçÆa©üzå×<8­¶ óç²ÙNá½Áæt·£Â<{lÖŠË H¢QÔ/f³MÓ°ùÆFö⢠eDDDnÃïôã×,£¨**•ž«€EL´š»S xAÊ7’þêÖËŠQSs鸡4ÑÓ)Þôó·m%WëCÛ?Ö°±T!e̵\?¦9Jq2…~ÎöÕ)†’ÇÑz]À¤ š¦¹Ñc;“1g ÎëO;ƒŽæïW ¨¤^x'÷+:š®“Çf~Ÿ‘K^¾ŽZ~z[ñ¶Õ»TÊ—IM;œ\‡§Ø{`¤& äª&ÒZÍŰû9~ÈË#•Ä m)ìè¸Ù\óè ôMÛã÷Ç«®Æ•uW; )£¯ã¦±Íápyû†C¨ÇcÉÜiÚõä:¬«f³±D¥Å؋ѻ1¤æ³áùØ´ùc[5—qÄj˜Ä•¿¸Ò)9rˆR=šÎÝ:Ú6‰¬ä¹ìrˆˆ3£–í«©M0é’a¤ºbرì=ÖG÷aâÔ‘´ÓS9¸â–PBé~úOÿ}tÃQWãʾ}›JOÄ•ª( y(ùíUl¯@m2€Ë.;Ÿ–dR²n#ßçå‘Oý¬ß`ñ6fÕ.¯¡ÇK¨êf\ßGB¡Êý(ï{T\ÛÖÊöï,¨›qö ñІ /íÇÚ×—2ó¿àÖšrþäó‡4ƒ IDATI5*Øôs¥«fVÑ/UÜ/w,aY¶K_\ÝŒ+sxõ>_}-Oþ¶òÆû9žTÖ-aS»$Á\OÜÒû ^HX6îézÒN‡æ²ãpË·UÔmááᨪŠÍf«ÖMÿTU­2¹ !ÜXAQPôJÏ@/¢°H5šØèê]YôŒuY2[‰Š"\×Ј$&ZEÏ·aséØJ-xt•ÄÄ84MC‰H$Á ZI1žn™¶ßÊôŸ—2ýõeÌi5œknOVä‰蚎®¨Ûyßf~Í {É·8q»xtCy³OÌŸ¢ (ÍgŽu?u”µEMjB"š'ŒÈ tPÚ‹Zv +FÃí.¯;äÅ|Ω›q¥c·ÚÐuIÐ5 ⑨Â!¥ìJÓ qwr\éØJJqërg=Ãݳʧª$ZíÞïgM-PH\ù+…ØFI„‘Ëþ=Gq&ïeoŽ©U2ñå¿zÔ„Dbu M1aRA‰‹'F×Ðtf“·ßÔ•ýgïìêj\YKJñè’’½qUöûÀ¶Wjb#âÊÖo˜¹l½ú]¿UÄ[yü„\^×PÕ͸¢ÂP…•÷‘Ê÷«ª~²ý;Kêf\UµÝ‚ˆÌôJ^Ƈ]Òû1 ÍJ~.„~Éw¿\ÚvÀ }U0u3®"»OdÚ¾?ï:T}­ªŽ'ÕÀuÇHÜÔ&I0 ÿü c {p¼TˆºÏl6c2™p:8N4Mó›lVUƒÁ€ÉdÂl6‡´| f¥ÂÌ'6†:–­‹Y¾_ÃØ2“vqjµŸAw(Ê^ÒòóÈ×bõò 5”°hb ÄÄÅbT4ò€¥ùä;A'ÖØˆ6“î£ëÈ,ùò=¾øm!߯@Ö°ò¤¸^aøŠt WÎà“Ÿþ ñ¼k¸sT<+ßâÅYû½ŸQ½7:Ôí6(„9ò8Z¤ƒ¡,™£ú©£¼ƒc¥EQƒ¶%ÆpüHb94u3® *:EÑÈÏ+@WR °€"Í;SŠEAã®r Qq1)ÜÌԱǾ1É仯I\ù«ðÎcŸµ‰Ï¾~š{¿srw&MìC¼ª •¿Y5¿Á©·¸²žú,À7¨©ºÍ IÝŽ+ÇòòÑNhÛ«òõ]©Õ·£Õ,ï”VAƒTWãŠ`ûHåý@•ïQeûw–Ô͸ªª‚e³Yrbb¢)ݳÙëû2­kTÀ~.¤~Éw¿ïZ2 Û½‚ݘŽ_µ8îüÆÕÐ>t‹]ËÊóY݃¦+ÇÒxØe¤H Ô8‰+ÿq¥ÛȪí6â[u¡m“8’¡ÃÑ´ æÊÛåDžH)KUxîg~üöÑ H«vh¾žÍ ÞãmK6ñ–}ì‹Å£«±½ª´­«n¼5‹ö¿¬¼†/¡ª›qT±äí'ª~Ox¶lÿΆºWÁâ¡Yɾúv¶„þÜzW{–¾ø.«f΢Oæ²ösÕè—”ªÛ® }U0u3®tò—ÊŒ>ߊî‘ÕÛ×:"Øñ$¬P·œ@«U2¼’BÔE)ªÂ_å1—½ÏuÛ^Ö-þ•µ;¬4ê|Ó|€Ë2#ý|>øŸï…¿ºAÁ”Ñ“,ûFVæÓn×\ÖhƒŠ!ª3“︊©Nr–üÂÚcñt½è®œLX´™¢ ùêóÏøf½ƒ´þS¸¬_CcúŒFëØRþX¶„ßÙËÚåûg ±ïXFµ§dý\f-9LÆÄñd™TTs6£§ !=¦„mKW²'n$S†4AoY~ë(¿jOñi{ÙKjð¶¨~>+õ1®T I™:µ©ÆÃlX¹OßKÚØ»#YeÜù©CêÊw]ÍÀfEü6ë ¾øj>k)DEÎú:hˆWþãJ#ŠøX(ܵŽß–ÿ¼Y3ùøµùhÅOßwr†ï6&Ä67¤¿:W‰™vÃ…tJ,aó/ YºÕJrj¦jn¯|·uÕ·ê—×Ð㥾ÇUHûH!¼Ç Û?‰+Ÿ¿€ñngÓ7_±¶$’ŽãÇÑ©Y/&ŽÎÀtl)ӿ߉;`?W½~©ª¶K_U?ã*ôÏ;ˆ«æ¾–RÅñdÀºCXžâÔÕdò>XYþ¦)~{Íß%Äç媟ǟǪÏsßÿþþäææ>¤ÍBˆsÈÚµk¹à‚ üLQP Þ»÷z<zùó²žJ×uÐu4]ó^ªZ-ZÄ AƒNz]/Y¿üœ¬kyñ®x‡œÒÑ<Þ3ÄÞÙó¥½ÑuÍ{“EÅ –]½§Ÿx]‡Ó]×ðø½[‚‚jPÿœI×@Qt­ìæzÊÐÑP0(zÙ2òWŒۣ݃ûY®AÚ‚Ré³"u3®@QÊw–½ïCñ®[V¡Æ]Y>óª(º7}Û"j”ÄU%Z.ßüíï,ˆ¾„GîIjØrgóÒß¾ÁrÁƒ}ahmnHêj\•¿ò24 M׫±½ qýŒ·S,Ou?®ï#…úÙþ u7®üǪƒ ºÇƒGE-KkeÛÈú¹àýR¨m—¾*˜:WÕú<§°¯äx2XÝUˆŒŒ| Xxüi~þë>ÏuŸ×*?öý#ÄçÁþWõU¼Ê´ÉBQCÓ¬kïM/Ê~’süyÅOŸÖÐ Á‡ç(ÛÙSN¼îûn]«x0á-ËÏÝ€ÎgšcŸ<û%›]>o‹êÁ´‡&ÒN©X®^vð¬(•Ê(+Ó{ìë§Ž²¦hO…¶V^®ÛrògEhêd\U¾SµîAÇ7.B»@Ÿ©ÜQ³ÎÙ¸rþ~rý‘mHsêxJ°-g % ûÖ¬å GÏö)BèûNî ýÏOCW/âŠÀñh{êú Ôjy«>Ä•¿}¤Pö£üÍ£lÿÎŒºWþã]Ã:åãàjhžàuW·_ ­íÒWU¥NÆUå¼ec½êïk;ž 6H‚Y!jÈÙÜÑ vS–Æïδ§{TzQ÷Þá·ªg–Ä•¨ çl\¨¿xs Ú—?1ãõe8 $¦´cðõ×3¾sŠ|ÈÎÙ¸µJâJÔ‰«JÎDÛÏWâl“³BÔº–`Vbsß[Cð{ö¹éþÆö3Ä ‚Ä•¨ çr\ù«?&{,·?9®ÒûʆM’€Ù¹W¢öH\‰Ú qU©ú3Ôö†NâJœm’`Bˆr6o ¼nåÄ 5„¨‰+Q$®ª¦(ª\ÁUMW¢6H\‰Ú qȹÜöÓ'q%Î6I0 !D ©kW0 qº$®Dm¸µAâJÔ‰+Q$®Dm¸g›$˜…¢†H‚Y44W¢6H\‰Ú q%jƒÄ•¨ W¢6H\‰³MÌBQC$Á,‰+Q$®Dm¸µAâJÔ‰+Q$®ÄÙV“¬,Ó?ƒ½æï¿âóò?ÕÏcƒÏcÕç¹ïrssŸÒf!D-Óu§Ó‰ÓéDÓ44M«±²UUEUUÌf3f³¹Ê öÚµk‰ÅápÔØ<!„B!„âÌ5jÔcÀÀàOóó_÷y®û¼Vù±ï!>ö¿ª×¨âµP¦…L®`BÔKN§«Õêÿ޵5 åãÅ[i16‹÷V,ØJ☛™šn&õ >ù9‡Æc³ˆï{- 3ž¸Ã¨e#3>ÚIûæþ5 iN§“°09“"„B!„B! æz¤F®HÖKYõá›ìïãÛÁ±‰é/}gì½\Þ9ų‹Y¯.¢éµ}Øûñâ3uöî+Åaq™5‚ CÛU9¬[Ø:&K÷ÆðÁX͘+Óäèjf»ˆ%¦¸ö ¿äB:&ÀÃÌ·wÓn€Æ²¹ë(HŸÀ=ãf½±ž¸l…ý{‹±–:ˆë~>ÝœëX±»G©ÈÎã˜4°%áîìùî[ï*Á£CXÊ&]Þ›&§6Šˆ¨GœNgà‰Q­éÝGÁe/¢À¦ž–Nü 6 Âòv³/®“’]º0µïIÛe+ȵe‘E1LJNÖ)X³Œ¼¶Ð\-@.ÛårI‚Y!„B!„I0×+·ôÖÈÉÉ!33 ÊÇ~ÇmV¢hÝ6–U{¢µm†'wy‰‰h;squn1/—ƒQmèe`_ñ64º›Æ5Âà>ÈÂ7ßcÞÖ[˜Yé&gJ4٣ǑûÇ|ßt=}£5œ¥;˜3cæ±wòXvÅ«>äõoWÓbZoâ1 ­ã—­#˜òÀßharaµlA)ÙÁ¡¤{¸~ljñ2ÞúÇç,~7ßÒ£}#Ÿ½ô ›º_IçÜÅ,Ò‡p÷£]ˆÄIq¾ƒ$—Ï 'ðDÍ…ýø02%{÷aoÒ•xÜ¥%8ãÒ0º½c;’¸¸ŠŠ5ˆð ÷6æ˜é2)M\WÐùB!„B!„8‡HZ®ÉÉÉ9þ?”Çþ)$´j‰sß~,º‡ýÛ÷ѤšîÛÎ~·Žuß^ìié$(€!N"qÚlØ\ tí–ÄÎí89µ¦ãqºÐÑñØmØìNœ6“Ñ‹éFìV;aYÝhyx;»íe—„êÉôÙ‹$݆Õáö¾fhIǬpœ6vCcšÅ§Ð!;·Í†]O¢Y¼…âRC£dÂ÷­fé¦Yݘ"ÑA9Î ‡Ç¨ü¾’?X¼z÷IÅx<&ƒê3β‚jðàöT,϶s{šv£]Dð²¦ÉÍ3…Bˆzͽž÷î‹5î³=#¢¡Òó×ðÉ?å¡GþÂ#´½Ø\¼ºYûö½¼ÕptÆH\#qUc‚ÅFuã¦ÁÅ™D®`®G233«uóO+ý—£4mMjÞö;š²oO#Ú ËÀ³a1Û:pææ‘Ú±) ;A1c>~ BÇŽÃjG UÌ«n+¥äàzÞ}eyYòWÃ¥6!Í ˜5ŽØHOÅ!”0ÂÊ ÖÕ„Ñ  è:(:è ¦ çºËV²`Þ‡¼:'™nç_ÈàöñUΓ¨ÿTU­:¹kËeÑ÷ëˆ9 #<Ø=`2q»}¶hº·ÛˆÙäsjB/dËÆ|2§¢zô ;kªZÝss ÖÏäÍ6“yç_¸8íLžÛ;›u‹É}Œsg2kéä»U"šöàâ«'Ò=ÉèØw/ä£d{‰Fx³ÞLºfâË¿kþãQ/ÝÉâïfóóº=”xÌÉ]{Õåôkfò3UÕQö®Â¼ùÌÇ(—¿ÄM=ÍÕ+G/fñ«ðùvƒ 8ä.þrIk?Ûš@ß1ykfòÑ·k9êÔQ"ÓxùUŒÌˆªpR4hÛO{>tò¾Â3_ïò99¬ãqG1ðîg˜Ü.Ø–3´å\c$®*‘¸:›ª;uˆ¶Ÿïþñ>úÕ3ÎçFÅîuïðàòN<{sojt€/ŸúÆh³xæC•k‡Ÿ{$×.çF>~v%Y\KÈ3K–sÅùÐØµðr;ÞÊÓcS0èJýº æL/Óê eþêzüøîÙg$®Î¦ºWAúvc×ëÎÌ<R×ש8£$Á\ø»:9øãlÿZÞx¹[¶‘•A¿°´Œ(Vnߌ~ ™ôQeº…‹q  S\XLxTdH—½+Q1Ĥ㦛z¯†@Ãe³ãrzò5ô•³zþ²|šsó>\|ãy\¸ÿg>zkS®¤gŒth ]• fû~–Î^Š>`2ç§€­,Ö ñ‰Dl(À¢§«žBò‹cië³>¸‘:sqc2:†·:K%̶“e« i;º…ÿ+…•p"Ì…ÉsA´CóÎt´ÌdÞš6\˜QwRœo'<1×ûT‡V|„ÀEm þç»[Ï濽‚.¿î¬çý§WÒ¨§Ê®íE8,¥(­F1mJ/’Õàå{×] (1Õ\¢eÊçãÙÉDÌû”¹X)Øÿÿ¥SnE³ÖÿIëg _|:—Gèæ–Œ¾ý6†&8^U–~̧ó¶Qèr£Eµg쟮⼦å±u Ë#­—©wÁbùc|¶˜½î0b›÷ ½fªÐæ@ËÆÿòð™?ý¿~ö1?l-£CxË ¸îÆ!¤h>ï1ˆûnI‚-#O€²Ïè%®$®Nƒ{=ï?ûºèìÚU„­ÄNT×K˜66‹û ^"‡AÏL££ÀÍïï>ÌÊ®ç†Î€ÁÉžyoòÃò\Šœ&š˜Ì5c2©ÐCzBXf‹³Zh³8k$Á\ÔØÌeã0Ûì¤SÛXï+‰´õÌg]ÛtÊ÷•ðv´3/åýW÷Sâ4Òw2—µ5Qq\‹2jÝ¥ñÁôWøgLWÆßp!ïÊìðò76<˜iÔiSFgŸ~‚¹p3³f®ä˜ÇˆÑEÚ€‰Œ8#—½ˆ³Íl6c³ÙüŽÅlýc%«Cÿêßl(Ÿ¬ÄÑmÒU l–H¯±=ùá›Ïx§Äƒ©QF\Ô݉èE9l<’Îy£LhUœ­PU³¹:Q¬’”‘ z>›No”´Sp6ëçâÝ»±µL² ®¼£Ø’Úߎ`H¦IB‡Žjc)5ë~Vþ°½ë~w´«ªC/XÁ—¿Ä2îŽlŒßNXOÐrZ:±[63ãÙ¿2Ãæ!¢EWF]z1=›T>¹ø;¦DweXÇELã5b÷üåDùm  ˜“iÛ©q±·]'µÝx>*–¡„ö]wíà—eλ-­ÊÀª–sí’¸’¸ª)n ¶.bö÷«(j9€1·=H«µ|8·²Õ~7w<ÑšHçn¾yéM~ØÚ…+²N´¤òòSãÛ1üê{pd#?ÿ//hÃÐq#èÙ"%h};™ýî/y€g;FS´â-^úd éw ¡ mao£Ç¸ý¢D”‚Eüëñ7™;æaî½;ƒu-ï==›UçÝÁÀ õ‡Àµoßþã¥æé±xŽ.ã½WßãÇf÷бm ¿ì8ˆÖ!ÏöÍJl„góvœ½:c:²ÝQmë¿%"›ÑBù9†ÛãSž~l)3~Šd܃‘neí{/°ºË]Œkc2ß÷1"©â¼èEÙõ·ßÝ£v„/¿Â9ݸ¢Iò7ä“ËF Yc®aäÞÇØtÞƒ\ÛÙîÌ ´þ}©k;ß¾½åâûx¶kеg¸êýågÀx5×j Sᅧ”({¾~Ž7l£÷•YOuyTºžã´–)€c _}°Š¤«ã–ÌH¹sxõE+ } þÝpYeœç0Çu>?Ý(œæÛ‰V©ðžªâ'Pû.s(ûl¸’¸:EzÁFv'<Êíã“P]ûùá_¯33í1¦eTñAÇV¶é÷qÏ“i„9vóÝ¿ÞbfËǘ Ít™…°½õŸ¬Íz¤æ®`¥åE<ö¼ŠÛfÃ{¡gSF>øcä?oÎ&éÑ‹ijL‰¢õ€þ$½þ=3ö¸±% áúìDïÈP¦4†^™VuÛƒÍG¥2ª¦Sºî'6¤ âÁ$ï¹Ö5óâ×Ûpã (ßÍö'V`Pèwí 8uyº$®‚¸ªÛÚxæ£c ºù6®hurÖNßAéÞ«nÃZо•ʼ<:1èAcG!¬q'F^“Eß>âÕ^æðý0ühàú<{Öð{X_nÍŽEºõ¦Õô¥üaL¿0ÀЊ®¼ë2¶9-Zݵ©÷`-¢9-ŠÉ/Ò¡,ùï¯þ±)€v€^¸—}+ל¸³:•ÍÇZÖGöåŽ,ï|¨É½9¿Ë\¦¯;ÆÐŒÖ8¿ßE±ÞŒ#›vÑtèPôù›ØåîDÊŽØZ¢I $ˆGjªï²­N{ÊfóØaò§“¡‘´HfîÁt"ÑÎ÷QÎ?¿òzmMÉÞºÔDR›+l>fÅc \~mïÙ]ÿ>¿&ðä®eCD?nëœàÿÈ"À›  ¯Q)­‰@¥y»V(?á¢ì`¿&–Çi–áÉÝ@N\_î,û^„§ö§oëyl­bÙô>dy”1&&¾g%˶¦1¨}#â|!Hà¸/‹Ÿí3´¬ºì³Iâꊫ}û+¯†0³!nÝ•í+¤Ð§W2ÏmØ»ª³!Þý[®ái ì“äý\€sÐe$ÎäȺás=òÆJÈöI‡ò8k…†ÓzrrMwÚ±ùž¥snåûw°«ÂµR‡\͸`õ=+©¹qØüÞv‡¥òë•_óà´Ú*ÌŸËVþ܉ÍZUP4Tf³MÓ°Ùl^×%ä;N÷Ø)-²ûŸè±S\XuÝÕ¼zYˆ†K/ÙÂŒ7çqñí nìÍ8˜ÂL¸.Ÿw¹pºL„™«ÞuTåÎ熢»KØ¿z&ïþk&S™HÔ‚x~Î~4Œt¸âi¦¬ò—}Áâø‹¸#3ß •Æ9¡–ãWcXÙ­°”(ZA÷Ÿf°5O£UÀìJ¥åS°œ÷ÞÚ@û[žäæ8¸â3Þ~õ+&ß?‘ŒJwÙòßöKÉ0þ|œXGjñI IDATYöË>²Ç]CtÙÝ"»_Å_»îµ¼÷rÅ¡ ìGN}]ž‰«*–ÄUµDt»Š‡Ã—2î+üãÇLž?Œ> 'ÅJÑÇ“0 ªªÿ•T°å‡nåà†_Y¸ð7öGwbÜ}—Ò£…ŠÚ"p}zI…~ãµ'~-;˜öà04£”"ÂOÌ‹¢š}–‹Šªè'†„ P¿÷þ&)Œ¼ßßMþÊ>ZZ‚5º%1Ç'«ÄÄÇ`É/AmÙŽ´#kÙmoÉ®íȾ°#ž5 Ù”kDZý0i][†~Síê´§üÕÆÍI>¼…­Å½é]ÌŽ¥¤œçMЏƒÌ÷I§'”"#|êVt=xùµ-èúò}_1–˜TbýÍT xÕKØþól~\›b@±ÀÛöÄr©‰åqšeè–RlÑ­N¬?%’è(µÊety”QÓÆrÇU‹˜3çß<1½)ý.¾”ÑUˆÕ`q¯k_eŸMWçP\èÛC¢„îÓGEE`/µT}žIt¤Ïç¢#Ë>çÿx8h»‚loEÃ! æzâ–Þudá°l&ÜÓõ¤Î]sÙq¸¥ƒgFxx8ªªb³Ù‚ßô¯†¨ª*Ée!|è–m|óæL¬çßÌÕc_y`nÜ”èE‡)Ô;‘¤î£*H$­¬)ÆZôDÇ9_²3F^ø ¯\xbº¶'@JØôÝöíÈááeeïu9ð,}Gþ¸§¦†XŽßyÕÑt#FcèI0ûkÙ>„ë›{yÍúŒgÀ²WY`éþ—GŶkdœ”ì«þ|”síü…_]}¹1#´~¬&ÖeuI\UM⪺Ì4ÊÂ䬔ìYŹoðÌWiŒýÓTzƃ÷€?x •—_šeo}º GzFL½©Ã|®¾ \_·èâZŽä®{‡Uüé:ÿÙx(?rþª)1±D•Q¬A„  QRXBdl4й1íšÌbûÚ ìŒÎfHLžì(~Ý´moÚM¬Þ~Puð¥Ä÷cBŸ¥¼öâ‹ü’I|öLì^õ|c ©î`å×6%Øú÷}_T4‘¥Å”og…©~Ûe[ûoýÖŒÛ–á îòè¢JŸ¬åq:e(‘QDXJ(ÕñŽ»­;°Ù¼ÇŽÁ–çX°åQN%.c“31nÏÞþϧ,}ðvúÜ5”øñ¯ÊvƒÔ3HâJâ*$z)%Ço@¡SXPDxtŠR‚ªã“hvbõ½@P·PjÑÁìý\I‰Åû9\'U´]ÑÊöVÔ2¤¶ðϘÅä'¯,ì݇îÁa³a«ô'Éeq¦™Ífbcc‰ŒŒÄh4¢ª5Û©ªŠÉd"22’ØØXI. QF·ïdΧS0ø&®êYñjµE7:Û–³p«G–ÿÄ–ä.d½y—Žýð.r ]e;¸nò7.c£«-Nþ^¬#6wþ‹Wÿõ ¯¼ò ¯¼ò·L¢ËÕÏñìÔì“Ψ›W½hì/Á­º}‹ç±>¶3Bß365j„9w »,e­:¶™­ùI4MTÀµ‡Ÿ>žÉš|-hÛƒÎÇñ2BØþê~ÿi-žG³»ÊS[—§Nâ*4W§Ê@LZÆßô0MëËIÃ^W›$®X\Ug\žÝ,_¼ «zi?.- ³S:FS‰aÙ{Äûë,íØZÖìðTüÜ’ÝØtÐm»X¼ü˜÷sÕm—8gÈÌ"ÃXQ·(ŠBXXaaaU¿YQtJ~›Åì­¹hü…•ï–½¬&sþ}3±u£®Ä'>ÃCEÌÉݘpÍ€ WÕx 6òÍ—o²§XÃ`0ѤCo¸„Lçu §VGuÊÑ\‡XöÁøOž “ÉLLZ_.¿n8M«qËØf W÷þŒéÏý º1™®—L¥oœ‚nÉcÇÆÍ48žö¶Àm׋χn+/ãbº'o¼ž·œ_v·ç‚«âý'£ŒÝ¸ön!/Ÿš'q*‰«Ó¥Þ¤ ©pÒͦ|‹¥qkZJ}´aÜ ð¿ÏþÅcYqc¦qIÜ49êìŘªU¿ÆVŒ¹n$3>ý'}æscºNøÃËÎ4Éhuö6ºvHB”¦Ù´wÏæ·ö4®õK“‰ÞÉ'ßÍt“Š!,žV}'rÕøŽÄ›ïY‚”_íØ¾ÿûÌ-{ªD÷ã–';~¿)ÄõÖžñ× â³OŸç¡èa­sûm MT°BL÷Q ^õÏ<<‡ÈØz íC«ßCiDåÊÇ«*Ãw™†uàâ«wóÁÇOñÓDtÓ®tí’Ä᪖MËÓ·†O?XÌQ£1šôÁS¸8A¡ÂˆF§?Ë®-WU—Ñ€ãJ·†¾ ®–ðL2Móyåñ\ŠZ ˜Æ5ÂAiÃð i¼÷ößÙ…9ª%é9Zö15eýŒóøçã¹;4ï•÷sÿÕ„´ÌDƒV“½c°²üMSü<öš¿ÿJˆÏËÿT? >UŸç¾ÿýý ÈÍÍ}:H›…çµk×Ò¼yó³=B!„õ‹m3^dNÌTþ4¼%ÑFpoaÆ?¿!ö†rºÙíÚ.¿¾©‰å!ËTT&qUç¸×óÞÃ+èò÷è.——†¤gÏžKð¦Æýýi~þë>ÏuŸ×*?öý#ÄçÁþWõU¼Ê´É·S!„B!ÄÙ£;8zØJ\³d¢Œe×¹-X´â"kàš¨Ú.¿¾©‰å!ËTT&q%Ä9MÎa!„B!„8{”hzŒÎÖÏ_âéY ІnJ¦óÄ)ô­‰_ÕvùõMM,Y¦¢2‰+!Îi2D† ‘!„¨2D†B!„BQɧN†ÈB!„B!„BqJ$Á,„B!„B!„â”H‚Y!„B!„B!Ä)‘³B!„B!„BˆS" f!„B!„B!„§Äx¶g@!jƒ®ë8NœN'š¦¡iZµ>¯ª*ªªb6›1›Í(ŠRågÚ·oª³+„B!„BQ/I‚YÑà8N¬V+º®ŸråIi·ÛÝn'""³Ù\ƒs)„B!„BQÿI‚YÑ Øívl6[–©i‹MӯѲ…B!„B!ê3I0×o¬<µá²oé]½a„¨ÏœNg'—}Ùl¶ãÃf!„B!„BI0×+Ǫ™7kQ;óQÿéíØŠ¥E&)ag{^DMÑu«Õ`ª•_½ËO”²;›*Äv™ÀšRºn&ŸüzßS1š'œN—\Ë'ŸØ±Ùl˜L¦ÆdB!„B!„hè$Á,Î=Z­"ìÒö¤„I’°¡p:Ç\Ö¸h˘»§Ð3Ft<öЬnâû^Ë#ÃŒËFf|´“öÍýÿj@Ó4œN'aarvB!„B!„BÌõH\‘¬—²êÃ7Ùßÿ.Æ·5‚cÓ_úÏØ{¹¼sŠg³^]DÓkû°÷ã ÄgêìÝWŠÃâ 2k†¶!Ê_NÖþ;Ÿ¾º“ž÷M ÀMÎŒ—XŸu—µ;Æšï¾eñ®<:„¥ `Òå½i¢‚óÐjf»ˆ%¦¸ö ¿äB:&ÀÃÌ·wÓn€Æ²¹ë(HŸÀ=ãf½±ž¸l…ý{‹±–:ˆë~>ÝœëX±»G©ÈÎã˜4°%áJ€²ìl?“¥{cøà?¬ŠÎfÌ•ûý[fýº›b—-¢5Ã&]L·dC ,pq¦8ÎÀu;6Gä»*NÒìÅØ¿‘‚5ËÈk{ÍUÐä«].—$˜…B!„B!s½rKoœœ233ª|ìwÜf%ŠÖmcYµ÷(ZÛfxrw—˜ˆ¶3Wçöór9Õ†þQöoã@£»¹a\# îƒ,|ó=æm½… ™~nr¦¨¨ŠŠoƒ‚j×¶Å,Ò‡p÷£]ˆÄIq¾ƒ ¸÷òóŒe˜ÇÞÉcÙQ¯ú׿]M‹i½‰Ç€R´Ž_¶Ž`Ê£…É…Õ²¥d‡’îáú± ¨ÅËx럳dø]Ü|KSŒö|öÒ/lê~%=Â÷(»٣ǑûÇ|ßt=}£5œv–´~Lê>…f‘ö~ÿ*ï-ÛMç‹Ú )æúÃãñž¨{pÚwòó§¹xæ¤6ôtí*uîlÌ1ÓeRš¸¼ u !„Bˆ†Ëµ”g/›Oÿ/g°©Æ eÑSùiÈÿx|P*„¡©•~Mœk$Á\äääTø_õãl?¥($´j‰sá~,zcŽmßG“þÐÙÎ~w;’÷íÅž6”Å †4:uˆÄi³ tí–ÄëÛàÉl]­Ä«¡Q2áûV³tS2½Òã1G†£ë:ž›É‰èÅ5éFìV;aYÝh9ë7vÛ{ÑÕèÉôÙ‹$݆ÕQ^XK:f…{çÉИfñ)DeÇá¶Ùp“D³x Å¥:žüÀeÇ›]èèxì6lFPˆHnN¤nÇj…ÄV©¨Ë-¸@ÌõHÀá1ŒéŒºíNÌFªnãàêoùòû•ÄM9&>gEl;7°§i7Dx HYÓNíæ™ZÞ|ž¸á%¸ãkžæçDM­psdÙyü+éñÂ;\ßN¢Zœ&×!–ú&ïÏYÇ—¨–C¸þþ›œbt,[þÇ‹/MgC¡FdÚùÜúð ôM*ÿ¢ùG­h3ß½ÿ_/ùƒ·BDóó¸úÏw0ª•¿_ TU‡WÕß·@åÀÁÿý™ÞÚŒÛçÝw,c_ü”»ºVÞu ö áû§ðÝ“ù×¥l›c é„çyû¦ƒM °zNjwÐõLh˹ÆH\…8/y+Þåù7æ±³T!®ýXnûótO¨´^$®„¨¿ìËyñæéùïG#Ãù !NÃÙèO*Ô©sdõr ³Î£]䙩^œ=’`®G233«uóO+ý—£4mMjÞö;š²oO#Ú ËÀ³a1Û:pææ‘Ú±) ;A1c>¾¿¯c Çaµ£Zâµ<ß§6Îu—­dÁ¼yuN2ÝοÁíãÑm¥”\Ï»¯,/ÿVÃ¥6!Í ˜5ŽØHOÅa ”0ÂÊ+×Õ„Ñ Š·BEàe›+Ϩ…ÝË~fYÎì¨(ö|nîü/_vàÀ¬'yø•ùdüm$. dLå7u¦q¸ƒÜ¯žà¾Ï¡Û W8 €3Håw(ß· å4›ø2ßMôisÁ|¿{ ½3*í6ûŽ…úýÓ‹(°tæ¶ŸãâÊI¶`ÓüñÓî ë«|yé%Øã Q«$ާ^CYÎ5Hâ*´2 æóÊ«Ûé÷̇<ŸæaÛóÄËMxõ©׋ĕõWX6îJ$Ñ︄BQ g£?ñ­S;ÀO}CÄcýh)}ZC'— Ô#¾W0‡ò8 C Ò$wË6vGeAëŒ(ölßÌîɤ·(;@Ó-”XÊÓl:Å…Å„GEúE©”ua·—]££¹17ïÃÅ7>À}“ÓÙÿÝ,Ö–è(Q1Ĥã–‡æá‡æá‡å¯ÿ‰¾ñ>%ùËVÎüùɆTvûæïùrC,L»…›oº‰ëGµCîýWÿT•ô=q…³ŽÛné›ó9Ùà>¸‘:Ó©±ßªÀ`¨n²Vãè‚×ø*v Û*U–_c”pâ3/ã‰g'“!A-j†ß‹K§"-Ê„“Þ·;Žà˜îí‹Yw!»Æ¡b¦Å¨ tÛù+Šô ñ¨&õâ¢Ñ]h®á´èÞ‘¤‚£úù²­õûVu9å4öÍý†ýý/¢gTå…ä;dš^üOMºŽwr< Qh#1ÆOdZ…2‚´;Øú:±0Öñþ‹ß³ßçµÐ—O͸ ­ ç¦ßØ–=ŽÑ­ÂA‰"câUôݽ€eºÄ•g…›Ýsžã®k¦2uÊ¥\~ãß™›[vÃ×RþqÍS¼ÿþ3£'Ý»ÝæUqÎ ¹? ¶ýïoÜzõT.›4•Û_ù™ƒeÓì;fóÜ­S¹ìòÉ\uç¿øé€O?wÓüüó¿¹ýòqLüûìåuº Xþæß™¾e#Ÿ¯}“ȵ7ô"ÊS2ͺt'Õ Ú™Kk‹sŠFþ–-”¶É$ÅÎ(mÖ‚ãERh‘|ˆÜBGOÉNæö3 @ºŸ Nð:Bÿ¾UUÎqŽ |óƒ‘ Ç¶çäo~°6ž¦„¥Ð±_o2ÐmX‹ã?7]ÅÔ˦rýC¯³poÙ¸PA¦U(#ävW\_Á„¼|jŹWÁÊÐ].0™NìÀâIŒ>Ê#šÄ•g…Ä̱ÜóêÇ|úÙÇ<Õ{ïLÿò{Jky+Ø;g^z™¿ñö¼Égk\`[Å[ÏýD³;ßâ³ßçå« ¬_]ê· T†vè{^ÿ*šk_y×ßy—G‡7§ßíÏsmGù‘²¿€}€c-k¬—ðüûŸòåÇ¥Ûæ7øl­ \›ùà™˜®~Ï¿ø„—ÆåóÖK³9T¶[ ù—´ä®w¿áàøbJ}o¸™¡M²¹â¹7ùÏ W‘-ÝSƒ&«·©™1˜¡|fÛ‚tjë}%1ƒ¶žù¬k›~ü§Jx;Ú™—òþ«û)qHé;™ËÚš¨8fE5•cRùüË7Ù)²é™ ´ÂÍÌš¹’c#Fci&2"Nš3üª¡Ìžñ/cÙFF1etöI£XT›¤l5‰nƒÒø`ú+ü3¦+_;Œó6Nçÿ^XHDLº èIêæÓq¦™Ífl6›ÿ±˜µ"¶.øŽÙ…n FQÍ»2ê¢.ÄèN<€^”ÃÆ#éœ7Ê„¦O«ª4™}rÝG˜÷Ú,ýéôŒVø]½¢ÑŽüÄëÿó0é©^D Sàpb÷ù~(a„›ØB8k§íŸÉƒw½Ï†Bѧðàõ~¶:Ž`u„ü}«¢Ÿ÷ýúËZ]ÄëÍjðœ|X{.¹¯}Ù“¾ÜûÉç(áµbþ˜õ<}ü#Rþ{=™¦ Ó|˱ݕ×WÉ//r×Ûëqa#ÿˆ‹ Óæc4$3òáçsëòtÛq¼ sf'š½7E‡»1¼±‡}?}Á»u«H\ qV(ĦwÀ{DFë.™¨_çS>â¦l†mî}lhLFºU‡Kq™—³:qÏwE"3F3¢Ãç¬õWE€2<¦½nžEû(ˆ¦mÛx>ÝsêOá_€þD0d1ò¢l¢U ¼ ݲT>?TŠ+ü~Á3½QƇ“õú\Ö•ŽgT 5gäµãȈ’ëWÏu’`®Gjj f¥åE<ö¼ŠÛfé4eäƒ/0ÆcÇêð^E¢»¤ ¾’Ñ#U@s;p8=/t¢2Çs[gÕ;²îAc<ªÛŠ]ÁíŒ.ÛÑÑÑ\. z\'&ÜÚƒIª‚‚Žævbw¸ÑYL~²‹ýÄÍp*¿fHeôý7£Ûl¸t@Idà­÷¢8l8µ e1.åþÐÝ8ìÚßô#@×p»4 =5ìv·¤ëEQˆŒŒÄb±œ<-®#ÝÔ ³ê«[ó8°Zl¸ÊrÉJb_¦ÝaÀ^dÁYE=(J¨»í‡ç½ÆwÉâ¹îÑ(Èo‚Dá®âõÇ¿ ú†ç¸¸lh¥°ð0œvŸo‘îÀî4¸CjóKxaÆ%è®Bvþü&ÏüùMÌoÞBìôÛ¹ýãx0Óû¾Oy(`ù¾iìú8Ôr|‡iÚÏܯwÐûÚ‡ˆ«Å£uSD„÷!–vc'3xæ¬9¨‘™ªVÞ¶Púë+fðý¼;p-æÙ{v1ùÕ«i]V¬uß©¯ËÓ!q¥m¯š2ž?_{ˆýåF>UãHïSŽ’”xòAÄ•g€VÀ†o>búÒÝX1 ”ì¡4±“Ï1D4ÑÇÇ>UPÐ5½¤K\&ÇïÏ©Äè'þË0´hMó½kX[pãòÙ°©ˆV£šÈO”…AøïO¼Oc‰‹=1MUoUxŒc»~äáiß—åt<Ø -ébÓ!P“i’,=s½òÆJÈöI‡ò8k…<œ†ÓzrrMwÚ±ù^ÐéÜÊ÷ï.`W…_2Hr5ã:€­Âñ‡óø›5@ÚNsã°ù;hqã°T~½òkœV[…6¸l>Ï– ºÛÕg’Çf­ØvÉÖKf³MÓ°ùÆ€æÀRäàäÔsâªˈˆ¨ÞÕËz>+®fû¦Õ\6·lVœ6Üs&1ù÷Çùèž^~~r/DݧÿÎ;ý/¥—þûû%¿R*¬E*qßî%OëK3p`ï‘Æ´kú¸åŠ)ž6Ã.¢Ï'¯±éL½òuf_ybºgk€:š±òƒ`ß·Ëñ™Wç¦oøÞ9‚':‡sæèxtf¿ƒŸi!ô3Æë+˜šX—Õ%qJ{Z »†•ÍËá™üyI6ªZ«çn\ Q›,K^ãÉÓxö¹—h¥àZñ“ã¶–Í„{ºžtf\sÙq¸åz_qö…‡‡£ª*6› M«™ïªªÕO.(IŒ{~6㎿àfÝ¿¦ñu§wxbØ™LX QstËf>~âuŽŒ’†5©0.¿¡Í`γ¾ÀÿÖäÖîáøá+V5À•~n°êS"Ö½9ì‹hMFR .¯˜Ë Gnõs5DÀ:’hRï[•óªóëW‹i6î5Òj:÷åØÊÌ×~&éÊ`ÜΆ¢Æd§ÇcÒ-ì˜õ9KúñÆ*Ú±?Nó-#X?l}sjëòÔI\U¿½î‚ÌøçwDO|Î;®´Ä•g˜Ž£¨wL2"pàçù«±è]ªü¤±]º{‡Y›.äÆN18vÎaþ&7 c«Q½g‹çO¯>Ãè*O2 !Ä©1¶BÿâòɲÜÞ¿ fÍÆÑ¥D7O&¢ª«QÄ„&w¿’äø·¡“³ðÏߺGå«C…¨cÌf3&“ §Ó‰ÓéDÓ´j'›UUÅ`0`2™0›ÍÕCˆ†L§ð§÷øpí6<ë®`Á3e/šsé+ïqK‡v\ñÐ8^zîF.ËwÖ| 7>8æä«*q]Á»¯ý•œ| £ÑHTj/.yüfzøÛ5žZÕ-G;8¯·tåòû’jüçÆºã ›–ÿFó±×3 fsžû 9èÄl#¾ýî|l-UЧù–1¨IÀšªX_e»¦<òÚÀj-Ÿ^"W¡–¡0ÿÙ»x‹›ÿgï¾Ã›ªÞŽïM›îI™¥@¥ [@€²÷Q†"  ¨(CÅ=¢‚¸@EQDü±”-K†ì"{CYYMîýýÑÛ’¤i)háý‘Ôë1žç[EEú•·žBX³~t^ýõžCPx4-»¶!v£›úÕçÑçâxûýAô´ )Ó˜&÷–äTžò÷'"t“{·çc£/¿bÛ å¹Á þù!M!„¸QÆj<òRo>ùàYú½ŸBšîCd‹á¼ú¤'æ²´îY•ñ¯õ§_‘Ö<ûÑPêÈWxo[1q—–³ç'÷Ý=æì¯âáÿ™7ÕÉ}C–ûj–ÿ³þuvk|òäÉ×ÝÔYqÙ¹s'-[¶ü·‹!„B!n{VvÏŜЧß#†o´«Û™1ú Â^žÎCå$Â,„ù4Ø8\Ü4'õ,ÿëYËy?ë ÿw÷7·ÇÈå1Ožó˜¼ó!„B!„……náì©dŠ”‹$Ø;cž”-‰$G(áò­;!„·ž,‘!„BÜ,R£ IDAT!„BJÍéÉŽi£2Ë /4tŸR4ö4÷GH€Y!Ä­'f!„B!„¢ñ‹é¸ºüÛÅB!Y"C!„B!„B!D>I€Y!„B!„B!D¾H€Y!„B!„B!D¾H€Y!„B!„B!D¾H€Y!„B!„B!D¾xýÛBˆÛE``à¿]!„B!„Bˆ[JÌBˆ;Ž®ëØl6l6š¦¡iÚu¯QUUU1FEùJ*„B!„Bñß&f!ÄÅf³a2™ÐuÝíë2Ïv»‹Å‚ŸŸF£ñ•R!„B!„¢p³âŽa±X0›ÍyÞNÓ4RSSÑ4 __ß›P2!„B!„BˆÂIÌ…ÄŒ­ùû=Æaõ¯ÿê¿w"›Í–¯àrVf³ùÚ²B!„B!„BÌ…Êå<ÆÆŠøÝœrQØèºŽÉdró äcXºâeº>ȽÅ\ c6›ñöö–5™…B!„B!€üM‹BˆBÄf³¹YsÙÆùí‹Y¼Ë@Éâ¾ îÓÒ4 ›ÍVàeB!„B!„(Œds!R 3’õ¶}=“3Fѹ¢X÷ñã¤ÿáè0šÞ5üPÇX¥Ó£w}Š«`;¿¥‹Öq$YÃ;¤2÷ukKµpØãXðùqbklúå/®FwåéNáìq‘Žî¸{T¦ ½‡pøÇŸIö ½´´4||| ªxB!„·«Æµee«å¼Õò[ZÌ¶Ž—:,§Ù’·¸ï«ºâ6ánËë'câCBs…Ȱú-‚÷3¬¾æÑ}§”ÊW æÜ©‹h@ÚÉ#\ çòÑ“¤Ú¥“œ ¨@…JÒ!ÎéÀ£ÃF0ꩾT8¾ˆ-.ÒUQ5[‡2T¤ZÏ:½9£ÆO`„1 íR“b*`?Åšù›0¶É„Ç3ì^¿-ÚN‚`@Iü‹µKÐ}ÌkLìW\¥#D.‡›g‚JÇh¶`ÇÕ,ç¼¤çŒ ë§ðH«^L?s[wÏ„›¾¸ã¤åÏÆ2 Sî ÝŸÄïgìOê¤îûޱý:Ò¶];z ŸÆ†ø¬ïGÎû£–°‡O»6´is?¿Á’£VÈ-Œ4ã—1¦McƬpñ¾å2³ß£E“&4¹vk̽ Úóîv{ö$Ü´EÞê”ûqê®>îóò¬½Þ‰;»?îO—¯³ìÄ ~#M;Á×´`Ä‚xn~/Ö¸°uÜ­ø&„·Úù}LÜrž+Dâââ®ýõä¾s aåÊ`;}†TÝÁ™Ã§)Þ¨%NæŒ]Çtú–²Ñ„)€¡,ÕïòÇf6cN £VíŽ>K^Oà EŠâ{z;÷%ÑdÇÛßpœÝOœ_=šD{a1Yð©R›2sÜ’18éE©w="t3&«Ýe:BäÆõòé4{Ž<¼'jZ.#ôTö}ó O—F™Ò^ž?Wnvú⎤§œä„±5¯|·œ_ù‰wdÒ”\ÕÛn>{e OÃÒeÿcr«ãL~w9—tÜ÷Ç´ˆ}„üÊŠ ùàþ‹LçjîòȤÅóË”¤DÇåª7.ÓQ)Õg«×¯g}ÆmÝÂñ4Žº‡†±ÙËí¶-<­“'Çinõq——'í¥'qúh<Ùb>žlW€¤_yØžŽëÒ¯œs\aïâ¯ùõ¨_ü|ýð÷ýÏ&}ªÑsÌƒÔ üïÑj§1í§ÿz2=J©(A¡‡„äBh±U<.¿Ómfš³Oærܤ¬á£)Çhöþ|/^Äœ§‹ñË»sHÿ<ÅÁ±¹cykWUFö?ÿ¼€¯GÔÆ /jŒ˜Å‡­Oóágp#?ÿì8ü+« •0¯ü³9Ç•‚þ­í +¿˜ÏþT â!nOƱÿðû˜¸õ$À\ˆÄÆÆ^ûëÉ}W”剺t’3Ös>Q„˜˜JT ?ΡsVΜ¼DTùé[ňñZÑñöõÅj²xü }fLO-yƒ{Ÿák¦MŸËïqWqº9…äsëørêT>øà¦N[ÂQ™“ Ô‚ýh¹¤#DnTµ`‡º<¥§øvWÞž<€jþyx® ÜìôÅI k@¿‡[hü¨Ð¨çOsIûÁ5l í@ß»CQ1R¦CoêZÉÆÝmT‹6¤[§:÷U_ÊÔ«A±+ñ\qrí64â™Ä!裸ü^BîédÒ8¹d>§›u§A€çmá®NzÒJƵëËŒýŽSçõÉš†»¼<ªgÚv>}c§²¼Á{Þ>Cú•gmᮾүÜÐS9¶êS^ü³N§Bq5=Àìï_^– Ó/³àÉŽ¼±)ãd5uã[6g̯Iém˜¶wº<ÁOg×1±ÏfNǓÇ2¨_žš¹õúã?msÆ}ÅN;`[ÇÄ^ã˜ñÉxFŒ½dÌwY÷ù8žþ8ûôã©Ù»IÑì]ô*õêB—NíèøÐË,>ž–QH3ÏŸÀ f`Ÿ¶4ªß€¦íæ“Ýé³à͇þÇ«»Ð¾c'º?ú.+O§å¬ezU“®’R"†JÁéçœÈw{w1{ä<ñ%{²~©!O}Çó> „¸ Ø\¿¹sV¥¿Ç¹Ç®Éú>`=¢Wѽsg:uìDßç~äHæïeåà÷ãØ£3íÛvfð;¿qV‚9· 0"3ƒ0”&ºØ9N8Äñ€JDûøQ¾R'ïçøÙ¢D—ΘǢ§’|íSr¤„$|üwEÉ1›8 ‹%ãÌG³cŒ¼‡.á™>ÑœY²˜É:J@AQ-öÂXÆŽËØ±ãyéåA4Í’RÖs5é‘›‚0 ¹ü`öWSªN=ÊøpíÃÏž+7;}!4.ïÛGrLU" `;sšäÈ2Í<ä¼JS¶øYŽŸvàit$fùW¿¡7oFE'‡šû<@»°œIó‹0tD®?Í-k¬1‰ºTÁ;má®NŠO$57¤r¸’k»¸ªOö4\çåq=óÛ>7…ô+WmᮾүœæÈ…mßóƈ'ùpOIš<‹IOÜOÅ?üü|ñËË f%ŒZµÃÙ¿ë8ÀºkÇJ”âÄæ¿°ÚÉ¿Ø\‹Zá ]ØÈ¾O0uúL¾œ=‘ÚÛÞàÃõ).Û@»´™ƒ%ŸdêôO™ýa7RgŒá+ï!Lžþ _~ö(Á?}ÎÊ+:` È]]xáóüoÑϼÓð3¾Û‘¾ÜÝÙEL™Äã3g3kî¼ö@MFÈÐ^`ÛÃg/ÎÅkÈ,^ü3Ó»^æã7ÿwýì[tô,g÷J`ª¿¡‡¶£LÎS+Ó>~e‘Ï}Ç¢óød°&£»Ø6g;xtŒå8n”Ðæôm¼—)¿eÃŽU|úúRB‡ô¥¦8NìdoH ¾z–ÁýûÐû‘1|¾õòµK‹ô+—89²îdÙ–r<Ð4†ûZ‡²ö—8²Æ|uÓ6vèðÉüE,ýq"U7½Î‡ëSÀº“OÆÏÅ8øs.^‚)m9ÿáKÌ=îf Fã#iU²:Lûš¯?Dõ_Lð¸ïä©!n®ÞrãrsÁòÇ,¾´=Ȭÿ-dÑ¢yL}e2Ϲ,ÛøÓÔ›ió²tÁ[ܽw*³·Ýà2Eâ?GÌ…HAÍ`_Ê”3rds†˜Š*ÁÍ1–£¬oÆË'Ù¹í4tÓQ6mO b•ÒοFéJ˜1ž³—3.İçDÆý¤x.$[°Z,(Á¥(ê«£k`ˆ¬AµÔ-¬Øq–$“ SjçOÅ“êâÇU:BäÆh,Ø_ðövâN¡]XÉ”¹ú>Òt,+Fß,?€©øàk´`²ä~¯ú'Û¶¤y›|ß”aÝc¹þÈÍ%íË&ýDÄãø'HÅuðÀÓ²ê$¬Ç†òÝiéþ”){[äR'Ÿªô7’–%r9 sWŸi8ÏË]=5’~>ݻӽÏ{¬ûžÑ=»Ó½×0¾Üo¿¡}y£¤_¹j‹\H¿ºNʪWéÿüJŠ ™Âû£:rWx–³XÅü|òòµ^•2µªcÞ»‡+Zû6î%ºw/ÊïÛÄ^›ÎÕÝ»I©Q‡²*à]–-J¦Ÿ7+ÐîþHþܰŸ4wûɫ͛GÔðJT*^‰&ÍËa”€ŠT*~™óéSÙ ©PƒòÁ*àC¥:w¡^¾ŒÐÎà|T5ª* Æ©cñè€=îwÖù·§Ã"¨(Þò~î:¼‰)×MIãÂÁ£X‹—$4³˜j•c"PÊÄD៣ÙìqØZ¤=ïFEÁ¿rgÚgFAm›µ<:Æœ7J0Õ:w¦Ôþï˜úú[ül¾‡.÷¤·¹v)ž ·sºös̘3—Yc«òçë“X•±N¨Z2Š’ñ‡9”œ¿‹‰Ô-ËØ}W[©„7€Ò—³;k¬Ä«m;UÆ_%  ]Û¥ïóÕllGŸᨀ±ôôkšÀª5§nlgûŽç}@qÛpõ~”Ûv.Æ1WÛy—,ÿ_YüçY,øR´dø?¢ªÑ¾{u‚TÀ¯õîR96åF>æÿA²(g!âlv²ûûU]¤”¾³ù·£T¯œþHx%*:VòWÅh2'+¾1Ä72{Ú’mJ5èC¯ŠÞΧ¨Q4nÅ÷ófrÐßoÿÒDdžqÐö³xÁV.;¼ðò  lãî´ Q€Hî{¨KçÅä…f)Rýú¶«êäâÏ]:B¸g41›Í¹®Åì UU <`-Da¤_ÝÂÔçç4âzfLOðõó%Í’eÅUÝŠÅæãQGê͇Ë{£Û®rè·yiÄ4Æ|ó!ßfð¬Ã8ð¦á¸…Lt™‡Îù¥“XPìq¦Õ BÉ6—LãÈ—ž¦“õ[4§Xòã!H¨›*8k ×uM×ie-³ëúxÚ~£‰uYO•àû&ðý}€m5/ ;€φP1#nc:•ÿ}y#¤_¹o‹wgõ«À–ø*psf`àwõéÚ¯7më'ýôÅ/Ä?5ç~ü™¡çžÊ¶_ßmt-M¯Ø»©zr5ûL±ìý« 5¾ê{6LÅü×Iª6‹Å‹m€×¢° Á!¤&&æD 0àŸmTÕÿ̉¨¨jÆä í Íÿ‚ïÖ#U1 $%%¢: FU$êÄV¶]iK‹ÐKìÚ@…%Qû•K\<ü+Oõ\˜17ÙŽÙÍÝ&‚3óMcó[³¥6/|ÜŒ+¸¸¤%%Z•ðÌ€´Lhˆ's™<ì“NŽ-~)ÇýA½÷ä½ plù»Œ{ò#Æ|1’jš†Z½+4.0Æt¢m¹AìøÛA«º^¨‘Þú)ží0¾_Îb`f'E#×9Xz"–¬ãÈúÜ·4c+-ÿmésoÆš+J!×–æP "51GÂ’Bcÿi'T‹†‘xáªÓ¾áù©«g}Gó¨!n/ž¿es\ŒcÎOd UeÚ„|ùå(zN)GÇ£Ô¸dzÐQ &4$륢Àµ¹øo‘s!K\\ܵÙɹÝ_½ÕuZJ™NLxWÅn6cÓJpÿóïÑÞaÁdMŸy¬Û½(Õ¬?íîWQÍnÅjs¸ø”I' ¶3#j¨ ƒ®;ÐèŒj7aÑÛðĸv'1:Zškš†Ž=¤:]‡ßMUAAG³Û°Xíè^UèóJu©–k§™^Ñ®ÒÂ=EQð÷÷'55ÕÍ‹‚¸»ßTS"&7×Û~~~(ýÃ-B2zÒfŒù¤~ïñb“ðk_¢ö‰*KÈO'¹¨A)°ŸæÄùÄæ\3 ÅFÌýݸwödö\€‡ÍbÍ žwìw‘G©6~¾…C»¶ÒaIúk5›‰´Åmé´ã-~zÁÃt²”Õ¶{> ­íx»¶/®¸j ×uÒ¨sÝwË%|™+ÝÕ§Ó¥ræU3Ÿû¤ öe^I¿Ê½-nØׯ|)U¿cêwãÊþ|ÿÕs<ôQ†¼þ”tYoŒ]ÈœyÏòä̵4{µ…GAf58„À¤«$h¤ÿˆŸn"Å“¤ó°O:;nLÛV³¯ZÞ¨˜>¿?úat]ò$댠f‰RO¾J‚é«p8°; xe\ýjÇç1uy9^Zøò6Fîã³~y5ËOwæ³õ£¨‘‘^ʪ°lÉ÷¶$@O$!IßôýõJ"!!‹’p‰+™í„Æ•‹W EUÏ£êz–k É)i_ëxÒw<ëBˆÛŠ«÷#õŠû1ÇÅ8¦bq‘‘ˆÚ=óawß?‡qcÞbñ¬è™ ‰Û›¼­"3¶ª¬NªÊŒ­ªG÷ÝrX1¥f—4l¦ÔkÁåLºÍ‚ÙdÂd2a±9ÐmYöÉÇ|üqÖÛ',ÚgB³[1›Ì˜Íf,6‹ ‹pØ®¥a2™±d kv¬f¦ÔTRSM˜­öŒçìX³—ÓËì&!ra4ñsûK>–¤ÜƒË2{YÜéôÔ=|ùÂTÎ÷x— mJf[6ÉÓ’&©Kù~{"6N.ùÍQÍhæî”RÇtr/qñÖŒ1ÝÆù?–°ÑR‘Øb׿—¹Ì#¼ݦ­eýÚ5¬Y³†5k~cJ—Hš½¸œEN‚f¹–UOdí¼5”êÖ‘h±/×m‘K¬ûùáÍi¬:ïnÍÍ¢îës- ‡Û¼ò·Oò»/óOú•gmá–ô+7¼¯ÚŽáïÌfÖÄv”5ÖãØ{cñy\˜@ £V-¶þ°¯{¡ª”hp¬ù­¾µ¨•Yû>–þ¼d´„?ùnÑê5¹+KçwAkB"iÁňðSÀv†ß–ýɵU1ÇY½6ŒaŸÎÇOeâCuÈ,’WÕV4O\Èìõç°h&âOÆcºî„ÚHä]ñ9Ž‹éÛˆº—³`wúš/bÙ.7_ÀÎl‡ Er?Æ\7>¥Já·•=Ié…´ÛŸç")WBE--Õ%|þË)lè$ïý‰eçjÓ &="¬]Šçr©Xª†æõrXãÜÊ_ˆoØŠªY¦j6hM}ËY5£1íûXöó~RtÐSö±`éYê5¹ ¿Ø6´´,ãÛ—p¶3¿òÝÚ`Z4-ƒj,N ¿cü}*ýdÔqn5¿ïÊ81U ö;ÏñS®;žñ¼!n®ÞÜ9Û9Ç\-éˆ?ÊÑ; \¶*eì¤9dp¹“È æBbXýÿÈbÃ>Uéút­ë>™ÐÒ,Xí2xˆÿ6___TUÅl6£ižSªªJpYt®®˜ÉÆaßÖ…_^ÌxØPšgÎcT* |¹o½öí/¥áÕ‚'_î’ë,)ûù̘<†ý—5¼½½(ÓÞo¤¾³ ž^ùË#¯éhg–òãÞ»é?¾˜‹OãݵÅ ´¸®“žt–Ý6Õe-Kä±Ü™¹[3ÓNÝwíçA{[ðê-òÔ>Kú•çmáúÔýŸ>!ýÊ5•€25© èIçØûÇfJç¹½Ò×aNþ|-F¦ïDz ¨›ö+êÕ¹öãwJ@}ê¿aD÷8.Y¼©Øù%&6@OβŸÂóS…ðVÐã·×éßaÁhÓ«U×e>ïOѰݼ١“}¼ðò+JÕö#yqX#ŠkðØ›ñÁ»#èüF iº/Q­Ÿâg[^·¦rúl³<œÛû7dÄ‹ûxå>´·úR®9-šErÂÅËóÒ_]7Þ5óÒï0å‘n$+*ºw$ÍGŽ¥]„”çÁWgÊk#é4ÍŒ!´:=_œ@ÃŒÅÌÓçìåムí¿üšDãçc³_Hû×£ÍÝ“™»ú"t¯ ]è`üšá=rÉìMÅΘØ8”»òƦ¾5Œ®ïšÑ}ÊÐâ‰WéW^jÒïɪ¼>>BXXØu·ñññ‘5—…Bñß§›9}2™ˆè(B¼ÓçÎ(¶DáDåí\FìÌS½|3l ÎþG¾IY ìì™ñ8cþ(ϨGKpY!„( ²D†B!„BvJ(÷=Ö?ß{Œ~3½ñVh>¥i2êyÚÍã‡åJ Õú½Áì~7§¨ÿ/ª›Å¼»B!ÄmF–È%2„@–ÈB!„B! /Y"#ÿd‰ !„B!„B!„ù"f!„B!„B!„ù"f!„B!„B!„ù"f!„B!„B!„ù"f!„B!„B!„ùâõo@!n)))ÿv„B!„B!n)™Á,„B!„B!„"_d³¢ÐÒu›Í†ÍfCÓ44M+°´UUEUUŒF#F£EQ ,m!„B!„BˆÛ…˜……’ÍfÃd2¡ëúMI?3`m·Û±X,øùùa4oJ^B!„B!„…•˜……ŽÅbÁl6ß²ü4M#55MÓðõõ½eù !„B!„Bü×I€¹˜±5Ëe«_pKˆ,ìqü4i±Ïôæ.O¢ül#®c³Ùnip9+³Ù|mÙ !„B!„B!æBårcjEünN9þ]:‰G’Z:–R>ÿf9 ¨Š@Úß,üd7†t§šŸ»uz³l#òE×uL&“›W˜9÷×ü±÷4)vßJ­èÕ(Õ‘Äñmؼï4Écx%îmÕ„J!ªûíœå`6ãíí-k2 !„B!„B€Óø‰ÿ]ÚUö®ÛÆÙ´›³în¾x•¥I÷æTt\Áf³¹YsYãʎ嬾X–öƒFñÔS£Úºlú gK$ɯ&ÝG<ǘ1£è›Àúõ1ç¶³\4 ›Ívj'„BˆB)m#ov}…µiÿvA ‰Û¹½ [ݲ–·°•]äìç¼¹SÛË]½óÚ&wjÞds!R 3’õ¶}=“3Fѹ¢X÷ñã¤ÿáè0šÞ5üPÇXÉå|;çÖÍä½/ÖqÆjPe:>ù,}k£¤gów3™½ü/âÓ ”iÎç§Y©¼Ûvâ7}ÊËooåî÷¾`HŒÌ¡7ÈmßÔI=ðïOú‘= þe[1|ì£4ˆÈÐrïÚ¥•L|t<ù?^mélÍs7yèWY2¦ìQ2Æn%º¾ËçCïrqÂã¼<î[ÛÂÃc8÷¼<=|nÔ IDAT†]½ÎÍ8ã"¥\Ûùf¸ú•çå¹ñ²H¿úÇWCC3ƒâ·o&¡Ê½Äøƒãï/xì=•qŸ ¤B¡zkÔ²Õ£p(¨2»IG;ÊWÃÞÎØ×7‡~5¤ sÏûbTuŸbTiÙŸƒ[•ïù&ÿáýjÙÌûÿNÝÇÑ<¨&Ôä5=í(_=þ2ÉO~ÉÕ½ÿyøÂÏ<ód=f¥Ñ­ÍòIÆ«ÿ‚Ûo¼º© z|…š˜ ‘aõ5âââˆÈõ¾Óu›•ÊW fÛ©‹hKâ8y„KááhGO’V£2^—Nr.  œN:ÄÙ"OñhÇ"ìçX5s+£klŽ !µ(µë†òùÞ´.Wo4âD©Ñ‹RŽ,ÿq3>ž`|• ´Ë[ùöÓŸØTt‹ª—mH:})éïàÔ²iÌÚtœ* ZÏ:½9O¯‰?6’®¤bP})Õ®#'ÿ^I±¡Ch¨a³Øpä¨bšÓmû)ÖÌß„±ÃH&T iÛ×L_´Ò×'Ô~‚ßÝ”Ó=EQ3f¼P’q:p$ƒ‡ÃK»ÌÚOf°áh:•»VBÎýñ#+­ÍÔµ"Þ»p^^q‡#çÞþ‡–p‹Á];Ÿ?N&bSètosê— @ÑÒ°\[bF#ùÔi,Åkª‚vÅÍvù(ÇuÒR¡R?ÞZƒb¾VNþ<‘g>\Ní÷ºPܼÏ>>Nã÷¿¦[”7I;>æ©~àîÏ%&õ§¼[0ö‹ ” HãÈwÏóüôUÔ|­ ¡ž¾w멘÷ïo)I…R…üäEügèîúfÚ>¾~g9EF~ʼ:~œ]ü c§®¤Òk÷Sú£v‘ß?^DJÙ¢„¸*€ÍMz"WSk0bÎ;tÉ-`åîøpwܪY“pÝ!žÃîòR<<†ÝÕ%Õõ8S9ó¥z2gOX)R.‚k!twí|®îˆ~åiy ¢,Ò¯®§cõ7 ñ›Ð%0˜à •ÀÂv=œ£…BA•ù¿TwC9zJ»¼‹o_™Èû‹+3¥S>Óû/Õ-'ŸªtNøu³ŒnQzj9š5ñgÂÚý ­^“ô³ÆÅ k9[§7u Mà2d¼ú÷ÜŽãU~y²$dA¢P“s!—íoî÷«:IE!¬\l«ÎªãòáÓoÔ}íaÎØc(zú–²-SL`(Kõ»ü±™Í@µjG0ýðY±åsÌêÕ ¬Z‡bëörÌV¯ ì3P½wgÿäoÿº *ç…Åd‚€ê4­¶šEqW¸·h~E#ñ×-˜L^. us*i€±HQ|Oogã¾¢Ô‹Åèï‹®ë8lièè8,fÌ^Î1ƒ«mÏî'ίD{a1Yð©R›2‹ÿ严Õã¸-gžâ½†rÔªLšÙL~”(aàï$ zzó“¼1«ÅÐgp üív.Ê+®ç®]t³‰” ñ$ÕíÁ#íCÑÏoàûyë9Üû*eùLDOþ›õAýîQp`÷p»¬4ÍóÏT#êÑ©]æ¾”®SˆÅIСXš ³±4Ñ%Ò/½ƒÊ•¥ˆí”Ðzôì—¹èu(²æ,—5õ4V¬øÛ‹‰#Ù6n—=.µ®¹ë›‡×³%¤-oÕ AJ?ЕÚsç³%± íBsëûˆŸƒûò`‘OXé"»»<I0…P6ȃQÛÍñáî¸-îa[„ºy.$u5¯ šCäëŸ28ÖM^ªë2êIYÓpó:7ãÌ?ú³ß?FŸi(¯zÐÎÊå¹;¡_yZžü–%{Ÿ~•žÀæ™oñãcžʲð&<9®(AÁUÀzŒeLbî_W°;tücz3ab¢³½ßÚ9¾|S~ØÅEkŽ : œð,”ñΞWÚFÞ~ô7Š6U8¸ï‰WLo7„Ì¿ò󮫤^M"¸ÕӼط ˜,å£)ß³í¢ |£h>ämR/gez¹>Ë^‘o=DU¯<”Q;ÅÜ'Çqé±/y²fúãŽ#³ö¦g?B™ãKù`Ò·l¿¬áS¼!ƒ^N‹RÞîÓNÛÈÛOì¢A_;óg¬à\­çùvlc|ô«×µýÈW+€ÁÊ¡Ÿ^ã‡e¸d‚bcü“Í)ip‘OTÊõéd«» ùØ~Úç©{y©N›Æ¥ùõÔ…ô‰/.ëæb7öe›“ºEŸpÑ7®õë+,3Œƒ½æðl=oH]Çk}ß!mÔ÷¼r_JÚN¦>üå§½I?'çÞw³Ò¯²yê¾òλƒÍüðêJÍ{™fŽôö,ÑÜÀþ=—1''¢Ä>È £ZRÊ`áðÂ÷™ºä šã"GŽ'`¯D‰2¨Z–eßëaz™¨”iÚ„ qëØ?´&5½íë×ãî¾µñË­oºI?}|Ëæ3ft¿ÊôëMº•U]—©+ÿð:Î}žÞiüñF/~oô.å¾{Ô§¾`XF§tÄ}Ê÷½?s ¥/Å×Ó~%ãÕ?å“ñêÆÇ«´¼=tÅiìßS‚‰ ÆCyþ‘» 3¹èÏMæñRCP¼,üþeæ®ø›Ë#Úâù‡ë–­«e9žÓ\ôMp;.ŠÛ‡˜ ‘ØØØ<Í`^½Õy:J‰òD]ÚÃk NŸ(BLËJ8ö¬çÐ9+¶“—ˆªV…£ 1^»~ÑñöõÅj² ÁõËFøV¦véßÙ{ÔJ…ô®N¿pÐ/š0Dâ“Ô4|1'˜ÑõTŽoZæ¸x,¨(–K˜ƒË jÉûÜk+¿­øšiË‹R»U[šUõèò\m«›SH>·›/§nΘ™ª‘¦§¬ t‹›rzgööÁ蕹•†è™sa‡Y»JE‰(‹ê°£+7V×;ªªnƒ»jéº4(cÀœ˜AÕ¨^|g.iT*Ñ‘Í'Y·ì/‚Zõ¥šŸ‹ÃÃ휔#?ÉGùmîhü ÑPBÓãžELkƒ;—àÀ÷+0Žj×ÌW ¥Bò6Ù@Éšu@»ÀÖ¼÷d!<½oÚΞ%¥dm®M¬4”¢tÑóœ<ë€P/·ýQ‹_ÉG ÃøN=¼¿˜î2G·yT2cJú“O†>Ä'&þåÓoÄ`ZF9[ÒÆ³ã#çqëi[¸{Nñ)Eµ†õ‰ËP»>/×eÌž†êúu3Ùå¶/o®Û·_yRžü–Eú•J( }œ›¾"êwé¡€v™‡úƒ`Ùò-sl=ùäÛfcáR¼™ëŽcá±xzÚs” Nãàç#˜ðã.î{¦.9ÃtÚåm*þo*1æ¡—ùnÀ'L™T¯”õ¼9økV?ðöðåk?a>¹õðŸý…7ǼÉOe? óq'eò #:g=òZF5’–­Š2ú÷ÝÉÚFï20—ÁUzÏÔû§tjT3š„¼Àš}S³–7Úù ¬»P‡jùºû¾é*ýšqÌzõGxt*ß7.†’œ€5@ën×û©ˆ‹J¨ehÖÔŸ—ÖþÍ£U«â…ƒÃë7áÝô%Êkûùìù ýÒÃ~%㕌W<^iñ[ˆ+ú)oO*‰Áv”ïžÀÌÊŸñBM÷Ûé¦ìÖ?`ò×1ø™0û¹×˜ó/Ôsþz—}SÃõ¸X×Í]¢Ð‘/â"Yg0{rß%Ci¢‹ãäC¨D´å+pâð~ŽŸ-JtéŒw(=•äÔÌ ¤„$|ü]tbjGsfÿaNøŸêU ”À R’I¾ÔHNLÁ/(ëþeÌÛL뇇ñøÐ¡ y ŸÌ±W³cŒ¼‡.á™>ÑœY²˜ÉÈ\l«Õ’a/ŒeìØ±Œ;ž—^DƒPÅm9ó5ŸÆUQ•HZIuÿÛt1}–ÃÔõã.°«‡lJ Á–Ô·›±:¼ð6f¼Àr†K7¢7îM«Rü\Îm;' †¼…ÿµ3 x®G'ÚwÊgñ÷2¨S%ŒJ0UÛ·£DÜ|¦¿7™%–º´¯[⺴øÕLÿÉAëQK± QP²÷M«Õ†Ñ7ËÁ£øàk´b¶ä2¦iñ¬øh1E ¦n ‚ëA4—<¼0úÛïùzÖ7|7÷Æ48˧/Cœ=usuܺ¬‚ëãôºç|*Ó홡4ÍXo#¯yá$ —\Ž3:ÉkßcÐCñРøãÐOŒø!zd4sÚó¿/ ÀmÛ¯<*Ï ”EúUÞ¨E¨T±*à]¢þç—ç±àKDñ0'7…àè»(¬>”¯‹zå NÂ+–&Š¡jXy*+ϽMÊà (þå©Xì*.kØÿ^ǦÀ6t¯† Kµ¢g£DÖn8ƒÁ£2å§Œ*Åšµ"jûïì´Žc¬Ýh ióhôƒkùï =뇣b X“û¨rt+¥è¹§­ErÿÀŽÙƒ5îªp§ªé32}+P»ŠÊùó)èyigOåqxÄq‚yO÷ k×Þ<öÚb^at‹ÐôëuKs³¿sNŸp×7þy­JéU±ØÏU-¸­(Ûµåâ¶²?M'aß>RïªI”š‡6UáÊú)¼½¹cÆ´¦„³S^華h™Þ ŨmàÂ…çOq!² •P©X1”3'.æ>ÅÁEzÙ¶S#iÚ4Œ­k÷bCãüúu\¬×Œ¾kßt‘~úþ¸Ÿ>÷Ãð %@õ´í¯o¸¨fM Ú²Ž¿í€ãë7ûÒ´YY´Œãê†Èx%ã70^yW¡iÓŒkLc4mî+ÉÎÍqäú›{^UhÕ®"þ (•騦„ÛíÜöM—m(n'2ƒ¹)¨ÌàK™rF6mŽÃ·Îƒz…JðýfŽkRßpŽ“ìÜvš-£ð1eÓö*¶+íbf­ŽWùÚT\ñ¿ÇûQãÁP@ÇPªÕÓæ³ñPuÚWB»º‡ûý©þpú1 Z@¾X°¤\eן‡°èeÐ’â¹äU„bþ”àRõý]_üŒ Ä_Jƒ@ç—I®¶5DÖ ZêVì¨@Û*¡xé6’®Xð Æè²œáû)Œâ‡êOµnmØ?c!+ ¤‘ßeçu×1Øíί蕰JĨÿcK\4­ª„â8·›ý‰Q4ŠPÁvŽ­Ë6`mЛöÑ*&›æÙv.x{çí“V5²ïÍ–ÀÑ53yãÙ™gŽ zÒ¯¼õêfê¼þ¯EÉ•ðê˜OõÑã'Ì 'lcúË?øè;t)-óÚŇ³¾éãëƒÍ’å´Z·b±ñõq÷QÆ…±¤è Þ©ˆ‚=ÛsÇæ<ÁsŽâÀHýg¾ã…\òðöËéЇf f°ãœŸµ#³¥ójë@·õsuÜÖt2iÕÝqêÉ1œ—¼òJ»èfœiö_6ÒÖóæÓÙ—20ÎϾ¼q·o¿rWž¬”\ëë¼,±QÙß·¤_yÎó0ï<·˜9ß<Ïסí£OпAñìJÚUö,ü†7Ç„%ù)áÕ]\pmÍMEõÅïZ»+(ª†®ƒž˜@rH a×vJX‘P’ãP<)SN–Q kLëJß²j[*uK¬c“±)/–UÑ7^æò±ßû𲌠̆2Ô4ë˜à>mµ(ÅsýÝ’¬…&$8³TUA×ô<¶³§ò¶?¥£YtŠKZJª€ý,§â‹ãn5ý [Wmçð¾íôú%ý!Ífƾ¼}v½Ì7OOgiÿ^î8˜—y«ofY\g}§÷+Ï(R£ £ÞëÄÀƒóxí¥ÉüòñÛtÈòµæÔ ñÊïeyóIÄ(¤my—¾‹\§èÉo#)¡á'\æŠéé4®^N 0<ÕU™B]§çq•`´®ÆWkþdÉÍø6}‰Ò*h!¡„ÇôåýÉÝÉ9‰=u]ni+Õ9·×çµ=Î-û£rsšŸûý”‡×fá{5£f±gÝö…Ô£kH8öºÁ,ݲíP5‡ú’ºá}ÏÛT­DÿFc˜ô,ïÿ\‡÷z”q0pZ¿ˆx¬õr^9’…ʼn¨÷47 ð ½<Û?jÉ&4-ú<Ö•àèÕ{P-ý|Ü“>ã´¼A!&^áêµ6ÎxÜ]Û+P³]‡XHNIK(ª%hÚ4”ñâhîµ…€¦‰Ìr\¯d¼Êãx¥'r5A#½¡4.Ç_! $U¹êº?èI$&kà›¾]ÂÕ¤ôí°ºÈÈE?¼·¹(Œ$À\ˆÜ fPÊtb»*v³™ôÉœ%¸ÿù÷hï°`²¦¯ Û½(Õ¬?íîWQÍnÅjs¸ùDÎŽÕf |­*üs*¡¡‡V§ëˆ»é¡è8lV¬v Œe¸oè8îWHº¦iêjX,vôè6<1®]ÆÅ¥Ž–fÅš–¾„APõž,\ð­&RDU¡îÝðÚ¶û´ ](yÜwA„„–¢ÉÓØôô{Ì«3™~QVÐq‚õ„2hÚ´ » Ç´Z‚ÆM"óÍR¸çYªáFŽM¯Ê¨wuó¶´bdÃÔÔË$ªá„¹k{cÅ}OpèŒå¼p\XÇÚ}v|Û¨kÒ”ð ?ò½HÓ‰%²WÐ=u•ñ*+¯®—§ñÊÇŠ%q´Tÿ¤ü¸ü"µ‡Æâm<â¦?ö¬Xr6TÁßÇ’ç©ýp,Þìršë¾)î`.DflUªYÇžÜwÁaÅ”-F§a3¥^·^n³`ÎcµdÙ—¿q,[T×@Tó´-¾‡õGJÓ MŽÕ'5;VgÑ:ÝÍlÊžgæË6Ì&ç«év+&»û²t¼ËßùL1WeqõœGyر¦fn—õ~FU¬¦Œ xöçt»%½ಮâzF£MÓ0›Í×?é°‘šd#gøY³&sÅÕ­n¶ËÉÏÏ/ϳ—í·ðåG/wEÃËË‹€¨zt{ùqîö¥ÚÆ´šÊôýIAEó.IãÇGÓ¦$,™Å×;áøëA~{##1C$=§ÎbØ]2t‹‹NÂjw}3†_èȤw£×;>‘Mxìùö×Í,¹!^®óЬ'Xþ΋¼xΆÑèChå6ŒœÐƒ2yÌßÝqûwmñ%}޹n§Ç£Î±oóŸDvL­TOòºžnÍLcM‹»~·Ëq&Ë»¤wÆ}Ô$û†nÚ¹àÝýêf—åŸ>!ýÊ)µ,­{VeükýéW¤5Ï~4”:Ÿ=;έaòÛK8k7b4Ûù)g –+„5ëGçÕïñXï9…GÓ²kb7:ÍÉsÞUðb_fL̓S-è>‘4yl<=Ë©8ö¸(“âªy,£oMZמÌs‡z2.s«ñÈK½ùäƒgé÷~ iº‘-†óê“M)r#õÏÙöSª»xa.up³ DÆþ¸iÜìo¸¾n®_›Uú:ÌÉ_ï¢I½’éÁç¨zÔNûšUµkRZU0äcß©ÅÛðÔ ÍŒ|.uß«èaý‰ÝÇäÞíùØhÀË/‚Ø6Cynpܬ<—*Å›4¡Èç?R±yÕŒo}ÜÀ±é[›!:2uêz¾cA÷«ÂÃo¿IײîöS5zåÍWgKH0¾A1T©_‚³™%ŒhB“à™|¬ ex±ìÇUÞª*ãU62^]/ã•P‡:ÆïyfÀ!.›½¨Ðþy^hŠûþlˆîÀƹŒp˜+/Ê·{.};á—}3¿…" §‚ühÑ]ZΞSœÜw÷˜³¿Š‡ÿgÞT'÷ Yî«YþÏú×Ù­ñÉ“'_wSçÂÍ~ˆŸ'ï¢ÊèÄfe)||Ù?9×NñÛ'ß²91ˆ]ähnÉUÎÊhi¬ö*À­ÈCä‹ÍfÃl6£ø&×SU5×àòÎ;iÙ²åM/‹B!ij²cÊæV˜Â;"ä—ßÅ ²²{Æ(æ„>Íø1„xë¤]ÝÎŒÑ_öòtº.0.D^Èx•oiy³×JÍ{™fà¾M6ñËdNnš“¿z–ÿõ,弟õ†‡ÿ»û›Ûcäò˜'ÏyL¦Á ç¼r.õAw`½næh1Z KkEÇnµ`»U_ƒpZ–B˜‡È£Ñˆ··76› ›Í†¦ilVUƒÁ€··7F£1Ëb!„Bü·¥ZÆ÷;bé8¸ˆkÄÓ-œ=•L‘Z‘{gÌç²%‘ä¥B œC‹#ã•…ƒ˜… ×/õàšvýRBÜŠ¢àããƒó_²B!„Y82çÙ×YFÓ'^¢q°ÿDPBhöHOvLÅY^x¡¡û”¢á°§¹?Bú˜È'¯„(Td‰ Y"CQd‰ !„B!„¢ð’%2òO¾a „B!„B!„"_$À,„B!„B!„"_$À,„B!„B!„"_$À,„B!„B!„"_$À,„B!„B!„"_¼þí!Äí"00ðß.‚B!„B!Ä-%3˜…B!„B!„B䋘…B!„B!„Bä‹,‘!„(´t]Çf³a³ÙÐ4 MÓ ,mUUQU£ÑˆÑhDQ”K[!„B!„âv!f!D¡d³Ù0™Lèº~SÒÏ XÛív, ~~~Æ›’—B!„B!Da%f!D¡c±X0›Í·,?MÓHMMEÓ4|}}oY¾B!„B!„ÿu`.$flÍßrÙÃêÜ’BüØl¶[\ÎÊl6_[6C!„B!„BH€¹P¹œÇ˜Z¿›SŽ—N⑃¤–Ž¥”Ï¿]–‚p»ÕçæÒu“Éäü9ó9önÙÂÿÙ»ïð(Š7€ãßÛK%•ÐKè5t%”P¤÷ÞD@AT~‚HPD.‚¨Aš(Ð{ï½%!¤\®ìþþHî6—@áý%”ìo½Ê幇ñ/¦qùJ4ñ1ñd(^—æ5 âõèÂMõ›ü•{u{Ó _BJ©××3㕦½j“9|/-ßÂÙ( škfJÖnJ Œ±¾oË·^ ÊbEõ,@H«f”ËbË ö­XÆæó÷°iàž³*­Ú– rÍb¶]¾ñ§ïØãDÃNÕ 4>Ý×V"›æë{Y¹,”³÷T\ýŠR«E}J$`¾î(N;¬'X<ý~A®^Ž"6:¿òµ)g>ÀÎ ÑÄGÇ‘¡tcZçÁÃà ÞŒ&N>Öžª¸tÐ'Bwb×àŸ2A–Ø"b ¸æÌMÆ}q˜4ðÁD\¼;™â#¸óð{STS÷?/kDìÛέBuÈ¥€êàÿ°ÅbÁÝÝÉ%ç–h(Ö•É}Ë‘Í#ž òÞ¸eT˜Úšì±™:ñ<Õ§.¢m^W¢vOà±s©ôko‚ ‘DÄ”ã£ÅSh5ǵŽÎĨm¹(”[v÷"}hÑ—¸èV‡ó¾ ¿·™Ó?}ÀWSþëd´â‡+ÈÜÿVVÌÀ•Åùpì*Š}ÝÌ8‘j8O\Ltþlø9 À¬S‡–Šq£7>ôÆ­âL 9ÛMgC»dO½³ŠOzî¦J±GêJ2’Øí?çû”ÑGê0ü‡AõµÓ/ZWΛÈR +÷÷lzýüNàx)òÊÙxôbÑë‹äÛEòJˆ§Ë¥güDÏ"FÌ·ö1çÓ|±8ˆïZ¤±<õ*kf.Âó‹`Šgø— ÷’´‰ÌÞéWjËS P«¦7¯;ÌûeËã €Êë¸R©2¤OXÿé‘+é½MŸ·óøyޞǶN^§zE¶ÍKDV0ÿ‡ôª¤RÓ÷½*©NݶËàEB¾\»|°\:Ë­€nŸ»„Po]âšWA z1D&,S#ÞîÕ›>lOÁ ËX}ÒÎJ% å*øsêÈEæîTŸÄPº9mY÷ûÜëöaðÐa z»÷ÖüÁö›* à›· ­Þÿ”ÁCѵx8ë¶_ÀXNo&T«Áƒ‡0dÈz6+CVÅ› )›1/µz~ÄG=ëÏμ«ý×ÖËl\´·º}2t0½^‹eí²½Dj€E/N{ŒîåzæÆôèÕ‡{¾†uÝ|¶¸½A÷^½éû~=¼ölâhŒæ¸^ìµÇqŸ°ÙtzBµoEÕ@¿ÉÑíÇP‹!‹h6̦slœ÷³gÎæ×¥¡œŠ°³ÎÊÆ‘n”)™ÑáärŠqinÀ²—ïG-ãr²yºýü¼ yålf-a‰C*öôR¾èÞ‚ÆѨuo&mêÝaË7Ùwä súv¡KŸY¶:xnòеÛ,~¿1£¶'.ÀˆYÏà ø'*a¬Zö0¦Yþ¸iáܲ‘¼Ó¦Íš4 qçÏX~á‘Òî°õ«Ž¼9yQæƒÌôû­€9”ámñý÷Céû^/ztjÏÛ_®æŠ ŽS‹†Ð­ã›¼Õ®>¯WªLµoòÝ¡GÞs[œ-/‰B¾ølYÏᤵ&êu6®¿J¥ÚÈ€ÕqûR(?öÔŸ|Þ­õêÖ妰à¼êx;DÿÅÿêdëýî3:¬.ƒÖžàÇέ™|øA[mǦҶà NÙ îôŸúý  ×ŽdÛå¡\é=1oµ`ܾ‹pl§¿§Sûi ex»!̘6ˆ÷ßëI·øpÆ®„÷2É·Ã~p"žÇhÜÝ7‹~mѨEkºôŸÃQ“IÓŠöóßÉ<s°-­©?OZ×cõs^o ;|,þ,ËFv£eÓ¦4iÜ„öýçlb½q§ÿdä[Íhظ -ßËš+)mR7Þtö]ë6‡2¢Ë$Ö®G÷F!Ôûl#¦¤:-ö·xqÉóȉ'îÿvæ¶}2æËƒùÊUb4WÏ\!Û믓ýÊ®Z5b¯\Æ”7? €1/¥JdÀGœ%#eËeæÜ™0;“ÞAåÉzæçÍ€zƒc'Œ”*‘ [ØqNe¨@Õ|.˜bc1{•¢ZÉ8ŽŸ¸ƒŠÏ,¹Èh0k! _ Jl À˜) Wö²íhwc­¸fðÀ€†ÍlACÃfŠ#Îd¶;ñjÿµ` ;Æ ÏŠçwÁk½x9òÜ8Ó–BœóP²¸æ¸8LƬäðÏI‰ ?¬qq˜´Ìäð!*ZÓ©WµÓÇ}"p|yŒ¤Ç#°äÇï˜þý|vÄ£zÉ€„74.ù©×»/}zÀG½K‹ 8¶ÿµ‹lܸs‡¹˜½E<õ'U5m§óڢΰ꧵h5ªSÈÿ´¯z„‰Ãe˾õ|ÿÅJü{´§Œ  Æ{w“;·¤iætøp"«/::Eß#9ËW$»ãÕØB<•ÛGr¯H¹Œ`¾z…{¹ò$ØpÉMÞla\¸b#¥|To¬bü¢Lôì]/›ã1¦[GªÆsããÑq›–2ˆ?À¢.4jVWÀàž‹2U«P4ÀNe8î?ÛÅýñËNäOÓ½S;ÚvÀ»n;þß–H[>m/n^9^,zI^ ñ<ظwi3 ÿ¹N‰rN6íawl[¦,\ÊÊÅ£yåÈ$æì1Cü~¾ünÝdéò,žXŸëß ã·‹þTíÝ—Ú9JÑuÊÏü<µ¥lž{!Ù(3d¤l¹ŽLXŒp;ç³çä⎘õÒŽú–¥l&2•hÆÀóç²%Œ©ršéóöé|¾ˆçÔ/C˜Õ‘Ñ}*àûÈ¢Cõæ6ø½ÍøiÓùñ§±Ô¸ð ?ï6£†-câBÞ1‡Ù¿-àóz÷û†ž¥õÏ¢sT^rJÞZ„øoemâ ³zm#ë¯W¡Î+ž€Q·}Ë7`ÆàyºÌ`ùêÕ¬üe8 ó*Ž·Ó=œ’Z53°eýñÄ D'7lÆ-¤6…l‡ùaèoº}@¿Εo?¤Kýllýçñ‰õž]¿ ­FmŠA½±£Ùû0iÚ fÍN¹=£øfsôÃÕ:êgâyTìN¾±š\ýç±lñB¾ëndÿî{ “·óßϹ<p°-÷x;?~ž´®GòR7çõòHç1ÓÖÙÌ2wdöŸKY¶l!SúÕ"0'ä‘K™,_¾„iÍoóí—θx˜n»í»Ô–8$l×WòãÆ| ˜¿–¿GÔÀÃQ¾NíF)9©ö…&Ìÿ!ÅŠ»ÿÛ™ÛŽ² ðÖ%®Æ_ãÌÅL)R˜B8}-ž«—nX {¤œÁ ·û¢áêáA|¬Éþ‡¢”Ë}ž#çâ±Ý8ÎI×R” ÍKœWÜ“&Uooâbãд.l_Ƽ9³™óÓOüüÏIâ40JŽZtoS„»[~fÊ´ßXw"ÂéU¼Ž^«ÅEsïZ(³&MbòäÉLš²‚s ØÌ)Äé°#ÝqOšlÐÅcâ³5 húõ>F§O(Šþ.Ë©2]úÊÐ!Ó¡Lÿü¶‘+V@³KÔÝH"£Ìø”¨BIãuÂî&ÛºZ$ÇÜ¡p™@”’-¥8¥^^ÀûõC¨Q· ߆W£WËb¸|)Ù´)9ÍcÒ£Y÷*Í^Í‘pY·×¸d,øƒ¥Ë~aØëW™úÉLŽÉQ_ñ/¢ÞXÃÄßl´ïZ… h˜Lñ¸y$»|ŒÁ7±¦Žp¨7øküd~·¯ú(àpÏ›Bé8nŽÛTӈܴ-ZÒ éÚîîA´Ô—ìÎîKR(C§ÿÔ[áÜ8¹—+åú3}îoÌþ4ˆÝ_Œg}”JÔº/hײ%-Û}ͦóé׺%-ÛôbÖ1kÚ·e:xaóÊ©xôbQõ㔼âÙ±žç×^õ©[·-ÆÚl,ŸÖɘðžÝX’†-Kᣞ…©XBázX4–ãØâÝ€v•P·ÜõèP-’õ/?öùÊêÔsò”-EÜ‘ÃÜQ-Ýv„ümÛPàèvŽ˜5""ºtyò*ü –¦€¯¸S¸| ”Û·±{˜LÛ¾bøÖ Ú€œö®ÒçZŠ:u.UaÌNÑ‚ ׯEc»v‘ë%)îmƒ7EŠdäòùpÇŸ¥R(ï¡×)Ô¬™‘íëaF%lÃznT®Ey€Úç |ËñõlöiD—jÙp\|3â­8Û÷w\ÞÚµðÙºãVÀvŠ[<©Y+?ê‰u„fh˜R/¤Üõf¯UŸ¼»þfO`;ËúP#!µ %|žp-IHͤÏiðF.vo9öÐ$±ÕA?¤%ë‰-ìÊÔ€Ö¯ø¢` CѦ4LœQtܯWÉíTã\®<úTœ×Ë#³ÎcƹÉpü–ïÄYrà Xó¨S•L(Éò%Îl×Í»ôÚåhßå î}ÑIs'4ìÙ‚¢Þ2½ø²“ãÿ!öV'ëß²_17ù³®æÒñÓ\ò*LwOÔÂ^ì:s -, ùë%¾“Ðb¸£ŸÐˆŠŒÂÃ+ƒƒ£î)—ŸµÏpÅÿî¥Úãؼ}ðоÇ=2)*÷îFãéãEü±¿Xx8;Ýz´$—ØNþÎè¤}¤jÅ-׫4{ç5ê_ÝÈ/s–³?§“רrðÚr^>ø†ÐóÝà„Ú OÆgÂí8NÝÉÝGÿ›ÙyeЩ×òȇS“^ŸEÑ_=l3q/Â… ËQtû:£5rù’­~Ö°šâ0k®ø%›-²^; JÓ,+h)L0©»&¶Ø–oVµE3Gpzí7 ë=…¿ô£ìÝ• ´•Šã~çë‚p~ÕX½?•3ûRÎÜ2$&¼Ñ—bÍ»²`»¯ªå•ÞâùÓ"v2铹øôžLë< cÂÃÓ‹)ÙG-“ÙOw½=©Êõ•ãYœõ]¦TôÁðÐ À*ggu§ûì3Øp¥Ê ¥ O¡ûãÆŠûº·*gl}Ýö9·å¼üúƒ&\fÅï§©Òs8þi=Z¨[†^ÿªŠRª9]«fÇ p+Ò„úùº±ï”JíZC˜_ 0o`X¯³tù¡…w/±—Ó²-ŸÜ‹›W)l§û :íUÒØŽBzyòJˆtç’ŸŽÓ®Áüƒ/þ~I9mHxÿªi¨‘wˆò/FÀý·q Y2r÷Fê#Ÿ8ôŸ›÷þç1—b¯tiGc‹qä@N*w{ëúùl?CÜKU/†‹z‡‹f2/ô<1#†»çˆÎ\Öþįu7?M7B`|UõÆÇûAû ª¦¡"ðâ.öÜ©OMÿ[<IÁF9œXÑf¿¼‡)ä®B¦÷×q0.+'6Ü䵞å®ïžbûì—¯F<ÚÇ ôûþqI¡*¹C¨åÿ?6 × lÉÂWyÔÐ[Ü<óÐE¿R³’1T§~ÑÙü³3†Ws®g³{£ò+$ì¶=ñÊð í¾~ÞÄܽ‹úàÊøû!-ñ¨Q‘Dû=(Ëà‹âå¥ôúUq&Ùƒs¹òìêÒËy«N 6Ç ÅßfÊÅÌšõ­'æ£qï~t«šõNB}ØziâÞÂJœ1¿ÎÖpD§]Žö]ê~%V@ÉJŽlòùTÈóJ±bÅ8qâÄýÕÉ)ÝÞ°ËQIäÉçÆö'ð(ß/@+Xæïà¬[*y6Àv‰ý{®P:$÷¸slßI¡¹íé.ÊQhõZÖ…{Rº£? aÌYšR–El;]ІE}P#³íXJ½™í¼ ÕËL˜¢#8¸û4&-/jT8·\2‘5ƒƒoN²xœBSƒžn‘„ß²€·ýw=Ž^kÌUš’1‹Y½¯ õ‹û㢙‰ºcÂ#À7‡q<ñ2Ýzj+¶xÇ}"ÀÍÍ «Õþ‡rsÄu"]3“ÕÛ4 ‘'pÚšš~´˜p®Æù#³'F-ž›‡÷pÖ«-¼ ‰Lœ?|Ž€rñ¶i)žâëêꚦø n)òF ^›3Ã7TŠÙÀÑ’­U(aâ"½^4_ñ>›Ïö¦\ÉGGšŠªºâ–¶ª…HWZÔ>¦ø†¨_348àþÇb÷À¼øýq‰›*äTë.^ÏN±\:e´Ûl[³“ÓwÑhEÂ]ª9Ëòú4Ù7š?Îfc·O·KMIãF¡`·‡ËqÖ£ã¶|žÔýW0ZÄÒø|UÎ#å'§¥Œúï÷V9Év/‚H ®z`Ãj3â’Â;À4mË'ôBçUŠñT&i÷®×^w—ôÛ./K^ ñìì.PQ2áy‹;*‰+DUîÜŒÀ7À…»©xn2ž¥)ŸoÖoåeÚøgÂúªK·­Ãv2åûz½qƒþÉÏ„)SÌË€eÛHš.rºR”îߊòeoF-¨ÈÔùìNØm_ÖFô©¿œz¼Í¢>d©<‚½Rì-Gå=V~®š„díËÆ 98sçuz”Mø,½q|Ší³¯¯?>õqâýz}¯\GÑ´d“¬&îE[þVrR3$#ÿÛtŒÚ.ÛðùŠÜ ¨þd*þfŠís¦vü¨Z¿4?¬ÛÎáœ[ñ¬9ŠûoU´HîD¨$|C±ÊÍ·ñòóCáÁ÷*9ꇴģøúáAdRYZ,Ñ1ZÊýê˜bßo®]ò¬êÒËy½ŒºãÛHær­ðMKÞ=6—AF³|öd'æÑ·ÓÛ‘ã '(·ËÁ¾K¯n³ã׉—føIŸk0CÒu˜ã¡p!ß„{ SÈN|Þü÷W±<ŠPÄms¦L`Ü·+ˆ,ÓŽú…Ïni†@ÊŠâªG)Šû$ËAÍŽ!·ÎfâøqLþåþÚóZ&^¥BxͲžo¿žÄ7?þÍÝbLü|¡Fcù÷ã;~ã§­"¦r^ñ3€’™rÕòrö÷ILün5çì¬4uøZC.ju®‰qÇOLøê+F™ÊüWNóq§S›FŸ^½µg á%÷‰H˜`6ìÿûÒb/³séO̘ñ?þøR¨Ø¼¹@½Ëɵ¿ñãwßóãÌy¬ ËI½&eHJSíî Ž„ç§\×'—EÁÍÍÙå5b/áDx|âQ3×·®`›©Ų*¸ç̉û‰]ŽJ¨Õ|m'»¯å"_võÖqö‰À¢j4§ÿLh¦`ª8}ê³O‡s˜Y'q½ÕX†ÔÍñÐAGc‘‚cV2ï]TÌ\Z±€Õ©’Qçm§! -¦lbó¦lܸ‘×2±Y.ª]Ųd“nÎÔ‘>ãFܦŠv—M 7’³Ecò'ï¨øc,ør ë¯;q=÷”ʸ‘I·ÿÜ Ô"DYÁ_ƌƽ#ð×µrT.¢?˜¦mù^ø¼JE¦Ó¯)æq ‰”šñó¤u%§“óz1¸é<¦…Ÿã\¤PðÍD^/+›v?æl¾–0§«Æ~)ÜùXŸ€£ºc¹º•|/.YÁü’~+˜Á§ CÆ*Xãâ0«Ùy㓯ih3Ÿ0k«Y]ÈY½ ÞP0ª5žx³Mç´+ñf#ÊçÁ±jÍ¿Í{¿B+€†ÍO¼U·<Ôê9ˆ7 €¦bµ¨+¨˜LV´üué3¨Aâ‘0 ÕO¼EE|Jµ¦ÿ+FЬÄÇ=þE._kCó+Eó÷^¡•bÀ€†j5cŠ·¢éÅiKqÚ(…-Æ”pö‘1ýßE‹‹Køj ø½~âã0«zõ>Ò“¢ŽúÄñæ|i 2dÈ@LLÌcyä«F‡÷êà¢$\CS®»l²‚Á¯$MzVÄM1€¦¡Ú≉Ò¸y •yó}#¦»1Ø»4vržžž'¹í±^߯ô 8v[ÅÕÕ¯²?ý¯˜qóð cñ|üE{òÉü²x®4"VÏ`æîX÷4ãwsÓqÆB>(]œ·>kÁèÏ;Óð–Àš¼ÿY³'^iñÇu¨ñé3nôÆmj¨WWòû‘Wè48ëCZ|‡¶ì °YoB²?å2”tñ.?ïK“)qýKÑzèª$¿ä”[MFάùðëtú9ý½y•± 8~LòJˆ9·ôÕ…I£{Ñ|lš{jöI‡ ŸJÒop še©Ïà™}už›\Âu˜ïý¸šUr%Œç¼•©`ùÕË“G1`¬Ý•Vk¿ S£Ùøf.HÝ6  ÕUÉÞ€½¶ðö¨Ÿxuj'˜,ñe£êLpwÁÅ3 A û2´×ë¾Øó‰(d¯Q“,ßþJ‘Ú¥¿Á@@Ú€gEÞû¢cÆt£ÁÈ84ϼ=y"mòëm§2tx?ˆÏua«¿?¾Å(ùZ®$E˜¥!~S¯ö壤ƒn¥yçËÎ)†ãt;”Çs¥¢G9êWçý“™ìà§Á«•Ü~¡wËÜ2¹R¨é0†Wõâ¡‹0;è‡Öié× Uè=ô(#Fµ£a¼;~ùjP³z..B ùO yœB½vúä©Õõpƒç¼n{?f;°–Ñ#–pÅꆛ«%Zä½l òhòØÞ4Eó °Î‡Ì’š€ÓÆÍ~Ýc>!Å+˜ÚËW9#÷…•žÇõʲ÷˜ÁÎm½ûìý68ùwÒbç¶1Ùm%ÙßÉÛû©zéÒ¥/tÚœ®¦ïJÛå^•œXÅbõ4K&¤x¿VK~Â|’¿f­åüC³ºFkt¡~¶ÃÌŸFå^Í)ü,v:±4.‘!}’ûYÔ!RÍd2÷ÌëõôôÄÃÃþ ÓþýûiÒ¤É3ŽH!„Bˆç-žý“ÞfvÀ@F¶/Ž¿«†ùÎ.&÷šFÀè9tlb\¤¯xv}Õ_ŠLgr‹Ä‡æP†5ZEõ£©•¶o)º$ç_Tƒa°…Ä ÇÚùQíüÖ’ý­%»ïÑÛÉpòo½ß)ÝG ÷9ó˜ÓdóDš'ŠÓ›{Í?*ûð©YêeÖ~÷SîúPºYGйíY,·µ  ZLÄ[Ó)€gQ‡H5E!..NÿKÿÒ‰¢(xzz¦âÒB!„B¼$´8®\ºGæWñsMXÏe0ßå®-€">²$çi3_ZÊÜÝA4/‹\õY‘œâ12Á,ì{ôI4ñ­ÍJÍ÷>¥ŽAÃoÂüLf—Åò¬C¤‰››®®®˜ÍfÌf3ªª¦ëd³¢(F\]]u¯ý,„B!ÄKÍàO­w:°ûëwè0ÃWƒ Õ=7Á|BÃ,òú©±cVï!,¹‘‰šý¾¤†¯ôõ3#9/Äcäÿ‘Kd!þÝäB!„B!Ä—\"#íä !„B!„B!„i"ÌB!„x+à IDATB!„B!ÒD&˜…B!„B!„B¤‰L0 !„B!„B!„H™`B!„B!„B‘&.Ï;!„xQDGG?ï„B!„B!ž)YÁ,„B!„B!„"Md‚Y!„B!„B!DšÈ³B!„B!„Bˆ4‘ f!„B!„B!„i"ÌB!„B!„B!ÒD&˜…B!„B!„B¤‰L0 !„B!„Oʲ/›`“åyâ¤äñþ×báYÙ„¡²AÄ3 ã_¤™`Bˆ§H½{Œe“?¡[ëæ4oÞ‚}Æñ÷…øÄG­\ ý–~o¶¥mÛ¶´ï1Œy£Ð’^¬Ýåèâ¯ùð­ŽtìØ‰w8„5ÕX ß>^M»òã)[z5K¼Ì,×ÙñÓÞmל-[Ñù£©l KÊL˜ã‹Ñ£-­Zµ¦Ëÿf°ã–šìÅ)ç£zk Ú×cØz“ƒtêÐ"XÑÿ êÔ«G½zõ¨W¯!]gÕ7öãѷΔ¡rí~4ºGÂOÚm˜|À^4OX†“íN¹o*4…m™Î^‚¼r>½ö¦f»H^ ñ´üÔ£.õ5¡I“Æ4mÝÓ7pÙü$%ª„ïÝÆ©ØôŠ0™v0®ë(6ÞÓR~îÓ(O=ÇOïtfêá‡g¾ÔKø¨Íh¶þûì?å_œ{âÉ¥÷øMu’_/—ç€B¼Ð,1P¸_õ,MVx.-Îÿ¾YE¹¯›‘-n ?|{ªã~¦E +Qû¾åÃÉ x凷)j´qqÑ&¯ÁÀÉÿ£°oŽj1_ø9ãvæ `Ncú·M¼”´˜Ë\v­É§3‡×ËÂÙyŸðÉ´õ”ù¼.þ–£üÜG¥Â¼õJ—2œh·^ßj÷»O¦|™qOºO¯Ÿ ö«x/E^9^,z}‘|»H^ ñtóÑvòtÞ*hÄrû ¿ŽθåE™Ø$å©×ØðËR<‡T¡H†Ù`p¢ùx¥S\©-OÉGõà ÙtŒž¥Êà €ÊÍ-›+ß–òÒ'¬—Ö¿9÷Ä“Kïñ›Ú:Õ0ɯ—ˆ¬`Bˆ§HÉ\‘& ÊÕÃx»|I2GÜ$RÍKœ[nògw|òå%“Ù„Iâ°x•?lœ¶ÉeƒþÅÚ0üËv÷”è"}ü+ÒºC5òzòW.O¦ð0n«`=³™~õiYÖ7r×kN¹sØyWs"Un®Êßö´,dÀÑ: Ý:Ô»DÆúàãĘщGoÜ:[Æ£m»ò÷R®¾Þ„ ^ Em`d«îÌÛC9–¶zƒÍ¡×x¥F9<±:n_ å'ôqZ6oN‹Y|Qu¼bÖ0¸ÕvÜï> [G5gäÆÓüüΛL?ö ­¶ßóVÙœ±éìJýþNèt¢þÂà®miÛéMÞú+'âÝHÚƒÛÏ'sàÚVûý`MEî=i]r"åó‘šñ¦³ï2]ɘ÷:Цm;:÷̆°dc¬çt6nü†>mÓrôLIu:È/ñâ’ f!„xFl÷αæ·Pµ*ù`ð«J«W3môBv eÎ׫ñïÒ’’.`»|ˆã¾Y¹;o}ÞéÆ[½†ñóÞ;¤îDb#9Ê”'Ð T‡Ó*B< •;Ç]°9` #:Gnî/v4æ$w–ë\ ³‘R>ªák˜º4€·Þ®ˆ—Íq¦ë֡ŵ›ïzv¦C›ô8õ—]Ú¹ññè¸MKÄfé?.ÔoTWÀàž“’U*Q8£!}ÊH¡ÝÎömrúÛòi{qóÊ™xôbÑ{LòJˆçÁFôåí,^N±ÒùNŽßϾØŒ3…s‡QîØt~ÛoøCÌúüܺLá· øetmnÌø’?.ûQùíw©™-ˆŽcfðÝ× ²9xî¥dcÍàO©Òœ<|d³fçòîÃÄê•Üð-E©Š5â£)s™÷Û\FV:ËÌßâpŠY‹çÌ‚Ïùá^>{§>£Roíä°ï›Œ?o¦¤êÅü¶Ï‚zý/¦-ñæ­IÓ˜6sƒkå¢JŸ±¼URÿ¤iGå%§V'Øo&ܯ^ßBèŠÔ,ëuÛç°|óafüÚMbþ’%,œ17ÇÛé’Î~NÉCõjرéTâAg6oǵZ ¨ÇøiÔ"Ý> n?ŒÙ@޾?ðÛÜ9LèläÐÞè„=¸ÃÜñu2 öûa¿·ó¹÷¤uí“‹ûþènGû.KB»v™Êü¿2¾ñ~¿’ë‰CB ÿ‡Ÿ·äáƒYKùãÓªx$UfÈøx~É5^h2Á,„O™zu1ý[5¡aóžüþÝšÆ ÀàKPÃd?±ˆi_O`…© +dǨwn~úaeú2áû™|Û¯ûÆM%4J&ŠÅ¿‡¾iØhÕ±"žhÄÇ›qóp{ðƒ;nñÄ™RÈ[5œÕS—“©[w*xÀá„X u¸V¦ß¯óùyö/Ìûí;TãûÏ~áDVK8·©¦qwë¶çkB‰o»Ü‹Òâ=©–ÍÙ·a)”¡×n‡}«qoÓ×tëÜ™ÎÝ&³õô ~³3»öcîIkÚ·e:xaóÊ©xôbQõ㔼âÙ±]dáG­hÞ¼-ï|¾[£ô«éŸ°ÚÔXœ7šá­)W\áúõh,§BÙî]—–2¢n9kÓúõ»lÚrõ±V§ž«»t¦ãLjP-œØuœ¼Í[ïÄ.ŽY4"%¦D¾ùKÏWÜ)P¦Ê;ؽd´w6Oä«å0 Ùí]éÇ5ˆš5s%\ªÂ˜•Âùܸíúenä*NQ/¼)TÈŸ«o¦¼ÄÁAy½NÉEµjÙµéfT®oåfÅê”öH¡}ÊOØoÐ¸.>þx)ÎöýãX½>;C9elgټÃjÕó¢žÜÄVϺ)õÖS;ØP—fe}Q0¡pê–0&>æ(¦kät*œìçg\—xô¶£}Wb·®€‚‘¬Áµ(~n¢·¨š‹7ÞjLa/™^|ÙÉñ!„xÊ”\-øzQ 4K$ç6Î`ÔÇ3p›Ñ›RQÿ0zäÊñŸç‡‹k&3rÀ÷|0õ]Š«6” Æt¨œ 7À­P}êäéÍÁ³6j”“]·xþ´È=LûlÞo¡Yî„@îî˜MÉ>²jñ˜Ìnx¸ëŸ¢cõTVdéÆ˜òÞ:XåüÜ>ô™{nTúß<¦P‡«§gÂýF_Š4jGõÅÓÙwÍŠû¦¾•3²Ž·nûÛ2îº/³Ó¼«üýçY*½5¿´^©Æ‰2ì·ÛFÆ£ŽúÖ€Oõþ̪X6óåGçi7¥ ?Ä^I˶|r/n^éÅ“œA§½JûÂQH/O^ ‘îŒyi31áÌ1øâç›”ÓÅ€¦jhw#¹çW„Œ÷ç`2fòç^x$*ýçÞ_%æR¤,E¯„r"®0Çg§b§W±nþƒ]§c‰;|™¢¯ÁEàðÒ_ø}Ûb1b¸w‘è€Rö'û¬ûøm¦rÃÛÕQã½ñözÐ>ƒ4UØ»¹.ïcD‚ýîpøè]òÕËæÄŠ6ûå=L!gp0ý7qÄ”…Ó›oS©[™„ë»§Ø>ûåk‘Dù&à‘õûÞ1%Wuªù &ôTŠºlf‡gu> TÐ¶Ýæöùu@{Ý^ÐîÝ%Ư؃z >øùSŒIq&Øïd??ÛºÄó ³mí»"røÓ7ÿJÜSÙˆ3æ¡Lœž€’…lYdrYȳB<3W †4áÕ_§r4\¥Ð‰ÍœjÆÐ àóÖîF£¿°íü۔̚ƒ,ÑÜÕ £À†ÕfÄEöÚâ_@‹:ÈÌaßÝúsúWÉxÿc±{î@ü–]æ–Z™ ` ãrxVŠäÐù’Ií»ÖïåÌѽ´ù;á.Õ‡uU+ÚüŒ_>šÆÊNžn;™š:4lš+n® ù;=\޳·eS÷Ú|t)™ë2¼´GÊON·2Ûí’RßVÄÑüAš¶åz¡ó*Åxl ½öº»¤ßvyYòJˆg/aÒæ±{ýð¼Íú©DÜŽÄ;À…¨T<7” œÍáÐõ«Hs¿¬|Y¹s#êé@Êôô fË8F¬ËË—cÆSÄË€eçXÚ/sºR˜N“ûaÿ1ã–”çëVyìNØm_æz¼Sgûöei6o2Wüˆw«x9Ñ_öË{,´ÁTËò [B³s.âUº”L8"fËÔÛg7^?¼ïÞ!â~'Þ¯×÷†(Zò‰R÷¢- “ÙJvªUógð–ÔpÙ‰WµáäR@õó' ˆþärB<¾xEEp7©^-Žè5å˜oû®Ä7¡%$eqü:ñò‘à BñÔhÄ^>Ω[ñ‰«(,ÜØù7;ã R$‹‚[ö츟Ú˱¨„7–ë{Øw#y²*(ùªS]YÍÏk¯bF#úø2V_/M…‚2Ã,ž/-æs‡O#¼é>ÉFòi!cÁê¼»š?D¡bæÊ?KØ“«*•üuÞu2ÓxìJþ^¹’•+W²råRF7ÊÁë1ßÎD•^êíS<‰EÔÎ.ŸÏ¶ŒU¨”55owôÇmªhQl]²™ë“7yGÅŸdñø„Þp⺵N”á°ÝÙ²¤ªo“KÓ¶|/|^¥"½XtûBòJˆ5—¢5©¿†ßwÝÆXÂÖñû‚_Ë¢xáãqƒKWãS~nòB þ”*åÎÞÅ[1V¨H&E![…W`Ëböº—¢”?ÄßÂê“…Lž0‡±qÍ^b.&õÁÏ?'õ?ê‚×â¯Yx.×͵]dóVºMù†qã¾b`Û2¤ëÐV²S583»YÉíWkPÊ @Keûp)ú:#þfáÎ[X5æ6qš~ß»e%›ÇEN_M¼ÒòP6M:‹C!kp5öüÎü]ÞT«–p)Zƒ×£þJ9ž"¯RîöZ–MøÒ<Ó¹U¬I,[7¦s …šÜ{ÒºÄRRÿºýFÂ¥gÔ8n^¹Iœ3‹ÒÉ/ñb“™ !„xЬ7w2kê0NÜQqqqÁ+°"->{—W<ÀP² jObZïND£ ºæ ê»ý¨›Éä£õ ·˜6víg˜0úÑl@*exÞ-/7È ³ùyÿil:²vTâÝÆ\´ž4›^%ŠÐq`cÆy‡6w¬¸ç æO>¾ÚáI¸8®C¿Èª1CzÍŒ››;þEëÒwH+ò¤²~½q›êµÕüy¼,mÿ—ù¡ -þGwì&W£TËöäeTõyÂv»3hjðÃ÷éôsú{9ò*=bAqü˜ä•ÿr®Åé2´=Ó'ô£ã$š{.‚ßLë| —:­ƒüy':dªÃÇS{ê<7¹„ë0ßûù Ás$ŒçÀŠ”³üÌúreÈ­0Vï@Ó _óNÛ¹øä'¤y]ŠmÓUÉV—»í ï¸ß¨ðu!'˜ÌþG™Ð¶!ߺqñÌL±º=éß½òƒ/ö|" Ù‚ƒÉôã杖x0Ë@Æ4´rôÒ˜I“zÓzŒ ͳ8o~õ%Íóêm§’´îYŒ/G¾ËN?_<|ŠP¼RvÂ’"ÌL°ï ¾U{ò^ÒAH·’tÖ6åx<+ñvÿ|5®­ãÝðËS•à×rpRÈRÈ@ï{T•ÔåÞÕ%þ›sø»ÉÓa\4Í\5ßcäûYðLéµvò«¼Þ‘hñŸ–ž‡˜ôʲ÷˜ÁÎm½ûìý68ùwÒbç¶1Ùm%ÙßÉÛû©zéÒ¥/tÚ,„x‰ìß¿Ÿç†B!„ÏX<‡¦À\ÿܪ~®–ˆ½Lï7“ŒŸM£ócãBñïäãã3ØBÂá{?ªßZ²¿µd÷=z;ùNþ­÷;¥ûHá>gsšìé…B!„B‘6š‰°Ë÷È”/¾®‰ë¶ÌQDÙü ð–Ë&!ÄË@.‘!„B!„Bˆ´1øQ½kköMù€³]pAEsÏI•^ñFf™`Bˆ—L0 !„B!„"Í<‹4cÐÔfÏ; !„ω\"C!„B!„B!DšÈ³B!„B!„Bˆ4‘ f!„B!„B!„i"ÌB!„B!„B!ÒD&˜…B!„B!„B¤‰Ëó@!^ÞÞÞÏ;!„B!„BˆgJV0 !„B!„B!„H™`B!„B!„B‘&2Á,„B!„B!„"Md‚Y!„B!„B!DšÈ³B!„B!„Bˆ4‘ f!„B!„B!„i"ÌB!„B!„“Ôëëݵ ›´ ÿâk¨Ï; ™Y?¨Ÿ®7?ï@„ÿFæP†Õý”u²‹O@&˜…âiÒî°¤Ïë¼V5˜àà`‚ƒ«ÓfÊ!¬¨„ÍïEÍà¤ûƒ ®Êk•2v¯°¶~ïµnLãÆhÒasöÝEKuVnlžH×Úm˜vÜ–þí/K[ø”.MêòF½´xw<ë®ZÔˆ9:O;4¦~ƒ´zo [“ìN9Õð¿P·*V›t‚pPŽnlηC<Ìâ±}i× .uë¾AÓî£Xq.>u±8ûé_†~¼)mGÒúº4’¼r®¾ÔÄ"y%ÄSbåÈüé}.ûƒ±Ís¤ñCµÊ]¡Mçð„"‰i+£Ú emTê?E¦O²Ÿ{™È³Bª„ÿ=žßýºÐ®ˆÁñj}rôbKM;”,UhѤ<Ù< €y*–&ëpî<”^›tƾµ†A Ú3ý˜-]ÊЋWw›$±ìåûQ˸œ¬Ÿœz]:’¼r® ½Ç$¯„x´;ìüñ3æìbëÄnté;‡c6ˆ;ý'#ßjFÃÆMhùöXÖ\±$¾Àʹe#y§M3š5i@ãΟ±ü‚´;lùf8óŽdNß.té3‹Ã‘ñ¿ú#ÙšôRÌ„«Ë õf0‡2¢Ë$Ö®G÷F!Ôûl#&ôêÕ¸»oýÚ4¢Q‹Öté?‡£&7žá“âßÀr¹ƒ~b¿0‡2¼Í ¾ÿ~(}ßëENíyûËÕ\IZÀäÏÉùƒy«USÖoJ÷1k K|Ìá¾ÆÞ¾)©N‹ýœ£“®Ä A&˜…âiR㈽»ƒÉ[Ò´aS:|8‘Õ휀E+\hÔ¬8®€Á¿í«aâð_Ù²o=ß±ÿí)“ª…ÈFr–¯HwPå³»x*Tn=ʽ"Aä2‚ùêîåÊC–¤w.¹É›-Œ Wl¤”êUŒ_”‰ž½+ãeÓ;eÞÙ¼~8¶Ô´#9[ÔVý´­Fu =VŽN,:cßàž‹2U«P4ÀNe8ŽW›8–Ö×¥—=¯œ­ïáÇ$¯„x ¼Úc8]ÊûQµß,~žÒ• Ûa~ú.=f²|ù¦5¿Í·_þI˜ `$S‰f üq1.[˜*§™>oCU{÷¥vŽRtò3?OíF©ÞãÙ®¯äÇù0-¨‡Y§ÞØ|;b5¹úÏcÙâ…|×ÝÈþÝ÷Òp©5!Ä‹D½¹~o3~Út~üi,5.|ÃÏ»/¼lÚÃîØ¶LY¸”•‹GóÊ‘IÌÙc½} vöMI•¥a?'þÛdó !ÄÓäö:—,CñÌ€‹ʼnÅ#ðÉLrÏ} û{`ÈM ÙR %³s%~ê6øR²iSrþo“¾0µ5£^Íáøôn!žõÆ&þf£ýØ*d@ãŽ)7÷O0¸ãáf"6¥¥÷ê þÿ™ßÌ«> ûÒá#ðñ¥þ¹êå|ðÎ D˜ð)ß…a½‹á–šôƾ{m¥köãÕˆv¸MT¢Ö}Á;ÓöcÑâ¸uÃÌÖ«p5f¥áðoh–Öm™$¯œ«ï±Ç$¯„x.¬'Öš¡!ªdB²…¼A‰I+ØÝŠœ¾ü –Æw —/òûmâ×ÔV¤Ò°g Šz+)Ö›õÌvejÀ”W|Q€ E›Ò°Ô/ìI¿f !þ‹\KQ§N`Âþǘ¢v^‹Nx‡d,IÖ¥ðQÏÂT,¡ðKX4O}œí›ÄËK&˜…â)sË8-`ô¥Xó.„,˜Äî«*Ayÿ «—YñûiªôŽâ¢15|%Ãm¥â¸ßùº œ_5–AïOeÀ̾”ó|>í"9-b'“>™‹OïɴΓpèÃÃÓ‹)Ù }-“ÙOw½“rU®¯Ïâ¬ï2¥¢†‡¾jLåì¬îtŸ}®T´”±õ}Ò›ãrìµ@ lË7«Ú¢™#8½ö†õžÂ€_úQÞÝA¥v¤8öÓ± Gñs¸M|k a~-À¼a½ÎÒå‡J,6örZ¶å““¼Òï gsÆË–WBo|î_Ù€Á`@MÚÑ|ñ÷{ð˜¢(¨š¦¿óà±}“xyɳB²?ý¯˜qóð cñ|üE{ò%]ãêJ~?ò g}舟k™î «7†‰][pÏ  ¹æ¢FßOiY>„‹çI#bõ fî>uO3þšx·17g,äƒÒÅy볌þ¼3 oYð¬ÉûŸ5{|µÃs‰ÍÅÉç.à-Ó6¦OÀ±Û*®®.xå©BÛ¯úRÉçéŒ}->ŒC[vج7!ÙŸ´Œ÷¨­¯ÛÄ­&#gÖ|¸n—g¹-%¯œ-£óYDZôÍ'y%ÄsáVšw¾ìÌä±½i:*‹æA`óqYjw¥ÕÚ/èÔh6¾™ R·M‚B_§ä§A‡’ôÜ‚fYê3xf:¼Ägƒº“ÀÊ IDAT°Õßßb”|-WÒPo† Uè=ô(#Fµ£a¼;~ùjP³z..>£.B¼@ôö5)½ö±ý\_*>ÑÙ|âß,=g*ôʲ{v Ûz÷Ùûmpòï¤ÅÎmc²ÛJ²¿“ÿ¶÷SõÒ¥K_è´YñÙ¿?Mš4yÞa!„B!„" Ã` `sð£Úù­%û[Kvߣ·“ÿàäßz¿Sºîsæ1§Éz!„B!„B!„i"ÌB!„B!„B!ÒD&˜…B!„B!„B¤‰L0 !„B!„B!„H™`B!„B!„B‘&2Á,„B!„B!„"Md‚Y!„B!„B!DšÈ³ø?{wgSýÇqü}ïYíûž5!BJ%ûC(E)¥=[RB‰B))õÓ*¢Ù²D”¥ÈZ)dÌf†Yïùý1ƒ1î=÷Î1cÌx=yÌ̹÷|·óù~⦅{î¹`‰On7ò‹¸¸¸ÜnÀÅÌKH0,!Á °„3ÀÌKH0,!Á @vK^¯±]FéÇäÜndÙÚ•Õuuðšá“Û €ü/E¿|¨‘ã6é¦7§ëájŽ 71Ú9ÿC}ôÝo:‘dSðmC4¥l\œMê¬H>¦ 3§éÓ¥¿)"Ù¡Àò·éáÁÔ¢´$Cñ»çjÂįµ#Ú©‚îÔã/ôWã¢çÞÏvΘ]Zôégúö§}ŠJ±©@™[ÔgГj]ÑßE<Õ‘Æyr…^é?Qzò[n…r¤£s©ÿG»”’áÞ©)!j?a¦ž¾1Ãì4‹¬õÉݺZM¦~¤~ץͳ”SôÀ»!zõÝër³µ³6h€UjðîpÝìîY®<›€œdÄk÷ìzáëd•+9 ªߌҤ?ªkàä/ôå—3ôAv&—Më¬1âéïízaú7š7w†^iø§Þúƒ¢ II;õùø¥*òø‡šóÍ—{ÛA½÷ö 2dÉñRÕ^÷Å<ÍŸ?Sãî8©éï.Õq§‹˜ÕqŽó„V½·PqŠÉmä»-Ç®R]'iѲeZ–þ³tÖójRæ&5ªzñì4 oûd6.ñ?é£÷þU³W?×ìÙ³4íñbZ9y¶ö¥ºé“«~{Óã´Žü{R‰YçlD\y9Þ®ëÄ3l!º¡niíݾOi'ã9±e‹NŠ×–MGäLßvdÇN醺*Ç«my•Í‹„±-uy:\uI.ƒ3ä,[€Âjt×+cïUÍ™xÓ¼¥¡êýLU É娬nÀ"[XC…÷ºU’T©q}‰8¢SN)å¯uÚÚF]o •]~*Ûº‹êí_­1†i<Ú‹6TǶuU<À&)@eë×VѨi µLLë$9ubåÍé©®×Ùä.o幜sœúoÙnÚQ ½ ³>±«5ºÛCš¾'Õt\Œä3:ëWV•JúK²+¸bIJPBæ2LúíÕØ¦ü¦O',Ñá ÉAïÇ'{WÞ…i¼WÀ`W©º7Èo×ýç”dÄhÛÖh5év›6oÖ §$#V;·ŸP­zÕÒNp$êϹcôxŸ^êÞ­—žx{ަO±³/Ö›Oܯ=z¨Çƒôþº£}Ê.Kòzë÷ª>™>ZƒŸFzDÃ>Ù¢(CRü ½Øm¼6œ¿tE²~~­‹F¯MÛ`óIÐÞ¯FjÀý=þ€†}º5m¿ŒRþÐìѳ´=URâ?Zòƺ¿W/õìÑS½ô­þ9÷tÂdDþA‚r”C¥êÖW9?É™)%‘zh»v‡WÌÌzâ‘~êûØËú|K¤\\—ÝuÙéÈÝ»W¥†J;¤¤#GWª¬ÎÚÝQZe‹ÓÁ#©ò6SOï׊Yk¤fÍTÉÅ šæuHΈš² °úöo¨ÀT÷³ÉS9ç%îЂï}Ô¦}uùfa,Ìúdó/­ÚM©j!›ÌÆÅÚLÝnÞ­©¯Ïцß×êÓ7—+¬OWÕöÉ\†wýö4¶–Æ'GWîÆÂ4^ˆ+àŠð©r£jEíÐÎhC:³]¿¬©›[7QÝ“›´%Æ’öhûþ*ºñúôËè$nÓÖ3÷èOgjÎŒ—Uo×ûšµ-YJÜ®ÇÌ•_Ÿw4köl}ñú:>m¬æ̾g‚àŒØ¨=ÅúkÜÄ·õÞûÃTgÛDMû%Þã~Æ™mÚnôÖ¤ÏgiΧÃT}ÓÓý6~©IázïË™šõÕ'ÿD •=÷¼ÀÝ:ˆ|…k0@.qFžTÄŸéHÑš4 ¸Rþœ¥á/OQùi/é¶Î8ÆÕϱZS禪Ûè†* CQ‰Iò ð»p›¿üu6ÁóÎÃó4ôéOµ#ú¬‚êôÔЇ«Êï’{J4«Ã¡åS¾S‘~ãÔ È¦ßÝ&=”“á~1?Ï×/;jj)ó÷ä/ }ò¯®{ž¯îqLd Q­vmUòÅšº/IñÅ:ë¥%Ó.S± ývÝC§œ §ÿ·]É:«Èˆdíx`…|Åt÷ o¨ÝeËËE\¹ ˆ+àÊ𫥫NÔæÝ‰ºËïWýy]C=TCºþ –m‹W«RÛµ§X]õ µI©’5uwÇZ ²K ¨¢z5íúêXœ’ý×ê— V× ì’üJß©ð¦3õÞO‡Þ«g‚Ⱦ5uë­éó~•ÔêŽR¸a’ëzØÏ§¦îl{ Ú$VW‡V%Óök覚’¥Upï*-ÛV]ë•TѾ«ÂÍ:h¨Ûï@ÞC‚r‹3UöZÔ«q ùIò»®î*?P¿ÿªÛê±<ãêfDoÖÔ‘³Ô¼:§Ÿžà௤„¤ wJTB’Ÿü=?u´—¹Go~sŒähí_3M¯ š&¿i)äë'ôÄŒýJ•Ÿ=?SÃÜÖ!_>E‹ŠõÓøúA²]ô!c§þ™ám9Úê<¬eßþ­F}‡)Ô¤ ®ÆÂ}Ÿª®§ïA;Wý‰ïõúè ªÿêgSI:°b²FùPOO :石;Múí¡-ëã’’×iì³ÿèÞwú¨rzFãÌÖåå ®ÌÇ";\‹qd+[n¨[J3·ïÕý¡Ò7õU -@74ª®w6þ®ÿ®Û)gíGTÊ®´³-D¡çO°Én·Ép2b¢u:´š Ï$ÛU¨H˜NGDË)̲K,pa  T|L¬çOÍÚ‚tn%²+848}?×OdÕÐøÁßiÆCõÀ{åÕ¦ÿº¯q‰´¤£›uù  È%Žâ¥T,.J1†”öiäT¥¤:äÃÊŒ«œû»¦¿ü¡âÂÇhp“ gø—-§Ð…‡tÒÙ8í…uÊŠ(®j¥¼OŽÙ|ÃT¥eGÝüåíŒzÝ7U‹ï»p{ê^7u”ŒÑ¦Ï¶è¯[Ô}YÚ}Ig•²´›îý}¤¾xÖËr2´5iç-Ij¥Wêd8Ã˱pß'§êzù­Og[§=µ:ë¥Êiç®V¸³ŸÚ/¢õÿôWšéí4"µé³~7< †¬´#;ŽeVWžÇ";\kqd?»JÔ©-Çû«õCJ¨êwJ›£ol¨J³6kÙ™ªÕöº /´m.¿+ËVX!ѧé”í’äTÔ©h%¹ û1ŠŠvJ%ì’œ:©ÀÐÙmQ²“¼ :—|áóJF¬bN;¥€´ý¢£bÓö»øë{3p¨HÎzúÍŽê»wŽÆ¼_yXI2·{¡–«£UÈ0ãêeÄïÒŒW¦*¢Ó( jYBÓBŽ*-tË™åšû[¬œJÒßÏ׿2ÍÔ(Ì쥡3‡vkßÉÄô'´É:¾q™6&VQµb—>Mq[G¡¢êðÆb-[¼X‹/ÖâÅ ôzûRj:ä}•!æu[Xý<Juh£ nr_îÇÂCŸ÷jÞÄiZ{ÜüÜ¿’%å¿o‹vŦÝ/ùØfm=^Jå‹g(#¢°I¿(9 c›¥ñÉfÄ•wcaЏ®GåzªubÖ¦ÖSƒiqo ­¯AëôýÞJª[ëÒ‹ñdæSývÝš¸B_o:¥TIÉGVé럂Õü–²¼H}Röhù¢=Š3$gÌV}½ô„ê5©!_¿â*p@Nû”Rêñµúqg†O,¥ìÖòE{oHFü-Z~,m?7Õ¤žüWÿƤH²+¤lu•+˜¬äTÎR¾–Å€Üb¯¨ðá}5õ!ê9-AŽÐZêßö§Rë­•¯¥ov”QøÛŸè±ë«©÷°š8þuL‘™æzdh;•ððJ9åÄF}<åeí‰tÊÇÇGåêž‘t“«<}¬Õ‘ÕrœG—ëÛÝ7ªÇóEݼÐ7‹Õ;Ñ}ŸŒØ£Ú¹áW•iÿ°n-ᾉ¾µûhÈokêÀû'»œ¾¥ÔlÀsjUÄæu^­os ŸÒ/õÔû“žSï·dø—QóG^TxE&€ìc ¬¯ú~_éù>êÔYUi7TÃJ¶Ú ´†ÆŽ ¡! ®¦šJêHú~ŽJíÕÚo–žëó—"|T¹íà´ý.½j–$)õèM·HGRüä碞ÑCÅínïü';O0+Ëå'F]üm¶ÍÕo›—ÿŸû±»øÛ‘áo{†ÿ3þvõÓìàÁƒ¯šôÀ5dÛ¶mjÙ²en7)y½Æv_¡¦sFª…»Sq‘ààà’~RÚUô]ý8]ü62üodØ–ùïŒ?òò³ßž¶ÉÃ6onóo,!Á °„k0ù‰ï->ÿ–Ün®œÁ °„3ÀÌKH0,!Á °Ä'·ùEPPPn7àŠâ f€%$˜–`XB‚` f€%$˜–` 9­ÒëvT»Ž÷hð¼£rævƒ·$­ÕË­^Ъ¤+R™~~‡^øÁUeVoCžboYÅ+»ÈM$˜ '%ÑϽ >[éîÖmuÏ€‰Zu8%í6#RóŸhª[š5WóæÍÕ¼y ug»R²µ):¾î-=xgwMÝš­%ãeÓ2¿s¦^èÕAmÚ¶U·ÇßÑO_B»ŽGgôÍ{ã)ÝÛ¶•Zµº[zM‹ö'ºi€‡:ŒhmŸýªíÑE]ºÜ£>ïms=§Lú‘µö¸™cæ·3b‰†´j¦!ËÎmщõSõT÷vjÓ¶ƒz=?]›"]¤$LêÊZ_.*ÔñÌfÄU&Ùѧô}®å¸®)úã«÷µ»é$}»p®ÞèRŠâpÍy@Ÿ?x»΋àM\ý~ÖkÝ_ÒÊX#·[‚«kƒŒ¸ƒ:àw—FÍ\ªï—ÍÕø&{5ñ­åŠ2$ÑŠŠ¯§gçý¨uëÖiݺ5ç©:òɶÊãµó‹çõìÌd•/›m¥âgÓIÛõѨE*úìZ¼ä[Mºó_Mzc©N2Çä8©Æƒš<ï{-_¾@“ï>¡©ꘫWVfu(UÿÌzA¯ÿ^KÏ}4WóçÏÓç빜S¦ýð¶=f}ÊêüvFhÙ[óW©„çŠ8µTãßÜ«fãæjéâ¯4²îV½þú²ô¾zY—7}1bõßþ]”4çìG\e,$›ú$]óq\=’uìH¬*V//_Ùd³åv{pµJýë{­vTÕÙ+u„ 3r“7 •m…é­úA,j Á 9ÊV¨±z=ÐR•‚’ ¨JÓ†*zì?tJrF+2>LEBsh)¶¨Ðõ÷iܤ>ª]0gªÀµÇ,¦Sö®Ñú°öêyS˜ìòSùö=ÔàÏZm˜Æ£½XÝÓ±¾JØ$¨|Ã:*¡HI'Ó:·höÂ0õÚEÕCÌç•Y?¼nÙ3™ßFì oÛSïï:wfªSË&êëÐ>º·šMçªIÚþ‹öÜp:UlªÞó!5Ý¿Lë"‹Ë0©Ë«¾$oч¯-Ô¡ /dMÇ9W ±Ö'â ¸BÿÖÂÑýÔµS'uìÐQ=­¿S%)EûŽÖ#Ý;«sǶêpÿH}÷o²dDjãÿFêÓ-±úù­~êóÔ§Ú•*ýó[îÛYí:tT×þohÅÉç«8³ï[é×Y­[µÒÝžÖìœîëuÛä=ÉÚ¹tŠÝóœZû¬Ô÷ÿ¸Ï0g9~Üŧ$ÉPÌÖõ\÷öjO¸ú þT;üd»¬ÛpUHZ«Wî¡iS‡ëÉÇU¿^÷é™i›Ò¯ã–èù6£õóùÐIÒÚ—[ixú%Nl> ÚýÅPõéÚQmÛ†ëé½ô9Kòïš1ü3mK‘ùZ䓨½_½¨¾Ý:©]›NzhüJaÊw8¥ ®§NíÜ©ÓÕº©ŒCRÒY‰Ù É÷wÕäøV½M>û¸ZUðϦú*]¿¡ä<¦õ¼vGޏ8¦“ÿ§ÓenR±sù(Ÿ²ªPâˆþý/U*äãU<¦Æþ¥eŸ­”qÛp]ç¸ôv³:Rý·éÐ’ªüÙ =´é°â|Êë®Ç‡ª_£"ÞQÏ47½nÉsºŸß6ÿ2ªÛ¬‰ŠN{ æ<¾T¿)¢G'7–ïûo_("9Yòñ½ðBÍQHE‚ë¿ãNÙªd(䮬Œ­·ã¬B9ýô‘¸²Ò'â ¸2~þD'õÖçßÞ¡%èı3 sH’CE®ï¬aÿ¡Ê!ÉÚ5µ¯ÍܪÖÃoÖÍ¿¢>{»è—ŽkTs?)i‡Þyi–|žœ®ïš†éÄ’áztì·º~J¸J§ü¦i/Δmà4}w[ Ùb£”dWÂ×õ&üè®=Ès·iÉÆŠjݯšê¦†éÙe{ôÀÀZ—&m’vè£,ÆdsŸ¾g6ê½QËUfÄLMh¬„=ë‰þ§U¢½$«·áªá<¾^;KÎÐÛ—–#é/}6ðy½[óK¬o¾Ÿqf³¶ÓôÁ75UàÌN}øÄp½[ãKlìúþnׯTI ›õë™)zgÎk NÜ¥© ѧ›oÕð›ý²»»ÈEœÁ Wˆóø ½5+U=l¢‚’ä×TÃæ/ÔÜÙsµ`áz¹éaM:]»²÷"Ì@޹8¦ %$$Ê/ CòÉæ¯¿Iðü‡óÐl=Ù¦¥nkÕGïEܪǺÖÐ¥O9ÍëpžŒÐñ½[ô_½ÁzÆ,}òB-ýúêDýàáºp—ÌM¯ÛcÂl~û×RáO©eI»ä<®%çªè€Çts°]Ò…¶úת«2¿-Ñê£É’‘ ƒ+¾Ðâý†öLexXK\÷ÅPìªWuo×®êzï›úqÏWz.¼«ºvLïJ¹¬cy¹ˆ+‹}"®€+·TYÜý½¾ûõˆ b¥ ËW’dSh•:ªb—䯪õ¯—ýÔ)¹º:yÊžUZ[°îkRDv9T¢åݺþ¯_´5ÎPÊî´.¸½úÜZB¾’|B )Èî¾^÷íA^¿q‰¶_ßFM‚í*|[k•]¿TÛ]|1š•ø1‹Ï”=?iS‘¶ ¿)DvÙT°z'µ»Á'½.k·á*â[[-o/•v©,¿*j{wýúÓ.%{Úϧ¶Út¬®‚6ÉXS]Úšïgº9j«]×l—T ª^o×±#qâÑ?aöÀ`DmÔÛCg(xàd…—¿pZ‰_Áô´ƒ#D5ºôQËÙoë×ÃNÕªÀû¸º¹Šé€JNÈðRÚHTB’¿ ø{þ°¤½\½»´‡Œ¤(ý¹ò]½<ð ùâ…~ùúä/¥ÊWM†/Ð+fu$:e¿¡‹lVR~’üªuT›Šý´u_²*mô¢rÞhì¶îÛóœêgážç·SÇOÔ¼âôNÃ`Ù2}mœ½l7½8à]½9ø>}fSå·ª^Ù/réú`V—Û¾Ü1B_Ý!)iµ^~ìoõùèa]—^ô™CÖåå ®<ó\qä$GÍþzgÄ<}üñÓ «¢: |Nýš•’3R¿}3]3×þ£x›C¶˜ýŠ+z£ËŠ3ò¤Nüõ½ž _þi‚uTÒMg 9£"VC…í^Öën{β“£Ÿ­Õßë–ëŽÅi›œÎPÜü¸êßRࢻZ‰™Ä§36Zqaµ.ìc QXú呬ކ«I<÷8kSHhâcb\~‰¤‘qÁ²+ôü¥Áì NßÏõ“·k””Ú`·Ûå4H/ç7<î@3b·êý!ï*¶×›z©ya“ë’9åtúÊÓNp•sÓþå*(tîApJ¥í’RþÓc%U#óõLØü ©ÚÝ÷è–O'iÇqé~ŸhM¿ ·§îr_‡£`i•8¥hCJ»J@ªRRòñ±«J¦rÌúá¾=NÕ/oõ…“‹ùmœÒúõçï›Ô~Qú½’Î(ù»6ê¸õuÍÖXå[=¯w[¥ßvt¶žøñ…ö”Œs½–d¥/Ùq,³Š¸Ê·eW@s¨h½p y·«ìš¡áC^×wŸLÖ];&jø÷•4éAªhSòúÑêôëìa…U¤æzïý{U*Ó”I9¦à蓊t*ýÌSóz»s·7nòãÔj-ý¯“>Z÷´ê¤giâ~xI}–ü¢Ó·´Tp†ûZ‰Ÿ¸5îãÓª Ø(EŸÛÇ8£¸xã²nÃUĈVd”S*i—äÔ‰ã§*»=RvÃÈð&X‚NÇ%_øßˆQt¬S HÛ/*2&m?%¸©ÈÍZ*I6®Í} àí%ÈAFü}<ìmëö†F´JÿhR:çÉÝÚúW”’ IÎ8í›÷¹Öi®&%Yšqõ2‹iGµ–j¿X_m‰‘SI:¸h¶6”k¡&…ÌžR:sðí‰HLB›¤c?/Òú„ëT£ø¥sÁ¬{å;ÔÒ¾Hÿ[vHI2tú¹Zr´žW»ôýt÷ýÈZ{Ü1߉»4{ì;úáxÝóÎZ÷ã­Y³FkÖ¬Ô[˨ÅKKµpXã‹>✹]3ÆÍWн]Ò®s{®ŒcN“ºl–ûbíXZG\y5JæeWÀ‘±_û£S$ÙR¡–*¦(9Õ©Äè%‡WÑ6)é°V.ùUqnÊð©u§n‹Y O×U’$9Ï(â`„Î’OÍ[Õ8j‘¾üù„R$9ãO*òŒá¦^÷Û‘—8utÅ2E4¹Sµ2<´5¾Kuv.Õº¨‹gÖãÇ<>}j4UƒK5o{¬ IgÿZ¨%¿'_Öm¸Š¤ìÔâù;uڜѿjæÂãjØüzùú•PÉÿhß¡´O:¥]­U¿§\´ß’ù»gHFÜNÍ[|$m?7Õ°3˜ ÇŠZ>MÓÝ£”͵ì¥ôÍŽ²ê=mŽž,ò¾=XƒÿK’_@€ Õl«A¯öTEò˸j™ÇôÓujªïÈ{ôú˜ûÕîd²ÊÝ®'Gv¾äìšÌRŽ­×û“†h×)§|}}X¾‰zŒ{J\ÜÙǬŽÊê=j€Þó”:¾sVްþÒ5)˜¹³~ÌVß„,´ÇD÷óÛH<¢í?mP¹ÎÕ²¤IF¤–¼üˆ>Ú™"[@Y5¾w´F¶).»..ã¶P÷uÅz3¶~·kôôÛ³0ÎÙ¸ò–YŸŒXâ ¸R¬Ôë£æë¿?ùù†êúðaz¼„Cï|PÝV¾ªûÚ¢¢UÔª{[ÕZ릿:zdìýšüÆ@uz-NÉF€ÊÝõŒÆj©‚êñWïÑøñýÔvôY®WÿÉo©sŒ«zíJýÝõvä!ÎZö}¬š ­qq‚¦`Cµºi’f­>¡Ö¿8ÏBü„›ÅgÁ&øÒNzí^µKôWhÅÛt{‹2:p9·áªa l¤F~_h`×=:™à«ë:½¬WšJ¶ºêõd-ÞG?‡…) ¤†jßRJÿ¥ïçS¥³Úû}®Ç»íÕɳ¾º®Óˆ´ýܼ‡àzm´»½?òŸì<]À¬,—Ÿtñ·Ù6W¿m^þîÇîâoG†¿íþÏøÛÕO³ƒ¾jÒg×mÛ¶©cÇŽ¹Ý ¤¤µz¹ýRµXôºîÈê· _£l6ÛI?IJuóãtñÛÈð¿‘a[æ¿3þÈËÿÍ~{Ú&Û¼¹Ík¼µ °„3À®Á ä'~·jôò[s»¸Fp3ÀÌKH0,!Á °„3ÀŸÜnäqqq¹Ý€+Š3˜–`XB‚` f€%$˜–`XB‚®„äõÛe”~LÎí†˜È m„EÉZ;º£F­õppóR 䥶^ /xÃ,N²CÄÜ5ƒ3ä$#ÙòD IDATJ‹ß­»Z·VëÖ­Õºu;=8m§R2ÝÍyr…^îÒZ/ÿ¥ý¹ÝÈ׌EÅ×ÑÀãÕ¹¨›÷ôœ'´ê½…Š«PL¡YÙÏcÝñÚ=gŒ&l,¥*¥ÖÊ21âéïízaúULÖß3‡jèÔTwL+…%ïÔçã—ªÈSjNý:òÝ(½ðö Us·ŠÈ‹xt5.m€ûr’Lê·e¡¥êÀ7£4i÷m6ùyU q=MÇ›þzÛwoÆÅÝý¼YŒÓ:r QE*•ÿ¹mYËlÿãÊ®R]'iQ× wZ¡‘ÏlU£ª™žŽ{SßåÄDVÆÅÝýòH\]"5J»W,Ó‘ÝuG…Zêòta¼ç.[PˆB‚í öQXÑeåi…ÿU8NΣZýÅÑDÕ ^EíòFgê?«´ÎQE¶5kt¬}¸JgÇid¶lh££¢zL~_}«8¤¤úõÃôÚûUTgÔ ÉÍCwµÆP~¯\Y;Rôª‚}qº^¯&[ì~­ýô x)Ao¾ÙMr8æ<´@>>¥;ÇÍÔ[•”xb¿þŒ-*¿œ­6gx³\È5$˜ '9c}&T‚Ý=ÓwêÄÊ)šÒS½‹| ^ïç[€Âjt×+Êhóð:e½$à<[XC…÷:÷ŸC•×W‘5GtÊ)ýµNCÛèõCe—T¶uÕ›õ6Æ´RÛ0Oñèf.\Ò÷夘Öoóº%þ¦yKCÕûíªjòŠÎl,ÂîË7bWkL¿*óê‡z¨†ÃCß]ßæuÞ¬)¿éÓ ÿèÞwú¨²ÝÂXfƒk"®2µë¿e t¸é@5¼øÏõ]fL˜ŒK~‹«óŒxX÷µ>™µAÉõÂõPs»”ò‡f^¡¦sFªEêzë¿RÅnµiïÎ“Š‰<£mVë³ßkþïQŠŠUÈÏ꥞µhKÐ_ &èíE‡åL=¡¿ÿ–£pUu{å]õ«}ñK«³/Ö”·¾Ô†Ãge¨®û^«{J_4HúwéD½5ûwHLVjp}õ1H­ËûJ‰ÿhÉ䉚õ[¤RR ¬ÖC#^é¬J)®·—Ýñ¡žœ´NñO"sTV÷±#Õ>8XÁ!9‚V*,=ÁlR÷EMÌ0Nv“¾WߤqýWªämíÚqJgOÇÈV£·†=ÝR¥nÆ¢‚] /Öä‰_jË)§üK4Q¿aëöÒ¾Ròz×å=UO?z]_ïþGŽ¡jIáæzêõûUù€I9Oü®Æ=SôÍûËuôÆ¡úò…f 8×?ã<}LçË9wÇÏyiܹ3ïãLJÖîåëU´Ã Õ[ùŽVèªû+{þh(ö÷ÿÖ"ý• B•nW}§ŸÎͶ´ãò•6ŸH’Ê鶇ŸWÿæ¥ä#Éæ“ ½_Ô¬åût*ÁOUÚ=­¡ÔW!›Ü73~ÅT¯E=¿\1†’âêØ4Ö1“¸ô8§Œ(mx{ˆ> x\o ¨'ßý.ÚY*N¦eŠ¡Wšéß÷\¯‹Þ?³0_Ïíï<$ÙËe-†òúxe\;’=Œ§ñu·¤¯/ç%lÖœoΪø§tW•ôyRY-ÓÑ'†jöæörÓV{ô•hêÔ®]‘:}FÁÍÕÐo2m/ÛàŒ:¡è’õts…@Ù%(VUuŠ]¸Ý휋_¡ت³†ª±¯$%ëç׺kUó9z¹É¯.×1ãïÅ*P¥y%¯wßß3fuš¬6/޳$9õçÜ1š½d·Nž‘Š7{D/>y›JqT¾B‚r’qVgbÕÞ¯Τª`åfê5ð!µ,—v>—3b…¦,(¬¾ãÊwúT¯÷óŽC¥êÖ—œÇµI|l 9Á©ÈÝ»W¥³J;¤¤#GWªžÎŸtï(­²ÅŽéà‘T)ÌÇ4ÝÎ…K¸kOõ{[Nê¡íÚR\gŽÐ[*ÞQV·?üŒî»©°ÉµÅ. ³òmþ¥U»I#-dóØww·y_†µu kc™Ýòg\]$q‡|ï£6c«+sJÆS}—×R\%+bÛB}þÅjEVm¯ûǾ§š…çnºˆóÔfýYâ#ëWB:±PCî©™}>Ð[+Ê'nÆ>ô¹V·¯¶IK4u~ú¾7U7<­µcŸÔMßPßÌI¿¤údô×Rÿ·õU³â²ŽVb ]ºèj"®Ñ^Ͼ3XC’µ÷5âëßuÇó ”ºñKÍH ×_¶Pˆt2â¬BRÂÏ®·ûÞøˆ>øü×Ãàl¨ûï“ 8 ¨M¿P±›×í.MèÐÆGôáÈ/´'E’3B˧|§"ýRƒ ›”ñEºÙ~ÀU±ZS禪[ï†* C‰‰Iò Èð!@›¿üu6ÁCÊl.xí2êÏÜœÈ“Šøó7©û”&}8]ï=WC['LÑÚX÷å\<øW×=Ï?ª[KØÍûnv›·e¸eèôoªßý÷ëþ~“õóŸsõâ÷ëþŸÓŒ½)Ù6–Vä׸ÊXfÌÏóõKÅŽº«Tæ§âêËŽ˜¸†â*~íx=2rµ ?0V¯>ÖúBrÙŸjÞ´¸ì’ì…*«Jñʺ¥yyùJ²¬¬ëŠGéø)§œÇéx™šªh“lAºîº0>pâ’ÑIÙ·V¿Ý­{o)._I>Áa ¼ä•—M!•®WÅ»$U®[CöÈH%Iò-YZ÷®Ò²mÇ” -QH¾&ÛMÙ‹¨êuEd·TÙ*eTÀf^·;ûî[K·ß^&­=ŽâªZÉ¡ãÇã”ìf,Röþ¨Ÿ ´Rx£Â²Ë¡âÍïPÍý›ôÛ¹k¥º)ï’±öT޳ŒîîÛá’ä²ÜŒgvðú8¹écª—q&Iñ›WèwªQ]…šÞ¡Ò›Vjgú()û6hKáVê|cˆì²©`Õ¶ju½#ý¶µú%¨•º6($»$¿Òw*¼iŒ~üépZܧ¦îl{ Ú$[`uuhURÛ6ìÑYOãQêÍy¶›ºté¤öíïÓ›šj`·jÆâ’cã>.Mç”]Š\÷–Æm¨¯!CîRI‡q‘åã•õùz—i—|5^Ù7¾i…x^œñ§¢àK>cSPp âcãÒbÛ·¦n½µ¤’äWI­î(å]l{³&¨«Ç& QÃc³4ä¾öþrýþÑsÎL¦cîøzÅM=~çž›5ÀÝ~¦ÇÙQSww¬•ö š€*ªWÓ®cÇ.]Ï‘·q3ä0ßéé&Gˆªµ¿W-潯­GSUhç-*ÖOãëÉæâëû\ïçTr¼7ˆÜgDoÖÔ‘³Ô¼:—M{±ê௤„ é #Q I~ ð7ûè»SÇ—»› Ný3ã =1c¿Rå§FÏÏÔ軂ܔc3©ßÐ?3÷²IÎTÙkuP¯Æ%ä'Éïº6º«ü@ýþwªn«wéS'Wcá󾻿ÍÛ2ÌØÜb°>n!)yÆ>{ñ¥ ÎügåX^¾|Wç«?¬eßþ­F}‡)ÔÅ‹`÷õ)bâÚŠ«À[éƒÀ¥š=c~]_íÃïÑu‹ËõgxþÚ¢vÙì*pþŽ6ÙìN†d/[YemÕ¶¨»Ô<4R;vƨbë—¤Œè(ņUUa³‡lg”v,øB_¯ÿWgäíôžA†$Gµ4~ðwšñÅP=ð^yµéÿ„îk\B>n¶Û>ÐÀ kuQ.ÈQE÷ޥޮ.ÈkR·;žû¤ ó×á´Éf“ §áv,ŒèS:õÏ*½ðÀ’ôK6¤ê¬£¼êž5”öNëò2óX޽˜Js} \óƒK˜ŒÂ¹Ö¦cåöø]rO×}txg2bµáûŸõï/«ÔáûôMF¨ l{XuÈ8£øÐ*t>¬Ð´µÕˆ‰ÖéÐjn“]…Š„étDtZ²Ë¬  ÉàÐ`ÅÇÄ*Õl¼3_VÊQAÝßJ¿¦pJ¬þ\:I£‡~©‘Sî×u񴂮$.MçTÊVÍšîÊÔPPzFË4. Z8^Væ«‹¦šÊOã•ã›Æóz` V`\¬.ý¾9Cq§ã$»$PÁÊ  ôÛYX“ì…nPçg&¨cÿúñ¯iبD½;®ƒŠxšsf2ûsÇ×;®ûë±N7k€ÓÍ£¨éq¶…(4äBìv›Ë±CÞF‚®(C©†¯ü|"µé‡-úkçu_–v‹3é¬R–vÓ½¿ÔÏ6ÌôÎ~ú~|ŠW#öwMùCÅ…Ñà&…Î_ËÑ¿l9….<¤“ÎÆ*e—”rD‡"Š«šÙÖ Osaªßç]»Ü×ï«J×{_Ž£x)‹‹RŒ!¥]) U)©ù¸xÖän,¼bÚ÷guïQ/Öã—y-ñŽ¥cy™ò{\“´s–$µÒ+u\Þî¶¾’1ÚôÙåÆÄµW*yS=}SEí]­y3_Ò£UWŸŸQË¢—ÞÛ›ï3²m­GîZªaO=¥%‚T´á³Ð$ð’ûÙ‚C©(§\œ¹œ&þ§)µª‚ÆŽŸ¨j6%o|C=ž»Õ¡"u:ëé7;ªïÞ9óò$-{oœÚu³½Þ}øå¯GƼnë}w5†îÆÂ¦ÂÕzj¤®*‘yŒ’Ý—wIù˱™”séxjöxu†ÅèT”!?·Å©¨S1 .š¾v¹9N.¾QÓå˜ygFä:­8ÜV“—>¦sWψ_ûš,ߤ¸F·* 8D±QŠ97öÆYÅŧ¥•la…}J‘ç‹SQ§¢T8Tv–ŒXÅœvJvINEGÅ*04D³ñ6㢪­ïRæê¨Þº.TÊ|lÌâÒtNÙ«ê¾ÉÏÉ1q&̯¯7»•7‹KÞ3s7ß.4ÎÚ|½Œ7ÏòøxeõþÞ¬IžÖGùÚªqæcm>˜ªš/ðì<¢ÍÛâU³Oy9t2íËÔ£Jë¨S§""=ÇvÖ¤sìtûÃÝ´²çíKé [Ìæœí¸ìFÆ„k‚NÇ%gH°_|ìÏ_¯¸é¯Ýe^§›5À®D7™­{fë0ò Nƒ€ä<µO¿ïV²!ɯ¿¿ûJë 5Q£ÅÔáÅZ¶x±/^¬Å‹èõö¥ÔtÈ7úêÙ†r¸Û¯8Ë6r—¿K3^™ªˆN£4¨e eL 9ª´Ð-g–kîo±r*Iÿ}?_›Ë4S#³/ï²5 YIbYªß{Åja_®ÏWV’ Åí^¨åÇê¨A•‹3Ìfca*q¯æMœ¦µ…Mú~‡:›‹WeXKJÙ7–Þºâ*­£±úyþ:•êÐFÜŒÛú yèqeÂG…ªß¥‡F½¯÷†¶R9?Ï{¸•z@ë~S¿wÞÕ„ ã4¬G]¹j¾Oõ¦jµLs6žTŠ$gü)EÍøBÞPbL¬R‚‹©H›”tDkVl9ÿ%}©'ÿÕ¿1)’ì )[]å &+9Õp»=kÌë¾Ü¾{;>ÕoSÓØ%úò—ãiƒwžÕ‰ÿN謧vØp\'¦—o±¹go4mæ¯>™§]Ñ)’œ:ý÷R}´0NÍo¯&7åfé8y5ÖN[½R'n¾M52<<6¸]×ï^¡õц|ªÝ¬z§Vê»§eHJØ¿T+v¦e }ªß®[WèëM§”*)ùÈ*}ýS°šßR6-I²[ËíU¼!ñ{´hù1ÕkRC¬Ž·‘ ÿVÿ ?‚*¤_á’;˜Æ¥ùœ VhXiµy¶罩9û“Íã"S y>^ÖæëeÉÓãu±Ë_¯ܤð®Z0nŠ~øç´R%9ãê§iãµÐ¿»zÜ”þÆnÊ-_´Gq†äŒÙª¯—ž¸¼ØÎ ùèní8{þ5Ü??ü¤ýe*«¼‡9çW\%èÏÃió3õøZý¸Óý§‡Î_¯¸é¯¯§:ݬîžäÈ<@žÂÌ“héø—ôÒÑ$ùùù+¬z+=5¢›Ê{Ê[ÝÈQ†¢W¢Ï·ý©Ôßzkåké›eþö'zìújê=¬ƒ&ŽDÝ#Sä_¦¹Ú.kg8]Ÿlªß^QáÃûjêCÔsZ‚¡µÔyÈ`5ºè#¢žÆÂýS,#ñ¨vnøUeÚ?¬[=;ÇÊ8Ï·¹†Oi~ñ¶ìK¯\#q%Éyt¹¾Ý}£z<_ÔýYë#®¼aW`¹Úª*]ò%Þ+¨¢a;5©G;½ççO¢ªÑêQ ~¨ñ…//”¤€zzxD½ýö@…OQ ¦7V]JŸ»ƒM…ZôR§Õoê‘3\¸’Zvi¥ëÓnM=ºF“Æ-Ò‘?ùù…¨F§gôPq»Rÿp½=kÌë¶Ôw³ÝÜE…Úzðåú`ò õš§dÃ_en\£Ÿ,f~-{{Ý^K/޹O½ŠÜ¥ASµVŽ\³7ªÜ;RO|úŽ&>ü¹Ž'ÚP¼¶Z=2FÖôs[îCÅí.ÎuÇ‹8sÒªU±jòlµ‹_Ô¬¯–7NÑ×kOêÎŽÔð›ÐOá‰~ -ßLÍo)¥C’ä[S}^ê©÷'=§Þo'Èð/£æ¼¨ðŠv)YrTj¯Ö~³ô\Ÿ¿™à£ÊmkXã@ÉfrÜ2'ÁÓ¯)¼Ð!)Õ™†êöb?Õõ“‹9è!.=Î)É^¢•žé·AOM˜¥o÷qßÎL1ôÌ͘`6¯¬Í×,Ë7ã•©[ÇÇêš”™*v£1þ§ÿ½ò Þ:•(UõfÝ4zt;•÷IG[`}Õ÷ûJÏ÷ùS§Îú¨J»¡žcÛˤFlÐÿÞ\ }'e÷ T±-ÕxwU´K²›Ì9ÕVø£54vôm Q@p5ÕlTRGÜU”~|½aÖ_³:Ý®nÖ±Ë_÷×eçéfe¹ºÍæâo³m®~Û¼üÿÜÝÅߎ Û3üŸñ·«Ÿf|դϮ!Û¶mSË–-s» Ç$jûûOkFسz±[5…úJŽÚ¢÷Ÿ›®B#§êþŠùù]àk¹ïWc ä˜äõÛ}…šÎ©×Â¥¯µþfƒààà’~’”êæÇéâ·‘á#öÌgü‘—ÿ›ýö´M¶ys›×xtOŒ9tZE*–Qˆoú¹)I±ŠM Sá |~qÉk¹ïWc ȃ¸Dxb U‹õõ§õð'>ò‘S†i5yìYÝ}9_æ•\Ë}¿Òëü'u¯ä¨žÛ­€Å%2¸D€lÀ%2È»¸D†u\"` f€%$˜–`XB‚`‰On7ò‹   ÜnÀÅÌKH0,!Á °„3ÀÌKH0,!Á °„3ÀÌKH0,!Á °„3ÀÌKH0,!Á °„3ÀÌKH0,!Á °„3ÀÌKH0,!Á °„3ÀÌKH0,!Á °„3ÀÌKH0,!Á °„3ÀÌKH0,!Á °„3ÀÌKH0,!Á °„3ÀÌKH0,!Á °„3ÀÌKH0,!Á °„3ÀÌKH0,!Á °„3ÀÌKH0,!Á °„3ÀÌKH0,!Á °„3ÀÌKH0,!Á °„3ÀÌKH0,!Á °„3ÀÌKH0,!Á °„3ÀÌKH0,!Á °„3ÀÌKH0,!Á °„3ÀÌKH0,!Á °„3ÀÌKòc‚ÙÈc帺côR~L0®ÌKòz‚ÙÐåŸVž•ý 7È»¬æý²#7™§óŒy=Á È%WK‚ÙÈô;·ê÷´ ÀµçjÊæv.õ"WK‚Ç`¾ÀÛw!®Šwd;r„YD‚`I^J0{ó®@v|kcv— oʉ|á•Ès^1y)Á ¸Š\©óådܳ#[Ÿ•2òÌ»®¨+gÌí¼ªGyñ 欌•̼§ÿäm9‘¼¹Ì\å“Û ¸Â 7{º¯7÷?d%7h¸ø¹fäÅ3˜³Â›„2—ÏpNvä ³r¢kž–ŸÌWê@™~ÈÛ®tÎ/ß䝿Kd’l9xûå0$)999‡Šp…ådÒ7«—ëÍêí¹æjN0_õ‚‚‚r» ùûï¿Õ°aCEFFævS€kÒþýûs» W æ4fg;_µï¸º\mo:€ËæéËý®yùéÌÙ!;¾@ÞG®Ð ¹™`ÎÍkšXÙ—À® 9‘#¼Zó¡—%?œÁl(ûÐërÝm·]éœ`¾È3懳·r"ä}ä-Ê fož!ÎH`•üb¾ËCæÇ³+F†ßYM(_“ èW^yEÇŽËíf¹Åj1c.2ßóÉíd‘!É–Cûxs௙dó¦M›ôÛo¿)<<\Ý»w—¯¯on7 È7âS¢´!bŽöÅ®WdÂ!IR‘€òªr‹W O¡\n!À[S¦LÑþýû½ºoåÊ•õÄOäp‹p™<åÿ®ÄËy*ÿ˜×ÌçXI4gµ|O”¯$''kÉ’%Z³f8 IJJJÒ—_~©U«VéÑGÕÍ7ߜ˭ò¾Q?hÁÿÛ»÷89Ê:ßãßêžÌLB.$@€pɆ[ðÈLŒ °# ¨àr]î Še5 ‘¸€Â¬‹‡nI IDAT¨(\‰îá" "P]\ B —„r™™î®®óGÒIMå©{uwuÏçík^]õÔSOUwëÛ¿yjù<õÛ´¯Øð’VlxIO¿sŽÛ}¶}x“ÎÇÒ¥Kµ`Á :4°_oo¯fÍšÕ ³BBÍ.ùd Ù¶ÝìÓZÖúÊj-^>ONÈGɘ®qZÝ¿B‹—ÏÓ#Ò°ŽmCF®ègn×¼Ïêoæ|K§÷7µ;Ú°d±n¸é>ý÷šª†íþ19ëó:t;×Çbe‰î¸ôËú·ªRµ¤Þ’¥®î!*¨¨qŸœ£§õ¨h<æÆñßyî­ÙïCê þ’^RAE«°õ7šÕWõË/Ñ=+:5¤ Yc´×‡gè¼³ŽÔø®°1ãrŸCœs€pŽEé3€çšI’¬‡ëÊÛÎ×A Iô®Çõ\Öy`[f‹Rþ欧Âpgºñ_ر’Ü$0×î¿ÿþÍáòÂ… ÕÝÝ-Û¶5yòd]tÑEÚ~ûíU©T—”ž~gQ`å²etÂ^WiâØOêÞW¾ªß¼uŸž~ç^¾óYþƒ:´äßçë¦ßí¬½véPÁý Vú“~øÍÿÔߪ»ª7~öOúÒͪçª#4¦Ö¯cµp±Îµ$û¥ïè܆êê›NÕø‚äTJê¯Tý]]¡'î¾_C/?T=C“~LTò?tÊ7ëŒ½Šª¬ù“}õ*}ëþ šÿ©qõû›LÎüÍž=[–eiΜ9)FxÍ´‘­R_YWkÙ ¼vjÛë¹8ÙŸcøqoËú¼r+ïsTµ9è7« ‡õ úåh;=ö˜$é‚ .Pggçæ ùk_ûšÊå²*•JÏh/­yÒw›etâ^WëÀÑÓõþ†÷ôúºÿÞ¸Ïû¿ ˜­.žp’¾rü8ýæê¯h•kSeéSúÝè£5ç€n•úªÚáÈOêoîú±~÷þ45ªöñWU¹¿OeIv¹*ÉV¹¯O}®ÿ'лì!Ýöí{õÜÊ’œ®]5õô‹tÆän={ûÝ·äU¿|‰ýaw͉ú‹›ôí¿ U¥²ìáê´Ë/ÑQ»…ÿ3S-÷©¯¯(uï©LÚU?{}¥ª§Ò²‡tËM÷èùw«ê;QŸyަîÜ!•^ÓÏo¾Q÷þaµ*UihÏñºâÊc4¾ïQ}õ¼ßëã·ÏÔÄI*ë©oœ®Ç&ß¡/ºé`Î{zÆ{î_š¬å·Æó/߀@½½½™µùši3G«Ÿ¸N_¸_}eÎqÚ¥XÑÒ»®Ðü·?­oœWÕÂK©±“-Y²ZÖlЈIŸ×¥§¤m-Ÿk¼癩òÓúæ?þ—þöD[‹ÿõ½ùÁstþ¶z®ûNÑ~>çÖÞ×sq²B÷ö°L±mrÇ,æ° àzߘ/èXig^è@~ó-{Ûg̘‘døØ–/_.I:ðÀü©F©TjÈñÁâÝþ×%I]Åa:ïßÑkë~¯ÅK¿.I›ÃåÞòzÝùòeZ±þ%IÒª¾¿„ŒZÔŽüOÉ~KUÏŸZ•ßZ¡u;¨m7µ;«]vxK¯¿iK£"~ô—^ÐæÿT]çß :F•¿>¨y_¼^‹wûºN:ë\½ð›ïk·ùÿ¬cÆTU.•µf¿c4óÆ/h‘e-ù× uõ}ÿ¥Ã/:(â?4ŽÊ«þ _¥ŽßSÅò‹úÞu‹ÕuÎMúѤQZùð×4ó[jŸ9ÇhÛßÜ£»+'é–;ÓHõkå›ïkXQ’UÐÆÿmQ(X0…¼5Z“=ç¾î×ê:ÓxK–Æv¾Îøõ?jáÓ4û€'uÛ/÷Ðy >¤‘ÖÓ²VþNÞñÍ;kgu”—éG—_­Û÷¾Q3Zæs7_'ìTóÎ#ºë©ÓõÅ»O{­ª\¯\÷U|*§Ûæz.³ü/`ÿFÊQîL4ûÎmxQ³:†wJ¶4Æúõë5}útp <# =uw ×ÈâΚ¸Ýñ:q¯«· —_]÷œ«wø÷bNµjø@rÔß_VgW§k[§º:ûÕ×ý\+þµžq”Žÿà6*õõ©ºýa:qÊZ=ùÔ_U.WäH²Kýê/UT•¥‘ã÷Õ¸®’úúíöÁýTXóžBg/׿øYzêIšñ÷·hÕÿþª.™2BöË¿ÒÓÃþN'´J}ešýšÖô91fdŒÌÙžs/¤¶˜7ožfÍšµy}Ö¬YºöÚk“h¿ª{.;E3fÌÐŒ3tê¼GµÖ‘œê}ä¼ÏhèâšsÃÃÚéÌ3uȰMׇûkêGÆl¼æqvÑGŒÓïûgõû^㽡ª$ËÙEwÆtï(©¯TÙêÚi«p¹=¯çâT dzޚšU¶âî©.LéK’jå†M‡ñ¹Ï}nÀú÷¾÷=c{–JdüøñzñÅõüóÏkòäÉÆ>Ï>û¬$i=öhÈ9íhL÷®Z±þ%­é[ßi¦Në¹^Žž.I>á²´]÷® f©»»SåirIý¥.uǸق³vÖÚ[ÃkŽ4bô(­}ç}U½³Î{zañ]ºïéåÚ`e­]®õÛMÿ0.î®×߬3ö|[‹/¿LÏ[ÃU¬:ª¬Y­U¯>¦«Î¾Ó¶úŠ»ë}R±ç4Í»ìÝùý/ëÜ…»é¨ÓÏÑɇŽ5ÿƒáS=Öxàä“OÖ-·Ü¢juckY–Ž?þøä=s0WËê/Ùrä¨:j’Ž9p¡®|îýË!ÛlùËV«[C;k86|˜6¬]§Jà5ž¤ÂÚaÛªªQÓ±Á}=—&KôÛ'ë`»aZ©H+ìźÍts?ïö ŸTz{{ü„µ×Û‘G)IºýöÛµvíÚ­¶¯]»V .”$qÄ ;/ Ýì?ú£›—_]÷œî|ù2õ–×û†Ë’4aÌa‰7d—Ý4òÍ¿jeíS«ü†þòöXí²Sô¿²FÑÈ÷Vé½Í_SÛZ½jFŒµÕ?럼Mÿüøh}æšëtÝüùš÷ù¿UÔû-TË}êë£#N›¬W~x¯^,I֨ѳϧõïÞ¡;î¸CwÜq§îY4WÇŒµ¤ª£û£ çÿ›^þ½xó·ôŸ«©PPaÀÇt¿Ö­/‡pû1í³Ï>:öØc7¯wÜqš0aBª17Îs¼é§do¾Æ©¼ú}÷è˜Ý­ïÞÿÆ– cgV¿·%þZùÎj 9R1®ñb[{^ÏÅɽíq§ÚH’yæJÞæ´I}Ô¹EÒŒßV7ÿ;úè£ÕÓÓ£×_]^x¡žxâ mذA6lÐã?® .¸@+W®TOOŽ>úèfŸ.в&¡®â°ÍëµÙ/\î.ס۟˜øxÅ=¦jò†GôÓ?¼/G%½ñÈÏôì.Ö!£¢ÿGGÏašZzT?ùí»²%•ßü¥~òäp}dÒ8 Ûhx÷[úËý’•×­“=b{*–UZ·\üüY­õ)é¨c‰š1ö1Ýùó7UÜ{ª¦¬¹_?xü/ZÛ߯þ¾Õz}éZ[•ìU¯éÕ÷úT.•Õ¹ÓÞÚmURÇÛ½\¯üuãÍIí·ŸÔ4ܨtÀ¹Œ1Ù¶­iÓ¦iÊ”)š2eЦM›8-ib•åZ|ó£Úýì‹õ—|FÛüìÿè¡77]ÈT^Ô#.ÑzGrÞ^‹z[hu]㙎á¹vò×6×sYä~qnðWÏñªþ8ê”a7ö‹2NÛÇQ Í;W³gÏÖË/¿lœ¨§§GsçΕe5ê@ûé¶FjFÏ?éÎ%WÈÙô1c –%É’¥{_£îˆ7ߌ¥°§N¹âýËu—èsïVÔ5nªÎ¹âi{Åø+î­SgŸ¢Û¾y¥Îº¥ON箚zö•úÔ®–äì®#NÜ__™¶Îs¸.žsŠŽ}üz]xú4|ôx}ìSGiß'cž³3FÓN;\÷^{·~{ø¥úìÕ'é¶fëÌ׫ìtiÜGÏÒìó¶Wñ­_éÛ ЊÊ 2Rûò±ƒ%iö¾š?ÿR=3r¤ºFî­ ‡î¨[½6Ïýü³ºu÷ ¦ñ ¾J¥¢SN9E’T.—Ó f/Ó]—Îн›`kÄ4ÍþÎ?hìÜ¢Ÿïôy-8d¨lgªÎûôcºüÖ‡uÈ•c¤aëà®×—ÎyYïöuh¯éWèò‰ÝR5à¯d8¶çÚéâëÿ^ú%‰ƒëz.j~vƒ¿¨—ç¹Ï*³~ÅÃÆ3m÷¶Y†vo[УeX¯-\mã÷§èz¬-wlZžúÖ[o}=èÉF1tèPIÙ̹üÊ+¯hâĉz÷ÝwcígY–,ËÒ< ‡~XË–-“$í¹çž:òÈ#õñ\Žã$º€Aà©§žÒ¤I“û‹E½øþãZôò5ê·×ût‡kÆÞ×hßSc|Ëm©£«SV¹_e÷7µ…uéPÁ’äØ*—ʲýþ3. Q×G¥þÊÀ¹¬¢†tv¨hY’S•])«¼i«Ø©Î!YŽ­RÉVaH§: ’ãTeW‹U•J¶ÕÙ]”ÝWÒÀgTPGשܯJÕuR¥¿,[®cKrì²Je[N¡C]?ÜGU»¬Ò¦¬âuv$müÌrTe÷«d<‡ç^v4Äg<3kÖ,Í;wsÆã§··W³gÏÖ‚ "Ž\PGW—†XŽë:ÍV©¯,§£K…ʦk®M×8E[¥õOiÁjÒ®ÖǺ ²,GÕJYåʦú^㙯Û\;õ—]7úk¿ë¹wÜñ IOH²%U$U7-Û®åªáÇ1<º—¥¡´ß”a~m¦u¿¶8Û#k… æ$ÜÕʦÊeïµBÚ½O&9ß²ŸZxü‰O|BÇ{ìæJeÇqdÛ¶*ß$ˆÍ¶mí7ò£úÂÁ?Õ“oÞ­?½û¸Þé}M’´ÃÐñš°Ýaš¼ãÉêÔ61ÿ„ÊQ¥ßð'KÕŠJýÿû­–eBŽ­r¿-ÓwîŽ]R¿ë4«¥>¹VÙ¼ÍV©Ïô|ª[Ÿwµ¬þ¾-û]­¨¿Ïü¼»<àœ¶xÞs÷ÂôôôhöìÙ‘ûFWU¥¿WÆ«•J¿ÜWSÞk§RŠyg¾nóŽ;ðÜÚòz.l.å$û˜â¶Òªs-ö>&Ù×»-ÊÿdèÓò*• a2Pg¶m«Ã¦Ãw>KGîzîV_èØ¶-Û©Ãü\€º˜9s¦ …h·9«V«ê7&¿ÈS…qØ ýüöOr̸ûæF«ÌaAríMð«^Ú¿ª7=¬•²›ú·ä› Çá h¹ Œ‡LÒ~<Å0E!"ò Ž«žmµ¶¨ãx÷mØôíë•ìÄ™$ëÒïõ¾©aß@ º Ø*.§e¿°8éMü¢Š“¡64»ltÀEV/JPhöKâ÷ãîà€ö`ªRËÝ}eØ–vþ妇ÇQd07ò F£$ê]£Ì¯l*‰Ðú²¿(³D­dnæüË™+Ìa¢ÌQ'lúepÿR™¾ÅÐúL³¸£­šÆ2õz-¡æ8¢L“aÚ'ìÍfz  ½„ݸ/na«ß¶¶’—€9Ê“åôƒ©ÍýEÕµ @ë«e}µü/¨z9êôYœOи¹È'­&iêãm³ íQÚÜ–g½`X.¸Ö †õ¢ç±öó1C_˧ÍïÇï¦~îG…ŒáîãÏ=†7p®jc@\õìkÉ04ðxµ}£N•!Ÿö ©4LíqªÆã xhmIÂÐ$Õ´aa³_ˆlêg*õV0ûM‰aZ÷Ûǯ Y>mAçô\½cšÆðëÓTõ˜M!p=¤=ŽwÿZpl ›Ý•ËÒÀðÙÝVpµ×*•¥¡²<ÞjæZ»{Ùô\ãN‘‘´r9 3@kË"¬Œ0Ç QÂZï|Ç~SdD©f®µI[gƒîóªÚÒhT`œùqòTÁœ…°ªçZˆìÝn ›¥qÕ°n šåÚ×ýËXp-‡M‰6³ßt^Y…̄ȃS”@2‹êåÚrPðì0›*˜¥à fS°¶n •Mç[5´™žO[hVÀ·úØ/0/ê~Þo8Üa°© ¾ª7ô3Ënîi2jëîé1¤­oô:›ÆSµ\¯*f ^Iæ `ÙÛ'(T–üo°ç ’ýnøçÇ”ºÏÍoê ¿s÷Ûžf??M ®ó^ÁDÇ ªÝûÔ^pÓ¼ÍÞªfwðì{ÙÝæÞ·,×nìç­\v‡Éò´)àѯͻ-êzÔmYô@>efÆ —½ma̵G¿ د’Ùoþe¿Êfwðl:†é|üž[˜°}r]ñœ·€9I`ìÝ×ô(ŸmÞcº·» žeoå²w»û[÷Ôîje÷rí1hŠ o_o›wY!íYÍâËAýý*uÂæ P×Tì­` —M•ÏÞmqÎÝ/ŒöîW®ç¼ÌAüBá¬Æ4MáB{hiK°\ ’½Ìý¦Á0…Î XN:=†;x²4ÅCÐzÜð¶jh«`6Φù˜ýŽï^÷›g9 ×.·ê0G €£†ÄaýLÛƒª˜½7úóV8»·ûU0W=ûÔ~ »§Æ¨=zç\–Û’9@ökO;sØ6ª™·(UÈaÛ¢„Ëîe¿þAA³·z9,h6U.U0˳ìWEí·-N…wÔíqúÕ%´Îcsšêä$ûš*•½A¯7t.hàâ­d®Ëîêe¿ÊeÓñ¢>z…M—‘õ´„Ïí!Iø'`ö¶……Öq½anP¸ì^öѦ g÷y…UYG•&èÍ]esæ AÓVÄ©bönóö¯1Í»ì­`¶´õ¼Ëîé2,W[mŸÚ˜qå´ÓdDAh € Y„ªaUËI‚fï´ArØÍî1LSh„kÜêå´¡uÓ4;`ŽZq§29¬¯û 2U(˳Ý,»ûz÷qW+ËÕfªRö›ƒ9i°Ô§Í„À`pK3MCP›_èœ4hªfªd®-ûÎ~ã›*œÃ^«8áqš×½aš0û ‰ÓV1Çéã­f6…Ìîº6Çs­bÙ–yÞeS€lZ–¡Ÿ·Í»¶-¬=i?´§´AgPunX¯©X¥°7ªh6U7{—£Þ¦ç”uõr.+›ë0Ç©:Îz¼°€Z2OŸ!ú›·jÙ{+–k}ù˵ýLãE™ï=m¿0Ïí%i€§íçWÕì­"Ž4›*šƒÚÂ*£MÇôSêåf·Y*˜“Ñiª˜kÜa±iŽf?Þ)2jm–ëÑr­{çZ6ÍŽg=ÊÞå(ëaíIû ½eYŶ¥b8èÑþV ÛLÕËRx•³ ËÒÀé2LçeÚ´UÓ«šó0ûI['lvó›Ù=†40PvÕÞÛÐG>AÁ² mÌh„fÌÞ¶ ×úš‚ç(•ÍAýýD •“hzì§ÞbÚ 3(`:ïpX5pÁg»ß¼É×cÔ¾î±ýŽujŒ8³_[”maŸÚKš3îÔQæ¸m~Ár­­¶n Œ½UÌa}ýŽt^AË~ýýú†µ'í[^æ ¾qƒä(ËAa²_»_pe›wì¨UËQŸ‡©OP[”m@TYÌQÂØ°jæ°i3üª”ý¶yÛ¡=ÎóZ6­‡µ§íK#Æ@Tiç"Ž2'­N2s’å8Çj‹²-‹þ‰5ò&Rýfo{!³ß±² š½ëi~ŽÐ õ®bNàf,G'î¹µ´FÌRë„ÌAÛê.›Ö½˜y”uÈœf=MÈœt¬¸}ÃÚöeÑ?•V˜ý¶Ç pÓÒY†ÉQÂæ¶ú–m#MÀÜÌй•Ò¦u“–ÎúšUÉš÷9l=éÜÉYÝÈ/i…s”}€4ÒTãF ž³ ³ “„ÍI^,û§Ö*sØ>Q§ŒhÔz=ƒä4ár–ûIÍz…̦¶$Ár#ÖÃÚöe¹O*͘"£&¯!s’}âœWVAr”cÕk &ë 4éMýÚêY•œtŸ ö°mYî“Z«Ìaû% ™³ê·º8îÍú˜úy“4ØÌ*d6µ‡ÝX¯ArÔ>AíaÛr§™³TŸŠÛf‡ÌQÚâT,g*@ ‘â¥õ¨hÎjZ,ûµ§Ñ´Pºæ(ûE e³ž 9éTõžk™pÍUÈì·=éôêÙ–õMs­Ù³Ôø9Í4õnË¢Z9ë0™p`pË:ôŒ:^œ ¶YÁrP{Ü~õ˜j¤îZ9`޲oÚ›ïùµg1Å…©Ýï—pÍ”§9íüÌqÇN2ïsÔ1¢nÏ­¼ˆ­27¢=é>aòò¾ ½¤ J³¼!^£Û›.7=˜ÎCsM½¦ÊëS¯jä$íaÛ²î4J”04mŸfÎiÂå4š.Kù !ë2‡õËb>ä¤Áq–7ôKÒ¿^c }dhÆ#Mõo–A´i[ÁrKλ얧 f)}¨ÙÈjæzm‹²=n¿¸—`R¯`³7ÊËr[Úp97qZy ›2ûm¯g`܈)/òø^ }¥ Q³j³¤³˜O¹¯KÃä5tlT˜šuМÅö¨}²Øh–$Ai³Bç¬nÔ×Vá²”ïP²‘»ICáfLuQÏ÷,Ï¿ȼܼ®ÞSkd,Çí[ýë"os0»5òFuiúeY‘\ï›yRï›Ü%­xÎ:ÌÍe8œ…¼“Y_ÖÂiæcŽÛ/iÿ¸òþ»€|©whwü,Bç¬çPÎê5Êm@Ý*¡b^±¦Ô‚ÚIDATƒæ(}›1ýE«¼¯\š¸¦ ”ëÝ·ãÔM+‘Í _›4§Ù'‰Vú=@~4*Íú†€õ ‹M¸,å{f¯fV÷fJ§y.„Áhgi‚Õ,oÊ—¤ÿ ÓŠae–çÜÈ›êÕûFI´âû€üid›å þ²Ø'Í~õ«îZ5`ÌCÈœfß¼ÝàÈ£FU׳jºYc5D+—YŸ{Úñš5íE+¿‡@³ÂÝ´anÖapË…ËR뇓y ™³#Ëq5. Õ/(ÍÓÍó—7i‡°1ïAlÞÏȃÁL7r܆h§²U‚Üf¾æíô~ ¿šš¶JuqKË5í8Öûù´Jˆ ­þ¶E¸,µo°Ù¨çÕnÇò¤QAl»§aÚ=¸lôóËÛë™·óÀà”·`µÑ瓷矙Á@2÷10¸´Ó\й4XƒÏ¼=ï¼Ð òâæí|ê®Ðì´&*g7jåס•ÏhåªßV>÷LPÁ H„êW¼6j}µ² Ì€D¨ÒM‡×h}T''D3 *p‹×¨?*’„ f@"Ì0hüÓZC[šêWÛIEND®B`‚sequeler-0.8.0/data/assets/screenshots/sequeler-screenshot4.png000066400000000000000000002747761367531117400247500ustar00rootroot00000000000000‰PNG  IHDR˜·®‡!sBIT|dˆ IDATxœìÝwxT÷/þ÷9gªºII„@t WŒ+6.벉;qì$_o6Ùäþ¼Ùlr'k'q’M|ޝk—Ö¡p066ÅôŽ!Š¡:ý”û‡4Ãh˜r¦ÏHï×óèÑÌ©ßsf$Þó™Ïˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ(ûéÀ ÄsNDDDDDDDD”NDDDDDDDDDñˆ&t' MWÈìí%]6—™pÁ½XÖÓ»N*“l|ü‰ˆˆˆˆˆˆˆ(ó¤2Õ»¯XÆ” AsV…ÌÙ0¦³·q"+ŽSUùLDDDDDDDD”m’Y‰œìŠèLêÙV¦+\NT°œìP;Ùô< """""""¢Ì‘ª 4Ñao2ƒæA2gK°˜Žp9]Ár"Ž5[W""""""""\š&2ðMVÐ.©SÑ#Ö Wo ,D˜ªâ9š †[¸iá¦Çº‘ñT/‡šíø‚-¯·"YCäPZoÕs´!sÖ¶ÊÈæ€9á²dZ°Ö‘êPã 5/šiá¦G» ‘^ñT/GÛCo_åPq¤V‘BèPó‚Gϲ¡¦é™—ˆåc–És:Âåpí.`=ý—#m!–4æpÓÂMu9""""""""¢p’]½ì~°‹ðEjƒá?=Øòó¢Ùžž1§*ds¢ª—ãí»m¸Xµ&—¨PÀdÙ`ãŒ& uz´ËèÅPšˆˆˆˆˆˆˆh`Kd8™èªæ`ÓÃU.ãý.èÐà,‚‡Î‘ª™õ„̉ìÇœ‘UÌ™0'«z9žp9Xó¸¯~õ«ó~üã?ž““3 €1̸‰ˆˆˆˆˆˆˆˆ(3xœNgÓóÏ?ÿ‡gžyæï¾‚9•!sVU1g[ÀœIáréc=¶è…^xÖn·[dY†ªVåQ¦EƒV«ÕùÔSO}綾^Z…‹•Ì™2Ú€9ÕËzÂæp½“— \vÖùóç&ËòDEQ ™ˆˆˆˆˆˆˆˆˆ2‘$I0 û† ö/¶"x¸ì?-R/çXB嬮b¼°\&‹¶z9Òr±„ËBß|@‘ 5¬Z&""""""""ÊN}Ù^ z¯¯æÍý‚e‚ÀÅl~÷d™ÀùÁDZ.k®ƒfˆ¼HJÅzâbij~¸pÙ¾AQ f""""""""¢ì¤iTUµââµÕÂå“.æƒÞÊ`ÿÛ2-ܲÁÖÕ#Öõ’"̉HÛ£Iñõ„Ëa±wZ°¾Ë¡ª˜M˘ǑˆˆˆˆˆˆˆˆˆbЗñù2¿_@ÿ2:o#Âôdåª •Ỉª^ŽeùPO€`Á2à÷$bÈLDDDDDDDD”õ¼ÙŸÚw;°m·zÙ¿_½¬w¿Y]Åœ =˜Ã¥÷ѶÆÕ%ðÿï¡Þ¡Èš>(DDDDDDDDDV`i´™a°>Ìz«˜Ce¡¦e”Lª`Ö+žÖÓB}¬Tî×~-2XÁLDDDDDDDD”½Zd¨~ß½§{«‡C}÷§·s°å³B²+˜õ&ìÑô‰U¤ªçPïJ —<6"""""""""JŸH`¸ÊåÀí›ïØ¢™ër1Ɇþ¢m”©¼7ÌÅ£OÞ„‘ÍŽío<‡÷«pëS_Âå…}Ö‰Ïþð ¬hR.Ù»aÂ]ø×§ÂÝéˆó˜‰ˆˆˆ²Kˆ‹üi‡»Ø}Hï²éØžO¦gè­^Ž4]o³ÿíÀ9°ç²ó€!Ë2ZZZP[[ ‡Ã—Ë•î!e”’’477§{DDD)¤âü–?âËÂW‰‰Ó.ƒÔÑŒÆS6HæL|$£yË*¬Û7UsÆ£8ʵ!Ü‹»Ø·­žýY¶§­U¨Ÿ^ ¥­Í<°ˆáçA! ¼Áwï(!õ¦àû ÖŒÊ)ó0¿RëÔ^l;ÚÂq³QWf€T6<ÆüñO""¢tU(™øÚ%3566âôéÓ¾s)FŒššš4,%ü«—ô¯d.—†·áª—— 6ŽDÔ)“î€YïOx,¡r¤mk²ß2úW0¨Ìš¦áøñã9r$ŒF#Gº‡”qdY†ªªâñ&""ÒÅÝ€O>: §e<îþæ#˜]Ø[å Õ ·Kªip´lÆÊUŸâà© w8ÆÍ¾7ͯA®}^ÿÙ_áœy=*ÏnÅÎæ.…5¸bñ]¸j”°…Ÿ/@ƒãÄ&,_ù)±AȯÀäknâ©¥0Bƒ½ù3¬\½ ‡N÷@µ¡êò[qác¼³¥в ¿ÿÁ&H5·â©‡fÁØj; ÚvýïþmÎÊ…3kTß+u- ‚Ùƒ“ß ¾í“Á?ÏïÕ¨ÒvçWþ¢(AP\pºd¸ÃÌSý^rô¾æà?.ï4€ÕsoÁACǧ§±ý¨ eSoÄ­3s ¨2\öPçÓ}[ÿú6<Ռ²1¸âÖ[QqôÏAŽy6 øÿ9eïÿéÞŒÆ?«¡ß—w]äñx`³ÙPXXAÐÚÚŠ»ï¾F£š¦A–eüå/ÁèÑ£¡i:;;‘——ƒ!Ý‘bbéÁì"ëíË.Lö—¨°9–å’"Ûž ñV/‡ªh5ï’P9`Ú€pêÔ) ¸¸˜á2”³ÇÑdL“g¢Îê„ÃÙ¾fßåo­Äy8êçNñÄ6l_û'Ø-Oà u$(hÙü s¯ÅÍcñ÷µ°~åÔ~uJ„ó°üO«°Wëîœe×j¬_örJǵE°ü«±W.EÝœ)(ì9÷!ÈÏ©ÆpëQt+cpÕÍÓQVP«ã–…ÚNî6üõƒí8%”¢nÖ8HG¶á\zµ9Ãm{?–…8þ/Î*ö½P”FTc¤q7ÿþ&þŒ…¸ff ‘ç]<ÏGðÉ_È@FÛ—Ò ¸]P ÁÝ—Lkª .—ÔûŸ†=ôùœÓº«vÄi7ãÚ Nµ#¯@ ~ÌæÕ/ š¦AUU¨ªŠS§N¡¥¥mmmp:PU’$Ád2!''V«¢(ö ›ÃEf³ùùù:t( SpD©e³Ù°gÏ ¹¹•••Ð4 ’$Áf³¬V+4MÃ… ÐÒÒƒÁ€®®.Lž<¹¹¹i>‚„óf~ÞX2-T;Œhæî3#û*G#æx«š£]'šÚ¿T^Bü"[\¸pcÆŒÃဪû§…üß%"" 4§NM@NžšriObgã^² ~Ãý¸ÿºR {(:ò>Žî>ˆŽÚÞŽ¿bÉå¸ý¶+P®A÷žƒXÛÞ† Іa}OCÍ/8º‡zD”/¼WN ”·cÿý‡ÎaîÐ}8l0ü†ðוA$@vÀ-OÀËz4¸KqÙ´i-(°íZr;sŠÑìñng8p¾m?_‰³—T0K2æÒm÷ì\òøÛgÌA±÷UdálÜó@;Þzw#v¬x{>» W/¹óFZ!„›×7Íyû·îò%T0ûµ‹ÿ†øUo¹ÂœÏ9%&HÐÐ}ö <õ póüR]N(AŽY–Õìù/‡ˆˆ4o•²ªªèèèÀ¶mÛ`±X0sæLTVV"//ÐÓÓƒS§Naÿþý°Ûí2dÌf³/hŽ´UUár¹ÐÐЫՊššX,±\Ù óØl6ìÛ·³gÏFee%>ÿüsœ9s³fÍ‚¢(¾|HQÌš5 ‡FII f̘––lݺuuu-döïlà2ûÆáäÀmEûÒ)+ª•ƒIVÀœÈú†h¶. µLà41à»wº¸< *˜ív;ÚÚÚ0qâD¸ÝnÝáòúõë!Ë2®¿þú$ˆˆˆÒÆb…EÐ`³Ù!0õ›©Áå°CÖD˜átº ˆù(4šÍ»Ú0!Çå†[Ó`0 €ÖÿTðùœvdMÁÉÕ¿Ä÷Wû–F‘Ó Gß~‹‹rárú]3BQú.ë­Aq{à‘48ÂlÇétBõmÇ X P$gƒœ U¾tÛΰÇKÞ•䌻_ÿÞ8ðñ_±lí~¬{gÊ¿y+ÆÃÌë{Õ)Y€¯o1FK46¿üøóáhÈpçÓˤ[ðgœXöé6üõÕíø°â ÜýÀõc <æhöIDDÙO~ò|÷»ßi]oø{êÔ)lß¾ .Äĉ/) +((@AAÆ£GbË–-())Åb$ICfUUa6›aµZa·Û±oß>\vÙeÈÏÏiÜ™Âãñ`Ïž=˜={6ÊËËát:1}útȲŒ£GbéÒ¥èììaâĉ¸úê«!IœN'ÊËË1sæLlݺ3fÌHí2¼ÙŸ·ÿr`°ì@—†ËÁ*•CõbŽ&$Nd œ”p:Ï€hÚhÚcè].XÈ콬s¿ûÙ܃Ùãñ ¹¹ãƃªªeY×zëׯÇG} ÷zÌ!³ÚŠ^^ õö¯àšáé¼,¹†Î£‡a«æ0Kôq"""èÄ’*TšÝGvá`×8LÎïÿRÊš—ƒ ¢½­ªV¡çÚ=€—<¡ïU«hè­´½XX«],´ :°äå H(_ð–LÉ¿ø"Ì’óQ+DAE{Û(Ziï»ÿþ/ß½Ⱥ¶£¡ãB;­èì@WßuÂûW0ßvøã¿X],Û{ [4(R.Æ,¸7žøþtð,Îv«i¶…œWSàݱgWº$pÀÓ·]ïyë¯foÏæpçAPLwÓcøÞÕ-ØúÁñþŽÏ°~çtŒžsé1ÅJÓ´KÂ\A.ù;ØrÁ¶¥( ÚÛÛñùçŸã¾ûîCyyyÄ¢¹1cÆ ??ëÖ­ƒ$I°X,+™A€Á`€$IEƒ‡B]]]VW2÷ôô //¾v"ÇÇîÝ»Q^^ŽÉ“'#''@oqâ™3g°{÷nÔ××cĈPUØ¿?º»»QTT”ÖãÙ¸q#Ö®]{Éôÿ÷×½€ÌÞ9Ôý`ö‹§Š9Qm2ÒVÙœ­o1èí¹¸l°vbùÁî¶ÇÈÚ fï/ŽÊÊJ˜Ífx<]ëù‡Ë@ï0€Cf’(BLw5ŒÚŽýoƒù®ð3Ñ cº óæǾ¿ïDzßýûkJar·£µsnzäTúÂ}øü³÷ñ®}4L§öà˜bƘ©µ(ãÛõ˜i˜”¿;¶ý[L“P"9Ðq¶ CæÞ„i£& Æ|‡?yïôŒE¾ã Îä]‰‡n‚ü\h;ˆ « (Í«Äܹa¶S}ªÐøÉ{x¯§Æ“»Ñ¢†xq,ä\ºí+B¡7`‡†®]oã¥ÏdTUGÚÐxHP4U…@׿Pó„„þkú|.ÂèCÿƒ¿ÌÅÈáE`€f« ¤KŽyÎU½ÇFDD MÓðâ‹/â–[nAuuµoú~ô#twwûî?~Ë—/ÇO<2ôõV.+Š‚mÛ¶aÑ¢E(++Óõ‰lMÓ0lØ0Ìœ9;vìÀˆ#t_øO˜L½Ÿç’eÇŽCmmmÄ}†ãv»À·ÝT***Bkk+¶mÛ†©S§¢©© ˜>}:¬Vk¿esrrPSSƒòòrŠŠŠ|¿Ð"ùè£ú…Ë^Þùºë®‹rý¯òêÏݺ«—oDc— ‡bâu·áú EáÁ™Ï?ÀŠm ©]8sÎ1¯sîy×T‰¡×síÆŸ~s 3ž\Œq(8ôþ/°gÂc˜Ò²Ÿµœ…øúÿÏójqÓW¢2HA5+˜‰ˆhÐÑ ¿öQzôh---ðxqâÄ/].¿Þ:½öÚkhjjÂ!CðÐCAUU¼öÚkhooÇèÑ£ñ…/|!êmêuîÜ9Øl6Œ;Š¢èúa .û›7o^t!³vÿ° êíàÊ¿DWnÆß^ZÜþUÜ1!jÛV¼õ»M~ߨkØŠ7þØë¾qÆY\Øÿçß`×įáîq*Ü®Ðë]‘¿ïü¶ 3¾y júæ#ÿóKì™ð$î©»€5¿Z‹a=Š9ù œv—ï7ˆ?ƒÁ€;wbÒ¤Iú‘ˆˆ(ë 0˜-0 Dš¦Bõ¸àpzzK4$ÌŒ’h · — M0"'ß ƒì@·Ý "L¹y°ˆØ»#Í÷nÛl‚Ñ B€UñÀåp£¢Á ‹Åƒ(@ÓÈN‚Á‚«’¨'ì´pÛ1Zaµ!A…Çå‚f²Â¨8Ðí¸ôÓ]!·ìøýד̰XŒ0ˆ"Aƒ*{àr¹àQ´°ó,ù90inØzœ}¯Osòa5ÈpöØáR¬%šr‘g‘ ;ºa÷h~ã~dÑ‚‹’(š EvÃétCÑ‚3/MDD±0 0 p:8|ø06lØ€sçΡ¤¤ ,À¸qã`±X ËrØžªªÂãñ`Ë–-˜2e êêêbÏáÇqàÀ”––Â`0@õ·îôx<èîî†ÙlÆèÑ£u-ÿú믣¥¥‚ àé§Ÿ† صkAÀ´iÓ|'L¦ÆÆFœ>}ªªböìÙ0 èììÄСC}Ëœ8qgÏö^™¢´´UUU¾ymmm¾‚Å­[·BEŒ1555I{(íííxõÕWÑÕÕ«Õê ™¿ÿýïëÞ†ÙlFUUÕ“Ö£7\Vû¾”¾/Íoºæ7Í{_ó»€iÞ/ùiZ¨ùÁË2QIWs²ƒí`­0Bí_O ÿé=™£vÿý÷ãw¿ûΟ?7Þx²,£½½¥¥¥¸ï¾ûbÝlDÝÝÝhooÇøñãu‡Ë"†Ë@o%sôUÌ—RODCîL<4R„½§°ÖáÊIëñÁ¡ ¸¼ª%U(Uí°Ù€!ÃsqîÔ¸jJ¡…YoîÌÐû“]îÞß;laÞ´Ì„w䈈ˆROƒìr@ñ~º¦¸á´¹á¼d†ö.ÿV…ÛÖ·ÞùÞmÛƒl€*»`ï¹tPšì„­;`pÛñ8`ó\¬rÛt¹°ÛvüýŽÃ‡-ø 7áìî Ø¶½ áš›©nº‚|@-äùT°õ?‚ ÇLDDop|øða¬Zµ ÷ÜsF…cÇŽáÝwߌ7.ì6¼Ÿ*VU5îêÙ²²2ìܹªªú¶©M†—$I0™LýÚ{„³qãF´´´øÖEÑ·O£Ñ£Ñèkû‘ §0Cgà IDATOŸÆ­·Þ £ÑEQpàÀCUUH’„ææf8NÌž=pàÀœ8q#GŽ„¢(ÈÏÏG[[jkk1räHȲŒ>ø ­óêÕ«ÑÕÕ…ââb<þøãرcV­Z˦ü‹Pý+ƒõ`޶3ÖKVrZ*›“0§ª3[,û , ýïk™s‹ “É„Ç/¿ü2Μ9 ÷—Û—¿üe ]½ƒba·Û}½}¼¿Dõxî¹çt-ç½Â¨.}±ÔTþ‡«ØípäTÀè½Z»ªÀ› G‡ êáv¶ ]ã1>§Gõ`øô"hªv=Eë}£HSU¨ô»¦úý1é?Ž@¢(FuΈˆˆˆˆˆˆ¨¿ 6àÞ{ïEEE\.ªªªp÷ÝwcåÊ•;vlØuýû/;NäääÄü?ºÕj…¢(1ýŸ/Š"DQ„ËåÒµîÞ½{}·eYFkk+JJJôö7ž1cdYFnnnÒò @ƒ===zG’$hšQÑÚÚŠiÓ¦ù*Ékjj°sçNŒ5 ²,ûBr»ÝÈÍÍ zÁÆTš9s&L&n»í6˜L&ÌŸ??êÇ6H‹ŒÀN¡rCoÿeï´h[cøKU8œðýdRæhû/GZ.R•r¨u{.GZ>jªªú~§%óã%%%hnnÆ™3gt7Á€ŽŽŽÄ&X@ÈËGNOºT CúÂàžÎääåBÈ­ÂÓ¶á•W_Åç…Œ_‚›Ç ÉZØõ€®Þ‚úzºáp*¾+¢k€ïvÈáöÍL÷/M""""""¢lá-Xûö·¿  ·½BII‰/¼”eeee8þ|ÈuB‰ç:I©¼ÆR`1Þš5kpÿý÷ûò“ɳٜ²p€/\‹ÅÒï|hšÇ³Ù  ÷1ò.ëýî?^ÿm%Û† pÕUW.\¸€U«V¡¾¾Ó¦MÃäÉ“át:¡ª*\.®ºê*ÄÒÖÖO¸"Uÿ–þËDªhìÆÚ§9cú0gRÀŠÞ€Wo¿æ`·ƒµ¼ðšƒV3Çú ©«« o¼ñ.\¸€áÇCÓ4´¶¶âÕW_Å?þã?ên‹ÊÊJ466Âh4¢¨¨H×G0ž}öY]ÛþÞ÷¾§ šÚ{Áš€ f”Õa’g)67LÀ có uìÁ¦ƒVL| šû$vîËÅO|ÓsÐÛÒ%÷¾Mn=цBãYœ9/cT‰µóöW`®W¡j&XM8wÞÕj 9\ÿÍ0`&""""""Šì‡?ü!€‹ô+))ÁñãÇ1jÔ(ß2MMM(--õý¯¸Ž—ÿÿäF£ÝÝÝ(**Ši\6›í’mꥪ*dY†ÉdÒµ^QQÚÚÚ|÷ñÎ;ï`Ñ¢EÈÏÏOKÆàr¹|UÜV«ÀÅ ñ²²2Õ…ýü)Š·Û­{ßÓ¦MÃÚµkûM;tèPTT„ùó磾¾>¦±Ä¢ººkÖ¬¦i˜4iÊÊÊàv»át:ár¹0zôhhš†;w***0zôh8_¸o6›qâÄ ìÝ»‚ `äÈ‘)ÿúõë±iÓ&8Nã¶ÛnKÖ®Ûeø‡AñT1HÉè—i›‰hi®Z9Ø» Þïþ!±ßeÉo~°/ÉïË{ÁñãÇí;"àv»ñ—¿ü÷Þ{/$©7ÍTo¿ý6–,Yâ드,‚ Àn·£©© 5550 aCÓââb]Ûmoob,ù°ŠþÝ2ܰuÚ!K&Xs,0Š )p;íp¸Ý8ñá›Ø\¼÷_U‰\ ðtÆòß­†ùö/`î0BÐõzË£Ecr­†ÞÊiU#Dwlž¾«­[ €êö]¹þ’ÑJöîÝ‹)S¦¤ôc+DDDDDDD…ÑhDSSÖ¬YƒsçΡ¤¤7Üpª««}m3BñVغÝn=zçÎÃý÷ßÓ8V¯^ ǃÒÒRFˆ¢¨ë"š¦Áétâüùó˜0arrr"®#I^}õU?~ü’ycÆŒÁƒ>˜² üyÇc6›ÑÖֆÇûúwwwC–eˆ¢«Õ ƒ¡·&U–e8¨ª £Ñˆüü|‚€?þãÇÇСCár¹Rr Ï<óŒï¶ÕjÅ7¿ùM˜L¦„ä4‹ÕÕÕßðz/è§ö}WüîûÒúæ{gï`4¿ùø®™¸L¨yánCÇt½ó£’MÌѶÇHĺ÷‹´], }ôQß(ÐÛ`=pZ²hš†ÜÜ\Œ1Ç÷]é3TÈ|áÂ…$ŒB†£³Ž ³\°uöÉñ «Ó‚1xº:Ð@éé€]ËGiNßÇZ‚®×K qEuP\=èÔÙ–GïUe‰ˆˆˆˆˆˆ¨Wss38€o¼ÕÕÕøÆ7¾Q¡ª*œN'dYÆêÕ«Q[[²V‚QQVV†ãÇcß¾}¨««ÓýIcAÐÐЀÎÎN”””ø‚e½ÿë{<8äåå!??_W¨ªª*}ôQ|üñÇØ±c:::0dÈÌœ9sæÌ‰·OpÔEÍfCCCƒï4MðaÃÐÖÖ·Ûí» ?³ÙŒ¡C‡ÂáèMr ÐÐЋŒ–¬Äápàã?Æ5×\“èM+` ÖZ×»L4­.µnÆÉ”€9–`8Úíë»lùPó¼|Ÿ¡ˆµ¯¢(—ü°›–LŠ¢ ¸¸‡ÍÍÍ9rd¿+lf^jFíµW ùƒ×ð{ *4ãPÔ.º“¬*h[¯ª€A>‰OWŰ’s8Tx;nodS ÌÔSkð»¥øÂõÈ5önA9¹¯m¯Æ=×Vø^x*Íkñvc=ºe ›ðú 7-ž„ólDDDY,//ÏW©ìõóŸÿÿüÏÿì»o0`±XÂßyÛdxÛ6455áØ±c¸æšk0aÂß2þ¼ùFcc#vîÜ UUQ^^îk®‚YUU(ŠâÛŸÃá@]]ÌfsV·Ï”e;wîDMM ÊÊÊ ( $I‚$IÈËËCnn.ŒÆÞ7¸=l6zzz (ŠoÙÖÖV466búôé¾ö¯É좎N§3!A½ÅbÁ¨Q£þ½-2¼í1üÛdøO l‘xÛû$ôÞlì¶ÿ÷h¦»jZ4ó£’ͯVõôc¼ì¾ÿt½á¸Ä^Áœ)¼ã5j:“É„ÂÂB_ÈœqÜvt¹íiÙµ·ù¶?æDDDÙD=û –}®¡ÈsíC¦ã–ùCÐôáZìî2¨¸a· §”À uâÐ%Ósqjë6mñ·¿]Àeµö¯Àå­øèå¸`4 «-ó¼µ{×â¸gj #qÍݣѵù8„¾¿ù’FÅ› Pº]­V(.;z\àÄáͨž7‚¦ö½J×ÐÙÚ†Âê¸m6¸ •¨pnC«\×w!áHóHAÆADD”ź»»ƒN÷ÿª²9·M†ÙlFUU$IÂ'Ÿ|‚;v ¾¾ÈÏÏôôôàôéÓ8|ø0:;;¡iJKK¡ª*\.<OÈpÙ¿ç³ÝnGnn.¦N QSÚ39$I´iÓ°}ûv¨ªŠ²²2ìÛ·ÝÝݨ¬¬Äˆ#|Ç(IN:…––äååaâĉ8}ú4Ž;†éÓ§CÅ”½V‰îÚ_Ññ;½íqCU1#ÈôHUÍzÚed´DÌ™WöÚKoÈì©ÏŠž0:+x«•ÇŒƒC‡Ál6Ãd2eý/ËD“$)ª¾LDDD”¢„γ ®úÊ1Rr¡cÏ2l5]ƒGÿ±’։ͯ-Þš»Pwæ“ ÓïÆÌiã1¬«·Ý~ì[—áØ¨Ëѹ{).ÔÝ…»Æwcã_¶A”5X-*zdN» ¹_ˆÚ{¥Ïlþ¬õ7WAì»v‹Ö±»\õX\¬Bó1i=€QR¡A4Í‹ÿ.GšAÆADD4Àüà?@gggÔëyfƒÁ€œœTUU!//çÏŸÇŽ;ðÉ'ŸÀãñøz {ƒb“É„!C† »»v»=â…ý ƒ¯=DMM Rv1»dòV!«ªŠqãÆaïÞ½8rä$IBYYvíÚ…²²²~Ú»ví„ ÐÚÚŠ7B–eLš4 n·¢(úªŸ€p`à—޾ə't\©®`Ö“ÎEªHŽu_áž z·çßfcÀT³*ŠƒÁ€šš9rµµµ¾«…vÞÇ÷Ô©S(((09Q6Ð4ÀRY!žô¸5Ø:»QPVW  ()ñà@§{ˆéž<šêÃî‚K ¡hDÕ [Ç œêÊ•v´: PmÒàýï­DöýÍWÚ°kŸç݃éy \*(8¹ã0 gÞ³¢ÁÿC²f³·K¦ €ê‚ &˜µ‹Û4ßwüã ""@:::b^×2K’³ÙŒ’’äççÃf³ÁívûB`£Ñ«ÕŠ‚‚äææÂ`0@’$Ý÷óo‘a·§çÕ‰ä<ÞsTWW»ÝI’àv»!Ë2\.—/r¹\¾Ö&UUUP99½½<O¿`Ùûéïl¤³·¢Xÿ|1\¸K¨®âYïzI— )b"KBãhÛcè¹`¸íd-ï/ˆ‘#Gb÷îÝüG¦÷NQQFŽ™õïTeM…¢ä•ƒ½©ò¸rHZΜ7cèLyj°é T €œa9è:݃‚ú+0ôïk±¦©昱{í ›~ Ê„WrQÚ±gÕßqaÆÝ¸i¤§§ï5’£;N¼ëD¨Š¨tÙ%ä™_QŽž}§!­‚ÔÝ‚S– LèêÑ7Ÿˆˆˆ"ó^WÊ¿‚Öjµö+ óþO/Š¢¯ªy0:Ù¬‹¢Y–}s^^dY†$I¨¬¬ÄÇܯEFUU¬V+DQô]Ñ{î CÄjð,£·µn¤jæHm2b½X¤½J:æh$"ðÔK%Ü&ÞªêŒ&Ë2Š‹‹1kÖ¬t%ãhšæû ¥‡aô՘߼ËþG€QvÃ\»‹òhÁ§«j &x–cé_Ï`ê‚é}f=>¯X„y‹—@ÔxœŒŸ “æ„+h? m[?Àšf#ïâõO«1ïöY°îÝ×äÅÚW½¬žÙ‚÷>ÎÃ’{g pÄÌkøK—n<&L¸ñXάÇõÎp¯2‰ˆˆ’ÃjzÃÎ`Ÿ:öÊÞePo8ì­Pöž3ï×!C0eÊßyÒ4ÍFûŸKÿùH¸«’‰ˆˆˆˆˆˆˆˆHx²ÄH™fÖå“é®`NÅ KÔ>+ŸYÁLDDDDDDDD”åüò=ÿÐ8‘™b²Ä´V;§²‚9é{¼ûŽÔ7…ˆˆˆˆˆˆˆˆˆ²W2ò¿lÎCuKds&0=½—ÃmKWSoV0e·ùžî¬ÐožÞ^Ìé¬Ñ‚ü¼<ˆbøb©ªŠ®înT¬JÑÈ7Y–±`ÁH’¤{5kÖ$qDDDDD”m¼¯5MÃÚµkñÅ/~1Í#œ¼POð›îpZ·lh‘18y6ãùžÅ'ž”ì zžÝlg±Î#Ê­­­xæ™gpçwâ…^ÀÂ… 1iÒ$,\¸¿üå/±xñb<óÌ38{ölº‡z UUÑÓÓƒÎÎΰ_===PU5ÝÃ4 øè¸Š¿Tù˜¤Igg'ÌfDQûe6›ÐÕÕ•¼¤ôouæSUš¦éþji<ŽO aéN8zìé>¥Y{{;¶mÛ†;ï¼°víZþO•%²©‚9Ùô¾ÁŠf¢,óÎ;ï`ìØ±xøá‡áv»ûÍS<òöìÙƒ·ß~ßøÆ7Ò4Êà4Më÷]ϲú¸p|ÝïðÛ·>Á‘Æ‚˜xËøÎݵ°@ù[Ð9árŒµÆ8ðà#LÒvSLÓ (½_š¦áÀF£µµµ$)ÊÇÜ8µé=¼ùÞ:ìhj‡[ÊCÙe ñ•o?€©ù±þùIÔyÏœÇOÓ4477CQ”°Ëé~ Ô&¼õÍ'ñöiŒ" ˜†`Ì÷àñ/_js¸EH‚¨ãÝú€sçÚŠ_=¹Óžÿ\™7p^V(ŠUU!^~ùe”””À`0@Ó4¸ÝnH’„Ó§Ocøðá¸üòËñÖ/_Å×]رbjïy'š GÖ¾…?®ØŠ#ç€uÆÎ¾Þjrι$"""ŒÖ¬Yƒ±cÇâK_úV­Z…óçÏcûöí˜9sfª‡MF˜ÆÉÆ€™ˆ¼-[¶àá‡ÙT–eÜxãxã7R<²ÈTU…ªªxäÏSÃ.÷ß÷ïŽê]õä_ñë×Ûqý³oá…Ñf8ÏÅáöB˜@=ÿ¼ÖoÏÆXk›dm7Å4 Š¢AUU¸Ýn _Ø)Š"\.L&S”ï¶k8»ö§øÞ›îøÖsøÖôrX<çqdÿyÆ.#qç=ƒ?Q1iÒ$€ „þãñVÈÀÎ]»õl¢qîûÕoñð rç¼óçñ_+&â§wŽˆÿã^çÎ4w>YŠ¢._ ‚€Gy$ärgΜÁ—¿üe<ûì³øÛ¾¸­Æ#ÿú"žWtÅ'¯ÿÏ=ïÂÓOß‚ ýÝ9ˆˆˆˆ(…^yå|éK_ »Ìºuë°dÉ \}õÕX¹r%Ö¬Y1`~óÍ7ñàƒ&r¸¥L ˜…€ïéÚ¤i &ãøš_ã7ïíE›Û%o üö“¸¡êÒ‡Åyl5^üõÛØyA…¹t¾ðÔc¸²¼w9ÇÑÕxé7ocëi4Ë8üÃü;n¯RÃl[Cמ?ã…ß®D£Ç‚âQWaŠjì;àXçé·ÿ~lß¾=ì2õõõ¨¯¯OÈþ:;;1dÈ°Ë 6  Ù_"išæ )o¾®;öÇ´ÉÕ໽bÝnßGÓÏï@ɰ¢ˆÛU;. søTÌ!Âåô@(¨Fm¡UiÇ–W~Ž¥‡š }ÿI¬.¾ÿ£±ò»{0ónË^^‡3õOá÷;ðÓÇwá¦WžÂ,x°éù‡°~î«øî<㥿—~ð$†¯ ØîwJñö×Clcövüâ_öù­¹ÐÂü.LMƒ¯‚YUUF¸\. 6 åååÏqßc¢›{7Þ{«ó¾óqO²Û 7ò1ª®šªBà8¶/ýæ]ì8ï†f®Ä•ý¾b8 žÍøù?­GÙ•"î¿gw„ËîÅSOÁ‰WÎûîè!Îc”Û™¢Sïv»q¦õ¬ï|ž¼ñŸïCüò/ð§ù¥@w;l†än·cmèm@„¸OÛ>üá¹e0?öküqN!ίùžòþ.LáŸtMÓ È*¹7`;v¬ož˜éÿØé¡œØ}ÂåøÆx ²ê]Oƒê½íÞ‹7~ú?0í—xköÈ'WáÇßý–Uýw !\ø ‹?W £zï~ë_ðîî—ñ¿.y<÷âåPçQlÇ-#UÝÐNŸ9‹QÕ/Ô×ÙÙé;¿ÞpÙûÝ¿­L`ð¬OÛn¬ÚІº%5<ñZÈóåO ·â©_ý+Fxpèåoàß–îÁ5ÿ4=èÏÔJ½¯Dcy\w]ÇoãÏò½xñÍ(€ çÏt!'Í¡§óC=tÉüsçÎaÉ’%˜1c>ŒaÆáÙgŸÅK/½„¼¢‚ˆo(§p4w:n.‘áñvGÑTxò)¶ä]»//€!¯¹bømË[±³øZÜ69XÇ,Äuµ½‘v¬óˆ¢1qâD<üðØ1ãÒ~›S§NÅÃ?œ°êe˜={6Ö¬Y2ìÓ4 kÖ¬Á¬Y³¶ÏDñ†hÕÆ«ðâ›ñàÔïáÅ;6÷»]m¼ gϵãB—ªÞ@Ó\‡¯<÷mÌ:÷¾ÿÕ¯á/ˆ£6 €Å#C ¸]põ…ˆ‚V…ߌjƒNwø¾·ò‘ϰ5oîUÙé„lÊE¾Ýp÷)ÙˆÍ9 q×´\¸νµÇ¶coOê߬UŠÒ[¡¼k×.ìÛ·û÷ï÷}Ùíö¨fÍfƒ½°y!æË ŸaKþ XRŸ ·Ó uØÜ=¯Ÿn:Õ{. qõ‚¨n\r1jj$œ?×9༻#GÛIå¥6ü«‘£ýÒMiÆ{ßýxà^ÜóÈ‹h»í‡xr^>ÝÏ;Õã1Âì†Ó©¡ª~ÄθBüLyÅö¸Ú •W ·a–o>ŽN§†ü!iQ§ªª¯Šù•W^ÁË/¿Œ¥K—âå—_ÆŸþô'ÜtÓM˜>}:PRR‚½{÷bñâÅðx<º+Íi‡#7Ö ?V–Ü\Ølö°¥ÊÑÍø<çzÜ1Ù {¹³`Bó.°õ­¥ŽÀõ_øìÝwxÕ¹øñïÌlSï’%¹Ë’ î€mÀØt0À`ÀØØ„$777$¤‘pÉ/=¤ÜÐ$¡BµÁôâ†Á¸Ë]–lËE}ûìÌœß*–¬bI–%¿Ÿç™G»SΜљÙ}çÌ;2HŒÔ³ÎcÐúålŒv«?v1cZ^·¶B!„¨çóùZ ‡Ã|ðÁ\|ñÅ-¾û_rÉ%¼þúë.ë8u7îױɓ:A€D{I›Uæ—ÿÅ «Ë¡£Ê¥i1¯R §ºŠÊ’wøÁ½ÞðãÑ"¬blXáÔTãONЦhQ|e;uµ“ InZ&¤DŽcZ×d%Ne¶mSTTÄÂ… QJ5¥Ë˜0a ,`ôèÑÇ|xWWÌ›7/~ñ‹<úè£,Z´¨E¯F¥<ò›7oæ«_ýj­³§4É”R<ÿñßšþ6¾6b ¬üh#œwËWoèlÉØ #™sû¯¸2ZÆ»þœþ2ʯt)möãÖ³ÈJmèåÜž†iª®ê’ Juþ~æ3µNU[MeÉ;Üý…Wμ6c0c#@RgWpü”RXvýà8NÓƒä\.WÓCþ Ãèr€SKL$Þ_CC›—•¿–@J!‰M’ÒRð®«DjñÄ5}¿R(4Ú:4w¸}/§·ÕÖÖ6mÏ@ ÐÔ.Úë¥ÜåÌÆ`®ûÍŸX4ü/|û›|ª%b8 ëXÛ«i…5l|á_ügU)!Í@ó—ÌsÌo‰Ýݯƈùüü›KxòñÿÇ—þ:ˆ où"ó¦d÷黯ý£”báÂ…Mã«««¹úê«™>}:;vì ++‹õë×sÿý÷³uëV¢Ñ£/­·M‹O">èǯ »åš øƒÄ'$ ÑFª£Æø±¿–ª’øÑW—6í˨1˜ÑQÀ d$ÙØ»"á fŽxšëÃLÈZÍÇÞé|s@—6‰B!„hæ–[naþüù­žôî»ï’Ðôœ•FçŸ>?ü0»wïfÛ¶mµ˜>oÞ< ÃàÁ<áu“s/i+ÀüðA~ùÞ þß¿HA¼†µæ÷|~Iã¼M Br i#æò“Ÿ_IöQ¿T­É$ÔUQc+âõΕMb þjE¼¨0ÁS¿®nN“³è*Û¶),,dáÂ…MÁä\†úüÊ?þñùÁ~ÀÆ¹à‚ 0`à7Þ`Ë–-üâ¿àž{î!5õØ9ŒWg{·60_1á&^üôI®œXŸ[êÅOŸdÆà+8¼ý5f\0‘ÄoSÙ«„MÌ´AÏaÆâkxsáJv˜—­7ÄcE âÇ&MCC5ÁŒÕ¯;9…ÄÚúãR\ó@©:ªÜÊPm­3%•ô¢øÕ½×4K‰¡°¢Q¬nƒºÚÃøÈr-òF‰oê½i{÷  Ky˜õü1EÿÊÊí =ÊÓz†Ôt’k*©nÚ®U5$¥&£©@ËmKcP¿þ}‹imGSu¾œÒ™ý ”"##£i¾´´4 >ÝN{޾tŒ€Ç ޤ1{þ4þ}ÿ³OŸNl/¥äï á'÷|•¢x kõo¸ù¥#ÿßíµ©nïWÛ!qäå|å—W°xÛÓüä‡dYÁ¹$½ï:>4ÏÁüøã“™™‰aèÖ{Ütý(^^º“ììl6lØÀï~÷;²³³)--%/¯s½‚üQ…Ÿdݾë(Ü,O…s ]—¡•£µØß&Á  €ž’JZáõüìž#ß§4Í! ‹h(Žä׈cÒÌ1üóýulË^KÜôoØB!„µhÑ"nºé¦VÁe¨OQSSüy­ŸËÑ8ÿo¼Ñ*ÀlYsçÎÅ4ÍSiÑi}}7å‰p¢~Yõp¹ Ó_‡•˜IZœæ>xgÁ6~»FœÍYþ×yfÕ!L¡b®S™\ó&ϯ©ÂœP5§Ã²]#Ng|ÕÛ,ÝRÿÃ5²goo±ŽkšÝá8EEE,X°€ 0f̘®ÝÒÞIJ)ÆÇC=Ĉ#xê©§øáÈóÏ?Ϙ1cxðÁ6l{öìá{ßû^¯<ì¯)ˆzŒ¡y€ù—¯~‡-û×ñËW¿Ã/_ýÛKwñŸ·—röY“›R6t¶ìØ­l*«ÃtÊò³ó­Ù•?œA†Biñ$úRº/Òê‚WSF&Ù¾Rvî«[—óÁ& ”Â(˜ÊéÕ¯óÜG•Ä”ÂVRvZ—ÛAm­Ó(8‡éµ¯òÄ;{¨ ‡ ‡ª)Û¹¿Ý¹mÙ|èÊ>hk°­ú<ÌŽã0vìX†ÎðáÃ5j#GŽdàÀ-ö]§÷®¹6™e¿½—6&ê(T,Àá}‡ 9 £à\ÎŽ¾Éók*±”Â,—ÿ¬HbÆ´<´¶öõáÈ£·{ÇÛ±óåôÄЕýÐ\fF:k>þ„Õ­i1|´æc^zåU>þdmÓ•™Ñź8£®anÖ;<ñúôNm/3àÇNÊ$Y©+áeŸT evЦº»_­Š=”T‡1#QÜÙ#ocw£-½mGóÔ$óçÏçâ‹/æ¼sG3ëü9Ì¿q³Ïñ±~ýzî½÷^òóó0`@S޽NqãÊ«|¼þ§GY^ÄœÐ>V?ù'–Wråx2Éòíewyý…Jûð*–׿6 f0­n)ÿ|·„š`` ’=Û÷âo÷š¦Â3ö<Æ—-å©Oâ™15븷‘B!Ä©ª½àrYYÅÅÅÜÿýüùÏn5ÜqǼóÎ;m’-Ë⦛n:QÕ>IbŒ}Oz0÷’¶~Ä¥LŸË¥ïÿ‘¯/~Š„´!œ{ù,ŠV7ÿÙtÅß¹†‡ÿü}nûC /¹gžï})¯w ¾u üù[,ú}å+â†|ŸË;*Û;™_ÝÎïÿð?,ŠºItÓ¦`Ç1­ ŠS‹mÛŒ3¦éõ‰â8©©©Ü~û톦iMÛ¶¹÷Þ{ùö·¿Í®]»¸óÎ;¹çž{HOO?aõél`§±Gà7/úy‹ñ•Uu|²~;gN‹¡é¼·üc.ž=µ©ìc±Äßï••Q O<™#gqÛw®f¦pÈìkFó£_}‘/dÌâ~6¶uobc×ÜVį~õ V''áM*dÌ™9”£PîqÜr×þøû#Ç¥ð}.tT¹¿ZÔ~´ë,bþÿ^Ïßî?r,Ì;çó|÷‹x;¿é›t7¸¦X¶jêÁ¼~ýz\.W‹³C‡%99Û¶»´ŽüÏýˆŸùæ¡?|Ç…QF<Ù“æó¿ß¹˜<½€ﺿþîùÂðæsömwò¹<…н½ºÌ*…ÒŽÞî·¶¿[m÷ŽÊYÄøøÑý““Cfff«ñš¦±cçîl\Ç1*Ѭ§¶•Ƭ›Îãß¿|Š53oïÄö‚”³oàŠ÷Ëí‹þABÚλêF®l 0wЦº¹_­ƒò÷-¡Üöàq'3ꪯ² £ w0œÍ{0ÿãÿ ##¬•\1ç&êÂëUǽ÷ÞKaa!iiihšÖÔF:•ÎD)̹›ïûã‘ûîàÁª0fT'ÿœ…üï÷/!OÅpô"®\\È}¿ÿ.'%áIÁ˜3²)ÐG0ï»syäÿ~ÊWþÄR^rg,ä[‹3h/{Ÿrdæ„*~°ó*îHoìŠ.„B!ºª­à2ÔçWž å`c [a¢6hº Ç®khÊÆŒF±œ£Ë5qÚ-ÃÀÛÆ:i(×ÐëÓk8–IÔ´»óiüêîqù«OÔâdäPvxtN€uëÖ‡eYÄb1Ün7¹¹¹dgg³téR.½ôÒ®ÔÝåÆã6Ð5ú}#mx0\ãçoØo¶Å´Ðz{ž8ÜN„ˆ¥Zmw»ÝíØÅrº¼õš}Ò.ì‡=¥{5²ð˜óišFñÖí <°‹µÑqû<`Fˆ5ÞD¡{ˆóRÿ9µNl/ÍÀíõàÒå`Y†¡ˆFëð×a›êÎ~u\ø¼®†/=õu2cN—ãŸû¡°°øøø..ÝÒ‡~È…^ˆaÔ瘰­³fÎî¾’!ÃÏÇ—0’ÌÌL<ž#)`–,YÂôéÓ;LwrT1Ü^¼:~>yà;Üð2î¾c.xè.>¯ÑúÄÆÆ… ¶@ÓÝx}\õ?+B8b¡páKtc´üyb²éá;y©àÇ|ofÒ ‹/‡B!6oÞÌÌ™3OЄB!úÛ¶Y¸p!_ùÊW:üÿðÃóì³Ï2iÒ$~ö³Ÿ°úäääÜ |Øí NU³÷ªÙ¸£_7èäûŽþkÇ×™i&=˜{IO߆*„èYJ)øõ¯Í]wÝ…Ûíîë*õõjþ°¸ªj?k7lgì¨"lÛbÍÚbÇnè Ø…ô"vŒH8ÖîdeE 7‹²ØáÖ¡De›DÂí,ïXD#­¯"].í–amc8fåö&¥TCf§EJ€Æ}äõz‰F£]ʿܬtË¤ÝØîço½½l3Ü”lµÝ{ªœÏ ‡X$rÔ(“pãÿ¦êÄöR6±H˜æ­*Öl‘ÛT·öGÇm¸/4ïÁ `Ùo¼¹—«eNñ橺ÞÛDaÇ"„b:cný×þä»üìOþßWfeÔC-Š=òAåĈ„ÚÚn‘@ëºÄÊßâ…õ…\:ÿÄ—…B!NEo¿ý6Ë—/§ººšU«V ¹ð [Í÷ÄO°gÏÖ­[Çïÿ{ÆßfOfÑw$À,„ ƒÌ<ðÑhôKߺ:|TJáõzñz½TTÖ²aónF‘’šŒK×¹pÖt CÇ0 Ó2âØº{áÏq™ñ:™ñ:‰‰‰Ì˜Ñ~q¹¸xlÙFÑH˜-ÅÛ¨[43‘mÞG/´4˜ ÃÝ4¾=Ç×F–•ÉÅ?ùsœ(áHŒËâoï也þž7*Ò˜ñ_wr†lù·B!„è1qqq 4ˆo¼¥T»wÓ%&&RPPÀˆ#€úï–qqq½YUÑ `î%dâä ”:¡å®2 ƒ—_~™˜uÁúÛßWT´9¯¦i$''÷nOAù©:ûÊÊxùåUÎÛ˜*@Ÿ‘#‹Z¤Uèˆiš'äa¡âØ4M㥗^êÒ2†at!=F[ÌP€n¸QÄ ¿|ˆ…š" µä;œB!DOš1cçœsNÓûÆç#mîܹ­ž×ÑÞ¼¢ïH€Y!ú@g/:]vÙe@}à¦3i;”R„Ãíä­-t÷ÂßçfI`]vÌùåëÌ~°m[þ¯O—_~yçÖw¿ßjs¼lÌP°ç×B!„¨ÿŽß™ ±üž:9H€¹—Hf!Dw4?™6Пè;ý©‡»ýI èë*!„B!ú€˜{Aco 0 qü4MëV¹þF.:õ=Ùýƒì!„B!„8¹I€¹¤¤¤pàÀrss?1!úŠRŠòòrRRRúº*ÇE.:õØìd?ˆS]cïˆB!„âd%æ^PXXÈöíÛY³füˆâ8hšFJJ ………}]•ã"úy_ÿ û¡ÿ…B}]…S’RŠÊÊJÒÓÓûº*B!„Bt‹˜{ÛífìØ±H¢(¥p§¯«q\ä¢Sÿ°zõê¾®‚@öC±yóæ¾®Â)KÓ4ÒÓÓ5jT_WE!„Bˆn‘s/9ÙbBˆž#„ýË%_ ûJcŠ Ë²ä¢£B!„8)ɯ !„èrÑIџضÝ×UB!„Bœ¤ô¾®€B!„B!„Bˆ““˜…B!„B!„Bt‹˜…B!„B!„Bt‹˜…B!„B!„Bt‹˜…B!„B!„Bt‹˜…B!„B!„Bt‹˜…B!„B!„Bt‹«¯+p2 }]!D?"Ç!„B!„Bœj$À|Ünw_WAÑìØ±£¯« „èGB¡¡Pˆ¤¤$†.ß„èE±XŒ]»vQWWGbb"qqq}]%!NyJ)4Mëëj!„8$À,„=Äëõöu„ý„išMCQQ¦i‡ûºZBœ2t]§¨¨ˆ+V‹ÅˆÇãñôuµ„8¥9Žƒ®K–N!„ø,’³BôŸÏ××UBôÑh”ºº: 1MÛ¶ûºJBœRlÛÆ4M† ÆŽ;HNN–ó´}̶m Ãèëj!„8$À,„=D¾0 !)¥¨­­%==Çqúº:Bœ’Ç!==ÚÚZ(çi!ú˜ã8Ò…â3JîOB!„èaJ)lÛÆëõ¢”êëêqJRJáõz±,KÚ¡ý€´C!„øì’ÌBÑCä¡%BˆFr<¢Ñ4MÚ¥}Lò'„Ÿ]`B!„8A”RÒcKˆ©¬¤výẕ«ª@Ó0ÒÓñŽGʸqxÓÓÛ\NÚŸý‡´G!„øì’³B!„¢_R¶ÍÁ·ÞÂùàC óòH+wR2ÑÚZª·³ýí·1Î9‡œY³@— €BôW`Bô„@ ÀÁƒ©««Ã4Mt]'..Ž´´4rrrp¹$ÔÙd« !D‘[þ„øìq”ÍŽŠÍl¯]Iediޞ̬,²ÏšÆ¶Õ«);xA7ÜÐfYRdÑ3Gqðà!**ª…#ø|233ȃ®·ßÎ$E†âx8ŽÃ®]»8|ø0^¯—´´4ÇÁï÷(//gĈ¤¥¥õqmO=`îiª–ßÇ«%v«I®Q×rçü‰ø§â}þúÇeìu\ Ÿó5MIA°wñÒoeµ¿þä«»âHÊÌig_Ìã2q5L_ãšÆç¿v)ƒ›ÿ®m¶ì‘•ŽáúïÝÈ8OŒCŸ¾Æ+ïl ¬Ö“”ÅÀ‘Ó¸è’ d˃|…è~ûÛßðo|£k"„Ç‚¼¾û H9Ĥ‰Sœ~>¥UÛød×زm ¿™8wB»eHŠ !ºïà›o‘µk7cÆ`®[‡ aÙ6ƒ^y€²Ëç઩Aß¿Ÿ‚‘£p6oâàÛo“={vSÒþ„è9¦có–m$%&2qâx22ê8ÕlÛ¾ƒuë7qÚ˜‘x<î6—w§7«+„ø QJ±uëVjjjHKKã´ÓN#%%…@ €®ëø|>JKKÙºu+[·neäÈ‘dîe`îq^N˜ÁÙm¢û7òñ.?)…S8-Ç…ž“Ó°Á*·l¦Ü‰'1>Léæ­Ô9… @ÇÐ@óå3áÌâCûزn+ËŸ7I¼ˆ)‰õÓÑ Z÷Íh¹l²Èqsh9Ͻ°šò¸AŒ›œS±‡Òª>¹‹PˆÓS=2z³g‡ßïgÉ’%\|ñŤ¤¤´;N¯Ö}ÀûŸlç@ ždžÎ¹çŒ'ÇÛ×umq”ͲÝO’:0Ĥ‚Ùì ~ÊÊCìÀì çóñŽ•,Ûý$WŽüÚQgå®¶c¿ßÏÒ¥K¹è¢‹¤-ö˜úv÷Á';(÷›àI"wÄéœÓ§íÎÁ¿ë=^\ZÂkrvŽ|kO´ª û½÷:z4‘-ŨpË:҉òl44ì:?Ö–b†ÎêwÞ!:qb«œÌÒƒ¹/õ³s ]Ë®Õï±|C~[Ç“^Ä9ŸGQª´ÇŽ8Žbó–mäççRTX@0lêEèv»9óŒ‰lÛ¶“Í[¶1qÂií¶7i‡Bˆî8xð 555äää0iÒ$B¡ÕÕÕìß¿ŸÏGFF --•+W²cÇ&Ož,é2z‘l鞦Å1tÚFèŠêËùdWœIsÅ hNŒḩ’âÍå¨ìs™]ð)/¯ÞDqÝ™LM9r²Õâ ˜qÙ†&C#?ä[‚B ;Q…¦ee3-̪ Û:yçÌã¦ó²ÐuÍ6‰˜Ò¯CˆS×’%K(++ãßÿþ7óæÍÃqžzê)jkkyýõ×¹îºëúºŠŸý‡¶çqñ _gÂÀDígã²çxá…×Î= ùMÛïl?¼‘p| g šÆºŠ—±•Õ4-b•PÞÇÈÁÓy¿æCvÞDaÖ¸ãZßÒ¥K)++ã¹çžãúë¯Çqž~úijkkY¶lsçÎ=ÞtŠq¨üè^ÜžËÅ7~ ù‰*gãÏñâ 1®é“vgrࣗYVšÅÀ¹ƒ¬Cu6o8‡cMãÇnñÚ±¾?h‡3P78´q#ÙçžÛÛUmê‡çÀh-uq“˜÷µäÄYx÷1}¯˜WŽ!¾—«r29pà q>C‡ ¦¢¢²Åݱ˜E8aèÐÁTVUQ~ày¹9­Ê; „ÝU^^ŽaœvÚiÔÕÕ5Åb$$$ ©2+Õ IDAT”"ãr¹9r$›6m¢¼¼œAƒõa­O-ò“¶Ç)ìX”h4ŠéÔŸ@•mFëƒË€S¹…M劔Â"&*$Á.esqm‹@¯ —°êµ%¼òÜ,Ûnã8‘±ìå¢B;xï…çyþùçyámø¹CìvØ÷ö?xêÝ-ô‡KpYˆSÞõ×_Off&ÕÕÕ<óÌ3<óÌ3ÔÖÖ’••Åõ×_ß×Õûlˆ•ðɧ0íÚK™£¶²’ÚH<#.œËtÖòqI ¢›ùÏŸ—²«)nb³ãÕ?ñÒ¶ú±ÃëYúäßøËƒòпÞdkMÃŒöN–<þ[·¾Å?ÿòxõVüã!Þ*k€9¼œÇ{ŸƒrWj—l­[ÉÀüLJêÖ±"Äl«Å±Â”ø×’Ÿ›EqÍŠvËiL‘q¬aîܹMmñÙgŸmj‹™™™Ì;·ÓåÈÐ0˜%|¼κæb Lª+*¨Ç1ü‚k˜¦}ÊÇ%&*ÒÐî¬Æå,v¼ú/m³PJajlwåá½Aquýxeí`É íîÁ?6kwVÓúíCòøcïsÀn^/‰CfrÓÍÓàúzõó!²~=‰ I˜UÕØ¶Ól8òíÕ¶U‹ife5É ‰D×­oQ–èCýñ˜XÀ´iÃñEj¨ª 7´€´P€°œ';t¸¢šüü\êêj‰ÅbX–ÕbˆÅbÔÕÕ’—›ËáÕm–!)2„ÝF ‡Ãdggcšf‹iá†;œY–EVVº®S[[Û›Õ<åIæ^çP±e3œxN/ÌÃ5(Dï#6n*¦vÊY¤6̥¥¬y§ÍH¡  —¸N®AEö³aå~ŒA)œyÖpÒ¦pýMU<ù쇬}åQ6,ɬ¹×pöà8ä&%!zFWoù»÷Þ{Ûÿ›ßü¦Åûo}ë[ݮӱèºÎm·ÝÆ£>ÊÈÎÎfÑ¢E€üè NÍ!*F0%.Œi7þŸ8˜/ƒ Xw¨5ȃ×íÅ£ih é’<^·Žæ”³rÉ:â/ýoîOݧÿâoon ÷ÚI¤èn<‘­¬Þ=“¹w\K¾áÐÇe<±}?öàÁ¸p¨ÜY‚{•ä²7;¯*²ÞT*£•(Õö–«s*Èð%r8²·Uûïêñ@×un½õVþþ÷¿·h‹ .” Y78Õ©ˆΙq!¢Ï•E4äaÐðxÖ¬ÆÉwãõx›}Öp{/‘¨Ùî9Év|q>‚Á¤ÈBôˆ;w6}7.//§¦¦†ñãÇ7¥¾‡Ã8ŽÓâØbY‰‰‰ƒA9æô"éÁÜÛœ ¶l:€­Zû2/¾ºžjØe›)®=r¢Ö3frû½÷ñ›Ÿßɵ£lv¾ó ˶™|Dã²÷Ýw¿þÚydé€ã?ò þç®o³ø’1$ù·òÆÓËØ;AŸSqRh|ânó J)€—{ˆŠ™˜^®V›ÓÁåñbFcÞMâÜÁî„ÉLÍ·©­®E6Ž¡•eì‹6ΑÅéçO$9RCu ‚·`Ù¥[)‹N;w¹S”*Áå.r£µÄb1«!fˆÔöÈWÇq¨««kÕý~¿´ÅnPV ÓëÅhõÌeÝãÅ4Ñîí $a2Só,jªj`è8†TïmÙîf'1\M•?‚wÄ8²Ê¶iw»ÝŒ*LiÕîìXL‚ˤiV8Šc98ö‘AÙ‘Ý%„wíFÙ-§9–ƒ‰»pÑkúû9Pù‹yçc˜6}ˆô¼:&…5±-«ÃÁŠ™ížåb©¢«ÆOFF.—‹3Ï<·ûȃD“’’صk–u$RªUÐYœxríeÎá-l>hƒSKɧQÒ8A+có–¦Nix¯¢!W"¹¹‰h›*ðÌÎ¥´hX6Ð,·Ÿ `ù@ÉΚÇ%e?æŸÅ‡8ìWŒH—F'D_¸çž{Z¼ÿÞ÷¾×æøÊʶo3ì uuu<óÌ3TWW3`ÀÇáСCüóŸÿäºë®#99ù„­ûT¡ùâñEB„$µ8Ü*¡Þ8áVË5ïU$Bðàržüóª¦iŽ+‡Ü˜ %’àŽb5,àx†16ÿ}Š÷˜ IÞÉ.ïh®N²‘s×ä$ ¡¢îS¼>Ëiû¯[÷QYWÅ€„Ií–ÓÙÞÇ~¿Ÿçž{®U[|úé§¹æškHJJêög9%yãðF‚„Eb‹îá`¯Ï *ŒB5¤ªP8ªþ½ÓØîþ²²¾-j9䯔[¡´D⌠Ùϰ!œ–÷>Å{¢ NÞÉnï(®J²P­Ü4­O!=Ó;b¤§Ù»7 ìæy—B;wÖï'Ç¡ù&Ö\."áîÁùMÛV¶qßê×çÀP o¿ø É—,d|œE¤­ö*š$%%QS[K||\»>u]§®¦–ää¶ÏYrÁTÑUÁ` &ðá‡2~üx å¹ýôÓOg÷îÝlÛ¶1cÆõw8…B!ùþÜË$ÀÜ«oÙÌAÇňkÿ—ÿ>; p½Áï~õ*e›‹©93Úɯ¾L‚YÉ®-QƆ I@£¢ÅôD À gâ4,Úrš‘Ëä‹&ã[û/XcðÐ\’©dÇV-u0ƒR%¸,DOéêÒª6námkü‰¼òºtéRª««ÉÊÊjJ‹ñ·¿ýŠŠ –.]ʼyóNغOFÆ@òÌw(©>‹œÌf‘.UKii„ü³30ôZ4@5ÝlÚ i ‰$ <…·L¥ñ­i6áZ?«~„¢q9@¹:vïn(¡<¹ßè«IRŽî»d|Ö¹¼´ƒ‡$cÙ!ÔQÑ ¯á¥â`Óž{Ü)2^{í5ª««ÉÌÌdÁ‚(¥xôÑG©¨¨àµ×^“‡üu‘ž–Ožù{ªÎ$û¨v·§4BÞŒ4t­MÑìâ}ŒhÔFzB"Iù3¹yá”í.X]KÄhJ7îfÇ`ИÁ¼·qåI{𺊹®s\’Î8ƒêMO•ˆcÙ’ŽãPòó_çö 5Û½º[§¦¶ŽÄÉW´*ORdô~{Œ”ñþ‹ fÞÌ%ƒ l6+C´)/o»vífذ!ضÝêâMc+/?Háˆám¶7¥”´C!D—Y–ÅyçG,Ã4[Þ%á÷û4h>Ÿºº:RRR8tèŽã““#Çœ^$)2z“s˜-›âèƒ8­ÀE0 Š/bÌ{ï&ŠkêgU‘ýlZ½šÖ—MÅÌù·p^Α†Q?}«V­bÕªÕl¯´š]éo6mõªlH2–‘©Qöoý”O¶Æ3l×-º˜Áò Ä)mîܹ°xñ⦞–·Þz+Ðê)ú ¦Nó²nÉ[WDp­bû»KYkLcê\ɤx*8TÝð0غmlmxH‘–3šQÕ,û¸”ŠšjªQºk?uíF®ÚÀ± ¯ü”wÇ1¦0A‚\Ý0,}ƒÝÓØw ŠxW,Ga9 ñ® ö•W2Ø3a风{}sçÎeøðá,Z´Û¶q‡[n¹…áÇK[ì} gNõ²~Ù;lmÖîv¼ÿ:ë\gqæ \‰õí®¦±ÝmgÛ¾†v—=Š‘ÁÕ¼±¦„CUUTU¤dÇ^üí6&-ï4†U­gÅžxF—vwœ’ÇžFUJ6 ·ºÚ6Žm£‡±=ÄØGþŠrœ#ã[Aej2ÉãÆõuõE£þx4÷³âÅw OŸÏ•aSZkgdgeâõúØ·÷ºn MØT tÝ`ßÞÄù|dge´Y†ÜQ „èÇq‡Ã˜¦I]]]›úKOO'33¿ßOII ‡¼¼¼>ªñ©Iz0Ÿ0i3¾Â¯gëØÑ‘˜=—‹¾ùkæèÑP˜XÓù5“ÙwüšKt‡hØDÿÁo¹¾1ð«JÙÄLÓrÀ(àêæÓëgŠ„ˆXmLS‘P{È9Ü|ûl ½áJ¿caFM,ù>%Dé©«£½y•Õãñ°xñâ9—u]o5N‡¤Óod¾{K_z˜×ëL,K'sÜEÜxãd’­0¶žÇÔ‹òyþ•ÇÙî‹Ã—ϰ‘iTišžÃÙóÎåÿ<Ã__‹`+7icfó¹ÙÉx{{iGõ¼Òr9­ ̺ò ŒˆShJ®Üw•ràªÑ·ñR±ÎîÝËÉÊNf@ÒP@Qå¯bOi ÃãfrÅè[q¬Ö=²ºÚŽ Ã`Á‚-r.ëºÎ‚ ضܻÝ%Ê"qÒõÌw¿ÁÒWãM¿I,Vßîn˜7¤hKËãÌóóyaÉ“l÷ÆáŽÏgxa*õ÷d1mî9¼õâs<¼¬¡ÝžÉ3“p··Jr=,ĺãçH÷åã¤'%‘zåJ}œAñÉ8á0Êq°Û²@A̲qé:𮣻=”ëH{3zbb«ó—ô`î+ýïܺ‚U{£Ê~ËúÆßcZ*gÜôyfåIï›ö(åpúä ¬]»ž»JÈÉÉ"9)Шóû9Tº—„„&O‡mÛÒƒYÑ£”R„Ãa6mÚ„Ûífذaddd4S"‘ ¤¤¥“'O–<̽¬'·tGeµ5MkãuGãÚú«uò}ã ·ñÚhöZoö¾ùß¶†³KKKÚÁgBœBÖ®]ËСC«Œôôt ýÔâd¦áòÅçõàÒÂìxåo¼P5™k/CJÃoYÝ“@bœ«þ¢caáÆ0ë˜ ÍðŸ‡ÇÐ…m†MÍCbª³&€Ù¢SÍÞwž`mÞM\Yäî\þ~ÑŠ¦ix}vWóѾeì¯Û @~òpÎÈ¿€a飈FÌ6{dUTT°fÍæÌ™C0ìíª 4\q‰$ÆÕ·»KåŪ |îâ‘M¹` o"Iñî†vË­¦.ªÐ  Iñx °£jQÍCRº³ªŽèQínÿO³.÷:.+puÐîtâRSÐÕ­vg€×ífßSOã¼ñ6ùÉ)a†B„Ã!âââñÄǃ×Í>-Ƴɽþ:ÌØ‘§X'$$ðòË/sÆg™™ÙWå׿κ7‰Ô„£/9DêjI›ì¦ix½^®d÷î=ÔÖÖššÊСƒÉÎÊ ¶ÛSyïÞ½ 8°7«,„ø 1 ƒC‡Q\\Œã8¸\.âããëŸÏ á8‡É“'O¬Ù÷Κ0aÂÝÀ€ÝÎà´ñW5{¯š;úuóN¾ïèï±ÆqŒq™ÖiÒƒY!ú ,–)¬H$h 8ÿzfüë!ž~UcÞe£IÖÁ1ƒÔµý,9”%X¥U˜R™ª[/dW­gUI>SÎõ¶Ê,:O)E$ePR!ãOÃ0꟞kÛ6¦i Gû¸†¢c +ì§&  “5s.ÓŸ}„g_ƒk/I²^4®i±´2eGÔD´*ÖÄ_ÙF»«ÞÈG%¹œyŽ¥:jwášênªSI4cðM7R1p ;Ÿû)Ñ)©É$fÕŠ˜I…¿ŽZ_2™·, ãÜsG"}\kÑZÿ::Q?Urøî¥‘H„ô´äœÑú¼xŒö'wÆ !އmÛ 8¼¼k*™çžÓôcÒqLÓ$‹á´\–ö×É9ðT%=˜…=Á¶mB¡ÿF'Ž“˜…¢‡ÈURÑ÷l"º¦íò?ÙwdÛŸJ,B5U=¸-8ŽC4%í^nyÈß©@Î'Ù/BñÙ$ÉB!„B!Ä %=˜…â³Kz0 !„Bœ ’"Cˆ¾%íOˆþCÚ£B|vI€Y!zˆÜò'„h$Ç!úI‘!Dß“o !Äg—¤ÈB!„B!Ä %=˜…â³Kz0 !„Bœ J)âããûºBœ²$ %Dÿ!9˜…â³KÌBÑC^y啾®‚¢Ÿðûý<ýôÓ}\!À›o¾IRRR_WCˆSÞîÝ»ûº B!N 0 !DùÂ-súº 'µÿþù£üé®E}] !„B!„§ ;ï¼³¯«pÒ’ÌB!„B!„B!ºEz0 !NZJ)LÓÄ4MÇéѼnº®£ë:Ç#O¼B!„B!„hƒ˜…'%Ó4 …B'ìá=k˲ˆD"ÄÅÅáñxNȺšÖi†)?!!/Ô^¹¿Ä&úümì{¹„ú­hà¾ì ºvNB!„B!DgH€YqÒ‰D"„Ãá^[Ÿã8ƒAÇÁçóõlá¶IÅá*vï¯dOe˜(霛FjÏ®¥žóÊÀ)&¨rêþòCB'z•öf*¿áé2pν6!„B!„Bœ``>I<°º{Ý¿<¥çRј¦Ù«ÁåæÂápSÚŒža±óÓ¬¬p@ÓÐ`è½Ú{XKÎÇ“ 8:†[ú- !„B!„¢k$À|©ìbL-#îÄÔã³KQ»s+Á£Èóž åžz”R„Bmõ±UÔ}úO~x€æ—TÛǸksÞÀ#hT ˜Wþñ&Úy_âò"£ÓË5 ‡Ã¸ÝîÊɬ—–ø¼ rL>yk3¥^6Jlõ#T¼ò‘ò:HBÜYóɸò<ÜMño»øi*ÿýÁ²*H. þ¼/yÉ$Œ.]³êL91bk£òÅ×﯅”"âg}žÌ‹æ±Vqè›wá4léç±óyÏU2ðÊá]©B!„B!ú 0 ÑÈ©fã{kð^7’æÕ—Þc[•‰rç1sÁ|ÎÊÒÆÀκÊÉØ ®âÂ1iV1Ï=°ž”1ûÊꢤL¾€I槬*  „‰sÏŒÏî¼Z}]^yñ=vúÜ)#9ÿšK›n@Ã:SÇêìÝãÇ ‡ ÿ\®™3œÃËžcyÙAŒÇþÌšÄ1\~C=xœëL‹°õèro>ïºyéÃêbNÜpfÏý“²ŒØÁŸm¦i¶;͉ÔQi|§¨þd#.$_GÕ ¿ÇÆäœãz› ^®µX,ÖCf… ÒõD6 ç@)–§ô)ð$hu3Y_Ê"H@)Ð8„ÿ¥—P3~Aö…ãë¸9‹È:ü1eï-üø x;Ó‹Yu¢­’Àk¯ãLü.9—ž…®9·’:À¡m[±TnMCs¹Asèt÷‰}h¢B!„B!N< 0ŸD¾<Å¡¸¸˜Q£Fóu›y›µ†HfMÙaœ¹Ø¥;©HOÇÙUJlüH\¥”'0#Á`oÝvög|/\‘a•óÖ_áõ­_æêQm<äÌÚÃ[O/Ǹü+||Z¨Ž Ò!¶‡7ŸY‰÷ÊÿáG'áT®æÉÿÍŠ¬[9;Í@óïä@æÜ6' ½nýÅ¿øàü¯ñ__€+²‘þæ]6M¾™Ó}]™w/ï<»Ϝ۹{LukþΟ^ü˜·L!Í¿½‰·óù/gãr*y÷ÏðÁ®¯sõeWPºmÙ_º³ÌÀ&Ö÷:§2æèr#Q‚C¦1wòäÆÛ”½z?¬(aü•Hˆ¹c¶mwnFk?‹=L˜›†£ê—QþbÞ۔ʬò°Þk'rÜÆrÇUFÃ8ãfRWý˜ÃßÿþÓ&7ò â'^@rbÃaÝÚA´$‚µýNJÞo¶¨Cé9X 0Û(‡R¢ûîKG×—Ðqϼ›ü™=ò…B!„BÑOI€ù$R\\Üâï±_i£´¡ƒ1ßÚGPeS¹c/93ÎF½»ƒ}VY{ˈ ™EšcãN‹Ç ‡4&NÊäO;öcÞ*jïßÂÖ„),.ô AsáBaíß¶ø3¸u¨‹H( ã8wìÛ¼X\Åôi€1˜±£}õë0²ÉMÍ#aL V8ŒE&¹©Aê |Ÿ×®ÚLqÜ™,æ"Šà=‰Á/}DIäL&ºc(Ç' ‡‰Ç€ÛêÂXf …ÂŽ„ »¢d=°ÎTÏÑåjÄeå¯"„B>túÊ 1ó1´£µð® ì0‰³ãl°ågËû›I›=vŒ²v’Q´Z®ŽÓž™0ôoÿƒä’5„6¯#üá}TÿÓCÂ-¿ {ÊPÊqá½ò·dŸ™ÜrY-£³ÿl)Çõé.„B!„BqJ‘óIdÔ¨Q]êÁüöê¶ËÑ gPÅöE°wOE³ ±7¼Ïöò(fiƒÆ@chES,°“óªpùzþÝʆp—CLÏaˆ ¸ëËñ¸ uêëÙ^`¬'Öyt¤dÅ;¬(>D-RA8y°„æ:A×õcwU [6VQ8sº­P(ü[ÞcKú,æåØÄbí©[-×q=ú–…¹âïÔ¹¤MŸAò°$_~+áÞFù+KH9c1^c(Þ<í.C¿ì"ŒÆ0Á‰y›õ4>†Î”c ›§ܽ‡lê·ŽÂÞü5%ÃH¹t*×lÐ\h:(Û¢¡% !„B!„â$&æ“HÏô`Œ Ë~Ò-Û)M(dš7§0Õ;6£ög1ì’†ˆª â*HÑE]M¾„xÚ ­iñ‰ÄýHo6ƒ–˜DBÀß ÀÁ_ .)†Ä·GGò:Šìub^-!‰¤A³ùÒCZSôÊ!Ž‹ub=½N«å¼‘ͯòô†ÜzÛµäûÀÞú ÷¬èB}Na 0[å)f<ŸË†ú,!Jwüþ°¶Ù²ëþJéÈK¹eöŒ6—kŸÑéî¿'ŠÙLí¿Wãh_%eÔ4ÿfB»ªÑ²ÖsµA$]~>µüž6È8oFt7Á%P«-fàfbh åXþ¨8–‚Àbåñhš#+ÝèL9™$^|!5ú ‡ßJ&}R.jßÛTýýq¬³ï#½yYËÅ“ï¥fõ³N»_\ËÊ&nHF_mL!„B!„B 0ŸDzª3ø<ÔÊ•Åø&Ï'P…ð¯•ìôL`Šú[ÞíRÖ®ÙËøÙƒð†w±âãF\6°Í4FÞFþÇÛÇqÙÈ$´¨Ÿ–HbÞxÆÅžeùöq\>2 §zË7Ç3î–tt*{x 5Ô%"DÕ¬ûh;5ä¸>ó©Âãñ`YVsDؽa铿“h«†‡ç%1ù¦;9ÇÕxmÀ¡ôµ?³f𸺠JM0ÖÎrís»Ý=òyºOÃ}Þ÷ÉU£êå»){ØñðN\LîÜ zk“¾AÞW²©zñAÊߪDyà›ô9r®=·asÙ]ì{¹äÈu“}?¢ì=ÀCÆOÿ@j¶Þ‰r4ôq·“û…Ǩ|ñ'ì}:ˆ–>‚øY?%÷⢖½”µ$æ~ƒä‡¤âׯ£\éxÎýyƒ%À,„B!„BœŒ$À|é±Ì y˜Ãoìb܈úœªZz!#ìe|:b© Ñ ÍWD‘g9Þ¿¿iwÖ \? N]x]C¸hþtþóìƒÜû¼‰ò dÖÂùLÍÌeÖüÙ¼òì#Ü÷² îLÆÍ¹‘éà˜Çµ9Ú§åsþ‚Y¼òìcüö…062Æ]—é8À¬g2éÜ!<öÌï¸/i"W-Ö3ë<ªÜÏ-žÍôÏð¿~‹¸¤&œ}ƒ6ï‡>5x<Âáp»¹˜Um1 cú%nÕ&vˆú«‰6Íå´v¨–š Ñ¨Ë IDATÁrmÓu§k :Å•ÅùW EÇ$3È–‚oö7É›ýÍfrãž°˜œ ‹Û™nà½ú†_}¬•«œ†y&߯€É·«0´¬óȼó<29§B!„B!ú»žLÙQYmMÓÚxÝѸ¶þj|ß8èm¼6š½Ö›½oþ·­áìÒÒÒŸvð™{Ô«u¾<ÅéRæÆeÚdx‰÷éXá0¦ ã‰ÃeGEm°¶óüo×1æ»73ѧ£Ž%jÚíf—Ðt7^¯C×@Ù˜‘1Ð]x½ž†žŽ ÛŒµÀ…7Á…ŒPß'ÕÀïA…ÃÔ§ÉÕqÇyÑ¢aL§+ó6[§®¡¡p,“HÔBµZ'ÞxÜN˜HL¡¹¼Äy PѰƒ«GÖIËr#6†Ï[ŸÆ@9X1Ãå‰X]ÊÜqª2M“`0ØöDÃGr’A¤6ˆÙÁÆt'¤âÕhœ©“Ë$$$´`^»v-çLÑÉO!Úòß?”?ݵ¨¯«!„B!„â”>à´»h¸¯¿Áiã¯jö^5wôëæ|ßÑßcãã:3­Ó¤óIäÕ:0¦Yê‹Î¼n‡%Ô"Fç`†‚Ý©X™ÂÍcÔæV^}ø v·ÈQk0è¼…\qZ<‘pŒV‹h¸­´Ñ`óñ6f(Ü¢N±p¸óve`GC4~eE 5›l÷È:Û(7j¹­;Êú Zðx<8ŽC¸ù¶odG¨«9v±` -þS;¹\\\܉é½,„B!„Bq’’óI¢ÝžÈ½Í;†«ï˜ØêAN,BÔ’þ·¢wø|>t]'ó¡=A×u . !„B!„B´AÌ¢m®ÑÜð£q-RI l¢mõ¢—y<Ün7¦ibš&Žãôh°Y×u ÃÀívãñxдžÌ(Ô=)ÉÉ}]…êÉ_ÜÞ×UB!„B!DI€Y´£u* !úMÓðz½x½Þ¾®ŠB!„B!Ä)éèLB!„B!„B!D§H€Y!„B!„B!D·H€Y!„B!„B!D·H€Y!„B!„B!D·H€Y!„B!„B!D·H€Y!„B!„B!D·H€Y!„B!„B!D·H€Y!„B!„B!D·H€Y!„B!„B!D·¸úºBÑ]J)LÓÄ4MÇÁqœ+[×ut]ÇãñàñxÐ4­ÇÊB!„B!„ø¬³â¤dš&¡P¥Ô )¿1`mY‘H„¸¸8<Ï Y—B!„B!ÄÉJÌBˆ“N$!÷ÚúÇ! â8>Ÿ¯×Ö+„B!„BÑßI€ù$ñÀêî¥Ëþò”žK D`šf¯—› ‡ÃMi3„B!ÄÿgïΣ£¸ï|ï¿«ª»º[- XÅ’2ÂqÀìx‹¯ClbíL<™qvnò$Næ>só$¹Ì9sνçÜ'Ëø97¶3Ï—¬;6^žxÆ`0¶Á Ìb,´€-@[wUWwU=Hº%!‹¥ÍçuNŸ®®úÕ¯~•ùãÓß|KDDDDsQ9rš™Zeâ̬ã£+¤sßnRÓꨊëµH>a’N§ M³ã‘_òB«Ñ÷ôRƒò‹Wó…Sú>t¿³'ž~—«¿À²‰´qh{ýe^ÞÑLOÎ ^s ·,Ÿš÷)¨ŽãFÕ“YDDDDDDDÌ"ޱcýb;ª˜ÂÃó‘çy…{.‡²TsýŸç’2ñÝn:Ó9ÀãÐÖ§xþàx¦NŠc[O 8úÚS¼p¤Õ_º‰)%¡×ÓwÞ©‚ Àóv ‹½×yõ@™‡’…«¸ù²ÄýÓkô®å‰ÇÖ³¯; :fWîÓ,¨° ïšc˜4¿Ûç¤aêå|nåÞæa6<ŒõÀ=l)­çú[ëxÿ©ÇxénübU+¸ùÖ%LY·žç>º8™•™cÍž|0Jٌ˸uÅö®}„î‡rͼ¹{ Ÿ¼}eÙN::†^G6›UÀ,"""""""‚梲fI@cc#uuuCnçíÛl$™S]ΖƒïTOÁoÚG{EÁþ&² çio¢-9—åI‹æ®=´VÞÉWWUbåÚxþÞûxz÷V×åyÈYî]žÿÃF¬ë¿É[8#ÝE*4!û.Ï­}…Øg¿Åç—ÙÌo~ñG6Mø+ÆYÝû84þ»|eå8Ì®Müûÿø=®þßX3™ˆ»ƒßýø/¼õ±Ûù›øéŒmæÅ‡6a¯ü6?ªOÒµåA~þØV¦ýÃÆbatôÛ|yÍD"ÁþrÏÝlØ'«?³Š¦·Ÿaâ׿¥¥©×~ËÃ+¸ó‡S‚G×Ñ–ÂåsÊ÷ýÂCÏÝÏ‹¿mÂÏØãçòñË—Q;.”M™„átãÄ è ã0ï—–3á/ñrS'ž9ŽšeW°dF’Bu샮CDDDDDDD䢸¬ˆ466Îv~ãfÍÀkn!ú´ìmfÒòåLnÞKK.$Ý|wælÆ€5“†‹Jð';ŽE‹Ç³o+ù¢5¿u»“KødMŒL*…K„Hßþ·K.aŬn:—làò»X3X0?Žç8¸ÖD¦Œ­â¢ú1ä7Ï”±)ºzúÁaŽõ[wÒ˜ø8—ÍŽà¦]bó3ãð^¸ýóÌbÑÂr²Žƒ“I0y²EW—CÎË⻎ëAåâÍ[ÙøV+éÑ’xÁÀQÎŽ‚í1"³¹î›ßæ[ßüßýî7ø\½Ã¦'7s¸ï9—A.‹ŸçôÐIÓsø]sWòk¾ÉWo˜Á¡^b¯[øRA ‡gŠˆˆˆˆˆˆˆ€æ¢Ò_¡\WW7¬íBŒÉs˜ÞÞDK¦½ïVR[[CuÅö´ehijgúœÉ½Aªac¿CB¢ñ8™´K¾h-tR8ÉâA_‚†„@è¦q’%ÄúƒÁ ^ZŠ“vzëH±þ~¸!`F‰XÌr¼àt˜cC§‡î¶õüòg?ãßþíßøÙ]³ßßû`;Ò?iлÎ<ѱ9åj¾|K-䮟ÿŽçå ×åì1ÍAþÉ ³dÒiº:;èèò(»è,°ÑÚ9H(Ý?ï´K¸t†…ÓÙ‰[¶€†Iíj/"º‘ ˆZd‘|ÕɃo×çŸÈšÆì‰OÓ´kMÉ>KÔ$Ù¼w'aëf_×—â†)ºS!Œé}`ZWGñdIÞ_%Œ’R©nz¨0À(-#ÙÓMw•&@@wg‰²$}%¢'çƒåÃk$Ë(›~_ÿÆe½•Øô^7ë¸d³…Ï;EÞº”¿¶ŒO·¼È¯î_ǶªÛû 'ç‚išƒVPá’s¼0Ê{ˆ9ËÇPžî Ã zï—œCÆä<˲ ¹€¨ ¯ˆŒV3Ä™1Ëfß+XµÕ$Ò¹5°ëöÙ³˜ÙßbÙobÛ–fÜÂô~6mí zþ4òEkVU=óz¶òòžn| ÈtÓã…XU iÈncãžn wl;w–Ð0¿âŒÝ|ÖÔ…,H½ÊÓ¯µÒ•N“Nupèà{¤†êj`ÄIؼ×Þ›B]ïq¸Û%ãºåULˆ‡„êŒpNÙváÔ7L½Gs»Ó[efxûö%«™U:øƸjÍ¼ÚØAÈ´½ÉÎÎéÌ_øF£#û""""""""1ª`."£VÁÜׇÙyv? Õå½{*j¨öŸáõêÙŒíËãŒx-µöFî¿«…nÏ¢êÒÛ¸¥: AžòßÈL®ýÂ2þôÐ/ø¿ñíi\ùÅ/°tü®üÂU<ñÐ}üôq¢ãiXùy–UBà:ͨ0¦rõß_É=ÀOuð±©l¸ŽÏ¦žA‹YÍñ,¾|&¬ý?-[ÄÊëlÖÿi3Gü‘H’™+nâÚ1ª^>—lÛÆqœü½˜ƒNv?û8Otä°"Q’SqÝg/¦,ôom”³xÕ•t=ö(÷oð0’Ó¹tÕg˜ndó\Æ4ÍAƒn‘ Éh¦eƒÍ•g{°}ùÞa~î™y¶­Ûæ€Ïßó½V455ýë ßyTݽÙdÍ’€ÆÆÆãÕÉCm÷Ÿ“—£$n’s¼ÀÄ.Iñ]Òr{xä'oPÿýÛY71€ —!ãù»Kf”X,Šeúx®K6̱˜e„ø^†L."Ä’ü”K®wQØ%6¡ãô{&ÑD #ãà§3vÀ5Mƒ çáfr„§\¬X ÑÀÁ͆‘ Û‚0GÆ;黡B‚l†L6Vw 9s<Ï#•JzÀŒ‘,K`›„!Ÿ!rzïÁ//ÃLw’Î ØmÙ$“%Ø–AäȤzprùÿÒÉd2oÀ¼mÛ6.[Zý¡¾ÛPÆ”—ŸÑùEDDDDDD.TVÉô¿À+ÈóøØwòöÀÃü<ØûPûbßpŽ ›*˜‹ÈÝ›M ž6÷ïÎv~†ô ]€—NqrQqè¹8:o7OþòYÞ9¡$Ôbú_dÕE%¸N–S92NîÔýäȤî÷ñÒÎ kÊ:ÎÆžÎ5ÁϤW¸†¹Ì Á£“>SeÖ2R¶mÎÀ¿7@!Õ™!OôEF[<Ç4MÇô¡£Å4M…Ë""""""""y(`–ü"ó¹í_Nh%@è“9¹rTä°m›h4ŠçyxžG£6›¦‰eYD£QlÛÆ0Ô[DDDDDDDäd ˜¥€S[Iˆœo à ‹‹ÅÎõRDDDDDDDD.H'w:Ì""""""""""2" ˜EDDDDDDDDDdD0‹ˆˆˆˆˆˆˆˆˆÈˆ(`‘QÀ,""""""""""#¢€YDDDDDDDDDDFD³ˆˆˆˆˆˆˆˆˆˆŒˆf‘ȹ^€ˆÈÙ†!žçáyAÁ)cLÓÄ4MlÛÆ¶m Ã8+9¿)`‘ Šçy¤ÓiÂ0t\ðœËåp]—D"mÛgi•""""""""ÅA³ˆ\0\×ÅqœÓ>/R©AÇÏÀÊDDDDDDDDŠ“æ"±qãÆ·lÙ²Q^I¹Fþøã7¨û§[¹h¸wÕHÎ!ÏóF.ä8Îñ¶""""""""¢€¹¨Ìš5ë´Æ8pàŒ¬#? Ó°°²oóè=o2÷+7± 1XßÚ爜Aa’N§ ÷mãÙç¶Ñê„Øó¸ìÚåÌ.Íï:ŽC4UOf0Ë™™Ée7UP2h¸,röxžW¸çr®•WŸÝMÅõßàïfÛÝú¿y±‘‰+ç“Ì3<<Ï#‹Ñ5‹ˆˆˆˆˆˆˆÌEdT*’ö‘ ‰b»"ÒÚÚzü}8ÛùŒ›5¯¹…TèÓ²·™IË—3¹y/-¹tóAÜ™³gÖL.*Ásœì8-Ïþ½­œv´fÍbÑÂr²Žƒ“I0y²EW—KØ»ºw®ã‘=µÜvËBJr>fåâÍ[ÙøV+éÑ’8j¶!FÁö€ïD-“àøÓòÉù…Ï ‚ à1‘ ‰æ"Ò_¡\UU5¬íBŒÉs˜ÞÞDK¦½ïVR[[CuÅö´ehijgúœÉ½®ac¿CB¢ñ8™´ËiGkF ;ÒÖ„@Øû{ùËó{q¢1L?G˜S®æË·ÔÒ¹áAîúùïx®ñØé‡Ú"˜fáê¢Ñ¹\îƒaŽ\.‚-ü³Æ`󉈈ˆˆˆˆˆ\H”’‘Ñ©`¬iÌžØFÓ®=HÖ0;–`NM’w÷îä@ëfO³zÇ…)ºSýÁpHWGñdÉÈnšBÅ ÆT>õÍos­¹ž?mz¿7HrØS—rã×þ™ºm6-¯c[wájR‘¡ [c+Htãø­îwp´«œq僜cY£¼B‘⤀¹ˆŒV3Ä™1Ëfß+XµÕ$Ò¹5°ëöÙ³˜ÙßbÙobÛ–fÜÂô~6mí zþ4F5Z3ÄÌîZJ^}”‡}‚®÷8Üí’q]Œò*&ÄCBu$Á¶í‚ÇŒñ5ÔdwñF³KHŽŽÆ7y·¢šƒ´F£g`•""""""""ÅGù+"ùª“‡³}ªÞ>Ìγûi¨.ïÝSQCµÿ ¯WÏfl_g#^K­½‘ûïj¡Û³¨ºô6n©ŽB0ÊÕÄa@.±?½‹Ÿ?ú³>O?º™#~„H$ÉÌ7qíua–‘³mÇqò÷b*øøÊKøó£¿ãwûD+/âÚÏ^D"ôò¶ƒ1MsÐÀZDDDDDDDäB2š©Ý`så;fäÙl_¾wc˜Ÿû_fžmkÀ¶9àóÀ÷|¯MMMÿ:ÈwU7ndÙ²e´¶¶¯Nj»ÿœ¼¬%q“œãà&vI‚ˆï’ÎøÛÃ#?yƒúïß΢¸‰¹ Ï/Ðí"B,ÁO¹ä n÷_º„hààf­Ž‘8‰h€ëA,éûC†Ù ™lP°Ë†ÈpxžG*•Ê{̰â$KãDMƒÐ÷H÷¤úþ»8U2™Ì0oÛ¶Ë–Væ’O1¦¼üŒÎ/""""""r¡²J¦ÿØø^Až÷pÀçpÀ¾“·¾æçÁÞ‡ÚÇû†slØTÁ\D6nÜÀŽïÎv^~†ô Y[€—Ná4,ô\œA›·›'ù,ïœðÔ=‹éW|‘U•ô…Â92©þ8yàvÿ¥Ó}í;ñX˜sI÷}tÒ'¯Däñm› pç”c¡ïÒÓé9G"‘Põ²ˆˆˆˆˆˆˆÈ ˜‹DÁJä³-VÏêï.:¥ywuÉäTc,ç·x<Žiš8ŽC ¿±·iš —EDDDDDDDòPÀ,ùEæsÛ¿4œÐÚ€Ð'“§T¤XضM4Åó<<Ï#‚¼a³išX–E4Ŷm C}ÀEDDDDDDDN¦€Y 8µµ…ÈG…aÄb1b±Ø¹^ŠˆˆˆˆˆˆˆHQ;¹ÓˆˆˆˆˆˆˆˆˆˆÈ°(`‘QÀ,""""""""""#¢€YDDDDDDDDDDFD³ˆˆˆˆˆˆˆˆˆˆŒˆfÌ""""""""""2" ˜EDDDDDDDDDdD0‹ˆˆˆˆˆˆˆˆˆÈˆDÎõDDF* C<ÏÃó<‚ ‚Q›Û4MLÓĶmlÛÆ0ŒQ›[DDDDDDDä£B³ˆ%ÏóH§Ó„axFæï¬s¹®ë’H$°mûŒ\KDDDDDDD¤X)`‘¢ãº.ŽãœµëA@*•"âñøY»®ˆˆˆˆˆˆˆÈùNs‘¸{óÈÚe¯Y2z-DΞçÕpy ÇqŽ·ÍÌEåÈifj•‰3³ŽÑÒ¹o7©iuTÅ€ìÛwWLƒ®½xvã^:r!Fl ®¸†OÍ_©ì8ÑhT=™EDDDDDDDPÀ,çZpŒë·ûÛyTÅ ˆÌä²›*(Q¸,yxž7tÏå°‡Ý/í$¬O·² ÿ0¯=þ/½ÓB¬j7ߺ$oX(ÅÅó¼!F„ô4®gGùr.‹¼Àö¾½ÛÅ1÷ƒ1Ç^ÛD{õ§˜jB±JÆFRtt„É Æí cg³YÌ""""""""(`.*k–466RWW0ävÞ¾ÍF’9Õål9ø>Aõü¦}´WTìo"»p‘ö&Ú’sYž´hîÚCkå|uU%V®çï½§w¯au]žÖÙwyní+Ä>û-~8¿ŒàÈf~ó‹?²i—X1ÎÂÈ7×Ûÿ™›?³Š¦·Ÿaâ׿¥¥^Ï[l1LÌáÌÙ½‡æÒoóå5‰GøË=w³aÿ|>í½Äúð îüáÅ”àÑu4…¥pù#Á÷ýA‡Ý¬k,WÞVEn}ˆ8×ÊŽF›‹oGúPRËÇ«ÿÈ3OmeiC9‡¶m'¾bU&ê`>Ô:DDDDDDDD.ŠÝŠHccãñ÷álçg0nÖ ¼æR¡OËÞf&-_Îäæ½´äBÒÍqgÎfœX3i¸¨Ïqp²ãX´x<û÷¶’/Zó[wñvÉ%¬˜ÁM§ñ’ \¾ÀaWãÑÞ.ï\-x^–ßup\‡žs‹–“uœL‚É“-ºº\ÌÊ Ä›·²ñ­V:Ó9¢%qÔpã£aÐöa7»^Úɸ«.g²Ÿ#,Pƒììßλ“S›è»Û“Ê‹3þÈ›¼ü‹4RÍÅSbÃeèm“!"""""""" ˜‹J…r]]ݰ¶ 1&Ïaz{-™6ö¾[Imm ÕØÓ–¡¥©és&÷²†}ü ‰ÆãdÒnÞà-tÓ8Ébý`/-ÅI;½1ßiÌ5ü9cØ‘þ1 B Ì)Wóå[jéÜð wýüw<×x,o(.ÅÇ4 ý“Ò½k=»*®ä²I>ÙBAtØÁ®G©¹x:fßMöìä‰Gv3ã–ÿÌ·þïðÅ‹òç?¼DKv$ë¹°¨EFÉW<øv}þ‰¬iÌžø4M»öД¬á±AM’Í{w¶N`öuVï¸0Ew*„1ÒÕÑEîAt< +?ϲJ¼ÁæÏâËgòÀÚŸñÓ²EÜpÇìaÏYHб“uoæˆ!I2sÅM\;FÕ˶mã8Nž^Ì™îcd|NåBüt'©Þx9ìldÇ{³Yv]”`À/æäKY¹àžúp0#\tÍg˜Ÿ€lž&LÓ$è¹°Œfê6Ø\ùŽy¶Û—ïÝæçþ—™gÛ°mø<ð=ßkESSÓ¿òGÕÝ›MÖ, hll<^<Ôvÿ9yY1Jâ&9ÇÁ Lì’ß%ñ!·‡G~òõß¿Eqr2ž_àÑi€!³± €ßËÉCÎeDb$l Â' ’Œà§\rƒÍI„ØÀq€+!8¸A”D,Òw#„Ù ™lPxÝRT<Ï#•J'ïJ IDAT 9.šK,ÛI×÷—·â”—Y¸)¼nƒHž“"íåÿo'™Læ ˜·mÛÆeK«OûûœŽ1åågt~‘ •U2ýGÀÀ/ð ò¼‡>‡ö¼=ðÅ0?ö>Ô>†Ø7œcæ æ"r÷f¨ç…Íý{†³]€Ÿ!}BFà¥Sœ\z.ÎÀœÍÛÍ“¿|–wNxjžÅô+¾Èª‹JÈ89 9e®þý¹ é§ù©‚\9sdR'î÷3龇ùy8éAJœ¥¨Ù¶M8Ž3è¸lªƒ¯ø.]ùF†äÜ:Ý¡¯H$T½,"""""""2€æ"Q°ùl‹Õ³ú»‹Néd]29ÕËÙÇ1MÇq <ôot™¦©pYDDDDDDD$Ì’_d>·ýKà -(}2CTŽ{.‘Á¶m¢Ñ(žçáyAŒjØlš&–eF±mÃPo‘“)`–NmAq~Ì%òÃ0ˆÅbÄb±s½‘ ÒÉDDDDDDDDDDD†E³ˆˆˆˆˆˆˆˆˆˆŒˆfÌ""""""""""2" ˜EDDDDDDDDDdD0‹ˆˆˆˆˆˆˆˆˆÈˆ(`‘QÀ,""""""""""#¢€YDDDDDDDDDDF$r® "2˜0 ñ<Ïó‚€ ÎÊuMÓÄ4MlÛÆ¶m Ã8+×)& ˜Eä¼åyétš0 ÏúµûÃì\.‡ëº$ lÛ>ëë9Ÿ)`‘ó’ëº8Žs®—ô†Í©TŠ ˆÇãçz9""""""""ç ÌEâîÍ#k—½fÉÙi' 2š<Ï;oÂåÇ9Þ6CDDDDDDDD0•#§™·U&ÎÌ:ÎŽÎ}»IM«£*V óÊh Ãt:=ȇ¶×_æåÍôä â5×pËò©˜„¤lâ™—vÑž1HLZÀåWœé%½½“½CÛxö¹m´:!vÅ<.»v9³K!æÌsuÇ!ª'³ˆˆˆˆˆˆˆ ˜å|cÇú-ÄþvU±Q òÎÔ¼2j<ϤçrÀÑמâ…# ¬þÒML)1½:Ó9H5òÂúê?ÿm–NhÛøþðB#7]?Ÿd®•WŸÝMÅõßàïfÛÝú¿y±‘‰+ç“lÎ|+<Ï#Ó/"""""""" ˜‹È¨T$‡=lyð^Z–‡ª#y‹µ?þþÊïqë†ÿëîZÏä;–rð×Û[r°¹‡L*CÉükY}å\’ùrÙ\#ßSx¼wh+O®ÛÀ¾®,at< ®¹OÕÃÊæµÇã¥wºñCˆU­àæ[/¢ã™‡Ùxð0Ö÷°¥´žëo›Ä_ñ&cê Zv‘îÉ0æc×°Ø{Wôéq(Y¸Š›/›A¼ïzO<¶ž}ÝÑ1ó¸úsŸfÁ8—Ý'Ï{û bo<ƺ—ЕÍ$æpÕÍ7²x‚5 ÿcËHxžWø`®™7wá“·/ ,ÛIGÇ€C‡[8:ócÔÇÓë€Ò‹/£î—8šÏüî4YÌͲttd‰Î»„êM¯ÒäÌg~´ðœ…d³YÌ""""""""(`.*k–466RWW0ävÞ¾ÍF’9Õål9ø>Aõü¦}´WTìo"»p‘ö&Ú’sYž´hîÚCkå|uU%V®çï½§w¯au]¾‡œY…ÆÏ=Ìsk_!öÙoñÃùeG6ó›_ü‘M¾ÄÒ÷_b}xwþðbJðè:šÂ2ãT}fMo?Ãį…KK¼ž·ØÒ½Cã¿ËWVŽÃìÚÄ¿ÿß³áêïð5“‰¸;øÝÿÂ[»¿‰7óâC›°W~›Õ'éÚò ?l+Óþa)õ'ÏëfHÍü7ìóL)ñ9øä]Ü·é ?;EÌç†ïû‡y¿´œ yˆ—›:ñÌqÔ,»‚%3’@ˆiøx~ˆ ä<“x"MO* ×Ó7f&‘\oe´Ÿ+a̘n:»«ðœ…jÜ[£ˆˆˆˆˆˆˆÈ…ddOŽ“s¢±±ñøûp¶ó37k^s ©Ð§eo3“–/gró^Zr!éæƒ¸3g3ά™4\T‚ç88Ùq,Z<žý{[)­ïµîâí’KX1+‚›Nã%¸|îƣ•ˆ7oeã[­t¦sDKâ„ø^–ßup\¯÷šÖ Ìã9®5‘)c«¸¨~ 9ÇÁ Ç3elŠ®ž¿u'‰sÙìnÚ%613ïå€ä™× 1a*ã —t:KŬé˜éÙÑú£Éi+ÜB'MÏátÍ]É?®ù&_½a‡^x‰½.D&OcìÁ·ØÛå9:Þþ+Û߃H|? j™|ðÈKÓòÉùá szx¦ˆˆˆˆˆˆˆ¨‚¹¨ÔÕÕVó ›óÏcLžÃôöí´d&Óün%µWÕào‰=m¼¦v¦/˜ŒÁ~0lìã?A„Dãq2i—òW÷ï¦q’S‰õ‡A@¼´§ÃÁ˜r5_¾e3Ï>ý w=5Å×|šOÎ[`þ1ëøô`F‰X!`@‚B¡ÓCwÛ›üòg¯ôU dÍIÌôû¤9Ã6½È¦Æ÷p11Üvœò+WåÌ3MsÐלv —ΰp:;¡l “Þ ¥= fæB®»²“'Ÿø5Œ¯ÏìÊ ¥%&Ñh„\n@Oå0G.ÁŽà2ç´ü¿Á™¦~›ÌE%_uòàÛõù'²¦1{âÓ4íÚCS²†OÄ5I6ïÝIØ:Ù×õ¥¸aŠîTc ¤«£‹x²¤pÙ{¡ñ¥e${ºé Òèîì!Q–ÄrØS—rã×–ñé–ùÕýëØVu;—”ºÆŸ#YFÙô«øú7.ë­Ä¦÷šYÇ%{ÒsÛÜOò‡í“ùÒWnbjüÝkùï› }A9 ˜Íò1”§;èð‚Þ¿mÎ!ãGˆÚ€Ÿ#6ë*¾0ÿ?a’k…ߨbA¬±$¶#N§ÜüŽv•3¥ÜÄ´™³ËRP‹Œ¢Ò_¡\WW7¬íÂâ̘e³ï•F¬Új’@éÜØõ ûìYÌìo±ì7±mK3naz?›¶vP=ZáÞÄÆÛU iÈncãžn wl;w–Ð0¿ºÞãp·KÆu1Ê«˜ Àˆ“°;x¯ýô›UXS² õ*O¿ÖJW:M:ÕÁ¡ƒï‘:eÞ?ã$ÇÇÅíicË_÷àîÐ gmNvq5Ôš;yµ±ƒi{“Ó™5ÞB|/Mwg'ÇÚv³þ©7H\²€±€1¾†šì.Þhv ÉÑÑø&ïVT3#>ÔœùE£ÑÑþÚ""""""""EIÌEdÔ*˜ûú0;Ïî§¡º¼wOE Õþ3¼^=›±}U¿F¼–Z{#÷ßÕB·gQuémÜR… [xü®üÂU<ñÐ}üôq¢ãiXùy–U‚w`'ëÞÌ?B$’d抛¸vŒŒgñå3y`íÏøiÙ"n¸cöðÿ‡2¦rõß_É=ÀOuð±©l¸ŽÏ¦Û|Ï÷ZÑÔÔô¯ƒ|çQu÷f“5K‚ÓêÁÜN^VŒ’¸IÎqð»$AÄwIg|Èíᑟ¼Aý÷ogQÜÄ‚\†ŒççëJ1ôx3B,fcÐ[iš!“ À²IÄ"}´ ›!“ ##a[æÈ8‘d?åÒÛåÂÂ.± §/4‰&b™¾ïÓ=ÓÀ $Èy¸™Ü©óº>VË;þÀQÓ/_‘üñésdœÜ©û}'}òUû®ËpŠŸx¾—vNXÖð¹ÐõòÍë¤OüÞùO“³È¶m‚ Àø7íç{¤º0K92©Ó‰ŠOw¼Èð†A,#‹ë¥ˆˆˆˆˆˆˆˆÈINît """"""""""2, ˜EDDDDDDDDDdD0‹ˆˆˆˆˆˆˆˆˆÈˆ(`‘QÀ,""""""""""#¢€YDDDDDDDDDDFD³ˆˆˆˆˆˆˆˆˆˆŒˆfÌ""""""""""2"‘s½‘‘ ÃÏóð< ‚`Ôæ6MÓ4±mÛ¶1 cÔæù¨PÀ,"EÉó<Òé4až‘ùûë\.‡ëº$ lÛ>#×)V ˜E¤è¸®‹ã8gízAJ¥‚€x<~Ö®+"""""""r¾SÀ\$îÞ<²vÙk–Œ^Ë‘óçyg5\Èqœãm3DDDDDDDDDsQ9rš™Zeâ̬ãìéÜ·›Ô´:ªbçz-r¾Ãt:=ȇ¶×_æåÍôä â5×pËò*z^˜ß¼|ˆ?·~œ†ÏÝÁÓÌçMÍûTÇqˆF£êÉ,"""""""‚f9_ÇØ±~ ±¿GULAžôò-{›™´|9“›÷Ò’ I7Ä9›q`ͤá¢<ÇÁÉŽcÑâñìßÛJÁh­Àx¯uo—\ŠYÜt/ÙÀå v5Ũœ@¼y+ßj¥3#ZÇ Ä÷²„„ø®ƒãzwœ\h ·Ç€ÐIÓsø]sWòk¾ÉWo˜Á¡^b¯{â8gÿvÞ¼˜Ú„Zç zx¦ˆˆˆˆˆˆˆ(`.*ýÊuuuÃÚ.Ę<‡éíM´dÚØûn%µµ5TW`O[†–¦v¦Ï™ÜÞ6öñ;$$“I»ŒÖ wÓ8Ébýá`/-ÅI;S®æË·ÔÒ¹áAîúùïx®ñXÞÛæ8ùh3ÍÁÿÉ2§]Â¥3,œÎNܲ4LjçPû€;6ì`׎£Ô\<Ó?óNs"""""""" ¥$Edt*˜k³'¶Ñ´k’5ÌŽ%˜S“äݽ;9Ð:ÙÓ¬ÞqaŠîTÅhHWGñdIá›¦ÐøÒ2’=ÝtÏëº;{H”%1‚öÔ¥ÜøµæŸn›MËãëØÖ§Ju¸ãä#m°`×,Cyºƒ/ œCƵ?“kÛA# i˜áiœw2˲Fã눈ˆˆˆˆˆˆ=ÌEd´*˜!ÎŒY6û^iĪ­& ”έ]¯°ÏžÅÌþË~Û¶4ㆦ÷³ikÕó§Q0Z+0Þ®ZHCv÷t¹cÛÙ¸³„†ùÐõ‡»]2®‹Q^Å„xHFœ„ÝÁ{íY‚Bãä‚bÛ…S_c\ µæN^mì dÚÞdgçtfïÿgÎåíû©X<ŸR?<óNFGç ‰ˆˆˆˆˆˆˆ9=䯈ä«N|»¾ÀL½}˜g÷ÓP]Þ»§¢†jÿ^¯žÍؾæÆF¼–Z{#÷ßÕB·gQuémÜR… åpáñS¸ò WñÄC÷ñÓÇ=ˆŽ§aåçYV Þ¬{x3Gü‘H’™+nâÚ10žÅ—Ïäµ?ã§e‹XyÍú?å'Û¶q'/栜ū®¤ë±G¹ƒ‡‘œÎ¥«>Ãt+ BØÙÈŽ÷f³ìº(ÁÀ_'†8ïd¦it‹ˆˆˆˆˆˆˆ\HF3¡l®|ÇŒ<ÛƒíË÷n ósÿË̳m Ø6|øžïµ¢©©é_ùΣêîÍ&k–466¯Nj»ÿœ¼¬%q“œãà&vI‚ˆï’ÎøÛÃ#?yƒúïß΢¸‰¹ Ï'o¼<Ôx3B,fc!¾—!“ À²IÄ"}´ ›!“ímU`Db$l ÂìãäÂây©T*ÿAË&™,Á¶  G&Õƒ“ë»K¬8åeng ïäg°óN’L&óÌÛ¶mã²¥Õâ› mLyù_DDDDDDäBe•Lÿ°𠼂<ïá€Ïá€}'o|1Ìσ½µ!ö çØ°©‚¹ˆÜ½ÙêyasÿžálàgHŸÑxéÞIÃBÏŘQ{»yò—ÏòÎ Oس˜~ùŠüãOŸ#ãäò¬ÃÃIŸ|Õ¾kç2¤œRhœ\XlÛ&Ç9õ ï‘êòÈ?û.]&켉„ª—EDDDDDDDPÀ\$ V"Ÿm±zVwÑ)Í»çM~ÿÔ9Y‘\€âñ8¦iâ8ApæÿÛ0MSᲈˆˆˆˆˆˆH ˜%¿È|nû—ü”Ë uÇ¡O&_å(Æ‹œ!¶mFñ<Ïó‚`TÃfÓ4±,‹h4ŠmÛ†z~‹ˆˆˆˆˆˆˆœL³#“:¨øtÇ‹|x†a‹ÅˆÅbçz)""""""""¤“;ˆˆˆˆˆˆˆˆˆˆˆ ‹fÌ""""""""""2" ˜EDDDDDDDDDdD0‹ˆˆˆˆˆˆˆˆˆÈˆ(`‘QÀ,""""""""""#¢€YDDDDDDDDDDFD³ˆˆˆˆˆˆˆˆˆˆŒHä\/@Dd0aâyžçAœ•뚦‰išØ¶mÛ†qV®+"""""""RL0‹ÈyËó<Òé4ažõk÷‡Ù¹\×uI$ض}Ö×!"""""""r>SÀ,"ç%×uqç\/è ›S©AÇÏõrDDDDDDDDÎ ˜‹ÄÝ›GÖ.{Í’³ÓN@d4yžwÞ„Ë9Žs¼m†ˆˆˆˆˆˆˆˆ(`.*GN3o«Lœ™uœ_B:÷í&5­ŽªØhŽ•s% CÒéô #Ú^™—w4Ó“3ˆ×\Ã-˧b8mìxõUÞØ÷iß :vK¯ù$õýÿÌt¿³'ž~—«¿À²‰æsæûYÇq¢Ñ¨z2‹ˆˆˆˆˆˆˆ €YŠ]pŒë·ûÛyTņüNg¬œ3žç Òs9àèkOñ‘Vé&¦”„^éaè~ýlÆÚYÚ7¯åÁõ;™~ÃBÊ C[Ÿâùƒã™:)Žm oμ+<Ï#Ó¯"""""""" ˜‹È¨T$‡=lyð^Z–‡ª#y‹µ?þþÊïqë†ÿëîZÏä;–rð×Û[r°¹‡L*CÉükY}å\’ù²Ùìa^{ü1^z§?„XÕ n¾u “üûƒF¾çÃÎÏ<ÌÆƒ‡±¸‡-¥õ\û bo<ƺ—ЕÍ$æpÕÍ7²x¼Ëî“ÇÞZÇûOåYÛȺ‘È(ñ<¯ðÁ\3oîÃ'o_@Y¶“ŽŽ¥³¹¸>$›>Ʊ”A´jã^spC(3¢”͸Œ[WŒaïÚGè朅d³YÌ""""""""(`.*k–466RWW0ävÞ¾ÍF’9Õål9ø>Aõü¦}´WTìo"»p‘ö&Ú’sYž´hîÚCkå|uU%V®çï½§w¯auÝ©9Ëîy‰õáÜùË)Á£ëh Ë„lcþýƇž?NÕgVÑôö3LüúW¸´4Às3¤f~‚›?öy¦”ø|ò.îÛt€…Ÿ­¦þ¤±©×~Ëó­MÎ)ß÷  :ó~i9þò/7uâ™ã¨YvKf$1‚,™L߸ÌûìÚ´“ î?1Á0(›2 Ãé G8ü9G°F‘ ‰â´"ÒØØxü}8ÛùŒ›5¯¹…TèÓ²·™IË—3¹y/-¹tóAÜ™³gÖL.*Ásœì8-Ïþ½­ä‹Ö¬Ê Ä›·²ñ­V:Ó9¢%qŒAö÷žôaçñ½,!!¾ëà¸>‰ Sg¸¤ÓY*fMÇL§ÈæË`k“s¦p{ 4=‡Ð5w%ÿ¸æ›|õ†zá%öº}Ç;^ç‘ÿ÷îþÅïyũ㓠*ŽÿMƒ\?ÏÔCÍ™Oèá™"""""""" €¹¨ôW(×ÕÕ k»cò¦·7Ñ’icﻕÔÖÖP]q€=mZšÚ™>gro(gØØÇïh{3û[ ûMlÛÒŒB˜ÞϦ­TÏŸF¾h-èzÃÝ.×Å(¯bB<$ ï­ù1â$ìÞkÏ!~Æ%HŽ!Ž‹ÛÓÆ–¿îÁíÏO;ÄÚ䜱íÂÉ®1®†Zs'¯6v2mo²³s:³Æ›xÇñ^O_¹r˜¥c÷ëìÉM¦jÌàO›³h4:‚o&"""""""òÑ£‡ü‘|ÕɃoט©·³óì~ªË{÷TÔPí?ÃëÕ³Û—ÇñZjíÜW ÝžEÕ¥·qKu‚S+BƒŽ¬{x3Gü‘H’™+nâÚ1ASþýäFg~ÏâËgòÀÚŸñÓ²EÜxÇU,Û±–ÿõ?Ÿ'Q6‰‹W\Âô}“˜'Ž]yÍú?å›óÿgïÎä(Ͻ«zŸžaßA˜AeQp7\PK4‹Û‰$Íòf191Û11c41Æ$=jÀÄ%âÆ& È¢ÌÖ]ÝÕ]UïÃÀ,Ý=Ã8Î0ðû\W_]]]õlbn:IÒvȘ«ó‰„üûV¾‡›J’L¹xÙÆwTù€á úÀK“L8øÂ!ü๤S.>¿K"‘n9­ Á,eJײm›X,–ùK_h4 ÏÀsÓ$cuXi#!?/„ß4ð<ÏM‘ŒÇI¤oQ“paf¼šxºõ23‰F£ÌË–-ã¤É¥í_è6(*,üDË9Rùòß¼8Y^n†w¯Ñg¯Ñ¸æÃ_´ñs®÷ÖÆÑʸ¶|×fjÁÜÌZl¼¼¸aL[†³p’Ä›äï\ìx »ÙdžÀj€Ò´Q IDATœ£¶×2÷ÁÙØäix>ŸúYÎ?:¯åÇÆŠ7/µË¼t²I²Ð±âM—#}Ú\±I× ƒ¸®‹eY-¿tlb56ÍÓÏ^Ê¢¶:ÃôM¸$jªÛ\fs‘HD­—EDDDDDDDQ‚¹›ÈÚ¹³…*˜qËøw»©É,->©ò¥Û‡Ã˜¦‰eY¸n×îÿ¦i*¹,"""""""’Ì’™¿œ+n‹K4n žC2S«ÒC­|9,ƒA¶mcÛ6®ëvZ²Ù4M|>@€`0ˆa¨n‘æ”`–,Ò$céÖ';dË—Ã…a„B!B¡PW‡"""""""""Í4ï‰@DDDDDDDDDD¤M”`‘vQ‚YDDDDDDDDDDÚE fi%˜EDDDDDDDDD¤]”`‘vQ‚YDDDDDDDDDDÚE fi%˜EDDDDDDDDD¤]ü]€ˆH.žçaÛ6¶mãº.®ëvJ½¦ibš&Á``0ˆaR¯ˆˆˆˆˆˆˆHw¢³ˆ²lÛ&ãy^§×ÝÌN§Ó$ "‘Á`°Óã9”)Á,"‡¤D"eY]PŸlŽÅb¸®K8îêpDDDDDDDDJ0w³·¯»ì™“:§;n']ÉßïZAÙW/çèCå(8cê"¶m2ÉåÆ,ËÚßm†ˆˆˆˆˆˆˆˆ(ÁÜ­|xù¶ž‘O&ŽÌ<ª7¬%6¨Œ¡Î¬·½|˜†_«Ó5[®Ô»<}ßÛŒ¸þÆD:ºOÞ1}¢õZ<Ï#ç˜Â¥vãëÌyþ}†Ì¸Šû¸ùbï\Æ‹/-c»å,ÍIgMex¾¸Ô¬篧*ía„ú2æÔ3™80Œgí`Õ¢E¬Ø°›¸c(>ŠÉgžBEIæÓ£eYõÉ,"""""""‚ÌÒQܽ¬zu ¡ÿÍ€Ða”xk¾\þ¡œtI yäíªz»€mÛ9ú\¶Ù¹ô9þ½¥û† 6ÎÆ§·³èŵ”œw#Ÿ䣥OðؼJúL/'šÜÀ¯×0æê›™Ôˇµñ_<üÜ[ ¹âDúxÁ§ò™ó†SL±gñlyu5ƒ/GA†Õíº.¶m u‹;)""""""""Ÿ(%˜»‘i‘ìÕ±ä‘ûÙ6õË\Xê‡ä;̾ëÿp¦ßÊåã"ÎFž½÷Uú]3™-®¤¸ÌcËÖ:’±$yåg1ã´D›'ݼk_x’ù[vá{ø>–äWpÞÕ§Ð÷ƒ¥ÌyæU6ÔºŠFsÆÅç0¦ÄéJž|`£¦¹,øçröŸÁ-<;ëmŠ* ¶m©!^—¤èØ3™`/gѦ:’uyãÎçÒ“†ΔcÍTæ%åx;³ÄЄÃî·žáÙ76Q“JãFŽâôK/bB¯DË庢oþie_½Œ ?Ø;—2÷Ù×ÙP“ ôbÌ™ò©ŠøÒ•<9ëmŠÇ˜l}¿ÛŠÃÀ“¹xúXJœ]¼õgxmc-ޡӏôòIô0Sl_8›WßÚBMŠÊÏâÒóÆÐÃÝļ†z©äÉû²l›t–²Û×ÃJ—°m;Ç· †œÄåÓŠX?û)j}ãîÙÄÖ¢ \Ú;EUUŠÀèã)]°ˆÍV9冋êI±?FU•‡-¡È؃ùÃ9¦Â#ßËÞ˜A`À z¼e‘ðȘ`H¥RJ0‹ˆˆˆˆˆˆˆ s·2s’Kee%eee­gì·ÙˆrTi!K¶|€[Úgóö””ྷ™Ô¸Ñø÷lfGtS£>¶Ö¬c{ϯpÃù=ñ¥wðïûâùµ3™QÖì!gF>çžÏæw_ Ï®gJ¾‹]·çžX@púÍÜV¥fÉ#üö™¥ úÜ$ŠñaT/畵gqå7~È @Šxl Fívöº…ë§÷À¬YÀïïø ¯ŸñenœÙbßõ ï{5ÇågÊúe*s#Ïg¡1“¡'pé±WÒ?ÏaËÜ{yhÁ&Æ]Pša¹Þa‰ab¤Þç¥Ù ]pß)/Àýp1ýîï,è}-Ózø0j×±5ÿf®›Ù¿û!¯Ü7‹×ß+çû5^õNå+ß9†Šá3°7°!}ÿõÿ†“—ÚÂs¿ù#¯m,ã‚¡&FC½ø0²l›én–²»Çqr|kPп/†UEš¦­œÓuµØECñ§ëÇ;é<ŠŠj©®q¡ÿ(&–þž[Êä±…ì\¶’ð´ó`‚ë¦H&ëËp“°fÁjܲÿ wŽõ–;F‘#G7K=Ù*++÷¿·e83ƒÆ`oÝFÌsض~+}§N¥ßÖõlK{Ä·n!1t8= À7”±Gça[Vªã'ôâ½õÛi™ZópìNÂÂJØØÛWS™ÈIÃý$â Bå²k=›û’‚^o&þÇDzyñdº~œocÊÃØ–EÂׇþÅ8º¢ˆ´e‘ðzÑ¿8FM]¶®Z–é´C£ué=F‚x|›7^žG%¥Ó?´Z¯j9O=p³~÷Zeœ2¦$çzs]=ϳê¨Ýñ6Þ³p_¢Î%eöe¨ ³ˆÂ<·q¢Ðj(ØÌ~Ÿày`x´Ì´6Ò¬ÌVcØlŒM æ± r7 LŒÄ¬Â!­&f½D+:PCBÔu ççcUYõa!‚þ†€]<ÀÃÀì×]¶˜Ÿ„{ŸëÍ„3Ïá”ÑÅõëÔÈ#¨ŸÏÅÅȼÈY¶ ¹Êî&LÓlW7ð“N§ŒðÒ¤Ó~‚¯n5sŸÞÈÈ˾ȥ} >|ûüío¯qòNc`ŒžSøì×O#àZìXùOþþøË²Ws|CÛmYælÛÆMãÏTv¶Î„AíM0ûŠKˆ¬ÜKÌL¡8U|TSHÿB{Ó&>:‘‹"UU,=…ãWþ•÷?rØ×'AíÞ&y#&0zÁKì®óXœy½ù|™SöãÇ?è¸EDDDDDDDº3u‘Ñ4´P.++kÓpva† ²aa%¾Q¥Dü#aÍB6‡1´¡‹eg3Ë–l%áK«(-”¹5¬&¬b÷žúÌ­oà8ÆÄñü[Û©‰Ç‰ÇªØ¹e7±NìY m1x8Én´ˆ0 u;Xòæ:ö÷¢Ñl¹š”?`cS˘¿®Hï]ÉüÕyŒ-/Éy`¹5»ÙU› ™H` wØÃ;Øõ’eÛQv ƒíšÏè5’‘©5¬ØšÀ#MUåÛ¼_RÊ0z–رŽM1ð°?Xˆêú›Ø{w²»n_Ëg/EÕÚå¬K÷c@Qö¤| ÈúˆˆˆˆˆˆˆÈ‘D-˜»‘kÁ¼¯fëÅ÷[ZX?¦d$¥Î ,/NC£M#<ŠQÁùüñÞmÔÚ>L¹‚ËJ4í×b³NÊóïáã¹ð†s8ã3§1片¹ûi ‡ =Ǟ͕çVоôa;ÛƒAtì霸j6¿¹óßD úrÌ´ã¼:Ër]3¼Qùý9íªÓ™óÄCüâ6z1vú•œØ\;{XnÕjž}r1:~üþ(C§]ÂYE¤³ÏÓbѲlwS–²»‘`0ˆeY­öÅÜ‚[ÂÄéÇó¯§çµžGsÖGñlÜ~S˜>æžûëÃXxþŽ>ó\Ê#P·g ‹æÍa{‹Ïç#Ôk$'Î8™AfšT¦]Ý4Û9Ütdæ)WY™¾32 ç—éÝhã熗™aØ×hØlô¹ñ{¦×´Í›7ÿ(Ç2w¨Y‹MfNrªæ†y2ò…È ›¤- Û0 æEð; âIÒëxêîT|ójƇM ÀM'IÚNÖ ˆHÐ^š¤eã˜~B¡ >ÓÀÀÃMÛ$’i<ü„¢~œX¢QNµù8Á¼ žeíKò™"!ŒdC¼Íe*hK †`8„ß<—tÊÅçwI$Òx-–ËÅ߸ž†ò ¨Øa’dÚÍ/”GÀµH¸"!ÿ¾ÕÃM%I¦ÜŒëeÿ<)ßïrm_0KÙÝ‹mÛÄb±S˜„ 0ãÕÄmpÃ&š&`xŽM¼.¶o1ð‡£DÃûÖç`[1â¶‹ˆŸÂoxž‡ç¦HÆã$Ò™×Z4͘`^¶lS¦LùK-"""""""]¥oß¾·¯N–—›áÝkôÙk4®ùpãmüœë½µq´2®-ßµ™Z0w#³›@E£‡÷µe8 'I¼IþÎÅŽÇhÞðÖ³XºöZæ>ø"ÆSù|êg9ÿhš$ûpÓ$­LÍrÓ$cÍÇ7ç`Ç­&ñ¥,«•úóZÞÉhK žƒmÅ›.{“gÅ%›,—Ó8΃XF'§>l+ž©‰s®yZ~×bÛ8ÙÊî^‚Á ®ëbYV–)\5Õ-ÆzN‚ºêLÙóH'êÈô•—²¨­ÎVOS‘HD­—EDDDDDDDQ‚¹›ÈÚ¹³…*˜qËø} »©É,->«ú¥Ó„ÃaLÓIJ¬v=ô¯#™¦©ä²ˆˆˆˆˆˆˆHJ0Kfþr®¸}lË.'<‡dÖV¥ «ë?dÛ6‡¡`0H À¶mlÛÆuÝNK6›¦‰Ïç# 1ŒîÕ—µˆˆˆˆˆˆˆHgP‚Y²ÈÔ…ެmc¡PˆP(ÔÕ¡ˆˆˆˆˆˆˆˆH3Í{i%˜EDDDDDDDDD¤]ÔE†ˆˆˆˆˆˆˆˆÈÇ´«.Íó>bÅŽ$)×ëêpŽhÓà˜þ!¾yj }ó•þü¤i ‹ˆˆˆˆˆˆˆˆ|LwÌûˆâ¢®= uÐ¥<—;vðÓW>âîóútu4‡=%˜EDDDDDDDD>¦;’œ>x$Ëvy¸8]ÎÍõcùÚ=]ÊA f‘)åz|÷pÔ;F—s€⨫’N¢³ˆˆˆˆˆˆˆˆHp<å4 Jôw%˜EDDDDDDDD:€ëz¸nöï+z™¬Þ“cé0¹¶ƒt,%˜EDDDDDDDD:‚ž—½éìÏN³|—ÃËm6V)ú‰òŒ®Žàˆ¡³ˆt[žçaÛ6¶mãº.nÞž4MÓ4 ƒƒA C&ÉÍõ<Ü f€ñ}}ü꬯oMóÀò$»cêËá“ ®J:Ì"Ò-Ù¶M<ÏygøãhHX§Ói‰‘H„`0ø‰Ô%""""""‡‡¶$˜ NìgRO¿›â¯klêìñÿ­arÕD¹"ß#xŽÇú-6³–¥Øä´¿Øf•0ª4Ä5£üŒŽ)µ[m|;Å:»£êè8J0w%˜E¤ÛI$X–Õiõ¹®K,Ãu]Âáp§Õ+""""""Ý‹çzx‘Ù ù .«rΈ[móÔÚ$v»Â1Rñ|øeîßáá/èËg¯žÌM#Ò|½Ò¥#~ï;´<Ì÷}į]Æ?ßãôæSçÏ÷¦øöË6›±?¼C,žÃ™ÌÝĬÅf»æ›9IG“^lÛîÔärc–eíï6CDDDDDD¤¹¶¶`n® dpÝ„Œ ðèª$Ï­·²®‡‡‰Èiôèe@ºšyk«¹¸àðý üÌyÊbѾ4щS 9}K ?ÚàçØù>”÷6ˆ„ ¼“ܹ8ÅöÆõûý\<Òbö#y)xùã‚àÔòÊKKéwÕd.é w}àçÙêÙ áAnšâ¸$biþ¸Àâ•ZÀàëgùX¼Ú`ƱìJòtAâåµüfW}9¾a~}"übn‚wÛ¸^Ô‚¹ó(ÁÜ|x9µž‘O&ŽÌ<ª7¬%6¨Œ¡Î¬÷P©_:ƒçyÄãñÌ_:5lZò: ßÙJ­c,ɉgžÄÈ¢ú›3öÎe¼øÒ2¶[Á’ÑœtÖT†çCÍò'yìMîæºN˜±_éƒZÞØ±,‹@  >™EDDDDD¤…ö&˜ôŽšÜ29ÂŒÑA~;Á+ï§Ú8§‡GýÿÍ®üœ?ÖÇòEr¤R~l7´/éêb×Ù¤ê\·Žt¨/å,ãæ'«°ÝW_?•ÿìkó‹J÷å'iU1;4š@Ȩ_F3Ÿ@¿a,]oqv‘‡±soözÌ WŸ`Ÿó"g¯NÒçøy`J˜5/§ØéîÅ ÷áÓ}·ðÝ;W°&0œ¡ãñëa!;’Àðþβ¬qÒÖÇ•`îZúÍ«¤ÏôrЧ\÷O÷³¯‰­â‰?½Çè™5àº.¶m éN†ˆˆˆˆˆˆ4u°]ddã$ãĪªðÜü¶Ö f”OŸgp1Ñ@ŠçŸšÏÛÊ1{¦ÄæíŸÏÛ×DúCþõîÂÃK {ëwÚLñyàÖO€›&Ïòch¶|yXNš|3ECË­LõøŠ¦ÔmákÕã(, ß±•ÅCë÷Ø‘¨å™çclr Å>¨Ú²ƒ'æ˜å‹“©Sü{yø”ÝêÑú;ÌÝH‡´HöêXòÈýl›úe.,õCòfßõ8Óoåòq g#ÏÞû*ý®™Ì–GWR\æ±ekÉX’¼ò³˜qÚ¢Íó·^Œµ/<Éü-»ð=|Kò+8ïêSèûÁRæ<ó*j]E£9ãâsSâƒt%O>°‰QÓ\üs9{‡Ïà– žõ6EÛ¶Ô¯KRtì™L°—³hSÉ:‹¼qçséIC·©þi„V<óol¢&•ÆÅé—^Ä„Þ&u«žàoâªÏ@/Óaç¼?ð·êS¹á‚Qøv-e³¡&…èŘ3/äS=ð¥+yrÖÛ1Ùú~-¶‡'sñô±”˜`ïÌ=_«Ë557ÿðµg}‰s‡Õ–îÎsÿß].œy&Ú×CÊaǶs<5 z“&¤Õìµ ÂC‡S¼&†åBhÏ&¶MàÒÞ)ªªRFOé‚El¶Ê)§†½‰†B<ö¾µ€=¥Ÿb ™ýng*•R‚YDDDDDDZpùx-˜wìó»Þáé»õI°0Úæy=·†‡;ßî sÅ §01o$p½4ÞþÖÍÒÆõŸ=¬pd_ÜÁúÂé®çß?¥c%©‹„ÈÇkö¿²G4/HÌŠáxfÖz<#Eï¾¥Üós_º€°SÍ Ã¬Áµù <³áq¿Ás[œÚÏáÍ:8!¹“ï¦zášm_·Ê/w%˜»‘™“\*++)++hu8c¿ÍF”£J Y²åÜÒþ8›7°§¤÷½Í¤ÆÆ¿g3;¢#˜õ±µfÛ{~…Îï‰/½ƒßÿϯɌ²f93ò©8÷|6¿û}¾p=Sò]ìº <÷Ä‚Óoæ¶Š(5Ká·Ï,eÐç&QŒ£z9¯¬=‹+¿ñCRÄck0j7°³×-\?½fÍ~Ç_xýŒ/sãÌ~ø«xü®WxçØ«9.ßh½þD’ØÐ¸ôØ+éŸç°eî½<´`ã.AÁ1röÚûùç[å\1ôæ®êÏ3ËÈKodîì…„.¸‰ï”à~¸˜Ç~÷wô¾–i=|µëØš3×ÍìƒßýWî›Åëï•sÁÐm¼”s¾¶,×g˜p|1¬zŸO A—ÝkÖbŒ»LÉåF'Ǔ܉ýÝȸÔnÙJ¢ïxŠMH×Õb ÅŸ®¿9é<ŠŠj©®q!Òh§·³ª2È1—öÀõ²×•39bµ·‹Œê¸Í^Zßç¿Ùs(ÑSÀ0¢¬ú>˜}ƒN¢¨G‚¾º“«.êKÅœ«\¯>ÙÚ(ñ ™û>{€kz¸ -ë—×óö§ˆÝê8«B=˜X˜¤²ªQµ†Éqƒ¬zÃ!åYëqj->زØ´¯ogÏ)@(ì&^܆쵯„…«÷ð_ã )¯ó'Åö±nÕEFçQꪩ¬¬ÜÿÞ–áÌ z ‚½u1ÏaÛú­ô:•~[׳-íߺ…ÄÐáô0ßPƇmYX©ŒŸÐ‹÷Öo§ejÍñSxx8 +aco_Med"' ÷“ˆ'•O`È®õlJ4üF¢7ÿc"½<‹x²þ§ø†0¦<ŒmY$|}è_<€£+ŠH[ ¯ý‹cÔÔe:;´¬ßÁ Ò{ =ŒñxŠ’aƒ1ã1R€ç„¨˜þ)B Ÿäñ§—ÑóÜs8Êï’Þ¾†wóŽgÚ0?‰x;:–“ÇX¬©ü¨þ鯸q…¤, +¡_?55‰6Ì×–årɯ8–>ëW±ÑÜ]¬®ô1öèž¿£ƲvÑ|ºÚwym9Lš<à8.ŸÙèî¥ésH;M˳Þ[Éûý&0*’;캺*""""""-yž—óÕ\ÂNóÀ‹«9û'sùó;6¡Ò)KîïO¹í¯ú–ÈxžƉÈø¦ÔÄplvØyŒ,¬ŸÖŒ8m°4Š©qY^³úMøók6MÍãôb0=#`2í¸<.I­ç±¼õ¤öìåå‚Q|áÌ“è5z*…e'1ròqȃç'¹ç#¸nP‚ß/ÜïÁ¼¤s¨s7RVVvP-˜_^œ¹£ßQ Þ³’mÉ~l}¿'£N‰³ò5ÖíHboÞÃà1ý0xŒ Áý· <á0Éxðµ«gÕQ»ãm¼gá¾¾m]Rf_†Ú@0‹(ÌsšÞM2B„ ö3€ßW' ÏÃkÔùOkÄØ´` *w“ÀÄHìÁ*²/'<š)#æð‡uÇòÅú»r‰8Vt ¡†ëÎÏǪ²ê«5BýûïÝÕŸì1Ú4_›–+<š ƒ^bÕ{IF­am`,Ÿ.iãò!LÓl=¹kmæÕ¹Ë)8óJÆD~Òéôi¼4é´Ÿ` Qkx¯Š5«>bä)ƒ1/ç®fšº7'""""""-¹®w n®é<,ÙÄÝÿx›joƒ'ôù÷%ŠÛ“­ŸÇs÷µDŽôãŸóÞç3—÷gâº4ÎýˆŸ7ˆm—D¼Šåk ï›ÖÃÛw}9 1¸nãÿ{°eåRnNáÖSûðµ¨IØï±é5Üò'‹÷û™øœõ"üîÑ5ÜrÙ8þ6ÕÄoxl]·—o/öˆµˆaŸ`˜çÖÁùwq›×«MëµÉ:VÛ°N£s7’©urîáŠÌù1¼Ïól^³ŽÍÑ‘œŠàŽŒ²xýj¼í½~ö¾l¨£6æAQýݦšªÂѼ65{7¢ >/ÜxR}kh\RV‚TjÿÇ–m蛟+Úy³)±z.[Ùk¯¿„apÖÎæøÞÙù:Ï¿7Œú¾Ã¿ÃU“J0ò ˆÖÕRëBO³>ÀÚê:"Q Yãi×|—+Ĩ ÃyqÅz¶¿Kh앵oñ[­&˜Û˜?g>Þ´+8sXûö5_q ‘•{‰yƒ)4§Šj é_x`LïXE%㸨ä裾<_k·XDDDDDDäHÔ–.2æ¯ÝÉOŸZÊÆx„p¿c Bû[,·›—ä¾{—ÂàÉ„Ã!¼øûœ÷ƒmDF–ã«[ËgïxÏÀðà7öàM!ZX÷¿·ƒ@ù8êÛ`y¼ùÜ¿x-4‘üžMÿ÷5zU°aí»\ûÆë8ŽŸ©ŸÎí} °ûõÆÀÃ¥ˆwg©§¨/çG¿}–ÿI¤³hÑ}1½æ14TXL$â°ôí4ú¡ÍO÷ÛG]dt5ÃëFZ(—••µi8»0C†Ù°°ߨR¢@þˆ‘°f!‚ÃÚÐŲ³™eK¶’ðÀ‹¿Ç‚¥U”–ÊÜzÙ V±{O}FÏ7pcb‹xþ­íÔÄãÄcUìܲ›Ø'u÷¨IýN2-"L‚DÝ–¼¹Ž†Þ9pv³`Îrúœ7ƒé3>EdÑ\ÞÚëâ0ޱ©eÌ_W‹ ¤÷®dþê<Æ–—äÿþî'À×*Ñ’Lqù1KʈŽ:™Âò‰,›·„ÍþÜsjˆ¾Fý¼Yëñ<õ#2üD ËO¦°|ùú`x^†ê_Â0W«â‰MÅí^/Ò9Ô‚¹é°Ìûúa¶^|±¥…õcJFRê¼ÀòÒáï»[d„G1*8Ÿ?Þ»ZÛÇ€)WpYi ó- ³NÊóïáã¹ð†s8ã3§1片¹ûi ‡ =Ǟ͕çV#EØ~Íê¿èšÓ9qÕl~s翉ôå˜iÇ3x5€ËžEsx«ä\få#åU0ýôåünÎ2J¯šÈiWΜ'âÿ°!Ћ±Ó¯äÄžàÚ9ê6ú·o¾ W›˜®9¯ˆyÏÿ}¯GâkǺêÖ«·›é¨MßZY™¾32 ç—éÝhã熗™aØ×hØlô¹ñ{¦×´Í›7ÿ(Ç2w¨Y‹MfNrªæ†y2ò…È ›¤- Û0 æEð; âIÒëxêîT|ójƇM ÀM'IÚNÖ^+ ˆHÐ^š¤eã˜~B¡ >Ó¨ÿ©DÚ&‘Lãá'õãÄè·ù8Á¼ že‘òêã DBɆx[©?áà ‡ð€ç’N¹øü.‰D#!l¦°’i<Àð‡‰ø¬D ¯!æ}? qì$É´›!>ð…ò¸‰”mž¯µåJ±iÎ}¼1ðz®ɺ?ÉlÛ&‹µo† (Ž6oYì’¨©"žÃ&š&`xŽM¼.v`_ò…),𑨎a·rŠF£ÌË–-cÊ”)í[(éöNº3}ú"žRfócñjHnZ… è?–pA¨]Åä vïØÊk_Ò¦éûöí{ð:àdy¹Þ½FŸ½Fãš7~ÑÆÏ¹Þ[G+ãÚò]›©s72k± T4zx_[†³p’Ä›äè\ìxŒæ n=;Õ8¡k¯eîƒ/²±Iµ>ŸúYÎ?➣†›&i5Ñ M2Ö||óqvÜj_ʲª~ÇŠ7]ž}ßy)‹xãeL'Ìw1;É8ûÃhó|Y–«aê=oñÚ†AL9KÉål‚Á ®ëbYV“ñn²–’ÙçóœuÕ‰Ì_: jªZ¯;‰¨õ²ˆˆˆˆˆˆd¥®:BÁa'ìÿ|{×§6CçQ‚¹›ÈÚ¹³…*˜qËø} »©Ét'¹]]ÿ'ÅÝÆ+|‚%5Œ»è*ʂІ®€XápÓ4±,+÷Cÿ:ˆišJ.‹ˆˆˆˆˆHNÓ â÷ˆÙ^Ç4 •v3€ˆ¿~›È'O fÉÌ_ηmÖà9$›µíT]]ÿ'Å̧¾ô-Î1<Òɶ²Ë­ ƒlÛÆ¶m\×íÐd³išø|>Á`ÃÐEIDDDDDD²? „ˆ.ÌÇóô?dW2 Fý†»:”#‚Ì’E¦n,ä“ãb7ïÒCZe¡PˆP¨}ý1‰ˆˆˆˆˆˆt”oÖ‹ÿ}y·×rÕp¬+Lƒ¢!¾uZ¯®删³ˆˆˆˆˆˆˆˆÈÇÔ;Ïäžóûé°‡Ïó:¥[MQ‚YDDDDDDDD¤C(¡)G¢æÏJi%˜EDDDDDDDDD¤]”`‘vQ‚YDDDDDDDDDDÚE fi%˜EDDDDDDDDD¤]”`‘vñwu""Íó˳+|ôï&èË]–ëºØ¶Ýá1ŠˆˆˆˆˆˆˆtGjÁÜtH‹d¯Ž%Ü϶©_æÂR?$ßaö]ÿ‡3ýV.Áp6ò콯ÒïšÉlyt%Åe[¶Ö‘Œ%É+?‹§ Ú¼á¦cí O2Ë.|ßÇ’ü λúú~°”9ϼʆZ—@ÑhθøÆ”ø ]É“lbÔ4—ÿ\ÎÞá3¸åBƒgg½MQ…Á¶-5Äë’{&ìå,ÚTG²Î"oÜù\zÒÂN%O¶uZìâè‘Èó4B+žáÙ76Q“JãFŽâôK/bBïV2ŽrÈËP0ä$.ŸVÄúÙOQÛ†òR©¡š½‹ˆˆˆˆˆˆˆ(ÁÜÌœäRYYIYY@«Ãûm6¢UZÈ’-à–öÇÙ¼=%%¸ïm&5n4þ=›ÙÁÔ¨­5ëØÞó+Üp~O|éüûþ‡x~íLf”5{È™‘OŹç³ùÝèó…ë™’ïb×mà¹'œ~3·UD©Yò¿}f)ƒ>7‰b|ÕËyeíY\ù2("[ƒQ»½náúé=0kðû;þÂëg|™gößXÅãw½Â;Ç^ÍqaßAL»•yã˜Ü2æD’ØÐ¸ôØ+éŸç°eî½<´`ã.RÌÝ›ã89¾5(èßê"MÛZ³ç.ODDDDDDDäÈ¡s7RYYÙä½õአ¥ô6ûßÛˆy}øpýVúN†÷Êz¶¥GÑ{ëCO£‡ßPƇmY@ÆOèÅo×oÇ);ªYÂÕñSxx8 Ëoàl_Med"Ÿî'O*ŸÀgßdSb"ã€×›‰ÿ1‘^žE<¹¯ßÆ”‡ëëóõ¡ñ¢E¤-‹4½è_£¦ÎƒpÛ§u>ÊGq°iÌ`é=ϳyÍ:6GGrB(‚;2Êâõ«ñ¶÷føÙû2·^ŒÚ˜EàQSUC8š×¦'CÑ ŸÎn<‰û3´.)+A*µÿcËÇL6oEš«Ui¦ÍGºé´‰ÕsùÛÊ~\{ý% ƒ³v6ÿ» GýÒmtt‚Ùç;¸6íÛ~þKz]|>½Î>³Ãb‘ÖŠ é}ÎYl¿ë— ýÙ»8¢ÃÏÁ5Ó.ÕÐB¹¬¬¬MÃÙ…2,Ȇ…•øF•òGŒ„5 ÙÆÐ†.–Í,[²•„^ü=,­¢´|PæÖËF˜H°ŠÝ{ê³Ç¾ã[Äóom§&'«bç–ÝÄ:.Ç×&9ãh³‡“LàF‹“ Q·ƒ%o®#qÝ&È¡+lÞ\ýã 5}íüô˜:¥Cc‘¶+>q µóuu‡%µ`îF:¬ó¾~˜­ßcliýOõ’‘”:/°¼t8ÅûZúáQŒ Îç÷n£Öö1`Ê\V i¿û˜½˜pòPž}¿(Ï…7œÃŸ99O<ÌÝO[8é9öl®<·¢EÏŸ(c`ö8šÅ|Ñ5§sâªÙüæÎ)èË1ÓŽgðêÎ V>)Á`˲Z틹-LÓ<脵·ðª[ ‘®(*ĉź:ŒÃRGv/›«¬L߆sËôn´ñsÃËÌ0ìk4l6úÜø=ÓkÚæÍ›”c™;Ô¬Å&3'¹ÕsÃ<ùBä…MÒ–…í˜ó"øñ¤éu¾@$„‘´°Ýƒ™ÈG³˜¾p¿x.锋Ïï’H¤æùorˆ²m›XÎ ‰I¸°3^M<}ªh4š1Á¼lÙ2.¸àâñ–ð[1áÆ>ùçvD-"""""""eåÅŸæ˜e™ûCF£·¯N–—›áÝkôÙk4®ùpãmüœë½µq´2®-ßµ™Z0w#³›@E£‡÷µe8 'I¼I®ÍŎǰ›MæÙ ¬Æ9j{-s|‘Nã©| >õ³œ4Msnš¤•)S—&k>¾ù8;n5‰/eYí˜6W॓Mbv¬xÓu#Ñ(ÝK0Äu]¬ÆûF.‰šêœeD"‘ïnCDDDDDDD¤;S‚¹›ÈÚ¹³…*˜qËøw»©É´ÚùÊ¡-cš&–eÔCÿLÓTrYDDDDDDD$%˜%39WÜ>¶Y7€çÌÚTäÐ  ضmÛ¸®›1Ùlš&>Ÿ@ @0Ä0:²G!‘ÃÌ’E¦n,D†a ……B]ŠˆˆˆˆˆˆˆH·Ö¼§9œ¤—ñ“›Ã+º_$GªŽ>ÚSÞá~¶uù÷õÐiÒ¼:ëKܾD+RŽ,î‡or÷¾Æe_ýß·‡ë@°«ÏM]]¿tOÚoD䣳ˆHWñöðô_åö…µÛj±ø¡ÿÇMswtÐ?N~ Ã:øh{?ÿö}Ì‹ÊýËÛlzãa¾üõ›8÷ 7ráWÿ‡ïÌ]G¢ák/FåËóµo™ó¾ðÎûò·ùÚ#óx7¾o™Ü­<üýÿá¡ÍN¶ :˜Çîw–ñn¢õ);NGm)¯ùrîÇa¶åë¨õÐûÍ¡Íômþb7YîVþñí¿ón³S’W·ïÍüÆ?ýo®°Ó8Ñr®¹ñZÎGnÿ ±Ïþˆ™#ê3ÎÆÙ\ÿ Ÿï|ƒ¶¿Â/úK«]B=ÇsíõWrZŸæ—“,e÷÷Czw|o!ý&¬~·+V‹1|:ßüÌ4Kt&¶d©+½Œ;~´–)ç¦yâ/óÙQv]krOóqÿu^¶u˜©Œÿ:ŽpCåé5<~×|¦ÞýEN¡ 1»;xüÇ÷°ç?Ì—Õ¯gËS̼ßák·_ÊàííØ–ãWæŒÑ­«aoß±Lê‘©² û2v€‹çx\Åß^Hqám×ò©Þ6nUžÑ‹Ó?÷ev|÷üuÕ©|clvS{+sÿôG_SEÚƒ¼¡çpÛÌ Þ‘eY¿;‚'oϰ®®®`ó0{ýV|?ÿ>s‹Žãæ[Ï#o~¦ýÄÇG‹ïãË/—ò“¯}ŠÁ¾4žù ?øðBŽ;¿÷<¥·|ÏkºÃX›_á×üƒ…»“xÁa\}ëW¸¸O®c Ç>–«¼^ ù9‡®äg——S`ì÷·fËyóðvǰ_zw|o½7X»¾Šêj‹¾'_ÊÙ‰7xjm5±ê…'|–ïž7’¨ÑÎãÏÎu^1²—™ÉA¯‡,1÷‹·,çÖ ¨h´é3n§föóçAœ?ȶm2_:ƒáÞ2îøŸEô=Öcõ†*âµ Ž½ŒÿwÑÑô0rœÓsž=j*Ÿå§Ìc}:DA“8Î ìkµ–%_Žípë Ïv>jX©]p>À(dÊ$“y‹Þ庑„¼½¼²¸–©S2gSÄ­ìã-¶¯ïÀùÜŸcÞú•†¯"]åÃÏè©7ðëv¾øìRοéŠ[Ldüäqü©Šj çwrlŸ6_ßF_ÄyÛ_&y°×ä\×8wkû®ó™Êü|_þñXht õ·wß?°/yæþ¼ºŽ6ÝÎ}&ò•[¦34Û~˜kÙ?ÉstÎý.Éú?Ä=óvá:±a[-¾â¡\ú¥Û¸v8™ëÿtï·¸n6:ÿb×ç_}þ˜úý¿½ç€\çq;þxj¾rìkÙË8ÈóM£óš‘¥0ß ßh:ÜTû¯–­í³¶i]!z”Íà‡ôeÑkù0C•""Í)Á,"Ò•œ(g^zOüþeÖ óçõ¸îsEž öZœõ"¡kï`öqŤw¼Äoÿð-./öc˜MNiø³üd:¹Š·ÒßãîßVŸ\Çï¿ýS_s,·ŽñÑsô9|í”[^¦òÑoð­ç+9ãsc9mj”Û–nâ†#ðã°þ­§~…Þ~wÿ ?÷Sž8¾=/ßÉÿñÊ¿~ýšüÁlf){ üxUo³ªø§üì‡ º;ùË÷¾ÇãkŽç«c-@zg« ?ÞGoðÈò˹íW_dTÐ"]ýVËq{Wñ›lë°w†2b|íÃ0|ûÖqb6rÆ©}¸uñZþ«ìhB8lZºNø"¥ÎZfµk[æŽÑ?l2SkïãWÿèÍMgVÐ/èìÿ·³ó=ÖæçÂ’$nÃ/=7YÄñÇDyaÃNœ±VwÑÄÊ9<æ]Äï7•B’ìÙUE~ h¶eõíʼ®*Æ×>ûyN_9›Áßÿ.§pê,j²ì'%S¯ãºåßç·¯Mࣗð«EÃøÒŽ£ÈÙÀøIÇ1 ¤YsšÔ»<4ëyŒÏü„'NìQû–kB*Ç1Pö~ö},£<Ïfýs÷ñûÄ î¸a,ö¾—F'4_Ϊ7yº=149¦üxÕï°¾ÿϹós}0>zž¯~é×<~Éüò‡C ÄñÃ[žåå“nazQ;¿¹öÅ\efp°ë!Çù¨E9u‰ÝdÛîÉçÏLÇ~¦óGu%÷gÙ6Å™Ž öãí}›µ}ïäÎÏ÷ßÞÌ£ÿóî_þ¾yôæÜ1eÛ.¥•üþo2à¦_ò¿ãòH¬û+·Þ£Ï´,ǧ¯•íðÑ ~-ŽþûŽ«.8Ÿí;°(š0•!¿\IJdSBàî~“WÒSørï <½©aºVöñ Û÷Àùü öeÏųô7‘ÿ·ŽõÎ ßìÔã%÷°äõÕD¹–þ;˺}êú–`ãS‹þšœk}›ƒÛwÏPfÝ«¿Î²Œ®¡¹þžÉµï7\_"&^þj·ßÄ¢3Æm¼Üûq®ëû'yŽÎ±ß¹{^ã·/qýO¿Îñ‘8¯Þû-^žx;ו»x 2_§*ÆWsœÿµës¡‘ã:Ø–óξõ˜íÒ®ã©ù6ʶ¯åÜÎy¾it^3"cùìÅn6ÜT¶ò[¹þ5ÑÆ¿YÛ¼?›ô9RàzGv+ti;ýØAD¤K¹øÕ}æóã_¿LÞùÓ9Ú¨ÿÙgúý·XPpÿ9Ú‡[]™?™Ë&ÇxuÙ®ƒëŸÙ7š³ÏB¸¦š´Ý‡ £|ìÚÇà ÿP†xµ¤« =³¶AO ðí·êûÁt¶ðÚŠ§Lì³q óóNãò2?nu='œDùÖwXoþÇg¶²÷ñæô)صµ¤cFñ±{o¬ÉÍéÖêòpΕ§1"]sàùfãZ]‡™ÊȦ՘]úCÞY̲$àlãÕå>N™Ü÷ãlË\1Jùâí73iïs|ã[ßá›yƒ V}DnÂ"Í#¿Eù‘=6„QU®HÃÆÉr ¤rìc9Ë3ࣥpÇÊñ|ëK“éc7ý9¿×b9ÛC ¾Qœ|l^m-®#zcêÄž˜µµ8N?J{Õ°»Æ¥#Ž¿–Z)³…ƒ[¹ÎGËie»·ëØo~þȱm2Öï)ó¡¶–t¢'gÔŸe+7bµS–í’Ú¼’·JNãâá.nu-Á~§qvY}9gY¶CªMç£.8ŸícFÆqæˆJ^Ze.›/Áâ$ú·|+ûcÎzv_‚yä',öwoêlå¯?¹…7ßÄô™ßàΓøï³‡´h¹“mûÜõÍnÿ59ëzø×ùfe¶¾¶áxlõœäá%bx¬mÛ~œcÙ?±stŽýÎýp7»”2Ò©%]ë0|H![7nÆi¸|d¬?–áºÙÚþÕ…×çë¸mçÜÚ}<5–í<›³Œs¾ÉgD¿ü}I—ÆÃµïú—S»–³)/F¹e9jÁ,"ÒÕœ0§LŸÄC÷$¹tr´¾õ2àÅê¨-A‘³ïOo7MqQ5{bÿÏúG ¥0°¯ «ç``ÔÿêÕ°ò_Ï0{Ù6â†#¾XR<ÀèùÿÙ»ó8©ê;ßÿ¯sªêTUWoìû& 4-«ƒˆ€q7.ˆ¢Æ%šdL4 7ù%gɘ;“If»¹&gFã$w“‰F£D“Qã(J@PYĦA–ÞªNÕ©:çüþèn¬î®ª®nZ ñý|<êQgýžïÙ«?çÛŸ3‡3ËÈŠW0%ð¯Gçñwƒ}üMì¯[Å_ýåsm­$\’1ÌJ±ìÊä/»µNQb¡öµhýñîwúÉíÇ ,+ ˜Z’î¸Þ†u» s•‘Ou¦dçOü /¼m3gðZ^µNço‡øøõG°/ ÕÑÏàÇrùÍßãòô.^¼ÿG|û®4ÿö­³+¥$ÞLs—ù<š[”Ärý‘ÓU`ì•ü¿¯¿Àý¿ºƒ/<2‚‹>óYn˜9˜`žu%]ä¶‚nŽ¢³¸lÚƒüå†Oñ'Áó ^¢ë+Óý–fšÊO¢²}go°<ç@¡c¬`yîy<#&Sâ8øÅlÈ^Ô¡Ã9`D( ´¿ ÑÇ0-"fk@ßÃ0üÖjöÁùwx»¶ÏÔ]™ÅêÅõ¨|û©Wç~—ëGþ}“÷¼0”˜í…xÄ¢%Äã6nwuʳ_üD -eUTxíûÞ¢¼´u¬G¾mÖM= Gûzvx‹¹ ¦ò³ߤiæpþ¸¾œsþ¢ssö4Ý/¯›=?Öü¦C4ÄÊ©loõ?ø!_šÀðZØü?ÿÆßýÃüŸÛS•Õ‚<ßþééý­W÷ä|÷Iú¶ÌbŽÁnÏÇ\“Š.³'÷wè›kteš#Ç3j×[¼ÑðgœQÖȆÚ&&œõ¢Â|ׯŽ¿ûs~E_wrÍÛͱֳûhžël¡2JŽàzƒ‡ïæêÎ^Á>º¿ézvÞV""=¤³ˆÈ1çaX¥”—˜Ä\ïð¯l£bM‡8àA‰Ù:Ý¡ƒ” (Ç4aúdýøLÑ’Hçý1Úõ•ñµó½Õcù—ï~•ÉQH¯¿›kþÐ^¥J>5¯’ÿ½~;gšo›w+#}pË+8ñJ~üýEYÿJçâ5·àeEâkÉ_vÞ:u_hYNþ2:ü[e¡mˆ]T=zRgü0óNå¾W6²ið[Dç}ƒQ>¸G¸/ .×Ëà%šÁÀÙŸ]Ìs_[Í–ÌY 1™©ö¯ùӞ˨ñðö±öí¦.A€}ݯ´ëP1î\nýÛ ¹iû“üí¿<À¾{+‹*s¯kÑÛŠî“tÝÓüצ),½šÿzþtþ霡yÿ5ÊÊ)k:ÄÁÃÛ¸ÓøC cΡåùÂ?.żë»üð¹IüðÓ#ŠúAÕÓ:x9¢uFç2ž IDATBrœô½>ÿL#ï±XL™Åêñõ¨PYyö{oÏý×Bû&ßyQ øMlöa ø8pˆXy)ÞÖ©´œÒ–|(1ß&ÞÞÚ,ïù™ÿ ,¼m²‹ëY›hõNyð^\?Œ×‡.䎒Žú‘Ücz~,gØñ§5|8å2ªZw)r0c0qÁ™T?ü4o7ùT ÈZržýsaOïo½¹'¸Oöi™…Î…6}}/þØÊÌ1¤Ç×èg:+ylC.þð5~½¦”3O†İH=[÷¶6…p÷¯åå͹šE´—ßu@ÊN)È·÷Ð{üñ…7iñ??ä”y Úð,¿ÚPÆ™s*1€à„yœÑü,¾´Dc#™†½ìy·Ž¸Û“²óÕ©£¢–•³uZV…¶a‘õèIÁ'Z½ÙõäoÆ8kΠÖív¤û2ÏrÓngÞÒ>à¶°í¥Ul1±A XÃÕ‹"<õóGx¡>Ž xöVþú¿x"°ˆk¦uŸÀ=´‹‡¸--” ÏØ¯íïáÜëZ°ÎF eáy¯C·Ç‰»‹Çz•qŸ»‰oÜ|5±çâé=ð“üðP§c‚ãçpjÓr}« àÙ Ê~ëz®ÿ”-pŒ,ψQf–pÑ—¯¥ô÷òëúN-ª;¬gámRÜ9ÕÍví4A¯Ï¿¼Çb‘evVôvè¦ü|å?õúÜϾ~Ø7ùÏ ³•ÿyi;->xÍoóØËûù³S&íe‚ãgqÊÁWX¶¥5e@²~Ïnn=æ Ö#Ï~(jÛ´Uæh^Ï:Lâ¼Ù»¹ïõLX0²óÉ=¦gDzgÈÏýŒ¿ûc”Ï^1‹X®ˆŸdçŠlˆe|yÇ òퟞßßŽàžœw{÷M™Åƒ}~/>Ò2Å5:½ƒ—_¯àæùg~ü÷ßå;—L ¬ó†êö¾ÙÑqw.P;®!Gt>u³þùËè›ß´ùõþþWDÑ]ôx[‰ˆô€Z0‹H¿åû>Žãà8žçáõá£wÓ41M˲°, £K³Á£À˾uÿq׿pý)|kg~þ›\5Ì·Š«?_Åîþ;^+-%R:‘“O®â gÀ¼+Xòú]Ü|ëã”UŒæÜKÎfꚬ)Êfó©òø7ïó|½¼­9‰9o[Â]?ý!Ÿ½7AÚ·5ï³üýõ‰ö ì¢µ¬îV³À6Lõ°>Å TqþŒCܶ}ß©ðÚþ3ñãÙ—î¡ üü¿žã݃iÌP”¡U ùê7/f¼áâûã.ükþ!òÿùÃ%I:cç_Ï÷¿}ã½T[‹ :ü?_æá¶2ÍÒ…üàŽ9µí‚{` ?úÏØí†°‚eL½ä«Ü4Ðh]¯\ëZˆ9‚ Oáßõ×|¶r>·ýu¾ãÄeçóñôÐëù÷š¾7‡¯]¹’[^Á©×Ùüàûïñ™.åÌì!8…/ëB~t÷÷ùÌÏSø‘“øÂm·°dH¡ú8Æ –çƒçAÉ8÷ ì›@¾ó" FÉLæDþÀmß~© U烿™‚L/ë:™/}ÿøÓÛùL*DÅȹœ9w8uts~æÛ·¶Àõ¨Ó²âõ¬ß fþ<Ê^kἓCt\¡#¹Ç1¯»“_ýྟÁ÷Cé&ÜB*-ü†rc%˜n3®cb–Æ0MÀwñ’.¦å’ii/ÀÄ,« @‚Lsê£z,%QŒ@Ûÿ ;6nÂéXo#X ìuJuzHwY]ËÈUnám˜gúœåõ Î8¼ñðßñß'}‡>=öÑ­Wû²›:£ca “Öy3i<ÛÆs7}ÁG „-0šXý³ÛùáÞóù¿ÿë Æ˜åå²2hà¥È4&>ÚŸÁ(ÁXû±ïã'¸©ö»¹Öµð¶2¬h|·9‘ç81"e)2q§m•°Ò$VÞÅŸÿi?»yf×tÁpÖ6Î൴à¹Ýì»BÇsåVŒ@Øm}³{ö¿ g¯gS³·u8¬óz ”Gñ[šÛþ­ÕÄ,+…Dž×ûó/ﱘîY™=ÞÝ\:–Óé:™s?ÑÃs¿Ðõ#ǾÉw^d6ðO·½Ê¿³K[O,ßIàÚé¬òŠ«S‡c$%Pbµ¦Hq¼öýâ:?óí¿Àõ¨££x=#€Y^íÇt0J0fâ6µ½ÜÍŠ ¥[¯ =¼ÇtVpÞ¶k¢é·c>¤¼d2ëºÚyÀMãÙ ¼.Mw ìŸÝß ç÷äî¶w•™w;MÛÛcÿ0³´#Õ€Û¼îõýýh\£³‡bý¯þ‰‡¿]2‘Š8‡Öñïß}ˆÊ¥·ó¹Qáâï›Ù׿ãìþ춤:l“Þ^wò^C ]ïz¹ŠÚÏ=¾ÞôPÁò ÝÿòýN=‚ß=]dý¶P+g9l¸â³Ì\·*ç¸X,v;°’ÖÇ_¹>^Žo?«ßÏÖ¹;ûC‘ý…¾»F7ÊW4µ`‘~'™LbÛöQ[žçyÄãq<Ï#‰|< q“dšr wp›sÿ[œï$Èt•k›¤q:¾ÑÚO4¶5ñðš;ü ö:”çá5êúƒ¹@>ZH¦@Ù…êT첺–‘{XOËÈ7¾ø:§?XÁo¬âÒ«K;¾¢§Wû²›:fl2…Î?• “JvÃ_pÝ¿|—¿þYˆß.r¹×µð¶òx‡uõó'~²™ï¤wZÈ8.￈SNËý.šL ·©sÓµnö]¡ã¹ˆò:¯O¾á½®CÞõÈà65gõ{xÍM‡ÇõöüË,ö¬ÌÃe½ _òmçÖªåÚO|¼×nÎ=?ÕB&×¢uêpŒdlܦìåÙ‡¿ _ÚÊê¼ýŠ:æŽòõ /û˜ÎØd³Fg¯Cï1†œ·ˆkbQÓd¯CžýÓã{SOïÉÝmï>*3ï:vš¶·ÇþGCñZz_ÏÎ¥}ì×è¬a¾Ãî}6ƒf”mn$ dÐäURUf䜷Ð}ó°ãêþܵ½½î俆ôæ|ÊÖËß=¾ÞôPÁò ÝÿòýN=‚ß=]dÿ¶)Læ~âîÕ½K—½t®²õˉÅqœ£\ÎfÛöá´"]¸ïñÐʲƒ•œyó·Xhù}ô,¸¯øøÎ.ÿîý\á'pãùZ«ᘭk€É×~¿Î´à¦«+rb9î¯g"ýˆQÆÙ×.fÝÏþž›þ;HßÎüoæÓ•½oúšƒÎ]9F”"£Ÿ¤È¸{µÉÆÔEf€Ù§qÛf⣫>J‹”Oß÷illÌÃmbÇš•¼öv=Í®‰5póÏ;ƒI­gœÖñü×±Ûö±Nጠ0¡šÖ?Îï|бՀaú7rÖè®vLÓ¤¼¼¼KNæ#N‘!'€ fY ÓôðqÜô‰ü€ï“´®"=Ñÿ.}\Ð9.Ò§a%aÿ|ô=¼d¯ÏÏ-»""ÝQŠŒ+šZ0Kßð±qùŸ™ÂÈð1xš|"8Ž“?ç²ÓHSt&W~í:†F2ì]ù­ØÌèES‰fvóúó›xÉWù싃kãá—jºh*•ónäoÎ ~ôt+¾‘ÇÜΔQ¹ÿkÀó<Ç!Ö“é¬ë¿8ž¸>Ië*Ò}ðïÒÇã"}ÊMá6\oΦsWDDŽ ˜û‘A}ñjW¿…5Üîß䲪 ¤ÞæÑ;~‹»è[\3#Šá¾Ç²;—3üÆÓØùÐ*«}vַЧ(™zKΞH¬süسù¹Çyuç^÷ÿ”5¥5\rÙ ûp-O?µœmÍ¡Š)œ{ÅEL€L-ÿ|“z¬úÃzMX­—,»û-*j víl"Ñ’¢â”ó˜í¬çõ-¤ZlJf\ÊUgŒ%’ÙË¿{Šï5ãú¹«®™Ë°Þe‘~Äq ä ‹ÄÜÓ ÒÉFÙ‘q¨|'ŽíAxÿê+fsÕ4 iBSæPµêuêì©L¥‰CÉöB|½±ŠýUç3Ê/O,;N+À,"""""""‚ÌýÊÒ¹µµµTWWtÛ3o³㤪rÖìü¯jnÝ6öˆ·½ŽôŒ)÷×±'6‘±õM[Ø=èn¾tÌ^¸ç^žÝ¼”%Õ^rf”Rsñ¥Ô½ûC¿róJ=œ–müþ±UX‹¾Áí51šÖ<À]O­eôæRI£q=/o¾€ëþêûŒ¥IÄßÁhÞÆƒoå¦E0›Vñ³þ+Ïý&_]:œ`r#¿¼ãeÞ>åfÔ­`¹·|g&%84ŒPpùÁu ¼¾ØK“<œFÆ£yg=Éa³¨4!ÓÒŒS1Ž`ÛÛÝÝL Í46yÍ:x2»ÙXk1óªx~þe¬‡ˆˆˆˆˆˆˆÈ'ˆÂrýHmmíáïbºs30~,Ný.â¾Ë®­õ [°€áõ[Ù•ñIÔï$9n 0Žé'—àØ6vz³ffûÖÝ9ßêì:i||ܤtpvo¢6z*gL’L$ OÍØ½[Ù‘lkêáÔOŸÊ`ß&‘j{q`,Ó¦Fpl›d`(#*GrrMÛ&éfDeœ¦ŸÀ !Dê×òêÛ»iLd•Dú4™¸¿ò¦Çè<]ó»¬XsOCp]PÀÌúwA3à’q;–goßÀûÃg39Z8€ìy=ûÇC3VB¦Io`9VÒMb±c]’ÌýH{ åêêꢺó1†ŸÄ˜ýuìJíaëûƒ˜B|B‘©D²¨œ^¾ÝBóžåüâ'?á_ÿõ_ùÉ¿c» n{†³‚ò·c #L8pxq`†ÚÒ>­oA6GœË—®žLãʸó®_òÇÚC9‚Þr"2Í".YvËŸYOÙy‹˜uñP(H&“ùh?C&Ä e=šðxgãA&̓ÙÍUT=²”͛ˡW^ëÑ<"""""""ÒwV®¢tÞÜc]’Rdô#¹Z'î®É]P`4†>KÝ;[¨‹MâôpoRŒÕ[7áï„ Û¢¼~œæ¸àÓÔÐD$VRÔS #VFÙ˜søÊWÏhm €GÚN’Nîíúˆ£sÕ\ V½ Ö¨Ó¸üËó¹h×KÚ¨`öUŸãŒ9uÑþçÉ_ò_Í.¡A'sÁⓉúà7Ö²qßæ_Âëæi…išXVÏâÐÐ!Œû¿ÿÐãùDDDDDDDDŽg}•+TV®qFŽîBÃr}Eö·Ìݬn3«?û;×ga]]Ý ¬sŸº{µÉÒ¹^Z0·Ï“S LIÄ$cÛ´6ô4±J¢Ý$‰” ™-<ñ£7©ùö ÌŠ˜€—I‘rÜœY+Œ`˜¨?CÊvpÍ á°EÀ40ðñ2ÉTŸ áX7žä£¶¨‡°J,|Û&í·Ö/ c¤lÃ"¶íh/"•öòÖKN,ŽãÏÑØ —QëܲØ#ÙÔ@"F B¬4BÈ4ð]‡DKœÃœÊË$ã8ÝH±X,g€yݺu,^¼˜D"Ñ»‘c&‹Ý¬¤íÿús|¼ß~V¿Ÿ5¬swö‡"û }w7Œn†3®hjÁÜܽÚj²R_Ó‡›"Ñ!Fçá$â8&ó$vvŒÚÙÌ3¿xž÷:ä¨ 0æ¬ÏséÉÈÎ^àeHÙ¹ÒdHÅ;ï<ÌÅIØê—¶ÛûìDçšÊ'…eYxž‡mÛ†{©f¦òÏç»IZ“¹GºIšº_v4íUëe‘•ÌýDÞ–ÈG[¸†%·Îêòn>/$•Qb9:"‘¦ibÛvá—þõÓ4\ÉAfÉ-8•k¿7½S ÀwIuj9*r,X–E(ÂqÇÁó¼> 6›¦I   aY†¡<ß"""""""")À,yäJc!r|1 ƒp8L8>ÖUùDêœé@DDDDDDDDDD¤( 0‹ˆˆˆˆˆˆˆˆˆH¯(À,""""""""""½¢³ˆˆˆˆˆˆˆˆˆˆôŠÌ""""""""""Ò+ 0‹ˆˆˆˆˆˆˆˆˆH¯(À,""""""""""½¢³ˆˆˆˆˆˆˆˆˆˆôŠÌ""""""""""Ò+Ác]‘ƒïû8Žƒã8xž‡çy=šß4MLÓIJ,,ËÂ0Œ©¦""""""""ý—Ì"rÂq‡D"ïû½.£=(ÉdH&“D£Q,ËêÃZŠˆˆˆˆˆˆˆô 0‹È %™LbÛvŸ–éyñxÏóˆD"}Z¶ˆˆˆˆˆˆˆH¦s?q÷êÞ¥Ë^:·giDú3Çqú<¸œÍ¶íÃi3DDDDDDDDDæ~å@ãfƒ¢O=ú?ŸÆm›‰®fdøX×EúŠïû$‰ ûQŒçF˜~Åœ5ºëƒÛ¶ …BÊÉ,"""""""‚ÌòIäbãò5„?3…‘a OŽãäϹì§HSÅ%·\Çœ2ðq“Í4&2Tλ‘¿9'Èá#!¾‘ÇÜΔQ¹ÿkÀó<Ç!ÖÓ ˜û‘>i‘ì·°æ{صà›\V„ÔÛÀ¿{Šï5ãú¹«®™Ë0œÖòôSËÙÖ쪘¹W\Ä´ÈÔòøÏw0y¡Çª?¬çЄ%Üz™Á²»ß¢¢Æ`×Î&-)*N9ÙÎz^ßÑBªÅ¦dÆ¥\uÆX"Fž²$ÙüÜ㼺s/ûÊšÒ.¹a!á7ŸbÙ+;hJgð¢'qÎU—3{H 6¸-Žãäé'±Sa¥q0Ýq”—lâPòð„zcû«Îg” ^žxu:V€YDDDDDDD˜û•¥s=jkk©®®è¶;gÞf#ÆIUå¬Ùù!^Õܺmì8o{éSî¯cOl" bê›¶°{Ð-Ü|é ™=¼pϽ<»y)Kªs¼äÌ01 “ì%fÒ[V°Ü?‹[¾3“šÆ ˜@f'/=¶ kÑ7¸½&FÓš¸ë©µŒþÂ\* `4®çåÍpÝ_}ŸÑ¡4‰ø;ÍÛø`ð­Ü´hfÓ*~öÏ¿bå¹ßä«K‡Lnä—w¼ÌÛ§ÜÀŸEêó”}5_JÝ»Ï1ô+71¯ÔÃI¦ˆ;«N¹Ž%.;Ÿ¹“{Wí`Æâ‰(Äܸ®›¤ïâ$·óÒ#u¸)kðDNýÔ|&èt Ììfc­ÅÌ«àùùË+¸,‘O˜û‘ÚÚÚßÝw×ä(Å`Àø±8/ì"îåÀÖz†-XˆÿòVve&3¤~'Éqg3ÀH@`ÓO.Á±m`³fæ®­»q«OêQà50h‘úµ¼úöNP‰UÁ÷}ÜÝ›¨žÊŸO’L$ OÍØebGòTf…§~úTû6‰T{ac™65ÒZ§ÀPFTŽ$VSAƶÉ0˜•qšZ|܃ùË®´Òøø¸I;hÑ!£(ñ“$0püÌ×â¤Aæ~$oz €à.üÚ7°‚!LßfÏÚ§øõ3«©¸n>òžŠØÛ7ðþðÙ,ŒºP †ìyzy¦ˆˆˆˆˆˆˆ(ÀܯTWW÷¨ó‹«s—c ?‰1û7°+5œú÷1ùœI¸V°eO §n?c¦ Ç`;Öáà›O(!•HâQ\àµ=ÞgŽ8—/]½šçŸ}€;?„Ùç]Ä™S*ñíš÷¼Å/~òZ[þ[´9ŒqÌ ÊKÜŽi Œ0áö…û€"ð£u†>…˶:W4ÎŽU/±ªvILŒä~ìò±(;sÿbšfþÀ¯Ÿ&•Èô[•²“OgÚÚçÙÝè3l@ÛžöxgãA&9Óõ)®Æ4sçgù¤Q€¹é›Ì@`4†>KÝ;[¨‹MâôpoRŒÕ[7áï„ Û"¸~œæ¸­/Ekjh"+!ghÍ0:dÓ$“™ÖN/ƒ5ê4.ÿò|.ÚõÞ·Œu#o`v¬Œ²1ç𕯞Á€Ã3{¤í$éôá^º,°sä/G$Ð(Tv¦ã´ÉMÏðë ÃùâMW2*îæGù§U¹VRŽgÌd·pöÉ$m?DEÖÆ̞Ô2ƒË‡BìjÛ."""""""]Cwrko¡\]]]Tw~ÆŽ·ØöZ-ÉUÄ€Ò‰“àרfg\{Še·ŽukêIúà'¶³jmUSGçn½¬d€µÝZ#s^Ã;lx¿­»i{›“¤’IŒò‘ ‰øøFÍ`Züuž}c7M‰‰xìÜG¼²,ÛˆµØ·? ø¸©$^¬‚I’-{Xó§-$ 5_•ã’eunšþ?¾úývkÖ ?ŇÖ°-VÅøÒö§IÞÛ°³§Rêv¿óC¡PŸÔYDDDDDDD¤¿S æ~¤ÏZ0·åa¶ŸßÎôªòÖ!'Qå>Çúª T¶ÅÜŒÈd&[¯rß»hvŒœw-WW…蘳¢9†…—ŒáW¿¾‡Í%QB%£™P=€€×°‰e¯æ€$Œ1ná•\Pa£8÷sgóôc÷ó£'m\,M¿ë.®é’Ţnje›ƒ™ý©qÜÿèOøqÙ,.¿ñæo|”ÿøá Dˆ1sáÆl:Ò ÈÑfY¶mçÎÅì5²ùùßñtC†@0DlÔ,.\<“2ßÁüÆZ6î›Àü Cx~á'¦i f‹ˆˆˆˆˆˆˆ|’ôešÙBeågäè.4,×·QdûÇÌÑÈê6³ú³¿s}ÖÕÕý À:÷©»W›,ëõ(sû<9”DL2¶ã˜X%Q‚n’DÊ…ÌžøÑ›Ô|ûfEL ÀˤH9nÞÜ´F0LÄ2[s û.AÌL‚¤o ÛvŒ—N‘J{­å˜AÂa‹€i`àãe’© >A± n<ÉG-: `•Xø¶Mºµ0BÑ0Fªmò–ÝZר?C*鈄 €ï‘I{‚Éd¦`^9þ8ŽC<ï: +‹b™­¹º=7E"n“n?=ÊË$ã8ÝìôX,–3À¼nÝ:/^L"‘8ò‘£*‹Ý¬Ü</Ç·ŸÕïg ëÜý¡ÈþBßÝ £›aÅŒ+šZ0÷#w¯6š¬—÷Ó‡›"Ñ!çá$â8&ó$vvŒÚÙÌ3¿xž÷:ä¨ 0æ¬ÏséÉ`wÈoìþ¶Kn_l†”É1"C*Þyxça.NÂî°i;«?oÙàgR$²F¹v¢ãºçžMŽs–eáyvöqै7¦Èznå&ijè¾üh4ªÖË""""""""Y`î'ò¶D>ÚÂ5,¹uV—äÝ^:I*£ö¾rìE"LÓĶí‚/ýë Ó4\ÉA ~x™ IDATfÉ-8•k¿7½SŠ ÀwIun*rœ±,‹P(„ã88Žƒçy=6›¦I   aY†Ñ—…DDDDDDDDN 0K¹RTˆô†a‡ ‡ÃǺ*""""""""'¬Î™DDDDDDDDDDDŠ¢³ˆˆˆˆˆˆˆˆˆˆôŠÌ""""""""""Ò+ 0‹ˆˆˆˆˆˆˆˆˆH¯(À,""""""""""½¢³ˆˆˆˆˆˆˆˆˆˆôŠÌ""""""""""Ò+ 0‹ˆˆˆˆˆˆˆˆˆH¯(À,""""""""""½<Ö9Ú|ßÇqÇÁó<<Ïë2iš˜¦‰eYX–…aÇ ¦""""""""Ç7˜EäÅq‰¾ïœ®=ðœÉdH&“D£Q,Ë:Jµé`‘OŒd2‰mÛ=žÏó<âñ8žç‰D>†š‰ˆˆˆˆˆˆˆôO 0÷w¯î]ºì¥s»þë¿È'‘ã8½ .g³mûpÚ Q€¹_9ÐÃØØ èÇS‘þÆ÷}‰D)<šß[ÉÓÏ¾ÏØ%×3hþ:¶m …”“YDDDDDDDè]³X‘~Äqœ9—>X»Œeo1,‚(\–çy8ŽÓçuéÔ‚¹é“É~ k¸‡] ¾ÉeUAH½Í£wüwÑ·¸fFÃ}ew.gø§±ó¡ TVûì¬o!OQ2õ–œ=‘X®†›É7yäÎí̹m “j»ƒ·¦ÞÆÕ“ðÆïžbÅ{͸>„G.äªkæ2Ì烵<ýÔr¶5{„*¦pî1m`2µ<þóL^è±êë94a ·.Ȇ<åˆR8 ¢lì\³°‚­>Aså¥ÓiÂáp_UODDDDDDD¤ßR€¹Y:×£¶¶–êêj€n»sæm6bœTUΚâUÀ­ÛÆþñ¶×‘ž1…àþ:öÄ&²  ¾i »ÝÂÍ—"Ùà ÷Ü˳›—²¤:ÇKÎ Ó0;4‰ ̤·¬`¹·|g&%84Œ0ÌN^zlÖ¢op{MŒ¦5p×Ský…¹TÀh\ÏË›/຿ú>£Ci×ý*w9"Ýp]·ÀXƒ²Ã0ì2äkåÜ“òDDDDDDDD>9žëGjkkÓ›Á€ñcqêw÷]vm­gØ‚ ¯ßÊ®ŒO¢~'Éq`qL?¹Ƕ±Ó˜5{0۷¡µÀ !Dê×òêÛ»iLd•D0w÷&j£§rÆ„ ÉD’ðÔٌݻ•ɶ Ÿ?„S?}*ƒ}›D*“·‘îäOÑÊˤq‹‹-·Nïéå™"""""""" ÌýJuuuZ0¿¸:w9Æð“³»Ré“Ï™„»a[ö¤pêö3fÚp ¶ƒaa~áŠDH%’x@7ij[çh Ø™#ÎåKW¯æùgàÎßaöyqæ”J|»…æ=oñ‹Ÿ¼Ö(öH›Ãç!À¬ ¼ÄÅ릜bê"Ÿl¦iöiPØ4õlNDDDDDDD`îWrµN.Ü]“» Àh& }–ºw¶P›Äéá(Þ¤«·nÂß=„ ¶…lý8Íq* À§©¡‰H¬$w³wÃèÔš8M2™iíô2X£Nãò/Ïç¢]/ñà}ËX7òfÇÊ(s_ùê­-¦['&m'I§÷~ÔÎ>O9sÊÔŽY ëës  Ç"""""""" ýJ{ åêêꢺó‹0v¼Å¶×j L®"”Nœï¼Æ6k<ãÚS,»u¬[SOÒ?±Uk¨š::w‹á`%¬}ì>К@Ãkx‡ ï·u7ícos’T2‰Q>’!߃À¨L‹¿Î³oì¦)‘ oàƒûˆç‰æ+G¤;–eõiy¡P¨OËé¯Ô‚¹é³Ìmy˜íç·3½ª¼uÈÀIT¹Ï±¾j•m ‚Èd&[¯rß»hvŒœw-WW…8œ³"›9†…—ŒáW¿¾‡Í%QB%£™P=€€×°‰e¯æ€$Œ1ná•\Pa£8÷sgóôc÷ó£'m\,M¿ë.®!W809"…Y–…mÛÝæb.†iš}°é¯ú2:W¨¬\ãŒÝ…†åú6Šìoÿ˜9ºYÝfVöw®ÏºººXç>u÷j“¥s½å`nŸ'§@˜’ˆIƶq<«$JÐM’H¹ÙÂ?z“šoßÀ¬ˆ‰x™)Ç%_ˆÎ†‰X&øàû.AÌL‚¤o ÛvŒ—N‘J{­å˜AÂa‹€i`àãe’© >A± nÏ¥'ƒÝ!0çþ¶Kn_l†”+š—!ï4Ü-PŽH7,ËÂóÖUé×:g:)ŠÌ""""""""""Ò+ 0‹ˆˆˆˆˆˆˆˆˆH¯(À,""""""""""½¢³ˆˆˆˆˆˆˆˆˆˆôŠÌ""""""""""Ò+ 0‹ˆˆˆˆˆˆˆˆˆH¯(À,""""""""""½¢³ˆˆˆˆˆˆˆˆˆˆôJðXW@D¤·|ßÇqÇÁó<<Ïë³²MÓÄ4M,˲, Ãè³²EDDDDDDDN 0‹H¿ä8‰Dß÷?–òÛÖ™L†d2I4Ų¬eY""""""""ý•Ì"Òï$“IlÛ>jËó;ë[HÅS”L½€%gO$Ö9ŽêígÅϦù‚¯qñøÖCÊûàîùÇeKÏcð¾µ<³l%ÛšÒø¡ÁL;ï2ί@—}o<ŲWvДÎàEO✫.gö¤÷òÆïžbÅ{͸>„G.äªkN¦á¹Çyuç^÷ÿ”5¥5\rÙŒéÜ$8ç¼sf‚óÁZž~j9Ûš=BS8÷Š‹˜6°µçƒ|õ솻ƒ—|“êÛ®¦†Z¿û-*§™Ô¿ßŒc'`Ô§¸bÑtvØqÞýÝý¼h]ÄçÏ.á§s×W:r'ÿÈL=om®à̦Q–n¤¡!k\ì$æžfN6rÈ6ˆŒ›@å;ql¢^ùòH§Ó 0‹ˆˆˆˆˆˆˆ s¿²t®Gmm-ÕÕÕÝvçÌÛlÄ8©ªœ5;?Ä«[·ýâm¯#=c Áýuì‰MdA,@}Óvº…›/D ³‡î¹—g7/eIu§—œ™C˜=§’Ÿo|ŸóÇO$„Ǿw6c̸š‘îûüþÑ×/þ:ß™Z†w`5ÿçoX5ä‹,bR>ît®:å:F”¸ì|æNî]µƒ‹'âmYÁrÿ,nùÎLJph:'`Fyñ¥Ô½ûC¿róJ=œ¤ƒÛiÓ9ç2;yé±UX‹¾Áí51šÖ<À]O­eôæR™yŸ?¨ga&†a¶¥S`4o¡¾ô|iéP‚Þ^þéݬÜ>•Åã×=¯<Ês©³øâ’*BoýwîúJ®ÛyoÄkØË‡¥å yù1^©kÄ10iþYÌÃðÒ$§˜ñhÞYOrØ,*Mð˜¯õù$Q«©­­=ü]LwnÆÅ©ßEÜwÙµµža 0¼~+»2>‰ú$ÇM`€Æ1ýäÛÆN`ÖìÁlߺ»K@|JkNaèÖ¼çÞ^6Õ˜~ò ÜÝïðnÉŽ’L$pbÓùÔ4›wjâa2ŠF’D"ÍÀñc0qÒ@`Ð"õkyõíÝ4&2„J"ø¸N7icç.“w^pwo¢6z*gL’L$ OÍØ½[Ù‘ô»©gÆ3kF9iÛÆNE><@SS¿uóÓ¼iOl™ÌµWÏ $ãb橯t•?=øv‚–½;hš¸ˆ?_ú5n¾l,¼¸‚­ÉNÓ5¿ËŠõ0÷´1z0_6ÏÓË3EDDDDDDD@-˜û•êêêµ`~quîrŒá'1fÿv¥†Sÿþ &Ÿ3 wà ¶ìIáÔígÌ´álÃÂ:üÂ'‰J$ñ kÚˆÈfþ#·§˜Xñ›CÓùì@ð?L`ÇFn z‘ÒRìß³cÕK¬ªÝG#¹»|,`Ž8—/]½šçŸ}€;?„Ùç]Ä™S*‹zA^¾y}»…æ=oñ‹Ÿ¼ÖÀõH›Ã瀟,PÏ"–Ùq‡±‚ísyø€ß2v·òò &Æàq˜nß8²uý¤1M³`p×=‡ycØP6éÃÞd×~I£Ûd»ŽåϬ§ì¼ë˜uIºEΗ£""""""""¢s¿’«uráîšÜF3aè³Ô½³…ºØ$NGñ&ÅX½uþî!L¸°-´éÇiŽûPa>M MDb%y𽇙<{Ï¿¹•úÊw O¿Ž À--#ÖÒL³ƒLæÆ¢e1R›žá׆óÅ›®dTÜÍòO«ÚŠó2X£Nãò/Ïç¢]/ñà}ËX7òæ”±¡òÌ;;VFÙ˜søÊWÏhm¡Ý:1i;I²%={Õš8_TÚÅù_û æ£wóÛUcùüü!ò­k™Ú1wV(Àl–WPžh ÁñZ÷oÆ&å Ym$wñêÓ¯â/¼–óF‚.r¾…ÿEDDDDDDD@)2ú•öÊÕÕÕEuçaìx‹m¯Õ˜\E (8 ÞymÖxƵ§XvëX·¦ž¤~b;«Ö6P5utž–µ>Á“fSµ÷uþøn”5•FÎ`zz¯niÆ2‡6ðꦦO€ŸJâÅ*ˆ$Ù²‡5ÚB²½qÓ>ö6'I%“å#ññ=ÀˆµØ·?wíòÍ5ƒiñ×yöÝ4%$â |°sq¯P=öíIbD ›%̾âJ^’W÷ºù×Uº°¬üQ_cÀ$&››x½¶ Úó›Ç0~° ÎV?³’Ô¼k¸x‚‰öŠ›/P(Ô‡k%"""""""Ò©s?Òg-˜Ûò0ÛÏogzUy듨rŸc}Õ*ÛΑÉL¶^å¾;wÑì9ïZ®® —»y®oŒaVUkv}ŠkÊÚ¦1Fpöõçðôc÷òãß9ÌôE×1Wzó7>Êüð¢eعpc6µÎæ5lbÙã«9à cŒ[x%TÀ`fj÷?ú~\6‹Ën¾€“:E¼óÏ;Šs?w6O?v??zÒÆÅbÐô ¹î⬼õ„>O·ë{d¢3¸ü¢w¸ëÉŒ?ž}2W}¥3˲°m;w.f¯œÙ—žMÓSOrßJ#6†y—^̘€Gã¦Õ¬Ùsÿ‰cCû¬F³¯úgŒÈ?_:ÇbLÓ,èù$éË(V¡²r3rt–ëÛ(²¿ýcæèdu›YýÙß¹> ëêê~P`ûÔÝ«M–Îõz”ƒ¹}žœaJ"&ÛÆñL¬’(A7I"åBf OüèMj¾}³"&àeR¤·@Nâ4;žþ)¯Œº‰ëgE?l ‡-€ë¤He<0X‘0AƒÖ kÚ#ôH&3ø‹h8ض3}¼tŠTº5Ÿ± µàgHÙ9^ôW`ÞÃu1 |¼ŒC2•é8®s=s ŽqãI2y»Û7u !Ï&™tg#DCIÂùê+]8ŽC<Ï=2`‹•` |/C*Þ‚ñ1ÃeTÆ:·:öH65ÈäŸ/—X,–3À¼nÝ:/^L"‘8²‘£.‹Ý¬Ü</Ç·ŸÕïg ëÜý¡ÈþBßÝ £›aÅŒ+šZ0÷#w¯6š¬—÷Ó‡›"Ñ!Fçá$â8&ó$vvŒÕÙÌ3¿xž÷:DuŒ9ëó\4l+¶fÞÑŽ…xRv†.|ÇNt\fûd®ƒè\›¶Ù2©Ö `º\zrIî'ùê’o\QËÈŠ·Ï—Ýݶ*©D[¼ã8?“l]È»®Ò•eYxž‡mÛ]Gºñ&‡Îág/ÕÌÁTBóÌ×Y4Uëe‘, 0÷y["má–Ü:«c^bo'ÏÿôgÜÙXƌ˯§Ú÷h4¿ÍUÀK'Iåi}z\.Cz,‰`š&¶mç}é__2MSÁe‘`–Ü‚S¹ö{Ó;¤zÀwIui9:”³ÿ×ÿæ|Ã'“Jâ•èr¾ºôÃeH¯X–E(ÂqÇÁó¼> 6›¦I   aY†¡¼Ø"""""""")À,ytMõŸ×5Õ…ÈQ`áp˜p8|¬«""""""""ò‰Ôù?ÿEDDDDDDDDDDŠ¢³ˆˆˆˆˆˆˆˆˆˆôŠÌ""""""""""Ò+ 0‹ˆˆˆˆˆˆˆˆˆH¯(À,""""""""""½¢³ˆˆˆˆˆˆˆˆˆˆôŠÌ""""""""""Ò+ 0‹ˆˆˆˆˆˆˆˆˆH¯(À,""""""""""½<Öé-ß÷qÇqð<Ïóú¬lÓ41M˲°, Ã0ú¬l‘…Ì"Ò/9ŽC"‘À÷ý¥üö€u&“!™LF±,ëcY–ˆˆˆˆˆˆˆH¥³ˆô;ÉdÛ¶Úò<Ï#ãy‘Hä¨-WDDDDDDDäx§s?q÷êÞ¥Ë^:·ïRˆÇ9ªÁål¶mN›!"""""""" 0÷+zSýxêqlù4nÛL|t5#ÃǺ.}áD[Ÿ—ïû$‰Üãì=l|ýuÞܶ„kª<‰ÓÎ;“šA ÁÆ'~Á‹»¶7›”Ï\Âõ ‡Ó²þq~å²Åxn„éWÜÈY£»>رm›P(¤œÌ""""""""(À,ýwˆË×þÌF†O€ß‰¶>3Çqòç\ö]BcÎâs—L ÒJ³õ£<°|c.›A)ÒTqÉ-×1§Ì|Üd3‰ •ónäoÎ rxëÇ7ò؃ۙ2*÷ xž‡ã8„Ãz" """""""¢s?Ò'-’ýÖÈWÏ2µ<~÷[TÔìÚÙD¢%EÅ)ç1ÛYÏë;ZHµØ”̸”«ÎKÄȳÜI6wYŸ…„ß̳MÇqòŽ3J'0³Æ'8Ä¡¸Ahäh¼a“ô¡Œ$v*Ì Ô!¦;Îç%›8”lïó9ôÆ*öWÏ(¼<±ìt:­³ˆˆˆˆˆˆˆ 0÷+KçzÔÖÖR]] ÐmwμÍFŒ“ªÊY³óC¼ª¸uÛØ?p Þö:Ò3¦Ü_ÇžØDÄÔ7ma÷ [¸ùÒA2{xáž{yvóR–TwzÉ™9„Ùs*ùùÆ÷9üDBxì{g3ÆŒ«é¾Ïï}ðâ¯ó©exVóðþ†UC¾ÈÂ!&åãNçªS®cD‰ËÎgîäÞU;˜±x"Þ–,÷Ïâ–ï̤‡¦ƒqf„‘_JÝ»Ï1ô+71¯ÔÃI:¸V1s^ ³“—[…µèÜ^£iÍÜõÔZFa.•™÷ùczvÀhÞÆƒoå¦E0›Vñ³þ+Ïý&_]:œ`r#¿¼ãeÞ>åþ,RŸg¹§QÓe}RÄól…˜Áu;ïí,^šTª­3õ!ï¬Ú„Wýi†˜€ëâ$·óÒ#u¸)kðDNýÔ|&èt Ììfc­ÅÌ«ðÿ³wçq’Ýe½ø?U½Î–Éd›ì3ÙHH&a `@@AE½¢p ¨¹Ê.. " Š *þ.â†× ‚H š Ìb0™=dg’Ìdfz¯ªß3T×Ôzºfº{ò~çÕ¯:ç{¶oUwº§>ýôsªµÖ×j;€§bwŽcAlܸñ‰Çn–›+eÍÑGfêÞû²½VÉ}·Ý›µÏ}n¾÷¶Ü7SËØ½ßÍÄQÇdM)ÉÀQ9åéË35>žñé59mùã¶ûw t“ZVžtzºíÛ¹s*Iõ¡Ü´q §<}ÿTî¿9ßYþ¬<ïèÁLŒejÅ)yþÉã¹y㣩¦”e–5¥‰ŒMg¿£Hyl{¦“ ì`FïýÏ\ñß÷gËØL†–¦”Z*SÓ©¥–ÊÄxÆ›„ËiylR¹ÿ¦l\vFÎ9f0c9qCŽ|è¶Ü5Që0ÏŽÌÉ'Žfj|<å}ÍÓOZ™ññLÔÈ!ûnÏãÛjm®[mò|Z¿&¤u{ŒÙ훯Ïþìó©?ýÛ\5~B^pò~;Z_ “óÎÿÙ¼óüŸË¼#¯;i8¥Ü‘”†3üį jÍäØDªÉ®Õ´£ÇgÃá—æÛwLæi«oÎ-C§äÍû%µïe|Åa™ «ÕŒ®\™ñÍã©Õ¶ç®+/Ë•ÎDÊ)MlÊø>G¦”¤|ȹùÉ7^“K¾úùäÅfÃK^ž¿oWU¼­Ž­oËÖþ+ÿ÷w¯ÚÙo·šéòÚ5•Ô&Ú̳ՅJ#™P-Iy(ƒµ$¥¤VKJµ¤–¶×ÍpÃ9Û¼&$år¹m¸[Úÿ¬¼õÝ/ÊPu<Üø•üýç.Ë ~øù9lp:“c3™¨íøü¬zúÙ9ù?/Éý[jY»fç«[Ûœ›¿ýhÖ¿àˆ”+µÖŸ÷ó@À¼¤4«Nn¿|Ró žcújî¹ùÖܳb}ÎY–êú¹æ¶›R»ÿÀsÞÎÔ´¶=[·×’Õ;nŠöøæÇ3ºby‹²÷‘·á˜\rÃm¹wßïdä”7eu’ÊÊUY±mk¶V“ýËIRÍÖ-Û²lÕŠLÞôåüÝç¼íõ9l4©Üra>råÎÓUg2|سóšŸ~N^~ßeùË?ÿ§\wèäYË»x¡Z»aŪ¬:âÅyû;ÎÉš'Ûj¦Ç'2±­õ<Û†»)d“T²ÔæºÓ3s÷h÷šÐ1`Ne"[›HJå,Ú†å¥yx[-‡í[ª«~®efb6–±í›óàwÎöj»yî7ïÿIÚ]wîó©¥Òæ5!n,ù~ÒÔcæám;ûÚt6ßr}n98‡®.¥¶ýáÜ»i|GK•Úd¾wã·rûŠu9zålâ?‘;o¼#ûm81++_ð¡¡¡y?€½ æ%¤oÌ;û0_rGNY·ÏŽ‘ýÖg]åk¹~Ý1ÙwgæV=.Ç _‘?ÿä}Ù:5CÏúá¼qÝPRmÀÕJGä´uç[÷=??´jç>¥Cò¢·¼8_úügò‰žJ†È)¯|Sž³)Õ•/Îs¾}aþðcÿše«ÖæÔç=+GÜ´ã°êæ›òOÿpM© fppEŽzÞëó²Õ¥$dÃóÊg/üÝ|bÕiùŸzYŽmH¼[{XÎýÔ\zÑ IDATÑåKŸÿl>þÅñT2œýO9/ozÅIn9ÏdÞívKm®[žû|^ó­_vÌãããM{1ׯ¾›«/ûRîßVÍÀÀ@FXŸç¼öù9¼<“©ê–ÜrÉ?çK›g208”‡–ó^}jVÕvôñ®mÙ˜o?|LžsÞPªµöŸðr¹Ü6èx*égk×vçj¶­Ôd¹ÝX³ÇR—ë³å&ËuËåºõúÇfÏ»çž{~£Ísî«O]SÎÿ<³ÚSæÙcšÉòÑrfÆÇ3UM’r†—/Ë`e"c“•dæÖ|áã7ä¤÷üHN-§”¤:3™É©J›Þ´Ó¹ëKœÿ8ìmyËiËž.fdd8¥$©¥25™É™jRÈðèHKIjÕÌLW30XÍÄÄLjÃY62¸ó“YKuz2“ÓÕÔ’”G²lx ©Ídr¼ÉþÚûÄ\Ê¥”RKuf*“3s·5γ©ÁŒ¬LeûDvÔÌdxùpjãã™Þq² -IirçëÛæºsžÏD%­^“–¯ûSËÔÔT¶oß¾ËxihYV.É`yG;ŒZu:“cc™˜©%呬Xµ,Ãåý±«•ÉŒmÏôì§w`4û¬ÈÄ–í™êðB¯X±¢iÀ|Ýu×åÕ¯~uÆÆÆúð,€=iÅŠ¿œäß“TZ|T›<ÖêÖkucËõér½Ýc§±tëf[×T0/!Ÿº¦œä¤º›÷u³ÜBe2cs2ºj¦Æ¶gªa·ÚÔDÆë3Ö©[òåÿ{Iê䈾5/_{c¾qûá9ëeËæž¤:“Éñ†fÃIR«dj|lî5gw«Le|¬q6;›™ÌØLû¹¼êéË›ÿÆ£Õ\Zmëú•Lן,Óãuëm®ûÄó™=S«×„$;ª˜«ÕjÆë_ß$µéñlÝ2Þü êd¶o™Ì®±ôN•‰<¾¹óµ—-[¦z Ž€y‰hY‰¼§œ”×^pÚܾÄÕïæ’?þt>¹eUžñš·ä„ᤋ6¶»g.IªÓ™œéÓöÄ5èÙèèhÊårÆÇÇÛßô¯OÊå²p  3Í ž˜þÀ)u- vªU29ÞX%zP^ô3ïÍKKµÌLNdj¤Ë­æ²¯A!ÃÃÃÊÔÔT¦¦¦R­Vû6—Ëå dhh(ÃÃÃ)•úÙQ`ï `¦…™Lnï¶7Cu×V°”J¥ŒŒŒdddd¡§ð”Ôø—ÿÐ3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f 0Pˆ€€BÌ"` 3…˜(DÀ @!f ÙæÚ;/°¸È»´7Ììf Yês-ó/+ïåøZ‹e`é*šûõ#›\Ò9ãR˜X ‹%`®5<.Ôõ;O=‹)?\è,uŽÅ0°Ä˜ŸÔío!Åo€¾“öHÀ @!K)`îæ·ý¸kc¿Ï ,M»#/Ü9ç³”f‘=0Ï'qïGZßË9–Ìo€=jOçŒ «v´+˜{}aмÇtZ–¶Ý‘ î‰,sA .ôö°Z‹åNûv³?°wè%¬5ùxÊXŠ̽è&PÖ>˜Õ¼°—B×%mo ˜÷Ô'ªÖð,m{:óÛk²ÅÅÜ"£–¤´·ÏG-I¦§§wÓé€=lw†¾½¶ëíuû‚YÌó¢·råÊ…žÂ·ß~{Î8ãŒ<úè£ =xJºãŽ;z {”€y‡vÕ΋ö·Àâ²Ø~éÌ[§›û=åíM=˜û¡7–>Ya2`^Èž&EŽõ…O »##\¬yè¼ì ̵ôÿ¬¥ùy[KÛžÎ÷Šœqo˜»µ;¾€¥OvXÐÞ0wûÉ«EE2PL‘|q¯Ë!z{H-I)s?¥ŽÝë>ñ¼ÿýïÏ;ÞñŽ|ðÁ =ØëLÝqg¶þóÅûÖµ™~à¡$ÉÐ!k³ì™§gŸW½<ÃdzÀ3Ò{.Ø6?%2Å¥0ÏÅ»ã˜n>ñO™°ùšk®Éõ×_Ÿ7¼á yãߘ¡¡¡…ž,yµéélú½?Êöo\‘ýÞðÚþÁ_ËèQG$I&îº'ã?rÿïÉÊ¡5k²é“ŸZ¸ O_ß~óGòïÓ=nx ªT*oûQ©TzšKSõþ\óOWåÞên¿R» °c/ëíÆ]û½¹4®ŸUÎ{mkŒééé¼ÿýïÏwÜ‘ƒ:(çŸ~Î8㌼â¯ÈððpÞüæ7ç‡~è‡R.—}#„‚¦î¸3cÿ~Ežöù¿ÎÔtçTvjz:‡üò/å¶|Köyí«2|ÌÑÍwœ¹1üŽ¿Éaùp^uà“ßî&/ÿP~âšsóÙ_<+Å›l”3P*·ø-d»m­Ôò½ë®É–žuË Ojé©mËw.þl>ûWæ;ßO–˜ãžóšüÄ}_֭؈Sgúª|ì-ŸÍÁùƒüèÓöÌ5à)¦Vëu³Ïܶä¦K.ÉÆm)ï|ûP>*g·!k÷H`-c=Éý͚Ʊan¥Ñì{Ø 9íÔ£³ºïo;Ê;ÿë0§þëw¸Wf‹Éâ˜ûÝ £þ|õi-Ý]«×+‹Þ—¿üå'ÂåOúÓM¥RÉÙgŸw½ë]9à€233#\†yØúÏgÿ7¾>3=´»˜Ìþo|]¶þóW²ÿ»ÞÑb¯rÊ¥òÿÐxr¸¼ãc¾J}üö[} ßø_βwŸ™uËöP°ºàfr÷?|0ü·£òSïû³|tý¾ÉÖ;rùg~+ü‰üÆ_“#öÄOáÒ²,_¶<+ž2¯;,¼/~ñ‹I’ø˜ÇYÊ)ì›§Ÿ÷Šœºfößó•LMLg÷ó&©mϽïÈЙÍÂܹs«NnÊM—=×Þ~@^xÜÊÝ××¶íœús…tŸýÕš|Ôoë÷¼­Å0wköEn÷õ; wÚ·ÝÇ^ç²Ë.K’œþù~"Hþà?˜éééÌÌÌ,àì`ï0ö­k³ú¿ÜóqËÎ:3[~ýÃó»øôÕùø».ËÚsÊÙxÓ£™ØúxJǽ1üÏä™ÜýµßÏþý·óÈÔt*+OÍ[Þýsyélê98™[ÿþÃù»½-N å˜ïû™\ðæS³oÃ%&îü—|ê÷ÿ.×?ZÍÈAgäG/øéœsHÝ—Úæ\ó™ç¢[îÊÀ¯þ\þeÍsòŽ÷ÿpŽúî¿äOÿðó¹nÓTj#‡çœ{W~ü9ÏýÁ4}u>þsÿ–ƒÎªå–[ËØ–±¬:ë'òóoÙ}g®Î'~ñÆ<ë+ùâŸ]šŸqAþ¿_8;Õ;[ŸwüŽÉŸþáß囌§6º>?ô_Ë«(·~Swç«ôÉ|þ¿ËL5Y¶îuùßï}eŽª´¯ÿMýÄuùÂ'òªœŸ‘ÌLL$Ççœw¼'þü{ò÷×—Ÿ?éŠüú;nÈË?sAÎL’é\õÛ?–ËÎþlÞóÜ¡Öóšnxî§¼5¯|à‹Ùòã”·Ÿ²£n½rç_ç‚ßžÉÏ~üÌ,[¶,£#fØS¦¦¦úv®êôD&&æþ{~âÞ«sÙíûå¹Ï_ŸU¥j6ß|Y®;1/ÚPË —|7Ë­åÑG'2=9“áCOÉO_›‘$3[îÌõ×Þ’‡Æ*Éàª~ò3sÊa+R®ÞŸoþë÷rÈ µÜzÃÝÙvà©9}ôÎ|ç‘-)ÿû%¹cä°œö¼³¹ÅÜJ«røaûäÖÇÇSËÊT¶Ü™ëþsc¯e`ù!yú§æˆ•夲%w^÷Ÿ¹åá‰TkÉàšãó쳟–Õ3wç?þåáûŠ3rH9Iª¹ÿš/åžC¿?g:{µÉwÖêlúÚsÁ|%ÇýÆ+³vö»niMÎ~ÛÛóíoþeŽøèoæ•ûU3½íúüÉGÿ1#?ó{ù›3÷ËÌ}_ɇßó;ùâÍë(Ïÿ¦ÿÌ­k?•¿í NߙϽûWò™õŸÌ§—SûÞ¥ùÛ«~,ïù¿eý²J&¶ÝO·:ïÚ›óW¿õ…”ßö‰üíóJ¶>–íƒå¶Ïaßoþ]þßÌó©¿~AöÉd6=øx–$“W5¯W¹wcn[ñ̼êÐZ*³åµj*µƒ²áô•¹t㽩<½þO½v>ãriGz»×6»>÷û¾xe~éòoç'NÙáTr÷W'Ï{wž68“kFG3:2Ï/%`ÑXvä³rêý—ä†;Ís¼/7|wß<ó%‡g$÷¥4þ`[õò¼øôU)W7ç¿/¹,ÿuÿKrÆÚ-ùï«nËг¾/¯;lYªß–ÿ×krë>/Ìñ+Ê)ß›ïFžóêggÿJ¦+ûå±oÌ>ç¾8ëG+™žšiY9]8·ß3žß7åê#ùöÕ·fðôóòºÃG3vÇåùêµwf¿sž–ÑoÉÆÚÓóŠ×•‘ÌdlëÄŽ¿Ê-5{oÔøÇ¹£9|Ã3óHÝœ&î¼"×4;_1}ËÿÚ¿'ånî¾Xè;·í‰µ_×hl©±Wi×cûöíyÅ+^‘׿þõ{pF°w©¶øläØcZöX®VªýùµÜàIyá Luj2“3krì±Ùô½í©¥”}Ž:>‡ŽLeb¢–#žqBÊ[6gò‰ãN̹ßwL¦&2Y>6/é!¹á[·¦þïfnû\½üeyý†™š˜Îê³_œï¼6ßÞ6÷/ƒ*Ó3©%©LMfrj&S·^™kV½4¯{ÆŠLML¤zÀ òƒÏÝš+®º×° ž˜sž·ßŽck‡åÜs}b¥ÚayÙ¿"G Nebª’™6çºíÊ|såyyã«331‘™áå-µƒ‡–·^š/]}w¶LÔ²j¿}RNZŽ×«oÏØÊUY¾ËOŒR–¯Zží[··ýaÒéµm|îû?÷ÜyÝå¹a"Iåî\qõ@Î9爔J£]6š̰Û]|ñÅsŠ/¼ðÂ|å+_)~Âê–Ü|ésÑE墋.Ê?^yw¦’Ôªƒ9ìôS2tÛ7sÅ·îÊÊÓNËÚÊŽ÷åräá#™žšÌäÌŠu̪|ï¡Ç2óØ}y`äØ@9“™9"'1•ûïß¶ã¸Ú>9öÔ§eUu2S3;ÞÇÕj;ÞK6 —«[²ñëÿœúÇ‹rÑ—¯ËÄúæŒÃ‡S}ì¾<0|lN<¨œÉ‰É ztØòP6M'å•ûdøÑ;ò{Éö‰™ ÷rç Ú.sʼÎ×â"ý¿‰ÞRÊ? YŠ-2ê[]4{·\¤ZyµÃxë[ß:gý/þâ/šŽïî©$IŽ:ê¨lܸ1×_}Î>ûì¦û\{íµI’cŽ9fÌ ö6C‡¬Íô}ddýÓvÙ6rÌÑ-›¾ïþ |pÛs—Rëü«´<ËFgWj©¥”Z-Ims¾ýÅ¿ÍEWß“±Ò@J[ïÉöýOzòhieV-òçêŠU+3¶u[ªy²¶¶å±ñž¨šÁÑÑLmŸÚñ6¤´<ˆ*O¾Çèbn'½ì9ußíùÎ¥_Ë)§V©%S“ß|O¾þåÛv¾—©¥RZ*µ”Ö<=/:ëöÜø_ÿž¯\¿*GŸrZNYb«cúlï1K)`.(7ÛÖØ‹¹Y;vóÒ*8ÞSr£—¼ä%Ù¸qc>ó™Ïää“OΪUs¡­[·æÓŸþt’äÜsÏ]ˆ)Â’·âŒgeüÊ«›ÌýâÏ%I¦§§wÙ6~åÕY~æ³ZŸ¸¼*û¬Ü’G7W“fû3ÔòØ#[²Ï¾«ç|cÛå›d)Ù~ÅŸæ7/?*¿ñ‘weýòRf¾ù;ù‘ªÛ§öx6?^KØñ-sócgù>û¤üdsJ«×d¿ãÞ”ýöksPiljK¥jf&§2Óæ;fiÍ~Ùgó#Ù\M–—“¤’ÇÙ’UkVïúÚ–<¶¹–¸c›¾÷Ø.óèæ¼û¬ÎÊ-Ömëâ9TkYuÂ+óξ*ÿã;æ×ßÿ¹äiÈyû§Åø“¯ôÀ'åø±Ïæº{$ÇÕ7g®>ëoØ–ãßtDÊ÷§<çGËd¶mŸÞñƒ©Ý¼šv1Z™3Î=9ùoÿ™k¿™ÑsþON’ÒŠ{æ©Y¹Ð³OtP6lØðD±Þ† rðÁ·ýËñNšõ`N’êæ¹áá³~õ½¹á¶#óܧÍÞ\o2µdùŽ÷PcÛÇ342’Ò貌LŒe¢–¬,%I-c^6’Rv}OÚõÜ&‡räÓÏÍßܘG~FÖŒŒfÙ~'ç%/9~Çæ¼Çªd`ͺ<ëÜãrÚ£7åò»6w½øy9v¸Ôð¾u&SÓ]ÜʰÕù–z:õzÉÇ{mµÑ)p^ôÛÛÍù&õÝö™Ïù÷ª›ÿwÞyY·n]î½÷Þ¼óïÌ7¾ñŒell,—_~yÎ?ÿülÚ´)ëÖ­Ëyç·ÐÓ…%iõ|6ÿýSÛeÛ]o;?wýô;w¯nÛžÍÿðYýªW´>qùˆœýÜ‘\öWÿ˜[f’T³íޝæÏ¿´=Ï{ÁÓ:ü±–émÛRYu@VLgjÛ=¹ô«×f{ýw¶™¹ô+ßÉöZRÛ~K.¾ôÁœþìãæœwpý9yî–/ç¯.ÿn¶NNfrâ±Ü{ÇýÙÚøï€òЬ}(ß½G(<¸î9gê_ó…o=šJ’éÿ-_¸bežwÖ¡»þ`šÙ˜K¿rËŽy<~}¾ø/ï2'æÓæ¼ÃëÎγ6-_øÖ#™IR{4›ÇkmŸCå‘»s׿‰LOMgøàõ9bE%•6ãs –×½~4_úÄŸæò»·¥’¤ºý»¹ò3¿›*¿6¯?}$<0Þ“ÛïÛÑx¤òðùÆÏôöÚÖ}NGN;7§ÝõÏùËkVäùÏ]»ãhS÷ä;7Ýš»Ù+~lÀ¢V©TrüñÇgýúõY¿~}Ž?þøy…Ë-UÏ­×Ý“}7œ‘ÓÏ8%÷]Ÿ;gßÐUÉ]w>šé$µÉ‡sëc9øÐ5\sdެÜï<8‘Zv¼?ùÎ}#9âЕÍ+7KCܞǷÍ4ÛZ§–ìw|N\ñÝÜt×ö”Ö™Ã'oÍ w=–±ÉÉLNlËc›¶d¢–ÔÆÏ–ñ©LOM%ËÖdõðΈ­´<+·dó¶oxjc÷ç»ßkòæ§aN-ÏWL?r¿^nð·;Ï¿G-… æn[^tº±_7çÙk‚ãn•Ëå|èCÊûÞ÷¾ÜvÛmùÈG>²Ë>ë֭ˇ>ô¡”Jþ#á!1IDAT¾Š<êȬ~ñ ò½üNÖþú/'uÿ/•Ê»þ¿U«åáßüí¬~é‹2päásnÀ9W)Gÿà¯äüñßÏï¿ósyx²œÑOÊKêù‘õƒiy÷…ÇîûüΫ/ÿ¼óÇ>—•kŽÊ _ûÒÅ“{ óýù¾Ñ¿Ïÿyûmylb(Ǿüóî3F3§pxð„ü诼1ú{ïËO~r{¦k#9ôùoËûÞq@æü¸|dÎýÁóký©üä~/ÊÏþÎÛòæ÷ýpþôïÍÛ>5‘Úðá9ç§Þ›×^Úõ»ðòÓsúÈ?äÿüômytb0O{ÅÿÞuOLz}›óž’ß+óû¿û yë'&R[v|Þü_Ë«ŽhýúüáÇ/Î3CÚ''¾æçòã–R¹©ùxãk|øk=¿>úgùôGÞ‘?xd<“¥þŸ̯}ð•9²TIuðļÏG?úó¹fŸ}2²ÏúœtæÚ<ÐËk[oð¤¼xÃ#yï­¯Ï/°c¨6ù½ÜòÍksÈyoÍshu$Ð'3339ãŒ3’4ÿkÕžT7ç¦K.ÊÆÙ·ÃGå9/ßå·_—»Vš—¬-g¦zXN?ùî\zý]9ø¬e) œC¿“Ë¿òXÆgÊY³î99뤲ožþ¼§çÚ«ÿ-_7“ÚÀª¹á99neRm–—öÉQ'o\õ•\ñãÿš³þêWòÂÑóxòB-Ï[*fhhpç]…ëZy´zåÁŒ î|mk©V¦35SMZ7ùü”380r¶ä[¿ÿ¿òñ‡^¾÷ûrØàìt‡2õ®üýºæ/Ý÷‰×cxd0Õ©É4"0/^xa^óš×dh¨ý 榧§sÑEå oxC—g.gpd$C¥ú{ïT251ÚàH†Ë3;ß¿í|¿5PÉÔÄ}ùæ—îÉa?ð¼=Ôø*mÞ/5±Ëû¸9sJ¦ëÞg”‡22œÌLN§’ßc¥Ý{£¹s›3§éZ†ºzoÖÙÚµkÿw’o$©$;þðuçr¥n¹Úä£Öä±~9™J·j©Ñé±ÕX³õVc½lïÚR¨`.¢¾Z¹UæÙÇ^*¤ëé‹…ê½\o6<þþïÿþ¼úÕ¯~¢š²V«¥R©df¦sÄ´7“äÈßûXüÄäž7ÿDV¿îÕY~Ö™©yx’dúž{3våÕÙò…Ì>/yQÖþìÏdº«_êÔR™žJ¥å/Å+™š˜AV§'2µóØ™©‰9!öLåÉã¦'w¬ìú- áœµûvú½|­2•ÉÊœ®ŽK’ÚÌT&w©XÞõ¹u:o­:“©É&ßÓZSÉäD“ý[ïzâTg¦353d4Ïxû¯æ¿ò ùÕOŒæ#ÿë9h`Ç?´&[ýÅ\ËçÒü¹Oß÷Õ|þúãòý?¾ïœs4}€¾8è ƒrÑEu½o÷ª™™o^x439ç:ßoÕf¦2Ù,gíñ=Æ.ïãæÌ­áMZu:“Ož¯§÷Xi÷ÞhîÜçÔÝ{³®uê¥\ä˜fñ^e©Ìõ7ê«,rlã¶Nͺe¯“~˜™™&Ãn4U­fí/þ\öûÁ×æÑ‹þ)ßûðÇ2ýÀƒI’¡CÎò3Ÿ•£ÿè÷2tô‘óÿ3*¡ZªµƒóÊßü|^“Ù;?÷IåÖü¿÷ýV.Þ´&çœÿ+9{yº¿ó30//{ÙËR.ww›³jµúÄ_°²è4«0îtC¿Vǹf¯Ç.K­EF³íݶÉhühl‘Ìm‹Qß&£±UÆ@’ç?ôÐCkùL@ÑÀüuj‘Q¯T*epp0åryÎ_ T«ÕÌÌÌhG3G«V̵ãÏÓKIezj×V#ÀS„÷PE­]»öÝI.Ï“m1ê[c4¶Ç˜]Oš·Êhö‘ëí[-?¥[d´ªn<÷R•\äÚõ•Ì-5š›ìúEгZ­¦B¹kÚ;tgÇŸ§ùxªójžºé`ÐøöúÎG«ó —ûª»úý=«_/J»þ&¾HÚý¦av·J€½CýMù’î2Âú}ÓdÛ|û//xxÜ~Ì{ò vÛ£¤Û’ñnú+×—º{NÙ_7]º­d^ÈþË}½Öb¬`þ!½„Íí¾꿨šýXúšu/hì«Üì˜V7lu=ÖyOYŠs/ºi“Ñì˜NŸlí1`ïÒ.óë”ö»=Æ’±Xæn>1ýüD´ûC³±úßXTë¶KßlÖ7›ÿµ«^î¶=F?æÓ"Ÿ,-Ð9›íÓ8Vj2ÞÍXýc©a½Üd¹\·^n²>Ðð8ûñÂ&û–ZŒµúh5Ïf¯G«çÝlßNëE쎯¯~˜º ´ R»¹™^³ûªµúh7Ž]V7VMRixl<®~=™Ûb·~¹Õýßšõ_îv¬Ùz«±"ûtm©ÌͶ· ˜ë—ÃÜVqcØÜ2ׇͭ–›§Ôd¹Ý\[½½¼>ºyí»=€½WѰ²×nÔNr2·Ú¸q¹ÙG¥Ãrýc³ó4 ¨çØj®½Íݼ>ÆŠìÓµÁ~žl‘«åÉ´~yv½ñ“]Í“Aoã'±Z7Þø›Y¥º±Zž š+y2džGýGýÜãn«¹uÚGÀ @£~̽„ÍcíöiW©œÌ ›…ÍíŽmv­VÇtzN{½Å07 }ׯ}šíWÿ˜ç¨ß§þ|õçh œ«ÙWŽ-¥yÀ\ÎÜëÍÛm«Œ´o×J£Ùx/Uã½<,mEÂÐ"Õ´ÂæV!r³ýšŒ6V0·j‰Ñl½Õ1­ªÓb¬Ý|Û=ׯs6;G«}Ô…À»Ã|¯ÓxülpÜ,l®¯\Næ†ÏõcåºñÙJådn¨œ†ÇÆjæÙñúåfϵ×E+—;0,mý+{ ˜{ Q;µýŽ[µÈ覚yv,Ù5¬ŸWµÉØ|ì©À¸ï×YLÌýЩêy6DnÜÞ,lNæÆÕ&ëÍ‚æÔ[ÿÅX®[îÔ£SæVí2õ+d"<5uHö£zyv¹]ðÜ*`nVÁœ´¯`n,wZo*7›oµÉX³ç³WX¨€¹×êãVq§óu{\ão8êÃàfeðÕ측_³`¹^}›ŒÙõúöÉ®7úk:7;/UË»«Š€§®"s»`¹qŸv¡rÒú{Ar«þÕŸ§YX?·V­3ZͽÕöù×Ê‚׋½‚¹SÝkP]Ìì Þ¬oscUs}ðÜØ{¹~¬þØÙ`yöÆ~•ËõarÆÒæ±ÕXã¶n×»ÝÖýXœúfö.7Žuª`ž}l·ªdnÕ¹Ues}ðÜìÍæÓê¹uÒé˜E]ñ¼Øæ"qã±ÍÓb[ã5ë·×––+—·×ÿÖ¤¾µF}µrýòìc»û6Ž5.§Ãx?ƒfžz –ÛíߪR·SÐÜ.ÔmVÜXÁÜ.\nVùܸ­—¹· £ëÕ¢ œ[ÀÜN«P¸_çlÖ£UÝ@'O˳Arcs}ïçVm0š…Îi³\´=F}ðýÒ®ÅC»õ^ÃÛj“ñNÌÍçfý˜[]¿~½UŸåùh÷Ú-Z»+`î&î6$î´_³ííª˜oô×Xá\¿½Usµá˜Ùræ†Åõ­1f{.'sƒí¤y€Üj|¾=˜;mSÍ ðÔÖMr§mÝ„ËõË­öo47V/w š›U.·«`NÃr«*êVÛz©ðîv{/ûí–Ðz1V0ϧ:¹È±Í*•ƒÞÆÐ¹œ¹ŸÆJæÙ`¹¾z¹Uår³ëuûبS»Œ~·Å>슄½ÌcBë^ÃÜvárýrcݬ¹~^ª¬»5Ÿ wÑU6/Æ€¹vm+z©bnÜÖ¸ÿ¬f}—+˜KÙµïr}»ŒRÝØì1³çì5Pžo›Œnh§¡j§ªå"AscÛŒvr§ÍõçhÖB£Ó\{­^žoh½`:`î¶â¸—ÊäNûÖ‚šU(§a{}°\¿oã1õÕÊ©kV¥ÜªsÑ`¹Ýx/cÍœžÚæÓ¦¡ÝX«Ð¹hÐÜ®š¹]%óìr«À¹Õù›U8wz­z çóºï1 0·Ò.$žos/û4V37 ™ëCèÙϳË•4ï»Ü,@n¶œ&û5Ž5.wÚÖi¼è~ìæt¶«ÎíTÅÛlÿN•Â!p»ŠæfÕÍËÝÞÍžS¿«—eeóî ˜{©:î÷ù:ÔIóöi²^¯±j¹1 n¬XžÝ·–ÖÁòìqÍÎ×MŒVãóݯÁ3ÀÞ¥h€Ù.4žï~­ªš«ˆ» š›U4·ëTÝìš­ìŽêå…:ßCs‘ z>U̳êÃâf=š[il‘1;Vª{,Õ­7öZn4×Ö»i‘ѸÜÍz§ñ¢û°wëgs§õn*†Û=6†¿Õ&ÛšU/'«œÓd9™Û.£Ù¼šmk·Ü­¯j^ s+ó­€î%l®×ªsý9’¹r}PÝøQi²OZ<¶ –ÓdLÀ Àž°PsãX»·YèÛ,x¹Ýþ­t*±àAr+»;@œoÙ.`í¶ïp§jàr‹í­ú&—ë»Ý·þÜ­®×mkŒ^æVcÝlëDø °w™OˆÙkkˆnæ^ÇZ˳c³ëÍãÆ*æNû¶º^»yµ[nµ«};ݯg‹%`n·o¯Ar7ËíÂäVã­‚ãn¶5ž»ÛªånŸG³}Úu³ ºÕ¯€¹›0¶S5s§¶­ª”[mkOã½w.ׯ7;oýqÍŽív¹QѶÂfzÑ)´,ŒöÀVÆÚ…¼Ap·!s³õÆóöZqݸÜjÿVûv/º_!K!`n¶­Û6»+dnVܬ¹]hÜé±Ýr7뽌5#p Þ|Í^Ûd4®wÓ‚¢]¨Û,$nVùÜm…òì¶~†Ë¶50÷°o?«˜[Û¬?rýr§6³cÝV/7Óêù4ž£Õ>ýn!` ^ÑŠåVÛ:uªÜm …·5ž£±j¹Ùxýcãxã¶¢¡òž¬^îußž-•€¹Ù¶ùT1×/· ™›íÓ·ÛÖî±Ûjå^*˜{+²4ê&¼ìGEs·n»Vª•ÛmkU¹ÜËÜ—{ÙÖè)0÷r^+n‹´“èÔ*cö±›­ªšëÏÑM Œ^ñn×;÷º4*07ïµEFýr§*æN•ÎýœÛ§Ûë6.·ÛÖKõr§mEö+l±ÌöÝ!óìr¯áp»Êä~U*i“ÑͶùì ÀSG¿*g{i1ßÊæ^+›µ ©»™G§96ZÕËI2°»/P§g/s»m½„¶ÛÚíßø×K[v×l¦—/á2ýÒ€³—êåÆõ"•ÍÍnÈ×k»^âFý zU¸œìÙ0q±V1wZnµ>Ÿ>Êóo?ÆZ0ÐÎ|CÎ"c½ÎEz$· “‹ܽî×j¬›móÙ·°Å0·Û¿›ñÝQÕÜl¬Ù ûqÞn×[µïuŸ~ÀÒQ$˜ìg/æfcóm“Ñi¹Úfûž —‹Œ·²×̽^¯_UÌÖû·ë¿\äÜݬ·k7^t?hg¾7›OÈ<ŸöE{* —;íÛj¬›móÙw^sÀÜiÿÅ2ÏçZ­®Ñl½ÕX7ÛzÙº5ß^Ľ„ÌE«„‹ôo.²Ü˵Ûu³­û¶'oò—ìþ€¹q¼!s«kõ3hn\ŸÏ€à€…°»«˜çàö#Xîö<½ÎmIÛÓs²tBævÛvg¸Ül½‘Ö,Fý™ç³>Ÿ¹è¹zÝ·Óx§mýØ^–zÀÜj{¯î|é~†ÉÝ„Í{Õo9ØkÌ'`^ÈÐywTJ7[ofIg} UɺØCæNëE{'÷ëF~E+œ»9æc>Õ¸ÝÏý û ›‹¼ýÜÞ–JÀÜé˜n[Fì©õÝ$Ï'\îç1P$ÐÜ]!s³±"ÁòžXï4Þi[?™—…h‘1k±†ÌEŽée^ý ’»¹Öî:fõ;-zÀVc»³*¹è1íÆ;mëç1ó¶ÔæNÇ ™ûµO¯ÕŽެOë ›¢Áf¿Bæfãn¬·;‚än÷i7ÞiÛ¢³s²{*n:dîf¬—Šå~…Êhö¤^‚ÒÝQÑܯ¶ýÜ§Ýø|,X(½ænŽë6”íw/䢭.vw¯eá2 ¡_!s«íEo¤·;Çú}“ÃEm¡ædχÌóiS±»ÇúQ­Üï0Y8 ðÔÖïгÛóõÔ.T°Ün¼×ývG«‘Ýn)ÌÝ;ß›ïµïG‹‹fã­¾„Ë,¤Å2Ï·?s¯ç.Ò÷¹Ûst»}ÑZ,âR ™÷ÄxÑc:Y,Ÿwö.ó JûyC¼==¾Páò‚Ó‹¡‚yÖîj•ÑiŸÝU\d¼Ó¶~ï{J7aè|÷YˆÀy>áò|,x¸œ,¾rw†ÌöëG?ä¢Áq?oèWdÿÝuöý4{=Ç|ªûD7ÛÖ`yIö]®·˜*˜“ù‡š{²šywmëf{¯ûõJ¸ @3»+ØÜ7Êëç¶ù†Ë‹& ž¯Å$.tÈÜjûî Œ÷DË‹Åø¹†ÿ¿½;ȱ(ˆrÿCg‘ŒE‰4š¦ª¶c3Øþ«'À½V#jD¨Òû)g¼—4U£cVLÍÿî5÷À)3¡ôTtŽ:¨ïª¸pg,~&.Q{æ¿\Ý¥WžE àf+a5òP¾™ëŸÓ1VFÎ9óP½ÝýÍèøý¨'3ÄFðqÏÊ}»ÇÚ®k`¬™Wî­vÀT”µâxçªéSc¥è.£ç¾:Þ©m/:C8wWcnt n—Çè'«Eæ¨1"ÇÉÆØJ+ž'.ÿvCl¬b«Ï*x!LgŽ›â¦HÙ%äž|ç7}oê:M»¬.n–¿Üw?O—ˆ /诈ËcÜ6³žë¶ÿ•d…ØÛþOšÛÃeöóU{ŸÕæÀ›ª…ÕìùT{þ0/H{À[nÚ º¤WÃgµç®6è ZÄ­6Ÿí~œž=Y9ûKç÷ÐyîÐyÕo繇°‚€)V¿þŸw|y~µò¿XÁ À«t×xПÕÉ“¬``Џ¹¼oØÏŠä$V00E`xÆOólà?*8IEND®B`‚sequeler-0.8.0/data/assets/sequeler-logo-transparent.png000066400000000000000000000471511367531117400234270ustar00rootroot00000000000000‰PNG  IHDRÓsÕè÷_zTXtRaw profile type exifxÚ­™i’9r…ÿã:6Çr¬fºÁ_ßC&Énv÷˜I–±*+*ÀŸ¿éοþûºÿâ_¶Þ\¶ÚJ/Åó/÷ÜãàEóŸŸŸÁç÷ýýÛéû*üùº«é{Sä’^/çó3 ®Û¯jþ^Ÿ¾îêúŽÓ¾…Ÿ¿IOÖëïûÚw ?×Ã÷w׿÷ü‡å|ÿÇõsŸ±û=W6cã¥èâI!y¾7=%1ƒÔÒà{|ß-êJâµ¥ò¾·¿ß;÷óåo›—îßïßw¤?o…óåû†òÛ}¯ûíúµCœQøñ2þùççÝ»{w»÷|V7ra§Šû.êǾW¼q²•éÝVøªü7^×÷Õùj,qQ±M5'_Ë…"»}C;ŒpÃy?WXL1Ç+?c\1½k-ÕØãzEÉú 7ÖÔÓvÔ(¦EÕ—ãϹ„÷Üþž·BãÉ;ðÎLýË—û»‹ÿ—¯ŸÝ+膠ͤôáSà(L3 UNßy ÷»§öö÷}¹ß‹ó-l¢‚ö¶¹±Àáçgˆiá¶Ò«sâ}æ³óŸÖu`‹x¶1™¨€/À;”àkŒ5ö±QŸÁÌcÊqR`wp—Ú¤T(N‹z6÷ÔðÞ-~.C-B-R)MOƒbålà§æ††%ËÎÌŠUkÖm”Tr±RJ-â¨QSÍÕj©µ¶Úëh©åf­´ÚZëmôØf½ôêzë½ÁCCî¼cŒgšyÚ,³Î6û ø¬¼l•UW[}wÚ´ÿ.»ºÝvßã„”N>vÊ©§~Æk7Ý|í–[o»ýŽŸUûVõÏU ¿UîßW-|«¦Šå÷¾ú«j\®õÇAtbª‹9Pñª 訚ùrŽªœjæ{¤),Rµ`*ΪÌ'D»ágí~UîßÖÍYþ_Õ-þSåœJ÷Ÿ¨œS龕ûkÝþ¦j{,«¹ŠÒó•yYHôÉ0s kì-]Š4Póa¹l6˜à/ÛJoº?׌hÆòÝë&ªXoŒã„–½a³¡€©eM[ÛôÅPVÒ|ÇÖ_p?iæU0ªYD jòŒÞì÷{Tüž…¥ë ¬Úi-Fm~U6{ÀÇcÁBèeZ+§‹€<#¶H{îÚ…ýú¿á`þ€‚û˜¶Ý,»”"ÓåW¬˜Ý;;õÛ)°DŸf;…›iø>ï°è€ n#?Á§+£Ð:f•6À2ðì1Öô{f6 f§,«_Ä:˜¬ê ÇÞž‹BÎjÜÑÆé=-""| a4¶uyæ„-Dx$V!Á~áPEMîñÙª¨ ™6&ƒ(?ÍŒ.àÛ&kL¹—¨)óbFl®–T ”-‹.X“N‡â[_VDõëf7t– *Jœë)ò_£âð‘xP Û¢OL&‡Œù⑽Ñ~ÐQÏ"·€@Ô{§:Ò¹…ž².J›#•.â/3‰ïEᦜäA¾ÞÈè v[Дæ®é°ehReŸ¶:$:$ýP_ˆ§ÇÒ%sd0Z0)" /ã }™û+zϨd0ú[Rl,­²e ²Èž°0àB0$0½€Þá7à ÀY8ÙÞ*»çdÂÒÎYz=Ÿs9 ê=›î×…K-#\&×vO´€b÷°aÀwCxÞ€wŠ8›‰?âÒ¼” U¿Ø^Ë•à‘ñ$pjMù˜¾Ö雸à_">¸é\Z<>{ÕÆ0ÎçÍ VÜÍÁ *Ö‚â7 »±[Ȉ(JÔ…ÞRÐ,wÅñ¨–ºP2•C.!LÙ'ÙEª5Ѱì^ †æ¤ç& S–GßríDZÞD¥ ¨ÖöðÅGÂBçUTà$;x~¯Š@yü@+ue”POA®‘§àÒvèNn³ðëào÷YT á«ÀI(¨± Q'–^½”ŒFZašÚÒÁú‰‘¤7t6ÁY­‚ðÓÆˆyòOZ¬ŸZôAžëf½ëì’d%ÝSXR¶è#D?Ò–7V 2þbœ¼x‚XÀlðtû&H¤¡¨SÒJ„rãÌM²h DÒ+Që·È[1Y ôDŸŠ5P΂ܦ>†Kê¤C;ïÂ-slWß)寏âQœQ­ˆDõ8ŒNôH G¤”ê²!Ȳä¸;ãxÖºÐñ§ÉT¡Þ èšò0â?ÐæL½Á]H#Ã$½–yƸh$°õä¨Êsº«Ó0˜‘õ2ú:%bøÙ°ðè/Ûê”]/ä_†Ò6Ô¼3;ãy¦¹uZQ.t²úvÔ‡í,8±$¬‘õh üd—â\Äò[˜­.ž¬°Y.‰5áËx¸c¼Ã6g¥z¬úrÊöëWð2é˜Nš6ˆgj€¦¿ŽhÓßñ3Ü’§ôª“°Sn,Þ€}Ôí’ÎÆkÇ}#›à DD©Ùùð£Èk);(-â‡sÌ;ã¬NÂJ#]sékVx ‚z®¢ÔcË0Ón:wp8;gé4 ]A§5yÜŠ×íÆ\ýóØf 5µ~áA*/H’²Óvw·LÿªììÄ‚\¤Ž-ô¿‚ 7¬Gcój+ Åß´סÔäÈ`Fo=_ZDNh¨ïä»Tq!ÏsAR[S²l‰U¹Ëc¬®§gÄ Q'DD8—Hì°›PÂ6¥u\$|vDõ?œÈT`׉šBöxº ¡Dv¶WŒ^%¹º•tâGV¦eå¨a¿ô†ái!êˆ6þp~ß÷\ñrC+5/L²ËØÙ"G4Z¤¦b7Ë(#®„ÝÂÚTæÂ8ំ6w6UH8>Þg‡aW†ë=dæ…¨hèKyÀ§GîN=Äb¹ìá:\mŸŠÈ=ÐC• ŸÅð¼ ô ¾ªgêœþñ¶4Rúœbºa*‡_ñøn˜þ#æA¿°e$; .ž±l9f%€ô…kÉ(¢cbVBšÑÅçnà[Ç„\Éá À­6ˆv­feäQJÕ)¹¸ÓÀP-Y„ ¶€J»¡xºÕÁFSvC{‰ç|‡fݦG.¯¸L+“ž‰ȼ áy¿]À#¦×Ô Òê´úL)”R´ ±+È:áW"|Ö²pþ´ÈLØœRg‡7ºÄ0ì«–è3qïÙ*¨‰¥<ÇJ3¶) ãTÞnn!h1ˆ|¾è|„žÁ*q3+›/nª¤#?Fy2ùÆÁú1ï^]Ó>Ü-Œr³ÇÎ]Œ[6l1ÑdÈ¥ÉX©å¦Þ}`µ\ÑÙÐ"’ËÐ<:¥¤ÅiõÒ*Q›Ùqlõ=±y¥ú :®:ÁʂʔÆ|à5ÂŽ±u” y0Ç©£Ïó9útÿpö‰žÉ,vxé©0_ïUꯙbÆá]éójÜ×m„œc°I2k%Q¡> ”Ö¸DªÙˆô| ¬…ÙR€¥Dsܯƒ /™pB¿‹*&ŠHQ¨SöX¼«³È<»(E<:l¾CÔeØLËkã=Æ)7Tÿ¯“BgZ¸KÀ‚A×ñèc‰.[²!>xÌÁjH¬Ùb片„BZ˜™VÝÛIÇ[ëP†:ï“‚F´;·éX†?ÉzœDœ˜pô²E)Yw%¨>(“f"AÑŸYdG§ÐW‘3¾úˆ“¦AÜç&Éž$bD–§SÞïlïIÙ"$Ô“ª³£u*pursÖÁ”Þ‡c…ŽÆÁy’2f˜˜ Ó6‹á)t §M7¾ó¬šuØ`Pb-âªóòƒ¥0|wÒožv:ŽÔ3GHÊCtüꇷdR9£»:.ŸfÝç›æŽ@*ãj§ÍØ_là H^ÖY?ÖQjæ/yE%l%TlÚuº¡£axLŸ)@ºƒD¿]çå€9*~ÔLŸ3è£/ÉìQ'9¬Çš‘y ˆƒ¨O2X•‚Óf‡Êuú /²-ÇþÎÎZÇ«¡ñQüŽë4ÏCÉ´Äï€ßŸ³8T,x‡Vd£&Û_tôÁ_2¹_a¶Ö³§êˆÜ‘‰Ù/y,£Y`¹(öx—¤ê~»ëº×§:¡6±¡>$THaS6ŽÙèL *f°z h3üÉ“JÜ ± žLh·(©Úo#‡ÌËBÐà06ô‡¥DsaÔƒW«Åë„Å€\-8 :¸Ç2Ð_ÄJ«±É2îhýòMSnFr× DØ…Ë ~À…ó[Ÿ‡e§//¡ ½M/ôs7t¬",1+Ô:rÿ¶_eõ8bKGDÿÿÿ ½§“ pHYs.#.#x¥?vtIMEâ 8:Áµé¬ IDATxÚíy˜TÅÕÆçÞîžéÙPP ¨Œ²Q4‰F#ˆQ\"J>C4nQ—I01qMLbÜâŠË‡Û'£‰wPPcÔDÐaXfíé¾÷|ô2ÝMÏ0K÷ÐÍÔû<ýôíê{k»UõÖ©:uŽÐ=XÀ`/À‡AGá Àzà@M•ä.<©ý~?ÿûß™1c.gΛÅWGD$ñž“¿’_»úê«¿yÚi§]——W¡šÈ ùÝg»û»§Ó…BN}}ý>øàÝøÃ^–?øð# 7¹®òî{ïqÏóæ›Oó«_ýŠ;ï¼Ó´Xƒ,„$SWWÇìÙó˜{ÖößÿKãõz8FÍËËyá…~ãâ‹/¾Þ²,!ÏÎÿVUçž{î¹ôºë®ûGMMÍ»%%%¨*Á`ˆºú:>úhwÞq?|øÌÛn»í8`lAAÝÎ;10000Èf2M’J‡Ï™3güܹs¯” èFÓ71/“'O>oÁ‚‡EV r•L LžgvæÏÀÀÀÀ ‡ÈtO$Á=‘€ ²„L ¶éÓ§Ç”…â¯?þøØõŒ3:­¸ÕkJÙOgH5¨Û¶Mô8M0$ ÅÂ}¾ðiŽ@ €ã8±ð¼¼¼Xxôþ\#àø#D>ŸUEDbeކR40000dºK¬xy~­  ßèe &Ç ->ž_ Ïc€ÕÀ&ç}^[{  LîwåŒÈI ØçóÅœv{½Þ®U5!¼;ù3$l```½°ÒADÏmê‚P‚g7´G[á/}q3 ¡Í4„¶ðbõïsB MuO[h{’éî*“Án"ÓK¦[!ä„?¶í:|Mͧ´„BC!>­Y›Rh[’ig® Qô"2mÏÇf*LbÝfX·­l=zè€`\xK,|Bÿ“ùxýZ>Z¿– ³rV)~Ï´#×ÝIÛ±Aö¢[{¦Ñ~Je)ô§T9´ËNÏMê?›Iýgw‹(³€Û“FS)#ô"É4[%ÁlK»3’iwÓ6’©A’éžL‚éJ;*uvT)å60000ØýHufãØ`0ø”ã8ÒÞÀÞûóžžH»¢¢‚ššT•þýû³iÓ¦Xxô:ÞÝ´KKKéß¿ÿ´@ ð4ÆkŒAV¡C^cz¹$×ÔÔÄ®£äÙÞuwÒ6RªA·ñŸgÆr¿Ù:°8o0â¸MÅdˆL3EpfÖÀÀÀ`w™ò ¼.iY׆LÓ€ï™.[¶Œ¥K—ö8Éô6^±bË—/7l```°§I¦V¤‰l7nÐ2—viiiï2tÿS-Æm @Ü>@DŠÀiÁ’Tj±´ÇY‰-+¹¦d‹é¶]… Do(©µf ÒJ¦n¤Öc˜0a---)úè{‰ùÚ2ˆ†]רÙÓxܸqlݺ5ñ…¸® …téÒ¥:qâÄÜmqUê¡.ðMD§£:·idr[ · TÃ× X‘E”Ëê¶ |ˆèˈµ„†Â׸IšLW60èè dH´§È´¹¡¡aKAAAÿxë©H´• ÂßNܵ&½°dNQ·5@$¼Þ¬¾Î 3ùÛ¶mÛNñZ–EccãVÇqšV¯^›-íl- 0ð?윺Wl¥ÚñŽnS}Q¾|uFA]€Ÿo ‹û±§jP£éÖ…aÕt!Õžé¦÷Þ{略<ìt|#"Ɔ€  šhr…f§ZÔ" BPGwjouîóùxÿý÷—59ÙÊÎo>ŽÂÀ‡ÀõÀ^)—.ÚëØÚn§Ï¾…r?¡Â/¸|û¦[dƒdºú”SNY¸|ùò¯•——s]·m[½‘ohq…fWhv äHLèhWÌP°-%ÏRò\—<;¼à›ÎUˆl×¶m/m˲ðù|ÔÖÖ®>óÌ3«rªuU©‡Úà¨þIYÎ5 /¢¬À’wÁÚ„7´ƒPS#vžõ•â8eX Fu¢#AF£›HLÂ-6]ÚÀ #Ò¨QpÌ8™>ðТÆSfÍ\:vìØ .\xÊèÑ£óûý"’Ró7Y® ºB½#Ô‡„Gq´=Ft[Àã*Å^ðØ.b+¶„ÃÓEŒ™’(3)©FÂÜÆÆÆÍo½õÖKgŸ}ö7n\úÐÃ6:¡æ‘FÕ϶–Ǿ4‡R,þåvnÈ‘6X6‚¨²ÑÛÀ“±ÐŸÕW"î7PùÊ4„òؼÎÃ-¦[t®©‚LJ¦lß¾½¦´´ôùÃ;l p;àœpÌésv :ò«ùyùyyù6ùŠŠò))+¡´O)Þ‚Bl, ѰÀ ­‚hL(uEQÇ¡¥%HS}=uµÛih¨£¥)€ã*®Þ¯UWq!ò\%)<üÛuÃã´ëÆÝ!*AD°$¬Ç"Hø[Âß Vë="`YÑë¸g%|_4<ñ^Aâ½71\]¥9àhqi8áë€Ks‹KsÀ¥ß–—W¾üÄ÷ÿê€MÀêíÛ·7>ýÌs¹"‘ZÔ¶<qD^nø/èÙÜà¥[ñÿº¨xx€k¥õÇ¢z*T•®2ÝÚÀ`W³xÌviO)@mmm#ð@YYÙW,X0rà¨#¾òô†A4yŠ(,°),´)ò{(.ôPThãϳP‘°¬!J¹ö-‚ýŠ„ýŠaC#lhPÖ7ÀÇÛÇÇU C.E-.-A—–‹£Šë„ ÔuW‰¬«m„»àjøÚ‰»†V²³­Ök+rm[Q’•ÆÂ-"÷†¯í¸ëøxì¤8-K°SÄ%Ó†F‡†&‡†ÆPø:ò;¯e;SË*†Ÿrô˜Šyóæm–ÖÖÖ:9ת¶….™›A…;í?hÈ;žÛ%½ Bðxø£fx000È.2¢¬¬løœ9sÆÏ;÷ÊêmMi „†€: mò Ûýà/ÄõùW„í ïÖÀ»)âõ¢.ê‘æ&hª‡–&$Œˆ±­«»4µ'šp¸¢C¦ù”°ú±“â?:Wþ&§ªäù@ߤ7á/°=´/ýËö>oÁ‚›¯¸âЦ²²²·kkksgƒãüæa8zUxI (ÏSæ›Æï$ÃkÔb6‚ ²LËÊÊLž}ú•k×®­½óÎ;s¦E…¬+â]åì@B§Såk6ÝÍÀ [`”zŒLËÊÊJ<þ®»îºÌï÷÷O)uÞG´ kä"à³\7Q›7iHä]Ú–â—÷ ÀÛr¿éfY£„”Y2=eÖL1bÄa‹/^8dÈ¿ëº8ŽÓæÀÖš>]Û*kG2ÕÖ÷BcÚÒÎ3»"¢lõ{ÚÕg<eee>øàÓ¦M;õ”Y3ŸX¸paö.— “:ë«\_¼Ét3C¢{:R|Ýu×]2dÈ¿ã8íJd­GOÂ/ǰ­¸„÷Eí˜ô÷IºI4%˜I1×=΄B!vìØAII‰çÆo< Ø7»%S= ÖYÃøÈt1ƒ^)™:è ƒ£b:.”D$ÎŒìb¢düž&¢±±‘aÆúeukréÛ —èsÓÅ ²vö‹QBÊ,™———vÅâOÆV%z¹ßÓP(DqqqÇã)ÈrWlI+ÖžitþÚMÉ8,w`B!ˆ8-`}è*,{V|œù½ó³rŒCÙa0BI8¿BtÊ:,ëcœà›œy`3„å¯ ÅуÁ À"UhBd#Ê*çu&¹ç)ìmZTD‹w<â2Õ>XØ„O nÆr× úoT¼L eM¾õ6/Myã°äkû ZXXÒ„º XlD­UجNE¦^¯×K²dºlÙ2T•¨û/ã{43i¯X±UeìØ±É/ElÛöey—Iô5*îžc+÷êÍ{a¹g€|GG†Í{IøŒWÄHIÂo×ë>_ú·ré u=šß?¯êeÍAôdÜ–ƒˆ7ªÚšÏت‚ –äî—béýHóCœ:º!eÜ÷tâžn>å”'v:K–xØÚwYkžØÄ‰_=¦Gêæ¹7oCô¸´Oâ¨ñk2’ÖëKûLÐ ¹ûÆBˆsàq5(€W`Å ÿ¹–ÀL:zkNh³g&"§`‚7ÜGïéÅ{ŒR+\Õ[vPýèã¨ÜÆ€ï.K{žêX«|‹* g?ò¾¦öAœKif&––<§ôƒ ëR‘©eYÖNdšŠ`wÁíÉ\ZZš²ž#^|dΜ9Y¼6£[ýîÉ~9O¢¿ª®¹t.ˆ/Öv¹ŸC@.ÃÅܰñò=Wð£þõÍï_þ[Œ“÷sTç…»\ÊK,‹˜‚ÊÔÿ[îùøvü™yc‚I¢dTØ¥|~\,”sH,m¡ç¤1aT‰iAÚêO{/½4ü åD$¹µDÞIÊv$ úeDƒÏw+þy uÖ LM³´–I%¤ù(ΛO³^Ú¯“i— œîé|ñÈ_ë\*¿ûIËÝÚæ\öÙùÿE6ÍËÁ¹ %¯ý:ŠŸè[VGCU™0a“&MÊY‚Ë;v,ãÇÏMâQù°µ‘JŽ$&Î@­÷AÎ|ípÒf” Á6îñ¡òšCïrÝg_Íœ4ºv2Á¼wq¹$‘ä$Õ ²½UJ‰r„ß“_ü:w¸oÒÃû¤‹Õö8¨ ¯½üclë]औ…ÔÈPÕÀçìd‡-vO)ðJÝ×ø×?÷JKþ2mØ~íâ‘ùÞ@õ _âä:áÎzµ@cŠrG›Ç±à¾KÍ¢“31£ÚÉË”.*¢±åY”*Žøµ1IˆÎJM¦©  ƒ9%ååbþjkk©­­%Ë÷FÛ‹Ia?nùZné–+Ç@ú%™ü­îEø޵7Íý½\ZYÁ¥•{sI¥‹JD¾ ü¤6)Ö¡Xö«Üøùa Ò™àþHµð&ÈÏ9Œ V2w˜0wXŸ}Ƀhý2"ß~ü+iÀƒe½ÅÂâödˆ9[‘J"ûÀÇ«¯ÞƒÊÍ„ƒÄw†µÀ-Ç"ÁŒ?ÌË„Ã0þðA¬­Éò!:ä> 9iàGˆeüëùý³ºüŸ.þ6ªË€ƒ’&ÙÍÀÓ(ç ¡ö:¡˜½NØ—Aß-Äë)Æ¡\¬Nšh¡²êEg`ò_G¤~šO!ú$Î] \ˆÈ|Þ ¼êÇë-Çu¿„Êx”3P~‡#ÿðt)fŸ3+ó·ÛayÞ@CÛ#3êHc”+€rjP\°åzT/LìÓº±® hÛ]œ;<Ðæ³Ø<<Ïo¶^¸ø áSbáÙ°êbnÚ8•ó½–üþqÍtÐI°P- ú–ûsÎöVÊçªÄLj›¬|¨âžU‡€{p\LJuå9îÿh*Û¬ÿ‚SÙæ ½·bÉÛ¶-¦' Æk@.aâ×C$µ\8s¦‘P‹yýŸ?ÃËõ ß- {ãÊ?xûï9ø[³®üŸ<9 ô1À·ŒBôfZô· ;¡íóæÓë€åÀrtÑo¨–3@®GáZjm§bæí鯴•L›ZnC9¼uÛAþ…r.ysRy¸j¶Ÿ„'ª‘è î¹Üã{pIò'ª3øIËrˆHÏG¹0)tA÷Ëü¬ßŸÛ%Òd\Z¾‹^ˆÊñ@KÜ?%(ð›Õ¥ÝÎï­ŸŒÆ’$"¥ô,~8ôè6‰´=œ>ì-Nߪ³€ˆ’öAyœ¾¡Q±‰AZ;SŽ·}Ë÷'4‰H]y_Á(&úH›Dš “ŽÜÀØ#g!z~R ë!-²»—YIo¯Y<áa¢§CÂñVcéd†Ì¸°]"Ý)k3œt'b¬KȧËØüðØ4¶¹0™6,< eNkôòòÆãŸÓ)W‘»$SC‚mcúôé1e¡øëã?>v=cÆŒN+nuÄšRÖ"äù]ëë·qnàûYŸ÷ª­_G¹6i™éIB-GR5 ë–œ.ðªß'ìg)Š¡xó¯ïV~ï^“k=Ä幕c™7ôÎn×Ç<Œk}#î}Å‘§Ò¼Ô¶ûÞwºÒ~ùµÓ=;ab üž¯ý{ŒÓõãa‡ù;„Ÿ&’žLaXùO²fâ²þñ¾À"\¼ƒ3‰Á3Þìr¼•3V#òˆÄNdÓ‡Z÷¡‹|i)¿RBã½{¡Ü÷ßÝäÏ™‡Ìléô|*DdÛ6ùùùäççcÛvìÛ¶ñûýøý~lÛN¸¿°°ÂÂB<O·ÒÞìóù®£÷$‡ï‘Rh›’’lBå‡1%¤0<r^àª4;÷Tm,@t! g¯õ5*úžDՠ½xШue’€ðnÜ8¦Ëq6Ú#‡ =ÿÙ÷…´ÕË×!rjÜ»˜óm4J8¯¾:ô­ƒ´ÜÇäCÒ)i´MB=â:Ðû’Èà*Þ{¾2+ê²Ås Êà¸F½Çú&û¤A·ÿ‰+A¿›ôÆd³ž›žÌK1jßQE$}š‚½ÏFºæÊ1-˼ë^îX%ܾRø,à…ohñÅÂ7[•£69ïóðÚ3yxíØz/g%`¯×=²’òZU»“¿œ"á?z¢ò‡kK—²½åÎ |*µ²+Óy—Äk©nF¬YÌ“`Ú’(©¼ø nvl¡úó.Åuóç —$,Ù‰ÞÁ‡>šöª9uÿÇÃÒ)^i/GHn@Žý‡ÆÆsÒš†å»ak\µãÈOv{ÙW->˜™@óÂi|é¸ô©®œ¹¸#©Ý]Äš»óÓû7QNŠä|+.gvÇ`„•"zn£P„ú<»¡µƒµþÒ7ÓÚLCh /Vÿ>'¤ÐT÷´%¶'™î®2õ<¡Úç\µÓ¢’òe„‡© ¼Ïù“9Iíݞתý¹ ±¿ÊO¸¼ïgiMgžwÚ¦qÓçûv:.;ðC 8®v·ÑÄ%™“æœËIu„£7ãå¥#œ¯¥†pGÕÖtžRƒ+¿H|:%Kòwoȯ’îfŸiO§žÛrP7 ­¤°°‹ÛFI@õ÷ŸR|j·œr¤G2Ý !'üÙ°m×ákj>¥%" ñiÍÚœBS¡³dºÇ/ñ&6ZåÞ_"z¦J#@`ïÀ§\Ø´€ó›‡î¾¼Ï%¶ï «Ø¿ÏÃIêÂÖÄul ÕΣ[¤vx)=aŒ¸‰ó÷«ÍXñå•Àsíœì}pÝK“Bžãë__‘‘´|Þûæ¸:ïCŸP7,FEÞcW¢W>u8„¸‡k2Rö²S¶áòHBÛfw,~}@ÁÉwu{¡3„ÓVø”!Öm†u›áÐÊÖU±CãÂ[÷s'ô?™×¯å£õk™P1+g•‘¼^o§®»“vÎñïó£Å{ ðç6ºîÞ¨\Žè*.lz ›Náü X¤iS*U ä LõZfJf¤0ÝiL˜Ö©8ª× ŠŸ àqoÏx]‰,̉æ¢Ò’%ý€ãÉ•_g,Ÿ_=tÈ“ D¨2­ëåî6sœ•Ô8aØôU+¿eÝ“r[–¤§ÜzGW÷IãáéV;Œ ðS*ƒL‰hü ?¥2È¡ýwVŠšÔ6“úÏîQf·'ª*"ÒéeÞ=–mÀ9œ¸¸Œ°e{§©²2a*VS-5>ˆê]ÜPøVf3·ýp`¯Vg  ô`F“´ôÿp媸u7o)áܾ;:(TÌH þÁYC«3þÁçðyBÝ7¶ÝÅ£ÝM[|3 ›_ŒÆ·ŠÃ¿þJFó,îÿ¡ò½¸4Ø-u÷îs…Ð2=©>ïÎhš'¼BÍ£[€¾1îr=S€n.+K3Žïþ´të\’³-íÎH¦ÝM{X"þ}Þ¿ù}Þ,=¸è‘‹Š&eÀ9ˆ¬àâÆw¸¸ñÇ\ZÛ'C£êwÛ/sñ€†ŒÖCÁ^mçPg,EéÔ$r}¦GÞßÜ‘[“™=÷Ž<Ëw’¢ü[ƳmñvRšƒw‹VoQ`*Qs•aɾÇ~)ë"Šè;IcÒó«”ÎÜšž×Ó I0]iG¥ÎŽ*#e¢Ü9‰?䝿wù?Ä›7Õ3Q^mkå Лq¼¹¸ñ.©f åÈÄ7óƒbXCø½„]ÜQzö¦5e$‡áõžã!ùObuõ•–Eø€C&‚néèWW;¤ë`ÛMZûŒ|#©·.aø1h|o'Ô¹ÊWº?™Ò7Ò7×ÙÍ—Ë|Ûm·Å޽Ä_ßzë­)¯{Qv×J¿óßÅïòÅ–€_¡IVOZ‘èɨ¼Ã%õ‹¹¨¾ûã«6£•jìWz¤ì‡I-¢c†Ì}VØQë9ÞùúaÏ ¤úŸ¤3Ľ}wŒB)J˜’i0óíFª\à£$#{u§vI,äåj{&åyP7'Ò úfº²×)¤ž©¯Ü!àšššØõ¦M›vyÝ´÷xò½.%7ú/§$?„#½˜åIŽÃæm.møU[Jºœ¦“7r§>ï®ì™†Î¶¤®XÖ¡ç\ë€$"[Éû5÷\å?’vv_Û묭‹¯$µË/˜:µ¾‡r»-1m)ëÆ»ìÊ ) £’êcUÏ´=«6i.ЧÛåV+mQ«cõg¤ÐlL{D•¸\ïë O£Ñ?ÕyhRgØBõšóÞå’“º”–íïf.-ßÞC%ÝžÔH:80h²W˜÷{xº»)½ÑíÆ¶¦]îô$ ê«{,Ï’ÔnD:I(V÷ê|Õßö‚©§gÈÔ•ä¾YÖí8-oÚŽ“uX+oÙ²e¨*'NìQ’ém¼bÅ T•1cÆÐëq‹Ô·s’þ…}›f¢zÂW’^ï‹È ü¬ît~]Üɳ¡:(¶džèo ª6Åy×ÈvP^7Ê’|¼^oÄçk4í²6žJ· >ïÑwâJ=i3³±›üÜ+„ëP»šíÄåEWkxå•¡ÝnÉí­c/¤¬gëN÷ÚiuX=ÊÚ§‡v¹,5=¡NqÒ*U÷•‹¶õ<™ú|¾˜Ávã-si—––æ¶¡ûLàq€‡@æ’†Y¨ÜÄk1æ¡<À¥uA~SüXÇ_¨$Û™¸a)#þØ™DØ#zò4úŸDFæøþÝÖ¡T÷&?a¹ðIDATJaÇréŸø[ë{ô]ØRßë­5'B2Wf´ß6⮣ÿ…Rµ™ð¢Kë½IÿEÇhÚ®UØÃe8)DßÃi«Üž¶ë$¹þK*·( “ÈpÚ>ô6/2/Ø•‚€6uíÙ6eþÔÓä€ &0iÒ¤=–à:š?ûîÈÇU]·µ²Ÿö¸qã?~üÎ/ÄuÝP(¤O=õT/ÉDùmуØÎH”g“^Œ…p??«ë¸vc‚MÕ6ÌŒ¥ú/¹SvætÿíùÓ–º}V4½^¬„äRØù÷½‹6ÔfÛÈô^r'uP•Â8ƒþéiç)·¦µNœL×dsCCÖ¨jt oii¡¥¥%m ç"k„]WÇW%ü»­Æ}"P{ÉoÛ¶­[=Y–EccãVÇqš’ÿ땸¦d …Çw'u.?*é„6K~ú6MÛ ™—8«Óž%S'Ôd‚Ç/øK†È¤#÷¦T:{´I4×ù“.ö‰ŒNB3©—y7½÷Þ{/M˜0᤮.7î‰ûœ®*. "8*8VlÓ¸‰pÚ²ÓsBx…ÂRÅB±"û5í >Ÿ·Þzk PcY„•ªt.M ƒ€£âZÀ8~^7_ñä®i¯Âûh!îÿîÔá¬äAÀm{:åq+Åh¥ÉÏÄK$îævRà ôh½‡$/MöëewZBê¾òT^‰µ »4¬¤5~uÚˆQ’ÚŠÛF|€J\IxFߥ:—d ¦¹¢ãí¼½:’¤zp“JYGŸ;ÙÒÖRu‹Õ§œrÊÂåË—­¼¼|˜ëºÝ&¨\'àÖ3ÂB‹+Ô¢E-BNk»l+PW±-%ÏR|€W\ìh¼í¤mY>ŸÚÚÚÕgžyæB`Ugïñ„ú³†3pu%$,Ùž Ó¨áðÖ}­\Õ÷‘ì.´´$Œ0*=»gæÑ¢´FÝUÚmiKsÒsÿåðIôŽN§ÍIõäKßÉѲ§—Uw"Óûî¨ñÔ9³–Ž;öÂ… ž2zôèÃü~…ˆtøLjW,S{ŸéŠ7ä*A‚ŽEKÈ¢.! /ݶå™SUÛ(b»ä{\òl¯(¶´[nccãæ·Þz륳Ï>û7.½ïþ‡ÕmÁ ¿.üœKëÿœ7¡=œª-%TíÂÖ­jSRçê“%N”DE‹{6yOa«²›ˆ°ûè®Á즤™vy¯éoJcìµK/+{$Sjjjj***ž?ì°ÃÖ·Vz8pÂ1§ÏÙ1èȯæçYäçYäåYäûl¢¿óó†Y\7,p©*®‚ë*ªeœÈž¡«žêÞˆSl7¼¼ÚvxäY”ðwìžQ‰"‚%`Y Hø[Âß Vë="`YÑkA, %äåçQP\LIi ùEÅäù¼ˆ^u¤Õ2œ$+jº„‚ABÍ 4Öí n{õÍ46‡hnv\š[\š.ý¶¼¼òå'î¸øPlV×ÔÔ4þíÙçM‹M9Át¡rn\÷ðŽÚ·J£Ö&$^Ò—ò̶&jKÏ’©åí&K»Ùà6%,“ }zM_SÝÔªU+€2mLU•êêêF"öC+++¿º`Á‚‘Gñ•§7 ¢ÉSDaþø=ØE~GÉÔu5B˜à¸Q’ hô:ž|¯Æ…»a’uâ®S†ÇÅïÄ]C”Ûj½¶"×¶%Y‰h,Ü"|¯~Ög[ø|6~Ÿ…×cá±Ã÷ôˇ¡ÅÂÐbدXØÐaCƒ²ª>º’+ˆ„óÞÔäP×äÐТ¡Á¡¡Ñ¡¡É!¯e;SË*†Ÿrô˜Šyóæm–VWW;•ž{-š‹ß&¯Á8Gã»$StcÒï~90šU'JERÚ£É;R‚hú÷žz¶yw¯ÎT7&åê×kúšHRŸ!Ÿ1rf}Ž€=‰L“i<*++‡Ï™3güܹs¯¬ÞÖ$°‘Æ@ä`P(";Õ¥&äöÛ£véÞ”ÿ‹&lhw(>%¬í´Ÿ–jä|“x¼WˆUP„æ ¶µ,¶ï€w6Á;mŒ¢.n(Í ¸õ;ðéj¡¯Æ©özÀ_`3zh_ú—í}Þ‚ 6_qÅM•••oWWW&m7I—ÖoÆUü®gÌ¢«“:רJ:|fëQ‰?{@EÃÒ,iïå£ÒÄÁµÓH¶x4"Y±ýcm!ظ_A ñKåù…+r¦èjsž]é€É“'»úꫯ¶m»`P¿"¦õÞ!ÂkïwgîM÷ï®>ë"„°hrmÔK“zp°ÂZ½í½7¬ÁkcãøÉ#ˆQ·­´eúôéW®]»¶öÎ;ïl>Ä`WƒCCÂTS¤`׃ýo¼n|ç*áÛ÷>Éârþ7)à«=<˜–¨Ï'.úåxiÁÓ#ùÿÇŠRBZÔ­AUøwÒ~ñHV¬ð2fL0'ºJwÈdäÌV>ý!Ðê½ÉuÊ)2ͬvˆ´tðàÁãïºë®Ëü~ÿî­Šd·áü޵=ÅÅ'…V+@ Íô±šéCë§L›>}¬fJh¦Ä P -x a‹"h»« –eùæÏŸÿË#Ž8bLee徆,wù¢û%ýnÜå3×”lÖ$ ”S³ºœ¶ýARH97¯ß»spàNNW0s¦Ä/ –ôHîCúµNœJkƒL›ß‚qD;‚ãzQo{+60†q¸€ÚLû÷ï_8jÔ¨#/^|ë!C*âÏ6îÎ#,»“´Ý¨‚rÃ’ªv`ë(fqKÀBñDž¬ˆ’R[yVUÇ)¿ûî»o={öú÷ïÿÌ}÷?´É4Ù¸H ‘†²¤YwMŸ~8+®âþ’µe?h-7¶h%PÑñÀú˜°÷®™F){;hÔhºŸEø˜92³êê*‡ÄÆÔ©õ,y}Ê¡±Îo¹Ç¯õŠþæò,~›L‰~‹%K7øqÇÖfô\9«õ99†ªmeTõ©ÍÚò*/"ÌŽq‚Å÷€Ç2žî}}¬ŠØ`Ôݽ'ÑZ”xœ âÏ6s•76=–ƒ¬g÷иÂÌBõò,ßoO©¸-ÿÀòo$¤‚!õßžéÍÃPªeÞÁ×]wÝ%C† ñ;ŽÓ®´×Û¬!Iø LÄŠQ܇?¢nÊûöåP(ÄŽ;())ñÜxãgûæLÛþ~RH€¼âw:öpÙ3Àæ¸F“zv–O$lÔ«~‡›Wf~™T­ãº+Ô%uе ñ©spFó¿dI>ÈÑ;-umä\H¢i¢ýxùµãzEq¿&MŒ~œSeÈ-¥"ÓtÐÁ]±´Ó¼¾ÄŸ°êÌ'*ÊJÒnlldذaã€Þ£‚ßQüd[ª3“B_¤J;ô|•´ Ü“dóô‚n9Ï4BüD¨~,ïÌÌ>*(§¥™œßHêY‡d´ E'Õäíî3uÂzT’$1ëJTsÃÞgwËo¹w$J«r4+Ÿš¸Ç—»“dZ\^^^ØKB™ëǽÛïi(¢¸¸¸Àãñ`Ÿïº&.÷tNÒóÜ@¼U›°{·_fm™/Ü„pGRWþ‹>ðe,ÍûV O¯„­o$-ýœˆjfÊ,Yâ¹´c^\:¼Bpu ­z/¾–Ý«é2¸1ô;V$ÙÎý#+Vx{ëP”ŠL½^ïÎõ±lÙ2–.]Ú«¤ÐÝ‘öŠ+X¾|yª—"¶mû0hÅOOÎLœuÊÇl+êÜþaUÑ 7&”çò‹­Ù»l§òû¤ À~l*¾"#iݽ&WöxƒyKx€yü½C3#•–œ|9­q1ñ \MšÜÀK¯eï{"ŠX—è¼ô`ú|þ›)@©•Ê3‰×ëÅãéÞQ0CÀ»Ž·´´”’’’m7ì…ø´ÓN à¢Æ™ >µÔJ§"çs»tþ¼ŸUz5¢%ô6åA~¹urV–ÿܽ××·N"ôRnùôÛéO,t=­Gbjíûàì fßðTB˜Ãµa)2xjùá(¿ÊÈ{ð†ÎÔIt€.}†¾ö¥=¾;æ{’×MX½ø|#™¶AªÚ®sð\ ¸\!à±cǦtžõ˜£=㽤Jó¹¸áˆ>ˆ’´„"äšÂ®iVI30¡!Ž ŠPžã[NÊ`y¬./må"&?#𠲈?­ûVš·pת(?Š“ˆÏù"}{O’4!ñlî—¾%ö§W‹XOÞÙ½ÛJ~iÀ”)Ÿs„Ô½ñð /¿œ¹‰Ø¢Ev÷ßoòá„ÎÞO ½ÕOýMCÛÌ{–”Wdš²ßƒƒÁNôÃÜ'¸Ý‘¿ÚÚZjkksÏo‘[Åÿ8ÿâ‡Î¥Ì×ýÒÿIjsQÃtê›þÊ•$@ŸÄ_pA÷ˆ­ü߸œ‚ßÐ Aþ—_n¾Ÿ_Õ L[y®Ýt×~~=EÕ븾ºk{á nÂr¿G¢2RèÓܲö2ªºaUèÞöâ/«Ÿ½<®žoáŒá€¦o»aæÈ7‡ã$;€ËxôýÛ¸­ûoÏ~PÎâ·oFå)ZÝóÕaˉÀGiL§NzW.N¤¢ö^~õZ–-K2›VY¼ùÏ)¬xáv†ö{»ëñ¤qqëÀéu¸L6ÆMˆÑŸ²&ÿuV?9&mi}¶h/ª»/}‡jë˜l!ÑÖ™l†È*¤¼Þ&gF#ŒÆu¯áœÐ'ËY†8oð~Âí²¹S±]¤…„šÂ’c‘æÓP”z«Cîg[Ñ™üVºhü—}žäÊm'aYƒ›ßÊÖ2GNdÁ–ûk!¡²W©’Ž«s\÷E!jŠèá¨~qGF^,ÝÚ¿ùѾróºãž)ˆx3ñ¢üšŠµ§ò§µ×àñ>ʼAÓn¾}ÍAˆóBò$nµAYDѰ¨›»¼´¶i9õM þè—êÙôõÉ#ÿ¾­¿™“švÏ3+ópÆ¢îL‚SJãÎR6û]Ž»ŠgV¬ƧõðþoäÅ¥ zCÜ õÓ:‹W_½‘™<ù_Š÷çû‚g –;•åÖtÄ9ßûYÖôúý¿ó «ž< ¬ç}âþ‡%o²æÉç°ô/xígt\cǽ%ª·‚ËTD¾zX6kK§eoÂ(egþvÂ}(ÊPГQ |!˜l>EÜÏk;hÂÒZÅ?ªeˆ–ÃpbIË9h#ÂEüÖk¼å÷´jUídàQ`¿¸2壜îYØ[¶sõæe "ú)HJ6Ũæ#ø û!ì‡Ë ÞéÎò 76KŸ$lø ZE‚Þ‹Ûò'þüé+À ,] lGÝ,é‹H_Tû"z 0q÷N˜¾‡hß̺Ï.¤jxÔ-Dzáf\Ã|>Ÿ•/!z+Rt3ý{¢ËA¿@¬­¨@èƒ%å(刎&Ø04?Éß&@ ß瘱/D~¯ÍH»?|âM¼ðÚÇXÜG¢ŸÏ2\.FÜ‹yå•jD–ƒ»hÆÖ&”BD Áõƒì…è~ÀP`8¨–&£…ÊÂñbØôU¬|f,â>úÍÄŽ*Gãr4-n€Oÿïm„wOA·aI=¸…¨åE(Ærû ²/–îÇÆ­#2ëb0ÃÎÁ vüžéÓ§óÄO`YVìZD8þøãyüñDZ,‹3fðØc‘J©«3içá°”Þ0¬ þ c‡ö;\FEy u1¿ñš‘ÒT•½ÍokFÓä¹ ÑsA¼Iå)Ž9ªÕfdŠ"KʉF-¨Gä|~0ì“þõµóŽ»†“G~À¢w'õ0ʸ¤zó“P&EL‡Xá´Ý¸lÄæSñù’§q˜ÇwŽs¦k3æªæˆÉeÉ›#‘àõÀÉhØÕq\¾*A§'´è²kÔCÕ®QòY7 ?¦­:š5‡ü¸è—ÔÞó@&‚NLlƒq^¢mRÛh_áø–áZ«²­ø™S ê¶m“ŸŸO~~>¶mÇî±m¿ßßïǶí„û ),,씆p¶pü"¯×»'9|–B£ø³õs\kp°²]©µ3n"3mù3–=’ë NÊ‘FqIEU}.–ᠿ¶¥ÎŸìzöÛZ—°‡Ÿdo~:`ó$=ÞF~´ßÌr–‰È‹±J;1+ßû9ÈU„dD "m%Ót7噣×P±y2p»2+Ø~Ú!DÿŠr8Ç}í8¦œäƒÓZ›Ñv3uÜ6y6bÜ4v£,ÑwDX‚r2±Gœ›–¼¦ÛÑ»T¹ =îNZt(ʈ¬NÓX°ä·(#pâDÐEOZiÐBïªdÚ¬xy~mØðû7zh‡·®6´øx~]4<V¸MmrÞçµµ·Êä~çPΈœ”€}>_ôÈJÊkUMïNþ²Ÿ„E¹7€7€Ÿò#í‹ú–u0ª£PŒè”½Š;°L¬ÀgÀ‡o ¼H}þ«]:öÒ]\Þg-ðnÓ‹Ù´õH\¾ÅDÂçËÚÔ•u«Aþú"ÞàË\0xkFóû?û¾¼ÀÍ뾄‡Q‚0hËûS#®|„Å+ˆû7œÚ2¯wbŠ/c>HÃÆÒÿÌ¢E·##ŽDõpDÆ‚xV4ZÑ ² ô-—±[žáØq_´™†íy74/ÖØÜ‚Ï3R–)þ œÆsÏCAÁ1 ‡ û -lg©?^e5»¸ò"ù×}TC÷ÉÓ}KæÅÈÄ–w3Rö§×77±öéCpœc&¡2°í]ôsÂ>c?ÆålëEÎHÏÄY™‡#Ô´Ž%žtÑs…ÆÈnʳ„3†„¯“ÃO¾~é‹› hX;ýÅêßsBå­Y/…¦ºÇçó%ë®®Ó•vNàO²…°G–çwúï"-¤‘bò8بUéG8µäåoã·²=ëÊ– Ÿ|ÂøÍÖR‚Á~ØV˜T]u°t. ôë¿5mRgWpîÕÀo#øË‹iöT"ÞR¼€ë6 ¡zæÛÐaía ÛÌŸu»hû{äÆÂ•%øûâ•ð~¤ãî@œz¾;¦sdxÔèMÀí=öŽ:ªx$ò ãå—+éƒF&–¶Û‚c5 ZÇ¡‡nAÄÍH^:úàƒm‡û|ç-¢nÛÖ,ɇº¨SŠÓʯÅr¨³…Á3›2–—òïgì½§G2Ý %GJ¶CÚéššOéWV„k׆·e¹Ú–dE[K»ñ×{ìogq½4 {DY.-ßNâÑ”ìÅ™Öu;…ŸÕ‰8Bþe`ˆu›aÝf8´²u"~è€`\x«ŽÅ„þ'óñúµ|´~-*få¬2R\×Í ‚Ëe.--Ý¥¡û¨ÏSƒ,#Ó$¸$8_† &ÐÒÒ²G\¶äoܸqlÝšh¾Õu]7 )fqÍÀÀÀ 'È´¹¡¡aKAAAÿxë©H4Û¥¼\$àmÛ¶í¯eY466nu§É4YƒìC*mÞMï½÷ÞKmy:1ûœ=Ÿ?ŸÏÇûï¿¿„ÞjËÓ {aÖI Ú$Ó5§œrʃ[¶lYmYV»îÃz fl,j'm˲ÈÏϧ¶¶võ™gžùð‰i²ÙC¢F ÉÀ Šøe^ìÊÊJ­­­ýϸq㮾ýöÛO;vì„¢¢¢r˲¤£dÐË”ä—kñFÃTUëëë·¾ùæ›ËÎ;ï¼Çêêê>¬¬¬Ôêêjà™ÀÀÀÀ ;ÉÔÓ¯_¿|É÷z½Mõõõop ;\×}Ʋ¬BUͼ–eyEÄ䩪WDšE¤(yšªªÒÆÔ5>\’ÂÛ»–ñ´÷Ü.çÕI×ÚÆ=º‹ç’ïMEr*;û‹TU­WÕ| U ¹®‚"p]·Á²¬/òóóWz½Þ&)èׯŸµyóæf hš¯AÏ£h6Õ``Й7oÞìTVVºEEE¡¦¦¦`^^Þ¯×ë³,+ÏqŸmÛ^×u½ªêµmÛVU±,+ä8N^<¹Eˆ4™ðâÃãIURpJ2Mñü®wWdš’#Ä×Ö=ÉĨÉ$÷|BÉñÚ¶p]×#"ê8Ž#"A˲‚ŽãmÛnq]7 [<OÀï÷@ËæÍ››k[d!™¸ÕÕÕñŽ›ð4ÈÓÒÒâ žÂÂBËqÛqKU% ň2J†Idšð» BM–d¾Û ç”ÒhRü;‹Å)$ĶH6îÞ¾“þKIÄɤý-"!ÐØµˆ¸¶m; ®Çã ù|¾`uuu("š%]ƒ,…Ù750ø\¡¢”{UöIEND®B`‚sequeler-0.8.0/data/assets/sequeler.png000066400000000000000000000105551367531117400201300ustar00rootroot00000000000000‰PNG  IHDR€€Ã>aËsBIT|dˆ pHYsÄÄ•+tEXtSoftwarewww.inkscape.org›î<êIDATxœí\kŒUvþέGwu÷Ì8ÏŒíÕŒ‚ÅZ©Ô·NŸ:çVsoÝ{«ê$H A‚ $H°¶@]¶/lð-z—}­&Hyç|€»åHí–a8ÉõÛÏ>ûì÷yä‘§R©Ôóòó²ßɱî÷Ú·eYöâââçÓÓÓÿúòË/p]J¥F«¸åé§ŸÞûÄOüXÓ´¡ {/J/ÑOß@D"NOlÛ¶íûÙlö‹cÇŽå\솯n%ÀÔ}÷Ý·û¹çžû±ªª?…•ZA/Ñï€×£¾.D$n»í¶=sssŸÏÌÌ̸µ¿n$ÀØæÍ›wMOO?kÆFW8¨¹ßX©.D¤Ýyç;Ož<9söìÙ«æ£ôu䆇‡¿ûî»ï½=bÛ¡1H½K˜º¨ªš¹çž{nyï½÷~yýúõY…ˆª•!ºªª;Þ~ûí?›˜˜Ø¡ÝÀ¤€G…\.wóáÇÿjxxx;€\Tv£Jð»o¼ñƃ[¶ly8"›mc5Üccc»>ü#;¤¢°Õ-àöC‡ÝûðÃÿ5u{maÍÜ£££·lݺõÚÑ£G¯8§‡Q$ÀæÜuðàÁ¿Bte±g-¼n]¦¦¦îܸqãW|ðÁ"€o:±Ùilؽ{÷žW^yåït]_ס­’€;hQºùæ›ï2Móó'N,˜ 룓™œœ¼ëÍ7ßü›¡¡¡:°“¼Š u!"eÛ¶m;O:õ‹Ó§OϘ ã3ìý:{ë­·þÁ[o½õÏSSScB,%»uA£°ÛÍ`÷ú¼™¶mcvv¶°ÿþ¿üè£þÀ¥ öÃ$mÙ²åÞy矚š2¤”µJúU¶ypеò^ê ²oUUaæçç­ûï¿ÿO?ûì³#J µ@˜iàä /¼ppjjʰm»eæ·Ó*úÙcÄÝ·eY˜ŸŸÇðð°úâ‹/þ9€oµ&6ÞqÇ¿#¥ |`T&î‹Úw¡PÀM7Ý´Àú ~Ã$ÀÐèèh6ns1pQù¶, CCC™fÞZ!Lhš¦5?ùä|üñÇ •k…A¸xqóýé§Ÿâøñã rMÓHQ”Àë0a^Bxoš¦5È‚"Iš•펌Œø^çê,U·¶+ê ¿îçÎÓ4Û:&*¬µ¤Ù¾};`n.Ô´¿‘½Ö,ðͰ‚Òú¹Êw”ƒkôÀõÓ÷ -”u%¼ô 3è¾»9Ãê8ýâõÓ÷†3¶(ø|68p`ïóÏ?ÿ¯3ŸþêÿP([uÖXUÁšYHÝ©¤›MàäˆÛ&¨TŠ‹@¥²Lçß&ã_[»ç OÝ:]¢ bÏÐl½ñ71¾Îà#GŽ<óÌ3ÏüÀ „Ÿ%wœvïÞý½ééé Ã÷S°° · ¶‚¼-`CÀf,xOœ`¨Ä0ÈÂbÃ64b/‹6è@ªÕ~”¶ºY)e套^zêµ×^û/¿DHt•"†Q·“³§@«Žè3ŠD†$2B !k›A62Š ƒ$2ŠŒ"‘*1–•¢@?×á½R—ØPÄ0œA—`I§Gp~­œ»ÿ  1ª­•îf°{½¾À#ŠWìŽÖ½Þ}»ºe"®­XQ«c||wª3¨k@Œ(bÜÛ€B€"ê6rîóJ­•×m=Ðòeà•°VWB1a¦¡(bÜ•»•bè§ã½]Ä=pQûN(bb¸¨|'1!Wß ELL•ï„"&„ÝA\T¾Š˜ç¤I(bbõóCBßÝœa%1]ôPÄT±V)bÚù"8¡ˆYÅ1~´0õeæ„"&¡ˆI(bŠ˜nøn ELv›é$1ÕJ%1 EL¤vãâ;¡ˆ ¡³š|'1 ’N/|'1]À ¶v?„"¦ :a°V}·ƒ„"&f¾Š˜é„A/|Ç–"f% zPÚ­c*œv›½ËU¯KŠ˜0ˆcÒ¸"IÎ.Ggù§L °T&ˆiš=ŠELX0è§oÉMT£Â)³p¨n¤³•lª•k²*N&,L¨,EL3Ùj[àê¾ BE:¯°h Âñ³C°äŽÉZøŽELØK;A$»–d˜L(Øó–À‚ XL-©p˜ĨQád‰aÕùrÚ¥Âiqýb@“Hë ÜýtJäÒ¶8'â2z0;ݨ#_bðpÊ~ºŽl (b„€*©t ™¡! #BJ×@ŠR}Yi,@õÃÀ–iÂ*åQX˜ÇÂõK(”,”JvŒ)b2 ²†ŠlFA®ºï&€CáâÄöP¸¸åšÜ«ËuòA ˆQœcuE@׺€¦ ¨Š£³> Ü8D¸q¸aˆp¾\¨Òáüï¢ÛË;\AR2ŠE .EL>Î1-di³ÓeРÝ~§nìÙ‰URYˆLœÎ€ \%ÃjjŽ´LP){q\.Vµî°ŠXRĸ2 :p‹r?ì± E© ÏЬúRá4@:¬' $ ²A)˜P![RáÄ‚"¦] úÃ¥mÀe3q–rb¨$¡³ CXHÂQÝÒl" «¶ÂBŠß4YÐ`µE…Š˜¨I º˜hҤ¡‘¨.¡}*†ZtºT8ÍêÌ#Š˜VûíèÄe ¶XWP] hbg™˜Aµ™ÉʾcCÓ «iUÐ¥Â`ªÛиK_½ T8±¢ˆº·˜¢ðí>Ð ÚµÖÖ$BøN(bbž4úN(bB ®¾Š˜˜.*ß EL»ƒ¸¨|'1 ÎI“PÄÄÜ÷ -”%11ðÝÍVBÓEß ELk•"Æû(³óEp«ÏÃ{½ž’PÄt1it]¯Ñ¿ø•™y™¼“úõe Ðn劘„"fÍSÄ´ÃÐåô„"&»Ítꃦâ{`õp+•PÄ$1‘Ú‹ï„"&„ÎjòPÄx0H:½ðPÄtƒÚÚýtŠ˜.è„ÁZõÝŠ˜˜ùN(bz¤½ðPÄÄjKš„"& N?}w£~ EL‡vÝw˜úuB&NïÛ·oúÊ•+_ !Z>Êl«!pÝB+ßB¤ÓiÌÍÍ}ùè£þÀWAí‰P&&&R…Bá[ëÖ­ÛõꫯþÉöíÛwær¹Q!„¯­°–vFÖ¢]WÆÌ¼¸¸xõĉŸ<ùä“oÎÍÍý<“Éœ¿xñbiD[Y$´õë×§UUMW*•43¯+•J›¥”„YfNЄ©R̬Q‰ˆr^_ÌL^Y]¨®ìWW¿²×ÖJ6Z}ÊÞ ê'_©ÜlÆD 4Ì̜̋&"@™™-)¥ À$¢²”2/„ø&NADsº®—,Ë*ÍÎΖ´õšvÐþ[LLL©TJ/‹)Ó4Sš¦éBˆ”mÛº¢(š”RcfMQ…™IaÙ¶ªóEÕà×û'¼&«¯c]Òø&€Ïñ :mžgËàVƒÕLÇL†'ðuÇ/³áµ«(JYJ©Û¶m‘)„0mÛ6E©H)˦iV4M+†Q.—Ë•‹/áÌÒÚB§7p mÚ´I-‹šeYj6›¶m+Ì,˜Ù yËuÇ/Ûo’ÞcÙo“„ò=GýÆòi‰>eöè6üzþóMo"¸ûDÄÞ2IEQì|>/UUµ Ã0/\¸`Áié¡)Qp5³Iž Ê­d~¿­Ê~ûí¢d¨/·ú]I֪ܬÇéÝH€ ~ÛI¿c¼²Ve?¿+¡ÙEz¿o&kðž¢_ Ð)‚´öNϱU/àÝïß|1A‚ $H þMi6%ˆ£YXIEND®B`‚sequeler-0.8.0/data/com.github.alecaddd.sequeler.appdata.xml.in.in000066400000000000000000000464551367531117400250530ustar00rootroot00000000000000 @appid@ CC0-1.0 GPL-3.0+ Sequeler Friendly SQL Client

Easily connect to your local or remote database

Store your Database Connections in the library, connect over SSH tunnel, type and execute SQL commands directly in the app, and do everything you need to do without the necessity of opening the terminal.

Supported Databases:

  • SQLite
  • MySQL
  • MariaDB
  • PostgreSQL

Features Include:

  • Test Connections before saving them
  • View Table structure, content, and relations
  • Write multiple custom SQL Queries
  • Switch between light and dark mode
  • Handy keyboard shortcuts to quit (ctrl+q), create new connection (ctrl+shift+n), open a new window (ctrl+n)
@appid@

New Features

  • Create, Edit, and Delete databases.
  • New context menu to copy and edit tables.
  • Support unencrypted connections.

Bug Fixes

  • Fix copy column data.

Translations

  • Updated translations for Ukranian, Russian, French, and German.

Reduced CPU usage by 2%.

Update translations for Italian, Spanish, Catalan, French, Hindi, Russian, and Turkish.

More fixes!

0.7.8 changelog

  • Fixed usage attempt of wrong Vala method.

0.7.7 changelog

  • Fix nasty GSettings bug causing the app to crash.
  • Implement GDA Placeholder statement.
  • Improve Query Tab iconography.

0.7.6 changelog

  • Fix ORDER BY in PostgreSQL Relationship view.
  • Improve MySQL structure view.
  • Drop Granite.Settings in favour of GLib.Settings.
  • Implement Granite.Notebook on the Query tab.
  • Show query error messages inline.

More fixes!

  • Fixed usage attempt of wrong Vala method.

Because 0.7.6 never happened!

  • Fix nasty GSettings bug causing the app to crash.
  • Implement GDA Placeholder statement.
  • Improve Query Tab iconography.

Query Tab Bonanza!

  • Fix ORDER BY in PostgreSQL Relationship view.
  • Improve MySQL structure view.
  • Drop Granite.Settings in favour of GLib.Settings.
  • Implement Granite.Notebook on the Query tab.
  • Show query error messages inline.

New features and improvements

  • You can now duplicate connections.
  • Sorting columns now works as expected by actually running the ORDER BY query.
  • Quickly jump to a specific result page with the handy dandy pagination popover.
  • Show Comment Column inside table structure view.

The 2020 release!

  • Manually reorder saved connection.
  • Allow selecting a custom SSH public key.
  • Fix SSH tunnel crashes.

Raw Query Improvements

  • Strip comments from SQL raw queries.
  • Better handle complex queries on multiple lines.
  • Speed up query rendering.

Sweet Query Tab Improvements

  • Edit font size of the Query Tab.
  • Edit background style of the Query Tab.
  • Save and remember the Query Tab size.

PostgreSQL Fixes

  • Fixed PostgreSQL relationship table.
  • Fixed wrong response message when handling non select queries.

Bite-Size fixes

  • Removed unused libfixposix.
  • Fixed pagination issue when clicking too fast while fetching big data.

Bug fixes and improvements

  • Rewritten pagination to use LIMIT and OFFSET.
  • Faster pagination and content viewing for big data.
  • Show records count in table's list.
  • Bug fixes and other improvements.

Bug fixes and improvements

  • Properly handle EXPLAIN SQL statement.
  • Properly handle querying capitlized PostgreSQL tables.
  • Improved async methods for internal views.
  • Updated translations.

Critical bug fix!

  • CRITICAL: Fixes missing GSettings Schema, restore lost connections.
  • Other small bug fixes and improvements.

Implemented SSH tunneling

  • WARNING: This release packs many updates and something could break. Please, backup your connections.
  • Connect via SSH to a remote Database.
  • Major code refactor to handle UI updates via async methods.
  • Use Stack container to show a loading Spinner during fetch or data processing methods.
  • Major performance improvements to the table search and dropdown schema switcher.
  • Bug fixes and other improvements.

Fancy New Icon!

  • New fancy Icon.
  • Use GtkNativeDialog.
  • Bug fixes and Improvements.

Open SQLite files

  • Open SQLite files directly in Sequeler.
  • Right click to copy data inside a column.
  • Bug fixes and Improvements.

UI Fixes and Performance Improvements

  • UI fix for logout button.
  • View shortcuts on preferences dropdown.
  • Performance Improvements.
  • Italian translation.

Export all the things!

  • Export results from Query Tab.
  • Export in CSV or Plain Text format.
  • Sort Columns order everywhere.
  • Brazilian translation.

Here comes the power of Pagination!!!

  • Paginate results in the Content tab.
  • Query messages UI improvements.
  • Relations table bug fixes.

We got Multi SQL Query support.

  • Ability to handle multiple SQL queries.
  • Execute the currently highlighted query.
  • Improved Library Popover UI.
  • Use native GTK+ CSS attributes for better Light/Dark mode.
  • Random UI improvements.

Urgent! Fixed broken Tabs for translated version.

Light and Dark Mode Switch!

  • Better Dark/Light mode switch in header bar.
  • Add Russian translation.
  • Updated Welcome screen with New Window command.
  • Code cleanup.

Official Juno release!

  • Missing filter name on SQLite File Dialog.

We got Search!

  • Search table names in sidebar.
  • Fixes issue in connecting directly on a non saved connection.
  • Updated Lithuanian translation.
  • Italian translation.

Improved Password Security.

  • Safely store passwords in LibSecret.
  • Auto upgrade on startup to remove passwords from GSettings.
  • Fixes issues with identical table names from other database in the same connection.
  • Alphabetically ordered tables.
  • Improvements in showing MySql/MariaDB Table Structure.
  • Many more bugs for you to discover.

New Icon and Import/Export Library.

  • Fancy new icon.
  • Import and Export connections library.
  • Fixed random crash when opening and closing multiple connections.
  • Bug fixes and improvements.

Bug fixes and improvements.

  • Fixed PostgreSQL Schema show options.
  • Fixed crash on new connection dialog when opening the connection before saving.

Little side dish update.

  • Fixed save window state on close.
  • Bug fixes and improvements.

Alternate coloured rows!

  • Manually reload Content, Structure, and Relations.
  • Show Table schema, content, and constraint relationships.
  • Properly handle compound queries.
  • Fix PostgreSQL table switch.

Complete rewrite of the entire code base!

  • Handle multiple Windows/Instances and multiple open connections.
  • Show Table schema, content, and constraint relationships.
  • Quicker response on big select queries
  • Better error handling.
  • Bug fixes and improvements.

Better error handling, less crashes!

  • The app doesn't crash when dealing with big values
  • Handling errors related to columns
  • Quicker response on big select queries
  • Some small clean up
  • Fixes issue with SQL Lite encrypted path

Better error handling, less crashes!

  • The app doesn't crash when dealing with big values
  • Handling errors related to columns
  • Quicker response on big select queries
  • Some small clean up

New Icon, Better error messages!

  • New shiny icon
  • View SQL error message on error
  • FIX: Show proper PostgreSql Schema Table in Sidebar
  • Snappiest query execution ever for local databases
  • The usual bundle of bugs for you to discover

Summoning the power of async methods!

  • All DataBase queries are now async methods, super fast.
  • The UI doesn't freeze anymore during a long process
  • Granite SourceList to display list of tables
  • Tabs to switch between the Query Builder and the Table Structure
  • ComboBox to select table schemas from the open connection
  • Many more bugs and issues for you to have fun with

Bug Fixes and Improvements

  • Display Table lists for SQLite and PostgreSQL
  • Refresh Table List view if tables change
  • Removed unused GSettings

This is so good you won't believe it. New Library UI, Schema Table, Custom Port, and more

  • A brand new Library View directly in your home screen, super tight and organized
  • Custom Port field for those snazzy geeks who don't just use 3306
  • A shiny new Sidebar View to list all your DataBase Tables
  • Code cleanup and speed improvements
  • Usual abundance of bugs and issues for you to have fun with!

Major Update: Releasing a sweet table to view Query Results!

  • Did I say we got a sweet table to view query results?
  • New shortcut (ctrl+enter) to execute query
  • Solved bug while connecting to DB directly from the Connection Dialog
  • UI Improvements to Connection Dialog
  • Added Spanish and Lithuanian translations

UI fixes

  • Visual improvements to the library view

Initial Release

  • Store your Database connections
  • Quickly connect to a Local or Remote Database
  • Write SQL queries in the built-in code editor
https://raw.githubusercontent.com/Alecaddd/sequeler/master/data/assets/screenshots/sequeler-screenshot.png https://raw.githubusercontent.com/Alecaddd/sequeler/master/data/assets/screenshots/sequeler-screenshot1.png https://raw.githubusercontent.com/Alecaddd/sequeler/master/data/assets/screenshots/sequeler-screenshot2.png https://raw.githubusercontent.com/Alecaddd/sequeler/master/data/assets/screenshots/sequeler-screenshot3.png https://raw.githubusercontent.com/Alecaddd/sequeler/master/data/assets/screenshots/sequeler-screenshot4.png Alessandro Castellani @appid@.desktop https://github.com/Alecaddd/sequeler https://www.paypal.me/alecaddd https://github.com/Alecaddd/sequeler/issues https://github.com/Alecaddd/sequeler/issues https://hosted.weblate.org/projects/sequeler castellani.ale@gmail.com none none none none none none none none none none none none none none none none none none none none none none none none none none none #3f3f3f #ffffff 25 HiDpiIcon HighContrast ModernToolkit
sequeler-0.8.0/data/com.github.alecaddd.sequeler.desktop.in.in000066400000000000000000000005041367531117400242740ustar00rootroot00000000000000[Desktop Entry] Name=Sequeler GenericName=Sequeler App Comment=Friendly SQL Client Categories=Utility;Development; TryExec=@binary@ Exec=@binary@ %U Icon=@icon@ Terminal=false Type=Application Keywords=SQL;MySql;Database;MariaDB;S3;PostgreSQL; MimeType=application/x-sqlite3;application/vnd.sqlite3; StartupWMClass=Sequeler sequeler-0.8.0/data/meson.build000066400000000000000000000061241367531117400164320ustar00rootroot00000000000000icon_sizes = ['16', '24', '32', '48', '64', '128'] icons_dir = join_paths(get_option('datadir'), 'icons', 'hicolor') foreach size : icon_sizes asset = join_paths('assets', 'icons', '@0@x@0@'.format(size), '@0@.svg'.format(meson.project_name())) install_data( asset, install_dir: join_paths(icons_dir, '@0@x@0@'.format(size), 'apps'), rename: '@0@.svg'.format(application_id) ) install_data( asset, install_dir: join_paths(icons_dir, '@0@x@0@@2'.format(size), 'apps'), rename: '@0@.svg'.format(application_id) ) endforeach install_data( join_paths('assets', 'icons', '128x128', '@0@.svg'.format(meson.project_name())), install_dir: join_paths(icons_dir , 'scalable', 'apps'), rename: '@0@.svg'.format(application_id) ) install_data( join_paths('assets', 'icons', 'status', 'table.svg'), install_dir: join_paths(icons_dir , '16x16', 'status'), ) install_data( join_paths('assets', 'icons', 'status', 'table-empty.svg'), install_dir: join_paths(icons_dir , '16x16', 'status'), ) install_data( join_paths('assets', 'icons', 'actions', 'office-database-new.svg'), install_dir: join_paths(icons_dir , '24x24', 'actions'), ) install_data( join_paths('assets', 'icons', 'actions', 'office-database-remove.svg'), install_dir: join_paths(icons_dir , '24x24', 'actions'), ) install_data( join_paths('assets', 'icons', 'actions', 'office-database-edit.svg'), install_dir: join_paths(icons_dir , '24x24', 'actions'), ) install_data( join_paths('assets', 'icons', 'actions', 'application-logout.svg'), install_dir: join_paths(icons_dir , '24x24', 'actions'), ) # Install the Desktop file desktop_conf = configuration_data() desktop_conf.set('icon', application_id) desktop_conf.set('binary', application_id) desktop_file = i18n.merge_file( input: configure_file( input: '@0@.desktop.in.in'.format(meson.project_name()), output: '@0@.desktop.in'.format(application_id), configuration: desktop_conf ), output:'@0@.desktop'.format(application_id), po_dir: join_paths(meson.source_root(), 'po', 'extra'), type: 'desktop', install: true, install_dir: join_paths(get_option('datadir'), 'applications') ) # Validate desktop file desktop_file_validate = find_program('desktop-file-validate', required: false) if desktop_file_validate.found() test( 'validate-desktop', desktop_file_validate, args: [ desktop_file.full_path() ] ) endif # Install the AppData file appdata_conf = configuration_data() appdata_conf.set('appid', application_id) appdata_file = i18n.merge_file( input: configure_file( input: '@0@.appdata.xml.in.in'.format(meson.project_name()), output: '@0@.appdata.xml.in'.format(application_id), configuration: appdata_conf ), output: '@0@.appdata.xml'.format(application_id), po_dir: join_paths(meson.source_root(), 'po'), install: true, install_dir: join_paths(get_option('datadir'), 'metainfo') ) # Validate AppData file appstream_util = find_program('appstream-util', required: false) if appstream_util.found() test( 'validate-appdata', appstream_util, args: [ 'validate-relax', appdata_file.full_path() ] ) endif sequeler-0.8.0/data/stylesheet.css000066400000000000000000000056231367531117400171760ustar00rootroot00000000000000.text-bold { font-weight: 600; } .library-box { background-color: transparent; } .library-box:selected .library-btn { background-color: transparent; } .library-box:selected .library-btn image { color: @fg_color; } .library-inner-box { background: transparent; transition: background 320ms ease; color: @fg_color; } .library-inner-box .library-btn { opacity: 0; } .library-inner-box:hover { background: shade (@bg_color, 0.9); } .library-inner-box:hover .library-btn { opacity: 1; } .library-btn:active, .library-btn:focus { background-color: transparent; } .grid-motion { background-color: alpha (#3689e6, 0.25); border-radius: 4px; } .library-titlebar { border-bottom: 1px solid shade (@bg_color, 0.9); background: shade (@bg_color, 0.95); } .library-toolbar { background: shade (@bg_color, 0.95); border-top: 1px solid shade (@bg_color, 0.9); } .library-colorbox { border-radius: 12px; box-shadow: inset 0px 0px 0px 1px rgba(0, 0, 0, 0.2); } .toolbar-btn { background: transparent; border: none; box-shadow: none; } .toolbar-btn.active { background: shade (@bg_color, 0.9); opacity: 1; } .headerbar-separator { margin-right: 3px; margin-left: 3px; } infobar.inline revealer > box { box-shadow: inset 0 -1px 0 0 alpha (#fff, 0.4); border-width: 1px; border-radius: 4px; } .color-button radio, .color-button radio:checked { border-color: alpha (#000, 0.3); box-shadow: inset 0 1px 0 0 alpha (@inset_dark_color, 0.7), inset 0 0 0 1px alpha (@inset_dark_color, 0.3), 0 1px 0 0 alpha (@bg_highlight_color, 0.3); padding: 10px; -gtk-icon-shadow: none; } .color-button radio:focus { border-color: @colorAccent; box-shadow: inset 0 1px 0 0 alpha (@inset_dark_color, 0.7), inset 0 0 0 1px alpha (@inset_dark_color, 0.3), inset 0 0 0 1px alpha (@bg_highlight_color, 0.05), 0 1px 0 0 alpha (@bg_highlight_color, 0.3), 0 0 0 1px alpha (@colorAccent, 0.25); } .color-dark radio { background: #252E32; border-color: #151B1C; color: #fff; } .color-light radio { background: #fdf6e3; color: #4d4d4d; } .color-white radio { background: #fff; color: #000; } .query-error { background-color: alpha (@STRAWBERRY_300, 0.2); border: 1px solid @STRAWBERRY_500; border-radius: 4px; } button.notebook-temp-fix image { color: @selected_fg_color; } .database-panel-overlay { background-color: alpha (#000, 0.3); } .database-panel { border-radius: 3px; border: 1px solid alpha (#000, 0.3); box-shadow: 0 3px 1px -2px rgba(0,0,0,.2), 0 2px 2px 0 rgba(0,0,0,.14), 0 1px 5px 0 rgba(0,0,0,.12); text-shadow: none; background-color: shade (@base_color, 1.15); } .database-panel-bottom { background-color: alpha (#000, 0.1); box-shadow: inset 0 5px 5px -10px #000 } sequeler-0.8.0/debian/000077500000000000000000000000001367531117400145765ustar00rootroot00000000000000sequeler-0.8.0/debian/changelog000066400000000000000000000245371367531117400164630ustar00rootroot00000000000000com.github.alecaddd.sequeler (0.8.0) xenial; urgency=medium * Create, Edit, and Delete databases. * New context menu to copy and edit tables. * Support unencrypted connections. * Fix copy column data. * Updated translations for Ukranian, Russian, French, and German. -- Alessandro Castellani Thu, 25 Jun 2020 11:00:00 -0700 com.github.alecaddd.sequeler (0.7.91) xenial; urgency=high * Reduced CPU usage by 2%. * Update translations for Italian, Spanish, Catalan, French, Hindi, Russian, and Turkish. -- Alessandro Castellani Tue, 12 May 2020 11:00:00 -0700 com.github.alecaddd.sequeler (0.7.9) xenial; urgency=high * Fixed usage of wrong Vala method. -- Alessandro Castellani Thu, 12 Apr 2020 11:00:00 -0700 com.github.alecaddd.sequeler (0.7.8) xenial; urgency=high * Fixed usage attempt of wrong Vala method. -- Alessandro Castellani Thu, 11 Apr 2020 12:00:00 -0700 com.github.alecaddd.sequeler (0.7.7) xenial; urgency=high * Fix nasty GSettings bug causing the app to crash. * Implement GDA Placeholder statement. * Improve Query Tab iconography. -- Alessandro Castellani Thu, 11 Apr 2020 11:00:00 -0700 com.github.alecaddd.sequeler (0.7.6) xenial; urgency=medium * Fix ORDER BY in PostgreSQL Relationship view. * Improve MySQL structure view. * Drop Granite.Settings in favour of GLib.Settings. * Implement Granite.Notebook on the Query tab. * Show query error messages inline. -- Alessandro Castellani Thu, 09 Apr 2020 11:00:00 -0700 com.github.alecaddd.sequeler (0.7.5) xenial; urgency=medium * You can now duplicate connections. * Sorting columns now works as expected by actually running the ORDER BY query. * Quickly jump to a specific result page with the handy dandy pagination popover. * Show Comment Column inside table structure view. -- Alessandro Castellani Sat, 04 Apr 2020 11:00:00 -0700 com.github.alecaddd.sequeler (0.7.4) xenial; urgency=medium * Manually reorder saved connection. * Allow selecting a custom SSH public key. * Fix SSH tunnel crashes. -- Alessandro Castellani Tue, 31 Mar 2020 11:00:00 -0700 com.github.alecaddd.sequeler (0.7.3) xenial; urgency=medium * Strip comments from SQL raw queries. * Better handle complex queries on multiple lines. * Speed up query rendering. -- Alessandro Castellani Sun, 1 Sept 2019 11:00:00 -0700 com.github.alecaddd.sequeler (0.7.2) xenial; urgency=medium * Edit font size of the Query Tab. * Edit background style of the Query Tab. * Save and remember the Query Tab size. -- Alessandro Castellani Fri, 5 Aug 2019 11:00:00 -0700 com.github.alecaddd.sequeler (0.7.1) xenial; urgency=medium * Fixed PostgreSQL relationship table. * Fixed wrong response message when handling non select queries. -- Alessandro Castellani Fri, 2 Aug 2019 11:00:00 -0700 com.github.alecaddd.sequeler (0.7.0) xenial; urgency=medium * Removed unused libfixposix. * Fixed pagination issue when clicking too fast while fetching big data. -- Alessandro Castellani Tue, 7 Apr 2019 11:00:00 -0700 com.github.alecaddd.sequeler (0.6.9) xenial; urgency=medium * Rewritten pagination to use LIMIT and OFFSET. * Faster pagination and content viewing for big data. * Show records count in table's list. * Bug fixes and other improvements. -- Alessandro Castellani Tue, 2 Apr 2019 19:00:00 -0700 com.github.alecaddd.sequeler (0.6.8) xenial; urgency=medium * Properly handle EXPLAIN SQL statement. * Properly handle querying capitlized PostgreSQL tables. * Improved async methods for internal views. * Updated translations. * Bug fixes and other improvements. -- Alessandro Castellani Tue, 19 Mar 2019 21:00:00 -0700 com.github.alecaddd.sequeler (0.6.7) xenial; urgency=high * CRITICAL: Fixes missing GSettings Schema, restore lost connections. * Other small bug fixes and improvements. -- Alessandro Castellani Wed, 2 Jan 2019 23:00:00 -0700 com.github.alecaddd.sequeler (0.6.6) xenial; urgency=medium * WARNING: This release packs many updates and something could break. Please, backup your connections. * Connect via SSH to a remote Database. * Major code refactor to handle UI updates via async methods. * Use Stack container to show a loading Spinner during fetch or data processing methods. * Major performance improvements to the table search and dropdown schema switcher. * Bug fixes and other improvements. -- Alessandro Castellani Sun, 29 Dec 2018 19:00:00 -0700 com.github.alecaddd.sequeler (0.6.5) xenial; urgency=medium * New fancy Icon. * Use GtkNativeDialog. * Bug fixes and Improvements. -- Alessandro Castellani Sun, 15 Dec 2018 14:30:00 -0700 com.github.alecaddd.sequeler (0.6.4) xenial; urgency=medium * Open SQLite files directly in Sequeler. * Right click to copy data inside a column. * Bug fixes and Improvements. -- Alessandro Castellani Sun, 9 Dec 2018 20:30:00 -0700 com.github.alecaddd.sequeler (0.6.3) xenial; urgency=medium * UI fix for logout button. * View shortcuts on preferences dropdown. * Performance Improvements. * Italian translation. -- Alessandro Castellani Tue, 19 Sept 2018 12:28:00 -0500 com.github.alecaddd.sequeler (0.6.2) xenial; urgency=medium * Export results from Query Tab. * Export in CSV or Plain Text format. * Sort Columns order everywhere. * Brazilian translation. -- Alessandro Castellani Tue, 11 Sept 2018 12:28:00 -0500 com.github.alecaddd.sequeler (0.6.1) xenial; urgency=medium * Paginate results in the Content tab. * Query messages UI improvements. * Relations table bug fixes. -- Alessandro Castellani Fri, 7 Sept 2018 12:28:00 -0500 com.github.alecaddd.sequeler (0.6.0) xenial; urgency=medium * Ability to handle multiple SQL queries. * Execute the currently highlighted query. * Improved Library Popover UI. * Use native GTK+ CSS attributes for better Light/Dark mode. * Random UI improvements. -- Alessandro Castellani Fri, 24 Aug 2018 12:28:00 -0500 com.github.alecaddd.sequeler (0.5.9) xenial; urgency=high * Urgent! Fixed broken Tabs for translated version. -- Alessandro Castellani Tue, 17 Jul 2018 12:28:00 -0500 com.github.alecaddd.sequeler (0.5.8) xenial; urgency=medium * Better Dark/Light mode switch in header bar. * Add Russian translation. * Updated Welcome screen with New Window command. * Code cleanup. -- Alessandro Castellani Mon, 16 Jul 2018 12:28:00 -0500 com.github.alecaddd.sequeler (0.5.7) xenial; urgency=medium * Official Juno release. * Missing filter name on SQLite File Dialog. -- Alessandro Castellani Fri, 6 Jul 2018 12:28:00 -0500 com.github.alecaddd.sequeler (0.5.6) xenial; urgency=medium * Search table names in sidebar. * Fixes issue in connecting directly on a non saved connection. * Updated Lithuanian translation. * Italian translation. -- Alessandro Castellani Mon, 25 Jun 2018 12:28:00 -0500 com.github.alecaddd.sequeler (0.5.5) xenial; urgency=medium * Safely store passwords in LibSecret. * Auto upgrade on startup to remove passwords from GSettings. * Fixes issues with identical table names from other database in the same connection. * Alphabetically ordered tables. * Improvements in showing MySql/MariaDB Table Structure. * Many more bugs for you to discover. -- Alessandro Castellani Sat, 09 Jun 2018 12:28:00 -0500 com.github.alecaddd.sequeler (0.5.4) xenial; urgency=medium * New Icon and Import/Export Library. * Fancy new icon. * Import and Export connections library. * Fixed random crash when opening and closing multiple connections. * Bug fixes and improvements. -- Alessandro Castellani Fri, 24 Feb 2018 12:28:00 -0500 com.github.alecaddd.sequeler (0.5.3) xenial; urgency=medium * Bug fixes and improvements. * Fixed PostgreSQL Schema show options. * Fixed crash on new connection dialog when opening the connection before saving. -- Alessandro Castellani Fri, 23 Feb 2018 12:28:00 -0500 com.github.alecaddd.sequeler (0.5.2) xenial; urgency=medium * Fixed save window state on close. * Bug fixes and improvements. -- Alessandro Castellani Mon, 20 Feb 2018 12:28:00 -0500 com.github.alecaddd.sequeler (0.5.1) xenial; urgency=medium * Alternate coloured rows! * Manually reload Content, Structure, and Relations. * Properly handle compound queries. * Fix PostgreSQL table switch. -- Alessandro Castellani Mon, 19 Feb 2018 12:28:00 -0500 com.github.alecaddd.sequeler (0.5.0) xenial; urgency=medium * Complete rewrite of the entire code base! * Handle multiple Windows/Instances and multiple open connections. * Show Table schema, content, and constraint relationships. * Better error handling. * Bug fixes and improvements. -- Alessandro Castellani Sun, 18 Feb 2018 12:28:00 -0500 com.github.alecaddd.sequeler (0.4.3) xenial; urgency=medium * Better error handling, less crashes! * The app doesn't crash when dealing with big values. * Handling errors related to columns. * Quicker response on big select queries. * Some small clean up. * Fixes issue with SQL Lite encrypted path. -- Alessandro Castellani Mon, 22 Jan 2018 16:28:00 -0500 com.github.alecaddd.sequeler (0.4.2) xenial; urgency=medium * Better error handling, less crashes! * The app doesn't crash when dealing with big values. * Handling errors related to columns. * Quicker response on big select queries. * Some small clean up. -- Alessandro Castellani Sun, 21 Jan 2018 16:28:00 -0500 com.github.alecaddd.sequeler (0.1) precise; urgency=low * Initial Release. -- Alessandro Castellani Sat, 5 Aug 2017 04:53:39 -0500 sequeler-0.8.0/debian/compat000066400000000000000000000000021367531117400157740ustar00rootroot000000000000009 sequeler-0.8.0/debian/control000066400000000000000000000016201367531117400162000ustar00rootroot00000000000000Source: com.github.alecaddd.sequeler Section: x11 Priority: extra Maintainer: Alessandro Castellani Build-Depends: meson, debhelper (>= 10.5.1), libgtk-3-dev, valac (>= 0.26), libgranite-dev (>= 0.5), libjson-glib-dev, libgudev-1.0-dev, libevdev-dev, libgtksourceview-3.0-dev, libxml2-dev, libglib2.0-dev, libgda-5.0-dev, libmysqlclient-dev, libpq-dev, libgda-5.0-mysql, libgda-5.0-postgres, libsecret-1-dev, libssh2-1-dev Standards-Version: 4.1.1 Package: com.github.alecaddd.sequeler Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends}, libgda-5.0-mysql, libgda-5.0-postgres Description: Sequeler Friendly SQL Clientsequeler-0.8.0/debian/copyright000066400000000000000000000023341367531117400165330ustar00rootroot00000000000000Format: http://dep.debian.net/deps/dep5 Upstream-Name: com.github.alecaddd.sequeler Source: https://github.com/Alecaddd/sequeler Files: src/* data/* cmake/* debian/* schemas/* Upstream Author(s): Alessandro Castellani Copyright: Copyright (C) 2017 Alessandro Castellani License: 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 package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . On Debian systems, the complete text of the GNU General Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". The Debian packaging is: Copyright (C) 2014 Cody Garver and is licensed under the GPL version 3, see above.sequeler-0.8.0/debian/rules000077500000000000000000000014501367531117400156560ustar00rootroot00000000000000#!/usr/bin/make -f # -*- makefile -*- # Sample debian/rules that uses debhelper. # This file was originally written by Joey Hess and Craig Small. # As a special exception, when this file is copied by dh-make into a # dh-make output file, you may use that output file without restriction. # This special exception was added by Craig Small in version 0.37 of dh-make. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 %: dh $@ override_dh_auto_clean: rm -rf debian/build override_dh_auto_configure: mkdir -p debian/build cd debian/build && meson --prefix=/usr ../.. override_dh_auto_build: cd debian/build && ninja -v override_dh_auto_test: cd debian/build && ninja test override_dh_auto_install: cd debian/build && DESTDIR=${CURDIR}/debian/com.github.alecaddd.sequeler ninja installsequeler-0.8.0/debian/source/000077500000000000000000000000001367531117400160765ustar00rootroot00000000000000sequeler-0.8.0/debian/source/format000066400000000000000000000000151367531117400173050ustar00rootroot000000000000003.0 (native) sequeler-0.8.0/meson.build000066400000000000000000000024031367531117400155150ustar00rootroot00000000000000# project name and programming language project('com.github.alecaddd.sequeler', 'vala', 'c', version: '0.8.0') cc = meson.get_compiler('c') m_dep = cc.find_library('m', required: true) vala_args = ['--pkg', 'posix'] add_project_arguments( ['--vapidir', join_paths(meson.current_source_dir(), 'vapi')], language: 'vala' ) if get_option('profile') == 'development' application_id = '@0@Devel'.format(meson.project_name()) vala_args += ['-D', 'IS_DEVEL'] else application_id = meson.project_name() endif linux_dep = meson.get_compiler('vala').find_library('linux') # Include the translations module i18n = import('i18n') # Include the gnome module gnome = import('gnome') asresources = gnome.compile_resources( 'as-resources', 'data/assets.gresource.xml', source_dir: 'data', c_name: 'as' ) # Set our translation domain add_global_arguments('-DGETTEXT_PACKAGE="@0@"'.format (meson.project_name()), language: 'c') vala_lint = find_program('io.elementary.vala-lint', required : false) if vala_lint.found() test ( 'Vala lint', vala_lint, args: ['-d', join_paths(meson.source_root(), 'src')] ) endif subdir('src') subdir('data') subdir('po') subdir('schemas') meson.add_install_script('build-aux/meson_post_install.py') sequeler-0.8.0/meson_options.txt000066400000000000000000000002441367531117400170110ustar00rootroot00000000000000option( 'profile', type: 'combo', choices: [ 'default', 'development' ], value: 'default' ) sequeler-0.8.0/po/000077500000000000000000000000001367531117400137725ustar00rootroot00000000000000sequeler-0.8.0/po/LINGUAS000066400000000000000000000000441367531117400150150ustar00rootroot00000000000000ca de es fr id it lg lt pt_BR ru tr sequeler-0.8.0/po/POTFILES000066400000000000000000000013551367531117400151460ustar00rootroot00000000000000src/Main.vala src/Application.vala src/Window.vala src/Layouts/HeaderBar.vala src/Layouts/Main.vala src/Layouts/Library.vala src/Layouts/Welcome.vala src/Layouts/DataBaseSchema.vala src/Layouts/DataBaseView.vala src/Layouts/Views/Structure.vala src/Layouts/Views/Content.vala src/Layouts/Views/Relations.vala src/Layouts/Views/Query.vala src/Partials/ButtonType.vala src/Partials/Helpers.vala src/Partials/LibraryItem.vala src/Partials/TreeBuilder.vala src/Services/Settings.vala src/Services/ActionManager.vala src/Services/DataManager.vala src/Services/ConnectionManager.vala src/Services/Types/DataBaseType.vala src/Services/Types/MySQL.vala src/Services/Types/PostgreSQL.vala src/Services/Types/SQLite.vala src/Widgets/ConnectionDialog.vala sequeler-0.8.0/po/ca.po000066400000000000000000000401711367531117400147200ustar00rootroot00000000000000# Catalan translations for com.github.alecaddd.sequeler package. # Copyright (C) 2020 THE com.github.alecaddd.sequeler'S COPYRIGHT HOLDER # This file is distributed under the same license as the com.github.alecaddd.sequeler package. # Adolfo Jayme Barrientos , 2020. # msgid "" msgstr "" "Project-Id-Version: com.github.alecaddd.sequeler\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-11 12:37+0200\n" "PO-Revision-Date: 2020-05-01 13:11+0000\n" "Last-Translator: Adolfo Jayme Barrientos \n" "Language-Team: Catalan \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.0.2\n" #: src/Application.vala:62 msgid "Directories are not supported" msgstr "No s’admeten els directoris" #: src/Application.vala:68 msgid "Don't know what to do" msgstr "No se sap què fer" #: src/Application.vala:80 msgid "Something completely unexpected happened" msgstr "S’ha produït una situació inesperada" #: src/Layouts/HeaderBar.vala:46 src/Layouts/HeaderBar.vala:53 msgid "Logout" msgstr "Finalitza la sessió" #: src/Layouts/HeaderBar.vala:56 msgid "Light background" msgstr "Fons clar" #: src/Layouts/HeaderBar.vala:57 msgid "Dark background" msgstr "Fons fosc" #: src/Layouts/HeaderBar.vala:68 src/Layouts/Welcome.vala:39 msgid "New Window" msgstr "Finestra nova" #: src/Layouts/HeaderBar.vala:71 src/Widgets/ConnectionDialog.vala:130 #: src/Widgets/ConnectionDialog.vala:165 msgid "New Connection" msgstr "Connexió nova" #: src/Layouts/HeaderBar.vala:74 msgid "Quit" msgstr "Surt" #: src/Layouts/HeaderBar.vala:94 msgid "Menu" msgstr "Menú" #: src/Layouts/Main.vala:77 #, c-format msgid "Connected to %s" msgstr "Connectat a %s" #: src/Layouts/Library.vala:65 msgid "SAVED CONNECTIONS" msgstr "CONNEXIONS DESADES" #: src/Layouts/Library.vala:74 msgid "Delete All" msgstr "Suprimeix-ho tot" #: src/Layouts/Library.vala:81 msgid "Reload Library" msgstr "Torna a carregar la biblioteca" #: src/Layouts/Library.vala:84 msgid "Export Library" msgstr "Exporta la biblioteca" #: src/Layouts/Library.vala:215 src/Layouts/Library.vala:233 msgid "Are you sure you want to proceed?" msgstr "Segur que voleu continuar?" #: src/Layouts/Library.vala:215 msgid "By deleting this connection you won’t be able to recover this data." msgstr "" "Si suprimiu aquesta connexió, no sereu capaç de recuperar-ne les dades." #: src/Layouts/Library.vala:218 msgid "Yes, Delete!" msgstr "Sí, suprimeix-la" #: src/Layouts/Library.vala:233 msgid "All the data will be deleted and you won’t be able to recover it." msgstr "Se suprimiran totes les dades i no sereu capaç de recuperar-les." #: src/Layouts/Library.vala:236 msgid "Yes, Delete All!" msgstr "Sí, suprimeix-ho tot" #: src/Layouts/Library.vala:330 src/Widgets/ConnectionDialog.vala:575 #: src/Widgets/ConnectionDialog.vala:596 msgid "A username is required in order to connect!" msgstr "Cal un nom d’usuari per a establir la connexió." #: src/Layouts/Library.vala:404 src/Layouts/Views/Query.vala:528 msgid "Pick a file" msgstr "Trieu un fitxer" #: src/Layouts/Library.vala:407 src/Layouts/Views/Query.vala:531 msgid "_Save" msgstr "_Desa" #: src/Layouts/Library.vala:408 src/Layouts/Welcome.vala:62 #: src/Layouts/Views/Query.vala:532 msgid "_Cancel" msgstr "_Cancel·la" #: src/Layouts/Library.vala:467 #, c-format msgid "Unable to Connect to %s" msgstr "No es pot connectar a %s" #: src/Layouts/Library.vala:480 msgid "Unable to Export Library " msgstr "No es pot exportar la biblioteca " #: src/Layouts/Welcome.vala:28 msgid "Welcome to Sequeler" msgstr "Us donem la benvinguda al Sequeler" #: src/Layouts/Welcome.vala:29 msgid "Connect to Any Local or Remote Database." msgstr "Connecteu-vos a qualsevol base de dades local o remota." #: src/Layouts/Welcome.vala:38 msgid "Add a New Database" msgstr "Afegeix una base de dades nova" #: src/Layouts/Welcome.vala:38 msgid "Connect to a Database and Save It in Your Library" msgstr "Connecta a una base de dades i desa-la a la biblioteca" #: src/Layouts/Welcome.vala:39 msgid "Open a New Sequeler Window" msgstr "Obre una finestra nova del Sequeler" #: src/Layouts/Welcome.vala:40 msgid "Import Connections" msgstr "Importa connexions" #: src/Layouts/Welcome.vala:40 msgid "Import Previously Exported Sequeler Connections" msgstr "Importa connexions del Sequeler prèviament exportades" #: src/Layouts/Welcome.vala:58 msgid "Select a file" msgstr "Seleccioneu un fitxer" #: src/Layouts/Welcome.vala:61 msgid "_Open" msgstr "_Obre" #: src/Layouts/Welcome.vala:107 msgid "Unable to Import Library " msgstr "No es pot importar la biblioteca " #: src/Layouts/DataBaseSchema.vala:66 src/Layouts/DataBaseSchema.vala:167 msgid "- Select Database -" msgstr "- Seleccioneu una base de dades -" #: src/Layouts/DataBaseSchema.vala:87 msgid "Search Tables" msgstr "Cerca a les taules" #: src/Layouts/DataBaseSchema.vala:98 msgid "Search Tables…" msgstr "Cerca a les taules…" #: src/Layouts/DataBaseSchema.vala:120 msgid "Reload Tables" msgstr "Torna a carregar les taules" #: src/Layouts/DataBaseSchema.vala:125 msgid "Add Table" msgstr "Afegeix una taula" #: src/Layouts/DataBaseSchema.vala:289 msgid "TABLES" msgstr "TAULES" #: src/Layouts/DataBaseView.vala:49 msgid "Structure" msgstr "Estructura" #: src/Layouts/DataBaseView.vala:50 msgid "Content" msgstr "Contingut" #: src/Layouts/DataBaseView.vala:51 msgid "Relations" msgstr "Relacions" #: src/Layouts/DataBaseView.vala:52 src/Layouts/DataBaseView.vala:229 #: src/Layouts/DataBaseView.vala:253 msgid "Query" msgstr "Consulta" #: src/Layouts/DataBaseView.vala:101 msgid "Zoom Out" msgstr "Allunya" #: src/Layouts/DataBaseView.vala:107 msgid "Zoom 1:1" msgstr "Ajusta 1:1" #: src/Layouts/DataBaseView.vala:111 msgid "Zoom In" msgstr "Acosta" #: src/Layouts/DataBaseView.vala:124 msgid "High Contrast" msgstr "Contrast alt" #: src/Layouts/DataBaseView.vala:132 msgid "Solarized Light" msgstr "Solarized clar" #: src/Layouts/DataBaseView.vala:140 msgid "Solarized Dark" msgstr "Solarized fosc" #: src/Layouts/DataBaseView.vala:163 msgid "Change Text Style" msgstr "Canvia l’estil del text" #: src/Layouts/DataBaseView.vala:222 msgid "Create a new Query Tab" msgstr "Crea una pestanya de consulta" #: src/Layouts/DataBaseView.vala:240 #, c-format msgid "Query %i" msgstr "Consulta %i" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select Table" msgstr "Seleccioneu una taula" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select a table from the left sidebar to activate this view." msgstr "" "Seleccioneu una taula de la barra lateral esquerra per a activar aquesta " "vista." #: src/Layouts/Views/Structure.vala:107 src/Layouts/Views/Structure.vala:145 #: src/Layouts/Views/Content.vala:179 src/Layouts/Views/Content.vala:218 #: src/Layouts/Views/Relations.vala:106 src/Layouts/Views/Relations.vala:144 #: src/Layouts/Views/Query.vala:323 msgid "No Results Available" msgstr "No hi ha cap resultat disponible" #: src/Layouts/Views/Structure.vala:118 src/Layouts/Views/Content.vala:191 #: src/Layouts/Views/Relations.vala:117 msgid "Reload Results" msgstr "Torna a carregar els resultats" #: src/Layouts/Views/Structure.vala:197 msgid " Fields" msgstr " camps" #: src/Layouts/Views/Content.vala:121 msgid "Previous Page" msgstr "Pàgina anterior" #: src/Layouts/Views/Content.vala:126 msgid "Next Page" msgstr "Pàgina següent" #: src/Layouts/Views/Content.vala:131 #, c-format msgid "%d Pages" msgstr "%d pàgines" #: src/Layouts/Views/Content.vala:134 msgid "Jump to page…" msgstr "Bota a la pàgina…" #: src/Layouts/Views/Content.vala:165 msgid "1 Page" msgstr "1 pàgina" #: src/Layouts/Views/Content.vala:171 #, c-format msgid "%d of %d Pages" msgstr "%d de %d pàgines" #: src/Layouts/Views/Content.vala:275 #, c-format msgid "%d Entries" msgstr "%d entrades" #: src/Layouts/Views/Relations.vala:197 msgid " Constraints" msgstr " restriccions" #: src/Layouts/Views/Query.vala:279 msgid "Running Query…" msgstr "S’està executant la consulta…" #: src/Layouts/Views/Query.vala:295 src/Layouts/Views/Query.vala:304 msgid "Run Query" msgstr "Executa la consulta" #: src/Layouts/Views/Query.vala:356 msgid "Export Results" msgstr "Exporta els resultats" #: src/Layouts/Views/Query.vala:369 msgid "Export as CSV" msgstr "Exporta com a CSV" #: src/Layouts/Views/Query.vala:377 msgid "Export as Text" msgstr "Exporta com a text" #: src/Layouts/Views/Query.vala:436 src/Layouts/Views/Query.vala:482 msgid "Unable to process Query!" msgstr "No es pot processar la consulta." #: src/Layouts/Views/Query.vala:457 #, c-format msgid "%d Total Results" msgstr "%d resultats en total" #: src/Layouts/Views/Query.vala:492 #, c-format msgid "Query Successfully Executed! Rows Affected: %s" msgstr "S’ha executat la consulta correctament. Files afectades: %s" #: src/Layouts/Views/Query.vala:495 msgid "Query Executed!" msgstr "S’ha executat la consulta." #: src/Partials/LibraryItem.vala:107 src/Widgets/ConnectionDialog.vala:431 msgid "Connect" msgstr "Connecta" #: src/Partials/LibraryItem.vala:110 msgid "Edit Connection" msgstr "Edita la connexió" #: src/Partials/LibraryItem.vala:113 msgid "Duplicate Connection" msgstr "Duplica la connexió" #: src/Partials/LibraryItem.vala:116 msgid "Delete Connection" msgstr "Suprimeix la connexió" #: src/Partials/LibraryItem.vala:126 msgid "Options" msgstr "Opcions" #: src/Partials/TreeBuilder.vala:131 msgid "Error" msgstr "Error" #: src/Partials/TreeBuilder.vala:131 msgid "on Column" msgstr "a la columna" #: src/Partials/TreeBuilder.vala:172 #, c-format msgid "Copy %s" msgstr "Copia %s" #: src/Services/Settings.vala:106 #, c-format msgid "%s (copy)" msgstr "%s (còpia)" #: src/Services/ConnectionManager.vala:193 #, c-format msgid "Libssh2 initialization failed (%d)" msgstr "Ha fallat la inicialització del libssh2 (%d)" #: src/Services/ConnectionManager.vala:202 msgid "Failed to open socket" msgstr "Ha fallat l’obertura del sòcol" #: src/Services/ConnectionManager.vala:211 msgid "Failed to connect!" msgstr "Ha fallat la connexió." #: src/Services/ConnectionManager.vala:223 #, c-format msgid "Error when starting up SSH session: %d" msgstr "S’ha produït un error en iniciar la sessió SSH: %d" #: src/Services/ConnectionManager.vala:242 msgid "Authentication by password failed!" msgstr "Ha fallat l’autenticació per contrasenya." #: src/Services/ConnectionManager.vala:252 msgid "Authentication by public key failed!" msgstr "Ha fallat l’autenticació per clau pública." #: src/Services/ConnectionManager.vala:259 msgid "No supported authentication methods found!" msgstr "No s’ha trobat cap mètode d’autenticació admès." #: src/Services/ConnectionManager.vala:266 msgid "Failed to open listen socket" msgstr "No s’ha pogut obrir el sòcol d’escolta" #: src/Services/ConnectionManager.vala:281 msgid "Failed to bind. Your Database Port may be wrong!" msgstr "No s’ha pogut vincular. Potser el port de la base de dades és erroni." #: src/Services/ConnectionManager.vala:287 msgid "Failed to listen!" msgstr "No s’ha pogut escoltar." #: src/Services/ConnectionManager.vala:314 msgid "Failed to accept remote connection!" msgstr "No s’ha pogut acceptar la connexió remota." #: src/Services/ConnectionManager.vala:323 msgid "" "Could not open the direct-tcpip channel! (Note that this can be a problem at " "the server! Please review the server logs.)" msgstr "" "No s’ha pogut obrir el canal direct-tcpip (observeu que això pot ser un " "problema del servidor; reviseu-ne els registres)." #: src/Services/ConnectionManager.vala:566 msgid "Error!" msgstr "S’ha produït un error" #: src/Widgets/ConnectionDialog.vala:33 msgid "Missing SSH Key file!" msgstr "Manca el fitxer de la clau SSH." #: src/Widgets/ConnectionDialog.vala:34 msgid "Missing SSH public key!" msgstr "Manca la clau pública SSH." #: src/Widgets/ConnectionDialog.vala:89 src/Widgets/ConnectionDialog.vala:355 msgid "Connection" msgstr "Connexió" #: src/Widgets/ConnectionDialog.vala:141 msgid "Select connection color" msgstr "Seleccioneu el color de la connexió" #: src/Widgets/ConnectionDialog.vala:164 msgid "Connection Name:" msgstr "Nom de la connexió:" #: src/Widgets/ConnectionDialog.vala:165 msgid "Connection's name" msgstr "Nom de la connexió" #: src/Widgets/ConnectionDialog.vala:172 msgid "Database Type:" msgstr "Tipus de base de dades:" #: src/Widgets/ConnectionDialog.vala:194 msgid "Host:" msgstr "Amfitrió:" #: src/Widgets/ConnectionDialog.vala:200 msgid "Database Name:" msgstr "Nom de la base de dades:" #: src/Widgets/ConnectionDialog.vala:207 msgid "Username:" msgstr "Nom d’usuari:" #: src/Widgets/ConnectionDialog.vala:213 msgid "Password:" msgstr "Contrasenya:" #: src/Widgets/ConnectionDialog.vala:217 src/Widgets/ConnectionDialog.vala:227 #: src/Widgets/ConnectionDialog.vala:285 src/Widgets/ConnectionDialog.vala:295 msgid "Show password" msgstr "Mostra la contrasenya" #: src/Widgets/ConnectionDialog.vala:224 src/Widgets/ConnectionDialog.vala:292 msgid "Hide password" msgstr "Amaga la contrasenya" #: src/Widgets/ConnectionDialog.vala:234 msgid "Port:" msgstr "Port:" #: src/Widgets/ConnectionDialog.vala:240 msgid "File Path:" msgstr "Camí del fitxer:" #: src/Widgets/ConnectionDialog.vala:241 msgid "Select Your SQLite File…" msgstr "Seleccioneu el vostre fitxer SQLite…" #: src/Widgets/ConnectionDialog.vala:261 msgid "Connect via SSH Tunnel:" msgstr "Connecta mitjançant un túnel SSH:" #: src/Widgets/ConnectionDialog.vala:271 msgid "SSH Host:" msgstr "Amfitrió SSH:" #: src/Widgets/ConnectionDialog.vala:276 msgid "SSH Username:" msgstr "Nom d’usuari SSH:" #: src/Widgets/ConnectionDialog.vala:281 msgid "SSH Password:" msgstr "Contrasenya SSH:" #: src/Widgets/ConnectionDialog.vala:301 msgid "SSH Port:" msgstr "Port SSH:" #: src/Widgets/ConnectionDialog.vala:302 msgid "Optional" msgstr "Opcional" #: src/Widgets/ConnectionDialog.vala:306 msgid "SSH Identity" msgstr "Identitat SSH" #: src/Widgets/ConnectionDialog.vala:308 msgid "Select Your Identity File…" msgstr "Seleccioneu el vostre fitxer d’identitat…" #: src/Widgets/ConnectionDialog.vala:324 msgid "Generate SSH Key" msgstr "Genera una clau SSH" #: src/Widgets/ConnectionDialog.vala:356 msgid "SSH Tunnel" msgstr "Túnel SSH" #: src/Widgets/ConnectionDialog.vala:426 msgid "Close" msgstr "Tanca" #: src/Widgets/ConnectionDialog.vala:427 msgid "Save Connection" msgstr "Desa la connexió" #: src/Widgets/ConnectionDialog.vala:429 msgid "Test Connection" msgstr "Prova la connexió" #: src/Widgets/ConnectionDialog.vala:620 msgid "Opening SSH Tunnel…" msgstr "S’està obrint el túnel SSH…" #: src/Widgets/ConnectionDialog.vala:650 msgid "Testing Connection…" msgstr "S’està provant la connexió…" #: src/Widgets/ConnectionDialog.vala:661 msgid "Successfully Connected!" msgstr "S’ha establert la connexió." #: src/Widgets/ConnectionDialog.vala:679 msgid "Saving Connection…" msgstr "S’està desant la connexió…" #: src/Widgets/ConnectionDialog.vala:684 msgid "Connection Saved!" msgstr "S’ha desat la connexió." #: src/Widgets/ConnectionDialog.vala:692 msgid "Connecting…" msgstr "S’està connectant…" #, fuzzy #~ msgid "Easily connect to your local or remote database" #~ msgstr "Connecteu-vos a qualsevol base de dades local o remota." #, fuzzy #~ msgid "Test Connections before saving them" #~ msgstr "Prova la connexió" #, fuzzy #~ msgid "Connect via SSH to a remote Database." #~ msgstr "Connecteu-vos a qualsevol base de dades local o remota." #, fuzzy #~ msgid "Export all the things!" #~ msgstr "Exporta com a text" #, fuzzy #~ msgid "New Icon and Import/Export Library." #~ msgstr "No es pot importar la biblioteca " #, fuzzy #~ msgid "Import and Export connections library." #~ msgstr "Importa connexions" #, fuzzy #~ msgid "Quickly connect to a Local or Remote Database" #~ msgstr "Connecteu-vos a qualsevol base de dades local o remota." #, fuzzy #~ msgid "Save Quick Connections" #~ msgstr "Desa la connexió" #, fuzzy #~ msgid "Light Mode" #~ msgstr "Fons clar" #~ msgid " of " #~ msgstr "/" sequeler-0.8.0/po/com.github.alecaddd.sequeler.pot000066400000000000000000000275371367531117400221370ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the com.github.alecaddd.sequeler package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: com.github.alecaddd.sequeler\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-11 12:37+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/Application.vala:62 msgid "Directories are not supported" msgstr "" #: src/Application.vala:68 msgid "Don't know what to do" msgstr "" #: src/Application.vala:80 msgid "Something completely unexpected happened" msgstr "" #: src/Layouts/HeaderBar.vala:46 src/Layouts/HeaderBar.vala:53 msgid "Logout" msgstr "" #: src/Layouts/HeaderBar.vala:56 msgid "Light background" msgstr "" #: src/Layouts/HeaderBar.vala:57 msgid "Dark background" msgstr "" #: src/Layouts/HeaderBar.vala:68 src/Layouts/Welcome.vala:39 msgid "New Window" msgstr "" #: src/Layouts/HeaderBar.vala:71 src/Widgets/ConnectionDialog.vala:130 #: src/Widgets/ConnectionDialog.vala:165 msgid "New Connection" msgstr "" #: src/Layouts/HeaderBar.vala:74 msgid "Quit" msgstr "" #: src/Layouts/HeaderBar.vala:94 msgid "Menu" msgstr "" #: src/Layouts/Main.vala:77 #, c-format msgid "Connected to %s" msgstr "" #: src/Layouts/Library.vala:65 msgid "SAVED CONNECTIONS" msgstr "" #: src/Layouts/Library.vala:74 msgid "Delete All" msgstr "" #: src/Layouts/Library.vala:81 msgid "Reload Library" msgstr "" #: src/Layouts/Library.vala:84 msgid "Export Library" msgstr "" #: src/Layouts/Library.vala:215 src/Layouts/Library.vala:233 msgid "Are you sure you want to proceed?" msgstr "" #: src/Layouts/Library.vala:215 msgid "By deleting this connection you won’t be able to recover this data." msgstr "" #: src/Layouts/Library.vala:218 msgid "Yes, Delete!" msgstr "" #: src/Layouts/Library.vala:233 msgid "All the data will be deleted and you won’t be able to recover it." msgstr "" #: src/Layouts/Library.vala:236 msgid "Yes, Delete All!" msgstr "" #: src/Layouts/Library.vala:330 src/Widgets/ConnectionDialog.vala:575 #: src/Widgets/ConnectionDialog.vala:596 msgid "A username is required in order to connect!" msgstr "" #: src/Layouts/Library.vala:404 src/Layouts/Views/Query.vala:528 msgid "Pick a file" msgstr "" #: src/Layouts/Library.vala:407 src/Layouts/Views/Query.vala:531 msgid "_Save" msgstr "" #: src/Layouts/Library.vala:408 src/Layouts/Welcome.vala:62 #: src/Layouts/Views/Query.vala:532 msgid "_Cancel" msgstr "" #: src/Layouts/Library.vala:467 #, c-format msgid "Unable to Connect to %s" msgstr "" #: src/Layouts/Library.vala:480 msgid "Unable to Export Library " msgstr "" #: src/Layouts/Welcome.vala:28 msgid "Welcome to Sequeler" msgstr "" #: src/Layouts/Welcome.vala:29 msgid "Connect to Any Local or Remote Database." msgstr "" #: src/Layouts/Welcome.vala:38 msgid "Add a New Database" msgstr "" #: src/Layouts/Welcome.vala:38 msgid "Connect to a Database and Save It in Your Library" msgstr "" #: src/Layouts/Welcome.vala:39 msgid "Open a New Sequeler Window" msgstr "" #: src/Layouts/Welcome.vala:40 msgid "Import Connections" msgstr "" #: src/Layouts/Welcome.vala:40 msgid "Import Previously Exported Sequeler Connections" msgstr "" #: src/Layouts/Welcome.vala:58 msgid "Select a file" msgstr "" #: src/Layouts/Welcome.vala:61 msgid "_Open" msgstr "" #: src/Layouts/Welcome.vala:107 msgid "Unable to Import Library " msgstr "" #: src/Layouts/DataBaseSchema.vala:66 src/Layouts/DataBaseSchema.vala:167 msgid "- Select Database -" msgstr "" #: src/Layouts/DataBaseSchema.vala:87 msgid "Search Tables" msgstr "" #: src/Layouts/DataBaseSchema.vala:98 msgid "Search Tables…" msgstr "" #: src/Layouts/DataBaseSchema.vala:120 msgid "Reload Tables" msgstr "" #: src/Layouts/DataBaseSchema.vala:125 msgid "Add Table" msgstr "" #: src/Layouts/DataBaseSchema.vala:289 msgid "TABLES" msgstr "" #: src/Layouts/DataBaseView.vala:49 msgid "Structure" msgstr "" #: src/Layouts/DataBaseView.vala:50 msgid "Content" msgstr "" #: src/Layouts/DataBaseView.vala:51 msgid "Relations" msgstr "" #: src/Layouts/DataBaseView.vala:52 src/Layouts/DataBaseView.vala:229 #: src/Layouts/DataBaseView.vala:253 msgid "Query" msgstr "" #: src/Layouts/DataBaseView.vala:101 msgid "Zoom Out" msgstr "" #: src/Layouts/DataBaseView.vala:107 msgid "Zoom 1:1" msgstr "" #: src/Layouts/DataBaseView.vala:111 msgid "Zoom In" msgstr "" #: src/Layouts/DataBaseView.vala:124 msgid "High Contrast" msgstr "" #: src/Layouts/DataBaseView.vala:132 msgid "Solarized Light" msgstr "" #: src/Layouts/DataBaseView.vala:140 msgid "Solarized Dark" msgstr "" #: src/Layouts/DataBaseView.vala:163 msgid "Change Text Style" msgstr "" #: src/Layouts/DataBaseView.vala:222 msgid "Create a new Query Tab" msgstr "" #: src/Layouts/DataBaseView.vala:240 #, c-format msgid "Query %i" msgstr "" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select Table" msgstr "" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select a table from the left sidebar to activate this view." msgstr "" #: src/Layouts/Views/Structure.vala:107 src/Layouts/Views/Structure.vala:145 #: src/Layouts/Views/Content.vala:179 src/Layouts/Views/Content.vala:218 #: src/Layouts/Views/Relations.vala:106 src/Layouts/Views/Relations.vala:144 #: src/Layouts/Views/Query.vala:323 msgid "No Results Available" msgstr "" #: src/Layouts/Views/Structure.vala:118 src/Layouts/Views/Content.vala:191 #: src/Layouts/Views/Relations.vala:117 msgid "Reload Results" msgstr "" #: src/Layouts/Views/Structure.vala:197 msgid " Fields" msgstr "" #: src/Layouts/Views/Content.vala:121 msgid "Previous Page" msgstr "" #: src/Layouts/Views/Content.vala:126 msgid "Next Page" msgstr "" #: src/Layouts/Views/Content.vala:131 #, c-format msgid "%d Pages" msgstr "" #: src/Layouts/Views/Content.vala:134 msgid "Jump to page…" msgstr "" #: src/Layouts/Views/Content.vala:165 msgid "1 Page" msgstr "" #: src/Layouts/Views/Content.vala:171 #, c-format msgid "%d of %d Pages" msgstr "" #: src/Layouts/Views/Content.vala:275 #, c-format msgid "%d Entries" msgstr "" #: src/Layouts/Views/Relations.vala:197 msgid " Constraints" msgstr "" #: src/Layouts/Views/Query.vala:279 msgid "Running Query…" msgstr "" #: src/Layouts/Views/Query.vala:295 src/Layouts/Views/Query.vala:304 msgid "Run Query" msgstr "" #: src/Layouts/Views/Query.vala:356 msgid "Export Results" msgstr "" #: src/Layouts/Views/Query.vala:369 msgid "Export as CSV" msgstr "" #: src/Layouts/Views/Query.vala:377 msgid "Export as Text" msgstr "" #: src/Layouts/Views/Query.vala:436 src/Layouts/Views/Query.vala:482 msgid "Unable to process Query!" msgstr "" #: src/Layouts/Views/Query.vala:457 #, c-format msgid "%d Total Results" msgstr "" #: src/Layouts/Views/Query.vala:492 #, c-format msgid "Query Successfully Executed! Rows Affected: %s" msgstr "" #: src/Layouts/Views/Query.vala:495 msgid "Query Executed!" msgstr "" #: src/Partials/LibraryItem.vala:107 src/Widgets/ConnectionDialog.vala:431 msgid "Connect" msgstr "" #: src/Partials/LibraryItem.vala:110 msgid "Edit Connection" msgstr "" #: src/Partials/LibraryItem.vala:113 msgid "Duplicate Connection" msgstr "" #: src/Partials/LibraryItem.vala:116 msgid "Delete Connection" msgstr "" #: src/Partials/LibraryItem.vala:126 msgid "Options" msgstr "" #: src/Partials/TreeBuilder.vala:131 msgid "Error" msgstr "" #: src/Partials/TreeBuilder.vala:131 msgid "on Column" msgstr "" #: src/Partials/TreeBuilder.vala:172 #, c-format msgid "Copy %s" msgstr "" #: src/Services/Settings.vala:106 #, c-format msgid "%s (copy)" msgstr "" #: src/Services/ConnectionManager.vala:193 #, c-format msgid "Libssh2 initialization failed (%d)" msgstr "" #: src/Services/ConnectionManager.vala:202 msgid "Failed to open socket" msgstr "" #: src/Services/ConnectionManager.vala:211 msgid "Failed to connect!" msgstr "" #: src/Services/ConnectionManager.vala:223 #, c-format msgid "Error when starting up SSH session: %d" msgstr "" #: src/Services/ConnectionManager.vala:242 msgid "Authentication by password failed!" msgstr "" #: src/Services/ConnectionManager.vala:252 msgid "Authentication by public key failed!" msgstr "" #: src/Services/ConnectionManager.vala:259 msgid "No supported authentication methods found!" msgstr "" #: src/Services/ConnectionManager.vala:266 msgid "Failed to open listen socket" msgstr "" #: src/Services/ConnectionManager.vala:281 msgid "Failed to bind. Your Database Port may be wrong!" msgstr "" #: src/Services/ConnectionManager.vala:287 msgid "Failed to listen!" msgstr "" #: src/Services/ConnectionManager.vala:314 msgid "Failed to accept remote connection!" msgstr "" #: src/Services/ConnectionManager.vala:323 msgid "" "Could not open the direct-tcpip channel! (Note that this can be a problem at " "the server! Please review the server logs.)" msgstr "" #: src/Services/ConnectionManager.vala:566 msgid "Error!" msgstr "" #: src/Widgets/ConnectionDialog.vala:33 msgid "Missing SSH Key file!" msgstr "" #: src/Widgets/ConnectionDialog.vala:34 msgid "Missing SSH public key!" msgstr "" #: src/Widgets/ConnectionDialog.vala:89 src/Widgets/ConnectionDialog.vala:355 msgid "Connection" msgstr "" #: src/Widgets/ConnectionDialog.vala:141 msgid "Select connection color" msgstr "" #: src/Widgets/ConnectionDialog.vala:164 msgid "Connection Name:" msgstr "" #: src/Widgets/ConnectionDialog.vala:165 msgid "Connection's name" msgstr "" #: src/Widgets/ConnectionDialog.vala:172 msgid "Database Type:" msgstr "" #: src/Widgets/ConnectionDialog.vala:194 msgid "Host:" msgstr "" #: src/Widgets/ConnectionDialog.vala:200 msgid "Database Name:" msgstr "" #: src/Widgets/ConnectionDialog.vala:207 msgid "Username:" msgstr "" #: src/Widgets/ConnectionDialog.vala:213 msgid "Password:" msgstr "" #: src/Widgets/ConnectionDialog.vala:217 src/Widgets/ConnectionDialog.vala:227 #: src/Widgets/ConnectionDialog.vala:285 src/Widgets/ConnectionDialog.vala:295 msgid "Show password" msgstr "" #: src/Widgets/ConnectionDialog.vala:224 src/Widgets/ConnectionDialog.vala:292 msgid "Hide password" msgstr "" #: src/Widgets/ConnectionDialog.vala:234 msgid "Port:" msgstr "" #: src/Widgets/ConnectionDialog.vala:240 msgid "File Path:" msgstr "" #: src/Widgets/ConnectionDialog.vala:241 msgid "Select Your SQLite File…" msgstr "" #: src/Widgets/ConnectionDialog.vala:261 msgid "Connect via SSH Tunnel:" msgstr "" #: src/Widgets/ConnectionDialog.vala:271 msgid "SSH Host:" msgstr "" #: src/Widgets/ConnectionDialog.vala:276 msgid "SSH Username:" msgstr "" #: src/Widgets/ConnectionDialog.vala:281 msgid "SSH Password:" msgstr "" #: src/Widgets/ConnectionDialog.vala:301 msgid "SSH Port:" msgstr "" #: src/Widgets/ConnectionDialog.vala:302 msgid "Optional" msgstr "" #: src/Widgets/ConnectionDialog.vala:306 msgid "SSH Identity" msgstr "" #: src/Widgets/ConnectionDialog.vala:308 msgid "Select Your Identity File…" msgstr "" #: src/Widgets/ConnectionDialog.vala:324 msgid "Generate SSH Key" msgstr "" #: src/Widgets/ConnectionDialog.vala:356 msgid "SSH Tunnel" msgstr "" #: src/Widgets/ConnectionDialog.vala:426 msgid "Close" msgstr "" #: src/Widgets/ConnectionDialog.vala:427 msgid "Save Connection" msgstr "" #: src/Widgets/ConnectionDialog.vala:429 msgid "Test Connection" msgstr "" #: src/Widgets/ConnectionDialog.vala:620 msgid "Opening SSH Tunnel…" msgstr "" #: src/Widgets/ConnectionDialog.vala:650 msgid "Testing Connection…" msgstr "" #: src/Widgets/ConnectionDialog.vala:661 msgid "Successfully Connected!" msgstr "" #: src/Widgets/ConnectionDialog.vala:679 msgid "Saving Connection…" msgstr "" #: src/Widgets/ConnectionDialog.vala:684 msgid "Connection Saved!" msgstr "" #: src/Widgets/ConnectionDialog.vala:692 msgid "Connecting…" msgstr "" sequeler-0.8.0/po/de.po000066400000000000000000000366151367531117400147350ustar00rootroot00000000000000# German translations for com.github.alecaddd.sequeler package. # Copyright (C) 2020 THE com.github.alecaddd.sequeler'S COPYRIGHT HOLDER # This file is distributed under the same license as the com.github.alecaddd.sequeler package. # Peter Nerlich , 2020. # msgid "" msgstr "" "Project-Id-Version: com.github.alecaddd.sequeler\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-11 12:37+0200\n" "PO-Revision-Date: 2020-06-22 03:41+0000\n" "Last-Translator: J. Lavoie \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.2-dev\n" #: src/Application.vala:62 msgid "Directories are not supported" msgstr "Verzeichnisse werden nicht unterstützt" #: src/Application.vala:68 msgid "Don't know what to do" msgstr "Ich weiß nicht, was ich tun soll" #: src/Application.vala:80 msgid "Something completely unexpected happened" msgstr "Es ist ein unerwartetes Problem aufgetreten" #: src/Layouts/HeaderBar.vala:46 src/Layouts/HeaderBar.vala:53 msgid "Logout" msgstr "Abmelden" #: src/Layouts/HeaderBar.vala:56 msgid "Light background" msgstr "Heller Hintergrund" #: src/Layouts/HeaderBar.vala:57 msgid "Dark background" msgstr "Dunkler Hintergrund" #: src/Layouts/HeaderBar.vala:68 src/Layouts/Welcome.vala:39 msgid "New Window" msgstr "Neues Fenster" #: src/Layouts/HeaderBar.vala:71 src/Widgets/ConnectionDialog.vala:130 #: src/Widgets/ConnectionDialog.vala:165 msgid "New Connection" msgstr "Neue Verbindung" #: src/Layouts/HeaderBar.vala:74 msgid "Quit" msgstr "Beenden" #: src/Layouts/HeaderBar.vala:94 msgid "Menu" msgstr "Menü" #: src/Layouts/Main.vala:77 #, c-format msgid "Connected to %s" msgstr "Verbunden mit %s" #: src/Layouts/Library.vala:65 msgid "SAVED CONNECTIONS" msgstr "GESPEICHERTE VERBINDUNGEN" #: src/Layouts/Library.vala:74 msgid "Delete All" msgstr "Alle Verbindungen löschen" #: src/Layouts/Library.vala:81 msgid "Reload Library" msgstr "Bibliothek erneut laden" #: src/Layouts/Library.vala:84 msgid "Export Library" msgstr "Bibliothek exportieren" #: src/Layouts/Library.vala:215 src/Layouts/Library.vala:233 msgid "Are you sure you want to proceed?" msgstr "Sind Sie sicher, dass Sie fortfahren wollen?" #: src/Layouts/Library.vala:215 msgid "By deleting this connection you won’t be able to recover this data." msgstr "" "Wenn Sie diese Verbindung löschen, können die Zugangsdaten nicht " "wiederhergestellt werden." #: src/Layouts/Library.vala:218 msgid "Yes, Delete!" msgstr "Ja, Löschen!" #: src/Layouts/Library.vala:233 msgid "All the data will be deleted and you won’t be able to recover it." msgstr "" "Alle Daten werden gelöscht, eine Wiederherstellung wird nicht mehr möglich " "sein." #: src/Layouts/Library.vala:236 msgid "Yes, Delete All!" msgstr "Ja, alles löschen!" #: src/Layouts/Library.vala:330 src/Widgets/ConnectionDialog.vala:575 #: src/Widgets/ConnectionDialog.vala:596 msgid "A username is required in order to connect!" msgstr "Ein Benutzername ist für die Verbindung erforderlich!" #: src/Layouts/Library.vala:404 src/Layouts/Views/Query.vala:528 msgid "Pick a file" msgstr "Eine Datei auswählen" #: src/Layouts/Library.vala:407 src/Layouts/Views/Query.vala:531 msgid "_Save" msgstr "_Speichern" #: src/Layouts/Library.vala:408 src/Layouts/Welcome.vala:62 #: src/Layouts/Views/Query.vala:532 msgid "_Cancel" msgstr "_Abbrechen" #: src/Layouts/Library.vala:467 #, c-format msgid "Unable to Connect to %s" msgstr "Es konnte keine Verbindung zu %s hergestellt werden" #: src/Layouts/Library.vala:480 msgid "Unable to Export Library " msgstr "Die Bibliothek konnte nicht exportiert werden " #: src/Layouts/Welcome.vala:28 msgid "Welcome to Sequeler" msgstr "Willkommen bei Sequeler" #: src/Layouts/Welcome.vala:29 msgid "Connect to Any Local or Remote Database." msgstr "" "Verbinden Sie sich mit einer beliebigen lokalen oder externen Datenbank." #: src/Layouts/Welcome.vala:38 msgid "Add a New Database" msgstr "Neue Datenbank hinzufügen" #: src/Layouts/Welcome.vala:38 msgid "Connect to a Database and Save It in Your Library" msgstr "" "Verbindung zu einer Datenbank herstellen und in der Bibliothek speichern" #: src/Layouts/Welcome.vala:39 msgid "Open a New Sequeler Window" msgstr "Ein neues Sequeler-Fenster öffnen" #: src/Layouts/Welcome.vala:40 msgid "Import Connections" msgstr "Verbindungen importieren" #: src/Layouts/Welcome.vala:40 msgid "Import Previously Exported Sequeler Connections" msgstr "Importieren von zuvor exportierten Sequeler-Verbindungen" #: src/Layouts/Welcome.vala:58 msgid "Select a file" msgstr "Datei auswählen" #: src/Layouts/Welcome.vala:61 msgid "_Open" msgstr "_Öffnen" #: src/Layouts/Welcome.vala:107 msgid "Unable to Import Library " msgstr "Die Bibliothek konnte nicht importiert werden " #: src/Layouts/DataBaseSchema.vala:66 src/Layouts/DataBaseSchema.vala:167 msgid "- Select Database -" msgstr "- Datenbank auswählen -" #: src/Layouts/DataBaseSchema.vala:87 msgid "Search Tables" msgstr "Tabelle suchen" #: src/Layouts/DataBaseSchema.vala:98 msgid "Search Tables…" msgstr "Tabelle suchen…" #: src/Layouts/DataBaseSchema.vala:120 msgid "Reload Tables" msgstr "Tabellen erneut laden" #: src/Layouts/DataBaseSchema.vala:125 msgid "Add Table" msgstr "Tabelle hinzufügen" #: src/Layouts/DataBaseSchema.vala:289 msgid "TABLES" msgstr "TABELLEN" #: src/Layouts/DataBaseView.vala:49 msgid "Structure" msgstr "Struktur" #: src/Layouts/DataBaseView.vala:50 msgid "Content" msgstr "Inhalt" #: src/Layouts/DataBaseView.vala:51 msgid "Relations" msgstr "Beziehungen" #: src/Layouts/DataBaseView.vala:52 src/Layouts/DataBaseView.vala:229 #: src/Layouts/DataBaseView.vala:253 msgid "Query" msgstr "Abfrage" #: src/Layouts/DataBaseView.vala:101 msgid "Zoom Out" msgstr "Ansicht verkleinern" #: src/Layouts/DataBaseView.vala:107 msgid "Zoom 1:1" msgstr "Ansicht 1:1" #: src/Layouts/DataBaseView.vala:111 msgid "Zoom In" msgstr "Ansicht vergrößern" #: src/Layouts/DataBaseView.vala:124 msgid "High Contrast" msgstr "Hoher Kontrast" #: src/Layouts/DataBaseView.vala:132 msgid "Solarized Light" msgstr "" #: src/Layouts/DataBaseView.vala:140 msgid "Solarized Dark" msgstr "" #: src/Layouts/DataBaseView.vala:163 msgid "Change Text Style" msgstr "Textstil verändern" #: src/Layouts/DataBaseView.vala:222 msgid "Create a new Query Tab" msgstr "" #: src/Layouts/DataBaseView.vala:240 #, c-format msgid "Query %i" msgstr "Abfrage %i" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select Table" msgstr "Tabelle auswählen" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select a table from the left sidebar to activate this view." msgstr "" "Wählen Sie auf der linken Seite eine Tabelle aus, um diese Ansicht zu " "aktivieren." #: src/Layouts/Views/Structure.vala:107 src/Layouts/Views/Structure.vala:145 #: src/Layouts/Views/Content.vala:179 src/Layouts/Views/Content.vala:218 #: src/Layouts/Views/Relations.vala:106 src/Layouts/Views/Relations.vala:144 #: src/Layouts/Views/Query.vala:323 msgid "No Results Available" msgstr "Keine Ergebnisse verfügbar" #: src/Layouts/Views/Structure.vala:118 src/Layouts/Views/Content.vala:191 #: src/Layouts/Views/Relations.vala:117 msgid "Reload Results" msgstr "Ergebnisse erneut laden" #: src/Layouts/Views/Structure.vala:197 msgid " Fields" msgstr " Felder" #: src/Layouts/Views/Content.vala:121 msgid "Previous Page" msgstr "Vorherige Seite" #: src/Layouts/Views/Content.vala:126 msgid "Next Page" msgstr "Nächste Seite" #: src/Layouts/Views/Content.vala:131 #, c-format msgid "%d Pages" msgstr "%d Seiten" #: src/Layouts/Views/Content.vala:134 msgid "Jump to page…" msgstr "" #: src/Layouts/Views/Content.vala:165 msgid "1 Page" msgstr "1 Seite" #: src/Layouts/Views/Content.vala:171 #, c-format msgid "%d of %d Pages" msgstr "%d von %d Seiten" #: src/Layouts/Views/Content.vala:275 #, c-format msgid "%d Entries" msgstr "%d Einträge" #: src/Layouts/Views/Relations.vala:197 msgid " Constraints" msgstr " Bedingungen" #: src/Layouts/Views/Query.vala:279 msgid "Running Query…" msgstr "Abfrage wird ausgeführt…" #: src/Layouts/Views/Query.vala:295 src/Layouts/Views/Query.vala:304 msgid "Run Query" msgstr "Abfrage ausführen" #: src/Layouts/Views/Query.vala:356 msgid "Export Results" msgstr "Ergebnisse exportieren" #: src/Layouts/Views/Query.vala:369 msgid "Export as CSV" msgstr "Als CSV exportieren" #: src/Layouts/Views/Query.vala:377 msgid "Export as Text" msgstr "Als Text exportieren" #: src/Layouts/Views/Query.vala:436 src/Layouts/Views/Query.vala:482 msgid "Unable to process Query!" msgstr "Abfrage konnte nicht verarbeitet werden!" #: src/Layouts/Views/Query.vala:457 #, c-format msgid "%d Total Results" msgstr "%d Ergebnisse" #: src/Layouts/Views/Query.vala:492 #, fuzzy, c-format msgid "Query Successfully Executed! Rows Affected: %s" msgstr "Abfrage erfolgreich ausgeführt! Betroffene Zeilen: %d" #: src/Layouts/Views/Query.vala:495 #, fuzzy msgid "Query Executed!" msgstr "Abfrage erfolgreich ausgeführt!" #: src/Partials/LibraryItem.vala:107 src/Widgets/ConnectionDialog.vala:431 msgid "Connect" msgstr "Verbinden" #: src/Partials/LibraryItem.vala:110 msgid "Edit Connection" msgstr "Verbindung bearbeiten" #: src/Partials/LibraryItem.vala:113 #, fuzzy msgid "Duplicate Connection" msgstr "Verbindung löschen" #: src/Partials/LibraryItem.vala:116 msgid "Delete Connection" msgstr "Verbindung löschen" #: src/Partials/LibraryItem.vala:126 msgid "Options" msgstr "Optionen" #: src/Partials/TreeBuilder.vala:131 msgid "Error" msgstr "Fehler" #: src/Partials/TreeBuilder.vala:131 msgid "on Column" msgstr "bei Spalte" #: src/Partials/TreeBuilder.vala:172 #, c-format msgid "Copy %s" msgstr "Kopiere %s" #: src/Services/Settings.vala:106 #, c-format msgid "%s (copy)" msgstr "" #: src/Services/ConnectionManager.vala:193 #, c-format msgid "Libssh2 initialization failed (%d)" msgstr "Libssh2-Initialisierung fehlgeschlagen (%d)" #: src/Services/ConnectionManager.vala:202 msgid "Failed to open socket" msgstr "Der TCP-Socket konnte nicht geöffnet werden" #: src/Services/ConnectionManager.vala:211 msgid "Failed to connect!" msgstr "Die Verbindung konnte nicht hergestellt werden!" #: src/Services/ConnectionManager.vala:223 #, c-format msgid "Error when starting up SSH session: %d" msgstr "Fehler beim Starten der SSH-Sitzung: %d" #: src/Services/ConnectionManager.vala:242 msgid "Authentication by password failed!" msgstr "Die Authentifizierung mit dem Passwort ist fehlgeschlagen!" #: src/Services/ConnectionManager.vala:252 msgid "Authentication by public key failed!" msgstr "" "Die Authentifizierung durch den öffentlichen Schlüssel ist fehlgeschlagen!" #: src/Services/ConnectionManager.vala:259 msgid "No supported authentication methods found!" msgstr "Keine unterstützten Authentifizierungsmethoden gefunden!" #: src/Services/ConnectionManager.vala:266 msgid "Failed to open listen socket" msgstr "Fehler beim Öffnen des TCP-Sockets für eine eingehende Verbindung" #: src/Services/ConnectionManager.vala:281 msgid "Failed to bind. Your Database Port may be wrong!" msgstr "" "Die Verbindung konnte nicht hergestellt werden. Prüfen Sie den Port der " "Datenbank!" #: src/Services/ConnectionManager.vala:287 msgid "Failed to listen!" msgstr "Fehler beim Warten auf eine eingehende Verbindung!" #: src/Services/ConnectionManager.vala:314 msgid "Failed to accept remote connection!" msgstr "Die Remoteverbindung konnte nicht akzeptiert werden!" #: src/Services/ConnectionManager.vala:323 msgid "" "Could not open the direct-tcpip channel! (Note that this can be a problem at " "the server! Please review the server logs.)" msgstr "" "Der direct-tcpip Kanal konnte nicht geöffnet werden! (Beachten Sie, dass " "dies ein Problem auf dem Server sein kann! Bitte überprüfen Sie die " "Serverprotokolle.)" #: src/Services/ConnectionManager.vala:566 msgid "Error!" msgstr "Fehler!" #: src/Widgets/ConnectionDialog.vala:33 msgid "Missing SSH Key file!" msgstr "Fehlender SSH-Schlüssel!" #: src/Widgets/ConnectionDialog.vala:34 #, fuzzy msgid "Missing SSH public key!" msgstr "Fehlender SSH-Schlüssel!" #: src/Widgets/ConnectionDialog.vala:89 src/Widgets/ConnectionDialog.vala:355 msgid "Connection" msgstr "Verbindung" #: src/Widgets/ConnectionDialog.vala:141 #, fuzzy msgid "Select connection color" msgstr "Verbindung löschen" #: src/Widgets/ConnectionDialog.vala:164 msgid "Connection Name:" msgstr "Name der Verbindung:" #: src/Widgets/ConnectionDialog.vala:165 msgid "Connection's name" msgstr "Verbindungsname" #: src/Widgets/ConnectionDialog.vala:172 msgid "Database Type:" msgstr "Datenbanktyp:" #: src/Widgets/ConnectionDialog.vala:194 msgid "Host:" msgstr "Host:" #: src/Widgets/ConnectionDialog.vala:200 msgid "Database Name:" msgstr "Datenbankname:" #: src/Widgets/ConnectionDialog.vala:207 msgid "Username:" msgstr "Benutzername:" #: src/Widgets/ConnectionDialog.vala:213 msgid "Password:" msgstr "Passwort:" #: src/Widgets/ConnectionDialog.vala:217 src/Widgets/ConnectionDialog.vala:227 #: src/Widgets/ConnectionDialog.vala:285 src/Widgets/ConnectionDialog.vala:295 #, fuzzy msgid "Show password" msgstr "SSH Passwort:" #: src/Widgets/ConnectionDialog.vala:224 src/Widgets/ConnectionDialog.vala:292 #, fuzzy msgid "Hide password" msgstr "SSH Passwort:" #: src/Widgets/ConnectionDialog.vala:234 msgid "Port:" msgstr "Port:" #: src/Widgets/ConnectionDialog.vala:240 msgid "File Path:" msgstr "Dateipfad:" #: src/Widgets/ConnectionDialog.vala:241 msgid "Select Your SQLite File…" msgstr "Wähle eine SQLite Datei…" #: src/Widgets/ConnectionDialog.vala:261 msgid "Connect via SSH Tunnel:" msgstr "Verbindung über einen SSH Tunnel herstellen:" #: src/Widgets/ConnectionDialog.vala:271 msgid "SSH Host:" msgstr "SSH Host:" #: src/Widgets/ConnectionDialog.vala:276 msgid "SSH Username:" msgstr "SSH Benutzername:" #: src/Widgets/ConnectionDialog.vala:281 msgid "SSH Password:" msgstr "SSH Passwort:" #: src/Widgets/ConnectionDialog.vala:301 msgid "SSH Port:" msgstr "SSH Port:" #: src/Widgets/ConnectionDialog.vala:302 msgid "Optional" msgstr "Optional" #: src/Widgets/ConnectionDialog.vala:306 msgid "SSH Identity" msgstr "" #: src/Widgets/ConnectionDialog.vala:308 #, fuzzy msgid "Select Your Identity File…" msgstr "Wähle eine SQLite Datei…" #: src/Widgets/ConnectionDialog.vala:324 msgid "Generate SSH Key" msgstr "SSH-Schlüssel erstellen" #: src/Widgets/ConnectionDialog.vala:356 msgid "SSH Tunnel" msgstr "SSH Tunnel" #: src/Widgets/ConnectionDialog.vala:426 msgid "Close" msgstr "Schließen" #: src/Widgets/ConnectionDialog.vala:427 msgid "Save Connection" msgstr "Verbindung speichern" #: src/Widgets/ConnectionDialog.vala:429 msgid "Test Connection" msgstr "Verbindung testen" #: src/Widgets/ConnectionDialog.vala:620 msgid "Opening SSH Tunnel…" msgstr "Öffne SSH Tunnel…" #: src/Widgets/ConnectionDialog.vala:650 msgid "Testing Connection…" msgstr "Verbindung wird getestet…" #: src/Widgets/ConnectionDialog.vala:661 msgid "Successfully Connected!" msgstr "Erfolgreich verbunden!" #: src/Widgets/ConnectionDialog.vala:679 msgid "Saving Connection…" msgstr "Verbindung wird gespeichert…" #: src/Widgets/ConnectionDialog.vala:684 msgid "Connection Saved!" msgstr "Verbindung gespeichert!" #: src/Widgets/ConnectionDialog.vala:692 msgid "Connecting…" msgstr "Verbinde…" sequeler-0.8.0/po/es.po000066400000000000000000000360401367531117400147440ustar00rootroot00000000000000# Spanish translations for com.github.alecaddd.sequeler package. # Copyright (C) 2020 THE com.github.alecaddd.sequeler'S COPYRIGHT HOLDER # This file is distributed under the same license as the com.github.alecaddd.sequeler package. # Adolfo Jayme Barrientos , 2020. # msgid "" msgstr "" "Project-Id-Version: com.github.alecaddd.sequeler\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-11 12:37+0200\n" "PO-Revision-Date: 2020-05-01 13:11+0000\n" "Last-Translator: Adolfo Jayme Barrientos \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.0.2\n" #: src/Application.vala:62 msgid "Directories are not supported" msgstr "No se admiten los directorios" #: src/Application.vala:68 msgid "Don't know what to do" msgstr "No se sabe qué hacer" #: src/Application.vala:80 msgid "Something completely unexpected happened" msgstr "Se produjo una situación inesperada" #: src/Layouts/HeaderBar.vala:46 src/Layouts/HeaderBar.vala:53 msgid "Logout" msgstr "Finalizar sesión" #: src/Layouts/HeaderBar.vala:56 msgid "Light background" msgstr "Fondo claro" #: src/Layouts/HeaderBar.vala:57 msgid "Dark background" msgstr "Fondo oscuro" #: src/Layouts/HeaderBar.vala:68 src/Layouts/Welcome.vala:39 msgid "New Window" msgstr "Ventana nueva" #: src/Layouts/HeaderBar.vala:71 src/Widgets/ConnectionDialog.vala:130 #: src/Widgets/ConnectionDialog.vala:165 msgid "New Connection" msgstr "Conexión nueva" #: src/Layouts/HeaderBar.vala:74 msgid "Quit" msgstr "Salir" #: src/Layouts/HeaderBar.vala:94 msgid "Menu" msgstr "Menú" #: src/Layouts/Main.vala:77 #, c-format msgid "Connected to %s" msgstr "Conectado con %s" #: src/Layouts/Library.vala:65 msgid "SAVED CONNECTIONS" msgstr "CONEXIONES GUARDADAS" #: src/Layouts/Library.vala:74 msgid "Delete All" msgstr "Eliminar todas" #: src/Layouts/Library.vala:81 msgid "Reload Library" msgstr "Recargar biblioteca" #: src/Layouts/Library.vala:84 msgid "Export Library" msgstr "Exportar biblioteca" #: src/Layouts/Library.vala:215 src/Layouts/Library.vala:233 msgid "Are you sure you want to proceed?" msgstr "¿Confirma que quiere continuar?" #: src/Layouts/Library.vala:215 msgid "By deleting this connection you won’t be able to recover this data." msgstr "Si elimina esta conexión, no será capaz de recuperar los datos." #: src/Layouts/Library.vala:218 msgid "Yes, Delete!" msgstr "Sí, eliminarla" #: src/Layouts/Library.vala:233 msgid "All the data will be deleted and you won’t be able to recover it." msgstr "Se eliminarán todos los datos y no será capaz de recuperarlos." #: src/Layouts/Library.vala:236 msgid "Yes, Delete All!" msgstr "Sí, eliminarlo todo" #: src/Layouts/Library.vala:330 src/Widgets/ConnectionDialog.vala:575 #: src/Widgets/ConnectionDialog.vala:596 msgid "A username is required in order to connect!" msgstr "Se necesita un nombre de usuario para efectuar la conexión." #: src/Layouts/Library.vala:404 src/Layouts/Views/Query.vala:528 msgid "Pick a file" msgstr "Elija un archivo" #: src/Layouts/Library.vala:407 src/Layouts/Views/Query.vala:531 msgid "_Save" msgstr "_Guardar" #: src/Layouts/Library.vala:408 src/Layouts/Welcome.vala:62 #: src/Layouts/Views/Query.vala:532 msgid "_Cancel" msgstr "_Cancelar" #: src/Layouts/Library.vala:467 #, c-format msgid "Unable to Connect to %s" msgstr "No se pudo conectar con %s" #: src/Layouts/Library.vala:480 msgid "Unable to Export Library " msgstr "No se pudo exportar la biblioteca " #: src/Layouts/Welcome.vala:28 msgid "Welcome to Sequeler" msgstr "Le damos la bienvenida a Sequeler" #: src/Layouts/Welcome.vala:29 msgid "Connect to Any Local or Remote Database." msgstr "Conéctese con cualquier base de datos local o remota." #: src/Layouts/Welcome.vala:38 msgid "Add a New Database" msgstr "Añadir base de datos nueva" #: src/Layouts/Welcome.vala:38 msgid "Connect to a Database and Save It in Your Library" msgstr "Conéctese con una base de datos y guárdela en la biblioteca" #: src/Layouts/Welcome.vala:39 msgid "Open a New Sequeler Window" msgstr "Abrir una ventana nueva de Sequeler" #: src/Layouts/Welcome.vala:40 msgid "Import Connections" msgstr "Importar conexiones" #: src/Layouts/Welcome.vala:40 msgid "Import Previously Exported Sequeler Connections" msgstr "Abrir conexiones de Sequeler exportadas anteriormente" #: src/Layouts/Welcome.vala:58 msgid "Select a file" msgstr "Seleccione un archivo" #: src/Layouts/Welcome.vala:61 msgid "_Open" msgstr "_Abrir" #: src/Layouts/Welcome.vala:107 msgid "Unable to Import Library " msgstr "No se pudo importar la biblioteca " #: src/Layouts/DataBaseSchema.vala:66 src/Layouts/DataBaseSchema.vala:167 msgid "- Select Database -" msgstr "- Seleccione una base de datos -" #: src/Layouts/DataBaseSchema.vala:87 msgid "Search Tables" msgstr "Buscar en las tablas" #: src/Layouts/DataBaseSchema.vala:98 msgid "Search Tables…" msgstr "Buscar en las tablas…" #: src/Layouts/DataBaseSchema.vala:120 msgid "Reload Tables" msgstr "Recargar tablas" #: src/Layouts/DataBaseSchema.vala:125 msgid "Add Table" msgstr "Añadir tabla" #: src/Layouts/DataBaseSchema.vala:289 msgid "TABLES" msgstr "TABLAS" #: src/Layouts/DataBaseView.vala:49 msgid "Structure" msgstr "Estructura" #: src/Layouts/DataBaseView.vala:50 msgid "Content" msgstr "Contenido" #: src/Layouts/DataBaseView.vala:51 msgid "Relations" msgstr "Relaciones" #: src/Layouts/DataBaseView.vala:52 src/Layouts/DataBaseView.vala:229 #: src/Layouts/DataBaseView.vala:253 msgid "Query" msgstr "Consulta" #: src/Layouts/DataBaseView.vala:101 msgid "Zoom Out" msgstr "Alejar" #: src/Layouts/DataBaseView.vala:107 msgid "Zoom 1:1" msgstr "Ajustar 1:1" #: src/Layouts/DataBaseView.vala:111 msgid "Zoom In" msgstr "Acercar" #: src/Layouts/DataBaseView.vala:124 msgid "High Contrast" msgstr "Alto contraste" #: src/Layouts/DataBaseView.vala:132 msgid "Solarized Light" msgstr "Solarized claro" #: src/Layouts/DataBaseView.vala:140 msgid "Solarized Dark" msgstr "Solarized oscuro" #: src/Layouts/DataBaseView.vala:163 msgid "Change Text Style" msgstr "Cambiar estilo de texto" #: src/Layouts/DataBaseView.vala:222 msgid "Create a new Query Tab" msgstr "Crear pestaña de consulta" #: src/Layouts/DataBaseView.vala:240 #, c-format msgid "Query %i" msgstr "Consulta %i" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select Table" msgstr "Seleccionar tabla" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select a table from the left sidebar to activate this view." msgstr "" "Seleccione una tabla de la barra lateral izquierda para activar esta vista." #: src/Layouts/Views/Structure.vala:107 src/Layouts/Views/Structure.vala:145 #: src/Layouts/Views/Content.vala:179 src/Layouts/Views/Content.vala:218 #: src/Layouts/Views/Relations.vala:106 src/Layouts/Views/Relations.vala:144 #: src/Layouts/Views/Query.vala:323 msgid "No Results Available" msgstr "No se encontraron resultados" #: src/Layouts/Views/Structure.vala:118 src/Layouts/Views/Content.vala:191 #: src/Layouts/Views/Relations.vala:117 msgid "Reload Results" msgstr "Recargar resultados" #: src/Layouts/Views/Structure.vala:197 msgid " Fields" msgstr " campos" #: src/Layouts/Views/Content.vala:121 msgid "Previous Page" msgstr "Página anterior" #: src/Layouts/Views/Content.vala:126 msgid "Next Page" msgstr "Página siguiente" #: src/Layouts/Views/Content.vala:131 #, c-format msgid "%d Pages" msgstr "%d páginas" #: src/Layouts/Views/Content.vala:134 msgid "Jump to page…" msgstr "Saltar a la página…" #: src/Layouts/Views/Content.vala:165 msgid "1 Page" msgstr "1 página" #: src/Layouts/Views/Content.vala:171 #, c-format msgid "%d of %d Pages" msgstr "%d de %d páginas" #: src/Layouts/Views/Content.vala:275 #, c-format msgid "%d Entries" msgstr "%d entradas" #: src/Layouts/Views/Relations.vala:197 msgid " Constraints" msgstr " restricciones" #: src/Layouts/Views/Query.vala:279 msgid "Running Query…" msgstr "Ejecutando la consulta…" #: src/Layouts/Views/Query.vala:295 src/Layouts/Views/Query.vala:304 msgid "Run Query" msgstr "Ejecutar consulta" #: src/Layouts/Views/Query.vala:356 msgid "Export Results" msgstr "Exportar resultados" #: src/Layouts/Views/Query.vala:369 msgid "Export as CSV" msgstr "Exportar como CSV" #: src/Layouts/Views/Query.vala:377 msgid "Export as Text" msgstr "Exportar como texto" #: src/Layouts/Views/Query.vala:436 src/Layouts/Views/Query.vala:482 msgid "Unable to process Query!" msgstr "No se pudo procesar la consulta." #: src/Layouts/Views/Query.vala:457 #, c-format msgid "%d Total Results" msgstr "%d resultados en total" #: src/Layouts/Views/Query.vala:492 #, c-format msgid "Query Successfully Executed! Rows Affected: %s" msgstr "Se ejecutó la consulta correctamente. Filas afectadas: %s" #: src/Layouts/Views/Query.vala:495 msgid "Query Executed!" msgstr "Se ha ejecutado la consulta." #: src/Partials/LibraryItem.vala:107 src/Widgets/ConnectionDialog.vala:431 msgid "Connect" msgstr "Conectar" #: src/Partials/LibraryItem.vala:110 msgid "Edit Connection" msgstr "Editar conexión" #: src/Partials/LibraryItem.vala:113 msgid "Duplicate Connection" msgstr "Duplicar conexión" #: src/Partials/LibraryItem.vala:116 msgid "Delete Connection" msgstr "Eliminar conexión" #: src/Partials/LibraryItem.vala:126 msgid "Options" msgstr "Opciones" #: src/Partials/TreeBuilder.vala:131 msgid "Error" msgstr "Error" #: src/Partials/TreeBuilder.vala:131 msgid "on Column" msgstr "en la columna" #: src/Partials/TreeBuilder.vala:172 #, c-format msgid "Copy %s" msgstr "Copiar %s" #: src/Services/Settings.vala:106 #, c-format msgid "%s (copy)" msgstr "%s (copia)" #: src/Services/ConnectionManager.vala:193 #, c-format msgid "Libssh2 initialization failed (%d)" msgstr "Fallo al inicializar libssh2 (%d)" #: src/Services/ConnectionManager.vala:202 msgid "Failed to open socket" msgstr "Fallo al abrir socket" #: src/Services/ConnectionManager.vala:211 msgid "Failed to connect!" msgstr "¡Fallo al conectar!" #: src/Services/ConnectionManager.vala:223 #, c-format msgid "Error when starting up SSH session: %d" msgstr "Error al iniciar la sesión SSH: %d" #: src/Services/ConnectionManager.vala:242 msgid "Authentication by password failed!" msgstr "Falló la autenticación por contraseña." #: src/Services/ConnectionManager.vala:252 msgid "Authentication by public key failed!" msgstr "Falló la autenticación por clave pública." #: src/Services/ConnectionManager.vala:259 msgid "No supported authentication methods found!" msgstr "No se encontró ningún método de autenticación admitido." #: src/Services/ConnectionManager.vala:266 msgid "Failed to open listen socket" msgstr "Fallo al abrir socket de escucha" #: src/Services/ConnectionManager.vala:281 msgid "Failed to bind. Your Database Port may be wrong!" msgstr "" "No se pudo vincular. Puede que el puerto de su base de datos sea erróneo." #: src/Services/ConnectionManager.vala:287 msgid "Failed to listen!" msgstr "¡Fallo al escuchar!" #: src/Services/ConnectionManager.vala:314 msgid "Failed to accept remote connection!" msgstr "¡Fallo al aceptar la conexión remota!" #: src/Services/ConnectionManager.vala:323 msgid "" "Could not open the direct-tcpip channel! (Note that this can be a problem at " "the server! Please review the server logs.)" msgstr "" "No se pudo abrir el canal direct-tcpip! (Nota: ¡Esto puede ser un problema " "con el servidor! Por favor revisa los registros del servidor)" #: src/Services/ConnectionManager.vala:566 msgid "Error!" msgstr "Error" #: src/Widgets/ConnectionDialog.vala:33 msgid "Missing SSH Key file!" msgstr "Falta el archivo de clave SSH." #: src/Widgets/ConnectionDialog.vala:34 msgid "Missing SSH public key!" msgstr "Falta la clave SSH pública." #: src/Widgets/ConnectionDialog.vala:89 src/Widgets/ConnectionDialog.vala:355 msgid "Connection" msgstr "Conexión" #: src/Widgets/ConnectionDialog.vala:141 msgid "Select connection color" msgstr "Seleccionar el color de la conexión" #: src/Widgets/ConnectionDialog.vala:164 msgid "Connection Name:" msgstr "Nombre de la conexión:" #: src/Widgets/ConnectionDialog.vala:165 msgid "Connection's name" msgstr "Nombre de la conexión" #: src/Widgets/ConnectionDialog.vala:172 msgid "Database Type:" msgstr "Tipo de base de datos:" #: src/Widgets/ConnectionDialog.vala:194 msgid "Host:" msgstr "Anfitrión:" #: src/Widgets/ConnectionDialog.vala:200 msgid "Database Name:" msgstr "Nombre de la base de datos:" #: src/Widgets/ConnectionDialog.vala:207 msgid "Username:" msgstr "Nombre de usuario:" #: src/Widgets/ConnectionDialog.vala:213 msgid "Password:" msgstr "Contraseña:" #: src/Widgets/ConnectionDialog.vala:217 src/Widgets/ConnectionDialog.vala:227 #: src/Widgets/ConnectionDialog.vala:285 src/Widgets/ConnectionDialog.vala:295 msgid "Show password" msgstr "Mostrar contraseña" #: src/Widgets/ConnectionDialog.vala:224 src/Widgets/ConnectionDialog.vala:292 msgid "Hide password" msgstr "Ocultar contraseña" #: src/Widgets/ConnectionDialog.vala:234 msgid "Port:" msgstr "Puerto:" #: src/Widgets/ConnectionDialog.vala:240 msgid "File Path:" msgstr "Ruta de archivo:" #: src/Widgets/ConnectionDialog.vala:241 msgid "Select Your SQLite File…" msgstr "Seleccione su archivo SQLite…" #: src/Widgets/ConnectionDialog.vala:261 msgid "Connect via SSH Tunnel:" msgstr "Conectar mediante túnel SSH:" #: src/Widgets/ConnectionDialog.vala:271 msgid "SSH Host:" msgstr "Anfitrión SSH:" #: src/Widgets/ConnectionDialog.vala:276 msgid "SSH Username:" msgstr "Nombre de usuario SSH:" #: src/Widgets/ConnectionDialog.vala:281 msgid "SSH Password:" msgstr "Contraseña SSH:" #: src/Widgets/ConnectionDialog.vala:301 msgid "SSH Port:" msgstr "Puerto SSH:" #: src/Widgets/ConnectionDialog.vala:302 msgid "Optional" msgstr "Opcional" #: src/Widgets/ConnectionDialog.vala:306 msgid "SSH Identity" msgstr "" #: src/Widgets/ConnectionDialog.vala:308 #, fuzzy msgid "Select Your Identity File…" msgstr "Seleccione su archivo SQLite…" #: src/Widgets/ConnectionDialog.vala:324 msgid "Generate SSH Key" msgstr "" #: src/Widgets/ConnectionDialog.vala:356 msgid "SSH Tunnel" msgstr "Túnel SSH" #: src/Widgets/ConnectionDialog.vala:426 msgid "Close" msgstr "Cerrar" #: src/Widgets/ConnectionDialog.vala:427 msgid "Save Connection" msgstr "Guardar conexión" #: src/Widgets/ConnectionDialog.vala:429 msgid "Test Connection" msgstr "Probar conexión" #: src/Widgets/ConnectionDialog.vala:620 msgid "Opening SSH Tunnel…" msgstr "Abriendo túnel SSH…" #: src/Widgets/ConnectionDialog.vala:650 msgid "Testing Connection…" msgstr "Probando la conexión…" #: src/Widgets/ConnectionDialog.vala:661 msgid "Successfully Connected!" msgstr "Se ha conectado correctamente." #: src/Widgets/ConnectionDialog.vala:679 msgid "Saving Connection…" msgstr "Guardando la conexión…" #: src/Widgets/ConnectionDialog.vala:684 msgid "Connection Saved!" msgstr "Conexión guardada!" #: src/Widgets/ConnectionDialog.vala:692 msgid "Connecting…" msgstr "Conectando…" sequeler-0.8.0/po/extra/000077500000000000000000000000001367531117400151155ustar00rootroot00000000000000sequeler-0.8.0/po/extra/LINGUAS000066400000000000000000000000111367531117400161320ustar00rootroot00000000000000de fr lt sequeler-0.8.0/po/extra/POTFILES000066400000000000000000000001441367531117400162640ustar00rootroot00000000000000data/com.github.alecaddd.sequeler.desktop.in.in data/com.github.alecaddd.sequeler.appdata.xml.in.in sequeler-0.8.0/po/extra/de.po000066400000000000000000000542651367531117400160610ustar00rootroot00000000000000# German translations for extra package. # Copyright (C) 2020 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Peter Nerlich , 2020. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-11 12:37+0200\n" "PO-Revision-Date: 2020-04-11 12:12+0200\n" "Last-Translator: Peter Nerlich \n" "Language-Team: none\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: data/com.github.alecaddd.sequeler.desktop.in.in:3 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:7 msgid "Sequeler" msgstr "Sequeler" #: data/com.github.alecaddd.sequeler.desktop.in.in:4 msgid "Sequeler App" msgstr "Sequeler Anwendung" #: data/com.github.alecaddd.sequeler.desktop.in.in:5 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:8 msgid "Friendly SQL Client" msgstr "Benutzerfreundlicher SQL-Client" #: data/com.github.alecaddd.sequeler.desktop.in.in:9 msgid "@icon@" msgstr "@icon@" #: data/com.github.alecaddd.sequeler.desktop.in.in:12 msgid "SQL;MySql;Database;MariaDB;S3;PostgreSQL;" msgstr "SQL;MySql;Database;MariaDB;S3;PostgreSQL;" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:10 msgid "Easily connect to your local or remote database" msgstr "" "Verbinden Sie sich mit einer beliebigen lokalen oder externen Datenbank" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:13 #, fuzzy msgid "" "Store your Database Connections in the library, connect over SSH tunnel, " "type and execute SQL commands directly in the app, and do everything you " "need to do without the necessity of opening the terminal." msgstr "" "Speichern Sie Ihre Datenbankverbindungen in der integrierten Bibliothek, " "führen Sie SQL-Befehle direkt in der Anwendung aus, und tun Sie alles, was " "Sie tun müssen, ohne das Terminal öffnen zu müssen." #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:16 msgid "Supported Databases:" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:20 msgid "SQLite" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:21 msgid "MySQL" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:22 msgid "MariaDB" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:23 msgid "PostgreSQL" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:25 msgid "Features Include:" msgstr "Zu den Funktionen gehören:" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:29 msgid "Test Connections before saving them" msgstr "Verbindung vor dem Speichern testen" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:30 msgid "View Table structure, content, and relations" msgstr "Anzeigen von Tabellenstruktur, Inhalt und Beziehungen" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:31 msgid "Write multiple custom SQL Queries" msgstr "Mehrere benutzerdefinierte SQL-Abfragen schreiben" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:32 msgid "Switch between light and dark mode" msgstr "Zwischen dem hellen und dunklen Modus umschalten" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:33 #, fuzzy msgid "" "Handy keyboard shortcuts to quit (ctrl+q), create new connection (ctrl+shift" "+n), open a new window (ctrl+n)" msgstr "" "Tastenkombinationen zum Beenden (Strg+q), Erstellen einer neuen Verbindung " "(Strg+Shift+n), mehrere Instanzen (Strg+n)" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:42 msgid "Query Tab Bonanza!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:44 msgid "Fix ORDER BY in PostgreSQL Relationship view." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:45 msgid "Improve MySQL structure view." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:46 msgid "Drop Granite.Settings in favor of GLib.Settings." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:47 msgid "Implement Granite.Notebook on the Query tab." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:48 msgid "Show query error messages inline." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:54 msgid "New features and improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:56 #, fuzzy msgid "You can now duplicate connections." msgstr "Gesamtzahl der gespeicherten Verbindungen." #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:57 msgid "" "Sorting columns now works as expected by actually running the ORDER BY query." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:58 msgid "" "Quickly jump to a specific result page with the handy dandy pagination " "popover." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:59 msgid "Show Comment Column inside table structure view." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:65 msgid "The 2020 release!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:67 #, fuzzy msgid "Manually reorder saved connection." msgstr "Gesamtzahl der gespeicherten Verbindungen." #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:68 msgid "Allow selecting a custom SSH public key." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:69 msgid "Fix SSH tunnel crashes." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:75 msgid "Raw Query Improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:77 msgid "Strip comments from SQL raw queries." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:78 msgid "Better handle complex queries on multiple lines." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:79 msgid "Speed up query rendering." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:85 msgid "Sweet Query Tab Improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:87 msgid "Edit font size of the Query Tab." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:88 msgid "Edit background style of the Query Tab." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:89 msgid "Save and remember the Query Tab size." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:95 msgid "PostgreSQL Fixes" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:97 msgid "Fixed PostgreSQL relationship table." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:98 msgid "Fixed wrong response message when handling non select queries." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:104 msgid "Bite-Size fixes" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:106 msgid "Removed unused libfixposix." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:107 msgid "Fixed pagination issue when clicking too fast while fetching big data." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:113 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:124 msgid "Bug fixes and improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:115 msgid "Rewritten pagination to use LIMIT and OFFSET." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:116 msgid "Faster pagination and content viewing for big data." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:117 msgid "Show records count in table's list." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:118 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:151 msgid "Bug fixes and other improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:126 msgid "Properly handle EXPLAIN SQL statement." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:127 msgid "Properly handle querying capitlized PostgreSQL tables." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:128 msgid "Improved async methods for internal views." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:129 msgid "Updated translations." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:135 msgid "Critical bug fix!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:137 msgid "CRITICAL: Fixes missing GSettings Schema, restore lost connections." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:138 msgid "Other small bug fixes and improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:144 msgid "Implemented SSH tunneling" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:146 msgid "" "WARNING: This release packs many updates and something could break. Please, " "backup your connections." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:147 #, fuzzy msgid "Connect via SSH to a remote Database." msgstr "Zu einer lokalen oder entfernten Datenbank verbinden" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:148 msgid "Major code refactor to handle UI updates via async methods." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:149 msgid "" "Use Stack container to show a loading Spinner during fetch or data " "processing methods." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:150 msgid "" "Major performance improvements to the table search and dropdown schema " "switcher." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:157 msgid "Fancy New Icon!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:159 msgid "New fancy Icon." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:160 msgid "Use GtkNativeDialog." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:161 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:171 msgid "Bug fixes and Improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:167 msgid "Open SQLite files" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:169 msgid "Open SQLite files directly in Sequeler." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:170 msgid "Right click to copy data inside a column." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:177 msgid "UI Fixes and Performance Improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:179 msgid "UI fix for logout button." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:180 msgid "View shortcuts on preferences dropdown." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:181 msgid "Performance Improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:182 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:250 msgid "Italian translation." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:188 msgid "Export all the things!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:190 msgid "Export results from Query Tab." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:191 msgid "Export in CSV or Plain Text format." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:192 msgid "Sort Columns order everywhere." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:193 msgid "Brazilian translation." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:199 msgid "Here comes the power of Pagination!!!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:201 msgid "Paginate results in the Content tab." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:202 msgid "Query messages UI improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:203 msgid "Relations table bug fixes." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:209 msgid "We got Multi SQL Query support." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:211 msgid "Ability to handle multiple SQL queries." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:212 msgid "Execute the currently highlighted query." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:213 msgid "Improved Library Popover UI." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:214 msgid "Use native GTK+ CSS attributes for better Light/Dark mode." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:215 msgid "Random UI improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:221 msgid "Urgent! Fixed broken Tabs for translated version." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:226 msgid "Light and Dark Mode Switch!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:228 msgid "Better Dark/Light mode switch in header bar." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:229 msgid "Add Russian translation." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:230 msgid "Updated Welcome screen with New Window command." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:231 msgid "Code cleanup." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:237 msgid "Official Juno release!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:239 msgid "Missing filter name on SQLite File Dialog." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:245 msgid "We got Search!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:247 msgid "Search table names in sidebar." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:248 msgid "Fixes issue in connecting directly on a non saved connection." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:249 msgid "Updated Lithuanian translation." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:256 msgid "Improved Password Security." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:258 msgid "Safely store passwords in LibSecret." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:259 msgid "Auto upgrade on startup to remove passwords from GSettings." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:260 msgid "" "Fixes issues with identical table names from other database in the same " "connection." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:261 msgid "Alphabetically ordered tables." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:262 msgid "Improvements in showing MySql/MariaDB Table Structure." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:263 msgid "Many more bugs for you to discover." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:269 #, fuzzy msgid "New Icon and Import/Export Library." msgstr "Abfrage konnte nicht verarbeitet werden!" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:271 msgid "Fancy new icon." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:272 #, fuzzy msgid "Import and Export connections library." msgstr "Verbindung testen" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:273 msgid "Fixed random crash when opening and closing multiple connections." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:274 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:280 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:292 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:315 msgid "Bug fixes and improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:282 msgid "Fixed PostgreSQL Schema show options." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:283 msgid "" "Fixed crash on new connection dialog when opening the connection before " "saving." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:289 msgid "Little side dish update." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:291 msgid "Fixed save window state on close." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:298 msgid "Alternate coloured rows!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:300 msgid "Manually reload Content, Structure, and Relations." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:301 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:312 msgid "Show Table schema, content, and constraint relationships." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:302 msgid "Properly handle compound queries." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:303 msgid "Fix PostgreSQL table switch." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:309 msgid "Complete rewrite of the entire code base!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:311 msgid "Handle multiple Windows/Instances and multiple open connections." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:313 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:325 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:337 msgid "Quicker response on big select queries" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:314 msgid "Better error handling." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:321 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:333 msgid "Better error handling, less crashes!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:323 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:335 msgid "The app doesn't crash when dealing with big values" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:324 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:336 msgid "Handling errors related to columns" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:326 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:338 msgid "Some small clean up" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:327 msgid "Fixes issue with SQL Lite encrypted path" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:344 msgid "New Icon, Better error messages!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:346 msgid "New shiny icon" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:347 msgid "View SQL error message on error" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:348 msgid "FIX: Show proper PostgreSql Schema Table in Sidebar" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:349 msgid "Snappiest query execution ever for local databases" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:350 msgid "The usual bundle of bugs for you to discover" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:356 msgid "Summoning the power of async methods!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:358 msgid "All DataBase queries are now async methods, super fast." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:359 msgid "The UI doesn't freeze anymore during a long process" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:360 msgid "Granite SourceList to display list of tables" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:361 msgid "Tabs to switch between the Query Builder and the Table Structure" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:362 msgid "ComboBox to select table schemas from the open connection" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:363 msgid "Many more bugs and issues for you to have fun with" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:369 msgid "Bug Fixes and Improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:371 msgid "Display Table lists for SQLite and PostgreSQL" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:372 msgid "Refresh Table List view if tables change" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:373 msgid "Removed unused GSettings" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:379 msgid "" "This is so good you won't believe it. New Library UI, Schema Table, Custom " "Port, and more" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:381 msgid "" "A brand new Library View directly in your home screen, super tight and " "organized" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:382 msgid "Custom Port field for those snazzy geeks who don't just use 3306" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:383 msgid "A shiny new Sidebar View to list all your DataBase Tables" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:384 msgid "Code cleanup and speed improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:385 msgid "Usual abundance of bugs and issues for you to have fun with!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:391 msgid "Major Update: Releasing a sweet table to view Query Results!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:393 msgid "Did I say we got a sweet table to view query results?" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:394 msgid "New shortcut (ctrl+enter) to execute query" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:395 msgid "Solved bug while connecting to DB directly from the Connection Dialog" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:396 msgid "UI Improvements to Connection Dialog" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:397 msgid "Added Spanish and Lithuanian translations" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:403 msgid "UI fixes" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:405 msgid "Visual improvements to the library view" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:411 msgid "Initial Release" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:413 msgid "Store your Database connections" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:414 #, fuzzy msgid "Quickly connect to a Local or Remote Database" msgstr "Zu einer lokalen oder entfernten Datenbank verbinden" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:415 msgid "Write SQL queries in the built-in code editor" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:437 msgid "Alessandro Castellani" msgstr "Alessandro Castellani" sequeler-0.8.0/po/extra/extra.pot000066400000000000000000000521001367531117400167620ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-11 12:37+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: data/com.github.alecaddd.sequeler.desktop.in.in:3 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:7 msgid "Sequeler" msgstr "" #: data/com.github.alecaddd.sequeler.desktop.in.in:4 msgid "Sequeler App" msgstr "" #: data/com.github.alecaddd.sequeler.desktop.in.in:5 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:8 msgid "Friendly SQL Client" msgstr "" #: data/com.github.alecaddd.sequeler.desktop.in.in:9 msgid "@icon@" msgstr "" #: data/com.github.alecaddd.sequeler.desktop.in.in:12 msgid "SQL;MySql;Database;MariaDB;S3;PostgreSQL;" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:10 msgid "Easily connect to your local or remote database" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:13 msgid "" "Store your Database Connections in the library, connect over SSH tunnel, " "type and execute SQL commands directly in the app, and do everything you " "need to do without the necessity of opening the terminal." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:16 msgid "Supported Databases:" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:20 msgid "SQLite" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:21 msgid "MySQL" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:22 msgid "MariaDB" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:23 msgid "PostgreSQL" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:25 msgid "Features Include:" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:29 msgid "Test Connections before saving them" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:30 msgid "View Table structure, content, and relations" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:31 msgid "Write multiple custom SQL Queries" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:32 msgid "Switch between light and dark mode" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:33 msgid "" "Handy keyboard shortcuts to quit (ctrl+q), create new connection (ctrl+shift" "+n), open a new window (ctrl+n)" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:42 msgid "Query Tab Bonanza!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:44 msgid "Fix ORDER BY in PostgreSQL Relationship view." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:45 msgid "Improve MySQL structure view." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:46 msgid "Drop Granite.Settings in favor of GLib.Settings." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:47 msgid "Implement Granite.Notebook on the Query tab." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:48 msgid "Show query error messages inline." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:54 msgid "New features and improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:56 msgid "You can now duplicate connections." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:57 msgid "" "Sorting columns now works as expected by actually running the ORDER BY query." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:58 msgid "" "Quickly jump to a specific result page with the handy dandy pagination " "popover." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:59 msgid "Show Comment Column inside table structure view." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:65 msgid "The 2020 release!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:67 msgid "Manually reorder saved connection." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:68 msgid "Allow selecting a custom SSH public key." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:69 msgid "Fix SSH tunnel crashes." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:75 msgid "Raw Query Improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:77 msgid "Strip comments from SQL raw queries." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:78 msgid "Better handle complex queries on multiple lines." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:79 msgid "Speed up query rendering." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:85 msgid "Sweet Query Tab Improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:87 msgid "Edit font size of the Query Tab." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:88 msgid "Edit background style of the Query Tab." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:89 msgid "Save and remember the Query Tab size." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:95 msgid "PostgreSQL Fixes" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:97 msgid "Fixed PostgreSQL relationship table." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:98 msgid "Fixed wrong response message when handling non select queries." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:104 msgid "Bite-Size fixes" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:106 msgid "Removed unused libfixposix." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:107 msgid "Fixed pagination issue when clicking too fast while fetching big data." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:113 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:124 msgid "Bug fixes and improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:115 msgid "Rewritten pagination to use LIMIT and OFFSET." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:116 msgid "Faster pagination and content viewing for big data." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:117 msgid "Show records count in table's list." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:118 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:151 msgid "Bug fixes and other improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:126 msgid "Properly handle EXPLAIN SQL statement." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:127 msgid "Properly handle querying capitlized PostgreSQL tables." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:128 msgid "Improved async methods for internal views." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:129 msgid "Updated translations." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:135 msgid "Critical bug fix!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:137 msgid "CRITICAL: Fixes missing GSettings Schema, restore lost connections." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:138 msgid "Other small bug fixes and improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:144 msgid "Implemented SSH tunneling" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:146 msgid "" "WARNING: This release packs many updates and something could break. Please, " "backup your connections." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:147 msgid "Connect via SSH to a remote Database." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:148 msgid "Major code refactor to handle UI updates via async methods." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:149 msgid "" "Use Stack container to show a loading Spinner during fetch or data " "processing methods." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:150 msgid "" "Major performance improvements to the table search and dropdown schema " "switcher." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:157 msgid "Fancy New Icon!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:159 msgid "New fancy Icon." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:160 msgid "Use GtkNativeDialog." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:161 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:171 msgid "Bug fixes and Improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:167 msgid "Open SQLite files" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:169 msgid "Open SQLite files directly in Sequeler." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:170 msgid "Right click to copy data inside a column." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:177 msgid "UI Fixes and Performance Improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:179 msgid "UI fix for logout button." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:180 msgid "View shortcuts on preferences dropdown." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:181 msgid "Performance Improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:182 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:250 msgid "Italian translation." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:188 msgid "Export all the things!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:190 msgid "Export results from Query Tab." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:191 msgid "Export in CSV or Plain Text format." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:192 msgid "Sort Columns order everywhere." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:193 msgid "Brazilian translation." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:199 msgid "Here comes the power of Pagination!!!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:201 msgid "Paginate results in the Content tab." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:202 msgid "Query messages UI improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:203 msgid "Relations table bug fixes." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:209 msgid "We got Multi SQL Query support." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:211 msgid "Ability to handle multiple SQL queries." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:212 msgid "Execute the currently highlighted query." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:213 msgid "Improved Library Popover UI." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:214 msgid "Use native GTK+ CSS attributes for better Light/Dark mode." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:215 msgid "Random UI improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:221 msgid "Urgent! Fixed broken Tabs for translated version." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:226 msgid "Light and Dark Mode Switch!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:228 msgid "Better Dark/Light mode switch in header bar." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:229 msgid "Add Russian translation." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:230 msgid "Updated Welcome screen with New Window command." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:231 msgid "Code cleanup." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:237 msgid "Official Juno release!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:239 msgid "Missing filter name on SQLite File Dialog." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:245 msgid "We got Search!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:247 msgid "Search table names in sidebar." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:248 msgid "Fixes issue in connecting directly on a non saved connection." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:249 msgid "Updated Lithuanian translation." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:256 msgid "Improved Password Security." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:258 msgid "Safely store passwords in LibSecret." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:259 msgid "Auto upgrade on startup to remove passwords from GSettings." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:260 msgid "" "Fixes issues with identical table names from other database in the same " "connection." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:261 msgid "Alphabetically ordered tables." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:262 msgid "Improvements in showing MySql/MariaDB Table Structure." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:263 msgid "Many more bugs for you to discover." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:269 msgid "New Icon and Import/Export Library." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:271 msgid "Fancy new icon." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:272 msgid "Import and Export connections library." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:273 msgid "Fixed random crash when opening and closing multiple connections." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:274 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:280 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:292 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:315 msgid "Bug fixes and improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:282 msgid "Fixed PostgreSQL Schema show options." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:283 msgid "" "Fixed crash on new connection dialog when opening the connection before " "saving." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:289 msgid "Little side dish update." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:291 msgid "Fixed save window state on close." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:298 msgid "Alternate coloured rows!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:300 msgid "Manually reload Content, Structure, and Relations." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:301 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:312 msgid "Show Table schema, content, and constraint relationships." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:302 msgid "Properly handle compound queries." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:303 msgid "Fix PostgreSQL table switch." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:309 msgid "Complete rewrite of the entire code base!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:311 msgid "Handle multiple Windows/Instances and multiple open connections." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:313 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:325 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:337 msgid "Quicker response on big select queries" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:314 msgid "Better error handling." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:321 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:333 msgid "Better error handling, less crashes!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:323 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:335 msgid "The app doesn't crash when dealing with big values" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:324 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:336 msgid "Handling errors related to columns" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:326 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:338 msgid "Some small clean up" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:327 msgid "Fixes issue with SQL Lite encrypted path" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:344 msgid "New Icon, Better error messages!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:346 msgid "New shiny icon" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:347 msgid "View SQL error message on error" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:348 msgid "FIX: Show proper PostgreSql Schema Table in Sidebar" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:349 msgid "Snappiest query execution ever for local databases" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:350 msgid "The usual bundle of bugs for you to discover" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:356 msgid "Summoning the power of async methods!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:358 msgid "All DataBase queries are now async methods, super fast." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:359 msgid "The UI doesn't freeze anymore during a long process" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:360 msgid "Granite SourceList to display list of tables" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:361 msgid "Tabs to switch between the Query Builder and the Table Structure" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:362 msgid "ComboBox to select table schemas from the open connection" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:363 msgid "Many more bugs and issues for you to have fun with" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:369 msgid "Bug Fixes and Improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:371 msgid "Display Table lists for SQLite and PostgreSQL" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:372 msgid "Refresh Table List view if tables change" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:373 msgid "Removed unused GSettings" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:379 msgid "" "This is so good you won't believe it. New Library UI, Schema Table, Custom " "Port, and more" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:381 msgid "" "A brand new Library View directly in your home screen, super tight and " "organized" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:382 msgid "Custom Port field for those snazzy geeks who don't just use 3306" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:383 msgid "A shiny new Sidebar View to list all your DataBase Tables" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:384 msgid "Code cleanup and speed improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:385 msgid "Usual abundance of bugs and issues for you to have fun with!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:391 msgid "Major Update: Releasing a sweet table to view Query Results!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:393 msgid "Did I say we got a sweet table to view query results?" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:394 msgid "New shortcut (ctrl+enter) to execute query" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:395 msgid "Solved bug while connecting to DB directly from the Connection Dialog" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:396 msgid "UI Improvements to Connection Dialog" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:397 msgid "Added Spanish and Lithuanian translations" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:403 msgid "UI fixes" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:405 msgid "Visual improvements to the library view" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:411 msgid "Initial Release" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:413 msgid "Store your Database connections" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:414 msgid "Quickly connect to a Local or Remote Database" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:415 msgid "Write SQL queries in the built-in code editor" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:437 msgid "Alessandro Castellani" msgstr "" sequeler-0.8.0/po/extra/fr.po000066400000000000000000000546161367531117400161000ustar00rootroot00000000000000# French translations for extra package. # Copyright (C) 2020 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # NathanBnm, 2020. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-11 12:37+0200\n" "PO-Revision-Date: 2020-04-11 12:12+0200\n" "Last-Translator: NathanBnm\n" "Language-Team: none\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: data/com.github.alecaddd.sequeler.desktop.in.in:3 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:7 msgid "Sequeler" msgstr "Sequeler" #: data/com.github.alecaddd.sequeler.desktop.in.in:4 msgid "Sequeler App" msgstr "Sequeler" #: data/com.github.alecaddd.sequeler.desktop.in.in:5 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:8 msgid "Friendly SQL Client" msgstr "Un simple client SQL" #: data/com.github.alecaddd.sequeler.desktop.in.in:9 msgid "@icon@" msgstr "@icon@" #: data/com.github.alecaddd.sequeler.desktop.in.in:12 msgid "SQL;MySql;Database;MariaDB;S3;PostgreSQL;" msgstr "SQL;MySql;Base de données;MariaDB;S3;PostgreSQL;" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:10 #, fuzzy msgid "Easily connect to your local or remote database" msgstr "Connectez-vous facilement à une base de données locale ou distante." #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:13 #, fuzzy msgid "" "Store your Database Connections in the library, connect over SSH tunnel, " "type and execute SQL commands directly in the app, and do everything you " "need to do without the necessity of opening the terminal." msgstr "" "Stockez vos connexions de base de données dans la bibliothèque intégrée, " "tapez et exécutez les commandes SQL directement dans l'application, et " "faites tout ce dont vous avez besoin pour vous passer la nécessité d'ouvrir " "le terminal." #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:16 msgid "Supported Databases:" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:20 msgid "SQLite" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:21 msgid "MySQL" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:22 msgid "MariaDB" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:23 msgid "PostgreSQL" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:25 msgid "Features Include:" msgstr "Fonctionnalités incluses :" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:29 #, fuzzy msgid "Test Connections before saving them" msgstr "Tester les connexions avant de les enregistrer" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:30 msgid "View Table structure, content, and relations" msgstr "Voir la structure, le contenu et les relations des tables" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:31 msgid "Write multiple custom SQL Queries" msgstr "Écrire plusieurs requêtes SQL personnalisées" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:32 msgid "Switch between light and dark mode" msgstr "Changer entre le thème clair et le thème sombre" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:33 #, fuzzy msgid "" "Handy keyboard shortcuts to quit (ctrl+q), create new connection (ctrl+shift" "+n), open a new window (ctrl+n)" msgstr "" "Raccourcis clavier pour quitter (Ctrl+Q), créer une nouvelle connexion(Ctrl" "+Maj+N), Ouvrir une nouvelle instance (Ctrl+N)" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:42 msgid "Query Tab Bonanza!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:44 msgid "Fix ORDER BY in PostgreSQL Relationship view." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:45 msgid "Improve MySQL structure view." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:46 msgid "Drop Granite.Settings in favor of GLib.Settings." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:47 msgid "Implement Granite.Notebook on the Query tab." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:48 msgid "Show query error messages inline." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:54 msgid "New features and improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:56 #, fuzzy msgid "You can now duplicate connections." msgstr "Nombre total de connexions enregistrées." #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:57 msgid "" "Sorting columns now works as expected by actually running the ORDER BY query." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:58 msgid "" "Quickly jump to a specific result page with the handy dandy pagination " "popover." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:59 msgid "Show Comment Column inside table structure view." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:65 msgid "The 2020 release!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:67 #, fuzzy msgid "Manually reorder saved connection." msgstr "Nombre total de connexions enregistrées." #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:68 msgid "Allow selecting a custom SSH public key." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:69 msgid "Fix SSH tunnel crashes." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:75 msgid "Raw Query Improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:77 msgid "Strip comments from SQL raw queries." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:78 msgid "Better handle complex queries on multiple lines." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:79 msgid "Speed up query rendering." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:85 msgid "Sweet Query Tab Improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:87 msgid "Edit font size of the Query Tab." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:88 msgid "Edit background style of the Query Tab." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:89 msgid "Save and remember the Query Tab size." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:95 msgid "PostgreSQL Fixes" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:97 msgid "Fixed PostgreSQL relationship table." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:98 msgid "Fixed wrong response message when handling non select queries." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:104 msgid "Bite-Size fixes" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:106 msgid "Removed unused libfixposix." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:107 msgid "Fixed pagination issue when clicking too fast while fetching big data." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:113 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:124 msgid "Bug fixes and improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:115 msgid "Rewritten pagination to use LIMIT and OFFSET." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:116 msgid "Faster pagination and content viewing for big data." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:117 msgid "Show records count in table's list." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:118 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:151 msgid "Bug fixes and other improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:126 msgid "Properly handle EXPLAIN SQL statement." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:127 msgid "Properly handle querying capitlized PostgreSQL tables." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:128 msgid "Improved async methods for internal views." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:129 msgid "Updated translations." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:135 msgid "Critical bug fix!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:137 msgid "CRITICAL: Fixes missing GSettings Schema, restore lost connections." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:138 msgid "Other small bug fixes and improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:144 msgid "Implemented SSH tunneling" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:146 msgid "" "WARNING: This release packs many updates and something could break. Please, " "backup your connections." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:147 #, fuzzy msgid "Connect via SSH to a remote Database." msgstr "Connectez-vous à une base de données locale ou distante." #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:148 msgid "Major code refactor to handle UI updates via async methods." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:149 msgid "" "Use Stack container to show a loading Spinner during fetch or data " "processing methods." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:150 msgid "" "Major performance improvements to the table search and dropdown schema " "switcher." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:157 msgid "Fancy New Icon!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:159 msgid "New fancy Icon." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:160 msgid "Use GtkNativeDialog." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:161 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:171 msgid "Bug fixes and Improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:167 msgid "Open SQLite files" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:169 msgid "Open SQLite files directly in Sequeler." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:170 msgid "Right click to copy data inside a column." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:177 msgid "UI Fixes and Performance Improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:179 msgid "UI fix for logout button." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:180 msgid "View shortcuts on preferences dropdown." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:181 msgid "Performance Improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:182 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:250 msgid "Italian translation." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:188 #, fuzzy msgid "Export all the things!" msgstr "Exporter au format Texte" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:190 msgid "Export results from Query Tab." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:191 msgid "Export in CSV or Plain Text format." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:192 msgid "Sort Columns order everywhere." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:193 msgid "Brazilian translation." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:199 msgid "Here comes the power of Pagination!!!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:201 #, fuzzy msgid "Paginate results in the Content tab." msgstr "Nombre maximum de lignes à afficher dans l'onglet Contenu." #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:202 msgid "Query messages UI improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:203 msgid "Relations table bug fixes." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:209 msgid "We got Multi SQL Query support." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:211 #, fuzzy msgid "Ability to handle multiple SQL queries." msgstr "Écrire plusieurs requêtes SQL personnalisées" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:212 msgid "Execute the currently highlighted query." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:213 msgid "Improved Library Popover UI." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:214 msgid "Use native GTK+ CSS attributes for better Light/Dark mode." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:215 msgid "Random UI improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:221 msgid "Urgent! Fixed broken Tabs for translated version." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:226 msgid "Light and Dark Mode Switch!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:228 msgid "Better Dark/Light mode switch in header bar." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:229 msgid "Add Russian translation." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:230 msgid "Updated Welcome screen with New Window command." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:231 msgid "Code cleanup." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:237 msgid "Official Juno release!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:239 msgid "Missing filter name on SQLite File Dialog." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:245 msgid "We got Search!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:247 msgid "Search table names in sidebar." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:248 msgid "Fixes issue in connecting directly on a non saved connection." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:249 msgid "Updated Lithuanian translation." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:256 msgid "Improved Password Security." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:258 msgid "Safely store passwords in LibSecret." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:259 msgid "Auto upgrade on startup to remove passwords from GSettings." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:260 msgid "" "Fixes issues with identical table names from other database in the same " "connection." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:261 msgid "Alphabetically ordered tables." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:262 msgid "Improvements in showing MySql/MariaDB Table Structure." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:263 msgid "Many more bugs for you to discover." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:269 #, fuzzy msgid "New Icon and Import/Export Library." msgstr "Impossible d'importer la bibliothèque " #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:271 msgid "Fancy new icon." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:272 #, fuzzy msgid "Import and Export connections library." msgstr "Importer des connexions" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:273 msgid "Fixed random crash when opening and closing multiple connections." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:274 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:280 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:292 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:315 msgid "Bug fixes and improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:282 msgid "Fixed PostgreSQL Schema show options." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:283 msgid "" "Fixed crash on new connection dialog when opening the connection before " "saving." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:289 msgid "Little side dish update." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:291 msgid "Fixed save window state on close." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:298 msgid "Alternate coloured rows!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:300 msgid "Manually reload Content, Structure, and Relations." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:301 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:312 #, fuzzy msgid "Show Table schema, content, and constraint relationships." msgstr "Voir la structure, le contenu et les relations des tables" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:302 msgid "Properly handle compound queries." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:303 msgid "Fix PostgreSQL table switch." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:309 msgid "Complete rewrite of the entire code base!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:311 msgid "Handle multiple Windows/Instances and multiple open connections." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:313 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:325 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:337 msgid "Quicker response on big select queries" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:314 msgid "Better error handling." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:321 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:333 msgid "Better error handling, less crashes!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:323 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:335 msgid "The app doesn't crash when dealing with big values" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:324 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:336 msgid "Handling errors related to columns" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:326 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:338 msgid "Some small clean up" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:327 msgid "Fixes issue with SQL Lite encrypted path" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:344 msgid "New Icon, Better error messages!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:346 msgid "New shiny icon" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:347 msgid "View SQL error message on error" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:348 msgid "FIX: Show proper PostgreSql Schema Table in Sidebar" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:349 msgid "Snappiest query execution ever for local databases" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:350 msgid "The usual bundle of bugs for you to discover" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:356 msgid "Summoning the power of async methods!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:358 msgid "All DataBase queries are now async methods, super fast." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:359 msgid "The UI doesn't freeze anymore during a long process" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:360 msgid "Granite SourceList to display list of tables" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:361 msgid "Tabs to switch between the Query Builder and the Table Structure" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:362 msgid "ComboBox to select table schemas from the open connection" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:363 msgid "Many more bugs and issues for you to have fun with" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:369 msgid "Bug Fixes and Improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:371 msgid "Display Table lists for SQLite and PostgreSQL" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:372 msgid "Refresh Table List view if tables change" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:373 msgid "Removed unused GSettings" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:379 msgid "" "This is so good you won't believe it. New Library UI, Schema Table, Custom " "Port, and more" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:381 msgid "" "A brand new Library View directly in your home screen, super tight and " "organized" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:382 msgid "Custom Port field for those snazzy geeks who don't just use 3306" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:383 msgid "A shiny new Sidebar View to list all your DataBase Tables" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:384 msgid "Code cleanup and speed improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:385 msgid "Usual abundance of bugs and issues for you to have fun with!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:391 msgid "Major Update: Releasing a sweet table to view Query Results!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:393 msgid "Did I say we got a sweet table to view query results?" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:394 msgid "New shortcut (ctrl+enter) to execute query" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:395 msgid "Solved bug while connecting to DB directly from the Connection Dialog" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:396 msgid "UI Improvements to Connection Dialog" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:397 msgid "Added Spanish and Lithuanian translations" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:403 msgid "UI fixes" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:405 msgid "Visual improvements to the library view" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:411 msgid "Initial Release" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:413 msgid "Store your Database connections" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:414 #, fuzzy msgid "Quickly connect to a Local or Remote Database" msgstr "Connectez-vous à une base de données locale ou distante." #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:415 msgid "Write SQL queries in the built-in code editor" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:437 msgid "Alessandro Castellani" msgstr "Alessandro Castellani" sequeler-0.8.0/po/extra/lt.po000066400000000000000000000546071367531117400161100ustar00rootroot00000000000000# Lithuanian translations for extra package. # Copyright (C) 2020 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Moo, 2020. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-11 12:37+0200\n" "PO-Revision-Date: 2020-04-11 12:12+0200\n" "Last-Translator: Moo\n" "Language-Team: none\n" "Language: lt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" "%100<10 || n%100>=20) ? 1 : 2);\n" #: data/com.github.alecaddd.sequeler.desktop.in.in:3 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:7 msgid "Sequeler" msgstr "Sequeler" #: data/com.github.alecaddd.sequeler.desktop.in.in:4 msgid "Sequeler App" msgstr "Sequeler programa" #: data/com.github.alecaddd.sequeler.desktop.in.in:5 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:8 msgid "Friendly SQL Client" msgstr "DraugiÅ¡ka SQL kliento programa" #: data/com.github.alecaddd.sequeler.desktop.in.in:9 msgid "@icon@" msgstr "@icon@" #: data/com.github.alecaddd.sequeler.desktop.in.in:12 msgid "SQL;MySql;Database;MariaDB;S3;PostgreSQL;" msgstr "SQL;MySql;Database;MariaDB;S3;PostgreSQL;" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:10 msgid "Easily connect to your local or remote database" msgstr "" "Lengvai prisijunkite prie bet kurios vietinÄ—s ar nuotolinÄ—s duomenų bazÄ—s" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:13 #, fuzzy msgid "" "Store your Database Connections in the library, connect over SSH tunnel, " "type and execute SQL commands directly in the app, and do everything you " "need to do without the necessity of opening the terminal." msgstr "" "Laikykite savo duomenų bazių ryÅ¡ius įtaisytoje bibliotekoje, tiesiogiai " "programoje raÅ¡ykite ir vykdykite SQL komandas ir atlikite viskÄ…, kÄ… reikia " "be bÅ«tinybÄ—s atverti terminalÄ…." #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:16 msgid "Supported Databases:" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:20 msgid "SQLite" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:21 msgid "MySQL" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:22 msgid "MariaDB" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:23 msgid "PostgreSQL" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:25 msgid "Features Include:" msgstr "YpatybÄ—s:" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:29 msgid "Test Connections before saving them" msgstr "PrieÅ¡ įraÅ¡ant ryÅ¡ius, juos iÅ¡bandyti" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:30 msgid "View Table structure, content, and relations" msgstr "Rodyti lentelÄ—s struktÅ«rÄ…, turinį ir sÄ…sajos ryÅ¡ius" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:31 msgid "Write multiple custom SQL Queries" msgstr "RaÅ¡yti keletÄ… tinkintų SQL užklausų" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:32 msgid "Switch between light and dark mode" msgstr "Perjungti tarp Å¡viesios ir tamsios veiksenos" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:33 #, fuzzy msgid "" "Handy keyboard shortcuts to quit (ctrl+q), create new connection (ctrl+shift" "+n), open a new window (ctrl+n)" msgstr "" "PatogÅ«s klaviatÅ«ros susiejimai, norint iÅ¡eiti (ctrl (vald)+q), sukurti naujÄ… " "ryšį (ctrl (vald)+shift (lyg2)+n), keli egzemplioriai (ctrl (vald)+n)" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:42 msgid "Query Tab Bonanza!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:44 msgid "Fix ORDER BY in PostgreSQL Relationship view." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:45 msgid "Improve MySQL structure view." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:46 msgid "Drop Granite.Settings in favor of GLib.Settings." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:47 msgid "Implement Granite.Notebook on the Query tab." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:48 msgid "Show query error messages inline." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:54 msgid "New features and improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:56 #, fuzzy msgid "You can now duplicate connections." msgstr "Bendras įraÅ¡ytų ryÅ¡ių skaiÄius." #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:57 msgid "" "Sorting columns now works as expected by actually running the ORDER BY query." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:58 msgid "" "Quickly jump to a specific result page with the handy dandy pagination " "popover." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:59 msgid "Show Comment Column inside table structure view." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:65 msgid "The 2020 release!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:67 #, fuzzy msgid "Manually reorder saved connection." msgstr "Bendras įraÅ¡ytų ryÅ¡ių skaiÄius." #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:68 msgid "Allow selecting a custom SSH public key." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:69 msgid "Fix SSH tunnel crashes." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:75 msgid "Raw Query Improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:77 msgid "Strip comments from SQL raw queries." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:78 msgid "Better handle complex queries on multiple lines." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:79 msgid "Speed up query rendering." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:85 msgid "Sweet Query Tab Improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:87 msgid "Edit font size of the Query Tab." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:88 msgid "Edit background style of the Query Tab." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:89 msgid "Save and remember the Query Tab size." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:95 msgid "PostgreSQL Fixes" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:97 msgid "Fixed PostgreSQL relationship table." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:98 msgid "Fixed wrong response message when handling non select queries." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:104 msgid "Bite-Size fixes" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:106 msgid "Removed unused libfixposix." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:107 msgid "Fixed pagination issue when clicking too fast while fetching big data." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:113 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:124 msgid "Bug fixes and improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:115 msgid "Rewritten pagination to use LIMIT and OFFSET." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:116 msgid "Faster pagination and content viewing for big data." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:117 msgid "Show records count in table's list." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:118 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:151 msgid "Bug fixes and other improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:126 msgid "Properly handle EXPLAIN SQL statement." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:127 msgid "Properly handle querying capitlized PostgreSQL tables." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:128 msgid "Improved async methods for internal views." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:129 msgid "Updated translations." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:135 msgid "Critical bug fix!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:137 msgid "CRITICAL: Fixes missing GSettings Schema, restore lost connections." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:138 msgid "Other small bug fixes and improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:144 msgid "Implemented SSH tunneling" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:146 msgid "" "WARNING: This release packs many updates and something could break. Please, " "backup your connections." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:147 #, fuzzy msgid "Connect via SSH to a remote Database." msgstr "Prisijunkite prie bet kurios vietinÄ—s ar nuotolinÄ—s duomenų bazÄ—s." #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:148 msgid "Major code refactor to handle UI updates via async methods." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:149 msgid "" "Use Stack container to show a loading Spinner during fetch or data " "processing methods." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:150 msgid "" "Major performance improvements to the table search and dropdown schema " "switcher." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:157 msgid "Fancy New Icon!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:159 msgid "New fancy Icon." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:160 msgid "Use GtkNativeDialog." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:161 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:171 msgid "Bug fixes and Improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:167 msgid "Open SQLite files" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:169 msgid "Open SQLite files directly in Sequeler." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:170 msgid "Right click to copy data inside a column." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:177 msgid "UI Fixes and Performance Improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:179 msgid "UI fix for logout button." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:180 msgid "View shortcuts on preferences dropdown." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:181 msgid "Performance Improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:182 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:250 msgid "Italian translation." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:188 #, fuzzy msgid "Export all the things!" msgstr "Eksportuoti kaip tekstÄ…" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:190 msgid "Export results from Query Tab." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:191 msgid "Export in CSV or Plain Text format." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:192 msgid "Sort Columns order everywhere." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:193 msgid "Brazilian translation." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:199 msgid "Here comes the power of Pagination!!!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:201 #, fuzzy msgid "Paginate results in the Content tab." msgstr "Daugiausiai turinio kortelÄ—je rodoma eiluÄių." #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:202 msgid "Query messages UI improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:203 msgid "Relations table bug fixes." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:209 msgid "We got Multi SQL Query support." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:211 #, fuzzy msgid "Ability to handle multiple SQL queries." msgstr "RaÅ¡yti keletÄ… tinkintų SQL užklausų" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:212 msgid "Execute the currently highlighted query." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:213 msgid "Improved Library Popover UI." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:214 msgid "Use native GTK+ CSS attributes for better Light/Dark mode." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:215 msgid "Random UI improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:221 msgid "Urgent! Fixed broken Tabs for translated version." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:226 msgid "Light and Dark Mode Switch!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:228 msgid "Better Dark/Light mode switch in header bar." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:229 msgid "Add Russian translation." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:230 msgid "Updated Welcome screen with New Window command." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:231 msgid "Code cleanup." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:237 msgid "Official Juno release!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:239 msgid "Missing filter name on SQLite File Dialog." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:245 msgid "We got Search!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:247 msgid "Search table names in sidebar." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:248 msgid "Fixes issue in connecting directly on a non saved connection." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:249 msgid "Updated Lithuanian translation." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:256 msgid "Improved Password Security." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:258 msgid "Safely store passwords in LibSecret." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:259 msgid "Auto upgrade on startup to remove passwords from GSettings." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:260 msgid "" "Fixes issues with identical table names from other database in the same " "connection." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:261 msgid "Alphabetically ordered tables." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:262 msgid "Improvements in showing MySql/MariaDB Table Structure." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:263 msgid "Many more bugs for you to discover." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:269 #, fuzzy msgid "New Icon and Import/Export Library." msgstr "Nepavyko importuoti bibliotekos " #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:271 msgid "Fancy new icon." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:272 #, fuzzy msgid "Import and Export connections library." msgstr "Importuoti ryÅ¡ius" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:273 msgid "Fixed random crash when opening and closing multiple connections." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:274 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:280 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:292 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:315 msgid "Bug fixes and improvements." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:282 msgid "Fixed PostgreSQL Schema show options." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:283 msgid "" "Fixed crash on new connection dialog when opening the connection before " "saving." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:289 msgid "Little side dish update." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:291 msgid "Fixed save window state on close." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:298 msgid "Alternate coloured rows!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:300 msgid "Manually reload Content, Structure, and Relations." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:301 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:312 #, fuzzy msgid "Show Table schema, content, and constraint relationships." msgstr "Rodyti lentelÄ—s struktÅ«rÄ…, turinį ir sÄ…sajos ryÅ¡ius" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:302 msgid "Properly handle compound queries." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:303 msgid "Fix PostgreSQL table switch." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:309 msgid "Complete rewrite of the entire code base!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:311 msgid "Handle multiple Windows/Instances and multiple open connections." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:313 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:325 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:337 msgid "Quicker response on big select queries" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:314 msgid "Better error handling." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:321 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:333 msgid "Better error handling, less crashes!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:323 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:335 msgid "The app doesn't crash when dealing with big values" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:324 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:336 msgid "Handling errors related to columns" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:326 #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:338 msgid "Some small clean up" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:327 msgid "Fixes issue with SQL Lite encrypted path" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:344 msgid "New Icon, Better error messages!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:346 msgid "New shiny icon" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:347 msgid "View SQL error message on error" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:348 msgid "FIX: Show proper PostgreSql Schema Table in Sidebar" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:349 msgid "Snappiest query execution ever for local databases" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:350 msgid "The usual bundle of bugs for you to discover" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:356 msgid "Summoning the power of async methods!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:358 msgid "All DataBase queries are now async methods, super fast." msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:359 msgid "The UI doesn't freeze anymore during a long process" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:360 msgid "Granite SourceList to display list of tables" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:361 msgid "Tabs to switch between the Query Builder and the Table Structure" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:362 msgid "ComboBox to select table schemas from the open connection" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:363 msgid "Many more bugs and issues for you to have fun with" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:369 msgid "Bug Fixes and Improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:371 msgid "Display Table lists for SQLite and PostgreSQL" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:372 msgid "Refresh Table List view if tables change" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:373 msgid "Removed unused GSettings" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:379 msgid "" "This is so good you won't believe it. New Library UI, Schema Table, Custom " "Port, and more" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:381 msgid "" "A brand new Library View directly in your home screen, super tight and " "organized" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:382 msgid "Custom Port field for those snazzy geeks who don't just use 3306" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:383 msgid "A shiny new Sidebar View to list all your DataBase Tables" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:384 msgid "Code cleanup and speed improvements" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:385 msgid "Usual abundance of bugs and issues for you to have fun with!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:391 msgid "Major Update: Releasing a sweet table to view Query Results!" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:393 msgid "Did I say we got a sweet table to view query results?" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:394 msgid "New shortcut (ctrl+enter) to execute query" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:395 msgid "Solved bug while connecting to DB directly from the Connection Dialog" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:396 msgid "UI Improvements to Connection Dialog" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:397 msgid "Added Spanish and Lithuanian translations" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:403 msgid "UI fixes" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:405 msgid "Visual improvements to the library view" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:411 msgid "Initial Release" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:413 msgid "Store your Database connections" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:414 #, fuzzy msgid "Quickly connect to a Local or Remote Database" msgstr "Prisijunkite prie bet kurios vietinÄ—s ar nuotolinÄ—s duomenų bazÄ—s." #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:415 msgid "Write SQL queries in the built-in code editor" msgstr "" #: data/com.github.alecaddd.sequeler.appdata.xml.in.in:437 msgid "Alessandro Castellani" msgstr "Alessandro Castellani" sequeler-0.8.0/po/extra/meson.build000066400000000000000000000002101367531117400172500ustar00rootroot00000000000000i18n.gettext('extra', args: [ '--directory=' + meson.source_root(), '--from-code=UTF-8' ], install: false ) sequeler-0.8.0/po/fr.po000066400000000000000000000366311367531117400147520ustar00rootroot00000000000000# French translations for com.github.alecaddd.sequeler package. # Copyright (C) 2020 THE com.github.alecaddd.sequeler'S COPYRIGHT HOLDER # This file is distributed under the same license as the com.github.alecaddd.sequeler package. # NathanBnm, 2020. # msgid "" msgstr "" "Project-Id-Version: com.github.alecaddd.sequeler\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-11 12:37+0200\n" "PO-Revision-Date: 2020-06-22 03:41+0000\n" "Last-Translator: J. Lavoie \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 4.2-dev\n" #: src/Application.vala:62 msgid "Directories are not supported" msgstr "Les dossiers ne sont pas pris en charge" #: src/Application.vala:68 msgid "Don't know what to do" msgstr "Qu'est-ce qu'il s'est passé ?" #: src/Application.vala:80 msgid "Something completely unexpected happened" msgstr "Quelque chose de complètement inattendu est survenu" #: src/Layouts/HeaderBar.vala:46 src/Layouts/HeaderBar.vala:53 msgid "Logout" msgstr "Déconnexion" #: src/Layouts/HeaderBar.vala:56 msgid "Light background" msgstr "Thème clair" #: src/Layouts/HeaderBar.vala:57 msgid "Dark background" msgstr "Thème sombre" #: src/Layouts/HeaderBar.vala:68 src/Layouts/Welcome.vala:39 msgid "New Window" msgstr "Nouvelle fenêtre" #: src/Layouts/HeaderBar.vala:71 src/Widgets/ConnectionDialog.vala:130 #: src/Widgets/ConnectionDialog.vala:165 msgid "New Connection" msgstr "Nouvelle connexion" #: src/Layouts/HeaderBar.vala:74 msgid "Quit" msgstr "Quitter" #: src/Layouts/HeaderBar.vala:94 msgid "Menu" msgstr "Menu" #: src/Layouts/Main.vala:77 #, c-format msgid "Connected to %s" msgstr "Connecté à %s" #: src/Layouts/Library.vala:65 msgid "SAVED CONNECTIONS" msgstr "CONNEXIONS SAUVEGARDÉES" #: src/Layouts/Library.vala:74 msgid "Delete All" msgstr "Tout supprimer" #: src/Layouts/Library.vala:81 msgid "Reload Library" msgstr "Recharger la bibliothèque" #: src/Layouts/Library.vala:84 msgid "Export Library" msgstr "Exporter la bibliothèque" #: src/Layouts/Library.vala:215 src/Layouts/Library.vala:233 msgid "Are you sure you want to proceed?" msgstr "Êtes-vous sûr·e de vouloir continuer ?" #: src/Layouts/Library.vala:215 msgid "By deleting this connection you won’t be able to recover this data." msgstr "" "En supprimant cette connexion, vous ne pourrez pas récupérer ces données." #: src/Layouts/Library.vala:218 msgid "Yes, Delete!" msgstr "Oui, supprimer !" #: src/Layouts/Library.vala:233 msgid "All the data will be deleted and you won’t be able to recover it." msgstr "" "Toutes les données seront supprimées et vous ne pourrez pas les récupérer." #: src/Layouts/Library.vala:236 msgid "Yes, Delete All!" msgstr "Oui, tout supprimer !" #: src/Layouts/Library.vala:330 src/Widgets/ConnectionDialog.vala:575 #: src/Widgets/ConnectionDialog.vala:596 msgid "A username is required in order to connect!" msgstr "Un nom d'utilisateur est nécessaire pour pouvoir se connecter !" #: src/Layouts/Library.vala:404 src/Layouts/Views/Query.vala:528 msgid "Pick a file" msgstr "Choisissez un fichier" #: src/Layouts/Library.vala:407 src/Layouts/Views/Query.vala:531 msgid "_Save" msgstr "_Enregistrer" #: src/Layouts/Library.vala:408 src/Layouts/Welcome.vala:62 #: src/Layouts/Views/Query.vala:532 msgid "_Cancel" msgstr "_Annuler" #: src/Layouts/Library.vala:467 #, c-format msgid "Unable to Connect to %s" msgstr "Impossible de se connecter à %s" #: src/Layouts/Library.vala:480 msgid "Unable to Export Library " msgstr "Impossible d'exporter la bibliothèque " #: src/Layouts/Welcome.vala:28 msgid "Welcome to Sequeler" msgstr "Bienvenue dans Sequeler" #: src/Layouts/Welcome.vala:29 msgid "Connect to Any Local or Remote Database." msgstr "Connectez-vous à une base de données locale ou distante." #: src/Layouts/Welcome.vala:38 msgid "Add a New Database" msgstr "Ajouter une nouvelle base de données" #: src/Layouts/Welcome.vala:38 msgid "Connect to a Database and Save It in Your Library" msgstr "" "Connectez-vous à une base de données et enregistrez-la dans votre " "bibliothèque" #: src/Layouts/Welcome.vala:39 msgid "Open a New Sequeler Window" msgstr "Ouvrir une nouvelle fenêtre de Sequeler" #: src/Layouts/Welcome.vala:40 msgid "Import Connections" msgstr "Importer des connexions" #: src/Layouts/Welcome.vala:40 msgid "Import Previously Exported Sequeler Connections" msgstr "Importer des connexions de Sequeler précédemment exportées" #: src/Layouts/Welcome.vala:58 msgid "Select a file" msgstr "Sélectionner un fichier" #: src/Layouts/Welcome.vala:61 msgid "_Open" msgstr "_Ouvrir" #: src/Layouts/Welcome.vala:107 msgid "Unable to Import Library " msgstr "Impossible d'importer la bibliothèque " #: src/Layouts/DataBaseSchema.vala:66 src/Layouts/DataBaseSchema.vala:167 msgid "- Select Database -" msgstr "- Sélectionner une base de données -" #: src/Layouts/DataBaseSchema.vala:87 msgid "Search Tables" msgstr "Rechercher des tables" #: src/Layouts/DataBaseSchema.vala:98 msgid "Search Tables…" msgstr "Rechercher des tables…" #: src/Layouts/DataBaseSchema.vala:120 msgid "Reload Tables" msgstr "Recharger les tables" #: src/Layouts/DataBaseSchema.vala:125 msgid "Add Table" msgstr "Ajouter une table" #: src/Layouts/DataBaseSchema.vala:289 msgid "TABLES" msgstr "TABLES" #: src/Layouts/DataBaseView.vala:49 msgid "Structure" msgstr "Structure" #: src/Layouts/DataBaseView.vala:50 msgid "Content" msgstr "Contenu" #: src/Layouts/DataBaseView.vala:51 msgid "Relations" msgstr "Relations" #: src/Layouts/DataBaseView.vala:52 src/Layouts/DataBaseView.vala:229 #: src/Layouts/DataBaseView.vala:253 msgid "Query" msgstr "Requête" #: src/Layouts/DataBaseView.vala:101 msgid "Zoom Out" msgstr "Zoom arrière" #: src/Layouts/DataBaseView.vala:107 msgid "Zoom 1:1" msgstr "Zoom 1:1" #: src/Layouts/DataBaseView.vala:111 msgid "Zoom In" msgstr "Zoom avant" #: src/Layouts/DataBaseView.vala:124 msgid "High Contrast" msgstr "Contraste élevé" #: src/Layouts/DataBaseView.vala:132 msgid "Solarized Light" msgstr "Solarisé clair" #: src/Layouts/DataBaseView.vala:140 msgid "Solarized Dark" msgstr "Solarisé sombre" #: src/Layouts/DataBaseView.vala:163 msgid "Change Text Style" msgstr "Modifier l'apparence du texte" #: src/Layouts/DataBaseView.vala:222 msgid "Create a new Query Tab" msgstr "Créer un nouvel onglet de requête" #: src/Layouts/DataBaseView.vala:240 #, c-format msgid "Query %i" msgstr "Requête %i" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select Table" msgstr "Sélectionner une table" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select a table from the left sidebar to activate this view." msgstr "" "Sélectionnez une table dans la barre latérale de gauche pour activer cette " "vue." #: src/Layouts/Views/Structure.vala:107 src/Layouts/Views/Structure.vala:145 #: src/Layouts/Views/Content.vala:179 src/Layouts/Views/Content.vala:218 #: src/Layouts/Views/Relations.vala:106 src/Layouts/Views/Relations.vala:144 #: src/Layouts/Views/Query.vala:323 msgid "No Results Available" msgstr "Aucun résultat disponible" #: src/Layouts/Views/Structure.vala:118 src/Layouts/Views/Content.vala:191 #: src/Layouts/Views/Relations.vala:117 msgid "Reload Results" msgstr "Recharger les résultats" #: src/Layouts/Views/Structure.vala:197 msgid " Fields" msgstr " Champs" #: src/Layouts/Views/Content.vala:121 msgid "Previous Page" msgstr "Page précédente" #: src/Layouts/Views/Content.vala:126 msgid "Next Page" msgstr "Page suivante" #: src/Layouts/Views/Content.vala:131 #, c-format msgid "%d Pages" msgstr "%d pages" #: src/Layouts/Views/Content.vala:134 msgid "Jump to page…" msgstr "Aller à la page…" #: src/Layouts/Views/Content.vala:165 msgid "1 Page" msgstr "1 page" #: src/Layouts/Views/Content.vala:171 #, c-format msgid "%d of %d Pages" msgstr "%d pages sur %d" #: src/Layouts/Views/Content.vala:275 #, c-format msgid "%d Entries" msgstr "%d entrées" #: src/Layouts/Views/Relations.vala:197 msgid " Constraints" msgstr " Contraintes" #: src/Layouts/Views/Query.vala:279 msgid "Running Query…" msgstr "Exécution de la requête…" #: src/Layouts/Views/Query.vala:295 src/Layouts/Views/Query.vala:304 msgid "Run Query" msgstr "Exécuter la requête" #: src/Layouts/Views/Query.vala:356 msgid "Export Results" msgstr "Exporter les résultats" #: src/Layouts/Views/Query.vala:369 msgid "Export as CSV" msgstr "Exporter au format CSV" #: src/Layouts/Views/Query.vala:377 msgid "Export as Text" msgstr "Exporter au format Texte" #: src/Layouts/Views/Query.vala:436 src/Layouts/Views/Query.vala:482 msgid "Unable to process Query!" msgstr "Impossible de traiter la requête !" #: src/Layouts/Views/Query.vala:457 #, c-format msgid "%d Total Results" msgstr "%d résultats au total" #: src/Layouts/Views/Query.vala:492 #, c-format msgid "Query Successfully Executed! Rows Affected: %s" msgstr "Requête exécutée avec succès ! Lignes affectées : %s" #: src/Layouts/Views/Query.vala:495 msgid "Query Executed!" msgstr "Requête exécutée !" #: src/Partials/LibraryItem.vala:107 src/Widgets/ConnectionDialog.vala:431 msgid "Connect" msgstr "Se connecter" #: src/Partials/LibraryItem.vala:110 msgid "Edit Connection" msgstr "Modifier la connexion" #: src/Partials/LibraryItem.vala:113 msgid "Duplicate Connection" msgstr "Dupliquer la connexion" #: src/Partials/LibraryItem.vala:116 msgid "Delete Connection" msgstr "Supprimer la connexion" #: src/Partials/LibraryItem.vala:126 msgid "Options" msgstr "Options" #: src/Partials/TreeBuilder.vala:131 msgid "Error" msgstr "Erreur" #: src/Partials/TreeBuilder.vala:131 msgid "on Column" msgstr "sur la colonne" #: src/Partials/TreeBuilder.vala:172 #, c-format msgid "Copy %s" msgstr "Copier %s" #: src/Services/Settings.vala:106 #, c-format msgid "%s (copy)" msgstr "%s (copie)" #: src/Services/ConnectionManager.vala:193 #, c-format msgid "Libssh2 initialization failed (%d)" msgstr "L'initialisation de libssh2 à échoué (%d)" #: src/Services/ConnectionManager.vala:202 msgid "Failed to open socket" msgstr "Échec de l'ouverture du socket" #: src/Services/ConnectionManager.vala:211 msgid "Failed to connect!" msgstr "Échec de la connexion !" #: src/Services/ConnectionManager.vala:223 #, c-format msgid "Error when starting up SSH session: %d" msgstr "Erreur lors du lancement de la session SSH : %d" #: src/Services/ConnectionManager.vala:242 msgid "Authentication by password failed!" msgstr "Échec de l'authentification par mot de passe !" #: src/Services/ConnectionManager.vala:252 msgid "Authentication by public key failed!" msgstr "Échec de l'authentification par clé publique !" #: src/Services/ConnectionManager.vala:259 msgid "No supported authentication methods found!" msgstr "Aucune méthode d'authentification pris en charge trouvée !" #: src/Services/ConnectionManager.vala:266 msgid "Failed to open listen socket" msgstr "Échec de l'ouverture de la liste des sockets" #: src/Services/ConnectionManager.vala:281 msgid "Failed to bind. Your Database Port may be wrong!" msgstr "Échec de la liaison. Votre port de connexion peut être incorrect !" #: src/Services/ConnectionManager.vala:287 msgid "Failed to listen!" msgstr "Échec de la récupération !" #: src/Services/ConnectionManager.vala:314 msgid "Failed to accept remote connection!" msgstr "Échec d'autorisation de la connexion distante !" #: src/Services/ConnectionManager.vala:323 msgid "" "Could not open the direct-tcpip channel! (Note that this can be a problem at " "the server! Please review the server logs.)" msgstr "" "Impossible d'ouvrir le canal direct-tcpip ! (Notez que cela peut être un " "problème lié au serveur ! Veuillez consulter les journaux du serveur.)" #: src/Services/ConnectionManager.vala:566 msgid "Error!" msgstr "Erreur !" #: src/Widgets/ConnectionDialog.vala:33 msgid "Missing SSH Key file!" msgstr "Fichier de clé SSH manquant !" #: src/Widgets/ConnectionDialog.vala:34 msgid "Missing SSH public key!" msgstr "Fichier de clé SSH publique manquant !" #: src/Widgets/ConnectionDialog.vala:89 src/Widgets/ConnectionDialog.vala:355 msgid "Connection" msgstr "Connexion" #: src/Widgets/ConnectionDialog.vala:141 msgid "Select connection color" msgstr "Sélectionner la couleur de la connexion" #: src/Widgets/ConnectionDialog.vala:164 msgid "Connection Name:" msgstr "Nom de la connexion :" #: src/Widgets/ConnectionDialog.vala:165 msgid "Connection's name" msgstr "Nom de la connexion" #: src/Widgets/ConnectionDialog.vala:172 msgid "Database Type:" msgstr "Type de base de données :" #: src/Widgets/ConnectionDialog.vala:194 msgid "Host:" msgstr "Hôte :" #: src/Widgets/ConnectionDialog.vala:200 msgid "Database Name:" msgstr "Nom de la base de données :" #: src/Widgets/ConnectionDialog.vala:207 msgid "Username:" msgstr "Nom d'utilisateur :" #: src/Widgets/ConnectionDialog.vala:213 msgid "Password:" msgstr "Mot de passe :" #: src/Widgets/ConnectionDialog.vala:217 src/Widgets/ConnectionDialog.vala:227 #: src/Widgets/ConnectionDialog.vala:285 src/Widgets/ConnectionDialog.vala:295 msgid "Show password" msgstr "Afficher le mot de passe" #: src/Widgets/ConnectionDialog.vala:224 src/Widgets/ConnectionDialog.vala:292 msgid "Hide password" msgstr "Masquer le mot de passe" #: src/Widgets/ConnectionDialog.vala:234 msgid "Port:" msgstr "Port :" #: src/Widgets/ConnectionDialog.vala:240 msgid "File Path:" msgstr "Chemin du fichier :" #: src/Widgets/ConnectionDialog.vala:241 msgid "Select Your SQLite File…" msgstr "Sélectionnez votre fichier SQLite…" #: src/Widgets/ConnectionDialog.vala:261 msgid "Connect via SSH Tunnel:" msgstr "Se connecter via un tunnel SSH :" #: src/Widgets/ConnectionDialog.vala:271 msgid "SSH Host:" msgstr "Hôte SSH :" #: src/Widgets/ConnectionDialog.vala:276 msgid "SSH Username:" msgstr "Nom d'utilisateur SSH :" #: src/Widgets/ConnectionDialog.vala:281 msgid "SSH Password:" msgstr "Mot de passe SSH :" #: src/Widgets/ConnectionDialog.vala:301 msgid "SSH Port:" msgstr "Port SSH :" #: src/Widgets/ConnectionDialog.vala:302 msgid "Optional" msgstr "Facultatif" #: src/Widgets/ConnectionDialog.vala:306 msgid "SSH Identity" msgstr "Identité SSH" #: src/Widgets/ConnectionDialog.vala:308 msgid "Select Your Identity File…" msgstr "Sélectionnez votre fichier d'identité…" #: src/Widgets/ConnectionDialog.vala:324 msgid "Generate SSH Key" msgstr "Générer une clé SSH" #: src/Widgets/ConnectionDialog.vala:356 msgid "SSH Tunnel" msgstr "Tunnel SSH" #: src/Widgets/ConnectionDialog.vala:426 msgid "Close" msgstr "Fermer" #: src/Widgets/ConnectionDialog.vala:427 msgid "Save Connection" msgstr "Enregistrer la connexion" #: src/Widgets/ConnectionDialog.vala:429 msgid "Test Connection" msgstr "Tester la connexion" #: src/Widgets/ConnectionDialog.vala:620 msgid "Opening SSH Tunnel…" msgstr "Ouverture du tunnel SSH…" #: src/Widgets/ConnectionDialog.vala:650 msgid "Testing Connection…" msgstr "Test de connexion…" #: src/Widgets/ConnectionDialog.vala:661 msgid "Successfully Connected!" msgstr "Connexion établie !" #: src/Widgets/ConnectionDialog.vala:679 msgid "Saving Connection…" msgstr "Enregistrement de la connexion…" #: src/Widgets/ConnectionDialog.vala:684 msgid "Connection Saved!" msgstr "Connexion enregistrée !" #: src/Widgets/ConnectionDialog.vala:692 msgid "Connecting…" msgstr "Connexion en cours…" sequeler-0.8.0/po/hi.po000066400000000000000000000454601367531117400147430ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the com.github.alecaddd.sequeler package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: com.github.alecaddd.sequeler\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-11 12:37+0200\n" "PO-Revision-Date: 2020-04-27 09:11+0000\n" "Last-Translator: abhishek maurya \n" "Language-Team: Hindi \n" "Language: hi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 4.0.2-dev\n" #: src/Application.vala:62 msgid "Directories are not supported" msgstr "पथ(सà¥à¤¥à¤¾à¤¨) समरà¥à¤¥à¤¿à¤¤ नहीं है" #: src/Application.vala:68 msgid "Don't know what to do" msgstr "पता नहीं कà¥à¤¯à¤¾ करना है" #: src/Application.vala:80 msgid "Something completely unexpected happened" msgstr "कà¥à¤› पूरà¥à¤£à¤¤à¤¯à¤¾ अपà¥à¤°à¤¤à¥à¤¯à¤¾à¤¶à¤¿à¤¤ हà¥à¤† है" #: src/Layouts/HeaderBar.vala:46 src/Layouts/HeaderBar.vala:53 msgid "Logout" msgstr "पà¥à¤°à¤¸à¥à¤¥à¤¾à¤¨ करे" #: src/Layouts/HeaderBar.vala:56 msgid "Light background" msgstr "लाइट बैकगà¥à¤°à¤¾à¤‰à¤‚ड" #: src/Layouts/HeaderBar.vala:57 msgid "Dark background" msgstr "डारà¥à¤• बैकगà¥à¤°à¤¾à¤‰à¤‚ड" #: src/Layouts/HeaderBar.vala:68 src/Layouts/Welcome.vala:39 msgid "New Window" msgstr "नया विंडो" #: src/Layouts/HeaderBar.vala:71 src/Widgets/ConnectionDialog.vala:130 #: src/Widgets/ConnectionDialog.vala:165 msgid "New Connection" msgstr "नया कनेकà¥à¤¶à¤¨" #: src/Layouts/HeaderBar.vala:74 msgid "Quit" msgstr "छोड़े" #: src/Layouts/HeaderBar.vala:94 msgid "Menu" msgstr "मेनà¥à¤¯à¥‚" #: src/Layouts/Main.vala:77 #, c-format msgid "Connected to %s" msgstr "%s से संपरà¥à¤• मे" #: src/Layouts/Library.vala:65 msgid "SAVED CONNECTIONS" msgstr "सà¥à¤°à¤•à¥à¤·à¤¿à¤¤ कनेकà¥à¤¶à¤‚स" #: src/Layouts/Library.vala:74 msgid "Delete All" msgstr "सभी हटाà¤" #: src/Layouts/Library.vala:81 msgid "Reload Library" msgstr "लाइबà¥à¤°à¥‡à¤°à¥€ पà¥à¤¨à¤ƒ लोड करें" #: src/Layouts/Library.vala:84 msgid "Export Library" msgstr "लाइबà¥à¤°à¥‡à¤°à¥€ निरà¥à¤¯à¤¾à¤¤ करे" #: src/Layouts/Library.vala:215 src/Layouts/Library.vala:233 msgid "Are you sure you want to proceed?" msgstr "कà¥à¤¯à¤¾ आप सà¥à¤¨à¤¿à¤¶à¥à¤šà¤¿à¤¤ रूप से आगे बढ़ना चाहते हैं?" #: src/Layouts/Library.vala:215 msgid "By deleting this connection you won’t be able to recover this data." msgstr "इस कनेकà¥à¤¶à¤¨ को हटाने से आप इस डेटा को पà¥à¤¨à¤°à¥à¤ªà¥à¤°à¤¾à¤ªà¥à¤¤ नहीं कर पाà¤à¤‚गे।" #: src/Layouts/Library.vala:218 msgid "Yes, Delete!" msgstr "हाà¤, हटाà¤à¤‚!" #: src/Layouts/Library.vala:233 msgid "All the data will be deleted and you won’t be able to recover it." msgstr "" "समà¥à¤ªà¥‚रà¥à¤£ डेटा हटा दिठजाà¤à¤—ा और आप इसे पà¥à¤¨à¤°à¥à¤ªà¥à¤°à¤¾à¤ªà¥à¤¤ करने में सकà¥à¤·à¤® नहीं होंगे।" #: src/Layouts/Library.vala:236 msgid "Yes, Delete All!" msgstr "हाà¤, सभी हटाà¤à¤!" #: src/Layouts/Library.vala:330 src/Widgets/ConnectionDialog.vala:575 #: src/Widgets/ConnectionDialog.vala:596 msgid "A username is required in order to connect!" msgstr "कनेकà¥à¤Ÿ करने के लिठउपयोगकरà¥à¤¤à¤¾ नाम (username ) आवशà¥à¤¯à¤• है!" #: src/Layouts/Library.vala:404 src/Layouts/Views/Query.vala:528 msgid "Pick a file" msgstr "à¤à¤• फ़ाइल चà¥à¤¨à¥‡à¤‚" #: src/Layouts/Library.vala:407 src/Layouts/Views/Query.vala:531 msgid "_Save" msgstr "_सहेजें" #: src/Layouts/Library.vala:408 src/Layouts/Welcome.vala:62 #: src/Layouts/Views/Query.vala:532 msgid "_Cancel" msgstr "_रदà¥à¤¦ करे" #: src/Layouts/Library.vala:467 #, c-format msgid "Unable to Connect to %s" msgstr "%s संपरà¥à¤• करने मे असमरà¥à¤¥" #: src/Layouts/Library.vala:480 msgid "Unable to Export Library " msgstr "लाइबà¥à¤°à¥‡à¤°à¥€ निरà¥à¤¯à¤¾à¤¤ करने में असमरà¥à¤¥ " #: src/Layouts/Welcome.vala:28 msgid "Welcome to Sequeler" msgstr "Sequeler में आपका सà¥à¤µà¤¾à¤—त है" #: src/Layouts/Welcome.vala:29 msgid "Connect to Any Local or Remote Database." msgstr "किसी भी सà¥à¤¥à¤¾à¤¨à¥€à¤¯(local) या दूरसà¥à¤¥(remote) डेटाबेस से कनेकà¥à¤Ÿ करे।" #: src/Layouts/Welcome.vala:38 msgid "Add a New Database" msgstr "à¤à¤• नया डेटाबेस जोड़ें" #: src/Layouts/Welcome.vala:38 msgid "Connect to a Database and Save It in Your Library" msgstr "à¤à¤• डेटाबेस से कनेकà¥à¤Ÿ करें और इसे अपनी लाइबà¥à¤°à¥‡à¤°à¥€ में सहेजें" #: src/Layouts/Welcome.vala:39 msgid "Open a New Sequeler Window" msgstr "à¤à¤• नया Sequeler विंडो खोलें" #: src/Layouts/Welcome.vala:40 msgid "Import Connections" msgstr "संपरà¥à¤• आयात करे" #: src/Layouts/Welcome.vala:40 msgid "Import Previously Exported Sequeler Connections" msgstr "पहले निरà¥à¤¯à¤¾à¤¤ किठगठSequeler संपरà¥à¤• आयात करें" #: src/Layouts/Welcome.vala:58 msgid "Select a file" msgstr "किसी फाइल का चयन करें" #: src/Layouts/Welcome.vala:61 msgid "_Open" msgstr "_खोले" #: src/Layouts/Welcome.vala:107 msgid "Unable to Import Library " msgstr "लाइबà¥à¤°à¥‡à¤°à¥€ आयात करने मे असमरà¥à¤¥ " #: src/Layouts/DataBaseSchema.vala:66 src/Layouts/DataBaseSchema.vala:167 msgid "- Select Database -" msgstr "- डेटाबेस का चयन करें -" #: src/Layouts/DataBaseSchema.vala:87 msgid "Search Tables" msgstr "तालिका खोजें" #: src/Layouts/DataBaseSchema.vala:98 msgid "Search Tables…" msgstr "तालिका खोजें…" #: src/Layouts/DataBaseSchema.vala:120 msgid "Reload Tables" msgstr "तालिका पà¥à¤¨à¤ƒ लोड करे" #: src/Layouts/DataBaseSchema.vala:125 msgid "Add Table" msgstr "तालिका जोड़े" #: src/Layouts/DataBaseSchema.vala:289 msgid "TABLES" msgstr "तालिकाà¤à¤‚" #: src/Layouts/DataBaseView.vala:49 msgid "Structure" msgstr "संरचना" #: src/Layouts/DataBaseView.vala:50 msgid "Content" msgstr "सामगà¥à¤°à¥€" #: src/Layouts/DataBaseView.vala:51 msgid "Relations" msgstr "समà¥à¤¬à¤¨à¥à¤§" #: src/Layouts/DataBaseView.vala:52 src/Layouts/DataBaseView.vala:229 #: src/Layouts/DataBaseView.vala:253 msgid "Query" msgstr "सवाल" #: src/Layouts/DataBaseView.vala:101 msgid "Zoom Out" msgstr "ज़ूम आउट" #: src/Layouts/DataBaseView.vala:107 msgid "Zoom 1:1" msgstr "ज़ूम 1: 1" #: src/Layouts/DataBaseView.vala:111 msgid "Zoom In" msgstr "ज़ूम इन" #: src/Layouts/DataBaseView.vala:124 msgid "High Contrast" msgstr "उचà¥à¤š विषमता(contrast)" #: src/Layouts/DataBaseView.vala:132 msgid "Solarized Light" msgstr "सोलराइज़à¥à¤¡ लाइट" #: src/Layouts/DataBaseView.vala:140 msgid "Solarized Dark" msgstr "सोलराइज़à¥à¤¡ डारà¥à¤•" #: src/Layouts/DataBaseView.vala:163 msgid "Change Text Style" msgstr "टेकà¥à¤¸à¥à¤Ÿ सà¥à¤Ÿà¤¾à¤‡à¤² बदलें" #: src/Layouts/DataBaseView.vala:222 msgid "Create a new Query Tab" msgstr "à¤à¤• नया कà¥à¤µà¥‡à¤°à¥€ टैब बनाà¤à¤" #: src/Layouts/DataBaseView.vala:240 #, c-format msgid "Query %i" msgstr "कà¥à¤µà¥‡à¤°à¥€ %i" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select Table" msgstr "तालिका का चयन करें" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select a table from the left sidebar to activate this view." msgstr "" "इस दृशà¥à¤¯ को सकà¥à¤°à¤¿à¤¯ करने के लिठबाईं(left) साइडबार से à¤à¤• तालिका का चयन करें।" #: src/Layouts/Views/Structure.vala:107 src/Layouts/Views/Structure.vala:145 #: src/Layouts/Views/Content.vala:179 src/Layouts/Views/Content.vala:218 #: src/Layouts/Views/Relations.vala:106 src/Layouts/Views/Relations.vala:144 #: src/Layouts/Views/Query.vala:323 msgid "No Results Available" msgstr "कोई परिणाम उपलबà¥à¤§ नहीं" #: src/Layouts/Views/Structure.vala:118 src/Layouts/Views/Content.vala:191 #: src/Layouts/Views/Relations.vala:117 msgid "Reload Results" msgstr "परिणाम पà¥à¤¨à¤ƒ लोड करें" #: src/Layouts/Views/Structure.vala:197 msgid " Fields" msgstr " खाने (फ़ीलà¥à¤¡à¥à¤¸ )" #: src/Layouts/Views/Content.vala:121 msgid "Previous Page" msgstr "पिछला पृषà¥à¤ " #: src/Layouts/Views/Content.vala:126 msgid "Next Page" msgstr "अगला पृषà¥à¤ " #: src/Layouts/Views/Content.vala:131 #, c-format msgid "%d Pages" msgstr "%d पृषà¥à¤ " #: src/Layouts/Views/Content.vala:134 msgid "Jump to page…" msgstr "पृषà¥à¤  पर जाà¤à¤‚ …" #: src/Layouts/Views/Content.vala:165 msgid "1 Page" msgstr "1 पृषà¥à¤ " #: src/Layouts/Views/Content.vala:171 #, c-format msgid "%d of %d Pages" msgstr "%d का %d पृषà¥à¤ " #: src/Layouts/Views/Content.vala:275 #, c-format msgid "%d Entries" msgstr "%d पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿà¤¿à¤¯à¤¾à¤ (entries)" #: src/Layouts/Views/Relations.vala:197 msgid " Constraints" msgstr " पà¥à¤°à¤¤à¤¿à¤¬à¤¨à¥à¤§" #: src/Layouts/Views/Query.vala:279 msgid "Running Query…" msgstr "रनिंग कà¥à¤µà¥‡à¤°à¥€ …" #: src/Layouts/Views/Query.vala:295 src/Layouts/Views/Query.vala:304 msgid "Run Query" msgstr "रन कà¥à¤µà¥‡à¤°à¥€" #: src/Layouts/Views/Query.vala:356 msgid "Export Results" msgstr "परिणामो को निरà¥à¤¯à¤¾à¤¤ करे" #: src/Layouts/Views/Query.vala:369 msgid "Export as CSV" msgstr "CSV के रूप में निरà¥à¤¯à¤¾à¤¤ करें" #: src/Layouts/Views/Query.vala:377 msgid "Export as Text" msgstr "Text के रूप में निरà¥à¤¯à¤¾à¤¤ करें" #: src/Layouts/Views/Query.vala:436 src/Layouts/Views/Query.vala:482 msgid "Unable to process Query!" msgstr "कà¥à¤µà¥‡à¤°à¥€ पà¥à¤°à¥‹à¤¸à¥‡à¤¸ करने में असमरà¥à¤¥!" #: src/Layouts/Views/Query.vala:457 #, c-format msgid "%d Total Results" msgstr "कà¥à¤² %d परिणाम" #: src/Layouts/Views/Query.vala:492 #, c-format msgid "Query Successfully Executed! Rows Affected: %s" msgstr "कà¥à¤µà¥‡à¤°à¥€ सफलतापूरà¥à¤µà¤• निषà¥à¤ªà¤¾à¤¦à¤¿à¤¤! पà¥à¤°à¤­à¤¾à¤µà¤¿à¤¤ पंकà¥à¤¤à¤¿à¤¯à¤¾à¤ : %s" #: src/Layouts/Views/Query.vala:495 msgid "Query Executed!" msgstr "कà¥à¤µà¥‡à¤°à¥€ निषà¥à¤ªà¤¾à¤¦à¤¿à¤¤!" #: src/Partials/LibraryItem.vala:107 src/Widgets/ConnectionDialog.vala:431 msgid "Connect" msgstr "जà¥à¥œà¥‡" #: src/Partials/LibraryItem.vala:110 msgid "Edit Connection" msgstr "कनेकà¥à¤¶à¤¨ संपादित करें" #: src/Partials/LibraryItem.vala:113 msgid "Duplicate Connection" msgstr "डà¥à¤ªà¥à¤²à¤¿à¤•ेट कनेकà¥à¤¶à¤¨" #: src/Partials/LibraryItem.vala:116 msgid "Delete Connection" msgstr "कनेकà¥à¤¶à¤¨ हटाà¤à¤" #: src/Partials/LibraryItem.vala:126 msgid "Options" msgstr "विकलà¥à¤ª" #: src/Partials/TreeBuilder.vala:131 msgid "Error" msgstr "तà¥à¤°à¥à¤Ÿà¤¿(error)" #: src/Partials/TreeBuilder.vala:131 msgid "on Column" msgstr "सà¥à¤¤à¤‚भ पर" #: src/Partials/TreeBuilder.vala:172 #, c-format msgid "Copy %s" msgstr "%s कॉपी करे" #: src/Services/Settings.vala:106 #, c-format msgid "%s (copy)" msgstr "%s (कॉपी)" #: src/Services/ConnectionManager.vala:193 #, c-format msgid "Libssh2 initialization failed (%d)" msgstr "Libssh2 पà¥à¤°à¤¾à¤°à¤‚भ विफल (%d)" #: src/Services/ConnectionManager.vala:202 msgid "Failed to open socket" msgstr "सॉकेट खोलने में विफल" #: src/Services/ConnectionManager.vala:211 msgid "Failed to connect!" msgstr "कनेकà¥à¤Ÿ करने में विफल!" #: src/Services/ConnectionManager.vala:223 #, c-format msgid "Error when starting up SSH session: %d" msgstr "SSH सेशन शà¥à¤°à¥‚ करते समय तà¥à¤°à¥à¤Ÿà¤¿(error): %d" #: src/Services/ConnectionManager.vala:242 msgid "Authentication by password failed!" msgstr "पासवरà¥à¤¡ दà¥à¤µà¤¾à¤°à¤¾ पà¥à¤°à¤®à¤¾à¤£à¥€à¤•रण विफल!" #: src/Services/ConnectionManager.vala:252 msgid "Authentication by public key failed!" msgstr "सारà¥à¤µà¤œà¤¨à¤¿à¤• कà¥à¤‚जी(public key) दà¥à¤µà¤¾à¤°à¤¾ पà¥à¤°à¤®à¤¾à¤£à¥€à¤•रण विफल!" #: src/Services/ConnectionManager.vala:259 msgid "No supported authentication methods found!" msgstr "कोई समरà¥à¤¥à¤¿à¤¤ पà¥à¤°à¤®à¤¾à¤£à¥€à¤•रण के साधन नहीं मिले!" #: src/Services/ConnectionManager.vala:266 msgid "Failed to open listen socket" msgstr "लिसेन सॉकेट को खोलने में विफल" #: src/Services/ConnectionManager.vala:281 msgid "Failed to bind. Your Database Port may be wrong!" msgstr "बाइनà¥à¤¡ करने में विफल। आपका डेटाबेस पोरà¥à¤Ÿ गलत हो सकता है!" #: src/Services/ConnectionManager.vala:287 msgid "Failed to listen!" msgstr "लिसेन असफल रहा!" #: src/Services/ConnectionManager.vala:314 msgid "Failed to accept remote connection!" msgstr "दूरसà¥à¤¥(remote) कनेकà¥à¤¶à¤¨ सà¥à¤µà¥€à¤•ार करने में विफल!" #: src/Services/ConnectionManager.vala:323 msgid "" "Could not open the direct-tcpip channel! (Note that this can be a problem at " "the server! Please review the server logs.)" msgstr "" "direct-tcpip चैनल नहीं खोल सका! (धà¥à¤¯à¤¾à¤¨ दें कि यह सरà¥à¤µà¤° की समसà¥à¤¯à¤¾ हो सकती है! " "कृपया सरà¥à¤µà¤° लॉग की समीकà¥à¤·à¤¾ करें।)" #: src/Services/ConnectionManager.vala:566 msgid "Error!" msgstr "तà¥à¤°à¥à¤Ÿà¤¿(error)!" #: src/Widgets/ConnectionDialog.vala:33 msgid "Missing SSH Key file!" msgstr "SSH कà¥à¤‚जी(key) फ़ाइल उपलबà¥à¤§ नहीं है!" #: src/Widgets/ConnectionDialog.vala:34 msgid "Missing SSH public key!" msgstr "SSH पबà¥à¤²à¤¿à¤• की(key) उपलबà¥à¤§ नहीं!" #: src/Widgets/ConnectionDialog.vala:89 src/Widgets/ConnectionDialog.vala:355 msgid "Connection" msgstr "कनेकà¥à¤¶à¤¨" #: src/Widgets/ConnectionDialog.vala:141 msgid "Select connection color" msgstr "कनेकà¥à¤¶à¤¨ का रंग चà¥à¤¨à¥‡à¤‚" #: src/Widgets/ConnectionDialog.vala:164 msgid "Connection Name:" msgstr "कनेकà¥à¤¶à¤¨ नाम:" #: src/Widgets/ConnectionDialog.vala:165 msgid "Connection's name" msgstr "कनेकà¥à¤¶à¤¨ का नाम" #: src/Widgets/ConnectionDialog.vala:172 msgid "Database Type:" msgstr "डेटाबेस पà¥à¤°à¤•ार:" #: src/Widgets/ConnectionDialog.vala:194 msgid "Host:" msgstr "होसà¥à¤Ÿ:" #: src/Widgets/ConnectionDialog.vala:200 msgid "Database Name:" msgstr "डेटाबेस का नाम:" #: src/Widgets/ConnectionDialog.vala:207 msgid "Username:" msgstr "यूजरनाम:" #: src/Widgets/ConnectionDialog.vala:213 msgid "Password:" msgstr "पासवरà¥à¤¡:" #: src/Widgets/ConnectionDialog.vala:217 src/Widgets/ConnectionDialog.vala:227 #: src/Widgets/ConnectionDialog.vala:285 src/Widgets/ConnectionDialog.vala:295 msgid "Show password" msgstr "पासवरà¥à¤¡ दिखाà¤" #: src/Widgets/ConnectionDialog.vala:224 src/Widgets/ConnectionDialog.vala:292 msgid "Hide password" msgstr "पासवरà¥à¤¡ छिपाà¤à¤‚" #: src/Widgets/ConnectionDialog.vala:234 msgid "Port:" msgstr "पोरà¥à¤Ÿ:" #: src/Widgets/ConnectionDialog.vala:240 msgid "File Path:" msgstr "फाइल पथ:" #: src/Widgets/ConnectionDialog.vala:241 msgid "Select Your SQLite File…" msgstr "अपनी SQLite फ़ाइल का चयन करें …" #: src/Widgets/ConnectionDialog.vala:261 msgid "Connect via SSH Tunnel:" msgstr "SSH टनल के माधà¥à¤¯à¤® से कनेकà¥à¤Ÿ करें:" #: src/Widgets/ConnectionDialog.vala:271 msgid "SSH Host:" msgstr "SSH होसà¥à¤Ÿ:" #: src/Widgets/ConnectionDialog.vala:276 msgid "SSH Username:" msgstr "SSH यूजरनाम:" #: src/Widgets/ConnectionDialog.vala:281 msgid "SSH Password:" msgstr "SSH पासवरà¥à¤¡:" #: src/Widgets/ConnectionDialog.vala:301 msgid "SSH Port:" msgstr "SSH पोरà¥à¤Ÿ:" #: src/Widgets/ConnectionDialog.vala:302 msgid "Optional" msgstr "वैकलà¥à¤ªà¤¿à¤•" #: src/Widgets/ConnectionDialog.vala:306 msgid "SSH Identity" msgstr "SSH आइडेंटिटी(identity)" #: src/Widgets/ConnectionDialog.vala:308 msgid "Select Your Identity File…" msgstr "अपनी पहचान(Identity) फ़ाइल चà¥à¤¨à¥‡à¤‚ …" #: src/Widgets/ConnectionDialog.vala:324 msgid "Generate SSH Key" msgstr "SSH कà¥à¤‚जी बनाà¤à¤‚" #: src/Widgets/ConnectionDialog.vala:356 msgid "SSH Tunnel" msgstr "SSH टनल" #: src/Widgets/ConnectionDialog.vala:426 msgid "Close" msgstr "बंद करे" #: src/Widgets/ConnectionDialog.vala:427 msgid "Save Connection" msgstr "कनेकà¥à¤¶à¤¨ सहेजें" #: src/Widgets/ConnectionDialog.vala:429 msgid "Test Connection" msgstr "टेसà¥à¤Ÿ कनेकà¥à¤¶à¤¨" #: src/Widgets/ConnectionDialog.vala:620 msgid "Opening SSH Tunnel…" msgstr "ओपनिंग SSH टनल…" #: src/Widgets/ConnectionDialog.vala:650 msgid "Testing Connection…" msgstr "टेसà¥à¤Ÿà¤¿à¤‚ग कनेकà¥à¤¶à¤¨â€¦" #: src/Widgets/ConnectionDialog.vala:661 msgid "Successfully Connected!" msgstr "सफलतापूरà¥à¤µà¤• कनेकà¥à¤Ÿ हà¥à¤†!" #: src/Widgets/ConnectionDialog.vala:679 msgid "Saving Connection…" msgstr "कनेकà¥à¤¶à¤¨ सहेजा जा रहा है …" #: src/Widgets/ConnectionDialog.vala:684 msgid "Connection Saved!" msgstr "कनेकà¥à¤¶à¤¨ सहेजा गया!" #: src/Widgets/ConnectionDialog.vala:692 msgid "Connecting…" msgstr "कनेकà¥à¤Ÿ किया जा रहा…" sequeler-0.8.0/po/id.po000066400000000000000000000320501367531117400147260ustar00rootroot00000000000000# Indonesian translations for com.github.alecaddd.sequeler package. # Copyright (C) 2020 THE com.github.alecaddd.sequeler'S COPYRIGHT HOLDER # This file is distributed under the same license as the com.github.alecaddd.sequeler package. # Mahyuddin , 2020. # msgid "" msgstr "" "Project-Id-Version: com.github.alecaddd.sequeler\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-11 12:37+0200\n" "PO-Revision-Date: 2020-04-11 12:12+0200\n" "Last-Translator: Mahyuddin \n" "Language-Team: none\n" "Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/Application.vala:62 msgid "Directories are not supported" msgstr "" #: src/Application.vala:68 msgid "Don't know what to do" msgstr "" #: src/Application.vala:80 msgid "Something completely unexpected happened" msgstr "" #: src/Layouts/HeaderBar.vala:46 src/Layouts/HeaderBar.vala:53 msgid "Logout" msgstr "Keluar" #: src/Layouts/HeaderBar.vala:56 msgid "Light background" msgstr "" #: src/Layouts/HeaderBar.vala:57 msgid "Dark background" msgstr "" #: src/Layouts/HeaderBar.vala:68 src/Layouts/Welcome.vala:39 msgid "New Window" msgstr "" #: src/Layouts/HeaderBar.vala:71 src/Widgets/ConnectionDialog.vala:130 #: src/Widgets/ConnectionDialog.vala:165 msgid "New Connection" msgstr "Koneksi Baru" #: src/Layouts/HeaderBar.vala:74 msgid "Quit" msgstr "" #: src/Layouts/HeaderBar.vala:94 msgid "Menu" msgstr "" #: src/Layouts/Main.vala:77 #, fuzzy, c-format msgid "Connected to %s" msgstr "Menghubungkan" #: src/Layouts/Library.vala:65 msgid "SAVED CONNECTIONS" msgstr "" #: src/Layouts/Library.vala:74 msgid "Delete All" msgstr "Hapus Semua" #: src/Layouts/Library.vala:81 #, fuzzy msgid "Reload Library" msgstr "Telusuri Pustaka" #: src/Layouts/Library.vala:84 #, fuzzy msgid "Export Library" msgstr "Telusuri Pustaka" #: src/Layouts/Library.vala:215 src/Layouts/Library.vala:233 msgid "Are you sure you want to proceed?" msgstr "" #: src/Layouts/Library.vala:215 msgid "By deleting this connection you won’t be able to recover this data." msgstr "" #: src/Layouts/Library.vala:218 msgid "Yes, Delete!" msgstr "" #: src/Layouts/Library.vala:233 msgid "All the data will be deleted and you won’t be able to recover it." msgstr "" #: src/Layouts/Library.vala:236 #, fuzzy msgid "Yes, Delete All!" msgstr "Hapus Semua" #: src/Layouts/Library.vala:330 src/Widgets/ConnectionDialog.vala:575 #: src/Widgets/ConnectionDialog.vala:596 msgid "A username is required in order to connect!" msgstr "" #: src/Layouts/Library.vala:404 src/Layouts/Views/Query.vala:528 msgid "Pick a file" msgstr "" #: src/Layouts/Library.vala:407 src/Layouts/Views/Query.vala:531 msgid "_Save" msgstr "" #: src/Layouts/Library.vala:408 src/Layouts/Welcome.vala:62 #: src/Layouts/Views/Query.vala:532 msgid "_Cancel" msgstr "_Batal" #: src/Layouts/Library.vala:467 #, fuzzy, c-format msgid "Unable to Connect to %s" msgstr "Hapus Koneksi" #: src/Layouts/Library.vala:480 #, fuzzy msgid "Unable to Export Library " msgstr "Tidak dapat memproses Query!" #: src/Layouts/Welcome.vala:28 msgid "Welcome to Sequeler" msgstr "Selamat datang di Sequeler" #: src/Layouts/Welcome.vala:29 #, fuzzy msgid "Connect to Any Local or Remote Database." msgstr "Hubungkan ke Basis Data Lokal atau Jauh" #: src/Layouts/Welcome.vala:38 #, fuzzy msgid "Add a New Database" msgstr "Tambahkan Basis Data Baru" #: src/Layouts/Welcome.vala:38 #, fuzzy msgid "Connect to a Database and Save It in Your Library" msgstr "Hubungkan ke Basis Data dan simpan di Pustaka Anda." #: src/Layouts/Welcome.vala:39 msgid "Open a New Sequeler Window" msgstr "" #: src/Layouts/Welcome.vala:40 #, fuzzy msgid "Import Connections" msgstr "Uji Koneksi" #: src/Layouts/Welcome.vala:40 msgid "Import Previously Exported Sequeler Connections" msgstr "" #: src/Layouts/Welcome.vala:58 msgid "Select a file" msgstr "" #: src/Layouts/Welcome.vala:61 msgid "_Open" msgstr "" #: src/Layouts/Welcome.vala:107 #, fuzzy msgid "Unable to Import Library " msgstr "Tidak dapat memproses Query!" #: src/Layouts/DataBaseSchema.vala:66 src/Layouts/DataBaseSchema.vala:167 #, fuzzy msgid "- Select Database -" msgstr "Tambahkan Basis Data Baru" #: src/Layouts/DataBaseSchema.vala:87 msgid "Search Tables" msgstr "" #: src/Layouts/DataBaseSchema.vala:98 msgid "Search Tables…" msgstr "" #: src/Layouts/DataBaseSchema.vala:120 msgid "Reload Tables" msgstr "" #: src/Layouts/DataBaseSchema.vala:125 msgid "Add Table" msgstr "" #: src/Layouts/DataBaseSchema.vala:289 msgid "TABLES" msgstr "" #: src/Layouts/DataBaseView.vala:49 msgid "Structure" msgstr "" #: src/Layouts/DataBaseView.vala:50 msgid "Content" msgstr "" #: src/Layouts/DataBaseView.vala:51 msgid "Relations" msgstr "" #: src/Layouts/DataBaseView.vala:52 src/Layouts/DataBaseView.vala:229 #: src/Layouts/DataBaseView.vala:253 #, fuzzy msgid "Query" msgstr "Jalankan Query" #: src/Layouts/DataBaseView.vala:101 msgid "Zoom Out" msgstr "" #: src/Layouts/DataBaseView.vala:107 msgid "Zoom 1:1" msgstr "" #: src/Layouts/DataBaseView.vala:111 msgid "Zoom In" msgstr "" #: src/Layouts/DataBaseView.vala:124 msgid "High Contrast" msgstr "" #: src/Layouts/DataBaseView.vala:132 msgid "Solarized Light" msgstr "" #: src/Layouts/DataBaseView.vala:140 msgid "Solarized Dark" msgstr "" #: src/Layouts/DataBaseView.vala:163 msgid "Change Text Style" msgstr "" #: src/Layouts/DataBaseView.vala:222 msgid "Create a new Query Tab" msgstr "" #: src/Layouts/DataBaseView.vala:240 #, fuzzy, c-format msgid "Query %i" msgstr "Jalankan Query" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select Table" msgstr "" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select a table from the left sidebar to activate this view." msgstr "" #: src/Layouts/Views/Structure.vala:107 src/Layouts/Views/Structure.vala:145 #: src/Layouts/Views/Content.vala:179 src/Layouts/Views/Content.vala:218 #: src/Layouts/Views/Relations.vala:106 src/Layouts/Views/Relations.vala:144 #: src/Layouts/Views/Query.vala:323 msgid "No Results Available" msgstr "Tidak Ada hasil Yang Tersedia" #: src/Layouts/Views/Structure.vala:118 src/Layouts/Views/Content.vala:191 #: src/Layouts/Views/Relations.vala:117 msgid "Reload Results" msgstr "" #: src/Layouts/Views/Structure.vala:197 msgid " Fields" msgstr "" #: src/Layouts/Views/Content.vala:121 msgid "Previous Page" msgstr "" #: src/Layouts/Views/Content.vala:126 msgid "Next Page" msgstr "" #: src/Layouts/Views/Content.vala:131 #, c-format msgid "%d Pages" msgstr "" #: src/Layouts/Views/Content.vala:134 msgid "Jump to page…" msgstr "" #: src/Layouts/Views/Content.vala:165 msgid "1 Page" msgstr "" #: src/Layouts/Views/Content.vala:171 #, c-format msgid "%d of %d Pages" msgstr "" #: src/Layouts/Views/Content.vala:275 #, c-format msgid "%d Entries" msgstr "" #: src/Layouts/Views/Relations.vala:197 msgid " Constraints" msgstr "" #: src/Layouts/Views/Query.vala:279 #, fuzzy msgid "Running Query…" msgstr "Query sedang jalan..." #: src/Layouts/Views/Query.vala:295 src/Layouts/Views/Query.vala:304 msgid "Run Query" msgstr "Jalankan Query" #: src/Layouts/Views/Query.vala:356 msgid "Export Results" msgstr "" #: src/Layouts/Views/Query.vala:369 msgid "Export as CSV" msgstr "" #: src/Layouts/Views/Query.vala:377 msgid "Export as Text" msgstr "" #: src/Layouts/Views/Query.vala:436 src/Layouts/Views/Query.vala:482 msgid "Unable to process Query!" msgstr "Tidak dapat memproses Query!" #: src/Layouts/Views/Query.vala:457 #, c-format msgid "%d Total Results" msgstr "" #: src/Layouts/Views/Query.vala:492 #, fuzzy, c-format msgid "Query Successfully Executed! Rows Affected: %s" msgstr "Query Berhasil Dijalankan!" #: src/Layouts/Views/Query.vala:495 #, fuzzy msgid "Query Executed!" msgstr "Query Berhasil Dijalankan!" #: src/Partials/LibraryItem.vala:107 src/Widgets/ConnectionDialog.vala:431 msgid "Connect" msgstr "Menghubungkan" #: src/Partials/LibraryItem.vala:110 msgid "Edit Connection" msgstr "Sunting Koneksi" #: src/Partials/LibraryItem.vala:113 #, fuzzy msgid "Duplicate Connection" msgstr "Hapus Koneksi" #: src/Partials/LibraryItem.vala:116 msgid "Delete Connection" msgstr "Hapus Koneksi" #: src/Partials/LibraryItem.vala:126 msgid "Options" msgstr "" #: src/Partials/TreeBuilder.vala:131 msgid "Error" msgstr "" #: src/Partials/TreeBuilder.vala:131 msgid "on Column" msgstr "" #: src/Partials/TreeBuilder.vala:172 #, c-format msgid "Copy %s" msgstr "" #: src/Services/Settings.vala:106 #, c-format msgid "%s (copy)" msgstr "" #: src/Services/ConnectionManager.vala:193 #, c-format msgid "Libssh2 initialization failed (%d)" msgstr "" #: src/Services/ConnectionManager.vala:202 msgid "Failed to open socket" msgstr "" #: src/Services/ConnectionManager.vala:211 #, fuzzy msgid "Failed to connect!" msgstr "Hapus Koneksi" #: src/Services/ConnectionManager.vala:223 #, c-format msgid "Error when starting up SSH session: %d" msgstr "" #: src/Services/ConnectionManager.vala:242 msgid "Authentication by password failed!" msgstr "" #: src/Services/ConnectionManager.vala:252 msgid "Authentication by public key failed!" msgstr "" #: src/Services/ConnectionManager.vala:259 msgid "No supported authentication methods found!" msgstr "" #: src/Services/ConnectionManager.vala:266 msgid "Failed to open listen socket" msgstr "" #: src/Services/ConnectionManager.vala:281 msgid "Failed to bind. Your Database Port may be wrong!" msgstr "" #: src/Services/ConnectionManager.vala:287 msgid "Failed to listen!" msgstr "" #: src/Services/ConnectionManager.vala:314 msgid "Failed to accept remote connection!" msgstr "" #: src/Services/ConnectionManager.vala:323 msgid "" "Could not open the direct-tcpip channel! (Note that this can be a problem at " "the server! Please review the server logs.)" msgstr "" #: src/Services/ConnectionManager.vala:566 msgid "Error!" msgstr "" #: src/Widgets/ConnectionDialog.vala:33 msgid "Missing SSH Key file!" msgstr "" #: src/Widgets/ConnectionDialog.vala:34 msgid "Missing SSH public key!" msgstr "" #: src/Widgets/ConnectionDialog.vala:89 src/Widgets/ConnectionDialog.vala:355 #, fuzzy msgid "Connection" msgstr "Koneksi Baru" #: src/Widgets/ConnectionDialog.vala:141 #, fuzzy msgid "Select connection color" msgstr "Hapus Koneksi" #: src/Widgets/ConnectionDialog.vala:164 #, fuzzy msgid "Connection Name:" msgstr "Nama koneksi" #: src/Widgets/ConnectionDialog.vala:165 msgid "Connection's name" msgstr "Nama koneksi" #: src/Widgets/ConnectionDialog.vala:172 msgid "Database Type:" msgstr "Tipe Basis Data:" #: src/Widgets/ConnectionDialog.vala:194 msgid "Host:" msgstr "Utama:" #: src/Widgets/ConnectionDialog.vala:200 msgid "Database Name:" msgstr "Nama Basis Data:" #: src/Widgets/ConnectionDialog.vala:207 msgid "Username:" msgstr "Nama pengguna:" #: src/Widgets/ConnectionDialog.vala:213 msgid "Password:" msgstr "Kata sandi:" #: src/Widgets/ConnectionDialog.vala:217 src/Widgets/ConnectionDialog.vala:227 #: src/Widgets/ConnectionDialog.vala:285 src/Widgets/ConnectionDialog.vala:295 #, fuzzy msgid "Show password" msgstr "Kata sandi:" #: src/Widgets/ConnectionDialog.vala:224 src/Widgets/ConnectionDialog.vala:292 #, fuzzy msgid "Hide password" msgstr "Kata sandi:" #: src/Widgets/ConnectionDialog.vala:234 msgid "Port:" msgstr "" #: src/Widgets/ConnectionDialog.vala:240 msgid "File Path:" msgstr "" #: src/Widgets/ConnectionDialog.vala:241 msgid "Select Your SQLite File…" msgstr "" #: src/Widgets/ConnectionDialog.vala:261 #, fuzzy msgid "Connect via SSH Tunnel:" msgstr "Koneksi di Terminal" #: src/Widgets/ConnectionDialog.vala:271 #, fuzzy msgid "SSH Host:" msgstr "Utama:" #: src/Widgets/ConnectionDialog.vala:276 #, fuzzy msgid "SSH Username:" msgstr "Nama pengguna:" #: src/Widgets/ConnectionDialog.vala:281 #, fuzzy msgid "SSH Password:" msgstr "Kata sandi:" #: src/Widgets/ConnectionDialog.vala:301 msgid "SSH Port:" msgstr "" #: src/Widgets/ConnectionDialog.vala:302 msgid "Optional" msgstr "" #: src/Widgets/ConnectionDialog.vala:306 msgid "SSH Identity" msgstr "" #: src/Widgets/ConnectionDialog.vala:308 msgid "Select Your Identity File…" msgstr "" #: src/Widgets/ConnectionDialog.vala:324 msgid "Generate SSH Key" msgstr "" #: src/Widgets/ConnectionDialog.vala:356 #, fuzzy msgid "SSH Tunnel" msgstr "Koneksi di Terminal" #: src/Widgets/ConnectionDialog.vala:426 msgid "Close" msgstr "Tutup" #: src/Widgets/ConnectionDialog.vala:427 msgid "Save Connection" msgstr "Simpan Koneksi" #: src/Widgets/ConnectionDialog.vala:429 msgid "Test Connection" msgstr "Uji Koneksi" #: src/Widgets/ConnectionDialog.vala:620 msgid "Opening SSH Tunnel…" msgstr "" #: src/Widgets/ConnectionDialog.vala:650 #, fuzzy msgid "Testing Connection…" msgstr "Uji Koneksi" #: src/Widgets/ConnectionDialog.vala:661 #, fuzzy msgid "Successfully Connected!" msgstr "Query Berhasil Dijalankan!" #: src/Widgets/ConnectionDialog.vala:679 #, fuzzy msgid "Saving Connection…" msgstr "Simpan Koneksi" #: src/Widgets/ConnectionDialog.vala:684 msgid "Connection Saved!" msgstr "Koneksi Tersimpan!" #: src/Widgets/ConnectionDialog.vala:692 #, fuzzy msgid "Connecting…" msgstr "Menghubungkan" sequeler-0.8.0/po/it.po000066400000000000000000000357521367531117400147620ustar00rootroot00000000000000# Italian translations for com.github.alecaddd.sequeler package. # Copyright (C) 2020 THE com.github.alecaddd.sequeler'S COPYRIGHT HOLDER # This file is distributed under the same license as the com.github.alecaddd.sequeler package. # Luca Andrea Rossi , 2020. # msgid "" msgstr "" "Project-Id-Version: com.github.alecaddd.sequeler\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-11 12:37+0200\n" "PO-Revision-Date: 2020-04-12 17:29+0000\n" "Last-Translator: Alessandro \n" "Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.0-dev\n" #: src/Application.vala:62 msgid "Directories are not supported" msgstr "Selezione di Cartelle non supportata" #: src/Application.vala:68 msgid "Don't know what to do" msgstr "Non so cosa fare" #: src/Application.vala:80 msgid "Something completely unexpected happened" msgstr "Si é verificato un errore inaspettato" #: src/Layouts/HeaderBar.vala:46 src/Layouts/HeaderBar.vala:53 msgid "Logout" msgstr "Disconnetti" #: src/Layouts/HeaderBar.vala:56 msgid "Light background" msgstr "Sfondo chiaro" #: src/Layouts/HeaderBar.vala:57 msgid "Dark background" msgstr "Sfondo scuro" #: src/Layouts/HeaderBar.vala:68 src/Layouts/Welcome.vala:39 msgid "New Window" msgstr "Nuova finestra" #: src/Layouts/HeaderBar.vala:71 src/Widgets/ConnectionDialog.vala:130 #: src/Widgets/ConnectionDialog.vala:165 msgid "New Connection" msgstr "Nuova connessione" #: src/Layouts/HeaderBar.vala:74 msgid "Quit" msgstr "Chiudi" #: src/Layouts/HeaderBar.vala:94 msgid "Menu" msgstr "Menu" #: src/Layouts/Main.vala:77 #, c-format msgid "Connected to %s" msgstr "Connesso a %s" #: src/Layouts/Library.vala:65 msgid "SAVED CONNECTIONS" msgstr "CONNESSIONI SALVATE" #: src/Layouts/Library.vala:74 msgid "Delete All" msgstr "Elimina tutto" #: src/Layouts/Library.vala:81 msgid "Reload Library" msgstr "Ricarica libreria" #: src/Layouts/Library.vala:84 msgid "Export Library" msgstr "Esporta libreria" #: src/Layouts/Library.vala:215 src/Layouts/Library.vala:233 msgid "Are you sure you want to proceed?" msgstr "Si è sicuri di voler procedere?" #: src/Layouts/Library.vala:215 msgid "By deleting this connection you won’t be able to recover this data." msgstr "" "Eliminando questa connessione non sarà possibile recuperare questi dati." #: src/Layouts/Library.vala:218 msgid "Yes, Delete!" msgstr "Sì, elimina!" #: src/Layouts/Library.vala:233 msgid "All the data will be deleted and you won’t be able to recover it." msgstr "Tutti i dati saranno cancellati e non potranno essere recuperati." #: src/Layouts/Library.vala:236 msgid "Yes, Delete All!" msgstr "Sì, elimina tutto!" #: src/Layouts/Library.vala:330 src/Widgets/ConnectionDialog.vala:575 #: src/Widgets/ConnectionDialog.vala:596 msgid "A username is required in order to connect!" msgstr "Nome utente necessario per eseguire una connessione!" #: src/Layouts/Library.vala:404 src/Layouts/Views/Query.vala:528 msgid "Pick a file" msgstr "Seleziona un file" #: src/Layouts/Library.vala:407 src/Layouts/Views/Query.vala:531 msgid "_Save" msgstr "_Salva" #: src/Layouts/Library.vala:408 src/Layouts/Welcome.vala:62 #: src/Layouts/Views/Query.vala:532 msgid "_Cancel" msgstr "_Annulla" #: src/Layouts/Library.vala:467 #, c-format msgid "Unable to Connect to %s" msgstr "Impossibile connettersi a %s" #: src/Layouts/Library.vala:480 msgid "Unable to Export Library " msgstr "Impossibile esportare la libreria " #: src/Layouts/Welcome.vala:28 msgid "Welcome to Sequeler" msgstr "Benvenuto in Sequeler" #: src/Layouts/Welcome.vala:29 msgid "Connect to Any Local or Remote Database." msgstr "Collegati a qualunque database locale o remoto." #: src/Layouts/Welcome.vala:38 msgid "Add a New Database" msgstr "Aggiungi nuovo database" #: src/Layouts/Welcome.vala:38 msgid "Connect to a Database and Save It in Your Library" msgstr "Connettiti a un database e salvalo nella libreria" #: src/Layouts/Welcome.vala:39 msgid "Open a New Sequeler Window" msgstr "Apri una nuova finestra di Sequeler" #: src/Layouts/Welcome.vala:40 msgid "Import Connections" msgstr "Importa connessioni" #: src/Layouts/Welcome.vala:40 msgid "Import Previously Exported Sequeler Connections" msgstr "Importa un file di connessioni di Sequeler precedentemente esportato" #: src/Layouts/Welcome.vala:58 msgid "Select a file" msgstr "Seleziona un file" #: src/Layouts/Welcome.vala:61 msgid "_Open" msgstr "_Apri" #: src/Layouts/Welcome.vala:107 msgid "Unable to Import Library " msgstr "Impossibile importare la libreria " #: src/Layouts/DataBaseSchema.vala:66 src/Layouts/DataBaseSchema.vala:167 msgid "- Select Database -" msgstr "- Selezionare un database -" #: src/Layouts/DataBaseSchema.vala:87 msgid "Search Tables" msgstr "Cerca tabelle" #: src/Layouts/DataBaseSchema.vala:98 msgid "Search Tables…" msgstr "Cerca tabelle…" #: src/Layouts/DataBaseSchema.vala:120 msgid "Reload Tables" msgstr "Ricarica tabelle" #: src/Layouts/DataBaseSchema.vala:125 msgid "Add Table" msgstr "Aggiungi tabella" #: src/Layouts/DataBaseSchema.vala:289 msgid "TABLES" msgstr "TABELLE" #: src/Layouts/DataBaseView.vala:49 msgid "Structure" msgstr "Struttura" #: src/Layouts/DataBaseView.vala:50 msgid "Content" msgstr "Contenuto" #: src/Layouts/DataBaseView.vala:51 msgid "Relations" msgstr "Relazioni" #: src/Layouts/DataBaseView.vala:52 src/Layouts/DataBaseView.vala:229 #: src/Layouts/DataBaseView.vala:253 msgid "Query" msgstr "Esegui query" #: src/Layouts/DataBaseView.vala:101 msgid "Zoom Out" msgstr "Riduci zoom" #: src/Layouts/DataBaseView.vala:107 msgid "Zoom 1:1" msgstr "Resetta zoom" #: src/Layouts/DataBaseView.vala:111 msgid "Zoom In" msgstr "Aumenta zoom" #: src/Layouts/DataBaseView.vala:124 msgid "High Contrast" msgstr "Alto Contrasto" #: src/Layouts/DataBaseView.vala:132 msgid "Solarized Light" msgstr "Chiaro Solarizzato" #: src/Layouts/DataBaseView.vala:140 msgid "Solarized Dark" msgstr "Scuro Solarizzato" #: src/Layouts/DataBaseView.vala:163 msgid "Change Text Style" msgstr "Cambia stile testo" #: src/Layouts/DataBaseView.vala:222 msgid "Create a new Query Tab" msgstr "Aggiungi una nuova tab" #: src/Layouts/DataBaseView.vala:240 #, c-format msgid "Query %i" msgstr "Query %i" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select Table" msgstr "Seleziona tabella" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select a table from the left sidebar to activate this view." msgstr "" "Selezionare una tabella dal pannello a sinistra per attivare questa " "visualizzazione." #: src/Layouts/Views/Structure.vala:107 src/Layouts/Views/Structure.vala:145 #: src/Layouts/Views/Content.vala:179 src/Layouts/Views/Content.vala:218 #: src/Layouts/Views/Relations.vala:106 src/Layouts/Views/Relations.vala:144 #: src/Layouts/Views/Query.vala:323 msgid "No Results Available" msgstr "Nessun risultato disponibile" #: src/Layouts/Views/Structure.vala:118 src/Layouts/Views/Content.vala:191 #: src/Layouts/Views/Relations.vala:117 msgid "Reload Results" msgstr "Ricarica risultati" #: src/Layouts/Views/Structure.vala:197 msgid " Fields" msgstr " campi" #: src/Layouts/Views/Content.vala:121 msgid "Previous Page" msgstr "Pagina precedente" #: src/Layouts/Views/Content.vala:126 msgid "Next Page" msgstr "Pagina successiva" #: src/Layouts/Views/Content.vala:131 #, c-format msgid "%d Pages" msgstr "%d pagine" #: src/Layouts/Views/Content.vala:134 msgid "Jump to page…" msgstr "Vai alla pagina…" #: src/Layouts/Views/Content.vala:165 msgid "1 Page" msgstr "1 pagina" #: src/Layouts/Views/Content.vala:171 #, c-format msgid "%d of %d Pages" msgstr "%d di %d pagine" #: src/Layouts/Views/Content.vala:275 #, c-format msgid "%d Entries" msgstr "%d voci" #: src/Layouts/Views/Relations.vala:197 msgid " Constraints" msgstr " vincoli" #: src/Layouts/Views/Query.vala:279 msgid "Running Query…" msgstr "Query in esecuzione…" #: src/Layouts/Views/Query.vala:295 src/Layouts/Views/Query.vala:304 msgid "Run Query" msgstr "Esegui query" #: src/Layouts/Views/Query.vala:356 msgid "Export Results" msgstr "Esporta risultati" #: src/Layouts/Views/Query.vala:369 msgid "Export as CSV" msgstr "Esporta come CSV" #: src/Layouts/Views/Query.vala:377 msgid "Export as Text" msgstr "Esporta come testo" #: src/Layouts/Views/Query.vala:436 src/Layouts/Views/Query.vala:482 msgid "Unable to process Query!" msgstr "Impossibile eseguire la query!" #: src/Layouts/Views/Query.vala:457 #, c-format msgid "%d Total Results" msgstr "%d risultati totali" #: src/Layouts/Views/Query.vala:492 #, c-format msgid "Query Successfully Executed! Rows Affected: %s" msgstr "Query eseguita correttamente! Righe alterate: %s" #: src/Layouts/Views/Query.vala:495 msgid "Query Executed!" msgstr "Query eseguita!" #: src/Partials/LibraryItem.vala:107 src/Widgets/ConnectionDialog.vala:431 msgid "Connect" msgstr "Connetti" #: src/Partials/LibraryItem.vala:110 msgid "Edit Connection" msgstr "Modifica connessione" #: src/Partials/LibraryItem.vala:113 msgid "Duplicate Connection" msgstr "Duplica connessione" #: src/Partials/LibraryItem.vala:116 msgid "Delete Connection" msgstr "Cancella connessione" #: src/Partials/LibraryItem.vala:126 msgid "Options" msgstr "Opzioni" #: src/Partials/TreeBuilder.vala:131 msgid "Error" msgstr "Errore" #: src/Partials/TreeBuilder.vala:131 msgid "on Column" msgstr "sulla colonna" #: src/Partials/TreeBuilder.vala:172 #, c-format msgid "Copy %s" msgstr "Copia %s" #: src/Services/Settings.vala:106 #, c-format msgid "%s (copy)" msgstr "%s (copia)" #: src/Services/ConnectionManager.vala:193 #, c-format msgid "Libssh2 initialization failed (%d)" msgstr "Impossibile inizializzare Libssh2 (%d)" #: src/Services/ConnectionManager.vala:202 msgid "Failed to open socket" msgstr "Impossibile aprire il Socket" #: src/Services/ConnectionManager.vala:211 msgid "Failed to connect!" msgstr "Impossibile connettersi!" #: src/Services/ConnectionManager.vala:223 #, c-format msgid "Error when starting up SSH session: %d" msgstr "Errore durante il lancio della sessione SSH: %d" #: src/Services/ConnectionManager.vala:242 msgid "Authentication by password failed!" msgstr "Autenticazione con password fallita!" #: src/Services/ConnectionManager.vala:252 msgid "Authentication by public key failed!" msgstr "Autenticazione con chiave publica fallita!" #: src/Services/ConnectionManager.vala:259 msgid "No supported authentication methods found!" msgstr "Nessun metodo di autenticazione supportato!" #: src/Services/ConnectionManager.vala:266 msgid "Failed to open listen socket" msgstr "Impossibile aprire il socket" #: src/Services/ConnectionManager.vala:281 msgid "Failed to bind. Your Database Port may be wrong!" msgstr "" "Collegamento fallito. La tua porta del database potrebbe essere sbagliata!" #: src/Services/ConnectionManager.vala:287 msgid "Failed to listen!" msgstr "Impossibile collegarsi!" #: src/Services/ConnectionManager.vala:314 msgid "Failed to accept remote connection!" msgstr "Connessione remote fallita!" #: src/Services/ConnectionManager.vala:323 msgid "" "Could not open the direct-tcpip channel! (Note that this can be a problem at " "the server! Please review the server logs.)" msgstr "" "Impossibile aprire un canale tcpip diretto! (Questo potrebbe essere un " "problema relativo alle impostazioni del tuo server! Controlla il tuo server " "log.)" #: src/Services/ConnectionManager.vala:566 msgid "Error!" msgstr "Errore!" #: src/Widgets/ConnectionDialog.vala:33 msgid "Missing SSH Key file!" msgstr "Nessuna chiave SSH trovata!" #: src/Widgets/ConnectionDialog.vala:34 msgid "Missing SSH public key!" msgstr "Nessuna chiave publica SSH trovata!" #: src/Widgets/ConnectionDialog.vala:89 src/Widgets/ConnectionDialog.vala:355 msgid "Connection" msgstr "Connessione" #: src/Widgets/ConnectionDialog.vala:141 msgid "Select connection color" msgstr "Seleziona il colore della connessione" #: src/Widgets/ConnectionDialog.vala:164 msgid "Connection Name:" msgstr "Nome connessione:" #: src/Widgets/ConnectionDialog.vala:165 msgid "Connection's name" msgstr "Nome della connessione" #: src/Widgets/ConnectionDialog.vala:172 msgid "Database Type:" msgstr "Tipo database:" #: src/Widgets/ConnectionDialog.vala:194 msgid "Host:" msgstr "Server:" #: src/Widgets/ConnectionDialog.vala:200 msgid "Database Name:" msgstr "Nome database:" #: src/Widgets/ConnectionDialog.vala:207 msgid "Username:" msgstr "Nome utente:" #: src/Widgets/ConnectionDialog.vala:213 msgid "Password:" msgstr "Password:" #: src/Widgets/ConnectionDialog.vala:217 src/Widgets/ConnectionDialog.vala:227 #: src/Widgets/ConnectionDialog.vala:285 src/Widgets/ConnectionDialog.vala:295 msgid "Show password" msgstr "Mostra password" #: src/Widgets/ConnectionDialog.vala:224 src/Widgets/ConnectionDialog.vala:292 msgid "Hide password" msgstr "Nascondi password" #: src/Widgets/ConnectionDialog.vala:234 msgid "Port:" msgstr "Porta:" #: src/Widgets/ConnectionDialog.vala:240 msgid "File Path:" msgstr "Indirizzo del file:" #: src/Widgets/ConnectionDialog.vala:241 msgid "Select Your SQLite File…" msgstr "Selezionare il file SQLite…" #: src/Widgets/ConnectionDialog.vala:261 msgid "Connect via SSH Tunnel:" msgstr "Connessione via tunnel SSH:" #: src/Widgets/ConnectionDialog.vala:271 msgid "SSH Host:" msgstr "Server SSH:" #: src/Widgets/ConnectionDialog.vala:276 msgid "SSH Username:" msgstr "Nome utente SSH:" #: src/Widgets/ConnectionDialog.vala:281 msgid "SSH Password:" msgstr "Password SSH:" #: src/Widgets/ConnectionDialog.vala:301 msgid "SSH Port:" msgstr "Porta SSH:" #: src/Widgets/ConnectionDialog.vala:302 msgid "Optional" msgstr "Opzionale" #: src/Widgets/ConnectionDialog.vala:306 msgid "SSH Identity" msgstr "Identità SSH" #: src/Widgets/ConnectionDialog.vala:308 msgid "Select Your Identity File…" msgstr "Seleziona il tuo file SSH…" #: src/Widgets/ConnectionDialog.vala:324 msgid "Generate SSH Key" msgstr "Come generare una chiave SSH" #: src/Widgets/ConnectionDialog.vala:356 msgid "SSH Tunnel" msgstr "Connessione via tunnel SSH" #: src/Widgets/ConnectionDialog.vala:426 msgid "Close" msgstr "Chiudi" #: src/Widgets/ConnectionDialog.vala:427 msgid "Save Connection" msgstr "Salva connessione" #: src/Widgets/ConnectionDialog.vala:429 msgid "Test Connection" msgstr "Prova connessione" #: src/Widgets/ConnectionDialog.vala:620 msgid "Opening SSH Tunnel…" msgstr "Apertura tunnel SSH in corso…" #: src/Widgets/ConnectionDialog.vala:650 msgid "Testing Connection…" msgstr "Verifica connessione in corso…" #: src/Widgets/ConnectionDialog.vala:661 msgid "Successfully Connected!" msgstr "Connesso correttamente!" #: src/Widgets/ConnectionDialog.vala:679 msgid "Saving Connection…" msgstr "Salvataggio connessione…" #: src/Widgets/ConnectionDialog.vala:684 msgid "Connection Saved!" msgstr "Connessione salvata!" #: src/Widgets/ConnectionDialog.vala:692 msgid "Connecting…" msgstr "Connessione in corso…" sequeler-0.8.0/po/lg.po000066400000000000000000000322531367531117400147410ustar00rootroot00000000000000# Ganda translations for com.github.alecaddd.sequeler package. # Copyright (C) 2020 THE com.github.alecaddd.sequeler'S COPYRIGHT HOLDER # This file is distributed under the same license as the com.github.alecaddd.sequeler package. # Laurence Bahiirwa , 2020. # msgid "" msgstr "" "Project-Id-Version: com.github.alecaddd.sequeler\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-11 12:37+0200\n" "PO-Revision-Date: 2020-04-11 12:12+0200\n" "Last-Translator: Laurence Bahiirwa \n" "Language-Team: none\n" "Language: lg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/Application.vala:62 msgid "Directories are not supported" msgstr "" #: src/Application.vala:68 msgid "Don't know what to do" msgstr "" #: src/Application.vala:80 msgid "Something completely unexpected happened" msgstr "" #: src/Layouts/HeaderBar.vala:46 src/Layouts/HeaderBar.vala:53 msgid "Logout" msgstr "Fuluma" #: src/Layouts/HeaderBar.vala:56 msgid "Light background" msgstr "" #: src/Layouts/HeaderBar.vala:57 msgid "Dark background" msgstr "" #: src/Layouts/HeaderBar.vala:68 src/Layouts/Welcome.vala:39 msgid "New Window" msgstr "" #: src/Layouts/HeaderBar.vala:71 src/Widgets/ConnectionDialog.vala:130 #: src/Widgets/ConnectionDialog.vala:165 msgid "New Connection" msgstr "Enkolagana empya" #: src/Layouts/HeaderBar.vala:74 msgid "Quit" msgstr "" #: src/Layouts/HeaderBar.vala:94 msgid "Menu" msgstr "" #: src/Layouts/Main.vala:77 #, fuzzy, c-format msgid "Connected to %s" msgstr "Gatta Enkolagana" #: src/Layouts/Library.vala:65 msgid "SAVED CONNECTIONS" msgstr "" #: src/Layouts/Library.vala:74 msgid "Delete All" msgstr "Byonna bigyemu" #: src/Layouts/Library.vala:81 #, fuzzy msgid "Reload Library" msgstr "Nonya mu terekero lyo" #: src/Layouts/Library.vala:84 #, fuzzy msgid "Export Library" msgstr "Nonya mu terekero lyo" #: src/Layouts/Library.vala:215 src/Layouts/Library.vala:233 msgid "Are you sure you want to proceed?" msgstr "" #: src/Layouts/Library.vala:215 msgid "By deleting this connection you won’t be able to recover this data." msgstr "" #: src/Layouts/Library.vala:218 msgid "Yes, Delete!" msgstr "" #: src/Layouts/Library.vala:233 msgid "All the data will be deleted and you won’t be able to recover it." msgstr "" #: src/Layouts/Library.vala:236 #, fuzzy msgid "Yes, Delete All!" msgstr "Byonna bigyemu" #: src/Layouts/Library.vala:330 src/Widgets/ConnectionDialog.vala:575 #: src/Widgets/ConnectionDialog.vala:596 msgid "A username is required in order to connect!" msgstr "" #: src/Layouts/Library.vala:404 src/Layouts/Views/Query.vala:528 msgid "Pick a file" msgstr "" #: src/Layouts/Library.vala:407 src/Layouts/Views/Query.vala:531 msgid "_Save" msgstr "" #: src/Layouts/Library.vala:408 src/Layouts/Welcome.vala:62 #: src/Layouts/Views/Query.vala:532 msgid "_Cancel" msgstr "_sazamu" #: src/Layouts/Library.vala:467 #, fuzzy, c-format msgid "Unable to Connect to %s" msgstr "Gyamu Enkolagana" #: src/Layouts/Library.vala:480 #, fuzzy msgid "Unable to Export Library " msgstr "Okunyerezebwa tekusobolwa!" #: src/Layouts/Welcome.vala:28 msgid "Welcome to Sequeler" msgstr "Tukwaniriza ku Sequeler" #: src/Layouts/Welcome.vala:29 #, fuzzy msgid "Connect to Any Local or Remote Database." msgstr "Kola enkolagana ne Databesi ku sava yonna" #: src/Layouts/Welcome.vala:38 #, fuzzy msgid "Add a New Database" msgstr "Kola Datanesi empya" #: src/Layouts/Welcome.vala:38 #, fuzzy msgid "Connect to a Database and Save It in Your Library" msgstr "Wegatte ku Database ogiterekke mu terekero lyo." #: src/Layouts/Welcome.vala:39 msgid "Open a New Sequeler Window" msgstr "" #: src/Layouts/Welcome.vala:40 #, fuzzy msgid "Import Connections" msgstr "Gezesa Enkolagana" #: src/Layouts/Welcome.vala:40 msgid "Import Previously Exported Sequeler Connections" msgstr "" #: src/Layouts/Welcome.vala:58 msgid "Select a file" msgstr "" #: src/Layouts/Welcome.vala:61 msgid "_Open" msgstr "" #: src/Layouts/Welcome.vala:107 #, fuzzy msgid "Unable to Import Library " msgstr "Okunyerezebwa tekusobolwa!" #: src/Layouts/DataBaseSchema.vala:66 src/Layouts/DataBaseSchema.vala:167 #, fuzzy msgid "- Select Database -" msgstr "Kola Datanesi empya" #: src/Layouts/DataBaseSchema.vala:87 msgid "Search Tables" msgstr "" #: src/Layouts/DataBaseSchema.vala:98 msgid "Search Tables…" msgstr "" #: src/Layouts/DataBaseSchema.vala:120 msgid "Reload Tables" msgstr "" #: src/Layouts/DataBaseSchema.vala:125 msgid "Add Table" msgstr "" #: src/Layouts/DataBaseSchema.vala:289 msgid "TABLES" msgstr "" #: src/Layouts/DataBaseView.vala:49 msgid "Structure" msgstr "" #: src/Layouts/DataBaseView.vala:50 msgid "Content" msgstr "" #: src/Layouts/DataBaseView.vala:51 msgid "Relations" msgstr "" #: src/Layouts/DataBaseView.vala:52 src/Layouts/DataBaseView.vala:229 #: src/Layouts/DataBaseView.vala:253 #, fuzzy msgid "Query" msgstr "Buza Databesi" #: src/Layouts/DataBaseView.vala:101 msgid "Zoom Out" msgstr "" #: src/Layouts/DataBaseView.vala:107 msgid "Zoom 1:1" msgstr "" #: src/Layouts/DataBaseView.vala:111 msgid "Zoom In" msgstr "" #: src/Layouts/DataBaseView.vala:124 msgid "High Contrast" msgstr "" #: src/Layouts/DataBaseView.vala:132 msgid "Solarized Light" msgstr "" #: src/Layouts/DataBaseView.vala:140 msgid "Solarized Dark" msgstr "" #: src/Layouts/DataBaseView.vala:163 msgid "Change Text Style" msgstr "" #: src/Layouts/DataBaseView.vala:222 msgid "Create a new Query Tab" msgstr "" #: src/Layouts/DataBaseView.vala:240 #, fuzzy, c-format msgid "Query %i" msgstr "Buza Databesi" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select Table" msgstr "" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select a table from the left sidebar to activate this view." msgstr "" #: src/Layouts/Views/Structure.vala:107 src/Layouts/Views/Structure.vala:145 #: src/Layouts/Views/Content.vala:179 src/Layouts/Views/Content.vala:218 #: src/Layouts/Views/Relations.vala:106 src/Layouts/Views/Relations.vala:144 #: src/Layouts/Views/Query.vala:323 msgid "No Results Available" msgstr "Teri bivuddeyo" #: src/Layouts/Views/Structure.vala:118 src/Layouts/Views/Content.vala:191 #: src/Layouts/Views/Relations.vala:117 msgid "Reload Results" msgstr "" #: src/Layouts/Views/Structure.vala:197 msgid " Fields" msgstr "" #: src/Layouts/Views/Content.vala:121 msgid "Previous Page" msgstr "" #: src/Layouts/Views/Content.vala:126 msgid "Next Page" msgstr "" #: src/Layouts/Views/Content.vala:131 #, c-format msgid "%d Pages" msgstr "" #: src/Layouts/Views/Content.vala:134 msgid "Jump to page…" msgstr "" #: src/Layouts/Views/Content.vala:165 msgid "1 Page" msgstr "" #: src/Layouts/Views/Content.vala:171 #, c-format msgid "%d of %d Pages" msgstr "" #: src/Layouts/Views/Content.vala:275 #, c-format msgid "%d Entries" msgstr "" #: src/Layouts/Views/Relations.vala:197 msgid " Constraints" msgstr "" #: src/Layouts/Views/Query.vala:279 #, fuzzy msgid "Running Query…" msgstr "Databesi erikebelwa..." #: src/Layouts/Views/Query.vala:295 src/Layouts/Views/Query.vala:304 msgid "Run Query" msgstr "Buza Databesi" #: src/Layouts/Views/Query.vala:356 msgid "Export Results" msgstr "" #: src/Layouts/Views/Query.vala:369 msgid "Export as CSV" msgstr "" #: src/Layouts/Views/Query.vala:377 msgid "Export as Text" msgstr "" #: src/Layouts/Views/Query.vala:436 src/Layouts/Views/Query.vala:482 msgid "Unable to process Query!" msgstr "Okunyerezebwa tekusobolwa!" #: src/Layouts/Views/Query.vala:457 #, c-format msgid "%d Total Results" msgstr "" #: src/Layouts/Views/Query.vala:492 #, fuzzy, c-format msgid "Query Successfully Executed! Rows Affected: %s" msgstr "Okunyerezebwa kukoze bulungi!" #: src/Layouts/Views/Query.vala:495 #, fuzzy msgid "Query Executed!" msgstr "Okunyerezebwa kukoze bulungi!" #: src/Partials/LibraryItem.vala:107 src/Widgets/ConnectionDialog.vala:431 msgid "Connect" msgstr "Gatta Enkolagana" #: src/Partials/LibraryItem.vala:110 msgid "Edit Connection" msgstr "Terezza Enkolagana" #: src/Partials/LibraryItem.vala:113 #, fuzzy msgid "Duplicate Connection" msgstr "Gyamu Enkolagana" #: src/Partials/LibraryItem.vala:116 msgid "Delete Connection" msgstr "Gyamu Enkolagana" #: src/Partials/LibraryItem.vala:126 msgid "Options" msgstr "" #: src/Partials/TreeBuilder.vala:131 msgid "Error" msgstr "" #: src/Partials/TreeBuilder.vala:131 msgid "on Column" msgstr "" #: src/Partials/TreeBuilder.vala:172 #, c-format msgid "Copy %s" msgstr "" #: src/Services/Settings.vala:106 #, c-format msgid "%s (copy)" msgstr "" #: src/Services/ConnectionManager.vala:193 #, c-format msgid "Libssh2 initialization failed (%d)" msgstr "" #: src/Services/ConnectionManager.vala:202 msgid "Failed to open socket" msgstr "" #: src/Services/ConnectionManager.vala:211 #, fuzzy msgid "Failed to connect!" msgstr "Gyamu Enkolagana" #: src/Services/ConnectionManager.vala:223 #, c-format msgid "Error when starting up SSH session: %d" msgstr "" #: src/Services/ConnectionManager.vala:242 msgid "Authentication by password failed!" msgstr "" #: src/Services/ConnectionManager.vala:252 msgid "Authentication by public key failed!" msgstr "" #: src/Services/ConnectionManager.vala:259 msgid "No supported authentication methods found!" msgstr "" #: src/Services/ConnectionManager.vala:266 msgid "Failed to open listen socket" msgstr "" #: src/Services/ConnectionManager.vala:281 msgid "Failed to bind. Your Database Port may be wrong!" msgstr "" #: src/Services/ConnectionManager.vala:287 msgid "Failed to listen!" msgstr "" #: src/Services/ConnectionManager.vala:314 msgid "Failed to accept remote connection!" msgstr "" #: src/Services/ConnectionManager.vala:323 msgid "" "Could not open the direct-tcpip channel! (Note that this can be a problem at " "the server! Please review the server logs.)" msgstr "" #: src/Services/ConnectionManager.vala:566 msgid "Error!" msgstr "" #: src/Widgets/ConnectionDialog.vala:33 msgid "Missing SSH Key file!" msgstr "" #: src/Widgets/ConnectionDialog.vala:34 msgid "Missing SSH public key!" msgstr "" #: src/Widgets/ConnectionDialog.vala:89 src/Widgets/ConnectionDialog.vala:355 #, fuzzy msgid "Connection" msgstr "Enkolagana empya" #: src/Widgets/ConnectionDialog.vala:141 #, fuzzy msgid "Select connection color" msgstr "Gyamu Enkolagana" #: src/Widgets/ConnectionDialog.vala:164 #, fuzzy msgid "Connection Name:" msgstr "Erinnya ly'enkolagana" #: src/Widgets/ConnectionDialog.vala:165 msgid "Connection's name" msgstr "Erinnya ly'enkolagana" #: src/Widgets/ConnectionDialog.vala:172 msgid "Database Type:" msgstr "Ekika ky'enkolagana:" #: src/Widgets/ConnectionDialog.vala:194 msgid "Host:" msgstr "Erinnya lya Sava:" #: src/Widgets/ConnectionDialog.vala:200 msgid "Database Name:" msgstr "Erinnya lya Databesi:" #: src/Widgets/ConnectionDialog.vala:207 msgid "Username:" msgstr "Erinnya lya agyikozesa:" #: src/Widgets/ConnectionDialog.vala:213 msgid "Password:" msgstr "Ekyama:" #: src/Widgets/ConnectionDialog.vala:217 src/Widgets/ConnectionDialog.vala:227 #: src/Widgets/ConnectionDialog.vala:285 src/Widgets/ConnectionDialog.vala:295 #, fuzzy msgid "Show password" msgstr "Ekyama:" #: src/Widgets/ConnectionDialog.vala:224 src/Widgets/ConnectionDialog.vala:292 #, fuzzy msgid "Hide password" msgstr "Ekyama:" #: src/Widgets/ConnectionDialog.vala:234 msgid "Port:" msgstr "" #: src/Widgets/ConnectionDialog.vala:240 msgid "File Path:" msgstr "" #: src/Widgets/ConnectionDialog.vala:241 msgid "Select Your SQLite File…" msgstr "" #: src/Widgets/ConnectionDialog.vala:261 #, fuzzy msgid "Connect via SSH Tunnel:" msgstr "Enkolagana mu termino" #: src/Widgets/ConnectionDialog.vala:271 #, fuzzy msgid "SSH Host:" msgstr "Erinnya lya Sava:" #: src/Widgets/ConnectionDialog.vala:276 #, fuzzy msgid "SSH Username:" msgstr "Erinnya lya agyikozesa:" #: src/Widgets/ConnectionDialog.vala:281 #, fuzzy msgid "SSH Password:" msgstr "Ekyama:" #: src/Widgets/ConnectionDialog.vala:301 msgid "SSH Port:" msgstr "" #: src/Widgets/ConnectionDialog.vala:302 msgid "Optional" msgstr "" #: src/Widgets/ConnectionDialog.vala:306 msgid "SSH Identity" msgstr "" #: src/Widgets/ConnectionDialog.vala:308 msgid "Select Your Identity File…" msgstr "" #: src/Widgets/ConnectionDialog.vala:324 msgid "Generate SSH Key" msgstr "" #: src/Widgets/ConnectionDialog.vala:356 #, fuzzy msgid "SSH Tunnel" msgstr "Enkolagana mu termino" #: src/Widgets/ConnectionDialog.vala:426 msgid "Close" msgstr "Galawo" #: src/Widgets/ConnectionDialog.vala:427 msgid "Save Connection" msgstr "Tereka Enkolagana" #: src/Widgets/ConnectionDialog.vala:429 msgid "Test Connection" msgstr "Gezesa Enkolagana" #: src/Widgets/ConnectionDialog.vala:620 msgid "Opening SSH Tunnel…" msgstr "" #: src/Widgets/ConnectionDialog.vala:650 #, fuzzy msgid "Testing Connection…" msgstr "Gezesa Enkolagana" #: src/Widgets/ConnectionDialog.vala:661 #, fuzzy msgid "Successfully Connected!" msgstr "Okunyerezebwa kukoze bulungi!" #: src/Widgets/ConnectionDialog.vala:679 #, fuzzy msgid "Saving Connection…" msgstr "Tereka Enkolagana" #: src/Widgets/ConnectionDialog.vala:684 msgid "Connection Saved!" msgstr "Enkolagana eterekeddwa!" #: src/Widgets/ConnectionDialog.vala:692 #, fuzzy msgid "Connecting…" msgstr "Gatta Enkolagana" sequeler-0.8.0/po/lt.po000066400000000000000000000355521367531117400147630ustar00rootroot00000000000000# Lithuanian translations for com.github.alecaddd.sequeler package. # Copyright (C) 2020 THE com.github.alecaddd.sequeler'S COPYRIGHT HOLDER # This file is distributed under the same license as the com.github.alecaddd.sequeler package. # Moo, 2020. # msgid "" msgstr "" "Project-Id-Version: com.github.alecaddd.sequeler\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-11 12:37+0200\n" "PO-Revision-Date: 2020-04-11 12:12+0200\n" "Last-Translator: Moo\n" "Language-Team: none\n" "Language: lt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" "%100<10 || n%100>=20) ? 1 : 2);\n" #: src/Application.vala:62 msgid "Directories are not supported" msgstr "Katalogai yra nepalaikomi" #: src/Application.vala:68 msgid "Don't know what to do" msgstr "Nežinau kÄ… daryti" #: src/Application.vala:80 msgid "Something completely unexpected happened" msgstr "Nutiko kažkas visiÅ¡kai netikÄ—to" #: src/Layouts/HeaderBar.vala:46 src/Layouts/HeaderBar.vala:53 msgid "Logout" msgstr "Atsijungti" #: src/Layouts/HeaderBar.vala:56 #, fuzzy msgid "Light background" msgstr "Tamsus fonas" #: src/Layouts/HeaderBar.vala:57 msgid "Dark background" msgstr "Tamsus fonas" #: src/Layouts/HeaderBar.vala:68 src/Layouts/Welcome.vala:39 msgid "New Window" msgstr "Naujas langas" #: src/Layouts/HeaderBar.vala:71 src/Widgets/ConnectionDialog.vala:130 #: src/Widgets/ConnectionDialog.vala:165 msgid "New Connection" msgstr "Naujas ryÅ¡ys" #: src/Layouts/HeaderBar.vala:74 msgid "Quit" msgstr "IÅ¡eiti" #: src/Layouts/HeaderBar.vala:94 msgid "Menu" msgstr "Meniu" #: src/Layouts/Main.vala:77 #, c-format msgid "Connected to %s" msgstr "Prisijungta prie %s" #: src/Layouts/Library.vala:65 msgid "SAVED CONNECTIONS" msgstr "Ä®RAÅ YTI RYÅ IAI" #: src/Layouts/Library.vala:74 msgid "Delete All" msgstr "IÅ¡trinti visus" #: src/Layouts/Library.vala:81 msgid "Reload Library" msgstr "IÅ¡ naujo įkelti bibliotekÄ…" #: src/Layouts/Library.vala:84 msgid "Export Library" msgstr "Eksportuoti bibliotekÄ…" #: src/Layouts/Library.vala:215 src/Layouts/Library.vala:233 msgid "Are you sure you want to proceed?" msgstr "Ar tikrai norite tÄ™sti?" #: src/Layouts/Library.vala:215 msgid "By deleting this connection you won’t be able to recover this data." msgstr "IÅ¡trynÄ™ šį ryšį, nebegalÄ—site atkurti Å¡ių duomenų." #: src/Layouts/Library.vala:218 msgid "Yes, Delete!" msgstr "Taip, iÅ¡trinti!" #: src/Layouts/Library.vala:233 msgid "All the data will be deleted and you won’t be able to recover it." msgstr "Visi duomenys bus iÅ¡trinti ir jÅ«s nebegalÄ—site jų atkurti." #: src/Layouts/Library.vala:236 msgid "Yes, Delete All!" msgstr "Taip, iÅ¡trinti visus!" #: src/Layouts/Library.vala:330 src/Widgets/ConnectionDialog.vala:575 #: src/Widgets/ConnectionDialog.vala:596 msgid "A username is required in order to connect!" msgstr "" #: src/Layouts/Library.vala:404 src/Layouts/Views/Query.vala:528 msgid "Pick a file" msgstr "Pasirinkti failÄ…" #: src/Layouts/Library.vala:407 src/Layouts/Views/Query.vala:531 msgid "_Save" msgstr "Ä®_raÅ¡yti" #: src/Layouts/Library.vala:408 src/Layouts/Welcome.vala:62 #: src/Layouts/Views/Query.vala:532 msgid "_Cancel" msgstr "_Atsisakyti" #: src/Layouts/Library.vala:467 #, c-format msgid "Unable to Connect to %s" msgstr "Nepavyko prisijungti prie %s" #: src/Layouts/Library.vala:480 msgid "Unable to Export Library " msgstr "Nepavyko eksportuoti bibliotekos " #: src/Layouts/Welcome.vala:28 msgid "Welcome to Sequeler" msgstr "Sveiki atvykÄ™ į Sequeler" #: src/Layouts/Welcome.vala:29 msgid "Connect to Any Local or Remote Database." msgstr "Prisijunkite prie bet kurios vietinÄ—s ar nuotolinÄ—s duomenų bazÄ—s." #: src/Layouts/Welcome.vala:38 msgid "Add a New Database" msgstr "PridÄ—ti naujÄ… duomenų bazÄ™" #: src/Layouts/Welcome.vala:38 msgid "Connect to a Database and Save It in Your Library" msgstr "Prisijunkite prie duomenų bazÄ—s ir įraÅ¡ykite jÄ… savo bibliotekoje" #: src/Layouts/Welcome.vala:39 msgid "Open a New Sequeler Window" msgstr "Atverkite naujÄ… Sequeler langÄ…" #: src/Layouts/Welcome.vala:40 msgid "Import Connections" msgstr "Importuoti ryÅ¡ius" #: src/Layouts/Welcome.vala:40 msgid "Import Previously Exported Sequeler Connections" msgstr "Importuokite anksÄiau eksportuotus Sequeler ryÅ¡ius" #: src/Layouts/Welcome.vala:58 msgid "Select a file" msgstr "Pasirinkti failÄ…" #: src/Layouts/Welcome.vala:61 msgid "_Open" msgstr "_Atverti" #: src/Layouts/Welcome.vala:107 msgid "Unable to Import Library " msgstr "Nepavyko importuoti bibliotekos " #: src/Layouts/DataBaseSchema.vala:66 src/Layouts/DataBaseSchema.vala:167 msgid "- Select Database -" msgstr "- Pasirinkite duomenų bazÄ™ -" #: src/Layouts/DataBaseSchema.vala:87 msgid "Search Tables" msgstr "IeÅ¡koti lentelÄ—se" #: src/Layouts/DataBaseSchema.vala:98 msgid "Search Tables…" msgstr "IeÅ¡koti lentelÄ—se…" #: src/Layouts/DataBaseSchema.vala:120 msgid "Reload Tables" msgstr "IÅ¡ naujo įkelti lenteles" #: src/Layouts/DataBaseSchema.vala:125 msgid "Add Table" msgstr "PridÄ—ti lentelÄ™" #: src/Layouts/DataBaseSchema.vala:289 msgid "TABLES" msgstr "LENTELÄ–S" #: src/Layouts/DataBaseView.vala:49 msgid "Structure" msgstr "StruktÅ«ra" #: src/Layouts/DataBaseView.vala:50 msgid "Content" msgstr "Turinys" #: src/Layouts/DataBaseView.vala:51 msgid "Relations" msgstr "SÄ…sajos" #: src/Layouts/DataBaseView.vala:52 src/Layouts/DataBaseView.vala:229 #: src/Layouts/DataBaseView.vala:253 msgid "Query" msgstr "Užklausti" #: src/Layouts/DataBaseView.vala:101 msgid "Zoom Out" msgstr "" #: src/Layouts/DataBaseView.vala:107 msgid "Zoom 1:1" msgstr "" #: src/Layouts/DataBaseView.vala:111 msgid "Zoom In" msgstr "" #: src/Layouts/DataBaseView.vala:124 #, fuzzy msgid "High Contrast" msgstr " ribojimų" #: src/Layouts/DataBaseView.vala:132 msgid "Solarized Light" msgstr "" #: src/Layouts/DataBaseView.vala:140 msgid "Solarized Dark" msgstr "" #: src/Layouts/DataBaseView.vala:163 msgid "Change Text Style" msgstr "" #: src/Layouts/DataBaseView.vala:222 msgid "Create a new Query Tab" msgstr "" #: src/Layouts/DataBaseView.vala:240 #, fuzzy, c-format msgid "Query %i" msgstr "Užklausti" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select Table" msgstr "Pasirinkti lentelÄ™" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select a table from the left sidebar to activate this view." msgstr "" "NorÄ—dami aktyvuoti šį rodinį, pasirinkite lentelÄ™ kairiojoje Å¡oninÄ—je " "juostoje." #: src/Layouts/Views/Structure.vala:107 src/Layouts/Views/Structure.vala:145 #: src/Layouts/Views/Content.vala:179 src/Layouts/Views/Content.vala:218 #: src/Layouts/Views/Relations.vala:106 src/Layouts/Views/Relations.vala:144 #: src/Layouts/Views/Query.vala:323 msgid "No Results Available" msgstr "NÄ—ra prieinamų rezultatų" #: src/Layouts/Views/Structure.vala:118 src/Layouts/Views/Content.vala:191 #: src/Layouts/Views/Relations.vala:117 msgid "Reload Results" msgstr "IÅ¡ naujo įkelti rezultatus" #: src/Layouts/Views/Structure.vala:197 msgid " Fields" msgstr " laukai" #: src/Layouts/Views/Content.vala:121 msgid "Previous Page" msgstr "Ankstesnis puslapis" #: src/Layouts/Views/Content.vala:126 msgid "Next Page" msgstr "Kitas puslapis" #: src/Layouts/Views/Content.vala:131 #, c-format msgid "%d Pages" msgstr "%d puslapių" #: src/Layouts/Views/Content.vala:134 msgid "Jump to page…" msgstr "" #: src/Layouts/Views/Content.vala:165 msgid "1 Page" msgstr "1 puslapis" #: src/Layouts/Views/Content.vala:171 #, c-format msgid "%d of %d Pages" msgstr "%d iÅ¡ %d puslapių" #: src/Layouts/Views/Content.vala:275 #, c-format msgid "%d Entries" msgstr "%d įrašų" #: src/Layouts/Views/Relations.vala:197 msgid " Constraints" msgstr " ribojimų" #: src/Layouts/Views/Query.vala:279 msgid "Running Query…" msgstr "Vykdoma užklausa…" #: src/Layouts/Views/Query.vala:295 src/Layouts/Views/Query.vala:304 msgid "Run Query" msgstr "Vykdyti užklausÄ…" #: src/Layouts/Views/Query.vala:356 msgid "Export Results" msgstr "Eksportuoti rezultatus" #: src/Layouts/Views/Query.vala:369 msgid "Export as CSV" msgstr "Eksportuoti kaip CSV" #: src/Layouts/Views/Query.vala:377 msgid "Export as Text" msgstr "Eksportuoti kaip tekstÄ…" #: src/Layouts/Views/Query.vala:436 src/Layouts/Views/Query.vala:482 msgid "Unable to process Query!" msgstr "Nepavyksta įvykdyti užklausos!" #: src/Layouts/Views/Query.vala:457 #, c-format msgid "%d Total Results" msgstr "IÅ¡ viso %d rezultatų" #: src/Layouts/Views/Query.vala:492 #, fuzzy, c-format msgid "Query Successfully Executed! Rows Affected: %s" msgstr "Užklausa sÄ—kmingai įvykdyta! Paveiktos eilutÄ—s: %d" #: src/Layouts/Views/Query.vala:495 msgid "Query Executed!" msgstr "Užklausa įvykdyta!" #: src/Partials/LibraryItem.vala:107 src/Widgets/ConnectionDialog.vala:431 msgid "Connect" msgstr "Prisijungti" #: src/Partials/LibraryItem.vala:110 msgid "Edit Connection" msgstr "Taisyti ryšį" #: src/Partials/LibraryItem.vala:113 #, fuzzy msgid "Duplicate Connection" msgstr "IÅ¡trinti ryšį" #: src/Partials/LibraryItem.vala:116 msgid "Delete Connection" msgstr "IÅ¡trinti ryšį" #: src/Partials/LibraryItem.vala:126 msgid "Options" msgstr "Parametrai" #: src/Partials/TreeBuilder.vala:131 msgid "Error" msgstr "Klaida" #: src/Partials/TreeBuilder.vala:131 msgid "on Column" msgstr "ties stulpeliu" #: src/Partials/TreeBuilder.vala:172 #, c-format msgid "Copy %s" msgstr "Kopijuoti %s" #: src/Services/Settings.vala:106 #, c-format msgid "%s (copy)" msgstr "" #: src/Services/ConnectionManager.vala:193 #, c-format msgid "Libssh2 initialization failed (%d)" msgstr "Libssh2 inicijavimas patyrÄ— nesÄ—kmÄ™ (%d)" #: src/Services/ConnectionManager.vala:202 msgid "Failed to open socket" msgstr "Nepavyko atidaryti lizdo" #: src/Services/ConnectionManager.vala:211 msgid "Failed to connect!" msgstr "Nepavyko prisijungti!" #: src/Services/ConnectionManager.vala:223 #, c-format msgid "Error when starting up SSH session: %d" msgstr "Klaida, paleidžiant SSH seansÄ…: %d" #: src/Services/ConnectionManager.vala:242 msgid "Authentication by password failed!" msgstr "TapatybÄ—s nustatymas slaptažodžiu patyrÄ— nesÄ—kmÄ™!" #: src/Services/ConnectionManager.vala:252 msgid "Authentication by public key failed!" msgstr "TapatybÄ—s nustatymas vieÅ¡uoju raktu patyrÄ— nesÄ—kmÄ™!" #: src/Services/ConnectionManager.vala:259 msgid "No supported authentication methods found!" msgstr "Rasti nepalaikomi tapatybÄ—s nustatymo metodai!" #: src/Services/ConnectionManager.vala:266 msgid "Failed to open listen socket" msgstr "Nepavyko atidaryti klausymosi lizdo" #: src/Services/ConnectionManager.vala:281 msgid "Failed to bind. Your Database Port may be wrong!" msgstr "" "Nepavyko susieti. Gali bÅ«ti, kad jÅ«sų duomenų bazÄ—s prievadas yra " "neteisingas!" #: src/Services/ConnectionManager.vala:287 msgid "Failed to listen!" msgstr "Nepavyko klausytis!" #: src/Services/ConnectionManager.vala:314 msgid "Failed to accept remote connection!" msgstr "Nepavyko priimti nuotolinio ryÅ¡io!" #: src/Services/ConnectionManager.vala:323 msgid "" "Could not open the direct-tcpip channel! (Note that this can be a problem at " "the server! Please review the server logs.)" msgstr "" "Nepavyko atidaryti direct-tcpip kanalo! (TurÄ—kite omenyje, kad Å¡i problema " "gali bÅ«ti serveryje! PeržiÅ«rÄ—kite serverio žurnalus.)" #: src/Services/ConnectionManager.vala:566 msgid "Error!" msgstr "Klaida!" #: src/Widgets/ConnectionDialog.vala:33 msgid "Missing SSH Key file!" msgstr "TrÅ«ksta SSH rakto failo!" #: src/Widgets/ConnectionDialog.vala:34 #, fuzzy msgid "Missing SSH public key!" msgstr "TrÅ«ksta SSH rakto failo!" #: src/Widgets/ConnectionDialog.vala:89 src/Widgets/ConnectionDialog.vala:355 msgid "Connection" msgstr "RyÅ¡ys" #: src/Widgets/ConnectionDialog.vala:141 #, fuzzy msgid "Select connection color" msgstr "IÅ¡trinti ryšį" #: src/Widgets/ConnectionDialog.vala:164 msgid "Connection Name:" msgstr "RyÅ¡io pavadinimas:" #: src/Widgets/ConnectionDialog.vala:165 msgid "Connection's name" msgstr "RyÅ¡io pavadinimas" #: src/Widgets/ConnectionDialog.vala:172 msgid "Database Type:" msgstr "Duomenų bazÄ—s tipas:" #: src/Widgets/ConnectionDialog.vala:194 msgid "Host:" msgstr "Serveris:" #: src/Widgets/ConnectionDialog.vala:200 msgid "Database Name:" msgstr "Duomenų bazÄ—s pavadinimas:" #: src/Widgets/ConnectionDialog.vala:207 msgid "Username:" msgstr "Naudotojo vardas:" #: src/Widgets/ConnectionDialog.vala:213 msgid "Password:" msgstr "Slaptažodis:" #: src/Widgets/ConnectionDialog.vala:217 src/Widgets/ConnectionDialog.vala:227 #: src/Widgets/ConnectionDialog.vala:285 src/Widgets/ConnectionDialog.vala:295 #, fuzzy msgid "Show password" msgstr "SSH slaptažodis:" #: src/Widgets/ConnectionDialog.vala:224 src/Widgets/ConnectionDialog.vala:292 #, fuzzy msgid "Hide password" msgstr "SSH slaptažodis:" #: src/Widgets/ConnectionDialog.vala:234 msgid "Port:" msgstr "Prievadas:" #: src/Widgets/ConnectionDialog.vala:240 msgid "File Path:" msgstr "Failo kelias:" #: src/Widgets/ConnectionDialog.vala:241 msgid "Select Your SQLite File…" msgstr "Pasirinkite savo SQLite failą…" #: src/Widgets/ConnectionDialog.vala:261 msgid "Connect via SSH Tunnel:" msgstr "Prisijungti per SSH tunelį:" #: src/Widgets/ConnectionDialog.vala:271 msgid "SSH Host:" msgstr "SSH serveris:" #: src/Widgets/ConnectionDialog.vala:276 msgid "SSH Username:" msgstr "SSH naudotojo vardas:" #: src/Widgets/ConnectionDialog.vala:281 msgid "SSH Password:" msgstr "SSH slaptažodis:" #: src/Widgets/ConnectionDialog.vala:301 msgid "SSH Port:" msgstr "SSH prievadas:" #: src/Widgets/ConnectionDialog.vala:302 msgid "Optional" msgstr "NebÅ«tina" #: src/Widgets/ConnectionDialog.vala:306 msgid "SSH Identity" msgstr "" #: src/Widgets/ConnectionDialog.vala:308 #, fuzzy msgid "Select Your Identity File…" msgstr "Pasirinkite savo SQLite failą…" #: src/Widgets/ConnectionDialog.vala:324 msgid "Generate SSH Key" msgstr "Generuoti SSH raktÄ…" #: src/Widgets/ConnectionDialog.vala:356 msgid "SSH Tunnel" msgstr "SSH tunelis" #: src/Widgets/ConnectionDialog.vala:426 msgid "Close" msgstr "Užverti" #: src/Widgets/ConnectionDialog.vala:427 msgid "Save Connection" msgstr "Ä®raÅ¡yti ryšį" #: src/Widgets/ConnectionDialog.vala:429 msgid "Test Connection" msgstr "IÅ¡bandyti ryšį" #: src/Widgets/ConnectionDialog.vala:620 msgid "Opening SSH Tunnel…" msgstr "Atidaromas SSH tunelis…" #: src/Widgets/ConnectionDialog.vala:650 msgid "Testing Connection…" msgstr "IÅ¡bandomas ryÅ¡ys…" #: src/Widgets/ConnectionDialog.vala:661 msgid "Successfully Connected!" msgstr "SÄ—kmingai prisijungta!" #: src/Widgets/ConnectionDialog.vala:679 msgid "Saving Connection…" msgstr "Ä®raÅ¡omas ryÅ¡ys…" #: src/Widgets/ConnectionDialog.vala:684 msgid "Connection Saved!" msgstr "RyÅ¡ys įraÅ¡ytas!" #: src/Widgets/ConnectionDialog.vala:692 msgid "Connecting…" msgstr "Jungiamasi…" sequeler-0.8.0/po/meson.build000066400000000000000000000002221367531117400161300ustar00rootroot00000000000000i18n.gettext(meson.project_name(), args: [ '--directory=' + meson.source_root(), '--from-code=UTF-8' ] ) subdir('extra') sequeler-0.8.0/po/pt_BR.po000066400000000000000000000340621367531117400153450ustar00rootroot00000000000000# Portuguese translations for com.github.alecaddd.sequeler package. # Copyright (C) 2020 THE com.github.alecaddd.sequeler'S COPYRIGHT HOLDER # This file is distributed under the same license as the com.github.alecaddd.sequeler package. # Everson Santos Araujo , 2020. # msgid "" msgstr "" "Project-Id-Version: com.github.alecaddd.sequeler\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-11 12:37+0200\n" "PO-Revision-Date: 2020-04-11 12:12+0200\n" "Last-Translator: Everson Santos Araujo \n" "Language-Team: none\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: src/Application.vala:62 msgid "Directories are not supported" msgstr "" #: src/Application.vala:68 msgid "Don't know what to do" msgstr "" #: src/Application.vala:80 msgid "Something completely unexpected happened" msgstr "" #: src/Layouts/HeaderBar.vala:46 src/Layouts/HeaderBar.vala:53 msgid "Logout" msgstr "Sair" #: src/Layouts/HeaderBar.vala:56 #, fuzzy msgid "Light background" msgstr "Fundo escuro" #: src/Layouts/HeaderBar.vala:57 msgid "Dark background" msgstr "Fundo escuro" #: src/Layouts/HeaderBar.vala:68 src/Layouts/Welcome.vala:39 msgid "New Window" msgstr "Nova Janela" #: src/Layouts/HeaderBar.vala:71 src/Widgets/ConnectionDialog.vala:130 #: src/Widgets/ConnectionDialog.vala:165 msgid "New Connection" msgstr "Nova Conexão" #: src/Layouts/HeaderBar.vala:74 msgid "Quit" msgstr "Sair" #: src/Layouts/HeaderBar.vala:94 msgid "Menu" msgstr "" #: src/Layouts/Main.vala:77 #, c-format msgid "Connected to %s" msgstr "Conectado a %s" #: src/Layouts/Library.vala:65 msgid "SAVED CONNECTIONS" msgstr "CONEXÕES SALVAS" #: src/Layouts/Library.vala:74 msgid "Delete All" msgstr "Apagar Tudo" #: src/Layouts/Library.vala:81 msgid "Reload Library" msgstr "Recarregar Biblioteca" #: src/Layouts/Library.vala:84 msgid "Export Library" msgstr "Exportar Biblioteca" #: src/Layouts/Library.vala:215 src/Layouts/Library.vala:233 msgid "Are you sure you want to proceed?" msgstr "Tem certeza que deseja prosseguir?" #: src/Layouts/Library.vala:215 msgid "By deleting this connection you won’t be able to recover this data." msgstr "Ao excluir esta conexão, você não será capaz de recuperar estes dados." #: src/Layouts/Library.vala:218 msgid "Yes, Delete!" msgstr "Sim, Apague!" #: src/Layouts/Library.vala:233 msgid "All the data will be deleted and you won’t be able to recover it." msgstr "Todos os dados serão apagados e você não será capaz de recuperá-los." #: src/Layouts/Library.vala:236 msgid "Yes, Delete All!" msgstr "Sim, Apague Tudo!" #: src/Layouts/Library.vala:330 src/Widgets/ConnectionDialog.vala:575 #: src/Widgets/ConnectionDialog.vala:596 msgid "A username is required in order to connect!" msgstr "" #: src/Layouts/Library.vala:404 src/Layouts/Views/Query.vala:528 msgid "Pick a file" msgstr "Escolha um arquivo" #: src/Layouts/Library.vala:407 src/Layouts/Views/Query.vala:531 msgid "_Save" msgstr "_Salvar" #: src/Layouts/Library.vala:408 src/Layouts/Welcome.vala:62 #: src/Layouts/Views/Query.vala:532 msgid "_Cancel" msgstr "_Cancelar" #: src/Layouts/Library.vala:467 #, c-format msgid "Unable to Connect to %s" msgstr "Não é possível conectar-se a %s" #: src/Layouts/Library.vala:480 msgid "Unable to Export Library " msgstr "Não é Possível Exportar a Biblioteca " #: src/Layouts/Welcome.vala:28 msgid "Welcome to Sequeler" msgstr "Bem-vindo ao Sequeler" #: src/Layouts/Welcome.vala:29 msgid "Connect to Any Local or Remote Database." msgstr "Conecte-se a qualquer banco de dados local ou remoto." #: src/Layouts/Welcome.vala:38 msgid "Add a New Database" msgstr "Adicionar um Novo Banco de Dados" #: src/Layouts/Welcome.vala:38 msgid "Connect to a Database and Save It in Your Library" msgstr "Conecte-se a um Banco de Dados e Salve ele em sua Biblioteca" #: src/Layouts/Welcome.vala:39 msgid "Open a New Sequeler Window" msgstr "Abrir uma nova janela do Sequeler" #: src/Layouts/Welcome.vala:40 msgid "Import Connections" msgstr "Importar Conexões" #: src/Layouts/Welcome.vala:40 msgid "Import Previously Exported Sequeler Connections" msgstr "Importar Conexões do Sequeler Exportadas Anteriormente" #: src/Layouts/Welcome.vala:58 #, fuzzy msgid "Select a file" msgstr "Selecionar Tabela" #: src/Layouts/Welcome.vala:61 msgid "_Open" msgstr "_Abrir" #: src/Layouts/Welcome.vala:107 msgid "Unable to Import Library " msgstr "Não é Possível Importar a Biblioteca " #: src/Layouts/DataBaseSchema.vala:66 src/Layouts/DataBaseSchema.vala:167 msgid "- Select Database -" msgstr "- Selecione o Banco de Dados -" #: src/Layouts/DataBaseSchema.vala:87 msgid "Search Tables" msgstr "Buscar Tabelas" #: src/Layouts/DataBaseSchema.vala:98 msgid "Search Tables…" msgstr "Buscar Tabelas…" #: src/Layouts/DataBaseSchema.vala:120 msgid "Reload Tables" msgstr "Recarregar as Tabelas" #: src/Layouts/DataBaseSchema.vala:125 msgid "Add Table" msgstr "Adicionar Tabela" #: src/Layouts/DataBaseSchema.vala:289 msgid "TABLES" msgstr "TABELAS" #: src/Layouts/DataBaseView.vala:49 msgid "Structure" msgstr "Estrutura" #: src/Layouts/DataBaseView.vala:50 msgid "Content" msgstr "Conteúdo" #: src/Layouts/DataBaseView.vala:51 msgid "Relations" msgstr "Relacionamentos" #: src/Layouts/DataBaseView.vala:52 src/Layouts/DataBaseView.vala:229 #: src/Layouts/DataBaseView.vala:253 msgid "Query" msgstr "Consultar" #: src/Layouts/DataBaseView.vala:101 msgid "Zoom Out" msgstr "" #: src/Layouts/DataBaseView.vala:107 msgid "Zoom 1:1" msgstr "" #: src/Layouts/DataBaseView.vala:111 msgid "Zoom In" msgstr "" #: src/Layouts/DataBaseView.vala:124 #, fuzzy msgid "High Contrast" msgstr " Restrições" #: src/Layouts/DataBaseView.vala:132 msgid "Solarized Light" msgstr "" #: src/Layouts/DataBaseView.vala:140 msgid "Solarized Dark" msgstr "" #: src/Layouts/DataBaseView.vala:163 msgid "Change Text Style" msgstr "" #: src/Layouts/DataBaseView.vala:222 msgid "Create a new Query Tab" msgstr "" #: src/Layouts/DataBaseView.vala:240 #, fuzzy, c-format msgid "Query %i" msgstr "Consultar" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select Table" msgstr "Selecionar Tabela" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select a table from the left sidebar to activate this view." msgstr "" "Selecione uma tabela da barra lateral esquerda para ativar esta exibição." #: src/Layouts/Views/Structure.vala:107 src/Layouts/Views/Structure.vala:145 #: src/Layouts/Views/Content.vala:179 src/Layouts/Views/Content.vala:218 #: src/Layouts/Views/Relations.vala:106 src/Layouts/Views/Relations.vala:144 #: src/Layouts/Views/Query.vala:323 msgid "No Results Available" msgstr "Não Há Resultados Disponíveis" #: src/Layouts/Views/Structure.vala:118 src/Layouts/Views/Content.vala:191 #: src/Layouts/Views/Relations.vala:117 msgid "Reload Results" msgstr "Recarregar Resultados" #: src/Layouts/Views/Structure.vala:197 msgid " Fields" msgstr " Campos" #: src/Layouts/Views/Content.vala:121 msgid "Previous Page" msgstr "Página Anterior" #: src/Layouts/Views/Content.vala:126 msgid "Next Page" msgstr "Próxima Página" #: src/Layouts/Views/Content.vala:131 #, fuzzy, c-format msgid "%d Pages" msgstr " Páginas" #: src/Layouts/Views/Content.vala:134 msgid "Jump to page…" msgstr "" #: src/Layouts/Views/Content.vala:165 msgid "1 Page" msgstr "1 Página" #: src/Layouts/Views/Content.vala:171 #, fuzzy, c-format msgid "%d of %d Pages" msgstr " Páginas" #: src/Layouts/Views/Content.vala:275 #, c-format msgid "%d Entries" msgstr "%d Entradas" #: src/Layouts/Views/Relations.vala:197 msgid " Constraints" msgstr " Restrições" #: src/Layouts/Views/Query.vala:279 msgid "Running Query…" msgstr "Executando Consulta…" #: src/Layouts/Views/Query.vala:295 src/Layouts/Views/Query.vala:304 msgid "Run Query" msgstr "Executar Consulta" #: src/Layouts/Views/Query.vala:356 msgid "Export Results" msgstr "Exportar Resultados" #: src/Layouts/Views/Query.vala:369 msgid "Export as CSV" msgstr "Exportar como CSV" #: src/Layouts/Views/Query.vala:377 msgid "Export as Text" msgstr "Exportar como Texto" #: src/Layouts/Views/Query.vala:436 src/Layouts/Views/Query.vala:482 msgid "Unable to process Query!" msgstr "Não é possível processar a consulta!" #: src/Layouts/Views/Query.vala:457 #, c-format msgid "%d Total Results" msgstr "Total de %d Resultados" #: src/Layouts/Views/Query.vala:492 #, fuzzy, c-format msgid "Query Successfully Executed! Rows Affected: %s" msgstr "Consulta Executada com Sucesso! Linhas Afetadas: " #: src/Layouts/Views/Query.vala:495 msgid "Query Executed!" msgstr "Consulta Executada!" #: src/Partials/LibraryItem.vala:107 src/Widgets/ConnectionDialog.vala:431 msgid "Connect" msgstr "Conectar" #: src/Partials/LibraryItem.vala:110 msgid "Edit Connection" msgstr "Editar Conexão" #: src/Partials/LibraryItem.vala:113 #, fuzzy msgid "Duplicate Connection" msgstr "Remover Conexão" #: src/Partials/LibraryItem.vala:116 msgid "Delete Connection" msgstr "Remover Conexão" #: src/Partials/LibraryItem.vala:126 msgid "Options" msgstr "Opções" #: src/Partials/TreeBuilder.vala:131 msgid "Error" msgstr "Erro" #: src/Partials/TreeBuilder.vala:131 msgid "on Column" msgstr "na Coluna" #: src/Partials/TreeBuilder.vala:172 #, c-format msgid "Copy %s" msgstr "" #: src/Services/Settings.vala:106 #, c-format msgid "%s (copy)" msgstr "" #: src/Services/ConnectionManager.vala:193 #, c-format msgid "Libssh2 initialization failed (%d)" msgstr "" #: src/Services/ConnectionManager.vala:202 msgid "Failed to open socket" msgstr "" #: src/Services/ConnectionManager.vala:211 #, fuzzy msgid "Failed to connect!" msgstr "Não é possível conectar-se a %s" #: src/Services/ConnectionManager.vala:223 #, c-format msgid "Error when starting up SSH session: %d" msgstr "" #: src/Services/ConnectionManager.vala:242 msgid "Authentication by password failed!" msgstr "" #: src/Services/ConnectionManager.vala:252 msgid "Authentication by public key failed!" msgstr "" #: src/Services/ConnectionManager.vala:259 msgid "No supported authentication methods found!" msgstr "" #: src/Services/ConnectionManager.vala:266 msgid "Failed to open listen socket" msgstr "" #: src/Services/ConnectionManager.vala:281 msgid "Failed to bind. Your Database Port may be wrong!" msgstr "" #: src/Services/ConnectionManager.vala:287 msgid "Failed to listen!" msgstr "" #: src/Services/ConnectionManager.vala:314 msgid "Failed to accept remote connection!" msgstr "" #: src/Services/ConnectionManager.vala:323 msgid "" "Could not open the direct-tcpip channel! (Note that this can be a problem at " "the server! Please review the server logs.)" msgstr "" #: src/Services/ConnectionManager.vala:566 msgid "Error!" msgstr "Erro!" #: src/Widgets/ConnectionDialog.vala:33 msgid "Missing SSH Key file!" msgstr "" #: src/Widgets/ConnectionDialog.vala:34 msgid "Missing SSH public key!" msgstr "" #: src/Widgets/ConnectionDialog.vala:89 src/Widgets/ConnectionDialog.vala:355 msgid "Connection" msgstr "Conexão" #: src/Widgets/ConnectionDialog.vala:141 #, fuzzy msgid "Select connection color" msgstr "Remover Conexão" #: src/Widgets/ConnectionDialog.vala:164 msgid "Connection Name:" msgstr "Nome da Conexão:" #: src/Widgets/ConnectionDialog.vala:165 msgid "Connection's name" msgstr "Nome da Conexão" #: src/Widgets/ConnectionDialog.vala:172 msgid "Database Type:" msgstr "Tipo de Banco de Dados:" #: src/Widgets/ConnectionDialog.vala:194 msgid "Host:" msgstr "Host:" #: src/Widgets/ConnectionDialog.vala:200 msgid "Database Name:" msgstr "Nome do Banco de Dados:" #: src/Widgets/ConnectionDialog.vala:207 msgid "Username:" msgstr "Usuário:" #: src/Widgets/ConnectionDialog.vala:213 msgid "Password:" msgstr "Senha:" #: src/Widgets/ConnectionDialog.vala:217 src/Widgets/ConnectionDialog.vala:227 #: src/Widgets/ConnectionDialog.vala:285 src/Widgets/ConnectionDialog.vala:295 #, fuzzy msgid "Show password" msgstr "Senha:" #: src/Widgets/ConnectionDialog.vala:224 src/Widgets/ConnectionDialog.vala:292 #, fuzzy msgid "Hide password" msgstr "Senha:" #: src/Widgets/ConnectionDialog.vala:234 msgid "Port:" msgstr "Porta:" #: src/Widgets/ConnectionDialog.vala:240 msgid "File Path:" msgstr "Caminho do Arquivo:" #: src/Widgets/ConnectionDialog.vala:241 msgid "Select Your SQLite File…" msgstr "Selecione seu Arquivo SQLite…" #: src/Widgets/ConnectionDialog.vala:261 #, fuzzy msgid "Connect via SSH Tunnel:" msgstr "Conectar via Terminal" #: src/Widgets/ConnectionDialog.vala:271 #, fuzzy msgid "SSH Host:" msgstr "Host:" #: src/Widgets/ConnectionDialog.vala:276 #, fuzzy msgid "SSH Username:" msgstr "Usuário:" #: src/Widgets/ConnectionDialog.vala:281 #, fuzzy msgid "SSH Password:" msgstr "Senha:" #: src/Widgets/ConnectionDialog.vala:301 #, fuzzy msgid "SSH Port:" msgstr "Porta:" #: src/Widgets/ConnectionDialog.vala:302 #, fuzzy msgid "Optional" msgstr "Opções" #: src/Widgets/ConnectionDialog.vala:306 msgid "SSH Identity" msgstr "" #: src/Widgets/ConnectionDialog.vala:308 #, fuzzy msgid "Select Your Identity File…" msgstr "Selecione seu Arquivo SQLite…" #: src/Widgets/ConnectionDialog.vala:324 msgid "Generate SSH Key" msgstr "" #: src/Widgets/ConnectionDialog.vala:356 #, fuzzy msgid "SSH Tunnel" msgstr "Conectar via Terminal" #: src/Widgets/ConnectionDialog.vala:426 msgid "Close" msgstr "Fechar" #: src/Widgets/ConnectionDialog.vala:427 msgid "Save Connection" msgstr "Salvar Conexão" #: src/Widgets/ConnectionDialog.vala:429 msgid "Test Connection" msgstr "Testar Conexão" #: src/Widgets/ConnectionDialog.vala:620 msgid "Opening SSH Tunnel…" msgstr "" #: src/Widgets/ConnectionDialog.vala:650 msgid "Testing Connection…" msgstr "Testando Conexão…" #: src/Widgets/ConnectionDialog.vala:661 msgid "Successfully Connected!" msgstr "Conectado com Sucesso!" #: src/Widgets/ConnectionDialog.vala:679 msgid "Saving Connection…" msgstr "Salvando Conexão…" #: src/Widgets/ConnectionDialog.vala:684 msgid "Connection Saved!" msgstr "Conexão Salva!" #: src/Widgets/ConnectionDialog.vala:692 msgid "Connecting…" msgstr "Conectando…" sequeler-0.8.0/po/ru.po000066400000000000000000000364371367531117400147750ustar00rootroot00000000000000# Russian translations for com.github.alecaddd.sequeler package. # Copyright (C) 2020 THE com.github.alecaddd.sequeler'S COPYRIGHT HOLDER # This file is distributed under the same license as the com.github.alecaddd.sequeler package. # Automatically generated, 2020. # msgid "" msgstr "" "Project-Id-Version: com.github.alecaddd.sequeler\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-11 12:37+0200\n" "PO-Revision-Date: 2020-05-19 14:41+0000\n" "Last-Translator: Acvarium <3dvits@gmail.com>\n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=" "4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 4.1-dev\n" #: src/Application.vala:62 msgid "Directories are not supported" msgstr "" #: src/Application.vala:68 msgid "Don't know what to do" msgstr "" #: src/Application.vala:80 msgid "Something completely unexpected happened" msgstr "" #: src/Layouts/HeaderBar.vala:46 src/Layouts/HeaderBar.vala:53 msgid "Logout" msgstr "ОтключитьÑÑ" #: src/Layouts/HeaderBar.vala:56 msgid "Light background" msgstr "Светлый фон" #: src/Layouts/HeaderBar.vala:57 msgid "Dark background" msgstr "Тёмный фон" #: src/Layouts/HeaderBar.vala:68 src/Layouts/Welcome.vala:39 msgid "New Window" msgstr "Ðовое окно" #: src/Layouts/HeaderBar.vala:71 src/Widgets/ConnectionDialog.vala:130 #: src/Widgets/ConnectionDialog.vala:165 msgid "New Connection" msgstr "Ðовое подключение" #: src/Layouts/HeaderBar.vala:74 msgid "Quit" msgstr "Выход" #: src/Layouts/HeaderBar.vala:94 msgid "Menu" msgstr "" #: src/Layouts/Main.vala:77 #, c-format msgid "Connected to %s" msgstr "ПодключитьÑÑ Ðº %s" #: src/Layouts/Library.vala:65 msgid "SAVED CONNECTIONS" msgstr "ПОДКЛЮЧЕÐИЯ" #: src/Layouts/Library.vala:74 msgid "Delete All" msgstr "Удалить вÑÑ‘" #: src/Layouts/Library.vala:81 msgid "Reload Library" msgstr "Перезагрузить библиотеку" #: src/Layouts/Library.vala:84 msgid "Export Library" msgstr "ЭкÑпортировать библиотеку" #: src/Layouts/Library.vala:215 src/Layouts/Library.vala:233 msgid "Are you sure you want to proceed?" msgstr "Ð’Ñ‹ дейÑтвительно хотите Ñделать Ñто?" #: src/Layouts/Library.vala:215 #, fuzzy msgid "By deleting this connection you won’t be able to recover this data." msgstr "Подключение будет удалено безвозвратно." #: src/Layouts/Library.vala:218 msgid "Yes, Delete!" msgstr "Да, удалить!" #: src/Layouts/Library.vala:233 #, fuzzy msgid "All the data will be deleted and you won’t be able to recover it." msgstr "Ð’Ñе Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ удалены безвозвратно." #: src/Layouts/Library.vala:236 msgid "Yes, Delete All!" msgstr "Да, удалить вÑÑ‘!" #: src/Layouts/Library.vala:330 src/Widgets/ConnectionDialog.vala:575 #: src/Widgets/ConnectionDialog.vala:596 msgid "A username is required in order to connect!" msgstr "" #: src/Layouts/Library.vala:404 src/Layouts/Views/Query.vala:528 msgid "Pick a file" msgstr "" #: src/Layouts/Library.vala:407 src/Layouts/Views/Query.vala:531 msgid "_Save" msgstr "_Сохранить" #: src/Layouts/Library.vala:408 src/Layouts/Welcome.vala:62 #: src/Layouts/Views/Query.vala:532 msgid "_Cancel" msgstr "_Отмена" #: src/Layouts/Library.vala:467 #, c-format msgid "Unable to Connect to %s" msgstr "Ðе удалоÑÑŒ подключитьÑÑ Ðº %s" #: src/Layouts/Library.vala:480 msgid "Unable to Export Library " msgstr "Ðе удалоÑÑŒ ÑкÑпортировать библиотеку " #: src/Layouts/Welcome.vala:28 msgid "Welcome to Sequeler" msgstr "Добро пожаловать в Sequeler" #: src/Layouts/Welcome.vala:29 #, fuzzy msgid "Connect to Any Local or Remote Database." msgstr "ПодключитеÑÑŒ к локальным или удалённым базам данных." #: src/Layouts/Welcome.vala:38 msgid "Add a New Database" msgstr "Добавить новую базу данных" #: src/Layouts/Welcome.vala:38 #, fuzzy msgid "Connect to a Database and Save It in Your Library" msgstr "ПодключитьÑÑ Ðº базе данных и Ñохранить её в вашей библиотеке" #: src/Layouts/Welcome.vala:39 #, fuzzy msgid "Open a New Sequeler Window" msgstr "Открыть новое окно Sequeler" #: src/Layouts/Welcome.vala:40 msgid "Import Connections" msgstr "Импортировать подключениÑ" #: src/Layouts/Welcome.vala:40 msgid "Import Previously Exported Sequeler Connections" msgstr "Импорт ранее ÑкÑпортированных Sequeler-подключений" #: src/Layouts/Welcome.vala:58 #, fuzzy msgid "Select a file" msgstr "Выберите таблицу" #: src/Layouts/Welcome.vala:61 msgid "_Open" msgstr "_Открыть" #: src/Layouts/Welcome.vala:107 msgid "Unable to Import Library " msgstr "Ðе удалоÑÑŒ импортировать библиотеку " #: src/Layouts/DataBaseSchema.vala:66 src/Layouts/DataBaseSchema.vala:167 msgid "- Select Database -" msgstr "- Выберите базу данных -" #: src/Layouts/DataBaseSchema.vala:87 msgid "Search Tables" msgstr "Ðайти таблицы" #: src/Layouts/DataBaseSchema.vala:98 msgid "Search Tables…" msgstr "ПоиÑк таблиц…" #: src/Layouts/DataBaseSchema.vala:120 msgid "Reload Tables" msgstr "Обновить таблицы" #: src/Layouts/DataBaseSchema.vala:125 msgid "Add Table" msgstr "Добавить таблицу" #: src/Layouts/DataBaseSchema.vala:289 msgid "TABLES" msgstr "ТÐБЛИЦЫ" #: src/Layouts/DataBaseView.vala:49 msgid "Structure" msgstr "Структура" #: src/Layouts/DataBaseView.vala:50 msgid "Content" msgstr "Данные" #: src/Layouts/DataBaseView.vala:51 msgid "Relations" msgstr "ОтношениÑ" #: src/Layouts/DataBaseView.vala:52 src/Layouts/DataBaseView.vala:229 #: src/Layouts/DataBaseView.vala:253 msgid "Query" msgstr "ЗапроÑ" #: src/Layouts/DataBaseView.vala:101 msgid "Zoom Out" msgstr "" #: src/Layouts/DataBaseView.vala:107 msgid "Zoom 1:1" msgstr "" #: src/Layouts/DataBaseView.vala:111 msgid "Zoom In" msgstr "" #: src/Layouts/DataBaseView.vala:124 msgid "High Contrast" msgstr "ОтношениÑ" #: src/Layouts/DataBaseView.vala:132 msgid "Solarized Light" msgstr "" #: src/Layouts/DataBaseView.vala:140 msgid "Solarized Dark" msgstr "" #: src/Layouts/DataBaseView.vala:163 msgid "Change Text Style" msgstr "" #: src/Layouts/DataBaseView.vala:222 msgid "Create a new Query Tab" msgstr "" #: src/Layouts/DataBaseView.vala:240 #, c-format msgid "Query %i" msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ %i" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select Table" msgstr "Выберите таблицу" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select a table from the left sidebar to activate this view." msgstr "Выберите таблицу на панели Ñлева Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸." #: src/Layouts/Views/Structure.vala:107 src/Layouts/Views/Structure.vala:145 #: src/Layouts/Views/Content.vala:179 src/Layouts/Views/Content.vala:218 #: src/Layouts/Views/Relations.vala:106 src/Layouts/Views/Relations.vala:144 #: src/Layouts/Views/Query.vala:323 msgid "No Results Available" msgstr "Ðет результатов" #: src/Layouts/Views/Structure.vala:118 src/Layouts/Views/Content.vala:191 #: src/Layouts/Views/Relations.vala:117 msgid "Reload Results" msgstr "Обновить результаты" #: src/Layouts/Views/Structure.vala:197 msgid " Fields" msgstr " ПолÑ" #: src/Layouts/Views/Content.vala:121 msgid "Previous Page" msgstr "" #: src/Layouts/Views/Content.vala:126 msgid "Next Page" msgstr "" #: src/Layouts/Views/Content.vala:131 #, c-format msgid "%d Pages" msgstr "" #: src/Layouts/Views/Content.vala:134 msgid "Jump to page…" msgstr "" #: src/Layouts/Views/Content.vala:165 msgid "1 Page" msgstr "" #: src/Layouts/Views/Content.vala:171 #, c-format msgid "%d of %d Pages" msgstr "" #: src/Layouts/Views/Content.vala:275 #, c-format msgid "%d Entries" msgstr "%d ЗапиÑи" #: src/Layouts/Views/Relations.vala:197 msgid " Constraints" msgstr " ОтношениÑ" #: src/Layouts/Views/Query.vala:279 msgid "Running Query…" msgstr "Выполнение запроÑа…" #: src/Layouts/Views/Query.vala:295 src/Layouts/Views/Query.vala:304 msgid "Run Query" msgstr "Выполнить запроÑ" #: src/Layouts/Views/Query.vala:356 msgid "Export Results" msgstr "ЭкÑпорт результатов" #: src/Layouts/Views/Query.vala:369 #, fuzzy msgid "Export as CSV" msgstr "ЭкÑпортировать в Csv" #: src/Layouts/Views/Query.vala:377 msgid "Export as Text" msgstr "ЭкÑпортировать в текÑÑ‚" #: src/Layouts/Views/Query.vala:436 src/Layouts/Views/Query.vala:482 msgid "Unable to process Query!" msgstr "Ðевозможно выполнить запроÑ!" #: src/Layouts/Views/Query.vala:457 #, c-format msgid "%d Total Results" msgstr "%d Общий результат" #: src/Layouts/Views/Query.vala:492 #, c-format msgid "Query Successfully Executed! Rows Affected: %s" msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½ уÑпешно! Строк обработано: %s" #: src/Layouts/Views/Query.vala:495 msgid "Query Executed!" msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½!" #: src/Partials/LibraryItem.vala:107 src/Widgets/ConnectionDialog.vala:431 msgid "Connect" msgstr "ПодключитьÑÑ" #: src/Partials/LibraryItem.vala:110 msgid "Edit Connection" msgstr "Изменить" #: src/Partials/LibraryItem.vala:113 #, fuzzy msgid "Duplicate Connection" msgstr "Удалить" #: src/Partials/LibraryItem.vala:116 msgid "Delete Connection" msgstr "Удалить" #: src/Partials/LibraryItem.vala:126 #, fuzzy msgid "Options" msgstr "ОтношениÑ" #: src/Partials/TreeBuilder.vala:131 msgid "Error" msgstr "Ошибка" #: src/Partials/TreeBuilder.vala:131 msgid "on Column" msgstr "" #: src/Partials/TreeBuilder.vala:172 #, c-format msgid "Copy %s" msgstr "" #: src/Services/Settings.vala:106 #, c-format msgid "%s (copy)" msgstr "" #: src/Services/ConnectionManager.vala:193 #, c-format msgid "Libssh2 initialization failed (%d)" msgstr "" #: src/Services/ConnectionManager.vala:202 msgid "Failed to open socket" msgstr "" #: src/Services/ConnectionManager.vala:211 msgid "Failed to connect!" msgstr "Ðе удалоÑÑŒ подключитьÑÑ!" #: src/Services/ConnectionManager.vala:223 #, c-format msgid "Error when starting up SSH session: %d" msgstr "" #: src/Services/ConnectionManager.vala:242 msgid "Authentication by password failed!" msgstr "" #: src/Services/ConnectionManager.vala:252 msgid "Authentication by public key failed!" msgstr "" #: src/Services/ConnectionManager.vala:259 msgid "No supported authentication methods found!" msgstr "" #: src/Services/ConnectionManager.vala:266 msgid "Failed to open listen socket" msgstr "" #: src/Services/ConnectionManager.vala:281 msgid "Failed to bind. Your Database Port may be wrong!" msgstr "" #: src/Services/ConnectionManager.vala:287 msgid "Failed to listen!" msgstr "" #: src/Services/ConnectionManager.vala:314 msgid "Failed to accept remote connection!" msgstr "" #: src/Services/ConnectionManager.vala:323 msgid "" "Could not open the direct-tcpip channel! (Note that this can be a problem at " "the server! Please review the server logs.)" msgstr "" #: src/Services/ConnectionManager.vala:566 msgid "Error!" msgstr "Ошибка!" #: src/Widgets/ConnectionDialog.vala:33 msgid "Missing SSH Key file!" msgstr "" #: src/Widgets/ConnectionDialog.vala:34 msgid "Missing SSH public key!" msgstr "" #: src/Widgets/ConnectionDialog.vala:89 src/Widgets/ConnectionDialog.vala:355 msgid "Connection" msgstr "Подключение" #: src/Widgets/ConnectionDialog.vala:141 #, fuzzy msgid "Select connection color" msgstr "Удалить" #: src/Widgets/ConnectionDialog.vala:164 msgid "Connection Name:" msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ:" #: src/Widgets/ConnectionDialog.vala:165 msgid "Connection's name" msgstr "Имена подключений" #: src/Widgets/ConnectionDialog.vala:172 msgid "Database Type:" msgstr "Тип БД:" #: src/Widgets/ConnectionDialog.vala:194 msgid "Host:" msgstr "Сервер:" #: src/Widgets/ConnectionDialog.vala:200 msgid "Database Name:" msgstr "Ð˜Ð¼Ñ Ð‘Ð”:" #: src/Widgets/ConnectionDialog.vala:207 msgid "Username:" msgstr "Пользователь:" #: src/Widgets/ConnectionDialog.vala:213 msgid "Password:" msgstr "Пароль:" #: src/Widgets/ConnectionDialog.vala:217 src/Widgets/ConnectionDialog.vala:227 #: src/Widgets/ConnectionDialog.vala:285 src/Widgets/ConnectionDialog.vala:295 #, fuzzy msgid "Show password" msgstr "Пароль:" #: src/Widgets/ConnectionDialog.vala:224 src/Widgets/ConnectionDialog.vala:292 #, fuzzy msgid "Hide password" msgstr "Пароль:" #: src/Widgets/ConnectionDialog.vala:234 msgid "Port:" msgstr "Порт:" #: src/Widgets/ConnectionDialog.vala:240 msgid "File Path:" msgstr "Файл:" #: src/Widgets/ConnectionDialog.vala:241 #, fuzzy msgid "Select Your SQLite File…" msgstr "Выберите SQLite-файл…" #: src/Widgets/ConnectionDialog.vala:261 #, fuzzy msgid "Connect via SSH Tunnel:" msgstr "ПодключитьÑÑ Ñ‡ÐµÑ€ÐµÐ· терминал" #: src/Widgets/ConnectionDialog.vala:271 #, fuzzy msgid "SSH Host:" msgstr "Сервер:" #: src/Widgets/ConnectionDialog.vala:276 #, fuzzy msgid "SSH Username:" msgstr "Пользователь:" #: src/Widgets/ConnectionDialog.vala:281 #, fuzzy msgid "SSH Password:" msgstr "Пароль:" #: src/Widgets/ConnectionDialog.vala:301 #, fuzzy msgid "SSH Port:" msgstr "Порт:" #: src/Widgets/ConnectionDialog.vala:302 #, fuzzy msgid "Optional" msgstr "ОтношениÑ" #: src/Widgets/ConnectionDialog.vala:306 msgid "SSH Identity" msgstr "" #: src/Widgets/ConnectionDialog.vala:308 #, fuzzy msgid "Select Your Identity File…" msgstr "Выберите SQLite-файл…" #: src/Widgets/ConnectionDialog.vala:324 msgid "Generate SSH Key" msgstr "" #: src/Widgets/ConnectionDialog.vala:356 #, fuzzy msgid "SSH Tunnel" msgstr "ПодключитьÑÑ Ñ‡ÐµÑ€ÐµÐ· терминал" #: src/Widgets/ConnectionDialog.vala:426 msgid "Close" msgstr "Закрыть" #: src/Widgets/ConnectionDialog.vala:427 msgid "Save Connection" msgstr "Сохранить" #: src/Widgets/ConnectionDialog.vala:429 msgid "Test Connection" msgstr "Проверить" #: src/Widgets/ConnectionDialog.vala:620 msgid "Opening SSH Tunnel…" msgstr "" #: src/Widgets/ConnectionDialog.vala:650 msgid "Testing Connection…" msgstr "Проверка подключениÑ…" #: src/Widgets/ConnectionDialog.vala:661 msgid "Successfully Connected!" msgstr "Подключение уÑпешно!" #: src/Widgets/ConnectionDialog.vala:679 msgid "Saving Connection…" msgstr "Сохранение подключениÑ…" #: src/Widgets/ConnectionDialog.vala:684 msgid "Connection Saved!" msgstr "Подключение Ñохранено!" #: src/Widgets/ConnectionDialog.vala:692 msgid "Connecting…" msgstr "Подключение…" sequeler-0.8.0/po/tr.po000066400000000000000000000342131367531117400147620ustar00rootroot00000000000000# Turkish translations for com.github.alecaddd.sequeler package. # Copyright (C) 2020 THE com.github.alecaddd.sequeler'S COPYRIGHT HOLDER # This file is distributed under the same license as the com.github.alecaddd.sequeler package. # ÇaÄŸatay YiÄŸit Åžahin , 2020. # msgid "" msgstr "" "Project-Id-Version: com.github.alecaddd.sequeler\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-11 12:37+0200\n" "PO-Revision-Date: 2020-04-28 21:11+0000\n" "Last-Translator: Recep Alaca \n" "Language-Team: Turkish \n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.0.2\n" #: src/Application.vala:62 msgid "Directories are not supported" msgstr "Dizinler desteklenmiyor" #: src/Application.vala:68 msgid "Don't know what to do" msgstr "" #: src/Application.vala:80 msgid "Something completely unexpected happened" msgstr "Tamamıyla beklenmeyen bir ÅŸey oldu" #: src/Layouts/HeaderBar.vala:46 src/Layouts/HeaderBar.vala:53 msgid "Logout" msgstr "Çıkış" #: src/Layouts/HeaderBar.vala:56 #, fuzzy msgid "Light background" msgstr "Koyu arka plan" #: src/Layouts/HeaderBar.vala:57 msgid "Dark background" msgstr "Koyu arka plan" #: src/Layouts/HeaderBar.vala:68 src/Layouts/Welcome.vala:39 msgid "New Window" msgstr "Yeni Pencere" #: src/Layouts/HeaderBar.vala:71 src/Widgets/ConnectionDialog.vala:130 #: src/Widgets/ConnectionDialog.vala:165 msgid "New Connection" msgstr "Yeni BaÄŸlantı" #: src/Layouts/HeaderBar.vala:74 msgid "Quit" msgstr "Çık" #: src/Layouts/HeaderBar.vala:94 msgid "Menu" msgstr "" #: src/Layouts/Main.vala:77 #, fuzzy, c-format msgid "Connected to %s" msgstr "BaÄŸlı " #: src/Layouts/Library.vala:65 msgid "SAVED CONNECTIONS" msgstr "KAYITLI BAÄžLANTILAR" #: src/Layouts/Library.vala:74 msgid "Delete All" msgstr "Hepsini Sil" #: src/Layouts/Library.vala:81 msgid "Reload Library" msgstr "Kütüphaneyi Yeniden Yükle" #: src/Layouts/Library.vala:84 msgid "Export Library" msgstr "Kütüphaneyi Dışa Aktar" #: src/Layouts/Library.vala:215 src/Layouts/Library.vala:233 msgid "Are you sure you want to proceed?" msgstr "Devam etmek istediÄŸinize emin misiniz?" #: src/Layouts/Library.vala:215 #, fuzzy msgid "By deleting this connection you won’t be able to recover this data." msgstr "Bu baÄŸlantıyı silerek, bu veriyi kurtaramayacaksınız." #: src/Layouts/Library.vala:218 msgid "Yes, Delete!" msgstr "Evet, Sil!" #: src/Layouts/Library.vala:233 #, fuzzy msgid "All the data will be deleted and you won’t be able to recover it." msgstr "Tüm veri silinecek ve kurtarılamayacak." #: src/Layouts/Library.vala:236 msgid "Yes, Delete All!" msgstr "Evet, Hepsini Sil!" #: src/Layouts/Library.vala:330 src/Widgets/ConnectionDialog.vala:575 #: src/Widgets/ConnectionDialog.vala:596 msgid "A username is required in order to connect!" msgstr "" #: src/Layouts/Library.vala:404 src/Layouts/Views/Query.vala:528 msgid "Pick a file" msgstr "" #: src/Layouts/Library.vala:407 src/Layouts/Views/Query.vala:531 msgid "_Save" msgstr "_Kaydet" #: src/Layouts/Library.vala:408 src/Layouts/Welcome.vala:62 #: src/Layouts/Views/Query.vala:532 msgid "_Cancel" msgstr "_İptal Et" #: src/Layouts/Library.vala:467 #, fuzzy, c-format msgid "Unable to Connect to %s" msgstr "BaÄŸlanılamadı " #: src/Layouts/Library.vala:480 msgid "Unable to Export Library " msgstr "Kütüphane Dışa Aktarılamadı" #: src/Layouts/Welcome.vala:28 msgid "Welcome to Sequeler" msgstr "Sequeler‘a HoÅŸ Geldiniz" #: src/Layouts/Welcome.vala:29 #, fuzzy msgid "Connect to Any Local or Remote Database." msgstr "Herhangi Bir Yerel veya Uzak Veri Tabanına BaÄŸlan." #: src/Layouts/Welcome.vala:38 msgid "Add a New Database" msgstr "Yeni Bir Veri Tabanı Ekle" #: src/Layouts/Welcome.vala:38 #, fuzzy msgid "Connect to a Database and Save It in Your Library" msgstr "Bir Veri Tabanına BaÄŸlan ve Kütüphanene Kaydet" #: src/Layouts/Welcome.vala:39 #, fuzzy msgid "Open a New Sequeler Window" msgstr "Yeni bir Sequeler Penceresi Aç" #: src/Layouts/Welcome.vala:40 msgid "Import Connections" msgstr "BaÄŸlantıları İçe Aktar" #: src/Layouts/Welcome.vala:40 msgid "Import Previously Exported Sequeler Connections" msgstr "Önceden Dışa Aktarılmış Sequeler BaÄŸlantılarını İçe Aktar" #: src/Layouts/Welcome.vala:58 #, fuzzy msgid "Select a file" msgstr "Tablo Seç" #: src/Layouts/Welcome.vala:61 msgid "_Open" msgstr "_Aç" #: src/Layouts/Welcome.vala:107 msgid "Unable to Import Library " msgstr "Kütüphane İçe Aktarılamadı" #: src/Layouts/DataBaseSchema.vala:66 src/Layouts/DataBaseSchema.vala:167 msgid "- Select Database -" msgstr "- Veri Tabanı Seç -" #: src/Layouts/DataBaseSchema.vala:87 msgid "Search Tables" msgstr "Tabloları Ara" #: src/Layouts/DataBaseSchema.vala:98 msgid "Search Tables…" msgstr "Tabloları Ara…" #: src/Layouts/DataBaseSchema.vala:120 msgid "Reload Tables" msgstr "Tabloları Yeniden Yükle" #: src/Layouts/DataBaseSchema.vala:125 msgid "Add Table" msgstr "Tablo Ekle" #: src/Layouts/DataBaseSchema.vala:289 msgid "TABLES" msgstr "TABLOLAR" #: src/Layouts/DataBaseView.vala:49 msgid "Structure" msgstr "Yapı" #: src/Layouts/DataBaseView.vala:50 msgid "Content" msgstr "İçerik" #: src/Layouts/DataBaseView.vala:51 msgid "Relations" msgstr "İliÅŸkiler" #: src/Layouts/DataBaseView.vala:52 src/Layouts/DataBaseView.vala:229 #: src/Layouts/DataBaseView.vala:253 msgid "Query" msgstr "Sorgu" #: src/Layouts/DataBaseView.vala:101 msgid "Zoom Out" msgstr "" #: src/Layouts/DataBaseView.vala:107 msgid "Zoom 1:1" msgstr "" #: src/Layouts/DataBaseView.vala:111 msgid "Zoom In" msgstr "" #: src/Layouts/DataBaseView.vala:124 #, fuzzy msgid "High Contrast" msgstr " Kısıtlar" #: src/Layouts/DataBaseView.vala:132 msgid "Solarized Light" msgstr "" #: src/Layouts/DataBaseView.vala:140 msgid "Solarized Dark" msgstr "" #: src/Layouts/DataBaseView.vala:163 msgid "Change Text Style" msgstr "" #: src/Layouts/DataBaseView.vala:222 msgid "Create a new Query Tab" msgstr "" #: src/Layouts/DataBaseView.vala:240 #, fuzzy, c-format msgid "Query %i" msgstr "Sorgu" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select Table" msgstr "Tablo Seç" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select a table from the left sidebar to activate this view." msgstr "" "Bu görünümü etkinleÅŸtirmek için soldaki kenar çubuÄŸundan bir tablo seç." #: src/Layouts/Views/Structure.vala:107 src/Layouts/Views/Structure.vala:145 #: src/Layouts/Views/Content.vala:179 src/Layouts/Views/Content.vala:218 #: src/Layouts/Views/Relations.vala:106 src/Layouts/Views/Relations.vala:144 #: src/Layouts/Views/Query.vala:323 msgid "No Results Available" msgstr "Sonuç Yok" #: src/Layouts/Views/Structure.vala:118 src/Layouts/Views/Content.vala:191 #: src/Layouts/Views/Relations.vala:117 msgid "Reload Results" msgstr "Sonuçları Yeniden Yükle" #: src/Layouts/Views/Structure.vala:197 msgid " Fields" msgstr " Alanlar" #: src/Layouts/Views/Content.vala:121 msgid "Previous Page" msgstr "" #: src/Layouts/Views/Content.vala:126 msgid "Next Page" msgstr "" #: src/Layouts/Views/Content.vala:131 #, c-format msgid "%d Pages" msgstr "" #: src/Layouts/Views/Content.vala:134 msgid "Jump to page…" msgstr "" #: src/Layouts/Views/Content.vala:165 msgid "1 Page" msgstr "" #: src/Layouts/Views/Content.vala:171 #, c-format msgid "%d of %d Pages" msgstr "" #: src/Layouts/Views/Content.vala:275 #, fuzzy, c-format msgid "%d Entries" msgstr " Girdiler" #: src/Layouts/Views/Relations.vala:197 msgid " Constraints" msgstr " Kısıtlar" #: src/Layouts/Views/Query.vala:279 msgid "Running Query…" msgstr "Sorgu Çalıştırılıyor…" #: src/Layouts/Views/Query.vala:295 src/Layouts/Views/Query.vala:304 msgid "Run Query" msgstr "Sorguyu Çalıştır" #: src/Layouts/Views/Query.vala:356 msgid "Export Results" msgstr "Sonuçları Dışa Aktar" #: src/Layouts/Views/Query.vala:369 #, fuzzy msgid "Export as CSV" msgstr "Csv Olarak Dışa Aktar" #: src/Layouts/Views/Query.vala:377 msgid "Export as Text" msgstr "Metin Olarak Dışa Aktar" #: src/Layouts/Views/Query.vala:436 src/Layouts/Views/Query.vala:482 msgid "Unable to process Query!" msgstr "Sorgu iÅŸlenemedi!" #: src/Layouts/Views/Query.vala:457 #, fuzzy, c-format msgid "%d Total Results" msgstr " Toplam Sonuç" #: src/Layouts/Views/Query.vala:492 #, fuzzy, c-format msgid "Query Successfully Executed! Rows Affected: %s" msgstr "Sorgu BaÅŸarıyla Çalıştırıldı! Etkilenen satırlar: " #: src/Layouts/Views/Query.vala:495 msgid "Query Executed!" msgstr "Sorgu Çalıştırıldı!" #: src/Partials/LibraryItem.vala:107 src/Widgets/ConnectionDialog.vala:431 msgid "Connect" msgstr "BaÄŸlan" #: src/Partials/LibraryItem.vala:110 msgid "Edit Connection" msgstr "BaÄŸlantıyı Düzenle" #: src/Partials/LibraryItem.vala:113 #, fuzzy msgid "Duplicate Connection" msgstr "BaÄŸlantıyı Sil" #: src/Partials/LibraryItem.vala:116 msgid "Delete Connection" msgstr "BaÄŸlantıyı Sil" #: src/Partials/LibraryItem.vala:126 #, fuzzy msgid "Options" msgstr "İliÅŸkiler" #: src/Partials/TreeBuilder.vala:131 #, fuzzy msgid "Error" msgstr "Hata!" #: src/Partials/TreeBuilder.vala:131 msgid "on Column" msgstr "" #: src/Partials/TreeBuilder.vala:172 #, c-format msgid "Copy %s" msgstr "" #: src/Services/Settings.vala:106 #, c-format msgid "%s (copy)" msgstr "" #: src/Services/ConnectionManager.vala:193 #, c-format msgid "Libssh2 initialization failed (%d)" msgstr "" #: src/Services/ConnectionManager.vala:202 msgid "Failed to open socket" msgstr "" #: src/Services/ConnectionManager.vala:211 #, fuzzy msgid "Failed to connect!" msgstr "BaÄŸlanılamadı " #: src/Services/ConnectionManager.vala:223 #, c-format msgid "Error when starting up SSH session: %d" msgstr "" #: src/Services/ConnectionManager.vala:242 msgid "Authentication by password failed!" msgstr "" #: src/Services/ConnectionManager.vala:252 msgid "Authentication by public key failed!" msgstr "" #: src/Services/ConnectionManager.vala:259 msgid "No supported authentication methods found!" msgstr "" #: src/Services/ConnectionManager.vala:266 msgid "Failed to open listen socket" msgstr "" #: src/Services/ConnectionManager.vala:281 msgid "Failed to bind. Your Database Port may be wrong!" msgstr "" #: src/Services/ConnectionManager.vala:287 msgid "Failed to listen!" msgstr "" #: src/Services/ConnectionManager.vala:314 msgid "Failed to accept remote connection!" msgstr "" #: src/Services/ConnectionManager.vala:323 msgid "" "Could not open the direct-tcpip channel! (Note that this can be a problem at " "the server! Please review the server logs.)" msgstr "" #: src/Services/ConnectionManager.vala:566 msgid "Error!" msgstr "Hata!" #: src/Widgets/ConnectionDialog.vala:33 msgid "Missing SSH Key file!" msgstr "" #: src/Widgets/ConnectionDialog.vala:34 msgid "Missing SSH public key!" msgstr "" #: src/Widgets/ConnectionDialog.vala:89 src/Widgets/ConnectionDialog.vala:355 msgid "Connection" msgstr "BaÄŸlantı" #: src/Widgets/ConnectionDialog.vala:141 #, fuzzy msgid "Select connection color" msgstr "BaÄŸlantıyı Sil" #: src/Widgets/ConnectionDialog.vala:164 msgid "Connection Name:" msgstr "BaÄŸlantı Adı:" #: src/Widgets/ConnectionDialog.vala:165 msgid "Connection's name" msgstr "BaÄŸlantının adı" #: src/Widgets/ConnectionDialog.vala:172 msgid "Database Type:" msgstr "Veri Tabanı Türü:" #: src/Widgets/ConnectionDialog.vala:194 msgid "Host:" msgstr "Ana Makine:" #: src/Widgets/ConnectionDialog.vala:200 msgid "Database Name:" msgstr "Veri Tabanı Adı:" #: src/Widgets/ConnectionDialog.vala:207 msgid "Username:" msgstr "Kullanıcı Adı:" #: src/Widgets/ConnectionDialog.vala:213 msgid "Password:" msgstr "Parola:" #: src/Widgets/ConnectionDialog.vala:217 src/Widgets/ConnectionDialog.vala:227 #: src/Widgets/ConnectionDialog.vala:285 src/Widgets/ConnectionDialog.vala:295 #, fuzzy msgid "Show password" msgstr "Parola:" #: src/Widgets/ConnectionDialog.vala:224 src/Widgets/ConnectionDialog.vala:292 #, fuzzy msgid "Hide password" msgstr "Parola:" #: src/Widgets/ConnectionDialog.vala:234 msgid "Port:" msgstr "BaÄŸlantı Kapısı:" #: src/Widgets/ConnectionDialog.vala:240 msgid "File Path:" msgstr "Dosya Yolu:" #: src/Widgets/ConnectionDialog.vala:241 #, fuzzy msgid "Select Your SQLite File…" msgstr "SQLite Dosyanı Seç…" #: src/Widgets/ConnectionDialog.vala:261 msgid "Connect via SSH Tunnel:" msgstr "" #: src/Widgets/ConnectionDialog.vala:271 #, fuzzy msgid "SSH Host:" msgstr "Ana Makine:" #: src/Widgets/ConnectionDialog.vala:276 #, fuzzy msgid "SSH Username:" msgstr "Kullanıcı Adı:" #: src/Widgets/ConnectionDialog.vala:281 #, fuzzy msgid "SSH Password:" msgstr "Parola:" #: src/Widgets/ConnectionDialog.vala:301 #, fuzzy msgid "SSH Port:" msgstr "BaÄŸlantı Kapısı:" #: src/Widgets/ConnectionDialog.vala:302 #, fuzzy msgid "Optional" msgstr "İliÅŸkiler" #: src/Widgets/ConnectionDialog.vala:306 msgid "SSH Identity" msgstr "" #: src/Widgets/ConnectionDialog.vala:308 #, fuzzy msgid "Select Your Identity File…" msgstr "SQLite Dosyanı Seç…" #: src/Widgets/ConnectionDialog.vala:324 msgid "Generate SSH Key" msgstr "SSH Anahtarı OluÅŸtur" #: src/Widgets/ConnectionDialog.vala:356 msgid "SSH Tunnel" msgstr "" #: src/Widgets/ConnectionDialog.vala:426 msgid "Close" msgstr "Kapat" #: src/Widgets/ConnectionDialog.vala:427 msgid "Save Connection" msgstr "BaÄŸlantıyı Kaydet" #: src/Widgets/ConnectionDialog.vala:429 msgid "Test Connection" msgstr "BaÄŸlantıyı Sına" #: src/Widgets/ConnectionDialog.vala:620 msgid "Opening SSH Tunnel…" msgstr "" #: src/Widgets/ConnectionDialog.vala:650 msgid "Testing Connection…" msgstr "BaÄŸlantı Sınanıyor…" #: src/Widgets/ConnectionDialog.vala:661 msgid "Successfully Connected!" msgstr "BaÄŸlantı BaÅŸarılı!" #: src/Widgets/ConnectionDialog.vala:679 msgid "Saving Connection…" msgstr "BaÄŸlantı Kaydediliyor…" #: src/Widgets/ConnectionDialog.vala:684 msgid "Connection Saved!" msgstr "BaÄŸlantı Kaydedildi!" #: src/Widgets/ConnectionDialog.vala:692 msgid "Connecting…" msgstr "BaÄŸlanıyor…" sequeler-0.8.0/po/uk.po000066400000000000000000000420461367531117400147570ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the com.github.alecaddd.sequeler package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: com.github.alecaddd.sequeler\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-11 12:37+0200\n" "PO-Revision-Date: 2020-05-25 22:41+0000\n" "Last-Translator: Acvarium <3dvits@gmail.com>\n" "Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 4.1-dev\n" #: src/Application.vala:62 msgid "Directories are not supported" msgstr "Директорії не підтримуютьÑÑ" #: src/Application.vala:68 msgid "Don't know what to do" msgstr "Ðе знаю, що робити" #: src/Application.vala:80 msgid "Something completely unexpected happened" msgstr "СталоÑÑ Ð´ÐµÑ‰Ð¾ неочікуване" #: src/Layouts/HeaderBar.vala:46 src/Layouts/HeaderBar.vala:53 msgid "Logout" msgstr "Від'єднатиÑÑ" #: src/Layouts/HeaderBar.vala:56 msgid "Light background" msgstr "Світлий фон" #: src/Layouts/HeaderBar.vala:57 msgid "Dark background" msgstr "Темний фон" #: src/Layouts/HeaderBar.vala:68 src/Layouts/Welcome.vala:39 msgid "New Window" msgstr "Ðове вікно" #: src/Layouts/HeaderBar.vala:71 src/Widgets/ConnectionDialog.vala:130 #: src/Widgets/ConnectionDialog.vala:165 msgid "New Connection" msgstr "Ðове з'єднаннÑ" #: src/Layouts/HeaderBar.vala:74 msgid "Quit" msgstr "Вийти" #: src/Layouts/HeaderBar.vala:94 msgid "Menu" msgstr "Меню" #: src/Layouts/Main.vala:77 #, c-format msgid "Connected to %s" msgstr "Під'єднано до %s" #: src/Layouts/Library.vala:65 msgid "SAVED CONNECTIONS" msgstr "ЗБЕРЕЖЕÐІ З'ЄДÐÐÐÐЯ" #: src/Layouts/Library.vala:74 msgid "Delete All" msgstr "Видалити вÑе" #: src/Layouts/Library.vala:81 msgid "Reload Library" msgstr "Оновити бібліотеку" #: src/Layouts/Library.vala:84 msgid "Export Library" msgstr "ЕкÑпортувати бібліотеку" #: src/Layouts/Library.vala:215 src/Layouts/Library.vala:233 msgid "Are you sure you want to proceed?" msgstr "Ви впевнені в тому, що хочете продовжити?" #: src/Layouts/Library.vala:215 msgid "By deleting this connection you won’t be able to recover this data." msgstr "Видаливши це з'єднаннÑ, ви не зможете відновити ці дані." #: src/Layouts/Library.vala:218 msgid "Yes, Delete!" msgstr "Так, видалити!" #: src/Layouts/Library.vala:233 msgid "All the data will be deleted and you won’t be able to recover it." msgstr "Ð’ÑÑ– дані буде видалено, Ñ– ви не матимете можливоÑті відновити Ñ—Ñ…." #: src/Layouts/Library.vala:236 msgid "Yes, Delete All!" msgstr "Так, видалити вÑе!" #: src/Layouts/Library.vala:330 src/Widgets/ConnectionDialog.vala:575 #: src/Widgets/ConnectionDialog.vala:596 msgid "A username is required in order to connect!" msgstr "ВимагаєтьÑÑ Ñ–Ð¼'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача, Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, щоб з'єднатиÑÑŒ!" #: src/Layouts/Library.vala:404 src/Layouts/Views/Query.vala:528 msgid "Pick a file" msgstr "Виберіть файл" #: src/Layouts/Library.vala:407 src/Layouts/Views/Query.vala:531 msgid "_Save" msgstr "_Зберегти" #: src/Layouts/Library.vala:408 src/Layouts/Welcome.vala:62 #: src/Layouts/Views/Query.vala:532 msgid "_Cancel" msgstr "_Відмінити" #: src/Layouts/Library.vala:467 #, c-format msgid "Unable to Connect to %s" msgstr "Ðе можливо з'єднатиÑÑŒ з %s" #: src/Layouts/Library.vala:480 msgid "Unable to Export Library " msgstr "Ðе можливо екÑпортувати бібліотеку " #: src/Layouts/Welcome.vala:28 msgid "Welcome to Sequeler" msgstr "Вітаємо в Sequeler" #: src/Layouts/Welcome.vala:29 msgid "Connect to Any Local or Remote Database." msgstr "Під'єднайтеÑÑŒ до будь-Ñкої локальної чи віддаленої бази даних." #: src/Layouts/Welcome.vala:38 msgid "Add a New Database" msgstr "Додати нову базу даних" #: src/Layouts/Welcome.vala:38 msgid "Connect to a Database and Save It in Your Library" msgstr "З'єднатиÑÑŒ з базою даних та додати Ñ—Ñ— до Вашої бібліотеки" #: src/Layouts/Welcome.vala:39 msgid "Open a New Sequeler Window" msgstr "Відкрити нове вікно Sequeler" #: src/Layouts/Welcome.vala:40 msgid "Import Connections" msgstr "Імпортувати з'єднаннÑ" #: src/Layouts/Welcome.vala:40 msgid "Import Previously Exported Sequeler Connections" msgstr "Імпортувати попередньо екÑпортовані з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Sequeler" #: src/Layouts/Welcome.vala:58 msgid "Select a file" msgstr "Виділити файл" #: src/Layouts/Welcome.vala:61 msgid "_Open" msgstr "Відкрити" #: src/Layouts/Welcome.vala:107 msgid "Unable to Import Library " msgstr "Ðе вдалоÑÑŒ імпортувати бібліотеку " #: src/Layouts/DataBaseSchema.vala:66 src/Layouts/DataBaseSchema.vala:167 msgid "- Select Database -" msgstr "_ Вибрати базу даних -" #: src/Layouts/DataBaseSchema.vala:87 msgid "Search Tables" msgstr "Шукати таблицю" #: src/Layouts/DataBaseSchema.vala:98 msgid "Search Tables…" msgstr "Пошук таблиць…" #: src/Layouts/DataBaseSchema.vala:120 msgid "Reload Tables" msgstr "Оновити таблиці" #: src/Layouts/DataBaseSchema.vala:125 msgid "Add Table" msgstr "Додати таблицю" #: src/Layouts/DataBaseSchema.vala:289 msgid "TABLES" msgstr "ТÐБЛИЦІ" #: src/Layouts/DataBaseView.vala:49 msgid "Structure" msgstr "Структура" #: src/Layouts/DataBaseView.vala:50 msgid "Content" msgstr "ВміÑÑ‚" #: src/Layouts/DataBaseView.vala:51 msgid "Relations" msgstr "ВідношеннÑ" #: src/Layouts/DataBaseView.vala:52 src/Layouts/DataBaseView.vala:229 #: src/Layouts/DataBaseView.vala:253 msgid "Query" msgstr "Запит" #: src/Layouts/DataBaseView.vala:101 msgid "Zoom Out" msgstr "Віддалити" #: src/Layouts/DataBaseView.vala:107 msgid "Zoom 1:1" msgstr "Ð—Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ 1:1" #: src/Layouts/DataBaseView.vala:111 msgid "Zoom In" msgstr "Ðаблизити" #: src/Layouts/DataBaseView.vala:124 msgid "High Contrast" msgstr "Великий контраÑÑ‚" #: src/Layouts/DataBaseView.vala:132 msgid "Solarized Light" msgstr "СонÑчна Ñвітла" #: src/Layouts/DataBaseView.vala:140 msgid "Solarized Dark" msgstr "СонÑчна темна" #: src/Layouts/DataBaseView.vala:163 msgid "Change Text Style" msgstr "Змінити Ñтиль текÑту" #: src/Layouts/DataBaseView.vala:222 msgid "Create a new Query Tab" msgstr "Створити нову вкладку запитів" #: src/Layouts/DataBaseView.vala:240 #, c-format msgid "Query %i" msgstr "Запит %i" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select Table" msgstr "Вибрати таблицю" #: src/Layouts/Views/Structure.vala:79 src/Layouts/Views/Content.vala:90 #: src/Layouts/Views/Relations.vala:78 msgid "Select a table from the left sidebar to activate this view." msgstr "Обрати таблицю з лівої бічної панелі, щоб активувати цей переглÑд." #: src/Layouts/Views/Structure.vala:107 src/Layouts/Views/Structure.vala:145 #: src/Layouts/Views/Content.vala:179 src/Layouts/Views/Content.vala:218 #: src/Layouts/Views/Relations.vala:106 src/Layouts/Views/Relations.vala:144 #: src/Layouts/Views/Query.vala:323 msgid "No Results Available" msgstr "Ðемає доÑтупних результатів" #: src/Layouts/Views/Structure.vala:118 src/Layouts/Views/Content.vala:191 #: src/Layouts/Views/Relations.vala:117 msgid "Reload Results" msgstr "Оновити результати" #: src/Layouts/Views/Structure.vala:197 msgid " Fields" msgstr " ПолÑ" #: src/Layouts/Views/Content.vala:121 msgid "Previous Page" msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ Ñторінка" #: src/Layouts/Views/Content.vala:126 msgid "Next Page" msgstr "ÐаÑтупна Ñторінка" #: src/Layouts/Views/Content.vala:131 #, c-format msgid "%d Pages" msgstr "%d Ñторінки" #: src/Layouts/Views/Content.vala:134 msgid "Jump to page…" msgstr "Стрибнути до Ñторінки…" #: src/Layouts/Views/Content.vala:165 msgid "1 Page" msgstr "1 Сторінка" #: src/Layouts/Views/Content.vala:171 #, c-format msgid "%d of %d Pages" msgstr "%d з %d Ñторінок" #: src/Layouts/Views/Content.vala:275 #, c-format msgid "%d Entries" msgstr "%d ЗапиÑи" #: src/Layouts/Views/Relations.vala:197 msgid " Constraints" msgstr " ОбмеженнÑ" #: src/Layouts/Views/Query.vala:279 msgid "Running Query…" msgstr "Працює запит…" #: src/Layouts/Views/Query.vala:295 src/Layouts/Views/Query.vala:304 msgid "Run Query" msgstr "ЗапуÑтити запит" #: src/Layouts/Views/Query.vala:356 msgid "Export Results" msgstr "ЕкÑпортувати результат" #: src/Layouts/Views/Query.vala:369 msgid "Export as CSV" msgstr "ЕкÑпортувати Ñк CSV" #: src/Layouts/Views/Query.vala:377 msgid "Export as Text" msgstr "ЕкÑпортувати Ñк текÑÑ‚" #: src/Layouts/Views/Query.vala:436 src/Layouts/Views/Query.vala:482 msgid "Unable to process Query!" msgstr "Ðе можливо опрацювати запит!" #: src/Layouts/Views/Query.vala:457 #, c-format msgid "%d Total Results" msgstr "%d Загальних результатів" #: src/Layouts/Views/Query.vala:492 #, c-format msgid "Query Successfully Executed! Rows Affected: %s" msgstr "Запит уÑпішно виконано! Уражені Ñ€Ñдки: %s" #: src/Layouts/Views/Query.vala:495 msgid "Query Executed!" msgstr "Запит очікуєтьÑÑ!" #: src/Partials/LibraryItem.vala:107 src/Widgets/ConnectionDialog.vala:431 msgid "Connect" msgstr "З'єднати" #: src/Partials/LibraryItem.vala:110 msgid "Edit Connection" msgstr "Редагувати з'єднаннÑ" #: src/Partials/LibraryItem.vala:113 msgid "Duplicate Connection" msgstr "Дублювати з'єднаннÑ" #: src/Partials/LibraryItem.vala:116 msgid "Delete Connection" msgstr "Видалити з'єднаннÑ" #: src/Partials/LibraryItem.vala:126 msgid "Options" msgstr "ВлаÑтивоÑті" #: src/Partials/TreeBuilder.vala:131 msgid "Error" msgstr "Помилка" #: src/Partials/TreeBuilder.vala:131 msgid "on Column" msgstr "на Ñтовпці" #: src/Partials/TreeBuilder.vala:172 #, c-format msgid "Copy %s" msgstr "Копіювати %s" #: src/Services/Settings.vala:106 #, c-format msgid "%s (copy)" msgstr "%s (копіÑ)" #: src/Services/ConnectionManager.vala:193 #, c-format msgid "Libssh2 initialization failed (%d)" msgstr "Libssh2 Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ Ð½Ðµ вдалаÑÑŒ (%d)" #: src/Services/ConnectionManager.vala:202 msgid "Failed to open socket" msgstr "Ðе вдалоÑÑŒ відкрити Ñокет" #: src/Services/ConnectionManager.vala:211 msgid "Failed to connect!" msgstr "Ðе вдалоÑÑŒ з'єднатиÑÑŒ!" #: src/Services/ConnectionManager.vala:223 #, c-format msgid "Error when starting up SSH session: %d" msgstr "Помилка на Ñтарті SSH ÑеÑÑ–Ñ—: %d" #: src/Services/ConnectionManager.vala:242 msgid "Authentication by password failed!" msgstr "ÐÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð· допомогою Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¿Ñ€Ð¾Ð²Ð°Ð»Ð¸Ð»Ð°ÑÑŒ!" #: src/Services/ConnectionManager.vala:252 msgid "Authentication by public key failed!" msgstr "ÐÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð·Ð° публічним ключем не вдалаÑÑŒ!" #: src/Services/ConnectionManager.vala:259 msgid "No supported authentication methods found!" msgstr "Ðе знайдено підтримуваних методів аутентифікації!" #: src/Services/ConnectionManager.vala:266 msgid "Failed to open listen socket" msgstr "Ðе вдалоÑÑŒ відкрити гніздо проÑлуханнÑ" #: src/Services/ConnectionManager.vala:281 msgid "Failed to bind. Your Database Port may be wrong!" msgstr "Ðе вдалоÑÑŒ з'єднати. Ваш порт бази даних може бути хибним!" #: src/Services/ConnectionManager.vala:287 msgid "Failed to listen!" msgstr "Ðе вдалоÑÑŒ проÑлухати!" #: src/Services/ConnectionManager.vala:314 msgid "Failed to accept remote connection!" msgstr "Ðе вдалоÑÑŒ прийнÑти віддалене з'єднаннÑ!" #: src/Services/ConnectionManager.vala:323 msgid "" "Could not open the direct-tcpip channel! (Note that this can be a problem at " "the server! Please review the server logs.)" msgstr "" "Ðе в змозі відкрити прÑмий tcpip канал! (Зауважте, що це може бути проблемою " "на Ñервері! ПереглÑньте журнали Ñервера.)" #: src/Services/ConnectionManager.vala:566 msgid "Error!" msgstr "Помилка!" #: src/Widgets/ConnectionDialog.vala:33 msgid "Missing SSH Key file!" msgstr "ВідÑутній файл SSH-ключа!" #: src/Widgets/ConnectionDialog.vala:34 msgid "Missing SSH public key!" msgstr "ВідÑутній публічний ключ SSH!" #: src/Widgets/ConnectionDialog.vala:89 src/Widgets/ConnectionDialog.vala:355 msgid "Connection" msgstr "З'єднаннÑ" #: src/Widgets/ConnectionDialog.vala:141 msgid "Select connection color" msgstr "Оберіть колір з'єднаннÑ" #: src/Widgets/ConnectionDialog.vala:164 msgid "Connection Name:" msgstr "Ім'Ñ Ð·'єднаннÑ:" #: src/Widgets/ConnectionDialog.vala:165 msgid "Connection's name" msgstr "Ім'Ñ Ð·'єднань" #: src/Widgets/ConnectionDialog.vala:172 msgid "Database Type:" msgstr "Тип бази даних:" #: src/Widgets/ConnectionDialog.vala:194 msgid "Host:" msgstr "ХоÑÑ‚:" #: src/Widgets/ConnectionDialog.vala:200 msgid "Database Name:" msgstr "Ім'Ñ Ð±Ð°Ð·Ð¸ даних:" #: src/Widgets/ConnectionDialog.vala:207 msgid "Username:" msgstr "Ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача:" #: src/Widgets/ConnectionDialog.vala:213 msgid "Password:" msgstr "Пароль:" #: src/Widgets/ConnectionDialog.vala:217 src/Widgets/ConnectionDialog.vala:227 #: src/Widgets/ConnectionDialog.vala:285 src/Widgets/ConnectionDialog.vala:295 msgid "Show password" msgstr "Показати пароль" #: src/Widgets/ConnectionDialog.vala:224 src/Widgets/ConnectionDialog.vala:292 msgid "Hide password" msgstr "Приховати пароль" #: src/Widgets/ConnectionDialog.vala:234 msgid "Port:" msgstr "Порт:" #: src/Widgets/ConnectionDialog.vala:240 msgid "File Path:" msgstr "ШлÑÑ… файлу:" #: src/Widgets/ConnectionDialog.vala:241 msgid "Select Your SQLite File…" msgstr "Оберіть Ваш SQLite файл…" #: src/Widgets/ConnectionDialog.vala:261 msgid "Connect via SSH Tunnel:" msgstr "З'єднати з SSH тунелем:" #: src/Widgets/ConnectionDialog.vala:271 msgid "SSH Host:" msgstr "SSH хоÑÑ‚:" #: src/Widgets/ConnectionDialog.vala:276 msgid "SSH Username:" msgstr "SSH ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача:" #: src/Widgets/ConnectionDialog.vala:281 msgid "SSH Password:" msgstr "SSH пароль:" #: src/Widgets/ConnectionDialog.vala:301 msgid "SSH Port:" msgstr "SSH порт:" #: src/Widgets/ConnectionDialog.vala:302 msgid "Optional" msgstr "Ðеобов'Ñзковий" #: src/Widgets/ConnectionDialog.vala:306 msgid "SSH Identity" msgstr "Ð†Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ SSH" #: src/Widgets/ConnectionDialog.vala:308 msgid "Select Your Identity File…" msgstr "Оберіть Ваш файл ідентифікації…" #: src/Widgets/ConnectionDialog.vala:324 msgid "Generate SSH Key" msgstr "Згенерувати SSH ключ" #: src/Widgets/ConnectionDialog.vala:356 msgid "SSH Tunnel" msgstr "SSH тунель" #: src/Widgets/ConnectionDialog.vala:426 msgid "Close" msgstr "Закрити" #: src/Widgets/ConnectionDialog.vala:427 msgid "Save Connection" msgstr "Зберегти з'єднаннÑ" #: src/Widgets/ConnectionDialog.vala:429 msgid "Test Connection" msgstr "ТеÑÑ‚ з'єднаннÑ" #: src/Widgets/ConnectionDialog.vala:620 msgid "Opening SSH Tunnel…" msgstr "Відкрити SSH тунель…" #: src/Widgets/ConnectionDialog.vala:650 msgid "Testing Connection…" msgstr "ТеÑтуєтьÑÑ Ð·'єднаннÑ…" #: src/Widgets/ConnectionDialog.vala:661 msgid "Successfully Connected!" msgstr "УÑпішно з'єднано!" #: src/Widgets/ConnectionDialog.vala:679 msgid "Saving Connection…" msgstr "ЗберігаєтьÑÑ Ð·'єднаннÑ…" #: src/Widgets/ConnectionDialog.vala:684 msgid "Connection Saved!" msgstr "З'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¾!" #: src/Widgets/ConnectionDialog.vala:692 msgid "Connecting…" msgstr "З'єднаннÑ…" sequeler-0.8.0/schemas/000077500000000000000000000000001367531117400147775ustar00rootroot00000000000000sequeler-0.8.0/schemas/com.github.alecaddd.sequeler.gschema.xml.in000066400000000000000000000062751367531117400251510ustar00rootroot00000000000000 360 The saved horizontal position of the window. The saved horizontal position of the window. 360 The vertical position width of the window. The saved vertical position of the window. 900 The saved width of the window. The saved width of the window. Must be greater than 750, or it will not take effect. 600 The saved height of the window. The saved height of the window. Must be greater than 500, or it will not take effect. 260 The saved width of the sidebar pane. The saved width of the sidebar pane containing the connections library and database schema. 0 Total amount of saved connections. Increase the amount at every new connection, set a unique ID for every connection. 1000 Max rows to show in Content tab. Split results based on max amount, helps generate the pagination. [] The saved configured conenctions All the configured connections you saved are here true Save Quick Connections Automatically Save a Quick Connections into the Database Library. false Use dark theme Switch between Light and Dark theme. "" Current Version Check current App version for upgrades on startup. true Use system font Whether Sequeler should use the default system font 'Droid Sans Mono 12' Preferred Font Set the preferred font. 'solarized-light' Preferred Style Scheme Set the preferred style scheme. 200 Query tab height. Controls the height of the Query tab. sequeler-0.8.0/schemas/meson.build000066400000000000000000000007451367531117400171470ustar00rootroot00000000000000schema_path = '/com/github/alecaddd/sequeler/' if get_option('profile') == 'development' schema_path += 'Devel/' endif schema_conf = configuration_data() schema_conf.set('appid', application_id) schema_conf.set('schema-path', schema_path) configure_file( input: '@0@.gschema.xml.in'.format(meson.project_name()), output: '@0@.gschema.xml'.format(application_id), install: true, install_dir: join_paths(get_option('datadir'), 'glib-2.0', 'schemas'), configuration:schema_conf ) sequeler-0.8.0/src/000077500000000000000000000000001367531117400141435ustar00rootroot00000000000000sequeler-0.8.0/src/Application.vala000066400000000000000000000072061367531117400172600ustar00rootroot00000000000000/* * Copyright (c) 2011-2018 Alecaddd (http://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ namespace Sequeler { public Sequeler.Services.Settings settings; public Sequeler.Services.PasswordManager password_mngr; public Sequeler.Services.UpgradeManager upgrade_mngr; public Secret.Schema schema; } public class Sequeler.Application : Gtk.Application { public GLib.List windows; construct { application_id = Constants.PROJECT_NAME; flags |= ApplicationFlags.HANDLES_OPEN; schema = new Secret.Schema (Constants.PROJECT_NAME, Secret.SchemaFlags.NONE, "id", Secret.SchemaAttributeType.INTEGER, "schema", Secret.SchemaAttributeType.STRING); settings = new Sequeler.Services.Settings (); password_mngr = new Sequeler.Services.PasswordManager (); upgrade_mngr = new Sequeler.Services.UpgradeManager (); windows = new GLib.List (); } public void new_window () { new Sequeler.Window (this).present (); } public override void window_added (Gtk.Window window) { windows.append (window as Window); base.window_added (window); } protected override void open (File[] files, string hint) { foreach (var file in files) { var type = file.query_file_type (FileQueryInfoFlags.NONE); switch (type) { case FileType.DIRECTORY: // File handle represents a directory. critical (_("Directories are not supported")); continue; case FileType.UNKNOWN: // File's type is unknown case FileType.SPECIAL: // File is a "special" file, such as a socket, fifo, block device, or character device. case FileType.MOUNTABLE: // File is a mountable location. critical (_("Don't know what to do")); continue; case FileType.REGULAR: // File handle represents a regular file. case FileType.SYMBOLIC_LINK: // File handle represents a symbolic link (Unix systems). case FileType.SHORTCUT: // File is a shortcut (Windows systems). var window = this.add_new_window (); window.main.library.check_open_sqlite_file (file.get_uri (), file.get_basename ()); break; default: error (_("Something completely unexpected happened")); } } } public override void window_removed (Gtk.Window window) { windows.remove (window as Window); base.window_removed (window); } private Sequeler.Window add_new_window () { var window = new Sequeler.Window (this); this.add_window (window); return window; } protected override void activate () { this.add_new_window (); } } sequeler-0.8.0/src/Layouts/000077500000000000000000000000001367531117400156035ustar00rootroot00000000000000sequeler-0.8.0/src/Layouts/DataBaseSchema.vala000066400000000000000000000422671367531117400212500ustar00rootroot00000000000000/* * Copyright (c) 2017-2020 Alecaddd (https://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Layouts.DataBaseSchema : Gtk.Grid { public weak Sequeler.Window window { get; construct; } public Gtk.ListStore schema_list; public Gtk.ComboBox schema_list_combo; public Gtk.TreeIter iter; private bool reloading { get; set; default = false;} public Gee.HashMap schemas; private ulong handler_id = 0; public Gtk.Stack stack; public Gtk.ScrolledWindow scroll; private Gda.DataModel? schema_table; public Granite.Widgets.SourceList.ExpandableItem tables_category; public Granite.Widgets.SourceList source_list; private Gtk.Grid toolbar; private Gtk.Spinner spinner; public Gtk.Revealer revealer; public Gtk.SearchEntry search; public string search_text; private Gtk.Grid main_grid; private Gtk.Revealer main_revealer; private Sequeler.Partials.DataBasePanel db_panel; enum Column { SCHEMAS } public DataBaseSchema (Sequeler.Window main_window) { Object ( orientation: Gtk.Orientation.VERTICAL, window: main_window, column_homogeneous: true ); } construct { var dropdown_area = new Gtk.Grid (); dropdown_area.column_homogeneous = false; dropdown_area.get_style_context ().add_class ("library-titlebar"); var cell = new Gtk.CellRendererText (); schema_list = new Gtk.ListStore (1, typeof (string)); schema_list_combo = new Gtk.ComboBox.with_model (schema_list); schema_list_combo.hexpand = true; schema_list_combo.pack_start (cell, false); schema_list_combo.set_attributes (cell, "text", Column.SCHEMAS); schema_list_combo.margin_top = schema_list_combo.margin_bottom = 9; schema_list_combo.margin_start = 9; reset_schema_combo.begin (); var search_btn = new Sequeler.Partials.HeaderBarButton ("system-search-symbolic", _("Search Tables")); search_btn.valign = Gtk.Align.CENTER; search_btn.clicked.connect (toggle_search_tables); dropdown_area.attach (schema_list_combo, 0, 0, 1, 1); dropdown_area.attach (search_btn, 1, 0, 1, 1); revealer = new Gtk.Revealer (); revealer.hexpand = true; revealer.reveal_child = false; search = new Gtk.SearchEntry (); search.placeholder_text = _("Search Tables\u2026"); search.hexpand = true; search.margin = 9; search.search_changed.connect (on_search_tables); search.key_press_event.connect (key => { if (key.keyval == 65307) { search.set_text (""); toggle_search_tables (); return true; } return false; }); revealer.add (search); scroll = new Gtk.ScrolledWindow (null, null); scroll.hscrollbar_policy = Gtk.PolicyType.AUTOMATIC; scroll.vscrollbar_policy = Gtk.PolicyType.AUTOMATIC; scroll.vexpand = true; toolbar = new Gtk.Grid (); toolbar.get_style_context ().add_class ("library-toolbar"); var reload_btn = new Sequeler.Partials.HeaderBarButton ("view-refresh-symbolic", _("Reload Tables")); reload_btn.clicked.connect (reload_schema); reload_btn.hexpand = true; reload_btn.halign = Gtk.Align.START; var add_table_btn = new Sequeler.Partials.HeaderBarButton ("list-add-symbolic", _("Add Table")); // add_table_btn.clicked.connect (add_table); add_table_btn.sensitive = false; spinner = new Gtk.Spinner (); spinner.hexpand = true; spinner.vexpand = true; spinner.halign = Gtk.Align.CENTER; spinner.valign = Gtk.Align.CENTER; toolbar.attach (add_table_btn, 0, 0, 1, 1); toolbar.attach (new Gtk.Separator (Gtk.Orientation.VERTICAL), 1, 0, 1, 1); toolbar.attach (reload_btn, 2, 0, 1, 1); stack = new Gtk.Stack (); stack.hexpand = true; stack.vexpand = true; stack.add_named (scroll, "list"); stack.add_named (spinner, "spinner"); main_grid = new Gtk.Grid (); main_grid.attach (dropdown_area, 0, 0, 1, 1); main_grid.attach (revealer, 0, 1, 1, 1); main_grid.attach (stack, 0, 2, 1, 2); main_grid.attach (toolbar, 0, 4, 1, 1); main_revealer = new Gtk.Revealer (); main_revealer.reveal_child = true; main_revealer.transition_type = Gtk.RevealerTransitionType.CROSSFADE; main_revealer.add (main_grid); db_panel = new Sequeler.Partials.DataBasePanel (window); var overlay = new Gtk.Overlay (); overlay.add_overlay (db_panel); overlay.add (main_revealer); add (overlay); } public void start_spinner () { spinner.start (); stack.visible_child_name = "spinner"; } public void stop_spinner () { spinner.stop (); stack.visible_child_name = "list"; } private async void reset_schema_combo () { if (handler_id > 0) { schema_list_combo.disconnect (handler_id); } schema_list.clear (); schema_list.append (out iter); schema_list.set (iter, Column.SCHEMAS, _("- Select Database -")); schema_list_combo.set_active (0); schema_list_combo.sensitive = false; handler_id = schema_list_combo.changed.connect (() => { if (schema_list_combo.get_active () == 0) { return; } start_spinner (); init_populate_schema.begin (null); }); } public async void init_populate_schema (Gda.DataModel? schema) { var database = window.data_manager.data["type"] == "SQLite" ? null : schemas[schema_list_combo.get_active ()]; yield populate_schema (database, schema); } public async void reload_schema () { if (reloading) { debug ("still loading"); return; } Gda.DataModel? schema = null; Gda.DataModelIter? _iter = null; reloading = true; schema = yield get_schema (); if (schema == null) { reloading = false; return; } yield reset_schema_combo (); if (window.data_manager.data["type"] == "SQLite") { yield init_populate_schema (schema); reloading = false; return; } _iter = schema.create_iter (); if (_iter == null) { debug ("not a valid iter"); return; } schemas = new Gee.HashMap (); int i = 1; while (_iter.move_next ()) { schema_list.append (out iter); schema_list.set (iter, Column.SCHEMAS, _iter.get_value_at (0).get_string ()); schemas.set (i, _iter.get_value_at (0).get_string ()); i++; } if (window.data_manager.data["type"] != "PostgreSQL") { schema_list_combo.sensitive = true; } if (window.data_manager.data["type"] == "PostgreSQL") { foreach (var entry in schemas.entries) { if ("public" == entry.value) { schema_list_combo.set_active (entry.key); } } reloading = false; return; } foreach (var entry in schemas.entries) { if (window.data_manager.data["name"] == entry.value) { schema_list_combo.set_active (entry.key); } } reloading = false; } public async Gda.DataModel? get_schema () { Gda.DataModel? result = null; var query = (window.main.connection_manager.db_type as DataBaseType).show_schema (); result = yield window.main.connection_manager.init_select_query (query); if (result == null) { reloading = false; yield reset_schema_combo (); } return result; } public async void populate_schema (string? database, Gda.DataModel? schema) { yield clear_views (); if (database != null && window.data_manager.data["name"] != database && window.data_manager.data["type"] != "PostgreSQL") { window.data_manager.data["name"] = database; yield update_connection (); return; } if (database == null && window.data_manager.data["type"] == "SQLite" && schema != null) { schema_table = schema; } else { yield get_schema_table (database); } if (schema_table == null) { stop_spinner (); return; } if (scroll.get_child () != null) { scroll.remove (scroll.get_child ()); } source_list = new Granite.Widgets.SourceList (); source_list.set_filter_func (source_list_visible_func, true); tables_category = new Granite.Widgets.SourceList.ExpandableItem (_("TABLES")); tables_category.expand_all (); Gda.DataModelIter _iter = schema_table.create_iter (); int top = 0; int count = 0; while (_iter.move_next ()) { var item = new Sequeler.Partials.DataBaseTable (_iter.get_value_at (0).get_string (), source_list); // Get the table rows coutn with an extra query for SQLite if (window.data_manager.data["type"] == "SQLite") { var table_count = yield get_table_count (item.name); Gda.DataModelIter count_iter = table_count.create_iter (); while (count_iter.move_next ()) { count = count_iter.get_value_at (0).get_int (); item.badge = count.to_string (); } } else { count = (int) _iter.get_value_at (1).get_long (); item.badge = count.to_string (); } var icon_name = count == 0 ? "table-empty" : "table"; item.icon = new GLib.ThemedIcon (icon_name); item.edited.connect ((new_name) => { if (new_name != item.name) { edit_table_name.begin (item.name, new_name); } }); tables_category.add (item); top++; } source_list.root.add (tables_category); scroll.add (source_list); source_list.item_selected.connect (item => { if (item == null) { return; } if (window.main.database_view.tabs.selected == 0) { window.main.database_view.structure.fill (item.name, database); } if (window.main.database_view.tabs.selected == 1) { window.main.database_view.content.fill (item.name, database, item.badge); } if (window.main.database_view.tabs.selected == 2) { window.main.database_view.relations.fill (item.name, database); } }); window.main.database_view.structure.database = database; window.main.database_view.content.database = database; window.main.database_view.relations.database = database; stop_spinner (); } public async void get_schema_table (string database) { var query = (window.main.connection_manager.db_type as DataBaseType).show_table_list (database); schema_table = yield window.main.connection_manager.init_select_query (query); } public async Gda.DataModel? get_table_count (string table) { var query = (window.main.connection_manager.db_type as DataBaseType).show_table_list (table); return yield window.main.connection_manager.init_select_query (query); } private async void update_connection () { if (window.data_manager.data["type"] == "PostgreSQL") { return; } schema_list_combo.sensitive = false; if (scroll.get_child () != null) { scroll.remove (scroll.get_child ()); } if (window.main.connection_manager.connection != null && window.main.connection_manager.connection.is_opened ()) { window.main.connection_manager.connection.clear_events_list (); window.main.connection_manager.connection.close (); } var result = new Gee.HashMap (); try { result = yield window.main.connection_manager.init_connection (); } catch (ThreadError e) { window.main.connection_manager.query_warning (e.message); } if (result["status"] == "true") { reload_schema.begin (); } else { window.main.connection_manager.query_warning (result["msg"]); } } private async void edit_table_name (string old_name, string new_name) { var query = (window.main.connection_manager.db_type as DataBaseType).edit_table_name (old_name, new_name); yield window.main.connection_manager.init_query (query); yield reload_schema (); } public void toggle_search_tables () { revealer.reveal_child = ! revealer.get_reveal_child (); if (revealer.get_reveal_child ()) { search.grab_focus_without_selecting (); } search.text = ""; } public void on_search_tables (Gtk.Entry searchentry) { search_text = searchentry.get_text ().down (); source_list.refilter (); tables_category.expand_all (); } private bool source_list_visible_func (Granite.Widgets.SourceList.Item item) { if (search_text == null || item is Granite.Widgets.SourceList.ExpandableItem) { return true; } return item.name.down ().contains (search_text); } private async void clear_views () { window.main.database_view.content.reset.begin (); window.main.database_view.relations.reset.begin (); window.main.database_view.structure.reset.begin (); } public void show_database_panel () { db_panel.new_database (); main_revealer.reveal_child = false; db_panel.reveal = true; } public void hide_database_panel () { main_revealer.reveal_child = true; db_panel.reveal = false; } public void edit_database_name () { db_panel.edit_database (schemas[schema_list_combo.get_active ()]); main_revealer.reveal_child = false; db_panel.reveal = true; } public async void create_database (string name) { var query = (window.main.connection_manager.db_type as DataBaseType).create_database (name); var result = yield window.main.connection_manager.init_query (query); if (result == null) { return; } yield reload_schema (); hide_database_panel (); } public async void edit_database (string name) { var current_db = schemas[schema_list_combo.get_active ()]; // Renaming a database is tricky as we can't simply update its name. // We need to first create a new database with the chosen name. var query = (window.main.connection_manager.db_type as DataBaseType).create_database (name); var result = yield window.main.connection_manager.init_query (query); if (result == null) { return; } // Then, we need to loop through all the tables and attach them to the new database. if (tables_category.n_children > 0) { foreach (Granite.Widgets.SourceList.Item child in tables_category.children) { var tb_result = yield window.main.connection_manager.init_query ( (window.main.connection_manager.db_type as DataBaseType).transfer_table ( current_db, child.name, name ) ); if (tb_result == null) { return; } } } // Delete the old database. yield window.main.connection_manager.init_query ( (window.main.connection_manager.db_type as DataBaseType).delete_database (current_db) ); // Update the DataManager to use the newly created database. window.data_manager.data["name"] = name; yield update_connection (); hide_database_panel (); } public async void delete_database () { yield window.main.connection_manager.init_query ( (window.main.connection_manager.db_type as DataBaseType).delete_database ( schemas[schema_list_combo.get_active ()] ) ); yield reload_schema (); schema_list_combo.active = 0; } } sequeler-0.8.0/src/Layouts/DataBaseView.vala000066400000000000000000000265521367531117400207610ustar00rootroot00000000000000/* * Copyright (c) 2011-2018 Alecaddd (http://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Layouts.DataBaseView : Gtk.Grid { public weak Sequeler.Window window { get; construct; } public Granite.Widgets.ModeButton tabs; public Gtk.Stack stack; public Sequeler.Layouts.Views.Structure structure; public Sequeler.Layouts.Views.Content content; public Sequeler.Layouts.Views.Relations relations; public Granite.Widgets.DynamicNotebook query; private Sequeler.Layouts.Views.Query tab_to_restore; public Gtk.MenuButton font_style; public DataBaseView (Sequeler.Window main_window) { Object ( orientation: Gtk.Orientation.VERTICAL, window: main_window, column_homogeneous: true ); } construct { var toolbar = new Gtk.Grid (); toolbar.get_style_context ().add_class ("library-titlebar"); tabs = new Granite.Widgets.ModeButton (); tabs.append (new Sequeler.Partials.ToolBarButton ("x-office-spreadsheet-template", "Structure", _("Structure"))); tabs.append (new Sequeler.Partials.ToolBarButton ("x-office-document", "Content", _("Content"))); tabs.append (new Sequeler.Partials.ToolBarButton ("preferences-system-windows", "Relations", _("Relations"))); tabs.append (new Sequeler.Partials.ToolBarButton ("accessories-text-editor", "Query", _("Query"))); tabs.set_active (0); tabs.margin = 9; tabs.mode_changed.connect ((tab) => { stack.set_visible_child_name (tab.name); if (tab.name == "Query") { font_style.visible = true; font_style.no_show_all = false; } else { font_style.visible = false; font_style.no_show_all = true; } if (window.main.database_schema.source_list == null) { return; } var item_selected = window.main.database_schema.source_list.selected; if (item_selected == null) { return; } if (tab.name == "Structure") { window.main.database_view.structure.fill (item_selected.name, window.main.database_view.structure.database); } if (tab.name == "Content") { window.main.database_view.content.fill (item_selected.name, window.main.database_view.content.database, item_selected.badge); } if (tab.name == "Relations") { window.main.database_view.relations.fill (item_selected.name, window.main.database_view.relations.database); } }); toolbar.attach (tabs, 0, 0, 1, 1); var view_options = new Gtk.Grid (); view_options.hexpand = true; view_options.halign = Gtk.Align.END; view_options.valign = Gtk.Align.CENTER; // Query View buttons var zoom_out_button = new Gtk.Button.from_icon_name ("zoom-out-symbolic", Gtk.IconSize.MENU); zoom_out_button.action_name = Sequeler.Services.ActionManager.ACTION_PREFIX + Sequeler.Services.ActionManager.ACTION_ZOOM_OUT; zoom_out_button.tooltip_markup = Granite.markup_accel_tooltip ({"minus"}, _("Zoom Out")); var zoom_default_button = new Gtk.Button.with_label ( "%.0f%%".printf (window.action_manager.get_current_font_size () * 10) ); zoom_default_button.action_name = Sequeler.Services.ActionManager.ACTION_PREFIX + Sequeler.Services.ActionManager.ACTION_ZOOM_DEFAULT; zoom_default_button.tooltip_markup = Granite.markup_accel_tooltip ({"0"}, _("Zoom 1:1")); var zoom_in_button = new Gtk.Button.from_icon_name ("zoom-in-symbolic", Gtk.IconSize.MENU); zoom_in_button.action_name = Sequeler.Services.ActionManager.ACTION_PREFIX + Sequeler.Services.ActionManager.ACTION_ZOOM_IN; zoom_in_button.tooltip_markup = Granite.markup_accel_tooltip ({"plus"}, _("Zoom In")); var font_size_grid = new Gtk.Grid (); font_size_grid.column_homogeneous = true; font_size_grid.hexpand = true; font_size_grid.margin = 12; font_size_grid.get_style_context ().add_class (Gtk.STYLE_CLASS_LINKED); font_size_grid.add (zoom_out_button); font_size_grid.add (zoom_default_button); font_size_grid.add (zoom_in_button); var color_button_white = new Gtk.RadioButton (null); color_button_white.halign = Gtk.Align.CENTER; color_button_white.tooltip_text = _("High Contrast"); var color_button_white_context = color_button_white.get_style_context (); color_button_white_context.add_class ("color-button"); color_button_white_context.add_class ("color-white"); var color_button_light = new Gtk.RadioButton.from_widget (color_button_white); color_button_light.halign = Gtk.Align.CENTER; color_button_light.tooltip_text = _("Solarized Light"); var color_button_light_context = color_button_light.get_style_context (); color_button_light_context.add_class ("color-button"); color_button_light_context.add_class ("color-light"); var color_button_dark = new Gtk.RadioButton.from_widget (color_button_white); color_button_dark.halign = Gtk.Align.CENTER; color_button_dark.tooltip_text = _("Solarized Dark"); var color_button_dark_context = color_button_dark.get_style_context (); color_button_dark_context.add_class ("color-button"); color_button_dark_context.add_class ("color-dark"); var menu_grid = new Gtk.Grid (); menu_grid.margin_bottom = 12; menu_grid.orientation = Gtk.Orientation.VERTICAL; menu_grid.width_request = 200; menu_grid.attach (font_size_grid, 0, 0, 3, 1); menu_grid.attach (color_button_white, 0, 1, 1, 1); menu_grid.attach (color_button_light, 1, 1, 1, 1); menu_grid.attach (color_button_dark, 2, 1, 1, 1); menu_grid.show_all (); var menu = new Gtk.Popover (null); menu.add (menu_grid); font_style = new Gtk.MenuButton (); font_style.margin_end = 9; font_style.get_style_context ().add_class (Gtk.STYLE_CLASS_FLAT); font_style.set_image (new Gtk.Image.from_icon_name ("font-select-symbolic", Gtk.IconSize.LARGE_TOOLBAR)); font_style.tooltip_text = _("Change Text Style"); font_style.popover = menu; font_style.can_focus = false; font_style.visible = false; font_style.no_show_all = true; view_options.add (font_style); toolbar.attach (view_options, 1, 0, 1, 1); stack = new Gtk.Stack (); structure = new Sequeler.Layouts.Views.Structure (window); content = new Sequeler.Layouts.Views.Content (window); relations = new Sequeler.Layouts.Views.Relations (window); query = get_query_notebook (); stack.add_named (structure, "Structure"); stack.add_named (content, "Content"); stack.add_named (relations, "Relations"); stack.add_named (query, "Query"); stack.expand = true; attach (toolbar, 0, 0, 1, 1); attach (stack, 0, 1, 1, 1); settings.changed.connect (() => { zoom_default_button.label = "%.0f%%".printf (window.action_manager.get_current_font_size () * 10); }); switch (Sequeler.settings.style_scheme) { case "high-contrast": color_button_white.active = true; break; case "solarized-light": color_button_light.active = true; break; case "solarized-dark": color_button_dark.active = true; break; } color_button_dark.clicked.connect (() => { Sequeler.settings.style_scheme = "solarized-dark"; (query.current.page as Layouts.Views.Query).update_color_style (); }); color_button_light.clicked.connect (() => { Sequeler.settings.style_scheme = "solarized-light"; (query.current.page as Layouts.Views.Query).update_color_style (); }); color_button_white.clicked.connect (() => { Sequeler.settings.style_scheme = "classic"; (query.current.page as Layouts.Views.Query).update_color_style (); }); } private Granite.Widgets.DynamicNotebook get_query_notebook () { var notebook = new Granite.Widgets.DynamicNotebook (); notebook.add_button_tooltip = _("Create a new Query Tab"); notebook.expand = true; notebook.allow_restoring = true; notebook.max_restorable_tabs = 1; var first_page = new Sequeler.Layouts.Views.Query (window); var first_tab = new Granite.Widgets.Tab ( _("Query"), null, first_page ); first_page.update_tab_indicator.connect ((status) => { var icon = status ? new ThemedIcon ("process-completed") : new ThemedIcon ("process-stop"); first_tab.icon = icon; }); notebook.insert_tab (first_tab, 0); notebook.new_tab_requested.connect (() => { var new_page = new Sequeler.Layouts.Views.Query (window); var new_tab = new Granite.Widgets.Tab ( _("Query %i").printf (notebook.n_tabs), null, new_page ); new_page.update_tab_indicator.connect ((status) => { var icon = status ? new ThemedIcon ("process-completed") : new ThemedIcon ("process-stop"); new_tab.icon = icon; }); notebook.insert_tab (new_tab, notebook.n_tabs - 1); }); notebook.close_tab_requested.connect ((tab) => { if (notebook.n_tabs == 1) { var new_page = new Sequeler.Layouts.Views.Query (window); var new_tab = new Granite.Widgets.Tab ( _("Query"), null, new_page ); notebook.insert_tab (new_tab, notebook.n_tabs - 1); } tab_to_restore = tab.page as Sequeler.Layouts.Views.Query; tab.restore_data = tab.label; return true; }); notebook.tab_restored.connect ((label, data, icon) => { var tab = new Granite.Widgets.Tab (label, icon, tab_to_restore); tab_to_restore.update_tab_indicator.connect ((status) => { var update_icon = status ? new ThemedIcon ("process-completed") : new ThemedIcon ("process-stop"); tab.icon = update_icon; }); notebook.insert_tab (tab, notebook.n_tabs - 1); }); return notebook; } } sequeler-0.8.0/src/Layouts/HeaderBar.vala000066400000000000000000000163131367531117400202710ustar00rootroot00000000000000/* * Copyright (c) 2017-2020 Alecaddd (https://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Layouts.HeaderBar : Gtk.HeaderBar { public weak Sequeler.Window window { get; construct; } private Gtk.Button logout_button; private Gtk.Button new_db_button; private Gtk.Button delete_db_button; private Gtk.Button edit_db_button; private Granite.ModeSwitch mode_switch; private Gtk.Popover menu_popover; public bool logged_out { get; set; } public HeaderBar (Sequeler.Window main_window) { Object ( window: main_window, logged_out: true ); set_title (APP_NAME); set_show_close_button (true); build_ui (); toggle_logout.begin (); } private void build_ui () { logout_button = header_button ("application-logout"); logout_button.action_name = Sequeler.Services.ActionManager.ACTION_PREFIX + Sequeler.Services.ActionManager.ACTION_LOGOUT; logout_button.tooltip_markup = Granite.markup_accel_tooltip ({"Escape"}, _("Logout")); new_db_button = header_button ("office-database-new"); new_db_button.tooltip_markup = Granite.markup_accel_tooltip ( {"N"}, _("Create a new database") ); new_db_button.action_name = Sequeler.Services.ActionManager.ACTION_PREFIX + Sequeler.Services.ActionManager.ACTION_NEW_DB; delete_db_button = header_button ("office-database-remove"); delete_db_button.tooltip_markup = Granite.markup_accel_tooltip ( {"D"}, _("Delete database") ); delete_db_button.action_name = Sequeler.Services.ActionManager.ACTION_PREFIX + Sequeler.Services.ActionManager.ACTION_DELETE_DB; edit_db_button = header_button ("office-database-edit"); edit_db_button.tooltip_markup = Granite.markup_accel_tooltip ( {"P"}, _("Database properties") ); edit_db_button.action_name = Sequeler.Services.ActionManager.ACTION_PREFIX + Sequeler.Services.ActionManager.ACTION_EDIT_DB; new_db_button.visible = false; new_db_button.no_show_all = true; edit_db_button.visible = false; edit_db_button.no_show_all = true; delete_db_button.visible = false; delete_db_button.no_show_all = true; mode_switch = new Granite.ModeSwitch.from_icon_name ("display-brightness-symbolic", "weather-clear-night-symbolic"); mode_switch.primary_icon_tooltip_text = _("Light background"); mode_switch.secondary_icon_tooltip_text = _("Dark background"); mode_switch.valign = Gtk.Align.CENTER; mode_switch.bind_property ("active", settings, "dark-theme"); mode_switch.notify.connect (() => { Gtk.Settings.get_default ().gtk_application_prefer_dark_theme = settings.dark_theme; }); if (settings.dark_theme) { mode_switch.active = true; } var new_window_item = new_menuitem (_("New Window"), "n"); new_window_item.action_name = Sequeler.Services.ActionManager.ACTION_PREFIX + Sequeler.Services.ActionManager.ACTION_NEW_WINDOW; var new_connection_item = new_menuitem (_("New Connection"), "n"); new_connection_item.action_name = Sequeler.Services.ActionManager.ACTION_PREFIX + Sequeler.Services.ActionManager.ACTION_NEW_CONNECTION; var quit_item = new_menuitem (_("Quit"), "q"); quit_item.action_name = Sequeler.Services.ActionManager.ACTION_PREFIX + Sequeler.Services.ActionManager.ACTION_QUIT; var menu_separator = new Gtk.Separator (Gtk.Orientation.HORIZONTAL); menu_separator.margin_top = 6; menu_separator.margin_bottom = 6; var menu_grid = new Gtk.Grid (); menu_grid.expand = true; menu_grid.margin_top = menu_grid.margin_bottom = 6; menu_grid.orientation = Gtk.Orientation.VERTICAL; menu_grid.attach (new_window_item, 0, 1, 1, 1); menu_grid.attach (new_connection_item, 0, 2, 1, 1); menu_grid.attach (menu_separator, 0, 3, 1, 1); menu_grid.attach (quit_item, 0, 4, 1, 1); menu_grid.show_all (); var open_menu = new Gtk.MenuButton (); open_menu.set_image (new Gtk.Image.from_icon_name ("open-menu", Gtk.IconSize.LARGE_TOOLBAR)); open_menu.tooltip_text = _("Menu"); menu_popover = new Gtk.Popover (open_menu); menu_popover.add (menu_grid); open_menu.popover = menu_popover; open_menu.valign = Gtk.Align.CENTER; pack_start (logout_button); pack_start (headerbar_separator ()); pack_start (new_db_button); pack_start (edit_db_button); pack_start (headerbar_separator ()); pack_start (delete_db_button); pack_end (open_menu); pack_end (headerbar_separator ()); pack_end (mode_switch); } private Gtk.ModelButton new_menuitem (string label, string accels) { var button = new Gtk.ModelButton (); button.get_child ().destroy (); button.add (new Granite.AccelLabel (label, accels)); return button; } private Gtk.Button header_button (string image) { var button = new Gtk.Button.from_icon_name (image, Gtk.IconSize.LARGE_TOOLBAR); button.get_style_context ().add_class (Gtk.STYLE_CLASS_FLAT); button.valign = Gtk.Align.CENTER; button.can_focus = false; return button; } private Gtk.Separator headerbar_separator () { var separator = new Gtk.Separator (Gtk.Orientation.VERTICAL); separator.get_style_context ().add_class ("headerbar-separator"); return separator; } public async void toggle_logout () { logged_out = !logged_out; logout_button.visible = logged_out; logout_button.no_show_all = !logged_out; if ( window.data_manager != null && ( window.data_manager.data["type"] == "MySQL" || window.data_manager.data["type"] == "MariaDB" ) ) { new_db_button.visible = logged_out; new_db_button.no_show_all = !logged_out; edit_db_button.visible = logged_out; edit_db_button.no_show_all = !logged_out; delete_db_button.visible = logged_out; delete_db_button.no_show_all = !logged_out; } } } sequeler-0.8.0/src/Layouts/Library.vala000066400000000000000000000447221367531117400200650ustar00rootroot00000000000000/* * Copyright (c) 2017-2020 Alecaddd (https://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Layouts.Library : Gtk.Grid { public weak Sequeler.Window window { get; construct; } GLib.File? file; Gtk.TextBuffer buffer; private Gtk.Grid title; private Gtk.Revealer motion_revealer; public Gtk.ListBox item_box; public Gtk.ScrolledWindow scroll; public Sequeler.Partials.HeaderBarButton delete_all; public Gee.HashMap real_data; public Gtk.Spinner real_spinner; public Gtk.ModelButton real_button; public Sequeler.Services.ConnectionManager connection_manager; public signal void edit_dialog (Gee.HashMap data); // Datatype restrictions on DnD (Gtk.TargetFlags). public const Gtk.TargetEntry[] TARGET_ENTRIES_LABEL = { { "LIBRARYITEM", Gtk.TargetFlags.SAME_APP, 0 } }; public Library (Sequeler.Window main_window) { Object ( orientation: Gtk.Orientation.VERTICAL, window: main_window, width_request: 260, column_homogeneous: true ); } construct { var motion_grid = new Gtk.Grid (); motion_grid.margin = 6; motion_grid.get_style_context ().add_class ("grid-motion"); motion_grid.height_request = 18; motion_revealer = new Gtk.Revealer (); motion_revealer.transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN; motion_revealer.add (motion_grid); var titlebar = new Sequeler.Partials.TitleBar (_("SAVED CONNECTIONS")); title = new Gtk.Grid (); title.attach (titlebar, 0, 0); title.attach (motion_revealer, 0, 1); var toolbar = new Gtk.Grid (); toolbar.get_style_context ().add_class ("library-toolbar"); delete_all = new Sequeler.Partials.HeaderBarButton ("user-trash-symbolic", _("Delete All")); delete_all.halign = Gtk.Align.END; delete_all.hexpand = true; delete_all.clicked.connect (() => { confirm_delete_all (); }); var reload_btn = new Sequeler.Partials.HeaderBarButton ("view-refresh-symbolic", _("Reload Library")); reload_btn.clicked.connect (() => reload_library.begin ()); var export_btn = new Sequeler.Partials.HeaderBarButton ("document-save-symbolic", _("Export Library")); export_btn.clicked.connect (export_library); toolbar.attach (reload_btn, 0, 0, 1, 1); toolbar.attach (new Gtk.Separator (Gtk.Orientation.VERTICAL), 1, 0, 1, 1); toolbar.attach (export_btn, 2, 0, 1, 1); toolbar.attach (new Gtk.Separator (Gtk.Orientation.VERTICAL), 3, 0, 1, 1); toolbar.attach (delete_all, 4, 0, 1, 1); scroll = new Gtk.ScrolledWindow (null, null); scroll.hscrollbar_policy = Gtk.PolicyType.AUTOMATIC; scroll.vscrollbar_policy = Gtk.PolicyType.AUTOMATIC; item_box = new Gtk.ListBox (); item_box.get_style_context ().add_class ("library-box"); item_box.set_activate_on_single_click (false); item_box.selection_mode = Gtk.SelectionMode.SINGLE; item_box.valign = Gtk.Align.FILL; item_box.expand = true; scroll.add (item_box); foreach (var conn in settings.saved_connections) { add_item (settings.arraify_data (conn)); } if (settings.saved_connections.length > 0) { delete_all.sensitive = true; } item_box.row_activated.connect ((row) => { var item = row as Sequeler.Partials.LibraryItem; item.spinner.start (); item.connect_button.sensitive = false; window.data_manager.data = item.data; init_connection_begin (item.data, item.spinner, item.connect_button, false); }); attach (title, 0, 0, 1, 1); scroll.expand = true; attach (scroll, 0, 1, 1, 2); attach (toolbar, 0, 3, 1, 1); build_drag_and_drop (); } private void build_drag_and_drop () { Gtk.drag_dest_set (item_box, Gtk.DestDefaults.ALL, TARGET_ENTRIES_LABEL, Gdk.DragAction.MOVE); item_box.drag_data_received.connect (on_drag_data_received); Gtk.drag_dest_set (title, Gtk.DestDefaults.ALL, TARGET_ENTRIES_LABEL, Gdk.DragAction.MOVE); title.drag_data_received.connect (on_drag_item_received); title.drag_motion.connect (on_drag_motion); title.drag_leave.connect (on_drag_leave); } private void on_drag_data_received (Gdk.DragContext context, int x, int y, Gtk.SelectionData selection_data, uint target_type, uint time) { int new_pos; var target = (Partials.LibraryItem) item_box.get_row_at_y (y); var row = ((Gtk.Widget[]) selection_data.get_data ())[0]; var source = (Partials.LibraryItem) row; int last_index = (int) item_box.get_children ().length (); if (target == null) { new_pos = last_index - 1; } else { new_pos = source.get_index () < target.get_index () ? target.get_index () : target.get_index () + 1; } settings.reorder_connection (source.data, new_pos); reload_library.begin (); } private void on_drag_item_received (Gdk.DragContext context, int x, int y, Gtk.SelectionData selection_data, uint target_type, uint time) { var row = ((Gtk.Widget[]) selection_data.get_data ())[0]; var source = (Partials.LibraryItem) row; settings.reorder_connection (source.data, 0); reload_library.begin (); } public bool on_drag_motion (Gdk.DragContext context, int x, int y, uint time) { motion_revealer.reveal_child = true; return true; } public void on_drag_leave (Gdk.DragContext context, uint time) { motion_revealer.reveal_child = false; } public void add_item (Gee.HashMap data) { var item = new Sequeler.Partials.LibraryItem (data); item.scrolled = scroll; item_box.add (item); item.confirm_delete.connect ((item, data) => { confirm_delete (item, data); }); item.edit_dialog.connect ((data) => { window.data_manager.data = data; if (window.connection_dialog == null) { window.connection_dialog = new Sequeler.Widgets.ConnectionDialog (window); window.connection_dialog.show_all (); window.connection_dialog.destroy.connect (() => { window.connection_dialog = null; }); } window.connection_dialog.present (); }); item.duplicate_connection.connect ((data) => { duplicate_connection.begin (data); }); item.connect_to.connect ((data, spinner, connect_button) => { window.data_manager.data = data; init_connection_begin (data, spinner, connect_button); }); } public void confirm_delete (Gtk.ListBoxRow item, Gee.HashMap data) { var message_dialog = new Granite.MessageDialog.with_image_from_icon_name (_("Are you sure you want to proceed?"), _("By deleting this connection you won’t be able to recover this data."), "dialog-warning", Gtk.ButtonsType.CANCEL); message_dialog.transient_for = window; var suggested_button = new Gtk.Button.with_label (_("Yes, Delete!")); suggested_button.get_style_context ().add_class (Gtk.STYLE_CLASS_DESTRUCTIVE_ACTION); message_dialog.add_action_widget (suggested_button, Gtk.ResponseType.ACCEPT); message_dialog.show_all (); if (message_dialog.run () == Gtk.ResponseType.ACCEPT) { settings.delete_connection (data); item_box.remove (item); reload_library.begin (); } message_dialog.destroy (); } public void confirm_delete_all () { var message_dialog = new Granite.MessageDialog.with_image_from_icon_name (_("Are you sure you want to proceed?"), _("All the data will be deleted and you won’t be able to recover it."), "dialog-warning", Gtk.ButtonsType.CANCEL); message_dialog.transient_for = window; var suggested_button = new Gtk.Button.with_label (_("Yes, Delete All!")); suggested_button.get_style_context ().add_class (Gtk.STYLE_CLASS_DESTRUCTIVE_ACTION); message_dialog.add_action_widget (suggested_button, Gtk.ResponseType.ACCEPT); message_dialog.show_all (); if (message_dialog.run () == Gtk.ResponseType.ACCEPT) { settings.clear_connections (); item_box.forall ((item) => item_box.remove (item)); reload_library.begin (); } message_dialog.destroy (); } public async void reload_library () { item_box.@foreach ((item) => item_box.remove (item)); foreach (var new_conn in settings.saved_connections) { var array = settings.arraify_data (new_conn); add_item (array); } item_box.show_all (); delete_all.sensitive = (settings.saved_connections.length > 0); } public async void check_add_item (Gee.HashMap data) { bool result = false; SourceFunc callback = check_add_item.callback; new Thread ("check-add-item", () => { result = update_existing_connection (data); Idle.add ((owned) callback); Thread.exit (null); return null; }); yield; if (!result) { settings.add_connection (data); } yield reload_library (); } private bool update_existing_connection (Gee.HashMap data) { foreach (var conn in settings.saved_connections) { var check = settings.arraify_data (conn); if (check["id"] == data["id"]) { settings.edit_connection (data, conn); return true; } } return false; } public void check_open_sqlite_file (string path, string name) { foreach (var conn in settings.saved_connections) { var check = settings.arraify_data (conn); if (check["file_path"] == path) { settings.edit_connection (check, conn); reload_library.begin ((obj, res) => { item_box.get_row_at_index (0).activate (); }); return; } } var data = new Gee.HashMap (); data.set ("id", settings.tot_connections.to_string ()); data.set ("title", name); data.set ("color", "rgb(222,222,222)"); data.set ("type", "SQLite"); data.set ("host", ""); data.set ("name", ""); data.set ("file_path", path); data.set ("username", ""); data.set ("password", ""); data.set ("port", ""); settings.add_connection (data); reload_library.begin ((obj, res) => { item_box.get_row_at_index (0).activate (); }); } private void init_connection_begin (Gee.HashMap data, Gtk.Spinner spinner, Gtk.ModelButton button, bool update = true) { connection_manager = new Sequeler.Services.ConnectionManager (window, data); if (data["type"] != "SQLite" && data["username"] == "") { spinner.stop (); button.sensitive = true; connection_warning (_("A username is required in order to connect!"), data["name"]); return; } if (data["has_ssh"] == "true") { real_data = data; real_spinner = spinner; real_button = button; connection_manager.ssh_tunnel_ready.connect (() => init_real_connection_begin (real_data, real_spinner, real_button, update) ); new Thread (null, () => { var result = new Gee.HashMap (); try { connection_manager.ssh_tunnel_init (true); } catch (Error e) { result["status"] = "false"; result["message"] = e.message; } Idle.add (() => { if (result["status"] == "false") { spinner.stop (); button.sensitive = true; connection_warning (result["message"], data["name"]); } return false; }); return null; }); } else { init_real_connection_begin (data, spinner, button, update); } } private void init_real_connection_begin (Gee.HashMap data, Gtk.Spinner spinner, Gtk.ModelButton button, bool update) { var result = new Gee.HashMap (); connection_manager.init_connection.begin ((obj, res) => { new Thread (null, () => { try { result = connection_manager.init_connection.end (res); } catch (ThreadError e) { connection_warning (e.message, data["name"]); spinner.stop (); button.sensitive = true; } Idle.add (() => { spinner.stop (); button.sensitive = true; if (result["status"] == "true") { if (settings.save_quick && update) { check_add_item.begin (data); } window.main.connection_opened.begin (connection_manager); } else { connection_warning (result["msg"], data["name"]); } return false; }); return null; }); }); } private void export_library () { file = null; buffer = new Gtk.TextBuffer (null); var save_dialog = new Gtk.FileChooserNative (_("Pick a file"), window, Gtk.FileChooserAction.SAVE, _("_Save"), _("_Cancel")); save_dialog.do_overwrite_confirmation = true; save_dialog.modal = true; save_dialog.response.connect ((dialog, response_id) => { switch (response_id) { case Gtk.ResponseType.ACCEPT: file = save_dialog.get_file (); save_to_file.begin (); break; default: break; } dialog.destroy (); }); save_dialog.run (); } private async void save_to_file () { var buffer_content = ""; var library = settings.saved_connections; foreach (var lib in library) { var array = settings.arraify_data (lib); try { array["password"] = yield password_mngr.get_password_async (array["id"]); } catch (Error e) { debug ("Unable to get the password from libsecret"); } if (array["has_ssh"] == "true") { try { array["ssh_password"] = yield password_mngr.get_password_async (array["id"] + "9999"); } catch { debug ("Unable to get the SSH password from libsecret"); } } buffer_content += settings.stringify_data (array) + "---\n"; } buffer.set_text (buffer_content); Gtk.TextIter start; Gtk.TextIter end; buffer.get_bounds (out start, out end); string current_contents = buffer.get_text (start, end, false); try { file.replace_contents (current_contents.data, null, false, GLib.FileCreateFlags.NONE, null, null); } catch (GLib.Error err) { export_warning (err.message); } } private void connection_warning (string message, string title) { var message_dialog = new Granite.MessageDialog.with_image_from_icon_name (_("Unable to Connect to %s").printf (title), message, "dialog-error", Gtk.ButtonsType.NONE); message_dialog.transient_for = window; var suggested_button = new Gtk.Button.with_label ("Close"); message_dialog.add_action_widget (suggested_button, Gtk.ResponseType.ACCEPT); message_dialog.show_all (); if (message_dialog.run () == Gtk.ResponseType.ACCEPT) {} message_dialog.destroy (); } private void export_warning (string message) { var message_dialog = new Granite.MessageDialog.with_image_from_icon_name (_("Unable to Export Library "), message, "dialog-error", Gtk.ButtonsType.NONE); message_dialog.transient_for = window; var suggested_button = new Gtk.Button.with_label ("Close"); message_dialog.add_action_widget (suggested_button, Gtk.ResponseType.ACCEPT); message_dialog.show_all (); if (message_dialog.run () == Gtk.ResponseType.ACCEPT) {} message_dialog.destroy (); } private async void duplicate_connection (Gee.HashMap data) { if (data["type"] != "SQLite") { try { data["password"] = yield password_mngr.get_password_async (data["id"]); } catch (Error e) { debug ("Unable to get the password from libsecret"); } } if (data["has_ssh"] == "true") { try { data["ssh_password"] = yield password_mngr.get_password_async (data["id"] + "9999"); } catch { debug ("Unable to get the SSH password from libsecret"); } } yield settings.duplicate_connection (data); yield reload_library (); } } sequeler-0.8.0/src/Layouts/Main.vala000066400000000000000000000074301367531117400173400ustar00rootroot00000000000000/* * Copyright (c) 2011-2018 Alecaddd (http://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Layouts.Main : Gtk.Paned { public weak Sequeler.Window window { get; construct; } public Sequeler.Services.ConnectionManager? connection_manager { get; set; default = null; } public Sequeler.Layouts.Library library; public Sequeler.Layouts.DataBaseSchema database_schema; public Sequeler.Layouts.Welcome welcome; public Sequeler.Layouts.DataBaseView database_view; public Gtk.Stack sidebar_stack; public Gtk.Stack main_stack; public Main (Sequeler.Window main_window) { Object ( orientation: Gtk.Orientation.HORIZONTAL, window: main_window ); } construct { position = settings.sidebar_width; sidebar_stack = new Gtk.Stack (); library = new Sequeler.Layouts.Library (window); database_schema = new Sequeler.Layouts.DataBaseSchema (window); sidebar_stack.add_named (library, "library"); sidebar_stack.add_named (database_schema, "database_schema"); main_stack = new Gtk.Stack (); welcome = new Sequeler.Layouts.Welcome (window); database_view = new Sequeler.Layouts.DataBaseView (window); main_stack.add_named (welcome, "welcome"); main_stack.add_named (database_view, "database_view"); build_sidebar (); build_main (); } public void build_sidebar () { pack1 (sidebar_stack, false, false); } public void build_main () { pack2 (main_stack, true, false); } public async void connection_opened (Sequeler.Services.ConnectionManager? cnn_manager) { debug ("connection opened"); connection_manager = cnn_manager; var host = cnn_manager.data["host"] != "" ? cnn_manager.data["host"] : "127.0.0.1"; window.headerbar.toggle_logout.begin (); sidebar_stack.set_visible_child_full ("database_schema", Gtk.StackTransitionType.CROSSFADE); main_stack.set_visible_child_full ("database_view", Gtk.StackTransitionType.SLIDE_LEFT); window.headerbar.title = _("Connected to %s").printf (cnn_manager.data["title"]); window.headerbar.subtitle = cnn_manager.data["username"] + "@" + host; database_schema.reload_schema.begin (); } public void connection_closed () { if (connection_manager.data["has_ssh"] == "true") { debug ("connection manager %p", connection_manager); connection_manager.ssh_tunnel_close (Log.FILE + ":" + Log.LINE.to_string ()); } if (connection_manager.connection != null && connection_manager.connection.is_opened ()) { connection_manager.connection.clear_events_list (); connection_manager.connection.close (); connection_manager.connection = null; } connection_manager = null; sidebar_stack.set_visible_child_full ("library", Gtk.StackTransitionType.CROSSFADE); main_stack.set_visible_child_full ("welcome", Gtk.StackTransitionType.UNDER_RIGHT); } } sequeler-0.8.0/src/Layouts/Views/000077500000000000000000000000001367531117400167005ustar00rootroot00000000000000sequeler-0.8.0/src/Layouts/Views/Content.vala000066400000000000000000000234631367531117400211670ustar00rootroot00000000000000/* * Copyright (c) 2017-2020 Alecaddd (https://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Layouts.Views.Content : Gtk.Grid { public weak Sequeler.Window window { get; construct; } public Gtk.Stack stack; private Gda.DataModel? table_content; public Gtk.Grid scroll_grid; public Gtk.ScrolledWindow scroll; public Gtk.Label result_message; private Gtk.Spinner spinner; private Gtk.Button pages_button; private Gtk.SpinButton pages_entry; private Sequeler.Partials.HeaderBarButton page_prev_btn; private Sequeler.Partials.HeaderBarButton page_next_btn; private int tot_pages { get; set; default = 0; } private int current_page { get; set; default = 1; } private bool reloading { get; set; default = false; } private string _table_name = ""; public string table_name { get { return _table_name; } set { _table_name = value; } } private string _database = ""; public string database { get { return _database; } set { _database = value; } } public int table_count = 0; private string? sortby = null; private string sort = "ASC"; public Content (Sequeler.Window main_window) { Object ( orientation: Gtk.Orientation.VERTICAL, window: main_window ); } construct { scroll_grid = new Gtk.Grid (); scroll_grid.expand = true; scroll = new Gtk.ScrolledWindow (null, null); scroll.hscrollbar_policy = Gtk.PolicyType.AUTOMATIC; scroll.vscrollbar_policy = Gtk.PolicyType.AUTOMATIC; scroll.expand = true; scroll_grid.add (scroll); var info_bar = new Gtk.Grid (); info_bar.get_style_context ().add_class ("library-toolbar"); info_bar.attach (build_pagination (), 0, 0, 1, 1); info_bar.attach (new Gtk.Separator (Gtk.Orientation.VERTICAL), 1, 0, 1, 1); info_bar.attach (build_results_msg (), 2, 0, 1, 1); info_bar.attach (build_reload_btn (), 3, 0, 1, 1); spinner = new Gtk.Spinner (); spinner.hexpand = true; spinner.vexpand = true; spinner.halign = Gtk.Align.CENTER; spinner.valign = Gtk.Align.CENTER; var welcome = new Granite.Widgets.Welcome (_("Select Table"), _("Select a table from the left sidebar to activate this view.")); stack = new Gtk.Stack (); stack.hexpand = true; stack.vexpand = true; stack.add_named (welcome, "welcome"); stack.add_named (spinner, "spinner"); stack.add_named (scroll_grid, "list"); attach (stack, 0, 0, 1, 1); attach (info_bar, 0, 1, 1, 1); placeholder (); } public void placeholder () { stack.visible_child_name = "welcome"; } public void start_spinner () { spinner.start (); stack.visible_child_name = "spinner"; } public void stop_spinner () { spinner.stop (); stack.visible_child_name = "list"; } public Gtk.Grid build_pagination () { var page_grid = new Gtk.Grid (); page_grid.valign = Gtk.Align.CENTER; page_prev_btn = new Sequeler.Partials.HeaderBarButton ("go-previous-symbolic", _("Previous Page")); page_prev_btn.clicked.connect (go_prev_page); page_prev_btn.halign = Gtk.Align.START; page_prev_btn.sensitive = false; page_next_btn = new Sequeler.Partials.HeaderBarButton ("go-next-symbolic", _("Next Page")); page_next_btn.clicked.connect (go_next_page); page_next_btn.halign = Gtk.Align.END; page_next_btn.sensitive = false; pages_button = new Gtk.Button.with_label (_("%d Pages").printf (tot_pages)); pages_button.can_focus = false; pages_button.get_style_context ().add_class (Gtk.STYLE_CLASS_FLAT); pages_button.set_tooltip_text (_("Jump to page…")); pages_entry = new Gtk.SpinButton.with_range (0, 0, 1); pages_entry.margin = 3; pages_entry.value_changed.connect (() => { if (pages_entry.get_value_as_int () > tot_pages) { return; } current_page = pages_entry.get_value_as_int (); reload_results (); }); var pages_popover = new Gtk.Popover (pages_button); pages_popover.add (pages_entry); pages_button.clicked.connect (() => { pages_popover.popup (); pages_popover.show_all (); }); page_grid.attach (page_prev_btn, 0, 0, 1, 1); page_grid.attach (new Gtk.Separator (Gtk.Orientation.VERTICAL), 1, 0, 1, 1); page_grid.attach (pages_button, 2, 0, 1, 1); page_grid.attach (new Gtk.Separator (Gtk.Orientation.VERTICAL), 3, 0, 1, 1); page_grid.attach (page_next_btn, 4, 0, 1, 1); return page_grid; } private void update_pagination () { if (table_count <= settings.limit_results) { pages_button.label = _("1 Page"); pages_entry.set_range (1, 1); return; } tot_pages = (int) Math.ceilf (((float) table_count) / settings.limit_results); pages_button.label = _("%d of %d Pages").printf (current_page, tot_pages); page_prev_btn.sensitive = (current_page > 1); page_next_btn.sensitive = (current_page < tot_pages); pages_entry.set_range (1, tot_pages); } public Gtk.Label build_results_msg () { result_message = new Gtk.Label (_("No Results Available")); result_message.halign = Gtk.Align.START; result_message.margin_top = result_message.margin_bottom = 3; result_message.margin_start = result_message.margin_end = 9; result_message.ellipsize = Pango.EllipsizeMode.END; result_message.hexpand = true; result_message.wrap = true; return result_message; } private Gtk.Button build_reload_btn () { var reload_btn = new Sequeler.Partials.HeaderBarButton ("view-refresh-symbolic", _("Reload Results")); reload_btn.clicked.connect (reload_results); reload_btn.halign = Gtk.Align.END; return reload_btn; } public async void clear () { if (scroll == null) { return; } scroll.destroy (); scroll = new Gtk.ScrolledWindow (null, null); scroll.hscrollbar_policy = Gtk.PolicyType.AUTOMATIC; scroll.vscrollbar_policy = Gtk.PolicyType.AUTOMATIC; scroll.expand = true; scroll_grid.add (scroll); } public async void reset () { if (scroll.get_child () != null) { scroll.remove (scroll.get_child ()); } result_message.label = _("No Results Available"); table_name = ""; database = ""; placeholder (); } public void fill (string? table, string? db_name = null, string? count = null) { if (table == null) { return; } if (table == _table_name && db_name == _database) { return; } // Reset sorting attributes. sortby = null; sort = "ASC"; table_name = table; database = db_name; table_count = count != null ? int.parse (count) : 0; tot_pages = 0; current_page = 1; get_content_and_fill.begin (); } public void reload_results () { if (table_name == "") { return; } get_content_and_fill.begin (); } public async void get_content_and_fill () { if (reloading) { debug ("still loading"); return; } start_spinner (); var query = (window.main.connection_manager.db_type as DataBaseType) .show_table_content (table_name, table_count, current_page, sortby, sort); reloading = true; table_content = yield get_table_content (query); if (table_content == null) { return; } var result_data = new Sequeler.Partials.TreeBuilder ( table_content, window, settings.limit_results, current_page, sortby, sort); build_signals (result_data); result_message.label = _("%d Entries").printf (table_count); yield clear (); update_pagination (); scroll.add (result_data); scroll.show_all (); reloading = false; stop_spinner (); } private async Gda.DataModel? get_table_content (string query) { Gda.DataModel? result = null; result = yield window.main.connection_manager.init_select_query (query); if (result == null) { reloading = false; yield reset (); } return result; } private void build_signals (Sequeler.Partials.TreeBuilder tree) { tree.sortby_column.connect ((column, direction) => { sortby = column; sort = direction; reload_results (); }); } public void go_prev_page () { page_prev_btn.sensitive = false; current_page--; get_content_and_fill.begin (); } public void go_next_page () { page_next_btn.sensitive = false; current_page++; get_content_and_fill.begin (); } } sequeler-0.8.0/src/Layouts/Views/Query.vala000066400000000000000000000523771367531117400206700ustar00rootroot00000000000000/* * Copyright (c) 2017-2020 Alecaddd (https://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Layouts.Views.Query : Gtk.Grid { public weak Sequeler.Window window { get; construct; } public Gtk.SourceView query_builder; public Gtk.SourceBuffer buffer; public Gtk.SourceBuffer buffer_copy; public Gtk.SourceStyleSchemeManager style_scheme_manager; public Gtk.CssProvider style_provider; private Gtk.Revealer error_revealer; private Gtk.Label error_message; public Gtk.ScrolledWindow scroll_results; public Gtk.Spinner spinner; public Gtk.Label loading_msg; public Gtk.Label result_message; public Gtk.Image icon_success; public Gtk.Image icon_fail; public Gtk.Button run_button; public Gtk.MenuButton export_button; private string font; public string default_font { get; set; } GLib.File? file; Gda.DataModel? response_data; public Gtk.Paned panels; public Sequeler.Partials.TreeBuilder result_data; public Sequeler.Widgets.QueryParamsDialog? params_dialog { get; set; default = null; } public signal void update_tab_indicator (bool status); public Query (Sequeler.Window main_window) { Object ( orientation: Gtk.Orientation.VERTICAL, window: main_window ); } construct { default_font = new GLib.Settings ("org.gnome.desktop.interface").get_string ("monospace-font-name"); panels = new Gtk.Paned (Gtk.Orientation.VERTICAL); panels.position = settings.query_area; panels.expand = true; attach (panels, 0, 0, 1, 1); var scroll = new Gtk.ScrolledWindow (null, null); scroll.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC); build_query_builder (); scroll.add (query_builder); panels.pack1 (scroll, false, false); panels.pack2 (results_view (), true, false); } public void use_default_font (bool value) { if (!value) { return; } font = default_font; } public void build_query_builder () { var manager = Gtk.SourceLanguageManager.get_default (); style_provider = new Gtk.CssProvider (); style_scheme_manager = new Gtk.SourceStyleSchemeManager (); buffer = new Gtk.SourceBuffer (null); buffer.highlight_syntax = true; buffer.highlight_matching_brackets = true; buffer.language = manager.get_language ("sql"); query_builder = new Gtk.SourceView.with_buffer (buffer); query_builder.show_line_numbers = true; query_builder.highlight_current_line = true; query_builder.show_right_margin = false; query_builder.wrap_mode = Gtk.WrapMode.WORD; query_builder.smart_home_end = Gtk.SourceSmartHomeEndType.AFTER; Gtk.drag_dest_add_uri_targets (query_builder); update_font_style (); update_color_style (); } private string get_current_font_family () { return font.substring (0, font.last_index_of (" ")); } private double get_current_font_size () { return double.parse (font.substring (font.last_index_of (" ") + 1)); } public void update_font_style () { font = Sequeler.settings.font; use_default_font (Sequeler.settings.use_system_font); var font_family = get_current_font_family (); var font_size = get_current_font_size ().to_string (); try { style_provider.load_from_data (" * { font-family: '%s'; font-size: %spx; }".printf (font_family, font_size), -1); query_builder.get_style_context ().add_provider ( style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION ); } catch (Error e) { debug ("Internal error loading session chooser style: %s", e.message); } } public void update_color_style () { buffer.style_scheme = style_scheme_manager.get_scheme (Sequeler.settings.style_scheme); } /** * Get the text buffer based on user cursor, selection, and semicolon */ public string get_text () { Gtk.TextIter start, end; // If a portion of text is selected if (buffer.get_selection_bounds (out start, out end)) { strip_comments (buffer.get_text (start, end, true).strip ()); return buffer_copy.text.strip (); } // If there's a semicolon, return the currently highlighted line if (buffer.text.contains (";")) { buffer.get_selection_bounds (out start, out end); start.set_line_offset (0); start.backward_find_char (is_semicolon, null); if (! start.starts_line ()) { start.forward_char (); } if (end.starts_line ()) { end.backward_char (); } if (!end.ends_line ()) { end.forward_to_line_end (); } end.forward_find_char (is_semicolon, null); debug (buffer.get_text (start, end, true).strip ()); strip_comments (buffer.get_text (start, end, true).strip ()); return buffer_copy.text.strip (); } // Return full text strip_comments (); debug (buffer_copy.text.strip ()); return buffer_copy.text.strip (); } /** * Remove inline comments (//) and block comments (/*) */ public void strip_comments (string? source_text = null) { var text = source_text != null ? source_text : buffer.text; buffer_copy = new Gtk.SourceBuffer (null); buffer_copy.set_text (text); string[] lines = Regex.split_simple ("""[\r\n]""", text); if (lines.length != buffer_copy.get_line_count ()) { warning ("Mismatch between line counts when stripping trailing spaces, not continuing"); return; } MatchInfo info; Gtk.TextIter start_delete, end_delete; Regex comments; try { comments = new Regex ("""\/\*[\s\S]*?\*\/|([^:]|^)\/\/.*$""", 0); } catch (RegexError e) { critical ("Error while building regex to replace trailing whitespace: %s", e.message); return; } // Find comments line by line for (int line_no = 0; line_no < lines.length; line_no++) { if (comments.match (lines[line_no], 0, out info)) { buffer_copy.get_iter_at_line (out start_delete, line_no); start_delete.forward_to_line_end (); end_delete = start_delete; end_delete.backward_chars (info.fetch (0).length); buffer_copy.@delete (ref start_delete, ref end_delete); } } int start_pos, end_pos; // Find leftover comment blocks if (comments.match (text, 0, out info)) { info.fetch_pos (0, out start_pos, out end_pos); buffer_copy.get_iter_at_offset (out start_delete, start_pos); end_delete = start_delete; end_delete.forward_chars (info.fetch (0).length); buffer_copy.@delete (ref start_delete, ref end_delete); } } public Gtk.Grid results_view () { var results_view = new Gtk.Grid (); spinner = new Gtk.Spinner (); spinner.hexpand = true; spinner.halign = Gtk.Align.END; spinner.margin = 10; var action_bar = new Gtk.Grid (); action_bar.get_style_context ().add_class ("library-titlebar"); action_bar.attach (build_loading_msg (), 0, 0, 1, 1); action_bar.attach (spinner, 1, 0, 1, 1); action_bar.attach (build_run_button (), 2, 0, 1, 1); scroll_results = new Gtk.ScrolledWindow (null, null); scroll_results.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC); scroll_results.expand = true; error_revealer = new Gtk.Revealer (); var error_grid = new Gtk.Grid (); error_grid.get_style_context ().add_class ("query-error"); error_grid.hexpand = true; error_grid.margin = 6; error_message = new Gtk.Label (""); error_message.wrap = true; error_message.margin = 6; error_grid.add (error_message); error_revealer.add (error_grid); error_revealer.reveal_child = false; var info_bar = new Gtk.Grid (); info_bar.get_style_context ().add_class ("library-toolbar"); info_bar.attach (build_results_msg (), 0, 0, 1, 1); info_bar.attach (build_export_btn (), 1, 0, 1, 1); results_view.attach (action_bar, 0, 0, 1, 1); results_view.attach (error_revealer, 0, 1, 1, 1); results_view.attach (scroll_results, 0, 2, 1, 1); results_view.attach (info_bar, 0, 3, 1, 1); return results_view; } public Gtk.Label build_loading_msg () { loading_msg = new Gtk.Label (_("Running Query\u2026")); loading_msg.halign = Gtk.Align.START; loading_msg.margin = 10; loading_msg.hexpand = true; loading_msg.wrap = true; toggle_loading_msg (false); return loading_msg; } public void toggle_loading_msg (bool toggle) { loading_msg.visible = toggle; loading_msg.no_show_all = !toggle; } public Gtk.Button build_run_button () { run_button = new Sequeler.Partials.RunQueryButton (); run_button.margin = 10; run_button.action_name = Services.ActionManager.ACTION_PREFIX + Services.ActionManager.ACTION_RUN_QUERY; return run_button; } public Gtk.Grid build_results_msg () { var result_box = new Gtk.Grid (); icon_success = new Gtk.Image.from_icon_name ("process-completed-symbolic", Gtk.IconSize.BUTTON); icon_success.margin_start = 6; icon_success.visible = false; icon_success.no_show_all = true; icon_fail = new Gtk.Image.from_icon_name ("dialog-error-symbolic", Gtk.IconSize.BUTTON); icon_fail.margin_start = 6; icon_fail.visible = false; icon_fail.no_show_all = true; result_message = new Gtk.Label (_("No Results Available")); result_message.halign = Gtk.Align.START; result_message.margin = 6; result_message.margin_top = 6; result_message.hexpand = true; result_message.wrap = true; result_box.attach (icon_success, 0, 0, 1, 1); result_box.attach (icon_fail, 1, 0, 1, 1); result_box.attach (result_message, 2, 0, 1, 1); return result_box; } public void show_result_icon (bool status) { update_tab_indicator (status); if (status) { icon_success.visible = true; icon_success.no_show_all = false; icon_fail.visible = false; icon_fail.no_show_all = true; return; } icon_success.visible = false; icon_success.no_show_all = true; icon_fail.visible = true; icon_fail.no_show_all = false; } public Gtk.Button build_export_btn () { var export_image = new Gtk.Image.from_icon_name ("document-save-symbolic", Gtk.IconSize.BUTTON); export_button = new Gtk.MenuButton (); export_button.label = _("Export Results"); export_button.get_style_context ().add_class (Gtk.STYLE_CLASS_FLAT); export_button.always_show_image = true; export_button.set_image (export_image); export_button.can_focus = false; var menu_grid = new Gtk.Grid (); menu_grid.expand = true; menu_grid.margin_top = 3; menu_grid.margin_bottom = 3; menu_grid.orientation = Gtk.Orientation.VERTICAL; var export_csv = new Gtk.ModelButton (); export_csv.label = _("Export as CSV"); export_csv.image = new Gtk.Image.from_icon_name ("x-office-spreadsheet", Gtk.IconSize.BUTTON); export_csv.always_show_image = true; export_csv.clicked.connect (() => { export_results (1); }); var export_text = new Gtk.ModelButton (); export_text.label = _("Export as Text"); export_text.image = new Gtk.Image.from_icon_name ("text-x-generic", Gtk.IconSize.BUTTON); export_text.always_show_image = true; export_text.clicked.connect (() => { export_results (2); }); menu_grid.attach (export_csv, 0, 1, 1, 1); menu_grid.attach (export_text, 0, 2, 1, 1); menu_grid.show_all (); var export_menu = new Gtk.Popover (null); export_menu.add (menu_grid); export_button.popover = export_menu; export_button.direction = Gtk.ArrowType.UP; export_button.sensitive = false; return export_button; } public void run_query (string query) { Gda.Statement statement; Gda.Set params; try { statement = window.main.connection_manager.parse_sql_string (query, out params); } catch (GLib.Error ex) { on_query_error (ex.message); return; } if (statement == null || params == null) { run_query_statement (query, statement, null); return; } for (int i = 0; ; i++) { var holder = params.get_nth_holder (i); if (holder == null) { break; } debug ("holder #%d is %s type: %s", i, holder.get_id (), holder.get_g_type ().name ()); } params_dialog = new Sequeler.Widgets.QueryParamsDialog (window, this, query, statement, params); params_dialog.set_modal (true); params_dialog.show_all (); params_dialog.destroy.connect (() => { params_dialog = null; }); } public void run_query_statement (string query, Gda.Statement statement, Gda.Set? params) { toggle_loading_msg (true); spinner.start (); var select_pos = query.down ().index_of ("select", 0); var show_pos = query.down ().index_of ("show", 0); var pragma_pos = query.down ().index_of ("pragma", 0); var explain_pos = query.down ().index_of ("explain", 0); if (select_pos == 0 || show_pos == 0 || pragma_pos == 0 || explain_pos == 0) { select_statement.begin (statement, params, (obj, res) => { handle_select_response (select_statement.end (res)); }); } else { non_select_statement.begin (statement, params, (obj, res) => { handle_query_response (non_select_statement.end (res)); }); } } private async Gee.HashMap select_statement (Gda.Statement statement, Gda.Set? params) { return yield window.main.connection_manager.init_silent_select_statement (statement, params); } public async Gee.HashMap non_select_statement (Gda.Statement statement, Gda.Set? params) { return yield window.main.connection_manager.init_silent_statement (statement, params); } public void handle_select_response (Gee.HashMap response) { foreach (var entry in response.entries) { response_data = entry.key; on_query_error (entry.value); } if (response_data == null) { toggle_loading_msg (false); spinner.stop (); result_message.label = _("Unable to process Query!"); show_result_icon (false); export_button.sensitive = false; return; } if (error_revealer.get_reveal_child ()) { error_revealer.reveal_child = false; } if (result_data != null) { scroll_results.remove (result_data); result_data = null; } result_data = new Sequeler.Partials.TreeBuilder (response_data, window); toggle_loading_msg (false); spinner.stop (); result_message.label = _("%d Total Results").printf (response_data.get_n_rows ()); show_result_icon (true); scroll_results.add (result_data); scroll_results.show_all (); export_button.sensitive = response_data.get_n_rows () == 0 ? false : true; } public void handle_query_response (Gee.HashMap data) { string? response = null; foreach (var entry in data.entries) { response = entry.key; on_query_error (entry.value); } toggle_loading_msg (false); spinner.stop (); if (result_data != null) { scroll_results.remove (result_data); result_data = null; } if (response == null) { result_message.label = _("Unable to process Query!"); show_result_icon (false); return; } if (error_revealer.get_reveal_child ()) { error_revealer.reveal_child = false; } if (int.parse (response) > 0) { result_message.label = _("Query Successfully Executed! Rows Affected: %s").printf (response); show_result_icon (true); } else { result_message.label = _("Query Executed!"); show_result_icon (true); } window.main.database_schema.reload_schema.begin (); // Force reset all views to fetch updated data window.main.database_view.content.reset.begin (); window.main.database_view.relations.reset.begin (); window.main.database_view.structure.reset.begin (); } private void on_query_error (string error) { if (error == "") { return; } if (result_data != null) { scroll_results.remove (result_data); result_data = null; } error_message.label = error; error_revealer.reveal_child = true; } private bool is_semicolon (unichar semicolon) { return semicolon.to_string () == ";"; } private void export_results (int type) { file = null; var save_dialog = new Gtk.FileChooserNative (_("Pick a file"), window, Gtk.FileChooserAction.SAVE, _("_Save"), _("_Cancel")); save_dialog.do_overwrite_confirmation = true; save_dialog.modal = true; save_dialog.response.connect ((dialog, response_id) => { switch (response_id) { case Gtk.ResponseType.ACCEPT: file = save_dialog.get_file (); save_to_file (type); break; } dialog.destroy (); }); save_dialog.run (); } private void save_to_file (int type) { var options_list = new GLib.SList (); var separator_holder = new Gda.Holder (GLib.Type.STRING); var first_line_holder = new Gda.Holder (GLib.Type.BOOLEAN); var overwrite_holder = new Gda.Holder (GLib.Type.BOOLEAN); separator_holder.id = "SEPARATOR"; try { separator_holder.set_value (","); } catch (GLib.Error err) { window.main.connection_manager.query_warning (err.message); } first_line_holder.id = "NAMES_ON_FIRST_LINE"; try { first_line_holder.set_value (true); } catch (GLib.Error err) { window.main.connection_manager.query_warning (err.message); } overwrite_holder.id = "OVERWRITE"; try { overwrite_holder.set_value (true); } catch (GLib.Error err) { window.main.connection_manager.query_warning (err.message); } options_list.append (separator_holder); options_list.append (first_line_holder); options_list.append (overwrite_holder); var options = new Gda.Set (options_list); switch (type) { case 1: // Export as CSV try { response_data.export_to_file (Gda.DataModelIOFormat.TEXT_SEPARATED, file.get_path (), null, null, options); } catch (GLib.Error err) { window.main.connection_manager.query_warning (err.message); } break; case 2: // Export as plain text try { response_data.export_to_file (Gda.DataModelIOFormat.TEXT_TABLE, file.get_path (), null, null, options); } catch (GLib.Error err) { window.main.connection_manager.query_warning (err.message); } break; } } } sequeler-0.8.0/src/Layouts/Views/Relations.vala000066400000000000000000000145471367531117400215200ustar00rootroot00000000000000/* * Copyright (c) 2017-2020 Alecaddd (https://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Layouts.Views.Relations : Gtk.Grid { public weak Sequeler.Window window { get; construct; } public Gtk.Stack stack; public Gtk.Grid scroll_grid; public Gtk.ScrolledWindow scroll; public Gtk.Label result_message; private Gtk.Spinner spinner; private bool reloading { get; set; default = false; } private string _table_name = ""; public string table_name { get { return _table_name; } set { _table_name = value; } } private string _database = ""; public string database { get { return _database; } set { _database = value; } } private string? sortby = null; private string sort = "ASC"; public Relations (Sequeler.Window main_window) { Object ( orientation: Gtk.Orientation.VERTICAL, window: main_window ); } construct { scroll_grid = new Gtk.Grid (); scroll_grid.expand = true; scroll = new Gtk.ScrolledWindow (null, null); scroll.hscrollbar_policy = Gtk.PolicyType.AUTOMATIC; scroll.vscrollbar_policy = Gtk.PolicyType.AUTOMATIC; scroll.expand = true; var info_bar = new Gtk.Grid (); info_bar.get_style_context ().add_class ("library-toolbar"); info_bar.attach (build_results_msg (), 0, 0, 1, 1); info_bar.attach (build_reload_btn (), 1, 0, 1, 1); spinner = new Gtk.Spinner (); spinner.hexpand = true; spinner.vexpand = true; spinner.halign = Gtk.Align.CENTER; spinner.valign = Gtk.Align.CENTER; var welcome = new Granite.Widgets.Welcome (_("Select Table"), _("Select a table from the left sidebar to activate this view.")); stack = new Gtk.Stack (); stack.hexpand = true; stack.vexpand = true; stack.add_named (welcome, "welcome"); stack.add_named (spinner, "spinner"); stack.add_named (scroll_grid, "list"); attach (stack, 0, 0, 1, 1); attach (info_bar, 0, 1, 1, 1); placeholder (); } public void placeholder () { stack.visible_child_name = "welcome"; } public void start_spinner () { spinner.start (); stack.visible_child_name = "spinner"; } public void stop_spinner () { spinner.stop (); stack.visible_child_name = "list"; } public Gtk.Label build_results_msg () { result_message = new Gtk.Label (_("No Results Available")); result_message.halign = Gtk.Align.START; result_message.margin = 7; result_message.margin_top = 6; result_message.hexpand = true; result_message.wrap = true; return result_message; } private Gtk.Button build_reload_btn () { var reload_btn = new Sequeler.Partials.HeaderBarButton ("view-refresh-symbolic", _("Reload Results")); reload_btn.clicked.connect (reload_results); reload_btn.halign = Gtk.Align.END; return reload_btn; } public async void clear () { if (scroll == null) { return; } scroll.destroy (); scroll = new Gtk.ScrolledWindow (null, null); scroll.hscrollbar_policy = Gtk.PolicyType.AUTOMATIC; scroll.vscrollbar_policy = Gtk.PolicyType.AUTOMATIC; scroll.expand = true; scroll_grid.add (scroll); } public async void reset () { if (scroll.get_child () != null) { scroll.remove (scroll.get_child ()); } result_message.label = _("No Results Available"); table_name = ""; database = ""; placeholder (); } public void fill (string? table, string? db_name = null) { if (table == null) { return; } if (table == _table_name && db_name == _database) { return; } // Reset sorting attributes. sortby = null; sort = "ASC"; table_name = table; database = db_name; get_content_and_fill.begin (); } public void reload_results () { if (table_name == "") { return; } get_content_and_fill.begin (); } public async void get_content_and_fill () { if (reloading) { debug ("still loading"); return; } start_spinner (); var query = (window.main.connection_manager.db_type as DataBaseType) .show_table_relations (table_name, database, sortby, sort); reloading = true; var table_relations = yield get_table_relations (query); if (table_relations == null) { return; } var result_data = new Sequeler.Partials.TreeBuilder ( table_relations, window, 0, 0, sortby, sort); build_signals (result_data); result_message.label = table_relations.get_n_rows ().to_string () + _(" Constraints"); yield clear (); scroll.add (result_data); scroll.show_all (); reloading = false; stop_spinner (); } private async Gda.DataModel? get_table_relations (string query) { Gda.DataModel? result = null; result = yield window.main.connection_manager.init_select_query (query); if (result == null) { reloading = false; yield reset (); } return result; } private void build_signals (Sequeler.Partials.TreeBuilder tree) { tree.sortby_column.connect ((column, direction) => { sortby = column; sort = direction; reload_results (); }); } } sequeler-0.8.0/src/Layouts/Views/Structure.vala000066400000000000000000000145331367531117400215530ustar00rootroot00000000000000/* * Copyright (c) 2011-2019 Alecaddd (http://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Layouts.Views.Structure : Gtk.Grid { public weak Sequeler.Window window { get; construct; } public Gtk.Stack stack; public Gtk.Grid scroll_grid; public Gtk.ScrolledWindow scroll; public Gtk.Label result_message; private Gtk.Spinner spinner; private bool reloading { get; set; default = false; } private string _table_name = ""; public string table_name { get { return _table_name; } set { _table_name = value; } } private string _database = ""; public string database { get { return _database; } set { _database = value; } } private string? sortby = null; private string sort = "ASC"; public Structure (Sequeler.Window main_window) { Object ( orientation: Gtk.Orientation.VERTICAL, window: main_window ); } construct { scroll_grid = new Gtk.Grid (); scroll_grid.expand = true; scroll = new Gtk.ScrolledWindow (null, null); scroll.hscrollbar_policy = Gtk.PolicyType.AUTOMATIC; scroll.vscrollbar_policy = Gtk.PolicyType.AUTOMATIC; scroll.expand = true; scroll_grid.add (scroll); var info_bar = new Gtk.Grid (); info_bar.get_style_context ().add_class ("library-toolbar"); info_bar.attach (build_results_msg (), 0, 0, 1, 1); info_bar.attach (build_reload_btn (), 1, 0, 1, 1); spinner = new Gtk.Spinner (); spinner.hexpand = true; spinner.vexpand = true; spinner.halign = Gtk.Align.CENTER; spinner.valign = Gtk.Align.CENTER; var welcome = new Granite.Widgets.Welcome (_("Select Table"), _("Select a table from the left sidebar to activate this view.")); stack = new Gtk.Stack (); stack.hexpand = true; stack.vexpand = true; stack.add_named (welcome, "welcome"); stack.add_named (spinner, "spinner"); stack.add_named (scroll_grid, "list"); attach (stack, 0, 0, 1, 1); attach (info_bar, 0, 1, 1, 1); placeholder (); } public void placeholder () { stack.visible_child_name = "welcome"; } public void start_spinner () { spinner.start (); stack.visible_child_name = "spinner"; } public void stop_spinner () { spinner.stop (); stack.visible_child_name = "list"; } public Gtk.Label build_results_msg () { result_message = new Gtk.Label (_("No Results Available")); result_message.halign = Gtk.Align.START; result_message.margin = 7; result_message.margin_top = 6; result_message.hexpand = true; result_message.wrap = true; return result_message; } private Gtk.Button build_reload_btn () { var reload_btn = new Sequeler.Partials.HeaderBarButton ("view-refresh-symbolic", _("Reload Results")); reload_btn.clicked.connect (reload_results); reload_btn.halign = Gtk.Align.END; return reload_btn; } public async void clear () { if (scroll == null) { return; } scroll.destroy (); scroll = new Gtk.ScrolledWindow (null, null); scroll.hscrollbar_policy = Gtk.PolicyType.AUTOMATIC; scroll.vscrollbar_policy = Gtk.PolicyType.AUTOMATIC; scroll.expand = true; scroll_grid.add (scroll); } public async void reset () { if (scroll.get_child () != null) { scroll.remove (scroll.get_child ()); } result_message.label = _("No Results Available"); table_name = ""; database = ""; placeholder (); } public void fill (string? table, string? db_name = null) { if (table == null) { return; } if (table == _table_name && db_name == _database) { return; } // Reset sorting attributes. sortby = null; sort = "ASC"; table_name = table; database = db_name; get_content_and_fill.begin (); } public void reload_results () { if (table_name == "") { return; } get_content_and_fill.begin (); } public async void get_content_and_fill () { if (reloading) { debug ("still loading"); return; } start_spinner (); var query = (window.main.connection_manager.db_type as DataBaseType) .show_table_structure (table_name, sortby, sort); reloading = true; var table_schema = yield get_table_schema (query); if (table_schema == null) { return; } var result_data = new Sequeler.Partials.TreeBuilder (table_schema, window, 0, 0, sortby, sort); build_signals (result_data); result_message.label = table_schema.get_n_rows ().to_string () + _(" Fields"); yield clear (); scroll.add (result_data); scroll.show_all (); reloading = false; stop_spinner (); } private async Gda.DataModel? get_table_schema (string query) { Gda.DataModel? result = null; result = yield window.main.connection_manager.init_select_query (query); if (result == null) { reloading = false; yield reset (); } return result; } private void build_signals (Sequeler.Partials.TreeBuilder tree) { tree.sortby_column.connect ((column, direction) => { sortby = column; sort = direction; reload_results (); }); } } sequeler-0.8.0/src/Layouts/Welcome.vala000066400000000000000000000106461367531117400200520ustar00rootroot00000000000000/* * Copyright (c) 2011-2018 Alecaddd (http://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Layouts.Welcome : Granite.Widgets.Welcome { public unowned Sequeler.Window window { get; construct; } public Welcome (Sequeler.Window main_window) { Object ( window: main_window, title: _("Welcome to Sequeler"), subtitle: _("Connect to Any Local or Remote Database.") ); } construct { valign = Gtk.Align.FILL; halign = Gtk.Align.FILL; vexpand = true; append ("bookmark-new", _("Add a New Database"), _("Connect to a Database and Save It in Your Library")); append ("window-new", _("New Window"), _("Open a New Sequeler Window")); append ("folder-download", _("Import Connections"), _("Import Previously Exported Sequeler Connections")); activated.connect ( index => { switch (index) { case 0: Sequeler.Services.ActionManager.action_from_group (Sequeler.Services.ActionManager.ACTION_NEW_CONNECTION, window.get_action_group ("win")); break; case 1: Sequeler.Services.ActionManager.action_from_group (Sequeler.Services.ActionManager.ACTION_NEW_WINDOW, window.get_action_group ("win")); break; case 2: import_file (); break; } }); } private void import_file () { var open_dialog = new Gtk.FileChooserNative (_("Select a file"), window, Gtk.FileChooserAction.OPEN, _("_Open"), _("_Cancel")); open_dialog.local_only = true; open_dialog.modal = true; open_dialog.response.connect (open_file); open_dialog.run (); } private void open_file (Gtk.NativeDialog dialog, int response_id) { var open_dialog = dialog as Gtk.FileChooserNative; switch (response_id) { case Gtk.ResponseType.ACCEPT: var file = open_dialog.get_file (); uint8[] file_contents; try { file.load_contents (null, out file_contents, null); } catch (GLib.Error err) { import_warning (err.message); } var imported_connections = (string) file_contents; var data = imported_connections.split ("---\n"); foreach (var import in data) { if (import == "") { continue; } var array = settings.arraify_data (import); array["id"] = settings.tot_connections.to_string (); settings.add_connection (array); } window.main.library.reload_library.begin (); break; case Gtk.ResponseType.CANCEL: break; } open_dialog.destroy (); } private void import_warning (string message) { var message_dialog = new Granite.MessageDialog.with_image_from_icon_name (_("Unable to Import Library "), message, "dialog-error", Gtk.ButtonsType.NONE); message_dialog.transient_for = window; var suggested_button = new Gtk.Button.with_label ("Close"); message_dialog.add_action_widget (suggested_button, Gtk.ResponseType.ACCEPT); message_dialog.show_all (); if (message_dialog.run () == Gtk.ResponseType.ACCEPT) {} message_dialog.destroy (); } } sequeler-0.8.0/src/Main.vala000066400000000000000000000023371367531117400157010ustar00rootroot00000000000000/* * Copyright (c) 2011-2018 Alecaddd (http://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ #if IS_DEVEL public const string APP_NAME = "(Development) Sequeler"; #else public const string APP_NAME = "Sequeler"; #endif public const string TERMINAL_NAME = "sequeler"; public static int main (string[] args) { Environment.set_application_name ("Sequeler"); Environment.set_prgname ("Sequeler"); var application = new Sequeler.Application (); return application.run (args); } sequeler-0.8.0/src/Partials/000077500000000000000000000000001367531117400157225ustar00rootroot00000000000000sequeler-0.8.0/src/Partials/ButtonType.vala000066400000000000000000000040551367531117400207100ustar00rootroot00000000000000/* * Copyright (c) 2011-2018 Alecaddd (http://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ namespace Sequeler.Partials { public class HeaderBarButton : Gtk.Button { public HeaderBarButton (string icon_name, string tooltip) { can_focus = false; Gtk.Image image; if (icon_name.contains ("/")) { image = new Gtk.Image.from_resource (icon_name); } else { image = new Gtk.Image.from_icon_name (icon_name, Gtk.IconSize.BUTTON); } image.margin = 3; get_style_context ().add_class (Gtk.STYLE_CLASS_FLAT); set_tooltip_text (tooltip); add (image); } } public class ToolBarButton : Gtk.Grid { public ToolBarButton (string icon_name, string tooltip, string label) { name = tooltip; halign = Gtk.Align.CENTER; Gtk.Image icon; var title = new Gtk.Label (label); if (icon_name.contains ("/")) { icon = new Gtk.Image.from_resource (icon_name); } else { icon = new Gtk.Image.from_icon_name (icon_name, Gtk.IconSize.BUTTON); } icon.margin = 2; attach (icon, 0, 0, 1, 1); attach (title, 1, 0, 1, 1); } } } sequeler-0.8.0/src/Partials/DataBasePanel.vala000066400000000000000000000134151367531117400212170ustar00rootroot00000000000000/* * Copyright (c) 2020 Alecaddd (https://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Partials.DataBasePanel : Gtk.Revealer { public weak Sequeler.Window window { get; construct; } private Gtk.Label title; private Sequeler.Partials.Entry db_entry; private Gtk.Stack button_stack; private Gtk.Button button_save; private Gtk.Button button_edit; private Gtk.Button button_cancel; private Gtk.Spinner spinner; public bool reveal { get { return reveal_child; } set { reveal_child = value; spinner.stop (); button_cancel.sensitive = true; } } public DataBasePanel (Sequeler.Window main_window) { Object ( window: main_window ); } construct { valign = Gtk.Align.START; hexpand = true; transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN; reveal_child = false; var panel = new Gtk.Grid (); panel.margin = 9; panel.get_style_context ().add_class ("database-panel"); // Title area. title = new Gtk.Label (""); title.get_style_context ().add_class ("h4"); title.margin_start = title.margin_end = 3; title.margin_top = 6; title.ellipsize = Pango.EllipsizeMode.END; // Body area. var body = new Gtk.Grid (); body.margin = 3; db_entry = new Sequeler.Partials.Entry (_("Database name"), null); db_entry.margin = 6; db_entry.changed.connect (change_sensitivity); body.add (db_entry); // Action buttons area. var buttons_area = new Gtk.Grid (); buttons_area.hexpand = true; buttons_area.get_style_context ().add_class ("database-panel-bottom"); button_cancel = new Gtk.Button.with_label (_("Cancel")); button_cancel.clicked.connect (() => { window.main.database_schema.hide_database_panel (); }); button_cancel.margin = 9; button_save = new Gtk.Button.with_label (_("Save")); button_save.get_style_context ().add_class (Gtk.STYLE_CLASS_SUGGESTED_ACTION); button_save.margin = 9; button_save.sensitive = false; button_save.clicked.connect (() => { window.main.database_schema.create_database.begin (db_entry.text); }); button_edit = new Gtk.Button.with_label (_("Edit")); button_edit.get_style_context ().add_class (Gtk.STYLE_CLASS_SUGGESTED_ACTION); button_edit.margin = 9; button_edit.sensitive = false; button_edit.clicked.connect (() => { var dialog = new Granite.MessageDialog.with_image_from_icon_name (_("Are you sure you want to edit this Database?"), _("This is a dangerous operation and it might cause data loss, a backup before proceeding is recommended."), "dialog-warning", Gtk.ButtonsType.CANCEL); dialog.transient_for = window; var suggested_button = new Gtk.Button.with_label (_("Yes, proceed!")); suggested_button.get_style_context ().add_class (Gtk.STYLE_CLASS_DESTRUCTIVE_ACTION); dialog.add_action_widget (suggested_button, Gtk.ResponseType.ACCEPT); dialog.show_all (); if (dialog.run () == Gtk.ResponseType.ACCEPT) { button_cancel.sensitive = false; spinner.start (); button_stack.visible_child_name = "spinner"; window.main.database_schema.edit_database.begin (db_entry.text); } dialog.destroy (); }); spinner = new Gtk.Spinner (); spinner.hexpand = true; spinner.vexpand = true; spinner.halign = Gtk.Align.CENTER; spinner.valign = Gtk.Align.CENTER; button_stack = new Gtk.Stack (); button_stack.expand = false; button_stack.add_named (button_save, "new"); button_stack.add_named (button_edit, "edit"); button_stack.add_named (spinner, "spinner"); var separator = new Gtk.Separator (Gtk.Orientation.HORIZONTAL); separator.expand = true; separator.halign = Gtk.Align.CENTER; buttons_area.attach (button_cancel, 0, 0); buttons_area.attach (separator, 1, 0); buttons_area.attach (button_stack, 2, 0); panel.attach (title, 0, 0); panel.attach (body, 0, 1); panel.attach (buttons_area, 0, 2); add (panel); } private void change_sensitivity () { button_save.sensitive = db_entry.text != ""; button_edit.sensitive = db_entry.text != ""; } public void new_database () { spinner.stop (); button_cancel.sensitive = true; title.label = _("Create a new Database"); db_entry.text = ""; button_stack.visible_child_name = "new"; } public void edit_database (string name) { spinner.stop (); button_cancel.sensitive = true; title.label = _("Edit Database"); db_entry.text = name; button_stack.visible_child_name = "edit"; } } sequeler-0.8.0/src/Partials/DatabaseTable.vala000066400000000000000000000042541367531117400212500ustar00rootroot00000000000000/* * Copyright (c) 2017-2020 Alecaddd (https://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Partials.DataBaseTable : Granite.Widgets.SourceList.Item { private Gtk.Menu menu; private Granite.Widgets.SourceList source_list; public DataBaseTable (string table_name = "", Granite.Widgets.SourceList list) { name = table_name; source_list = list; editable = true; build_context_menu (); } public override Gtk.Menu? get_context_menu () { return menu; } private void build_context_menu () { menu = new Gtk.Menu (); Gtk.MenuItem copy_item = new Gtk.MenuItem.with_label (_("Copy table name")); Gtk.MenuItem edit_item = new Gtk.MenuItem.with_label (_("Edit table name")); copy_item.activate.connect (() => { Gdk.Display display = Gdk.Display.get_default (); Gtk.Clipboard clipboard = Gtk.Clipboard.get_default (display); clipboard.set_text (name, -1); }); copy_item.show (); edit_item.activate.connect (() => { source_list.start_editing_item (this); }); edit_item.show (); menu.append (copy_item); menu.append (edit_item); /* Wayland complains if not set */ menu.realize.connect (() => { Gdk.Window child = menu.get_window (); child.set_type_hint (Gdk.WindowTypeHint.POPUP_MENU); }); } } sequeler-0.8.0/src/Partials/Helpers.vala000066400000000000000000000113671367531117400202010ustar00rootroot00000000000000/* * Copyright (c) 2011-2018 Alecaddd (http://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ namespace Sequeler.Partials { public class TitleBar : Gtk.Grid { public TitleBar (string text) { get_style_context ().add_class ("library-titlebar"); var title = new Gtk.Label (text); title.get_style_context ().add_class ("h4"); title.halign = Gtk.Align.CENTER; title.margin = 4; title.hexpand = true; this.add (title); } } public class ResponseMessage : Gtk.Label { public ResponseMessage () { get_style_context ().add_class ("h4"); halign = Gtk.Align.CENTER; valign = Gtk.Align.CENTER; justify = Gtk.Justification.CENTER; set_line_wrap (true); margin_bottom = 10; } } public class Entry : Gtk.Entry { public Entry (string? placeholder, string? val) { hexpand = true; if (placeholder != null) { placeholder_text = placeholder; } if (val != null) { text = val; } } } public class ButtonClass : Gtk.Button { public ButtonClass (string text, string* class) { label = text; if (class != null) { var style_context = this.get_style_context (); style_context.add_class (class); } } } public class TableRow : Gtk.Grid { public TableRow (string text, int type) { if (type % 2 == 0) { get_style_context ().add_class ("row-odd"); } else { get_style_context ().add_class ("row-even"); } var title = new Gtk.Label (text); title.get_style_context ().add_class ("h4"); title.halign = Gtk.Align.START; title.margin_start = 6; title.margin_end = 6; title.hexpand = true; this.add (title); } } public class LabelForm : Gtk.Label { public LabelForm (string text) { label = text; halign = Gtk.Align.END; } } class UrlButton : Gtk.Button { public UrlButton (string label, string uri, string icon_name) { get_style_context ().add_class (Granite.STYLE_CLASS_ACCENT); get_style_context ().add_class (Gtk.STYLE_CLASS_FLAT); tooltip_text = uri; var icon = new Gtk.Image.from_icon_name (icon_name, Gtk.IconSize.SMALL_TOOLBAR); icon.valign = Gtk.Align.CENTER; var title = new Gtk.Label (label); title.ellipsize = Pango.EllipsizeMode.END; var grid = new Gtk.Grid (); grid.column_spacing = 6; grid.add (icon); grid.add (title); add (grid); clicked.connect (() => { try { AppInfo.launch_default_for_uri (uri, null); } catch (Error e) { warning ("%s\n", e.message); } }); } } public class RunQueryButton : Gtk.Button { public RunQueryButton () { set_label (_("Run Query")); get_style_context ().add_class ("suggested-action"); get_style_context ().add_class ("notebook-temp-fix"); always_show_image = true; image = new Gtk.Image.from_icon_name ("media-playback-start-symbolic", Gtk.IconSize.BUTTON); image.valign = Gtk.Align.CENTER; tooltip_markup = Granite.markup_accel_tooltip ({"Return"}, _("Run Query")); } } public class ParamEntry : Gtk.Entry { public ParamEntry (Widgets.QueryParamsDialog dialog, Gtk.InputPurpose? purpose = null) { hexpand = true; if (purpose != null) { set_input_purpose (purpose); } activate.connect (() => { dialog.run_query (); }); } } } sequeler-0.8.0/src/Partials/LibraryItem.vala000066400000000000000000000252361367531117400210220ustar00rootroot00000000000000/* * Copyright (c) 2017-2020 Alecaddd (https://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Partials.LibraryItem : Gtk.ListBoxRow { public Gee.HashMap data { get; set; } public Gtk.Label title; public Gdk.RGBA color; public Gtk.Revealer main_revealer; private Gtk.Revealer motion_revealer; public Gtk.ModelButton connect_button; public Gtk.Spinner spinner; public Gtk.ScrolledWindow scrolled { get; set; } private bool scroll_up = false; private bool scrolling = false; private bool should_scroll = false; public Gtk.Adjustment vadjustment; private const int SCROLL_STEP_SIZE = 5; private const int SCROLL_DISTANCE = 30; private const int SCROLL_DELAY = 50; public signal void edit_dialog (Gee.HashMap data); public signal void duplicate_connection (Gee.HashMap data); public signal void confirm_delete ( Gtk.ListBoxRow item, Gee.HashMap data ); public signal void connect_to ( Gee.HashMap data, Gtk.Spinner spinner, Gtk.ModelButton button ); // Datatype restrictions on DnD (Gtk.TargetFlags). const Gtk.TargetEntry[] TARGET_ENTRIES_LABEL = { { "LIBRARYITEM", Gtk.TargetFlags.SAME_APP, 0 } }; public LibraryItem (Gee.HashMap data) { Object ( data: data ); get_style_context ().add_class ("library-box"); expand = true; var box = new Gtk.Grid (); box.get_style_context ().add_class ("library-inner-box"); box.margin = 3; var color_box = new Gtk.Grid (); color_box.get_style_context ().add_class ("library-colorbox"); color_box.set_size_request (12, 12); color_box.margin = 9; color = Gdk.RGBA (); color.parse (data["color"]); try { var style = new Gtk.CssProvider (); style.load_from_data ( "* {background-color: %s;}".printf (color.to_string ()), -1 ); color_box.get_style_context ().add_provider ( style, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION ); } catch (Error e) { debug ( "Internal error loading session chooser style: %s", e.message ); } title = new Gtk.Label (data["title"]); title.get_style_context ().add_class ("text-bold"); title.halign = Gtk.Align.START; title.ellipsize = Pango.EllipsizeMode.END; title.margin_end = 9; title.set_line_wrap (true); title.hexpand = true; box.attach (color_box, 0, 0, 1, 1); box.attach (title, 1, 0, 1, 1); connect_button = new Gtk.ModelButton (); connect_button.text = _("Connect"); var edit_button = new Gtk.ModelButton (); edit_button.text = _("Edit Connection"); var duplicate_button = new Gtk.ModelButton (); duplicate_button.text = _("Duplicate Connection"); var delete_button = new Gtk.ModelButton (); delete_button.text = _("Delete Connection"); var open_menu = new Gtk.MenuButton (); open_menu.set_image ( new Gtk.Image.from_icon_name ( "view-more-symbolic", Gtk.IconSize.SMALL_TOOLBAR ) ); open_menu.get_style_context ().add_class ("library-btn"); open_menu.tooltip_text = _("Options"); var menu_separator = new Gtk.Separator (Gtk.Orientation.HORIZONTAL); menu_separator.margin_top = 6; menu_separator.margin_bottom = 6; var menu_grid = new Gtk.Grid (); menu_grid.expand = true; menu_grid.margin_top = 3; menu_grid.margin_bottom = 3; menu_grid.orientation = Gtk.Orientation.VERTICAL; menu_grid.attach (connect_button, 0, 1, 1, 1); menu_grid.attach (edit_button, 0, 2, 1, 1); menu_grid.attach (duplicate_button, 0, 3, 1, 1); menu_grid.attach (menu_separator, 0, 4, 1, 1); menu_grid.attach (delete_button, 0, 5, 1, 1); menu_grid.show_all (); var menu_popover = new Gtk.Popover (null); menu_popover.add (menu_grid); open_menu.popover = menu_popover; open_menu.relief = Gtk.ReliefStyle.NONE; open_menu.valign = Gtk.Align.CENTER; spinner = new Gtk.Spinner (); box.attach (spinner, 2, 0, 1, 1); box.attach (open_menu, 3, 0, 1, 1); var motion_grid = new Gtk.Grid (); motion_grid.margin = 6; motion_grid.get_style_context ().add_class ("grid-motion"); motion_grid.height_request = 18; motion_revealer = new Gtk.Revealer (); motion_revealer.transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN; motion_revealer.add (motion_grid); box.attach (motion_revealer, 0, 1, 4, 1); var event_box = new Gtk.EventBox (); event_box.add (box); main_revealer = new Gtk.Revealer (); main_revealer.reveal_child = true; main_revealer.transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN; main_revealer.add (event_box); add (main_revealer); delete_button.clicked.connect (() => { confirm_delete (this, data); }); edit_button.clicked.connect (() => { edit_dialog (data); }); duplicate_button.clicked.connect (() => { duplicate_connection (data); }); connect_button.clicked.connect (() => { spinner.start (); connect_button.sensitive = false; connect_to (data, spinner, connect_button); }); event_box.enter_notify_event.connect (event => { box.set_state_flags (Gtk.StateFlags.PRELIGHT, true); return false; }); event_box.leave_notify_event.connect (event => { if (event.detail != Gdk.NotifyType.INFERIOR) { box.set_state_flags (Gtk.StateFlags.NORMAL, true); } return false; }); open_menu.clicked.connect (event => { box.set_state_flags (Gtk.StateFlags.PRELIGHT, true); }); menu_popover.closed.connect (event => { box.set_state_flags (Gtk.StateFlags.NORMAL, true); }); build_drag_and_drop (); } private void build_drag_and_drop () { // Make this a draggable widget Gtk.drag_source_set ( this, Gdk.ModifierType.BUTTON1_MASK, TARGET_ENTRIES_LABEL, Gdk.DragAction.MOVE ); drag_begin.connect (on_drag_begin); drag_data_get.connect (on_drag_data_get); // Make this widget a DnD destination. Gtk.drag_dest_set ( this, Gtk.DestDefaults.MOTION, TARGET_ENTRIES_LABEL, Gdk.DragAction.MOVE ); drag_motion.connect (on_drag_motion); drag_leave.connect (on_drag_leave); drag_end.connect (clear_indicator); } private void on_drag_begin (Gtk.Widget widget, Gdk.DragContext context) { var row = (Partials.LibraryItem) widget; Gtk.Allocation alloc; row.get_allocation (out alloc); var surface = new Cairo.ImageSurface (Cairo.Format.ARGB32, alloc.width, alloc.height); var cr = new Cairo.Context (surface); cr.set_source_rgba (0, 0, 0, 0.3); cr.set_line_width (1); cr.move_to (0, 0); cr.line_to (alloc.width, 0); cr.line_to (alloc.width, alloc.height); cr.line_to (0, alloc.height); cr.line_to (0, 0); cr.stroke (); cr.set_source_rgba (255, 255, 255, 0.5); cr.rectangle (0, 0, alloc.width, alloc.height); cr.fill (); row.draw (cr); Gtk.drag_set_icon_surface (context, surface); main_revealer.reveal_child = false; } private void on_drag_data_get (Gtk.Widget widget, Gdk.DragContext context, Gtk.SelectionData selection_data, uint target_type, uint time) { uchar[] data = new uchar[(sizeof (Partials.LibraryItem))]; ((Gtk.Widget[])data)[0] = widget; selection_data.set ( Gdk.Atom.intern_static_string ("LIBRARYITEM"), 32, data ); } public void clear_indicator (Gdk.DragContext context) { main_revealer.reveal_child = true; } public bool on_drag_motion (Gdk.DragContext context, int x, int y, uint time) { motion_revealer.reveal_child = true; int index = get_index (); Gtk.Allocation alloc; get_allocation (out alloc); int real_y = (index * alloc.height) - alloc.height + y; check_scroll (real_y); if (should_scroll && !scrolling) { scrolling = true; Timeout.add (SCROLL_DELAY, scroll); } return true; } private void check_scroll (int y) { vadjustment = scrolled.vadjustment; if (vadjustment == null) { return; } double vadjustment_min = vadjustment.value; double vadjustment_max = vadjustment.page_size + vadjustment_min; double show_min = double.max (0, y - SCROLL_DISTANCE); double show_max = double.min (vadjustment.upper, y + SCROLL_DISTANCE); if (vadjustment_min > show_min) { should_scroll = true; scroll_up = true; } else if (vadjustment_max < show_max) { should_scroll = true; scroll_up = false; } else { should_scroll = false; } } private bool scroll () { if (should_scroll) { if (scroll_up) { vadjustment.value -= SCROLL_STEP_SIZE; } else { vadjustment.value += SCROLL_STEP_SIZE; } } else { scrolling = false; } return should_scroll; } public void on_drag_leave (Gdk.DragContext context, uint time) { motion_revealer.reveal_child = false; should_scroll = false; } } sequeler-0.8.0/src/Partials/TreeBuilder.vala000066400000000000000000000160631367531117400210030ustar00rootroot00000000000000/* * Copyright (c) 2011-2019 Alecaddd (http://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Partials.TreeBuilder : Gtk.TreeView { public weak Sequeler.Window window { get; construct; } public Gda.DataModel data { get; construct; } public int per_page { get; construct; } public int current_page { get; construct; } public string? sortby { get; set construct; } public string sort { get; set construct; } public Gtk.ListStore store; public string? error_message { get; set; default = null; } public string background; public int tot_columns; private string bg_light = "rgba(255,255,255,0.05)"; private string bg_dark = "rgba(0,0,0,0.05)"; public signal void sortby_column (string column, string direction); public TreeBuilder ( Gda.DataModel response, Sequeler.Window main_window, int per_page = 0, int current_page = 0, string? sortby = null, string sort = "ASC" ) { Object ( window: main_window, data: response, per_page: per_page, current_page: current_page, sortby: sortby, sort: sort ); } construct { Gtk.TreeViewColumn column; var renderer = new Gtk.CellRendererText (); renderer.single_paragraph_mode = true; tot_columns = data.get_n_columns (); var the_types = new GLib.Type [tot_columns + 1]; for (int col = 0; col < tot_columns; col++) { the_types[col] = data.describe_column (col).get_g_type (); var title = data.get_column_title (col).replace ("_", "__"); column = new Gtk.TreeViewColumn.with_attributes (title, renderer, "text", col, "background", tot_columns, null); column.clickable = true; column.resizable = true; column.expand = true; column.set_data ("model_column_id", col); if (col > 0) { column.sizing = Gtk.TreeViewColumnSizing.FIXED; column.fixed_width = 150; } if (sortby != null && sortby.replace ("_", "__") == title) { column.sort_indicator = true; column.sort_order = sort == "ASC" ? Gtk.SortType.ASCENDING : Gtk.SortType.DESCENDING; } column.clicked.connect (init_sortby_column); append_column (column); } the_types[tot_columns] = typeof (string); store = new Gtk.ListStore.newv (the_types); Gda.DataModelIter _iter = data.create_iter (); Gtk.TreeIter iter; if (per_page != 0 && data.get_n_rows () > per_page) { int counter = 1; int offset = (per_page * (current_page - 1)); if (current_page != 0 && offset != 0) { _iter.move_to_row ((offset - 1)); } while (counter <= per_page && _iter.move_next ()) { append_value (_iter, iter); counter++; } } else { while (_iter.move_next ()) { append_value (_iter, iter); } } if (error_message != null) { window.main.connection_manager.query_warning (error_message); error_message = null; } set_model (store); } private void append_value (Gda.DataModelIter _iter, Gtk.TreeIter iter) { background = _iter.get_row () % 2 == 0 ? bg_light : bg_dark; store.append (out iter); for (int i = 0; i < tot_columns; i++) { var placeholder_type = data.describe_column (i).get_g_type (); try { var raw_value = _iter.get_value_at_e (i); var sanitized_value = raw_value.strdup_contents () != "NULL" ? raw_value : GLib.Value (placeholder_type); store.set_value (iter, i, sanitized_value); } catch (Error e) { error_message = "%s %s %s %s: %s".printf (_("Error"), e.code.to_string (), _("on Column"), data.get_column_title (i), e.message.to_string ()); } } store.set_value (iter, tot_columns, background); } public void init_sortby_column (Gtk.TreeViewColumn column) { // Detect sort order. sort = "ASC"; if (column.sort_order == Gtk.SortType.ASCENDING) { sort = "DESC"; } sortby_column (column.title.replace ("__", "_"), sort); } private void copy_column_data (Gdk.EventButton event, Gtk.TreePath path, Gtk.TreeViewColumn column) { if (path == null || column == null) { return; } Value val; Gtk.TreeIter iter; Gdk.Display display = Gdk.Display.get_default (); Gtk.Clipboard clipboard = Gtk.Clipboard.get_default (display); model.get_iter (out iter, path); model.get_value (iter, column.get_data ("model_column_id"), out val); Gda.DataHandler handler = Gda.DataHandler.get_default (val.type ()); string? column_data = handler.get_str_from_value (val); if (column_data == null) { column_data = ""; } clipboard.set_text (column_data, -1); } private Gtk.Menu create_context_menu (Gdk.EventButton event, Gtk.TreePath path, Gtk.TreeViewColumn column) { Gtk.Menu menu = new Gtk.Menu (); Gtk.MenuItem item = new Gtk.MenuItem.with_label (_("Copy %s").printf (column.get_title ())); item.activate.connect (() => { copy_column_data (event, path, column); }); item.show (); menu.append (item); /* Wayland complains if not set */ menu.realize.connect (() => { Gdk.Window child = menu.get_window (); child.set_type_hint (Gdk.WindowTypeHint.POPUP_MENU); }); return menu; } public override bool button_press_event (Gdk.EventButton event) { if (event.triggers_context_menu () && event.type == Gdk.EventType.BUTTON_PRESS) { Gtk.TreePath path; Gtk.TreeViewColumn column; get_path_at_pos ((int) event.x, (int) event.y, out path, out column, null, null); if (path != null) { var menu = create_context_menu (event, path, column); menu.popup_at_pointer (event); return true; } } return base.button_press_event (event); } } sequeler-0.8.0/src/Services/000077500000000000000000000000001367531117400157265ustar00rootroot00000000000000sequeler-0.8.0/src/Services/ActionManager.vala000066400000000000000000000237721367531117400213160ustar00rootroot00000000000000/* * Copyright (c) 2011-2018 Alecaddd (http://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Services.ActionManager : Object { public const int FONT_SIZE_MAX = 72; public const int FONT_SIZE_MIN = 7; public weak Sequeler.Application app { get; construct; } public weak Sequeler.Window window { get; construct; } public SimpleActionGroup actions { get; construct; } public const string ACTION_PREFIX = "win."; public const string ACTION_NEW_WINDOW = "action_new_window"; public const string ACTION_NEW_CONNECTION = "action_new_connection"; public const string ACTION_RUN_QUERY = "action_run_query"; public const string ACTION_LOGOUT = "action_logout"; public const string ACTION_QUIT = "action_quit"; public const string ACTION_ZOOM_DEFAULT = "action_zoom_default"; public const string ACTION_ZOOM_IN = "action_zoom_in"; public const string ACTION_ZOOM_OUT = "action_zoom_out"; public const string ACTION_NEW_DB = "action_new_db"; public const string ACTION_EDIT_DB = "action_edit_db"; public const string ACTION_DELETE_DB = "action_delete_db"; public static Gee.MultiMap action_accelerators = new Gee.HashMultiMap (); private const ActionEntry[] ACTION_ENTRIES = { { ACTION_NEW_WINDOW, action_new_window }, { ACTION_NEW_CONNECTION, action_new_connection }, { ACTION_RUN_QUERY, action_run_query }, { ACTION_LOGOUT, action_logout }, { ACTION_QUIT, action_quit }, { ACTION_ZOOM_DEFAULT, action_set_default_zoom }, { ACTION_ZOOM_IN, action_zoom_in }, { ACTION_ZOOM_OUT, action_zoom_out}, { ACTION_NEW_DB, action_new_db}, { ACTION_EDIT_DB, action_edit_db}, { ACTION_DELETE_DB, action_delete_db} }; public ActionManager (Sequeler.Application sequeler_app, Sequeler.Window main_window) { Object ( app: sequeler_app, window: main_window ); } static construct { action_accelerators.set (ACTION_NEW_WINDOW, "n"); action_accelerators.set (ACTION_NEW_CONNECTION, "n"); action_accelerators.set (ACTION_RUN_QUERY, "Return"); action_accelerators.set (ACTION_LOGOUT, "Escape"); action_accelerators.set (ACTION_QUIT, "q"); action_accelerators.set (ACTION_ZOOM_DEFAULT, "0"); action_accelerators.set (ACTION_ZOOM_DEFAULT, "KP_0"); action_accelerators.set (ACTION_ZOOM_IN, "plus"); action_accelerators.set (ACTION_ZOOM_IN, "equal"); action_accelerators.set (ACTION_ZOOM_IN, "KP_Add"); action_accelerators.set (ACTION_ZOOM_OUT, "minus"); action_accelerators.set (ACTION_ZOOM_OUT, "KP_Subtract"); action_accelerators.set (ACTION_NEW_DB, "N"); action_accelerators.set (ACTION_EDIT_DB, "P"); action_accelerators.set (ACTION_DELETE_DB, "D"); } construct { actions = new SimpleActionGroup (); actions.add_action_entries (ACTION_ENTRIES, this); window.insert_action_group ("win", actions); foreach (var action in action_accelerators.get_keys ()) { var accels_array = action_accelerators[action].to_array (); accels_array += null; app.set_accels_for_action (ACTION_PREFIX + action, accels_array); } } private void action_quit () { window.before_destroy (); } private void action_logout () { window.headerbar.toggle_logout.begin (); window.headerbar.title = APP_NAME; window.headerbar.subtitle = null; if (window.main.database_schema.scroll.get_child () != null) { window.main.database_schema.scroll.remove (window.main.database_schema.scroll.get_child ()); } if (window.main.database_view.query.n_tabs > 0) { (window.main.database_view.query.current.page as Layouts.Views.Query).buffer.text = ""; (window.main.database_view.query.current.page as Layouts.Views.Query).export_button.sensitive = false; } window.main.database_view.structure.reset.begin (); window.main.database_view.structure.table_name = ""; window.main.database_view.content.reset.begin (); window.main.database_view.content.table_name = ""; window.main.database_view.relations.reset.begin (); window.main.database_view.relations.table_name = ""; window.main.connection_closed (); window.data_manager.data = null; window.main.database_schema.hide_database_panel (); } private void action_new_window () { app.new_window (); } private void action_new_connection () { if (window.main.connection_manager != null) { return; } window.data_manager.data = null; if (window.connection_dialog == null) { window.connection_dialog = new Sequeler.Widgets.ConnectionDialog (window); window.connection_dialog.show_all (); window.connection_dialog.destroy.connect (() => { window.connection_dialog = null; }); } window.connection_dialog.present (); } private void action_run_query () { if (window.main.connection_manager == null) { return; } var page = (window.main.database_view.query.current.page as Layouts.Views.Query); var query = page.get_text ().strip (); if (query == "") { return; } page.run_query (query); } public static void action_from_group (string action_name, ActionGroup? action_group) { action_group.activate_action (action_name, null); } public void set_default_zoom () { Sequeler.settings.font = get_current_font () + " " + get_default_font_size ().to_string (); (window.main.database_view.query.current.page as Layouts.Views.Query).update_font_style (); } // Ctrl + scroll public void action_zoom_in () { zooming (Gdk.ScrollDirection.UP); } // Ctrl + scroll public void action_zoom_out () { zooming (Gdk.ScrollDirection.DOWN); } private void zooming (Gdk.ScrollDirection direction) { string font = get_current_font (); int font_size = (int) get_current_font_size (); if (Sequeler.settings.use_system_font) { Sequeler.settings.use_system_font = false; font = get_default_font (); font_size = (int) get_default_font_size (); } if (direction == Gdk.ScrollDirection.DOWN) { font_size --; if (font_size < FONT_SIZE_MIN) { return; } } else if (direction == Gdk.ScrollDirection.UP) { font_size ++; if (font_size > FONT_SIZE_MAX) { return; } } string new_font = font + " " + font_size.to_string (); Sequeler.settings.font = new_font; (window.main.database_view.query.current.page as Layouts.Views.Query).update_font_style (); } public string get_current_font () { string font = Sequeler.settings.font; string font_family = font.substring (0, font.last_index_of (" ")); return font_family; } public double get_current_font_size () { string font = Sequeler.settings.font; string font_size = font.substring (font.last_index_of (" ") + 1); return double.parse (font_size); } public string get_default_font () { string font = (window.main.database_view.query.current.page as Layouts.Views.Query).default_font; string font_family = font.substring (0, font.last_index_of (" ")); return font_family; } public double get_default_font_size () { string font = (window.main.database_view.query.current.page as Layouts.Views.Query).default_font; string font_size = font.substring (font.last_index_of (" ") + 1); return double.parse (font_size); } // Actions functions private void action_set_default_zoom () { set_default_zoom (); } // Show the Database Panel. private void action_new_db () { window.main.database_schema.show_database_panel (); } // Show the Database Panel to edit the currently selected database. private void action_edit_db () { window.main.database_schema.edit_database_name (); } // Ask confirmation to the user before deleting the database. private void action_delete_db () { var dialog = new Granite.MessageDialog.with_image_from_icon_name (_("Are you sure you want to delete this Database?"), _("All the tables and data will be deleted and you won’t be able to recover it."), "dialog-warning", Gtk.ButtonsType.CANCEL); dialog.transient_for = window; var suggested_button = new Gtk.Button.with_label (_("Yes, Delete!")); suggested_button.get_style_context ().add_class (Gtk.STYLE_CLASS_DESTRUCTIVE_ACTION); dialog.add_action_widget (suggested_button, Gtk.ResponseType.ACCEPT); dialog.show_all (); if (dialog.run () == Gtk.ResponseType.ACCEPT) { window.main.database_schema.delete_database.begin (); } dialog.destroy (); } } sequeler-0.8.0/src/Services/ConnectionManager.vala000066400000000000000000000507601367531117400221750ustar00rootroot00000000000000/* * Copyright (c) 2011-2019 Alecaddd (http://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Services.ConnectionManager : Object { public weak Sequeler.Window window { get; construct; } public Gee.HashMap data { get; construct; } private Object _db_type; public signal void ssh_tunnel_ready (); public signal void query_error (string error); public Object db_type { get { return _db_type; } set { _db_type = value; } } public Gda.Connection? connection { get; set; default = null; } public Gda.DataModel? output_select; public SSH2.Session session; int sock; int listensock; int forwardsock; bool ssh_tunnel_alive = false; [Flags] enum Auth { NONE, PASSWORD, PUBLICKEY } public ConnectionManager (Sequeler.Window window, Gee.HashMap data) { Object ( window: window, data: data ); } construct { switch (data["type"]) { case "MySQL": db_type = new Sequeler.Services.Types.MySQL (); break; case "MariaDB": db_type = new Sequeler.Services.Types.MySQL (); break; case "PostgreSQL": db_type = new Sequeler.Services.Types.PostgreSQL (); break; case "SQLite": db_type = new Sequeler.Services.Types.SQLite (); break; } fetch_password (); } public void fetch_password () { if (data["password"] == null) { data["password"] = ""; var loop = new MainLoop (); password_mngr.get_password_async.begin (data["id"], (obj, res) => { try { data["password"] = password_mngr.get_password_async.end (res); } catch (Error e) { debug ("Unable to get the password from libsecret"); } loop.quit (); }); loop.run (); } if (data["has_ssh"] == "true") { data["ssh_password"] = ""; var ssh_loop = new MainLoop (); password_mngr.get_password_async.begin (data["id"] + "9999", (obj, res) => { try { data["ssh_password"] = password_mngr.get_password_async.end (res); } catch (Error e) { debug ("Unable to get the SSH password from libsecret"); } ssh_loop.quit (); }); ssh_loop.run (); } } public void test () throws Error { if (data["password"] == null) { fetch_password (); } var connection_string = (db_type as DataBaseType).connection_string (data); debug ("connection string %s", connection_string); try { connection = Gda.Connection.open_from_string (null, connection_string, null, Gda.ConnectionOptions.NONE); } catch (Error e) { throw e; } if (connection.is_opened ()) { connection.close (); } } public void open () throws Error { if (data["password"] == null) { fetch_password (); } var connection_string = (db_type as DataBaseType).connection_string (data); debug ("connection string %s", connection_string); try { connection = Gda.Connection.open_from_string (null, connection_string, null, Gda.ConnectionOptions.NONE); } catch (Error e) { throw e; } debug ("open ends"); } public void ssh_tunnel_init (bool is_real) throws Error { try { ssh_tunnel_open (is_real); } catch (Error e) { debug (e.message); throw e; } } private void ssh_tunnel_open (bool is_real) throws Error { debug ("Opening tunnel %p", Thread.self ()); ssh_tunnel_alive = true; Quark q = Quark.from_string ("ssh-error-str"); var home_dir = Environment.get_home_dir (); // private key file var keyfile2 = home_dir + "/.ssh/id_rsa"; if (data.has_key ("ssh_identity_file") && data["ssh_identity_file"] != "") { keyfile2 = data["ssh_identity_file"]; } // public key file var keyfile1 = keyfile2 + ".pub"; // SSH credentials if password authentication is required var username = data["ssh_username"]; var password = data["ssh_password"]; // SSH HOST address and Port var server_ip = data["ssh_host"]; var server_port = data["ssh_port"] != "" ? (uint16) int.parse (data["ssh_port"]) : 22; // The IP address where the DB is available on your SSH var local_listenip = "127.0.0.1"; // The Port used by the DB on your SSH host uint16 local_listenport = 9000; // Default vars for TCPIP Tunnelling var remote_desthost = data["host"] != "" ? data["host"] : "127.0.0.1"; var remote_destport = data["port"] != "" ? int.parse (data["port"]) : 3306; var rc = SSH2.init (0); if (rc != SSH2.Error.NONE) { debug ("libssh2 initialization failed (%d)", rc); throw new Error.literal (q, 1, _("Libssh2 initialization failed (%d)").printf (rc)); } debug ("Socket params: %s %d", server_ip, server_port); /* Connect to SSH server */ sock = Posix.socket (Posix.AF_INET, Posix.SOCK_STREAM, Posix.IPProto.TCP); if (sock == -1) { debug ("Failed to open socket"); throw new Error.literal (q, 1, _("Failed to open socket")); } Posix.SockAddrIn sin = Posix.SockAddrIn (); sin.sin_family = Posix.AF_INET; sin.sin_addr.s_addr = Posix.inet_addr (server_ip); sin.sin_port = Posix.htons (server_port); if (Posix.connect (sock, &sin, sizeof (Posix.SockAddrIn)) != 0) { debug ("Failed to connect!"); throw new Error.literal (q, 1, _("Failed to connect!")); } /* Create a session instance */ session = SSH2.Session.create (); /* …start it up. This will trade welcome banners, exchange keys, * and setup crypto, compression, and MAC layers */ rc = session.handshake (sock); if (rc != SSH2.Error.NONE) { debug ("Error when starting up SSH session: %d", rc); throw new Error.literal (q, 1, _("Error when starting up SSH session: %d").printf (rc)); } /* check what authentication methods are available */ int auth_pw = 0; var userauthlist = session.list_authentication (username.data); debug ("Authentication methods: %s", userauthlist); if ("password" in userauthlist) { auth_pw |= Auth.PASSWORD; } if ("publickey" in userauthlist) { auth_pw |= Auth.PUBLICKEY; } if ((auth_pw & Auth.PASSWORD) != 0) { if (session.auth_password (username, password) != SSH2.Error.NONE) { debug ("Authentication by password failed."); ssh_tunnel_close (Log.FILE + ":" + Log.LINE.to_string ()); throw new Error.literal (q, 1, _("Authentication by password failed!")); } } else if ((auth_pw & Auth.PUBLICKEY) != 0) { if (session.auth_publickey_from_file (username, keyfile1, keyfile2, password ) != SSH2.Error.NONE) { debug ("Authentication by public key failed!"); ssh_tunnel_close (Log.FILE + ":" + Log.LINE.to_string ()); throw new Error.literal (q, 1, _("Authentication by public key failed!")); } debug ("Authentication by public key succeeded."); } else { debug ("No supported authentication methods found!"); ssh_tunnel_close (Log.FILE + ":" + Log.LINE.to_string ()); throw new Error.literal (q, 1, _("No supported authentication methods found!")); } listensock = Posix.socket (Posix.AF_INET, Posix.SOCK_STREAM, Posix.IPProto.TCP); if (listensock == -1) { debug ("failed to open listen socket"); ssh_tunnel_close (Log.FILE + ":" + Log.LINE.to_string ()); throw new Error.literal (q, 1, _("Failed to open listen socket")); } debug ("listensock %d", listensock); sin = Posix.SockAddrIn (); sin.sin_family = Posix.AF_INET; sin.sin_addr.s_addr = Posix.inet_addr (local_listenip); sin.sin_port = Posix.htons (local_listenport); var sockopt = 1; Posix.setsockopt (listensock, Linux.Socket.SOL_SOCKET, Linux.Socket.SO_REUSEADDR, &sockopt, (Posix.socklen_t) sizeof (int)); if (Posix.bind (listensock, &sin, sizeof (Posix.SockAddrIn)) == -1) { debug ("Failed to bind!"); ssh_tunnel_close (Log.FILE + ":" + Log.LINE.to_string ()); throw new Error.literal (q, 1, _("Failed to bind. Your Database Port may be wrong!")); } if (Posix.listen (listensock, 2) == -1) { debug ("Failed to listen!"); ssh_tunnel_close (Log.FILE + ":" + Log.LINE.to_string ()); throw new Error.literal (q, 1, _("Failed to listen!")); } debug ("Waiting for TCP connection on %s:%d…", local_listenip, local_listenport); bool signal_launched = false; while (ssh_tunnel_alive) { if (!signal_launched) { signal_launched = true; ssh_tunnel_ready (); } else { if (!is_real) { ssh_tunnel_close (Log.FILE + ":" + Log.LINE.to_string ()); return; } } debug ("Waiting for remote connection %p", Thread.self ()); forwardsock = Posix.accept (listensock, null, null); debug ("forwardsock %d", forwardsock); if (forwardsock == -1) { debug ("Failed to accept!"); ssh_tunnel_close (Log.FILE + ":" + Log.LINE.to_string ()); throw new Error.literal (q, 1, _("Failed to accept remote connection!")); } debug ("Forwarding connection from %s:%d here to remote %s:%d", local_listenip, local_listenport, remote_desthost, remote_destport); var channel = session.direct_tcpip (remote_desthost, remote_destport, local_listenip, local_listenport); if (channel == null) { debug ("Could not open the direct-tcpip channel! (Note that this can be a problem at the server! Please review the server logs.)"); ssh_tunnel_close (Log.FILE + ":" + Log.LINE.to_string ()); throw new Error.literal (q, 1, _("Could not open the direct-tcpip channel! (Note that this can be a problem at the server! Please review the server logs.)")); } session.blocking = false; uint8[] buf = new uint8[16384]; while (ssh_tunnel_alive) { Posix.fd_set fds; Posix.FD_ZERO (out fds); Posix.FD_SET (forwardsock, ref fds); Posix.timeval tv = {0, 100000}; var res = Posix.select (forwardsock + 1, &fds, null, null, tv); if (-1 == res) { debug ("Error on select!"); if (is_real) { ssh_tunnel_close (Log.FILE + ":" + Log.LINE.to_string ()); } // direct_shutdown (); break; } if (res > 0 && Posix.FD_ISSET (forwardsock, fds) > 0) { var len = Posix.recv (forwardsock, buf, 16384, 0); if (len < 0) { debug ("Error reading from the forwardsock!"); ssh_tunnel_close (Log.FILE + ":" + Log.LINE.to_string ()); break; } else if (0 == len) { debug ("The client at %s:%d disconnected!", local_listenip, local_listenport); debug ("connection manager %p", this); if (is_real) { direct_shutdown (); } break; } ssize_t wr = 0; ssize_t i = 0; do { i = channel.write (buf[wr:len]); if (i < 0) { debug ("Error writing on the SSH channel: %s", i.to_string ()); ssh_tunnel_close (Log.FILE + ":" + Log.LINE.to_string ()); // direct_shutdown (); break; } wr += i; } while (i > 0 && wr < len); } while (ssh_tunnel_alive) { ssize_t len = channel.read (buf); if (SSH2.Error.AGAIN == len) break; else if (len < 0) { debug ("Error reading from the SSH channel: %d", (int) len); ssh_tunnel_close (Log.FILE + ":" + Log.LINE.to_string ()); // direct_shutdown (); break; } ssize_t wr = 0; while (wr < len) { ssize_t i = Posix.send (forwardsock, buf[wr:buf.length], len - wr, 0); if (i <= 0) { debug ("Error writing on the forwardsock!"); ssh_tunnel_close (Log.FILE + ":" + Log.LINE.to_string ()); // direct_shutdown (); break; } wr += i; } if (channel.eof () != SSH2.Error.NONE) { debug ("The remote client at %s:%d disconnected!", remote_desthost, remote_destport); if (is_real) { ssh_tunnel_close (Log.FILE + ":" + Log.LINE.to_string ()); // direct_shutdown (); } break; } } } } } public void ssh_tunnel_close (string from = "Unknown") { debug ("closing ssh tunnel from: %s %p", from, Thread.self ()); ssh_tunnel_alive = false; // debug ("closing listensock: %d", listensock); Posix.close (listensock); listensock = -1; // debug ("listensock closed: %d", listensock); // debug ("closing forwardsock: %d", forwardsock); Posix.close (forwardsock); forwardsock = -1; // debug ("forwardsock closed: %d", forwardsock); if (session != null) { session.disconnect ("Client disconnecting normally"); session.blocking = false; session = null; } Posix.close (sock); sock = -1; SSH2.exit (); } private void direct_shutdown () { session.blocking = true; Posix.close (forwardsock); forwardsock = -1; } public async int run_query (string query) throws Error requires (connection.is_opened ()) { return connection.execute_non_select_command (query); } public async string run_silent_statement (Gda.Statement statement, Gda.Set? params) throws Error requires (connection.is_opened ()) { var result = connection.statement_execute_non_select (statement, params, null); return result.to_string (); } public Gda.DataModel? run_silent_select_statement (Gda.Statement statement, Gda.Set? params) throws Error requires (connection.is_opened ()) { return connection.statement_execute_select (statement, params); } public Gda.DataModel? run_select (string query) throws Error { return connection.execute_select_command (query); } public async Gee.HashMap init_connection () throws ThreadError { var output = new Gee.HashMap (); output["status"] = "false"; bool result = true; string msg = ""; SourceFunc callback = init_connection.callback; new Thread (null, () => { try { debug ("pass init connection"); open (); } catch (Error e) { result = false; msg = e.message; } Idle.add ((owned) callback); Thread.exit (null); return null; }); yield; output["msg"] = msg; output["status"] = result.to_string (); return output; } public Gda.Statement parse_sql_string (string sql, out Gda.Set @params) throws Error { return connection.parse_sql_string (sql, out params); } public async Gda.DataModel? init_select_query (string query) { Gda.DataModel? result = null; var error = ""; SourceFunc callback = init_select_query.callback; new Thread (null, () => { try { result = run_select (query); } catch (Error e) { error = e.message; result = null; } Idle.add ((owned) callback); Thread.exit (null); return null; }); yield; if (error != "") { query_warning (error); return null; } return result; } public async Gee.HashMap init_silent_select_statement (Gda.Statement statement, Gda.Set? params) { var result = new Gee.HashMap (); Gda.DataModel? data = null; var error = ""; SourceFunc callback = init_silent_select_statement.callback; new Thread (null, () => { try { data = run_silent_select_statement (statement, params); } catch (Error e) { error = e.message; data = null; } Idle.add ((owned) callback); Thread.exit (null); return null; }); yield; result.@set (data, error); return result; } public async int? init_query (string query) { int result = 0; var error = ""; try { result = yield run_query (query); } catch (Error e) { error = e.message; } if (error != "") { query_warning (error); return null; } return result; } public async Gee.HashMap init_silent_statement (Gda.Statement statement, Gda.Set? params) { var result = new Gee.HashMap (); string? data = null; var error = ""; try { data = yield run_silent_statement (statement, params); } catch (Error e) { error = e.message; } if (error != "") { data = null; } result.@set (data, error); return result; } public void query_warning (string message) { var message_dialog = new Granite.MessageDialog.with_image_from_icon_name (_("Error!"), message, "dialog-error", Gtk.ButtonsType.NONE); message_dialog.transient_for = window; var suggested_button = new Gtk.Button.with_label ("Close"); message_dialog.add_action_widget (suggested_button, Gtk.ResponseType.ACCEPT); message_dialog.show_all (); if (message_dialog.run () == Gtk.ResponseType.ACCEPT) {} message_dialog.destroy (); } } sequeler-0.8.0/src/Services/DataManager.vala000066400000000000000000000020621367531117400207370ustar00rootroot00000000000000/* * Copyright (c) 2011-2018 Alecaddd (http://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Services.DataManager : Object { private Gee.HashMap? _data = null; public Gee.HashMap? data { get { return _data; } set { _data = value; } } } sequeler-0.8.0/src/Services/PasswordManager.vala000066400000000000000000000057421367531117400217000ustar00rootroot00000000000000/* * Copyright (c) 2011-2018 Alecaddd (http://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Services.PasswordManager : Object { // Store Password Async public async void store_password_async (string id, string password) throws Error { var attributes = new GLib.HashTable (str_hash, str_equal); attributes["id"] = id; attributes["schema"] = Constants.PROJECT_NAME; var key_name = Constants.PROJECT_NAME + "." + id; bool result = yield Secret.password_storev (schema, attributes, Secret.COLLECTION_DEFAULT, key_name, password, null); if (! result) { debug ("Unable to store password for \"%s\" in libsecret keyring", key_name); } } // Get Password Async public async string? get_password_async (string id) throws Error { var attributes = new GLib.HashTable (str_hash, str_equal); attributes["id"] = id; attributes["schema"] = Constants.PROJECT_NAME; var key_name = Constants.PROJECT_NAME + "." + id; string? password = yield Secret.password_lookupv (schema, attributes, null); if (password == null) { debug ("Unable to fetch password in libsecret keyring for %s", key_name); } return password; } // Delete Password Async public async void clear_password_async (string id) throws Error { var attributes = new GLib.HashTable (str_hash, str_equal); attributes["id"] = id; attributes["schema"] = Constants.PROJECT_NAME; var key_name = Constants.PROJECT_NAME + "." + id; bool removed = yield Secret.password_clearv (schema, attributes, null); if (! removed) { debug ("Unable to clear password in libsecret keyring for %s", key_name); } } // Delete All Passwords public async void clear_all_passwords_async () throws Error { var attributes = new GLib.HashTable (str_hash, str_equal); attributes["schema"] = Constants.PROJECT_NAME; bool removed = yield Secret.password_clearv (schema, attributes, null); if (! removed) { debug ("Unable to clear all passwords in libsecret"); } } } sequeler-0.8.0/src/Services/Settings.vala000066400000000000000000000170311367531117400203750ustar00rootroot00000000000000/* * Copyright (c) 2017-2020 Alecaddd (https://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Services.Settings : GLib.Settings { public int pos_x { get { return get_int ("pos-x"); } set { set_int ("pos-x", value); } } public int pos_y { get { return get_int ("pos-y"); } set { set_int ("pos-y", value); } } public int window_width { get { return get_int ("window-width"); } set { set_int ("window-width", value); } } public int window_height { get { return get_int ("window-height"); } set { set_int ("window-height", value); } } public int sidebar_width { get { return get_int ("sidebar-width"); } set { set_int ("sidebar-width", value); } } public string[] saved_connections { owned get { return get_strv ("saved-connections"); } set { set_strv ("saved-connections", value); } } public int tot_connections { get { return get_int ("tot-connections"); } set { set_int ("tot-connections", value); } } public int limit_results { get { return get_int ("limit-results"); } set { set_int ("limit-results", value); } } public bool dark_theme { get { return get_boolean ("dark-theme"); } set { set_boolean ("dark-theme", value); } } public bool save_quick { get { return get_boolean ("save-quick"); } set { set_boolean ("save-quick", value); } } public string version { owned get { return get_string ("version"); } set { set_string ("version", value); } } public bool use_system_font { get { return get_boolean ("use-system-font"); } set { set_boolean ("use-system-font", value); } } public string font { owned get { return get_string ("font"); } set { set_string ("font", value); } } public string style_scheme { owned get { return get_string ("style-scheme"); } set { set_string ("style-scheme", value); } } public int query_area { get { return get_int ("query-area"); } set { set_int ("query-area", value); } } public Settings () { Object (schema_id: Constants.PROJECT_NAME); } public void add_connection (Gee.HashMap data) { if (data["type"] != "SQLite") { update_password.begin (data); data.unset ("password"); data.unset ("ssh_password"); } var conns = get_strv ("saved-connections"); conns += stringify_data (data); set_strv ("saved-connections", conns); tot_connections = tot_connections + 1; } public async void duplicate_connection (Gee.HashMap data) { data["id"] = tot_connections.to_string (); data["title"] = _("%s (copy)").printf (data["title"]); add_connection (data); } public void edit_connection (Gee.HashMap new_data, string old_data) { var position = 0; Gee.List existing_connections = new Gee.ArrayList (); existing_connections.add_all_array (saved_connections); if (existing_connections.contains (old_data)) { position = existing_connections.index_of (old_data); existing_connections.remove (old_data); } if (new_data["type"] != "SQLite") { update_password.begin (new_data); new_data.unset ("password"); if (new_data["has_ssh"] == "true" && new_data["ssh_password"] != null) { update_ssh_password.begin (new_data); new_data.unset ("ssh_password"); } } existing_connections.insert (position, stringify_data (new_data)); string[] new_conns = {}; foreach (var conn in existing_connections.to_array ()) { new_conns += conn; } set_strv ("saved-connections", new_conns); } public void delete_connection (Gee.HashMap data) { string[] new_conns = {}; var conns = get_strv ("saved-connections"); if (data["type"] != "SQLite") { delete_password.begin (data); } foreach (var conn in conns) { var check = arraify_data (conn); if (check["id"] == data["id"]) { continue; } new_conns += conn; } set_strv ("saved-connections", new_conns); } public void clear_connections () { string[] empty = {}; set_strv ("saved-connections", empty); tot_connections = 0; delete_all_passwords.begin (); } public void reorder_connection (Gee.HashMap source, int position) { Gee.ArrayList existing_connections = new Gee.ArrayList (); existing_connections.add_all_array (saved_connections); foreach (var conn in saved_connections) { var check = arraify_data (conn); if (check["id"] == source["id"]) { existing_connections.remove (conn); } } existing_connections.insert (position, stringify_data (source)); string[] new_conns = {}; foreach (var conn in existing_connections.to_array ()) { new_conns += conn; } set_strv ("saved-connections", new_conns); } public string stringify_data (Gee.HashMap data) { string result = ""; foreach (var entry in data.entries) { string values = "%s=%s\n".printf (entry.key, entry.value); result = result + values; } return result; } public Gee.HashMap arraify_data (string connection) { var array = new Gee.HashMap (); var data = connection.split ("\n"); foreach (var d in data) { var d2 = d.split ("=", 2); if (d2[0] == null) { continue; } array.set (d2[0], d2[1]); } return array; } public async void update_password (Gee.HashMap data) throws Error { yield password_mngr.store_password_async (data["id"], data["password"]); } public async void update_ssh_password (Gee.HashMap data) throws Error { yield password_mngr.store_password_async (data["id"] + "9999", data["ssh_password"]); } public async void delete_password (Gee.HashMap data) throws Error { yield password_mngr.clear_password_async (data["id"]); if (data["has_ssh"] == "true" && data["ssh_password"] != null) { yield password_mngr.clear_password_async (data["id"] + "9999"); } } public async void delete_all_passwords () throws Error { yield password_mngr.clear_all_passwords_async (); } } sequeler-0.8.0/src/Services/Types/000077500000000000000000000000001367531117400170325ustar00rootroot00000000000000sequeler-0.8.0/src/Services/Types/DataBaseType.vala000066400000000000000000000043351367531117400222120ustar00rootroot00000000000000/* * Copyright (c) 2011-2018 Alecaddd (http://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public interface DataBaseType : Object { /* * Connect to the database */ public abstract string connection_string (Gee.HashMap data); /* * Populate dropdown database selection */ public abstract string show_schema (); /* * Populate sidebar with table list */ public abstract string show_table_list (string name); /* * Update table name */ public abstract string edit_table_name (string old_table, string new_table); /* * Transfer a table from a Database to another */ public abstract string transfer_table (string old_database, string table, string new_database); /* * Show table structure */ public abstract string show_table_structure (string table, string? sortby = null, string sort = "ASC"); /* * Show table content */ public abstract string show_table_content ( string table, int? count = null, int? page = null, string? sortby = null, string sort = "ASC" ); /* * Show table relations */ public abstract string show_table_relations ( string table, string? database, string? sortby = null, string sort = "ASC" ); /* * Create database */ public abstract string create_database (string name); /* * Delete database */ public abstract string delete_database (string name); } sequeler-0.8.0/src/Services/Types/MySQL.vala000066400000000000000000000101551367531117400206460ustar00rootroot00000000000000/* * Copyright (c) 2011-2019 Alecaddd (https://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Services.Types.MySQL : Object, DataBaseType { public string port { set; get; default = "3306"; } public string host { set; get; default = "127.0.0.1"; } public string connection_string (Gee.HashMap data) { var username = Gda.rfc1738_encode (data["username"]); var password = Gda.rfc1738_encode (data["password"]); var use_ssl = Gda.rfc1738_encode (data["use_ssl"] ?? "false"); var name = Gda.rfc1738_encode (data["name"]); if (data["has_ssh"] == "true") { port = "9000"; host = "127.0.0.1"; } else { port = data["port"] != "" ? data["port"] : port; host = data["host"] != "" ? Gda.rfc1738_encode (data["host"]) : host; } return "MySQL://" + username + ":" + password + "@DB_NAME=" + name + ";HOST=" + host + ";PORT=" + port + ";USE_SSL=" + use_ssl; } public string show_schema () { return "SHOW SCHEMAS"; } public string show_table_list (string name) { return "SELECT table_name, table_rows FROM information_schema.TABLES WHERE TABLE_SCHEMA = '%s'".printf (name); } public string edit_table_name (string old_table, string new_table) { return "RENAME TABLE %s TO %s".printf (old_table, new_table); } public string transfer_table (string old_database, string table, string new_database) { return "RENAME TABLE %s.%s TO %s.%s".printf (old_database, table, new_database, table); } public string show_table_structure (string table, string? sortby = null, string sort = "ASC") { var output = "SELECT COLUMN_NAME, ORDINAL_POSITION, COLUMN_DEFAULT, IS_NULLABLE, CHARACTER_SET_NAME, COLLATION_NAME, COLUMN_TYPE, COLUMN_KEY, EXTRA, COLUMN_COMMENT FROM information_schema.COLUMNS WHERE table_name = '%s' AND table_schema = DATABASE()".printf (table); if (sortby != null) { output += " ORDER BY %s %s".printf (sortby, sort); } return output; } public string show_table_content ( string table, int? count = null, int? page = null, string? sortby = null, string sort = "ASC" ) { var output = "SELECT * FROM %s".printf (table); if (sortby != null) { output += " ORDER BY %s %s".printf (sortby, sort); } if (count != null && count > settings.limit_results) { output += " LIMIT %i".printf (settings.limit_results); } if (page != null && page > 1) { output += " OFFSET %i".printf (settings.limit_results * (page - 1)); } return output; } public string show_table_relations ( string table, string? database, string? sortby = null, string sort = "ASC" ) { var output = "SELECT COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_COLUMN_NAME, REFERENCED_TABLE_NAME FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_NAME = '%s' AND TABLE_SCHEMA = '%s'".printf (table, database); if (sortby != null) { output += " ORDER BY %s %s".printf (sortby, sort); } return output; } public string create_database (string name) { return "CREATE DATABASE %s".printf (name); } public string delete_database (string name) { return "DROP DATABASE %s".printf (name); } } sequeler-0.8.0/src/Services/Types/PostgreSQL.vala000066400000000000000000000107251367531117400217070ustar00rootroot00000000000000/* * Copyright (c) 2011-2019 Alecaddd (https://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Services.Types.PostgreSQL : Object, DataBaseType { public string port { set; get; default = "5432"; } public string host { set; get; default = "127.0.0.1"; } public string connection_string (Gee.HashMap data) { var username = Gda.rfc1738_encode (data["username"]); var password = Gda.rfc1738_encode (data["password"]); var use_ssl = Gda.rfc1738_encode (data["use_ssl"] ?? "false"); var name = Gda.rfc1738_encode (data["name"]); host = data["host"] != "" ? Gda.rfc1738_encode (data["host"]) : host; if (data["has_ssh"] == "true") { port = "9000"; } else { port = data["port"] != "" ? data["port"] : port; } return "PostgreSQL://" + username + ":" + password + "@DB_NAME=" + name + ";HOST=" + host + ";PORT=" + port + ";USE_SSL=" + use_ssl; } public string show_schema () { return "SELECT schema_name FROM information_schema.schemata"; } public string show_table_list (string name) { return "SELECT relname, reltuples FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) WHERE nspname NOT IN ('pg_catalog', 'information_schema') AND relkind='r' ORDER BY relname DESC;"; } public string edit_table_name (string old_table, string new_table) { return "ALTER TABLE \"%s\" RENAME TO \"%s\"".printf (old_table, new_table); } public string transfer_table (string old_database, string table, string new_database) { return ""; } public string show_table_structure (string table, string? sortby = null, string sort = "ASC") { var output = "SELECT * FROM information_schema.COLUMNS WHERE table_name='%s'".printf (table); if (sortby != null) { output += " ORDER BY %s %s".printf (sortby, sort); } return output; } public string show_table_content ( string table, int? count = null, int? page = null, string? sortby = null, string sort = "ASC" ) { var output = "SELECT * FROM \"%s\"".printf (table); if (sortby != null) { output += " ORDER BY \"%s\" %s".printf (sortby, sort); } if (count != null && count > settings.limit_results) { output += " LIMIT %i".printf (settings.limit_results); } if (page != null && page > 1) { output += " OFFSET %i".printf (settings.limit_results * (page - 1)); } return output; } public string show_table_relations ( string table, string? database, string? sortby = null, string sort = "ASC" ) { var output = "SELECT ccu.column_name as \"COLUMN_NAME\", tc.constraint_name as \"CONSTRAINT_NAME\", kcu.column_name as \"REFERENCED_COLUMN_NAME\", tc.table_name as \"REFERENCED_TABLE\" FROM information_schema.table_constraints tc JOIN information_schema.key_column_usage kcu ON tc.constraint_name = kcu.constraint_name JOIN information_schema.constraint_column_usage ccu ON ccu.constraint_name = tc.constraint_name WHERE constraint_type = 'FOREIGN KEY' AND ccu.table_name='%s' AND ccu.table_schema = '%s'".printf (table, database); if (sortby != null) { output += " ORDER BY \"%s\" %s".printf (sortby, sort); } return output; } public string create_database (string name) { // Temporary placeholder methods. No current support for database // operations in PostgreSQL. return ""; } public string delete_database (string name) { // Temporary placeholder methods. No current support for database // operations in PostgreSQL. return ""; } } sequeler-0.8.0/src/Services/Types/SQLite.vala000066400000000000000000000064021367531117400210420ustar00rootroot00000000000000/* * Copyright (c) 2011-2019 Alecaddd (https://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Services.Types.SQLite : Object, DataBaseType { public string connection_string (Gee.HashMap data) { var file_path = data["file_path"].replace ("file://", ""); var last_slash = file_path.last_index_of ("/", 0) + 1; var dir = Gda.rfc1738_encode (file_path.substring (0, last_slash)); var name = Gda.rfc1738_encode (file_path.substring (last_slash, -1)); return "SQLite://DB_DIR=" + dir + ";DB_NAME=" + name; } public string show_schema () { return "SELECT name FROM sqlite_master WHERE type='table' ORDER BY name;"; } public string show_table_list (string name) { return "SELECT COUNT(*) FROM %s".printf (name); } public string edit_table_name (string old_table, string new_table) { return "ALTER TABLE %s RENAME TO %s".printf (old_table, new_table); } public string transfer_table (string old_database, string table, string new_database) { // Temporary placeholder methods. No current support for database // operations in SQLite. return ""; } public string show_table_structure (string table, string? sortby = null, string sort = "ASC") { return "PRAGMA table_info('%s')".printf (table); } public string show_table_content ( string table, int? count = null, int? page = null, string? sortby = null, string sort = "ASC" ) { var output = "SELECT * FROM %s".printf (table); if (sortby != null) { output += " ORDER BY `%s` %s".printf (sortby, sort); } if (count != null && count > settings.limit_results) { output += " LIMIT %i".printf (settings.limit_results); } if (page != null && page > 1) { output += " OFFSET %i".printf (settings.limit_results * (page - 1)); } return output; } public string show_table_relations ( string table, string? database, string? sortby = null, string sort = "ASC" ) { return "PRAGMA foreign_key_list('%s')".printf (table); } public string create_database (string name) { // Temporary placeholder methods. No current support for database // operations in SQLite. return ""; } public string delete_database (string name) { // Temporary placeholder methods. No current support for database // operations in SQLite. return ""; } } sequeler-0.8.0/src/Services/UpgradeManager.vala000066400000000000000000000037521367531117400214640ustar00rootroot00000000000000/* * Copyright (c) 2011-2018 Alecaddd (http://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Services.UpgradeManager : Object { construct { string version = settings.version; switch (version) { case "": upgrade_passwords_to_libsecret.begin (); case Constants.VERSION: debug ("Current Version"); } settings.version = Constants.VERSION; } public virtual async void upgrade_passwords_to_libsecret () throws Error { var current_connections = settings.saved_connections; Gee.List existing_connections = new Gee.ArrayList (); existing_connections.add_all_array (current_connections); foreach (var conn in settings.saved_connections) { var check = settings.arraify_data (conn); if (check["type"] != "SQLite" && check.has_key ("password")) { settings.update_password.begin (check); check.unset ("password"); existing_connections.remove (conn); existing_connections.insert (0, settings.stringify_data (check)); } } settings.saved_connections = existing_connections.to_array (); } } sequeler-0.8.0/src/Widgets/000077500000000000000000000000001367531117400155515ustar00rootroot00000000000000sequeler-0.8.0/src/Widgets/ConnectionDialog.vala000066400000000000000000000732651367531117400216520ustar00rootroot00000000000000/* * Copyright (c) 2017-2020 Alecaddd (https://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Widgets.ConnectionDialog : Gtk.Dialog { public weak Sequeler.Window window { get; construct; } private Sequeler.Services.ConnectionManager? connection_manager { get; set; default = null; } public Sequeler.Partials.ButtonClass test_button; public Sequeler.Partials.ButtonClass connect_button; public Sequeler.Partials.ButtonClass cancel_button; public Sequeler.Partials.ButtonClass save_button; private Gtk.Label header_title; private Gtk.ColorButton color_picker; private Gtk.InfoBar infobar; private Gtk.Label infobar_label; private string infobar_label_missing_private_key = _("Missing SSH Key file!"); private string infobar_label_missing_public_key = _("Missing SSH public key!"); private Sequeler.Partials.LabelForm db_file_label; private Sequeler.Partials.LabelForm db_host_label; private Sequeler.Partials.LabelForm db_name_label; private Sequeler.Partials.LabelForm db_username_label; private Sequeler.Partials.LabelForm db_password_label; private Sequeler.Partials.LabelForm db_port_label; private Gtk.Entry connection_id; private Sequeler.Partials.Entry title_entry; private Gee.HashMap db_types; private Gtk.ComboBox db_type_entry; private Sequeler.Partials.Entry db_host_entry; private Sequeler.Partials.Entry db_name_entry; private Sequeler.Partials.Entry db_username_entry; private Sequeler.Partials.Entry db_password_entry; private Sequeler.Partials.Entry db_port_entry; private Gtk.FileChooserButton db_file_entry; private string keyfile1; private string keyfile2; private Sequeler.Partials.LabelForm ssl_switch_label; private Gtk.Grid ssl_switch_container; private Gtk.Switch ssl_switch; private Sequeler.Partials.LabelForm ssh_switch_label; private Gtk.Grid ssh_switch_container; private Gtk.Switch ssh_switch; private Sequeler.Partials.LabelForm ssh_host_label; private Sequeler.Partials.Entry ssh_host_entry; private Sequeler.Partials.LabelForm ssh_username_label; private Sequeler.Partials.Entry ssh_username_entry; private Sequeler.Partials.LabelForm ssh_password_label; private Sequeler.Partials.Entry ssh_password_entry; private Sequeler.Partials.LabelForm ssh_port_label; private Sequeler.Partials.Entry ssh_port_entry; private Sequeler.Partials.LabelForm ssh_identity_file_label; private Gtk.FileChooserButton ssh_identity_file_entry; private Gtk.Spinner spinner; private Sequeler.Partials.ResponseMessage response_msg; enum Column { DBTYPE } enum Action { TEST, SAVE, CANCEL, CONNECT } public ConnectionDialog (Sequeler.Window? parent) { Object ( border_width: 5, deletable: false, resizable: false, title: _("Connection"), transient_for: parent, window: parent ); } construct { set_id (); build_content (); toggle_ssh_fields (false); build_actions (); populate_data.begin (); change_sensitivity (); response.connect (on_response); } private void set_id () { var id = settings.tot_connections; connection_id = new Gtk.Entry (); connection_id.text = id.to_string (); } private void build_content () { var body = get_content_area (); db_types = new Gee.HashMap (); db_types.set (0, "MySQL"); db_types.set (1, "MariaDB"); db_types.set (2, "PostgreSQL"); db_types.set (3, "SQLite"); var header_grid = new Gtk.Grid (); header_grid.margin_start = 30; header_grid.margin_end = 30; header_grid.margin_bottom = 10; var image = new Gtk.Image.from_icon_name ("office-database", Gtk.IconSize.DIALOG); image.margin_end = 10; header_title = new Gtk.Label (_("New Connection")); header_title.get_style_context ().add_class (Granite.STYLE_CLASS_H2_LABEL); header_title.halign = Gtk.Align.START; header_title.ellipsize = Pango.EllipsizeMode.END; header_title.margin_end = 10; header_title.set_line_wrap (true); header_title.hexpand = true; color_picker = new Gtk.ColorButton.with_rgba ({ 222, 222, 222, 255 }); color_picker.get_style_context ().add_class ("color-picker"); color_picker.can_focus = false; color_picker.set_tooltip_text (_("Select connection color")); header_grid.attach (image, 0, 0, 1, 2); header_grid.attach (header_title, 1, 0, 1, 2); header_grid.attach (color_picker, 2, 0, 1, 1); body.add (header_grid); var form_grid = new Gtk.Grid (); form_grid.margin = 30; form_grid.row_spacing = 12; form_grid.column_spacing = 20; var ssh_grid = new Gtk.Grid (); ssh_grid.margin = 30; ssh_grid.row_spacing = 12; ssh_grid.column_spacing = 20; var ssh_switch_grid = new Gtk.Grid (); ssh_switch_grid.halign = Gtk.Align.CENTER; ssh_switch_grid.column_spacing = 20; ssh_switch_grid.margin_bottom = 12; var title_label = new Sequeler.Partials.LabelForm (_("Connection Name:")); title_entry = new Sequeler.Partials.Entry (_("Connection's name"), _("New Connection")); title_entry.changed.connect (() => { header_title.label = title_entry.text; }); form_grid.attach (title_label, 0, 0, 1, 1); form_grid.attach (title_entry, 1, 0, 1, 1); var db_type_label = new Sequeler.Partials.LabelForm (_("Database Type:")); var list_store = new Gtk.ListStore (1, typeof (string)); for (int i = 0; i < db_types.size; i++) { Gtk.TreeIter iter; list_store.append (out iter); list_store.set (iter, Column.DBTYPE, db_types[i]); } db_type_entry = new Gtk.ComboBox.with_model (list_store); var cell = new Gtk.CellRendererText (); db_type_entry.pack_start (cell, false); db_type_entry.set_attributes (cell, "text", Column.DBTYPE); db_type_entry.set_active (0); db_type_entry.changed.connect (() => { db_type_changed (); }); form_grid.attach (db_type_label, 0, 1, 1, 1); form_grid.attach (db_type_entry, 1, 1, 1, 1); db_host_label = new Sequeler.Partials.LabelForm (_("Host:")); db_host_entry = new Sequeler.Partials.Entry ("127.0.0.1", null); form_grid.attach (db_host_label, 0, 2, 1, 1); form_grid.attach (db_host_entry, 1, 2, 1, 1); db_name_label = new Sequeler.Partials.LabelForm (_("Database Name:")); db_name_entry = new Sequeler.Partials.Entry ("", null); db_name_entry.changed.connect (change_sensitivity); form_grid.attach (db_name_label, 0, 3, 1, 1); form_grid.attach (db_name_entry, 1, 3, 1, 1); db_username_label = new Sequeler.Partials.LabelForm (_("Username:")); db_username_entry = new Sequeler.Partials.Entry ("", null); form_grid.attach (db_username_label, 0, 4, 1, 1); form_grid.attach (db_username_entry, 1, 4, 1, 1); db_password_label = new Sequeler.Partials.LabelForm (_("Password:")); db_password_entry = new Sequeler.Partials.Entry ("", null); db_password_entry.visibility = false; db_password_entry.set_icon_from_icon_name (Gtk.EntryIconPosition.SECONDARY, "changes-prevent-symbolic"); db_password_entry.set_icon_tooltip_text (Gtk.EntryIconPosition.SECONDARY, _("Show password")); db_password_entry.icon_press.connect ((pos, event) => { if (pos == Gtk.EntryIconPosition.SECONDARY) { db_password_entry.visibility = !db_password_entry.visibility; } if (db_password_entry.visibility) { db_password_entry.set_icon_from_icon_name (Gtk.EntryIconPosition.SECONDARY, "changes-allow-symbolic"); db_password_entry.set_icon_tooltip_text (Gtk.EntryIconPosition.SECONDARY, _("Hide password")); } else { db_password_entry.set_icon_from_icon_name (Gtk.EntryIconPosition.SECONDARY, "changes-prevent-symbolic"); db_password_entry.set_icon_tooltip_text (Gtk.EntryIconPosition.SECONDARY, _("Show password")); } }); form_grid.attach (db_password_label, 0, 5, 1, 1); form_grid.attach (db_password_entry, 1, 5, 1, 1); db_port_label = new Sequeler.Partials.LabelForm (_("Port:")); db_port_entry = new Sequeler.Partials.Entry ("3306", null); form_grid.attach (db_port_label, 0, 6, 1, 1); form_grid.attach (db_port_entry, 1, 6, 1, 1); ssl_switch_label = new Sequeler.Partials.LabelForm (_("Use SSL:")); ssl_switch = new Gtk.Switch (); ssl_switch_container = new Gtk.Grid (); ssl_switch_container.add (ssl_switch); ssl_switch.set_state (false); form_grid.attach (ssl_switch_label, 0, 7, 1, 1); form_grid.attach (ssl_switch_container, 1, 7, 1, 1); db_file_label = new Sequeler.Partials.LabelForm (_("File Path:")); db_file_entry = new Gtk.FileChooserButton (_("Select Your SQLite File\u2026"), Gtk.FileChooserAction.OPEN); var filter = new Gtk.FileFilter (); filter.set_filter_name ("Database File"); filter.add_pattern ("*.db"); filter.add_pattern ("*.sqlite"); filter.add_pattern ("*.sqlite3"); db_file_entry.add_filter (filter); db_file_entry.selection_changed.connect (change_sensitivity); form_grid.attach (db_file_label, 0, 7, 1, 1); form_grid.attach (db_file_entry, 1, 7, 1, 1); db_file_label.visible = false; db_file_label.no_show_all = true; db_file_entry.visible = false; db_file_entry.no_show_all = true; ssh_switch = new Gtk.Switch (); ssh_switch_container = new Gtk.Grid (); ssh_switch_container.add (ssh_switch); ssh_switch_label = new Sequeler.Partials.LabelForm (_("Connect via SSH Tunnel:")); ssh_switch.notify["active"].connect (() => { toggle_ssh_fields (ssh_switch.get_active ()); }); ssh_switch_grid.attach (ssh_switch_label, 0, 0, 1, 1); ssh_switch_grid.attach (ssh_switch_container, 1, 0, 1, 1); ssh_grid.attach (ssh_switch_grid, 0, 0, 2, 1); ssh_host_label = new Sequeler.Partials.LabelForm (_("SSH Host:")); ssh_host_entry = new Sequeler.Partials.Entry ("", null); ssh_grid.attach (ssh_host_label, 0, 2, 1, 1); ssh_grid.attach (ssh_host_entry, 1, 2, 1, 1); ssh_username_label = new Sequeler.Partials.LabelForm (_("SSH Username:")); ssh_username_entry = new Sequeler.Partials.Entry ("", null); ssh_grid.attach (ssh_username_label, 0, 3, 1, 1); ssh_grid.attach (ssh_username_entry, 1, 3, 1, 1); ssh_password_label = new Sequeler.Partials.LabelForm (_("SSH Password:")); ssh_password_entry = new Sequeler.Partials.Entry ("", null); ssh_password_entry.visibility = false; ssh_password_entry.set_icon_from_icon_name (Gtk.EntryIconPosition.SECONDARY, "changes-prevent-symbolic"); ssh_password_entry.set_icon_tooltip_text (Gtk.EntryIconPosition.SECONDARY, _("Show password")); ssh_password_entry.icon_press.connect ((pos, event) => { if (pos == Gtk.EntryIconPosition.SECONDARY) { ssh_password_entry.visibility = !ssh_password_entry.visibility; } if (ssh_password_entry.visibility) { ssh_password_entry.set_icon_from_icon_name (Gtk.EntryIconPosition.SECONDARY, "changes-allow-symbolic"); ssh_password_entry.set_icon_tooltip_text (Gtk.EntryIconPosition.SECONDARY, _("Hide password")); } else { ssh_password_entry.set_icon_from_icon_name (Gtk.EntryIconPosition.SECONDARY, "changes-prevent-symbolic"); ssh_password_entry.set_icon_tooltip_text (Gtk.EntryIconPosition.SECONDARY, _("Show password")); } }); ssh_grid.attach (ssh_password_label, 0, 4, 1, 1); ssh_grid.attach (ssh_password_entry, 1, 4, 1, 1); ssh_port_label = new Sequeler.Partials.LabelForm (_("SSH Port:")); ssh_port_entry = new Sequeler.Partials.Entry (_("Optional"), null); ssh_grid.attach (ssh_port_label, 0, 5, 1, 1); ssh_grid.attach (ssh_port_entry, 1, 5, 1, 1); ssh_identity_file_label = new Sequeler.Partials.LabelForm (_("SSH Identity")); ssh_identity_file_entry = new Gtk.FileChooserButton ( _("Select Your Identity File\u2026"), Gtk.FileChooserAction.OPEN ); ssh_identity_file_entry.set_filename (this.get_default_ssh_identity_filename ()); ssh_identity_file_entry.file_set.connect (this.verify_ssh_file_entry); ssh_grid.attach (ssh_identity_file_label, 0, 6, 1, 1); ssh_grid.attach (ssh_identity_file_entry, 1, 6, 1, 1); infobar_label = new Gtk.Label (infobar_label_missing_private_key); infobar_label.show (); infobar = new Gtk.InfoBar (); infobar.message_type = Gtk.MessageType.WARNING; infobar.get_style_context ().add_class ("inline"); infobar.get_content_area ().add (infobar_label); infobar.show_close_button = false; infobar.add_button (_("Generate SSH Key"), 0); infobar.revealed = false; infobar.response.connect ((response) => { if (response == 0) { try { ssh_switch.active = false; AppInfo.launch_default_for_uri ( "https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/", null ); } catch (Error e) { warning ("%s\n", e.message); } } }); ssh_grid.attach (infobar, 0, 7, 2, 1); var stack_grid = new Gtk.Grid (); stack_grid.expand = true; stack_grid.margin_top = 20; var stackswitcher = new Gtk.StackSwitcher (); stackswitcher.halign = Gtk.Align.CENTER; stack_grid.attach (stackswitcher, 0, 0, 1, 1); var stack = new Gtk.Stack (); stack.expand = true; stackswitcher.stack = stack; stack.add_titled (form_grid, "connection", _("Connection")); stack.add_titled (ssh_grid, "ssh", _("SSH Tunnel")); stack_grid.attach (stack, 0, 1, 1, 1); body.add (stack_grid); spinner = new Gtk.Spinner (); response_msg = new Sequeler.Partials.ResponseMessage (); body.add (spinner); body.add (response_msg); } private string get_default_ssh_identity_filename () { var home_dir = Environment.get_home_dir (); return home_dir + "/.ssh/id_rsa"; } private void verify_ssh_file_entry (Gtk.FileChooserButton file_entry) { keyfile2 = file_entry.get_filename (); keyfile1 = keyfile2 + ".pub"; var public_key_exists = File.new_for_path (keyfile1).query_exists (); var private_key_exists = File.new_for_path (keyfile2).query_exists (); infobar.revealed = ! private_key_exists || ! public_key_exists; // missing_public_key message is more specific if (! public_key_exists && private_key_exists) { infobar_label.set_text (infobar_label_missing_public_key); } else if (! private_key_exists) { infobar_label.set_text (infobar_label_missing_private_key); } } private void toggle_ssh_fields (bool toggle) { if (toggle) { this.verify_ssh_file_entry (ssh_identity_file_entry); } else { infobar.revealed = false; } ssh_host_label.visible = toggle; ssh_host_label.no_show_all = !toggle; ssh_host_entry.visible = toggle; ssh_host_entry.no_show_all = !toggle; ssh_username_label.visible = toggle; ssh_username_label.no_show_all = !toggle; ssh_username_entry.visible = toggle; ssh_username_entry.no_show_all = !toggle; ssh_password_label.visible = toggle; ssh_password_label.no_show_all = !toggle; ssh_password_entry.visible = toggle; ssh_password_entry.no_show_all = !toggle; ssh_port_label.visible = toggle; ssh_port_label.no_show_all = !toggle; ssh_port_entry.visible = toggle; ssh_port_entry.no_show_all = !toggle; ssh_identity_file_label.visible = toggle; ssh_identity_file_label.no_show_all = !toggle; ssh_identity_file_entry.visible = toggle; ssh_identity_file_entry.no_show_all = !toggle; } private void build_actions () { cancel_button = new Sequeler.Partials.ButtonClass (_("Close"), null); save_button = new Sequeler.Partials.ButtonClass (_("Save Connection"), null); test_button = new Sequeler.Partials.ButtonClass (_("Test Connection"), null); connect_button = new Sequeler.Partials.ButtonClass (_("Connect"), "suggested-action"); add_action_widget (test_button, Action.TEST); add_action_widget (save_button, Action.SAVE); add_action_widget (cancel_button, Action.CANCEL); add_action_widget (connect_button, Action.CONNECT); } private async void populate_data () { if (window.data_manager.data == null || window.data_manager.data.size == 0) { return; } var update_data = window.data_manager.data; string? old_password = ""; try { old_password = yield password_mngr.get_password_async (update_data["id"]); } catch (Error e) { debug ("Unable to get the password from libsecret"); } connection_id.text = update_data["id"]; title_entry.text = update_data["title"]; var color = Gdk.RGBA (); color.parse (update_data["color"]); color_picker.rgba = color; foreach (var entry in db_types.entries) { if (entry.value == update_data["type"]) { db_type_entry.set_active (entry.key); } } db_host_entry.text = update_data["host"]; db_name_entry.text = update_data["name"]; db_username_entry.text = update_data["username"]; db_password_entry.text = old_password != null ? old_password : ""; if (update_data["file_path"] != null) { db_file_entry.set_uri (update_data["file_path"]); } if (update_data["type"] == "SQLite" && update_data["file_path"] == null) { var update_file_path = update_data["host"] + "/" + update_data["name"] + ".db"; try { db_file_entry.set_file (File.new_for_path (update_file_path)); } catch (Error e) { write_response (e.message); } } if (update_data["port"] != null) { db_port_entry.text = update_data["port"]; } if (update_data["has_ssh"] == "true") { string? old_ssh_password = ""; try { old_ssh_password = yield password_mngr.get_password_async (update_data["id"] + "9999"); } catch (Error e) { debug ("Unable to get the password from libsecret"); } ssh_switch.active = bool.parse (update_data["has_ssh"]); ssh_host_entry.text = (update_data["ssh_host"] != null) ? update_data["ssh_host"] : ""; ssh_username_entry.text = (update_data["ssh_username"] != null) ? update_data["ssh_username"] : ""; ssh_password_entry.text = (old_ssh_password != null) ? old_ssh_password : ""; ssh_port_entry.text = (update_data["ssh_port"] != null) ? update_data["ssh_port"] : ""; if (update_data["ssh_identity_file"] != null) { ssh_identity_file_entry.set_filename (update_data["ssh_identity_file"]); } } if (update_data["use_ssl"] != null) { ssl_switch.set_state (update_data["use_ssl"] == "true"); } } private void db_type_changed () { var toggle = db_type_entry.get_active () == 3 ? true : false; toggle_database_info (toggle); change_sensitivity (); if (db_type_entry.get_active () == 2) { db_port_entry.placeholder_text = "5432"; } else { db_port_entry.placeholder_text = "3306"; } } private void toggle_database_info (bool toggle) { db_file_label.visible = toggle; db_file_label.no_show_all = !toggle; db_file_entry.visible = toggle; db_file_entry.no_show_all = !toggle; db_host_label.visible = !toggle; db_host_label.no_show_all = toggle; db_host_entry.visible = !toggle; db_host_entry.no_show_all = toggle; db_name_label.visible = !toggle; db_name_label.no_show_all = toggle; db_name_entry.visible = !toggle; db_name_entry.no_show_all = toggle; db_username_label.visible = !toggle; db_username_label.no_show_all = toggle; db_username_entry.visible = !toggle; db_username_entry.no_show_all = toggle; db_password_label.visible = !toggle; db_password_label.no_show_all = toggle; db_password_entry.visible = !toggle; db_password_entry.no_show_all = toggle; db_port_label.visible = !toggle; db_port_label.no_show_all = toggle; db_port_entry.visible = !toggle; db_port_entry.no_show_all = toggle; ssl_switch_label.visible = !toggle; ssl_switch_label.no_show_all = toggle; ssl_switch.visible = !toggle; ssl_switch.no_show_all = toggle; if (toggle) ssh_switch.active = false; ssh_switch_container.visible = !toggle; ssh_switch_container.no_show_all = toggle; ssh_switch_label.visible = !toggle; ssh_switch_label.no_show_all = toggle; } private void change_sensitivity () { if (db_type_entry.get_active () != 3 || (db_type_entry.get_active () == 3 && db_file_entry.get_uri () != null) ) { test_button.sensitive = true; connect_button.sensitive = true; return; } test_button.sensitive = false; connect_button.sensitive = false; } private async void toggle_buttons (bool status) { test_button.sensitive = status; connect_button.sensitive = status; cancel_button.sensitive = status; save_button.sensitive = status; } private void on_response (Gtk.Dialog source, int response_id) { switch (response_id) { case Action.TEST: if (db_types[db_type_entry.get_active ()] != "SQLite" && db_username_entry.text == "") { write_response (_("A username is required in order to connect!")); return; } if (ssh_switch.active) { open_ssh_connection.begin (false); } else { test_connection.begin (); } break; case Action.SAVE: save_connection.begin (); break; case Action.CANCEL: if (connection_manager != null) { connection_manager.ssh_tunnel_close (Log.FILE + ":" + Log.LINE.to_string ()); } destroy (); break; case Action.CONNECT: if (db_types[db_type_entry.get_active ()] != "SQLite" && db_username_entry.text == "") { write_response (_("A username is required in order to connect!")); return; } debug ("init connection"); if (ssh_switch.active) { open_ssh_connection.begin (true); } else { init_connection.begin (); } break; } } public void test_connection_callback () { test_connection.begin (); } public void init_connection_callback () { init_connection.begin (); } public async void open_ssh_connection (bool is_real) throws ThreadError { yield toggle_spinner (true); write_response (_("Opening SSH Tunnel\u2026")); var data = package_data (); connection_manager = new Sequeler.Services.ConnectionManager (window, data); if (is_real) { connection_manager.ssh_tunnel_ready.connect (init_connection_callback); } else { connection_manager.ssh_tunnel_ready.connect (test_connection_callback); } SourceFunc callback = open_ssh_connection.callback; new Thread (null, () => { try { connection_manager.ssh_tunnel_init (is_real); } catch (Error e) { write_response (e.message); } Idle.add ((owned) callback); Thread.exit (null); return null; }); yield; toggle_spinner.begin (false); } private async void test_connection () throws ThreadError { if (Thread.supported () == false) { error ("Threads are not supported!"); } yield toggle_spinner (true); write_response (_("Testing Connection\u2026")); if (connection_manager == null) { connection_manager = new Sequeler.Services.ConnectionManager (window, package_data ()); } SourceFunc callback = test_connection.callback; new Thread (null, () => { try { connection_manager.test (); } catch (Error e) { write_response (e.message); } Idle.add ((owned) callback); Thread.exit (null); return null; }); yield; write_response (_("Successfully Connected!")); connection_manager = null; yield toggle_spinner (false); } private async void save_connection () { var data = package_data (); yield toggle_spinner (true); write_response (_("Saving Connection\u2026")); yield window.main.library.check_add_item (data); yield toggle_spinner (false); write_response (_("Connection Saved!")); } private async void init_connection () { var data = package_data (); var result = new Gee.HashMap (); yield toggle_spinner (true); write_response (_("Connecting\u2026")); if (connection_manager == null) { connection_manager = new Sequeler.Services.ConnectionManager (window, data); } try { result = yield connection_manager.init_connection (); } catch (ThreadError e) { yield toggle_spinner (false); connection_manager = null; write_response (e.message); return; } if (result["status"] != "true") { yield toggle_spinner (false); connection_manager = null; write_response (result["msg"]); return; } if (settings.save_quick) { yield window.main.library.check_add_item (data); } window.data_manager.data = data; yield window.main.connection_opened (connection_manager); destroy (); } private Gee.HashMap package_data () { var packaged_data = new Gee.HashMap (); packaged_data.set ("id", connection_id.text); packaged_data.set ("title", title_entry.text); packaged_data.set ("color", color_picker.rgba.to_string ()); packaged_data.set ("type", db_types[db_type_entry.get_active ()]); packaged_data.set ("host", db_host_entry.text); packaged_data.set ("name", db_name_entry.text); packaged_data.set ("file_path", db_file_entry.get_uri () != null ? db_file_entry.get_uri () : ""); packaged_data.set ("username", db_username_entry.text); packaged_data.set ("password", db_password_entry.text); packaged_data.set ("port", db_port_entry.text); packaged_data.set ("has_ssh", ssh_switch.active.to_string ()); packaged_data.set ("ssh_host", ssh_switch.active ? ssh_host_entry.text : ""); packaged_data.set ("ssh_username", ssh_switch.active ? ssh_username_entry.text : ""); packaged_data.set ("ssh_password", ssh_switch.active ? ssh_password_entry.text : ""); packaged_data.set ("ssh_port", ssh_switch.active ? ssh_port_entry.text : ""); packaged_data.set ("ssh_identity_file", ssh_identity_file_entry.get_filename () ?? ""); packaged_data.set ("use_ssl", ssl_switch.active.to_string ()); return packaged_data; } public async void toggle_spinner (bool type) { yield toggle_buttons (!type); if (type == true) { spinner.start (); return; } spinner.stop (); } public void write_response (string? response_text) { response_msg.label = response_text; } } sequeler-0.8.0/src/Widgets/QueryParamsDialog.vala000066400000000000000000000176741367531117400220260ustar00rootroot00000000000000/** * Copyright (c) 2017-2020 Alecaddd (https://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Francisco Altoe * Authored by: Alessandro "Alecaddd" Castellani */ /** * Dialog subclass used to prompt the user to provide the required query parameters */ public class Sequeler.Widgets.QueryParamsDialog : Gtk.Dialog { public weak Sequeler.Window window { get; construct; } public Sequeler.Layouts.Views.Query parent_view { get; construct; } public string query { get; construct; } public Gda.Statement statement { get; construct; } public Gda.Set params { get; construct; } private Gee.ArrayList entries; private Sequeler.Partials.ResponseMessage response_msg; enum Action { RUN_QUERY, CANCEL } public QueryParamsDialog ( Sequeler.Window? parent, Sequeler.Layouts.Views.Query view, string query, Gda.Statement statement, Gda.Set? @params ) { Object ( border_width: 6, deletable: false, resizable: true, title: _("Query parameters"), transient_for: parent, window: parent, parent_view: view, query: query, statement: statement, params: @params ); } construct { build_content (); response.connect (on_response); } private void build_content () { default_width = 500; var content = get_content_area (); var form_grid = new Gtk.Grid (); form_grid.margin = 6; form_grid.row_spacing = 12; form_grid.column_spacing = 12; entries = new Gee.ArrayList (); for (int i = 0; ; i++) { Gda.Holder? holder = params.get_nth_holder (i); if (holder == null) { break; } var holder_id = holder.get_id (); var label = new Gtk.Label (holder_id + ":"); form_grid.attach (label, 0, i, 1, 1); var entry = entry_for_holder (holder); form_grid.attach (entry, 1, i, 1, 1); entries.add (entry); } var scrolled_window = new Gtk.ScrolledWindow (null, null); scrolled_window.add (form_grid); int main_window_width, main_window_height; parent_view.window.get_size (out main_window_width, out main_window_height); // Prevent the scrolled window from growing bigger than the main window itself. scrolled_window.set_max_content_height (main_window_height / 2); scrolled_window.set_max_content_width (main_window_width); scrolled_window.set_propagate_natural_width (true); scrolled_window.set_propagate_natural_height (true); response_msg = new Sequeler.Partials.ResponseMessage (); content.add (scrolled_window); content.add (response_msg); var cancel_button = new Gtk.Button.with_label (_("Cancel")); add_action_widget (cancel_button, Action.CANCEL); var run_button = new Sequeler.Partials.RunQueryButton (); add_action_widget (run_button, Action.RUN_QUERY); } private Gtk.Widget entry_for_holder (Gda.Holder holder) { Type holder_g_type = holder.get_g_type (); switch (holder_g_type) { case Type.BOOLEAN: return new Gtk.Switch (); case Type.INT: case Type.UINT: var widget = new Partials.ParamEntry (this, Gtk.InputPurpose.DIGITS); return widget; case Type.FLOAT: case Type.DOUBLE: var widget = new Partials.ParamEntry (this, Gtk.InputPurpose.NUMBER); return widget; default: return new Partials.ParamEntry (this); } } /** * Takes the parse result and update the widgets style and the holder value. */ private bool store_parsed_value ( bool parse_result, Value parsed_value, Gda.Holder holder, Gtk.Entry entry ) { entry.get_style_context ().remove_class ("error"); if (!parse_result) { entry.get_style_context ().add_class ("error"); return false; } try { holder.set_value (parsed_value); } catch (Error e) { write_response (e.message); entry.get_style_context ().add_class ("error"); return false; } return true; } private bool set_value_for_holder (Gda.Holder holder, Gtk.Widget widget) { Type holder_g_type = holder.get_g_type (); if (holder_g_type == Type.BOOLEAN) { Gtk.Switch switch = widget as Gtk.Switch; if (switch == null) { return false; } try { holder.set_value (switch.get_active ()); } catch (Error ex) { return false; } return true; } else { Gtk.Entry entry = widget as Gtk.Entry; string text = entry.get_text (); bool parse_result = true; Value parsed_value; if (holder_g_type == Type.INT) { // TODO: replace this with the following once we upgrade to a newer valac // parse_result = int.try_parse (text, out parsed_value); parsed_value = int.parse (text); } else if (holder_g_type == Type.UINT) { // TODO: replace this with the following once we upgrade to a newer valac // parse_result = uint.try_parse (text, out parsed_value); parsed_value = int.parse (text); } else if (holder_g_type == Type.FLOAT) { // TODO: replace this with the following once we upgrade to a newer valac // parse_result = float.try_parse (text, out parsed_value); parsed_value = double.parse (text); } else if (holder_g_type == Type.DOUBLE) { // TODO: replace this with the following once we upgrade to a newer valac // parse_result = double.try_parse (text, out parsed_value); parsed_value = double.parse (text); } else { parsed_value = text; } return store_parsed_value (parse_result, parsed_value, holder, entry); } } private bool get_param_values () { bool validation_result = true; for (int i = 0; ; i++) { Gda.Holder? holder = params.get_nth_holder (i); if (holder == null) { break; } validation_result &= set_value_for_holder (holder, entries[i]); } return validation_result; } private void on_response (Gtk.Dialog source, int response_id) { switch (response_id) { case Action.RUN_QUERY: run_query (); break; case Action.CANCEL: destroy (); break; } } public void run_query () { if (!get_param_values ()) { return; } parent_view.run_query_statement (query, statement, params); destroy (); } private void write_response (string? response_text) { response_msg.label = response_text; } } sequeler-0.8.0/src/Window.vala000066400000000000000000000065631367531117400162710ustar00rootroot00000000000000/* * Copyright (c) 2017-2020 Alecaddd (https://alecaddd.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alessandro "Alecaddd" Castellani */ public class Sequeler.Window : Gtk.ApplicationWindow { public weak Sequeler.Application app { get; construct; } public Sequeler.Layouts.Main main; public Sequeler.Layouts.HeaderBar headerbar; public Sequeler.Services.ActionManager action_manager; public Sequeler.Services.DataManager data_manager; public Sequeler.Widgets.ConnectionDialog? connection_dialog = null; public Gtk.AccelGroup accel_group { get; construct; } public Window (Sequeler.Application sequeler_app) { Object ( application: sequeler_app, app: sequeler_app, icon_name: Constants.PROJECT_NAME ); } construct { accel_group = new Gtk.AccelGroup (); add_accel_group (accel_group); action_manager = new Sequeler.Services.ActionManager (app, this); main = new Sequeler.Layouts.Main (this); headerbar = new Sequeler.Layouts.HeaderBar (this); data_manager = new Sequeler.Services.DataManager (); build_ui (); move (settings.pos_x, settings.pos_y); resize (settings.window_width, settings.window_height); show_app (); } public Sequeler.Window get_instance () { return this; } private void build_ui () { Gtk.Settings.get_default ().gtk_application_prefer_dark_theme = settings.dark_theme; var css_provider = new Gtk.CssProvider (); css_provider.load_from_resource ("/com/github/alecaddd/sequeler/stylesheet.css"); Gtk.StyleContext.add_provider_for_screen ( Gdk.Screen.get_default (), css_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION ); set_titlebar (headerbar); set_border_width (0); delete_event.connect (before_destroy); add (main); } public bool before_destroy () { update_status (); app.get_active_window ().destroy (); return true; } private void update_status () { int width, height, x, y; get_size (out width, out height); get_position (out x, out y); settings.pos_x = x; settings.pos_y = y; settings.window_width = width; settings.window_height = height; settings.sidebar_width = main.get_position (); if (main.database_view.query.n_tabs > 0) { settings.query_area = (main.database_view.query.current.page as Layouts.Views.Query) .panels.get_position (); } } public void show_app () { show_all (); show (); present (); } } sequeler-0.8.0/src/config.vala.in000066400000000000000000000002661367531117400166660ustar00rootroot00000000000000namespace Constants { public const string PROJECT_NAME = "@PROJECT_NAME@"; public const string GETTEXT_PACKAGE = "@GETTEXT_PACKAGE@"; public const string VERSION = "@VERSION@"; } sequeler-0.8.0/src/meson.build000066400000000000000000000036451367531117400163150ustar00rootroot00000000000000conf_data = configuration_data() conf_data.set('PROJECT_NAME', application_id) conf_data.set('GETTEXT_PACKAGE', meson.project_name()) conf_data.set('VERSION', meson.project_version()) config_header = configure_file( input: 'config.vala.in', output: 'config.vala', configuration: conf_data ) # Create a new executable, list the files we want to compile, list the dependencies we need, and install executable( application_id, 'Main.vala', 'Application.vala', 'Window.vala', 'Layouts/HeaderBar.vala', 'Layouts/Main.vala', 'Layouts/Library.vala', 'Layouts/Welcome.vala', 'Layouts/DataBaseSchema.vala', 'Layouts/DataBaseView.vala', 'Layouts/Views/Structure.vala', 'Layouts/Views/Content.vala', 'Layouts/Views/Relations.vala', 'Layouts/Views/Query.vala', 'Partials/ButtonType.vala', 'Partials/DataBasePanel.vala', 'Partials/DatabaseTable.vala', 'Partials/Helpers.vala', 'Partials/LibraryItem.vala', 'Partials/TreeBuilder.vala', 'Services/Settings.vala', 'Services/ActionManager.vala', 'Services/DataManager.vala', 'Services/ConnectionManager.vala', 'Services/PasswordManager.vala', 'Services/UpgradeManager.vala', 'Services/Types/DataBaseType.vala', 'Services/Types/MySQL.vala', 'Services/Types/PostgreSQL.vala', 'Services/Types/SQLite.vala', 'Widgets/ConnectionDialog.vala', 'Widgets/QueryParamsDialog.vala', asresources, config_header, dependencies: [ dependency('gtk+-3.0'), dependency('granite', version: '>= 0.5.1'), dependency('glib-2.0'), dependency('gee-0.8'), dependency('gobject-2.0'), dependency('libxml-2.0'), dependency('libgda-5.0'), dependency('libssh2'), dependency('libsecret-1'), dependency('gtksourceview-3.0'), m_dep, linux_dep ], vala_args: vala_args, install: true ) sequeler-0.8.0/vapi/000077500000000000000000000000001367531117400143135ustar00rootroot00000000000000sequeler-0.8.0/vapi/libgda-5.0.deps000066400000000000000000000000371367531117400167120ustar00rootroot00000000000000glib-2.0 gobject-2.0 libxml-2.0sequeler-0.8.0/vapi/libgda-5.0.vapi000066400000000000000000003016461367531117400167300ustar00rootroot00000000000000/* libgda-5.0.vapi generated by vapigen-0.26, do not modify. */ [CCode (cprefix = "Gda", gir_namespace = "Gda", gir_version = "5.0", lower_case_cprefix = "gda_")] namespace Gda { [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_batch_get_type ()")] public class Batch : GLib.Object { [CCode (has_construct_function = false)] public Batch (); public void add_statement (Gda.Statement stmt); public Gda.Batch copy (); public static GLib.Quark error_quark (); public bool get_parameters (out Gda.Set out_params) throws GLib.Error; public unowned GLib.SList get_statements (); public void remove_statement (Gda.Statement stmt); public string serialize (); public virtual signal void changed (GLib.Object changed_stmt); } [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_binary_get_type ()")] [Compact] public class Binary { public long binary_length; public uint8 data; public static void* copy (void* boxed); public static void free (owned void* boxed); public string to_string (uint maxlen); } [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_blob_get_type ()")] [Compact] public class Blob { public weak Gda.Binary data; public weak Gda.BlobOp op; public static void* copy (void* boxed); public static void free (owned void* boxed); public void set_op (Gda.BlobOp? op); public string to_string (uint maxlen); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_blob_op_get_type ()")] public abstract class BlobOp : GLib.Object { public void* _gda_reserved1; [CCode (has_construct_function = false)] protected BlobOp (); public virtual long get_length (); public virtual long read (Gda.Blob blob, long offset, long size); public bool read_all (Gda.Blob blob); public virtual long write (Gda.Blob blob, long offset); public virtual bool write_all (Gda.Blob blob); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_column_get_type ()")] public class Column : GLib.Object { [CCode (has_construct_function = false)] public Column (); public Gda.Column copy (); public bool get_allow_null (); public unowned GLib.Value? get_attribute (string attribute); public bool get_auto_increment (); public unowned string get_dbms_type (); public unowned GLib.Value? get_default_value (); public unowned string get_description (); public GLib.Type get_g_type (); public unowned string get_name (); public int get_position (); public void set_allow_null (bool allow); public void set_attribute (string attribute, GLib.Value? value, GLib.DestroyNotify? destroy); public void set_auto_increment (bool is_auto); public void set_dbms_type (string dbms_type); public void set_default_value (GLib.Value? default_value); public void set_description (string title); public void set_g_type (GLib.Type type); public void set_name (string name); public void set_position (int position); [NoAccessorMethod] public string id { owned get; set; } public virtual signal void g_type_changed (GLib.Type old_type, GLib.Type new_type); public virtual signal void name_changed (string old_name); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_config_get_type ()")] public class Config : GLib.Object { [CCode (has_construct_function = false)] protected Config (); public static bool can_modify_system_config (); public static bool define_dsn (Gda.DsnInfo info) throws GLib.Error; public static bool dsn_needs_authentication (string dsn_name); public static GLib.Quark error_quark (); public static Gda.Config @get (); public static unowned Gda.DsnInfo get_dsn_info (string dsn_name); public static unowned Gda.DsnInfo get_dsn_info_at_index (int index); public static int get_dsn_info_index (string dsn_name); public static int get_nb_dsn (); public static unowned Gda.ServerProvider get_provider (string provider_name) throws GLib.Error; public static unowned Gda.ProviderInfo? get_provider_info (string provider_name); public static Gda.DataModel list_dsn (); public static Gda.DataModel list_providers (); public static bool remove_dsn (string dsn_name) throws GLib.Error; [NoAccessorMethod] public string system_filename { owned get; set; } [NoAccessorMethod] public string user_filename { owned get; set; } public virtual signal void dsn_added (void* new_dsn); public virtual signal void dsn_changed (void* dsn); public virtual signal void dsn_removed (void* old_dsn); public virtual signal void dsn_to_be_removed (void* old_dsn); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_connection_get_type ()")] public class Connection : GLib.Object, Gda.Lockable { [CCode (has_construct_function = false)] protected Connection (); public void add_event (owned Gda.ConnectionEvent event); public void add_prepared_statement (Gda.Statement gda_stmt, Gda.PStmt prepared_stmt); public bool add_savepoint (string? name) throws GLib.Error; public bool async_cancel (uint task_id) throws GLib.Error; public GLib.Object async_fetch_result (uint task_id, out Gda.Set last_insert_row) throws GLib.Error; public uint async_statement_execute (Gda.Statement stmt, Gda.Set? @params, Gda.StatementModelUsage model_usage, [CCode (array_length = false)] GLib.Type[]? col_types, bool need_last_insert_row) throws GLib.Error; public GLib.SList batch_execute (Gda.Batch batch, Gda.Set? @params, Gda.StatementModelUsage model_usage) throws GLib.Error; public bool begin_transaction (string? name, Gda.TransactionIsolation level) throws GLib.Error; public void clear_events_list (); public void close (); public void close_no_warning (); public bool commit_transaction (string? name) throws GLib.Error; public Gda.ServerOperation create_operation (Gda.ServerOperationType type, Gda.Set? options) throws GLib.Error; public Gda.SqlParser create_parser (); public void del_prepared_statement (Gda.Statement gda_stmt); public bool delete_row_from_table (string table, string condition_column_name, GLib.Value condition_value) throws GLib.Error; public bool delete_savepoint (string? name) throws GLib.Error; public static GLib.Quark error_quark (); public int execute_non_select_command (string sql) throws GLib.Error; public Gda.DataModel execute_select_command (string sql) throws GLib.Error; [CCode (has_construct_function = false)] public Connection.from_dsn (string dsn, string? auth_string, Gda.ConnectionOptions options) throws GLib.Error; [CCode (has_construct_function = false)] public Connection.from_string (string? provider_name, string cnc_string, string? auth_string, Gda.ConnectionOptions options) throws GLib.Error; public unowned string get_authentication (); public unowned string get_cnc_string (); public bool get_date_format (out GLib.DateDMY out_first, out GLib.DateDMY out_second, out GLib.DateDMY out_third, out string out_sep) throws GLib.Error; public unowned string get_dsn (); public unowned GLib.List get_events (); public unowned Gda.MetaStore get_meta_store (); public Gda.DataModel get_meta_store_data_v (Gda.ConnectionMetaType meta_type, GLib.List filters) throws GLib.Error; public Gda.ConnectionOptions get_options (); public unowned Gda.PStmt get_prepared_statement (Gda.Statement gda_stmt); public unowned Gda.ServerProvider get_provider (); public unowned string get_provider_name (); public unowned Gda.TransactionStatus get_transaction_status (); public bool insert_row_into_table_v (string table, GLib.SList col_names, GLib.SList values) throws GLib.Error; public bool is_opened (); public bool open () throws GLib.Error; public static Gda.Connection open_from_dsn (string dsn, string? auth_string, Gda.ConnectionOptions options) throws GLib.Error; public static Gda.Connection open_from_string (string? provider_name, string cnc_string, string? auth_string, Gda.ConnectionOptions options) throws GLib.Error; public static Gda.Connection open_sqlite (string? directory, string filename, bool auto_unlink); public Gda.Statement parse_sql_string (string sql, out Gda.Set @params) throws GLib.Error; public bool perform_operation (Gda.ServerOperation op) throws GLib.Error; public Gda.ConnectionEvent point_available_event (Gda.ConnectionEventType type); public string quote_sql_identifier (string id); public GLib.SList repetitive_statement_execute (Gda.RepetitiveStatement rstmt, Gda.StatementModelUsage model_usage, [CCode (array_length = false)] GLib.Type[]? col_types, bool stop_on_error) throws GLib.Error; public bool rollback_savepoint (string? name) throws GLib.Error; public bool rollback_transaction (string? name) throws GLib.Error; public GLib.Object statement_execute (Gda.Statement stmt, Gda.Set? @params, Gda.StatementModelUsage model_usage, out Gda.Set last_insert_row) throws GLib.Error; public int statement_execute_non_select (Gda.Statement stmt, Gda.Set? @params, out Gda.Set last_insert_row) throws GLib.Error; public Gda.DataModel statement_execute_select (Gda.Statement stmt, Gda.Set? @params) throws GLib.Error; public Gda.DataModel statement_execute_select_full (Gda.Statement stmt, Gda.Set? @params, Gda.StatementModelUsage model_usage, [CCode (array_length = false)] GLib.Type[]? col_types) throws GLib.Error; public bool statement_prepare (Gda.Statement stmt) throws GLib.Error; public string statement_to_sql (Gda.Statement stmt, Gda.Set? @params, Gda.StatementSqlFlag flags, out GLib.SList params_used) throws GLib.Error; public static void string_split (string string, string out_cnc_params, string out_provider, string out_username, string? out_password); public bool supports_feature (Gda.ConnectionFeature feature); public bool update_meta_store (Gda.MetaContext? context) throws GLib.Error; public bool update_row_in_table_v (string table, string condition_column_name, GLib.Value condition_value, GLib.SList col_names, GLib.SList values) throws GLib.Error; public string value_to_sql_string (GLib.Value from); [NoAccessorMethod] public string auth_string { owned get; set; } [NoAccessorMethod] public string cnc_string { owned get; set; } [NoAccessorMethod] public string dsn { owned get; set; } [NoAccessorMethod] public int events_history_size { get; set; } [NoAccessorMethod] public uint execution_slowdown { get; set; } [NoAccessorMethod] public bool execution_timer { get; set; } [NoAccessorMethod] public bool is_wrapper { get; set; } [NoAccessorMethod] public Gda.MetaStore meta_store { owned get; set; } [NoAccessorMethod] public bool monitor_wrapped_in_mainloop { get; set; } [NoAccessorMethod] public Gda.ServerProvider provider { owned get; set; } [NoAccessorMethod] public void* thread_owner { get; set; } public virtual signal void conn_closed (); public virtual signal void conn_opened (); public virtual signal void conn_to_close (); public virtual signal void dsn_changed (); public virtual signal void error (Gda.ConnectionEvent error); public virtual signal void transaction_status_changed (); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_connection_event_get_type ()")] public class ConnectionEvent : GLib.Object { [CCode (has_construct_function = false)] protected ConnectionEvent (); public long get_code (); public unowned string get_description (); public Gda.ConnectionEventType get_event_type (); public Gda.ConnectionEventCode get_gda_code (); public unowned string get_source (); public unowned string get_sqlstate (); public void set_code (long code); public void set_description (string? description); public void set_event_type (Gda.ConnectionEventType type); public void set_gda_code (Gda.ConnectionEventCode code); public void set_source (string source); public void set_sqlstate (string sqlstate); [NoAccessorMethod] public int type { get; set; } } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_access_wrapper_get_type ()")] public class DataAccessWrapper : GLib.Object, Gda.DataModel { [CCode (has_construct_function = false)] protected DataAccessWrapper (); public static Gda.DataModel @new (Gda.DataModel model); public bool set_mapping ([CCode (array_length_cname = "mapping_size", array_length_pos = 1.1)] int[]? mapping); [NoAccessorMethod] public Gda.DataModel model { owned get; construct; } } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_comparator_get_type ()")] public class DataComparator : GLib.Object { [CCode (has_construct_function = false, type = "GObject*")] public DataComparator (Gda.DataModel old_model, Gda.DataModel new_model); public bool compute_diff () throws GLib.Error; public static GLib.Quark error_quark (); public unowned Gda.Diff? get_diff (int pos); public int get_n_diffs (); public void set_key_columns ([CCode (array_length_cname = "nb_cols", array_length_pos = 1.1)] int[] col_numbers); [NoAccessorMethod] public Gda.DataModel new_model { owned get; set; } [NoAccessorMethod] public Gda.DataModel old_model { owned get; set; } public virtual signal bool diff_computed (void* diff); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_model_array_get_type ()")] public class DataModelArray : GLib.Object, Gda.DataModel { [CCode (has_construct_function = false)] protected DataModelArray (); public void clear (); public unowned Gda.Row get_row (int row) throws GLib.Error; public static Gda.DataModel @new (int cols); public static Gda.DataModel new_with_g_types_v (int cols, [CCode (array_length = false)] GLib.Type[] types); public void set_n_columns (int cols); [NoAccessorMethod] public uint n_columns { get; set; } [NoAccessorMethod] public bool read_only { get; set; } } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_model_bdb_get_type ()")] public class DataModelBdb : GLib.Object, Gda.DataModel { [CCode (has_construct_function = false)] protected DataModelBdb (); public void clean_errors (); [NoWrapper] public virtual GLib.Value? get_data_part (void* data, int length, int part); public unowned GLib.SList get_errors (); [NoWrapper] public virtual GLib.Value? get_key_part (void* data, int length, int part); public static Gda.DataModel @new (string filename, string? db_name); [NoWrapper] public virtual bool update_data_part (void* data, int length, int part, GLib.Value value) throws GLib.Error; [NoWrapper] public virtual bool update_key_part (void* data, int length, int part, GLib.Value value) throws GLib.Error; [NoAccessorMethod] public string db_name { owned get; construct; } [NoAccessorMethod] public string filename { owned get; construct; } } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_model_dir_get_type ()")] public class DataModelDir : GLib.Object, Gda.DataModel { [CCode (has_construct_function = false)] protected DataModelDir (); public void clean_errors (); public unowned GLib.SList get_errors (); public static Gda.DataModel @new (string basedir); [NoAccessorMethod] public string basedir { owned get; construct; } } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_model_import_get_type ()")] public class DataModelImport : GLib.Object, Gda.DataModel { [CCode (has_construct_function = false)] protected DataModelImport (); public void clean_errors (); public unowned GLib.SList get_errors (); public static Gda.DataModel new_file (string filename, bool random_access, Gda.Set? options); public static Gda.DataModel new_mem (string data, bool random_access, Gda.Set? options); public static Gda.DataModel new_xml_node ([CCode (type = "xmlNodePtr")] Xml.Node* node); [NoAccessorMethod] public string data_string { owned get; construct; } [NoAccessorMethod] public string filename { owned get; construct; } [NoAccessorMethod] public Gda.Set options { owned get; construct; } [NoAccessorMethod] public bool random_access { get; construct; } [NoAccessorMethod] public bool strict { get; set construct; } [NoAccessorMethod] public void* xml_node { get; construct; } } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_model_iter_get_type ()")] public class DataModelIter : Gda.Set { [CCode (has_construct_function = false)] protected DataModelIter (); public static GLib.Quark error_quark (); [Version (deprecated = true, deprecated_since = "5.2", replacement = "")] public int get_column_for_param (Gda.Holder param); public unowned Gda.Holder get_holder_for_field (int col); public int get_row (); public unowned GLib.Value? get_value_at (int col); public unowned GLib.Value? get_value_at_e (int col) throws GLib.Error; public unowned GLib.Value? get_value_for_field (string field_name); public void invalidate_contents (); public bool is_valid (); public bool move_next (); public bool move_prev (); public bool move_to_row (int row); public bool set_value_at (int col, GLib.Value value) throws GLib.Error; [NoAccessorMethod] public int current_row { get; set; } [NoAccessorMethod] public Gda.DataModel data_model { owned get; set construct; } [NoAccessorMethod] public Gda.DataModel forced_model { owned get; set; } [NoAccessorMethod] public bool update_model { get; set; } public virtual signal void end_of_data (); public virtual signal void row_changed (int row); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_model_ldap_get_type ()")] public class DataModelLdap : GLib.Object, Gda.DataModel { [CCode (has_construct_function = false)] protected DataModelLdap (); public static GLib.List compute_columns (Gda.Connection cnc, string? attributes); [Version (deprecated = true, deprecated_since = "5.2", replacement = "")] public static Gda.DataModel @new (Gda.Connection cnc, string? base_dn, string? filter, string? attributes, Gda.LdapSearchScope scope); [CCode (has_construct_function = false)] public DataModelLdap.with_config (Gda.Connection cnc, string? base_dn, string? filter, string? attributes, Gda.LdapSearchScope scope); public string attributes { construct; } [NoAccessorMethod] public string @base { owned get; construct; } [NoAccessorMethod] public string filter { owned get; construct; } [NoAccessorMethod] public int scope { get; construct; } [NoAccessorMethod] public bool use_rdn { get; set; } } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_pivot_get_type ()")] public class DataPivot : GLib.Object, Gda.DataModel { [CCode (has_construct_function = false)] protected DataPivot (); public bool add_data (Gda.DataPivotAggregate aggregate_type, string field, string? alias) throws GLib.Error; public bool add_field (Gda.DataPivotFieldType field_type, string field, string? alias) throws GLib.Error; public static GLib.Quark error_quark (); public static Gda.DataModel @new (Gda.DataModel? model); public bool populate () throws GLib.Error; [NoAccessorMethod] public Gda.DataModel model { owned get; set; } } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_proxy_get_type ()")] public class DataProxy : GLib.Object, Gda.DataModel { [CCode (has_construct_function = false, type = "GObject*")] public DataProxy (Gda.DataModel model); public void alter_value_attributes (int proxy_row, int col, Gda.ValueAttribute alter_flags); public bool apply_all_changes () throws GLib.Error; public bool apply_row_changes (int proxy_row) throws GLib.Error; public bool cancel_all_changes (); public void cancel_row_changes (int proxy_row, int col); public void @delete (int proxy_row); public static GLib.Quark error_quark (); public unowned string get_filter_expr (); public int get_filtered_n_rows (); public int get_n_modified_rows (); public int get_n_new_rows (); public unowned Gda.DataModel get_proxied_model (); public int get_proxied_model_n_cols (); public int get_proxied_model_n_rows (); public int get_proxied_model_row (int proxy_row); public int get_sample_end (); public int get_sample_size (); public int get_sample_start (); public Gda.ValueAttribute get_value_attributes (int proxy_row, int col); public GLib.SList get_values (int proxy_row, [CCode (array_length_cname = "n_cols", array_length_pos = 2.1)] int[] cols_index); public bool has_changed (); public bool is_read_only (); public bool row_has_changed (int proxy_row); public bool row_is_deleted (int proxy_row); public bool row_is_inserted (int proxy_row); public bool set_filter_expr (string? filter_expr) throws GLib.Error; public bool set_ordering_column (int col) throws GLib.Error; public void set_sample_size (int sample_size); public void set_sample_start (int sample_start); public void undelete (int proxy_row); [CCode (has_construct_function = false)] public DataProxy.with_data_model (Gda.DataModel model); [NoAccessorMethod] public bool cache_changes { get; set; } [NoAccessorMethod] public bool defer_sync { get; set; } [NoAccessorMethod] public Gda.DataModel model { owned get; set construct; } [NoAccessorMethod] public bool prepend_null_entry { get; set; } public int sample_size { get; set construct; } public virtual signal void filter_changed (); public virtual signal void row_changes_applied (int row, int proxied_row); public virtual signal void row_delete_changed (int row, bool to_be_deleted); public virtual signal void sample_changed (int sample_start, int sample_end); public virtual signal void sample_size_changed (int sample_size); public virtual signal GLib.Error validate_row_changes (int row, int proxied_row); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_select_get_type ()")] public abstract class DataSelect : GLib.Object, Gda.DataModel { public int advertized_nrows; public int nb_stored_rows; public weak Gda.PStmt prep_stmt; [CCode (has_construct_function = false)] protected DataSelect (); public bool compute_columns_attributes () throws GLib.Error; public bool compute_modification_statements () throws GLib.Error; public bool compute_modification_statements_ext (Gda.DataSelectConditionType cond_type) throws GLib.Error; public bool compute_row_selection_condition () throws GLib.Error; public static GLib.Quark error_quark (); [NoWrapper] public virtual bool fetch_at (Gda.Row prow, int rownum) throws GLib.Error; [NoWrapper] public virtual int fetch_nb_rows (); [NoWrapper] public virtual bool fetch_next (Gda.Row prow, int rownum) throws GLib.Error; [NoWrapper] public virtual bool fetch_prev (Gda.Row prow, int rownum) throws GLib.Error; [NoWrapper] public virtual bool fetch_random (Gda.Row prow, int rownum) throws GLib.Error; public unowned Gda.Connection get_connection (); public bool prepare_for_offline () throws GLib.Error; public bool rerun () throws GLib.Error; public bool set_modification_statement (Gda.Statement mod_stmt) throws GLib.Error; public bool set_modification_statement_sql (string sql) throws GLib.Error; public bool set_row_selection_condition_sql (string sql_where) throws GLib.Error; [NoWrapper] public virtual bool store_all () throws GLib.Error; [NoAccessorMethod] public bool auto_reset { get; set; } public Gda.Connection connection { get; construct; } [NoAccessorMethod] public Gda.Statement delete_stmt { owned get; set; } [NoAccessorMethod] public Gda.Set exec_params { owned get; construct; } [NoAccessorMethod] public double execution_delay { get; set; } [NoAccessorMethod] public Gda.Statement insert_stmt { owned get; set; } [NoAccessorMethod] public uint model_usage { get; construct; } [NoAccessorMethod] public Gda.PStmt prepared_stmt { owned get; set; } [NoAccessorMethod] public Gda.Statement select_stmt { owned get; } [NoAccessorMethod] public bool store_all_rows { get; set; } [NoAccessorMethod] public Gda.Statement update_stmt { owned get; set; } } [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_default_get_type ()")] [Compact] public class Default { public static string escape_string (string string); public static string unescape_string (string string); } [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_dsn_info_get_type ()")] [Compact] public class DsnInfo { public weak string auth_string; public weak string cnc_string; public weak string description; public bool is_system; public weak string name; public weak string provider; [CCode (has_construct_function = false)] public DsnInfo (); public Gda.DsnInfo copy (); public void free (); } [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", lower_case_csuffix = "geometricpoint", type_id = "gda_geometricpoint_get_type ()")] [Compact] public class GeometricPoint { public double x; public double y; public static void* copy (void* boxed); public static void free (void* boxed); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_handler_bin_get_type ()")] public class HandlerBin : GLib.Object, Gda.DataHandler { [CCode (has_construct_function = false)] protected HandlerBin (); public static Gda.DataHandler @new (); } [CCode (cheader_filename = "libgda/libgda.h")] [Compact] public class HandlerBinPriv { } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_handler_boolean_get_type ()")] public class HandlerBoolean : GLib.Object, Gda.DataHandler { [CCode (has_construct_function = false)] protected HandlerBoolean (); public static Gda.DataHandler @new (); } [CCode (cheader_filename = "libgda/libgda.h")] [Compact] public class HandlerBooleanPriv { } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_handler_numerical_get_type ()")] public class HandlerNumerical : GLib.Object, Gda.DataHandler { [CCode (has_construct_function = false)] protected HandlerNumerical (); public static Gda.DataHandler @new (); } [CCode (cheader_filename = "libgda/libgda.h")] [Compact] public class HandlerNumericalPriv { } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_handler_string_get_type ()")] public class HandlerString : GLib.Object, Gda.DataHandler { [CCode (has_construct_function = false)] protected HandlerString (); public static Gda.DataHandler @new (); public static Gda.DataHandler new_with_provider (Gda.ServerProvider prov, Gda.Connection? cnc); } [CCode (cheader_filename = "libgda/libgda.h")] [Compact] public class HandlerStringPriv { } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_handler_time_get_type ()")] public class HandlerTime : GLib.Object, Gda.DataHandler { [CCode (has_construct_function = false)] protected HandlerTime (); public string get_format (GLib.Type type); public string get_no_locale_str_from_value (GLib.Value value); public static Gda.DataHandler @new (); public static Gda.DataHandler new_no_locale (); public void set_sql_spec (GLib.DateDMY first, GLib.DateDMY sec, GLib.DateDMY third, char separator, bool twodigits_years); public void set_str_spec (GLib.DateDMY first, GLib.DateDMY sec, GLib.DateDMY third, char separator, bool twodigits_years); } [CCode (cheader_filename = "libgda/libgda.h")] [Compact] public class HandlerTimePriv { } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_handler_type_get_type ()")] public class HandlerType : GLib.Object, Gda.DataHandler { [CCode (has_construct_function = false)] protected HandlerType (); public static Gda.DataHandler @new (); } [CCode (cheader_filename = "libgda/libgda.h")] [Compact] public class HandlerTypePriv { } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_holder_get_type ()")] public class Holder : GLib.Object, Gda.Lockable { [CCode (has_construct_function = false)] public Holder (GLib.Type type); [NoWrapper] public virtual void att_changed (string att_name, GLib.Value att_value); public Gda.Holder copy (); public static GLib.Quark error_quark (); public void force_invalid (); public void force_invalid_e (owned GLib.Error? error); public string get_alphanum_id (); public unowned GLib.Value? get_attribute (string attribute); public unowned Gda.Holder get_bind (); public unowned GLib.Value? get_default_value (); public GLib.Type get_g_type (); public unowned string get_id (); public bool get_not_null (); public unowned Gda.DataModel get_source_model (int col); public unowned GLib.Value? get_value (); public string get_value_str (Gda.DataHandler? dh); public bool is_valid (); public bool is_valid_e () throws GLib.Error; public void set_attribute (string attribute, GLib.Value value, GLib.DestroyNotify destroy); public bool set_bind (Gda.Holder bind_to) throws GLib.Error; public void set_default_value (GLib.Value value); public void set_not_null (bool not_null); public bool set_source_model (Gda.DataModel model, int col) throws GLib.Error; public bool set_value (GLib.Value? value) throws GLib.Error; public bool set_value_str (Gda.DataHandler dh, string value) throws GLib.Error; public bool set_value_to_default (); public GLib.Value? take_static_value (GLib.Value value, bool value_changed) throws GLib.Error; public bool take_value (owned GLib.Value value) throws GLib.Error; public bool value_is_default (); [NoAccessorMethod] public string description { owned get; set; } [NoAccessorMethod] public Gda.Holder full_bind { owned get; set; } [NoAccessorMethod] public GLib.Type g_type { get; set construct; } [NoAccessorMethod] public string id { owned get; set; } [NoAccessorMethod] public string name { owned get; set; } public bool not_null { get; set; } [NoAccessorMethod] public Gda.Holder simple_bind { owned get; set; } [NoAccessorMethod] public int source_column { get; set; } [NoAccessorMethod] public Gda.DataModel source_model { owned get; set; } [NoAccessorMethod] public bool validate_changes { get; set; } public signal void attribute_changed (string att_name, GLib.Value att_value); public virtual signal void changed (); public virtual signal void source_changed (); public virtual signal GLib.Error validate_change (GLib.Value new_value); } [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_meta_context_get_type ()")] [Compact] public class MetaContext { [CCode (array_length = false, array_null_terminated = true)] public weak string[] column_names; [CCode (array_length = false, array_null_terminated = true)] public weak GLib.Value[] column_values; public weak GLib.HashTable columns; public int size; public weak string table_name; [CCode (has_construct_function = false)] public MetaContext (); public Gda.MetaContext copy (); public void free (); public unowned string get_table (); public void set_column (string column, GLib.Value value, Gda.Connection? cnc); public void set_columns (GLib.HashTable columns, Gda.Connection? cnc); public void set_table (string table); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_meta_store_get_type ()")] public class MetaStore : GLib.Object { [CCode (has_construct_function = false)] public MetaStore (string? cnc_string); public Gda.DataModel create_modify_data_model (string table_name); public bool declare_foreign_key (Gda.MetaStruct? mstruct, string fk_name, string? catalog, string? schema, string table, string? ref_catalog, string? ref_schema, string ref_table, [CCode (array_length_cname = "nb_cols", array_length_pos = 8.5, array_length_type = "guint")] string[] colnames, [CCode (array_length_cname = "nb_cols", array_length_pos = 8.5, array_length_type = "guint")] string[] ref_colnames) throws GLib.Error; public static GLib.Quark error_quark (); [CCode (cname = "gda_meta_store_extract_v")] public Gda.DataModel extract (string select_sql, GLib.HashTable? vars) throws GLib.Error; public bool get_attribute_value (string att_name, out string att_value) throws GLib.Error; public unowned Gda.Connection get_internal_connection (); public int get_version (); public bool modify_v (string table_name, Gda.DataModel? new_data, string? condition, [CCode (array_length_cname = "nvalues", array_length_pos = 3.5)] string[] value_names, [CCode (array_length_cname = "nvalues", array_length_pos = 3.5)] GLib.Value[] values) throws GLib.Error; public bool modify_with_context (Gda.MetaContext context, Gda.DataModel? new_data) throws GLib.Error; public bool schema_add_custom_object (string xml_description) throws GLib.Error; public GLib.SList schema_get_all_tables (); public GLib.SList schema_get_depend_tables (string table_name); public Gda.MetaStruct schema_get_structure () throws GLib.Error; public bool schema_remove_custom_object (string obj_name) throws GLib.Error; public bool set_attribute_value (string att_name, string? att_value) throws GLib.Error; public void set_identifiers_style (Gda.SqlIdentifierStyle style); public void set_reserved_keywords_func (Gda.SqlReservedKeywordsFunc? func); public static string sql_identifier_quote (string id, Gda.Connection cnc); public bool undeclare_foreign_key (Gda.MetaStruct? mstruct, string fk_name, string? catalog, string? schema, string table, string? ref_catalog, string? ref_schema, string ref_table) throws GLib.Error; [CCode (has_construct_function = false)] public MetaStore.with_file (string file_name); public string catalog { construct; } [NoAccessorMethod] public Gda.Connection cnc { owned get; construct; } public string cnc_string { construct; } public string schema { construct; } public signal void meta_changed (GLib.SList changes); public virtual signal void meta_reset (); public virtual signal GLib.Error suggest_update (Gda.MetaContext suggest); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_meta_struct_get_type ()")] public class MetaStruct : GLib.Object { [CCode (has_construct_function = false)] public MetaStruct (Gda.MetaStore store, Gda.MetaStructFeature features); public unowned Gda.MetaDbObject? complement (Gda.MetaDbObjectType type, GLib.Value? catalog, GLib.Value? schema, GLib.Value name) throws GLib.Error; public bool complement_all () throws GLib.Error; public bool complement_default () throws GLib.Error; public bool complement_depend (Gda.MetaDbObject dbo) throws GLib.Error; public bool complement_schema (GLib.Value? catalog, GLib.Value? schema) throws GLib.Error; public string dump_as_graph (Gda.MetaGraphInfo info) throws GLib.Error; public static GLib.Quark error_quark (); public GLib.SList get_all_db_objects (); public unowned Gda.MetaDbObject? get_db_object (GLib.Value? catalog, GLib.Value? schema, GLib.Value name); public bool load_from_xml_file (string? catalog, string? schema, string xml_spec_file) throws GLib.Error; public bool sort_db_objects (Gda.MetaSortType sort_type) throws GLib.Error; [NoAccessorMethod] public uint features { get; construct; } [NoAccessorMethod] public Gda.MetaStore meta_store { owned get; construct; } } [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_null_get_type ()")] [Compact] public class Null { } [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_numeric_get_type ()")] [Compact] public class Numeric { public weak string number; public long precision; public long width; [CCode (has_construct_function = false)] public Numeric (); public Gda.Numeric copy (); public void free (); public double get_double (); public long get_precision (); public string? get_string (); public long get_width (); public void set_double (double number); public void set_from_string (string str); public void set_precision (long precision); public void set_width (long width); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_pstmt_get_type ()")] public abstract class PStmt : GLib.Object { public int ncols; public weak GLib.SList param_ids; public weak string sql; public weak GLib.SList tmpl_columns; public GLib.Type types; [CCode (has_construct_function = false)] protected PStmt (); public void copy_contents (Gda.PStmt dest); public unowned Gda.Statement get_gda_statement (); public void set_gda_statement (Gda.Statement stmt); } [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_quark_list_get_type ()")] [Compact] public class QuarkList { [CCode (has_construct_function = false)] public QuarkList (); public void add_from_string (string string, bool cleanup); public void clear (); public Gda.QuarkList copy (); public unowned string find (string name); public void @foreach (GLib.HFunc func); public void free (); [CCode (has_construct_function = false)] public QuarkList.from_string (string string); public void protect_values (); public void remove (string name); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_repetitive_statement_get_type ()")] public class RepetitiveStatement : GLib.Object { [CCode (has_construct_function = false)] public RepetitiveStatement (Gda.Statement stmt); public bool append_set (Gda.Set values, bool make_copy); public GLib.SList get_all_sets (); public bool get_template_set (Gda.Set @set) throws GLib.Error; [NoAccessorMethod] public Gda.Statement statement { owned get; construct; } } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_row_get_type ()")] public class Row : GLib.Object { [CCode (has_construct_function = false)] public Row (int count); public int get_length (); public unowned GLib.Value? get_value (int num); public void invalidate_value (GLib.Value value); public void invalidate_value_e (GLib.Value value, owned GLib.Error? error); public bool value_is_valid (GLib.Value value); public bool value_is_valid_e (GLib.Value value) throws GLib.Error; [NoAccessorMethod] public int nb_values { set; } } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_server_operation_get_type ()")] public class ServerOperation : GLib.Object { [CCode (has_construct_function = false)] public ServerOperation (Gda.ServerOperationType op_type, string xml_file); public uint add_item_to_sequence (string seq_path); public bool del_item_from_sequence (string item_path); public static GLib.Quark error_quark (); public string get_node_parent (string path); public string get_node_path_portion (string path); public Gda.ServerOperationNodeType get_node_type (string path, Gda.ServerOperationNodeStatus? status); public Gda.ServerOperationType get_op_type (); [CCode (array_length = false, array_null_terminated = true)] public string[] get_root_nodes (); [CCode (array_length = false, array_null_terminated = true)] public string[] get_sequence_item_names (string path); public uint get_sequence_max_size (string path); public uint get_sequence_min_size (string path); public unowned string get_sequence_name (string path); public uint get_sequence_size (string path); public string get_sql_identifier_at_path (Gda.Connection? cnc, Gda.ServerProvider? prov, string path); [CCode (cname = "gda_server_operation_get_value_at_path")] public unowned GLib.Value? get_value_at (string path); public bool is_valid (string? xml_file) throws GLib.Error; public bool load_data_from_xml ([CCode (type = "xmlNodePtr")] Xml.Node* node) throws GLib.Error; public static unowned string op_type_to_string (Gda.ServerOperationType type); public bool perform_create_database (string? provider) throws GLib.Error; public bool perform_create_table () throws GLib.Error; public bool perform_drop_database (string? provider) throws GLib.Error; public bool perform_drop_table () throws GLib.Error; public static Gda.ServerOperation prepare_create_database (string provider, string? db_name) throws GLib.Error; public static Gda.ServerOperation prepare_drop_database (string provider, string? db_name) throws GLib.Error; public static Gda.ServerOperation prepare_drop_table (Gda.Connection cnc, string table_name) throws GLib.Error; [NoWrapper] public virtual void seq_item_added (string seq_path, int item_index); [NoWrapper] public virtual void seq_item_remove (string seq_path, int item_index); [CCode (cname = "gda_server_operation_set_value_at_path")] public bool set_value_at (string? value, string path) throws GLib.Error; public static Gda.ServerOperationType string_to_op_type (string str); [NoAccessorMethod] public Gda.Connection connection { owned get; construct; } public int op_type { get; construct; } [NoAccessorMethod] public Gda.ServerProvider provider { owned get; construct; } public string spec_filename { construct; } public signal void sequence_item_added (string seq_path, int item_index); public signal void sequence_item_remove (string seq_path, int item_index); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_server_provider_get_type ()")] public abstract class ServerProvider : GLib.Object { [CCode (has_construct_function = false)] protected ServerProvider (); [NoWrapper] public virtual bool add_savepoint (Gda.Connection cnc, string name) throws GLib.Error; [NoWrapper] public virtual bool begin_transaction (Gda.Connection cnc, string name, Gda.TransactionIsolation level) throws GLib.Error; [NoWrapper] public virtual bool cancel (Gda.Connection cnc, uint task_id) throws GLib.Error; [NoWrapper] public virtual bool close_connection (Gda.Connection cnc); [NoWrapper] public virtual bool commit_transaction (Gda.Connection cnc, string name) throws GLib.Error; public virtual Gda.ServerOperation create_operation (Gda.Connection? cnc, Gda.ServerOperationType type, Gda.Set? options) throws GLib.Error; public virtual Gda.SqlParser create_parser (Gda.Connection? cnc); [NoWrapper] public virtual bool delete_savepoint (Gda.Connection cnc, string name) throws GLib.Error; public static GLib.Quark error_quark (); public virtual string escape_string (Gda.Connection? cnc, string str); public string find_file (string inst_dir, string filename); public unowned Gda.DataHandler get_data_handler_dbms (Gda.Connection? cnc, string for_type); [Version (deprecated = true, deprecated_since = "5.2", replacement = "")] public unowned Gda.DataHandler get_data_handler_default (Gda.Connection? cnc, GLib.Type type, string dbms_type); public unowned Gda.DataHandler get_data_handler_g_type (Gda.Connection? cnc, GLib.Type for_type); [NoWrapper] public virtual unowned string get_database (Gda.Connection cnc); [NoWrapper] public virtual unowned string get_def_dbms_type (Gda.Connection cnc, GLib.Type g_type); public unowned string get_default_dbms_type (Gda.Connection? cnc, GLib.Type type); public virtual unowned string get_name (); public virtual unowned string get_server_version (Gda.Connection cnc); public virtual unowned string get_version (); [NoWrapper] public virtual bool handle_async (Gda.Connection cnc) throws GLib.Error; public void handler_declare (Gda.DataHandler dh, Gda.Connection cnc, GLib.Type g_type, string dbms_type); public unowned Gda.DataHandler handler_find (Gda.Connection? cnc, GLib.Type g_type, string? dbms_type); [NoWrapper] public virtual string identifier_quote (Gda.Connection cnc, string id, bool for_meta_store, bool force_quotes); public unowned Gda.SqlParser internal_get_parser (); [NoWrapper] public virtual bool is_busy (Gda.Connection cnc) throws GLib.Error; public static string load_file_contents (string inst_dir, string data_dir, string filename); public bool perform_operation (Gda.Connection? cnc, Gda.ServerOperation op) throws GLib.Error; public bool perform_operation_default (Gda.Connection? cnc, Gda.ServerOperation op) throws GLib.Error; public virtual string render_operation (Gda.Connection? cnc, Gda.ServerOperation op) throws GLib.Error; [NoWrapper] public virtual bool rollback_savepoint (Gda.Connection cnc, string name) throws GLib.Error; [NoWrapper] public virtual bool rollback_transaction (Gda.Connection cnc, string name) throws GLib.Error; [NoWrapper] public virtual bool statement_prepare (Gda.Connection cnc, Gda.Statement stmt) throws GLib.Error; public GLib.Value? string_to_value (Gda.Connection? cnc, string string, GLib.Type preferred_type, string? dbms_type); public virtual bool supports_feature (Gda.Connection? cnc, Gda.ConnectionFeature feature); public virtual bool supports_operation (Gda.Connection? cnc, Gda.ServerOperationType type, Gda.Set? options); public virtual string unescape_string (Gda.Connection? cnc, string str); public string value_to_sql_string (Gda.Connection? cnc, GLib.Value from); } [CCode (cheader_filename = "libgda/libgda.h")] [Compact] public class ServerProviderInfo { } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_set_get_type ()")] public class Set : GLib.Object { public weak GLib.SList groups_list; public weak GLib.SList nodes_list; public weak GLib.SList sources_list; [CCode (has_construct_function = false)] public Set (GLib.SList holders); public bool add_holder (Gda.Holder holder); public Gda.Set copy (); public static GLib.Quark error_quark (); [CCode (has_construct_function = false)] public Set.from_spec_node ([CCode (type = "xmlNodePtr")] Xml.Node* xml_spec) throws GLib.Error; [CCode (has_construct_function = false)] public Set.from_spec_string (string xml_spec) throws GLib.Error; public unowned Gda.SetGroup get_group (Gda.Holder holder); public unowned Gda.Holder get_holder (string holder_id); public unowned GLib.Value? get_holder_value (string holder_id); public unowned Gda.SetNode get_node (Gda.Holder holder); public unowned Gda.Holder get_nth_holder (int pos); public unowned Gda.SetSource get_source (Gda.Holder holder); public unowned Gda.SetSource get_source_for_model (Gda.DataModel model); public bool is_valid () throws GLib.Error; public void merge_with_set (Gda.Set set_to_merge); [CCode (has_construct_function = false)] public Set.read_only (GLib.SList holders); public void remove_holder (Gda.Holder holder); public void replace_source_model (Gda.SetSource source, Gda.DataModel model); [NoAccessorMethod] public string description { owned get; set; } public void* holders { construct; } [NoAccessorMethod] public string id { owned get; set; } [NoAccessorMethod] public string name { owned get; set; } [NoAccessorMethod] public bool validate_changes { get; set; } public virtual signal void holder_attr_changed (Gda.Holder holder, string attr_name, GLib.Value attr_value); public virtual signal void holder_changed (Gda.Holder holder); public virtual signal void holder_type_set (Gda.Holder holder); public virtual signal void public_data_changed (); public virtual signal void source_model_changed (void* source); public virtual signal GLib.Error validate_holder_change (Gda.Holder holder, GLib.Value new_value); public virtual signal GLib.Error validate_set (); } [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_set_group_get_type ()")] [Compact] public class SetGroup { public weak GLib.SList nodes; public weak Gda.SetSource nodes_source; [CCode (has_construct_function = false)] public SetGroup (Gda.SetNode node); public void add_node (Gda.SetNode node); public Gda.SetGroup copy (); public void free (); public int get_n_nodes (); public Gda.SetNode get_node (); public unowned GLib.SList get_nodes (); public Gda.SetSource get_source (); public void set_source (Gda.SetSource source); } [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_set_node_get_type ()")] [Compact] public class SetNode { public weak Gda.Holder holder; public int source_column; public weak Gda.DataModel source_model; [CCode (has_construct_function = false)] public SetNode (Gda.Holder holder); public Gda.SetNode copy (); public void free (); public unowned Gda.DataModel get_data_model (); public unowned Gda.Holder get_holder (); public int get_source_column (); public void set_data_model (Gda.DataModel? model); public void set_holder (Gda.Holder holder); public void set_source_column (int column); } [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_set_source_get_type ()")] [Compact] public class SetSource { public weak Gda.DataModel data_model; public weak GLib.SList nodes; [CCode (has_construct_function = false)] public SetSource (Gda.DataModel model); public void add_node (Gda.SetNode node); public Gda.SetSource copy (); public void free (); public unowned Gda.DataModel get_data_model (); public int get_n_nodes (); public unowned GLib.SList get_nodes (); public void set_data_model (Gda.DataModel model); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_short_get_type ()")] public class Short { [CCode (has_construct_function = false)] protected Short (); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_sql_builder_get_type ()")] public class SqlBuilder : GLib.Object { [CCode (has_construct_function = false)] public SqlBuilder (Gda.SqlStatementType stmt_type); public Gda.SqlBuilderId add_case_v (Gda.SqlBuilderId test_expr, Gda.SqlBuilderId else_expr, [CCode (array_length_cname = "args_size", array_length_pos = 4.1)] Gda.SqlBuilderId[] when_array, [CCode (array_length_cname = "args_size", array_length_pos = 4.1)] Gda.SqlBuilderId[] then_array); public Gda.SqlBuilderId add_cond (Gda.SqlOperatorType op, Gda.SqlBuilderId op1, Gda.SqlBuilderId op2, Gda.SqlBuilderId op3); public Gda.SqlBuilderId add_expr_value (Gda.DataHandler? dh, GLib.Value? value); public Gda.SqlBuilderId add_field_id (string field_name, string? table_name); public void add_field_value_as_gvalue (string field_name, GLib.Value? value); public void add_field_value_id (Gda.SqlBuilderId field_id, Gda.SqlBuilderId value_id); public Gda.SqlBuilderId add_function_v (string func_name, [CCode (array_length_cname = "args_size", array_length_pos = 2.1)] Gda.SqlBuilderId[] args); public Gda.SqlBuilderId add_id (string str); public Gda.SqlBuilderId add_param (string param_name, GLib.Type type, bool nullok); public void compound_add_sub_select_from_builder (Gda.SqlBuilder subselect); public void compound_set_type (Gda.SqlStatementCompoundType compound_type); public static GLib.Quark error_quark (); public Gda.Statement get_statement () throws GLib.Error; public Gda.SqlBuilderId import_expression_from_builder (Gda.SqlBuilder query, Gda.SqlBuilderId expr_id); public void join_add_field (Gda.SqlBuilderId join_id, string field_name); public Gda.SqlBuilderId select_add_field (string field_name, string? table_name, string? alias); public Gda.SqlBuilderId select_add_target (string table_name, string? alias); public Gda.SqlBuilderId select_add_target_id (Gda.SqlBuilderId table_id, string? alias); public void select_group_by (Gda.SqlBuilderId expr_id); public void select_order_by (Gda.SqlBuilderId expr_id, bool asc, string? collation_name); public void select_set_distinct (bool distinct, Gda.SqlBuilderId expr_id); public void select_set_having (Gda.SqlBuilderId cond_id); public void select_set_limit (Gda.SqlBuilderId limit_count_expr_id, Gda.SqlBuilderId limit_offset_expr_id); public void set_table (string table_name); public void set_where (Gda.SqlBuilderId cond_id); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_sql_parser_get_type ()")] public class SqlParser : GLib.Object, Gda.Lockable { [CCode (has_construct_function = false)] public SqlParser (); public static GLib.Quark error_quark (); public Gda.Batch parse_file_as_batch (string filename) throws GLib.Error; public Gda.Statement parse_string (string sql, out string remain) throws GLib.Error; public Gda.Batch parse_string_as_batch (string sql, out string remain) throws GLib.Error; public void set_overflow_error (); public void set_syntax_error (); [NoAccessorMethod] public int column_error { get; } [NoAccessorMethod] public bool debug { set; } [NoAccessorMethod] public int line_error { get; } [NoAccessorMethod] public int mode { get; set; } [NoAccessorMethod] public int tokenizer_flavour { get; set; } } [CCode (cheader_filename = "libgda/libgda.h")] [Compact] public class SqlStatement { public void compound_set_type (Gda.SqlStatementCompoundType type); public void compound_take_stmt (Gda.SqlStatement s); } [CCode (cheader_filename = "libgda/libgda.h")] [Compact] public class SqlStatementDelete { } [CCode (cheader_filename = "libgda/libgda.h")] [Compact] public class SqlStatementInsert { } [CCode (cheader_filename = "libgda/libgda.h")] [Compact] public class SqlStatementSelect { } [CCode (cheader_filename = "libgda/libgda.h")] [Compact] public class SqlStatementTransaction { } [CCode (cheader_filename = "libgda/libgda.h")] [Compact] public class SqlStatementUnknown { } [CCode (cheader_filename = "libgda/libgda.h")] [Compact] public class SqlStatementUpdate { } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_statement_get_type ()")] public class Statement : GLib.Object { [CCode (has_construct_function = false)] public Statement (); public bool check_structure () throws GLib.Error; public bool check_validity (Gda.Connection? cnc) throws GLib.Error; public Gda.Statement copy (); public static GLib.Quark error_quark (); public bool get_parameters (out Gda.Set out_params) throws GLib.Error; public Gda.SqlStatementType get_statement_type (); public bool is_useless (); public bool normalize (Gda.Connection cnc) throws GLib.Error; public string serialize (); public string to_sql_extended (Gda.Connection? cnc, Gda.Set? @params, Gda.StatementSqlFlag flags, out GLib.SList params_used) throws GLib.Error; public string to_sql_real (Gda.SqlRenderingContext context) throws GLib.Error; [NoAccessorMethod] public void* structure { get; set; } public virtual signal void checked (Gda.Connection cnc, bool checked); public virtual signal void reset (); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_thread_wrapper_get_type ()")] public class ThreadWrapper : GLib.Object { [CCode (has_construct_function = false)] public ThreadWrapper (); public bool cancel (uint id); public ulong connect_raw (void* instance, string sig_name, bool private_thread, bool private_job, Gda.ThreadWrapperCallback callback); public void disconnect (ulong id); public static GLib.Quark error_quark (); public uint execute_void ([CCode (destroy_notify_pos = 2.1)] owned Gda.ThreadWrapperVoidFunc func, void* arg) throws GLib.Error; public void* fetch_result (bool may_lock, uint exp_id) throws GLib.Error; public unowned GLib.IOChannel get_io_channel (); public int get_waiting_size (); public void iterate (bool may_block); public void steal_signal (ulong id); public void unset_io_channel (); } [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_time_get_type ()")] [Compact] public class Time { public ulong fraction; public ushort hour; public ushort minute; public ushort second; public long timezone; public void change_timezone (long ntz); public static void* copy (void* boxed); public static void free (void* boxed); public bool valid (); } [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_timestamp_get_type ()")] [Compact] public class Timestamp { public ushort day; public ulong fraction; public ushort hour; public ushort minute; public ushort month; public ushort second; public long timezone; public short year; public void change_timezone (long ntz); public static void* copy (void* boxed); public static void free (void* boxed); public bool valid (); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_transaction_status_get_type ()")] public class TransactionStatus : GLib.Object { public weak GLib.List events; public Gda.TransactionIsolation isolation_level; public weak string name; public Gda.TransactionStatusState state; [CCode (has_construct_function = false)] public TransactionStatus (string name); public Gda.TransactionStatus find (string str, Gda.TransactionStatusEvent destev); public Gda.TransactionStatus find_current (Gda.TransactionStatusEvent destev, bool unnamed_only); public void free_events (Gda.TransactionStatusEvent event, bool free_after); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_tree_get_type ()")] public class Tree : GLib.Object { [CCode (has_construct_function = false)] public Tree (); public void add_manager (Gda.TreeManager manager); public void clean (); public void dump (Gda.TreeNode? node, void* stream); public static GLib.Quark error_quark (); public unowned Gda.TreeNode get_node (string tree_path, bool use_names); public unowned Gda.TreeManager get_node_manager (Gda.TreeNode node); public string get_node_path (Gda.TreeNode node); public GLib.SList get_nodes_in_path (string? tree_path, bool use_names); public void set_attribute (string attribute, GLib.Value value, GLib.DestroyNotify destroy); public bool update_all () throws GLib.Error; public bool update_children (Gda.TreeNode? node) throws GLib.Error; public bool update_part (Gda.TreeNode node) throws GLib.Error; [NoAccessorMethod] public bool is_list { get; } public virtual signal void node_changed (Gda.TreeNode node); public virtual signal void node_deleted (string node_path); public virtual signal void node_has_child_toggled (Gda.TreeNode node); public virtual signal void node_inserted (Gda.TreeNode node); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_tree_manager_get_type ()")] public class TreeManager : GLib.Object { [CCode (has_construct_function = false)] protected TreeManager (); public void add_manager (Gda.TreeManager sub); public void add_new_node_attribute (string attribute, GLib.Value? value); public Gda.TreeNode create_node (Gda.TreeNode? parent, string? name); public static GLib.Quark error_quark (); public unowned GLib.SList get_managers (); [NoAccessorMethod] public void* func { get; set construct; } [NoAccessorMethod] public bool recursive { get; set construct; } } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_tree_mgr_columns_get_type ()")] public class TreeMgrColumns : Gda.TreeManager { [CCode (has_construct_function = false, type = "GdaTreeManager*")] public TreeMgrColumns (Gda.Connection cnc, string schema, string table_name); [NoAccessorMethod] public Gda.Connection connection { owned get; construct; } [NoAccessorMethod] public Gda.MetaStore meta_store { owned get; construct; } public string schema { construct; } public string table_name { construct; } } [CCode (cheader_filename = "libgda/libgda.h")] [Compact] public class TreeMgrColumnsPriv { } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_tree_mgr_label_get_type ()")] public class TreeMgrLabel : Gda.TreeManager { [CCode (has_construct_function = false, type = "GdaTreeManager*")] public TreeMgrLabel (string label); public string label { construct; } } [CCode (cheader_filename = "libgda/libgda.h")] [Compact] public class TreeMgrLabelPriv { } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_tree_mgr_ldap_get_type ()")] public class TreeMgrLdap : Gda.TreeManager { [CCode (has_construct_function = false, type = "GdaTreeManager*")] public TreeMgrLdap (Gda.Connection cnc, string? dn); [NoAccessorMethod] public string dn { owned get; construct; } } [CCode (cheader_filename = "libgda/libgda.h")] [Compact] public class TreeMgrLdapPriv { } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_tree_mgr_schemas_get_type ()")] public class TreeMgrSchemas : Gda.TreeManager { [CCode (has_construct_function = false, type = "GdaTreeManager*")] public TreeMgrSchemas (Gda.Connection cnc); [NoAccessorMethod] public Gda.Connection connection { owned get; construct; } [NoAccessorMethod] public Gda.MetaStore meta_store { owned get; construct; } } [CCode (cheader_filename = "libgda/libgda.h")] [Compact] public class TreeMgrSchemasPriv { } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_tree_mgr_select_get_type ()")] public class TreeMgrSelect : Gda.TreeManager { [CCode (has_construct_function = false, type = "GdaTreeManager*")] public TreeMgrSelect (Gda.Connection cnc, Gda.Statement stmt, Gda.Set @params); [NoAccessorMethod] public Gda.Connection connection { owned get; construct; } [NoAccessorMethod] public Gda.Set @params { owned get; construct; } [NoAccessorMethod] public Gda.Statement statement { owned get; construct; } } [CCode (cheader_filename = "libgda/libgda.h")] [Compact] public class TreeMgrSelectPriv { } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_tree_mgr_tables_get_type ()")] public class TreeMgrTables : Gda.TreeManager { [CCode (has_construct_function = false, type = "GdaTreeManager*")] public TreeMgrTables (Gda.Connection cnc, string? schema); [NoAccessorMethod] public Gda.Connection connection { owned get; construct; } [NoAccessorMethod] public Gda.MetaStore meta_store { owned get; construct; } public string schema { construct; } } [CCode (cheader_filename = "libgda/libgda.h")] [Compact] public class TreeMgrTablesPriv { } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_tree_node_get_type ()")] public class TreeNode : GLib.Object { [CCode (has_construct_function = false)] public TreeNode (string? name); [NoWrapper] public virtual void dump_children (string prefix, GLib.StringBuilder in_string); [NoWrapper] public virtual string dump_header (); public static GLib.Quark error_quark (); public unowned GLib.Value? fetch_attribute (string attribute); public unowned Gda.TreeNode get_child_index (int index); public unowned Gda.TreeNode get_child_name (string name); public GLib.SList get_children (); public unowned GLib.Value? get_node_attribute (string attribute); public unowned Gda.TreeNode get_parent (); public void set_node_attribute (string attribute, GLib.Value? value, GLib.DestroyNotify destroy); [NoAccessorMethod] public string name { owned get; set; } public virtual signal void node_changed (Gda.TreeNode node); public virtual signal void node_deleted (string relative_path); public virtual signal void node_has_child_toggled (Gda.TreeNode node); public virtual signal void node_inserted (Gda.TreeNode node); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_ushort_get_type ()")] public class UShort { [CCode (has_construct_function = false)] protected UShort (); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_xa_transaction_get_type ()")] public class XaTransaction : GLib.Object { [CCode (has_construct_function = false)] public XaTransaction (uint32 format, string global_transaction_id); public bool begin () throws GLib.Error; public bool commit (out GLib.SList cnc_to_recover) throws GLib.Error; public bool commit_recovered (out GLib.SList cnc_to_recover) throws GLib.Error; public static GLib.Quark error_quark (); public bool register_connection (Gda.Connection cnc, string branch) throws GLib.Error; public bool rollback () throws GLib.Error; public void unregister_connection (Gda.Connection cnc); [NoAccessorMethod] public uint format_id { get; construct; } [NoAccessorMethod] public string transaction_id { owned get; construct; } } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_handler_get_type ()")] public interface DataHandler : GLib.Object { public abstract bool accepts_g_type (GLib.Type type); public static unowned Gda.DataHandler get_default (GLib.Type for_type); public abstract unowned string get_descr (); public abstract GLib.Value? get_sane_init_value (GLib.Type type); public abstract string get_sql_from_value (GLib.Value? value); public abstract string get_str_from_value (GLib.Value? value); public abstract GLib.Value? get_value_from_sql (string? sql, GLib.Type type); public abstract GLib.Value? get_value_from_str (string? str, GLib.Type type); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_model_get_type ()")] public interface DataModel : GLib.Object { public bool add_data_from_xml_node ([CCode (type = "xmlNodePtr")] Xml.Node* node) throws GLib.Error; [CCode (vfunc_name = "i_append_row")] public abstract int append_row () throws GLib.Error; [CCode (vfunc_name = "i_append_values")] public abstract int append_values (GLib.List? values) throws GLib.Error; public Gda.DataModelArray array_copy_model () throws GLib.Error; public Gda.DataModelArray array_copy_model_ext ([CCode (array_length_cname = "ncols", array_length_pos = 0.5)] int[] cols) throws GLib.Error; [CCode (vfunc_name = "i_create_iter")] public abstract Gda.DataModelIter create_iter (); [CCode (vfunc_name = "i_describe_column")] public abstract unowned Gda.Column describe_column (int col); public void dump (void* to_stream); public string dump_as_string (); public static GLib.Quark error_quark (); public bool export_to_file (Gda.DataModelIOFormat format, string file, [CCode (array_length_cname = "nb_cols", array_length_pos = 3.5)] int[]? cols, [CCode (array_length_cname = "nb_rows", array_length_pos = 4.5)] int[]? rows, Gda.Set options) throws GLib.Error; public string export_to_string (Gda.DataModelIOFormat format, [CCode (array_length_cname = "nb_cols", array_length_pos = 2.5)] int[]? cols, [CCode (array_length_cname = "nb_rows", array_length_pos = 3.5)] int[]? rows, Gda.Set options); public void freeze (); [CCode (vfunc_name = "i_get_access_flags")] public abstract Gda.DataModelAccessFlags get_access_flags (); [CCode (vfunc_name = "i_get_attributes_at")] public abstract Gda.ValueAttribute get_attributes_at (int col, int row); public int get_column_index (string name); public unowned string get_column_name (int col); public unowned string get_column_title (int col); [CCode (array_length = false, array_null_terminated = true, vfunc_name = "i_get_exceptions")] public abstract unowned GLib.Error[] get_exceptions (); [CCode (vfunc_name = "i_get_n_columns")] public abstract int get_n_columns (); [CCode (vfunc_name = "i_get_n_rows")] public abstract int get_n_rows (); [CCode (vfunc_name = "i_get_notify")] public abstract bool get_notify (); [CCode (vfunc_name = "i_find_row")] public abstract int get_row_from_values (GLib.SList values, [CCode (array_length = false)] int[] cols_index); public unowned GLib.Value? get_typed_value_at (int col, int row, GLib.Type expected_type, bool nullok) throws GLib.Error; [CCode (vfunc_name = "i_get_value_at")] public abstract unowned GLib.Value? get_value_at (int col, int row) throws GLib.Error; public bool import_from_file (string file, GLib.HashTable? cols_trans, Gda.Set options) throws GLib.Error; public bool import_from_model (Gda.DataModel from, bool overwrite, GLib.HashTable? cols_trans) throws GLib.Error; public bool import_from_string (string string, GLib.HashTable? cols_trans, Gda.Set options) throws GLib.Error; [CCode (vfunc_name = "i_iter_at_row")] [Version (deprecated = true, deprecated_since = "5.2", replacement = "")] public abstract bool iter_at_row (Gda.DataModelIter iter, int row); [CCode (vfunc_name = "i_iter_next")] [Version (deprecated = true, deprecated_since = "5.2", replacement = "")] public abstract bool iter_next (Gda.DataModelIter iter); [CCode (vfunc_name = "i_iter_prev")] [Version (deprecated = true, deprecated_since = "5.2", replacement = "")] public abstract bool iter_prev (Gda.DataModelIter iter); [CCode (vfunc_name = "i_iter_set_value")] [Version (deprecated = true, deprecated_since = "5.2", replacement = "")] public abstract bool iter_set_value (Gda.DataModelIter iter, int col, GLib.Value value) throws GLib.Error; [CCode (vfunc_name = "i_remove_row")] public abstract bool remove_row (int row) throws GLib.Error; [CCode (vfunc_name = "i_send_hint")] public abstract void send_hint (Gda.DataModelHint hint, GLib.Value? hint_value); public void set_column_name (int col, string name); public void set_column_title (int col, string title); [CCode (vfunc_name = "i_set_notify")] [Version (deprecated = true, deprecated_since = "5.2", replacement = "")] public abstract void set_notify (bool do_notify_changes); [CCode (vfunc_name = "i_set_value_at")] public abstract bool set_value_at (int col, int row, GLib.Value value) throws GLib.Error; [CCode (vfunc_name = "i_set_values")] public abstract bool set_values (int row, GLib.List? values) throws GLib.Error; public void thaw (); public virtual signal void access_changed (); public virtual signal void changed (); [HasEmitter] public virtual signal void reset (); [HasEmitter] public virtual signal void row_inserted (int row); [HasEmitter] public virtual signal void row_removed (int row); [HasEmitter] public virtual signal void row_updated (int row); } [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_lockable_get_type ()")] public interface Lockable : GLib.Object { [NoWrapper] public abstract void i_lock (); [NoWrapper] public abstract bool i_trylock (); [NoWrapper] public abstract void i_unlock (); public void @lock (); public bool trylock (); public void unlock (); } [CCode (cheader_filename = "libgda/libgda.h", has_type_id = false)] public struct Diff { public Gda.DiffType type; public int old_row; public int new_row; public weak GLib.HashTable values; } [CCode (cheader_filename = "libgda/libgda.h", has_type_id = false)] public struct MetaDbObject { public Gda.MetaDbObjectType obj_type; public bool outdated; public weak string obj_catalog; public weak string obj_schema; public weak string obj_name; public weak string obj_short_name; public weak string obj_full_name; public weak string obj_owner; public weak GLib.SList depend_list; [CCode (cname = "extra.meta_table")] public Gda.MetaTable extra_meta_table; [CCode (cname = "extra.meta_view")] public Gda.MetaView extra_meta_view; } [CCode (cheader_filename = "libgda/libgda.h", has_type_id = false)] public struct MetaStoreChange { public Gda.MetaStoreChangeType c_type; public weak string table_name; public weak GLib.HashTable keys; } [CCode (cheader_filename = "libgda/libgda.h", has_type_id = false)] public struct MetaTable { public weak GLib.SList columns; public int pk_cols_array; public int pk_cols_nb; public weak GLib.SList reverse_fk_list; public weak GLib.SList fk_list; } [CCode (cheader_filename = "libgda/libgda.h", has_type_id = false)] public struct MetaTableColumn { public weak string column_name; public weak string column_type; public GLib.Type gtype; public bool pkey; public bool nullok; public weak string default_value; public void foreach_attribute (Gda.AttributesManagerFunc func); public unowned GLib.Value? get_attribute (string attribute); public void set_attribute (string attribute, GLib.Value? value, GLib.DestroyNotify? destroy); } [CCode (cheader_filename = "libgda/libgda.h", has_type_id = false)] public struct MetaTableForeignKey { public Gda.MetaDbObject meta_table; public Gda.MetaDbObject depend_on; public int cols_nb; public int fk_cols_array; public weak string fk_names_array; public int ref_pk_cols_array; public weak string ref_pk_names_array; public weak string fk_name; } [CCode (cheader_filename = "libgda/libgda.h", has_type_id = false)] public struct MetaView { public Gda.MetaTable table; public weak string view_def; public bool is_updatable; } [CCode (cheader_filename = "libgda/libgda.h")] public struct Mutex : GLib.RecMutex { public static void free (Gda.Mutex mutex); public static void @lock (Gda.Mutex mutex); public static bool trylock (Gda.Mutex mutex); public static void unlock (Gda.Mutex mutex); } [CCode (cheader_filename = "libgda/libgda.h", has_type_id = false)] public struct ProviderInfo { public weak string id; public weak string location; public weak string description; public weak Gda.Set dsn_params; public weak Gda.Set auth_params; } [CCode (cheader_filename = "libgda/libgda.h", has_type_id = false)] public struct ServerOperationNode { public Gda.ServerOperationNodeType type; public Gda.ServerOperationNodeStatus status; public weak Gda.Set plist; public weak Gda.DataModel model; public weak Gda.Column column; public weak Gda.Holder param; } [CCode (cheader_filename = "libgda/libgda.h", has_type_id = false)] public struct ServerProviderHandlerInfo { public weak Gda.Connection cnc; public GLib.Type g_type; public weak string dbms_type; } [CCode (cheader_filename = "libgda/libgda.h")] [SimpleType] public struct SqlBuilderId : uint { } [CCode (cheader_filename = "libgda/libgda.h", has_type_id = false)] public struct SqlParserIface { public weak Gda.SqlParser parser; public weak Gda.SqlStatement parsed_statement; } [CCode (cheader_filename = "libgda/libgda.h", has_type_id = false)] public struct SqlRenderingContext { public Gda.StatementSqlFlag flags; public weak Gda.Set @params; public weak GLib.SList params_used; public weak Gda.ServerProvider provider; public weak Gda.Connection cnc; public weak Gda.SqlRenderingValue render_value; } [CCode (cheader_filename = "libgda/libgda.h", has_type_id = false)] public struct ThreadNotification { public Gda.ThreadNotificationType type; public uint job_id; } [CCode (cheader_filename = "libgda/libgda.h", has_type_id = false)] public struct TransactionStatusEvent { public weak Gda.TransactionStatus trans; public Gda.TransactionStatusEventType type; public weak Gda.ConnectionEvent conn_event; [CCode (cname = "pl.svp_name")] public weak string pl_svp_name; [CCode (cname = "pl.sql")] public weak string pl_sql; [CCode (cname = "pl.sub_trans")] public weak Gda.TransactionStatus pl_sub_trans; } [CCode (cheader_filename = "libgda/libgda.h", has_type_id = false)] public struct XaTransactionId { public uint32 format; public ushort gtrid_length; public ushort bqual_length; [CCode (array_length = false, array_null_terminated = true)] public weak char[] data; public string to_string (); } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_BATCH_CONFLICTING_PARAMETER_", has_type_id = false)] public enum BatchError { [CCode (cname = "GDA_BATCH_CONFLICTING_PARAMETER_ERROR")] BATCH_CONFLICTING_PARAMETER_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_CONFIG_", has_type_id = false)] public enum ConfigError { DSN_NOT_FOUND_ERROR, PERMISSION_ERROR, PROVIDER_NOT_FOUND_ERROR, PROVIDER_CREATION_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_CONNECTION_", has_type_id = false)] public enum ConnectionError { DSN_NOT_FOUND_ERROR, PROVIDER_NOT_FOUND_ERROR, PROVIDER_ERROR, NO_CNC_SPEC_ERROR, NO_PROVIDER_SPEC_ERROR, OPEN_ERROR, STATEMENT_TYPE_ERROR, CANT_LOCK_ERROR, TASK_NOT_FOUND_ERROR, UNSUPPORTED_THREADS_ERROR, CLOSED_ERROR, META_DATA_CONTEXT_ERROR, UNSUPPORTED_ASYNC_EXEC_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_CONNECTION_EVENT_CODE_", has_type_id = false)] public enum ConnectionEventCode { CONSTRAINT_VIOLATION, RESTRICT_VIOLATION, NOT_NULL_VIOLATION, FOREIGN_KEY_VIOLATION, UNIQUE_VIOLATION, CHECK_VIOLATION, INSUFFICIENT_PRIVILEGES, UNDEFINED_COLUMN, UNDEFINED_FUNCTION, UNDEFINED_TABLE, DUPLICATE_COLUMN, DUPLICATE_DATABASE, DUPLICATE_FUNCTION, DUPLICATE_SCHEMA, DUPLICATE_TABLE, DUPLICATE_ALIAS, DUPLICATE_OBJECT, SYNTAX_ERROR, UNKNOWN } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_CONNECTION_EVENT_", has_type_id = false)] public enum ConnectionEventType { NOTICE, WARNING, ERROR, COMMAND } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_CONNECTION_FEATURE_", has_type_id = false)] public enum ConnectionFeature { AGGREGATES, BLOBS, INDEXES, INHERITANCE, NAMESPACES, PROCEDURES, SEQUENCES, SQL, TRANSACTIONS, SAVEPOINTS, SAVEPOINTS_REMOVE, TRIGGERS, UPDATABLE_CURSOR, USERS, VIEWS, XA_TRANSACTIONS, MULTI_THREADING, ASYNC_EXEC, LAST } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_CONNECTION_META_", has_type_id = false)] public enum ConnectionMetaType { NAMESPACES, TYPES, TABLES, VIEWS, FIELDS, INDEXES } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_CONNECTION_OPTIONS_", has_type_id = false)] [Flags] public enum ConnectionOptions { NONE, READ_ONLY, SQL_IDENTIFIERS_CASE_SENSITIVE, THREAD_SAFE, THREAD_ISOLATED, AUTO_META_DATA } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_COMPARATOR_", has_type_id = false)] public enum DataComparatorError { MISSING_DATA_MODEL_ERROR, COLUMN_TYPES_MISMATCH_ERROR, MODEL_ACCESS_ERROR, USER_CANCELLED_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_MODEL_ACCESS_", has_type_id = false)] [Flags] public enum DataModelAccessFlags { RANDOM, CURSOR_FORWARD, CURSOR_BACKWARD, CURSOR, INSERT, UPDATE, DELETE, WRITE } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_MODEL_HINT_", has_type_id = false)] public enum DataModelHint { START_BATCH_UPDATE, END_BATCH_UPDATE, REFRESH } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_MODEL_IO_", has_type_id = false)] public enum DataModelIOFormat { DATA_ARRAY_XML, TEXT_SEPARATED, TEXT_TABLE } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_MODEL_ITER_COLUMN_OUT_OF_RANGE_", has_type_id = false)] public enum DataModelIterError { [CCode (cname = "GDA_DATA_MODEL_ITER_COLUMN_OUT_OF_RANGE_ERROR")] DATA_MODEL_ITER_COLUMN_OUT_OF_RANGE_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_PIVOT_", has_type_id = false)] public enum DataPivotAggregate { AVG, COUNT, MAX, MIN, SUM } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_PIVOT_", has_type_id = false)] public enum DataPivotError { INTERNAL_ERROR, SOURCE_MODEL_ERROR, FIELD_FORMAT_ERROR, USAGE_ERROR, OVERFLOW_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_PIVOT_FIELD_", has_type_id = false)] public enum DataPivotFieldType { ROW, COLUMN } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_PROXY_", has_type_id = false)] public enum DataProxyError { COMMIT_ERROR, COMMIT_CANCELLED, READ_ONLY_VALUE, READ_ONLY_ROW, FILTER_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_SELECT_COND_", has_type_id = false)] public enum DataSelectConditionType { PK, ALL_COLUMNS } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_SELECT_", has_type_id = false)] public enum DataSelectError { MODIFICATION_STATEMENT_ERROR, MISSING_MODIFICATION_STATEMENT_ERROR, CONNECTION_ERROR, ACCESS_ERROR, SQL_ERROR, SAFETY_LOCKED_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DIFF_", has_type_id = false)] public enum DiffType { ADD_ROW, REMOVE_ROW, MODIFY_ROW } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_HOLDER_", has_type_id = false)] public enum HolderError { STRING_CONVERSION_ERROR, VALUE_TYPE_ERROR, VALUE_NULL_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_LDAP_SEARCH_", has_type_id = false)] public enum LdapSearchScope { BASE, ONELEVEL, SUBTREE } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_META_DB_", has_type_id = false)] public enum MetaDbObjectType { UNKNOWN, TABLE, VIEW } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_META_FOREIGN_KEY_", has_type_id = false)] public enum MetaForeignKeyPolicy { UNKNOWN, NONE, NO_ACTION, RESTRICT, CASCADE, SET_NULL, SET_DEFAULT } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_META_GRAPH_", has_type_id = false)] [Flags] public enum MetaGraphInfo { [CCode (cname = "GDA_META_GRAPH_COLUMNS")] META_GRAPH_COLUMNS } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_META_SORT_", has_type_id = false)] public enum MetaSortType { ALHAPETICAL, DEPENDENCIES } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_META_STORE_", has_type_id = false)] public enum MetaStoreChangeType { ADD, REMOVE, MODIFY } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_META_STORE_", has_type_id = false)] public enum MetaStoreError { INCORRECT_SCHEMA_ERROR, UNSUPPORTED_PROVIDER_ERROR, INTERNAL_ERROR, META_CONTEXT_ERROR, MODIFY_CONTENTS_ERROR, EXTRACT_SQL_ERROR, ATTRIBUTE_NOT_FOUND_ERROR, ATTRIBUTE_ERROR, SCHEMA_OBJECT_NOT_FOUND_ERROR, SCHEMA_OBJECT_CONFLICT_ERROR, SCHEMA_OBJECT_DESCR_ERROR, TRANSACTION_ALREADY_STARTED_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_META_STRUCT_", has_type_id = false)] public enum MetaStructError { UNKNOWN_OBJECT_ERROR, DUPLICATE_OBJECT_ERROR, INCOHERENCE_ERROR, XML_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_META_STRUCT_FEATURE_", has_type_id = false)] [Flags] public enum MetaStructFeature { NONE, FOREIGN_KEYS, VIEW_DEPENDENCIES, ALL } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SERVER_OPERATION_CREATE_TABLE_", has_type_id = false)] [Flags] public enum ServerOperationCreateTableFlag { NOTHING_FLAG, PKEY_FLAG, NOT_NULL_FLAG, UNIQUE_FLAG, AUTOINC_FLAG, FKEY_FLAG, PKEY_AUTOINC_FLAG } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SERVER_OPERATION_", has_type_id = false)] public enum ServerOperationError { OBJECT_NAME_ERROR, INCORRECT_VALUE_ERROR, XML_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SERVER_OPERATION_STATUS_", has_type_id = false)] public enum ServerOperationNodeStatus { OPTIONAL, REQUIRED, UNKNOWN } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SERVER_OPERATION_NODE_", has_type_id = false)] public enum ServerOperationNodeType { PARAMLIST, DATA_MODEL, PARAM, SEQUENCE, SEQUENCE_ITEM, DATA_MODEL_COLUMN, UNKNOWN } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SERVER_OPERATION_", has_type_id = false)] public enum ServerOperationType { CREATE_DB, DROP_DB, CREATE_TABLE, DROP_TABLE, RENAME_TABLE, ADD_COLUMN, DROP_COLUMN, CREATE_INDEX, DROP_INDEX, CREATE_VIEW, DROP_VIEW, COMMENT_TABLE, COMMENT_COLUMN, CREATE_USER, ALTER_USER, DROP_USER, LAST } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SERVER_PROVIDER_", has_type_id = false)] public enum ServerProviderError { METHOD_NON_IMPLEMENTED_ERROR, PREPARE_STMT_ERROR, EMPTY_STMT_ERROR, MISSING_PARAM_ERROR, STATEMENT_EXEC_ERROR, OPERATION_ERROR, INTERNAL_ERROR, BUSY_ERROR, NON_SUPPORTED_ERROR, SERVER_VERSION_ERROR, DATA_ERROR, DEFAULT_VALUE_HANDLING_ERROR, MISUSE_ERROR, FILE_NOT_FOUND_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SET_", has_type_id = false)] public enum SetError { XML_SPEC_ERROR, HOLDER_NOT_FOUND_ERROR, INVALID_ERROR, READ_ONLY_ERROR, IMPLEMENTATION_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SQL_BUILDER_", has_type_id = false)] public enum SqlBuilderError { WRONG_TYPE_ERROR, MISUSE_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SQL_IDENTIFIERS_", has_type_id = false)] [Flags] public enum SqlIdentifierStyle { LOWER_CASE, UPPER_CASE } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SQL_OPERATOR_TYPE_", has_type_id = false)] public enum SqlOperatorType { AND, OR, EQ, IS, LIKE, BETWEEN, GT, LT, GEQ, LEQ, DIFF, REGEXP, REGEXP_CI, NOT_REGEXP, NOT_REGEXP_CI, SIMILAR, ISNULL, ISNOTNULL, NOT, IN, NOTIN, CONCAT, PLUS, MINUS, STAR, DIV, REM, BITAND, BITOR, BITNOT, ILIKE, NOTLIKE, NOTILIKE } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SQL_PARSER_", has_type_id = false)] public enum SqlParserError { SYNTAX_ERROR, OVERFLOW_ERROR, EMPTY_SQL_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SQL_PARSER_FLAVOUR_", has_type_id = false)] public enum SqlParserFlavour { STANDARD, SQLITE, MYSQL, ORACLE, POSTGRESQL } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SQL_PARSER_MODE_", has_type_id = false)] public enum SqlParserMode { PARSE, DELIMIT } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SQL_SELECT_JOIN_", has_type_id = false)] public enum SqlSelectJoinType { CROSS, NATURAL, INNER, LEFT, RIGHT, FULL; public static unowned string to_string (Gda.SqlSelectJoinType type); } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SQL_STATEMENT_COMPOUND_", has_type_id = false)] public enum SqlStatementCompoundType { UNION, UNION_ALL, INTERSECT, INTERSECT_ALL, EXCEPT, EXCEPT_ALL } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SQL_STATEMENT_", has_type_id = false)] public enum SqlStatementType { SELECT, INSERT, UPDATE, DELETE, COMPOUND, BEGIN, ROLLBACK, COMMIT, SAVEPOINT, ROLLBACK_SAVEPOINT, DELETE_SAVEPOINT, UNKNOWN, NONE } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_STATEMENT_", has_type_id = false)] public enum StatementError { PARSE_ERROR, SYNTAX_ERROR, NO_CNC_ERROR, CNC_CLOSED_ERROR, EXEC_ERROR, PARAM_TYPE_ERROR, PARAM_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_STATEMENT_MODEL_", has_type_id = false)] [Flags] public enum StatementModelUsage { RANDOM_ACCESS, CURSOR_FORWARD, CURSOR_BACKWARD, CURSOR, ALLOW_NOPARAM, OFFLINE } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_STATEMENT_SQL_", has_type_id = false)] [Flags] public enum StatementSqlFlag { PARAMS_AS_VALUES, PRETTY, PARAMS_LONG, PARAMS_SHORT, PARAMS_AS_COLON, PARAMS_AS_DOLLAR, PARAMS_AS_QMARK, PARAMS_AS_UQMARK, TIMEZONE_TO_GMT } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_THREAD_NOTIFICATION_", has_type_id = false)] public enum ThreadNotificationType { JOB, SIGNAL } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_THREAD_WRAPPER_UNKNOWN_", has_type_id = false)] public enum ThreadWrapperError { [CCode (cname = "GDA_THREAD_WRAPPER_UNKNOWN_ERROR")] THREAD_WRAPPER_UNKNOWN_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_TRANSACTION_ISOLATION_", has_type_id = false)] public enum TransactionIsolation { UNKNOWN, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READ, SERIALIZABLE } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_TRANSACTION_STATUS_EVENT_", has_type_id = false)] public enum TransactionStatusEventType { SAVEPOINT, SQL, SUB_TRANSACTION } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_TRANSACTION_STATUS_STATE_", has_type_id = false)] public enum TransactionStatusState { OK, FAILED } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_TREE_UNKNOWN_", has_type_id = false)] public enum TreeError { [CCode (cname = "GDA_TREE_UNKNOWN_ERROR")] TREE_UNKNOWN_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_TREE_MANAGER_UNKNOWN_", has_type_id = false)] public enum TreeManagerError { [CCode (cname = "GDA_TREE_MANAGER_UNKNOWN_ERROR")] TREE_MANAGER_UNKNOWN_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_TREE_NODE_UNKNOWN_", has_type_id = false)] public enum TreeNodeError { [CCode (cname = "GDA_TREE_NODE_UNKNOWN_ERROR")] TREE_NODE_UNKNOWN_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_VALUE_ATTR_", has_type_id = false)] [Flags] public enum ValueAttribute { NONE, IS_NULL, CAN_BE_NULL, IS_DEFAULT, CAN_BE_DEFAULT, IS_UNCHANGED, ACTIONS_SHOWN, DATA_NON_VALID, HAS_VALUE_ORIG, NO_MODIF, UNUSED } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_XA_TRANSACTION_", has_type_id = false)] public enum XaTransactionError { ALREADY_REGISTERED_ERROR, DTP_NOT_SUPPORTED_ERROR, CONNECTION_BRANCH_LENGTH_ERROR } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_MODEL_")] public errordomain DataModelError { ROW_OUT_OF_RANGE_ERROR, COLUMN_OUT_OF_RANGE_ERROR, VALUES_LIST_ERROR, VALUE_TYPE_ERROR, ROW_NOT_FOUND_ERROR, ACCESS_ERROR, FEATURE_NON_SUPPORTED_ERROR, FILE_EXIST_ERROR, XML_FORMAT_ERROR, TRUNCATED_ERROR, OTHER_ERROR; public static GLib.Quark quark (); } [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SQL_")] public errordomain SqlError { STRUCTURE_CONTENTS_ERROR, MALFORMED_IDENTIFIER_ERROR, MISSING_IDENTIFIER_ERROR, VALIDATION_ERROR; public static GLib.Quark quark (); } [CCode (cheader_filename = "libgda/libgda.h", has_target = false)] public delegate void AttributesManagerFunc (string att_name, GLib.Value value, void* data); [CCode (cheader_filename = "libgda/libgda.h", has_target = false)] public delegate void AttributesManagerSignal (GLib.Object obj, string att_name, GLib.Value value, void* data); [CCode (cheader_filename = "libgda/libgda.h", has_target = false)] public delegate void ServerProviderAsyncCallback (Gda.ServerProvider provider, Gda.Connection cnc, uint task_id, bool result_status, GLib.Error error, void* data); [CCode (cheader_filename = "libgda/libgda.h", has_target = false)] public delegate void ServerProviderExecCallback (Gda.ServerProvider provider, Gda.Connection cnc, uint task_id, GLib.Object result_obj, GLib.Error error, void* data); [CCode (cheader_filename = "libgda/libgda.h", has_target = false)] public delegate string SqlRenderingValue (GLib.Value value, Gda.SqlRenderingContext context) throws GLib.Error; [CCode (cheader_filename = "libgda/libgda.h", has_target = false)] public delegate bool SqlReservedKeywordsFunc (string word); [CCode (cheader_filename = "libgda/libgda.h", has_target = false)] public delegate void ThreadWrapperCallback (Gda.ThreadWrapper wrapper, void* instance, string signame, int n_param_values, GLib.Value param_values, void* gda_reserved, void* data); [CCode (cheader_filename = "libgda/libgda.h", has_target = false)] public delegate void ThreadWrapperVoidFunc (void* arg) throws GLib.Error; [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_ATTRIBUTE_AUTO_INCREMENT")] public const string ATTRIBUTE_AUTO_INCREMENT; [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_ATTRIBUTE_DESCRIPTION")] public const string ATTRIBUTE_DESCRIPTION; [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_ATTRIBUTE_IS_DEFAULT")] public const string ATTRIBUTE_IS_DEFAULT; [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_ATTRIBUTE_NAME")] public const string ATTRIBUTE_NAME; [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_ATTRIBUTE_NUMERIC_PRECISION")] public const string ATTRIBUTE_NUMERIC_PRECISION; [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_ATTRIBUTE_NUMERIC_SCALE")] public const string ATTRIBUTE_NUMERIC_SCALE; [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_ATTRIBUTE_TREE_NODE_UNKNOWN_CHILDREN")] public const string ATTRIBUTE_TREE_NODE_UNKNOWN_CHILDREN; [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_EXTRA_AUTO_INCREMENT")] public const string EXTRA_AUTO_INCREMENT; [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_SQLSTATE_GENERAL_ERROR")] public const string SQLSTATE_GENERAL_ERROR; [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_SQLSTATE_NO_ERROR")] public const string SQLSTATE_NO_ERROR; [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_TIMEZONE_INVALID")] public const int TIMEZONE_INVALID; [CCode (cheader_filename = "libgda/libgda.h")] public static string alphanum_to_text (string text); [CCode (array_length = false, array_null_terminated = true, cheader_filename = "libgda/libgda.h")] public static string[] completion_list_get (Gda.Connection cnc, string sql, int start, int end); [CCode (cheader_filename = "libgda/libgda.h")] public static bool compute_dml_statements (Gda.Connection cnc, Gda.Statement select_stmt, bool require_pk, owned Gda.Statement? insert_stmt, owned Gda.Statement? update_stmt, owned Gda.Statement? delete_stmt) throws GLib.Error; [CCode (cheader_filename = "libgda/libgda.h")] public static unowned Gda.DataHandler data_handler_get_default (GLib.Type for_type); [CCode (cheader_filename = "libgda/libgda.h")] public static void dsn_split (string string, string out_dsn, string out_username, string out_password); [CCode (cheader_filename = "libgda/libgda.h")] public static GLib.Type g_type_from_string (string str); [CCode (cheader_filename = "libgda/libgda.h")] public static unowned string g_type_to_string (GLib.Type type); [CCode (cheader_filename = "libgda/libgda.h")] public static bool identifier_equal (string id1, string id2); [CCode (cheader_filename = "libgda/libgda.h")] public static uint identifier_hash (string id); [CCode (cheader_filename = "libgda/libgda.h")] public static void log_disable (); [CCode (cheader_filename = "libgda/libgda.h")] public static void log_enable (); [CCode (cheader_filename = "libgda/libgda.h")] public static bool log_is_enabled (); [CCode (cheader_filename = "libgda/libgda.h")] public static bool parse_formatted_date (GLib.Date gdate, string value, GLib.DateDMY first, GLib.DateDMY second, GLib.DateDMY third, char sep); [CCode (cheader_filename = "libgda/libgda.h")] public static bool parse_formatted_time (Gda.Time timegda, string value, char sep); [CCode (cheader_filename = "libgda/libgda.h")] public static bool parse_formatted_timestamp (Gda.Timestamp timestamp, string value, GLib.DateDMY first, GLib.DateDMY second, GLib.DateDMY third, char sep); [CCode (cheader_filename = "libgda/libgda.h")] public static bool parse_iso8601_date (GLib.Date gdate, string value); [CCode (cheader_filename = "libgda/libgda.h")] public static bool parse_iso8601_time (Gda.Time timegda, string value); [CCode (cheader_filename = "libgda/libgda.h")] public static bool parse_iso8601_timestamp (Gda.Timestamp timestamp, string value); [CCode (cheader_filename = "libgda/libgda.h")] public static bool rewrite_statement_for_null_parameters (Gda.Statement stmt, Gda.Set @params, owned Gda.Statement? out_stmt) throws GLib.Error; [CCode (cheader_filename = "libgda/libgda.h")] public static bool rfc1738_decode (string string); [CCode (cheader_filename = "libgda/libgda.h")] public static string rfc1738_encode (string string); [CCode (cheader_filename = "libgda/libgda.h")] public static Gda.Statement select_alter_select_for_empty (Gda.Statement stmt) throws GLib.Error; [CCode (cheader_filename = "libgda/libgda.h")] public static string sql_identifier_quote (string id, Gda.Connection? cnc, Gda.ServerProvider? prov, bool meta_store_convention, bool force_quotes); [CCode (array_length = false, array_null_terminated = true, cheader_filename = "libgda/libgda.h")] public static string[] sql_identifier_split (string id); [CCode (cheader_filename = "libgda/libgda.h")] public static Gda.SqlOperatorType sql_operation_operator_from_string (string op); [CCode (cheader_filename = "libgda/libgda.h")] public static unowned string sql_operation_operator_to_string (Gda.SqlOperatorType op); [CCode (cheader_filename = "libgda/libgda.h")] public static Gda.Binary string_to_binary (string? str); [CCode (cheader_filename = "libgda/libgda.h")] public static Gda.Blob string_to_blob (string str); [CCode (cheader_filename = "libgda/libgda.h")] public static string text_to_alphanum (string text); [CCode (cheader_filename = "libgda/libgda.h")] public static bool utility_check_data_model_v (Gda.DataModel model, [CCode (array_length_cname = "nbcols", array_length_pos = 1.5)] GLib.Type[] types); [CCode (cheader_filename = "libgda/libgda.h")] public static bool utility_data_model_dump_data_to_xml (Gda.DataModel model, [CCode (type = "xmlNodePtr")] Xml.Node* parent, [CCode (array_length_cname = "nb_cols", array_length_pos = 3.5)] int[]? cols, [CCode (array_length_cname = "nb_rows", array_length_pos = 4.5)] int[]? rows, bool use_col_ids); [CCode (cheader_filename = "libgda/libgda.h")] public static unowned string utility_data_model_find_column_description (Gda.DataSelect model, string field_name); [CCode (cheader_filename = "libgda/libgda.h")] public static bool utility_holder_load_attributes (Gda.Holder holder, [CCode (type = "xmlNodePtr")] Xml.Node* node, GLib.SList sources) throws GLib.Error; [CCode (cheader_filename = "libgda/libgda.h")] public static int value_compare (GLib.Value value1, GLib.Value value2); [CCode (cheader_filename = "libgda/libgda.h")] public static int value_differ (GLib.Value value1, GLib.Value value2); [CCode (cheader_filename = "libgda/libgda.h")] public static string value_stringify (GLib.Value value); } sequeler-0.8.0/vapi/libsecret-1.vapi000066400000000000000000000122161367531117400173100ustar00rootroot00000000000000/* libsecret-1.vapi generated by vapigen-0.18 and hand-edited to add SCHEMA_COMPAT_NETWORK */ [CCode (cprefix = "Secret", gir_namespace = "Secret", gir_version = "1", lower_case_cprefix = "secret_")] namespace Secret { [CCode (cheader_filename = "libsecret/secret.h", cname = "SECRET_SCHEMA_COMPAT_NETWORK")] public Secret.Schema SCHEMA_COMPAT_NETWORK; [CCode (cheader_filename = "libsecret/secret.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "secret_schema_get_type ()")] [Compact] public class Schema { [CCode (array_length = false, array_null_terminated = true)] public weak Secret.SchemaAttribute[] attributes; public Secret.SchemaFlags flags; public weak string name; [CCode (has_construct_function = false)] public Schema (string name, Secret.SchemaFlags flags, ...); [CCode (cname = "secret_schema_newv", has_construct_function = false)] public Schema.newv (string name, Secret.SchemaFlags flags, GLib.HashTable attribute_names_and_types); public Secret.Schema @ref (); public void unref (); } [CCode (cheader_filename = "libsecret/secret.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "secret_schema_attribute_get_type ()")] [Compact] public class SchemaAttribute { public weak string name; public Secret.SchemaAttributeType type; } [CCode (cheader_filename = "libsecret/secret.h", cprefix = "SECRET_ERROR_", has_type_id = false)] public enum Error { PROTOCOL, IS_LOCKED, NO_SUCH_OBJECT, ALREADY_EXISTS; public static GLib.Quark get_quark (); } [CCode (cheader_filename = "libsecret/secret.h", cprefix = "SECRET_SCHEMA_ATTRIBUTE_", has_type_id = false)] public enum SchemaAttributeType { STRING, INTEGER, BOOLEAN } [CCode (cheader_filename = "libsecret/secret.h", cprefix = "SECRET_SCHEMA_", has_type_id = false)] [Flags] public enum SchemaFlags { NONE, DONT_MATCH_NAME } [CCode (cheader_filename = "libsecret/secret.h", cname = "SECRET_COLLECTION_DEFAULT")] public const string COLLECTION_DEFAULT; [CCode (cheader_filename = "libsecret/secret.h", cname = "SECRET_COLLECTION_SESSION")] public const string COLLECTION_SESSION; [CCode (cheader_filename = "libsecret/secret.h")] public static GLib.HashTable attributes_build (Secret.Schema schema, ...); [CCode (cheader_filename = "libsecret/secret.h")] public static GLib.HashTable attributes_buildv (Secret.Schema schema, va_list va); [CCode (cheader_filename = "libsecret/secret.h")] public static async bool password_clear (Secret.Schema schema, GLib.Cancellable? cancellable, ...) throws GLib.Error; [CCode (cheader_filename = "libsecret/secret.h")] public static bool password_clear_sync (Secret.Schema schema, GLib.Cancellable? cancellable = null, ...) throws GLib.Error; [CCode (cheader_filename = "libsecret/secret.h", finish_name = "secret_password_clear_finish")] public static async bool password_clearv (Secret.Schema schema, GLib.HashTable attributes, GLib.Cancellable? cancellable) throws GLib.Error; [CCode (cheader_filename = "libsecret/secret.h")] public static bool password_clearv_sync (Secret.Schema schema, GLib.HashTable attributes, GLib.Cancellable? cancellable = null) throws GLib.Error; [CCode (cheader_filename = "libsecret/secret.h")] public static async string password_lookup (Secret.Schema schema, GLib.Cancellable? cancellable, ...) throws GLib.Error; [CCode (cheader_filename = "libsecret/secret.h")] public static string password_lookup_sync (Secret.Schema schema, GLib.Cancellable? cancellable = null, ...) throws GLib.Error; [CCode (cheader_filename = "libsecret/secret.h", finish_name = "secret_password_lookup_finish")] public static async string password_lookupv (Secret.Schema schema, GLib.HashTable attributes, GLib.Cancellable? cancellable) throws GLib.Error; [CCode (cheader_filename = "libsecret/secret.h")] public static string password_lookupv_sync (Secret.Schema schema, GLib.HashTable attributes, GLib.Cancellable? cancellable = null) throws GLib.Error; [CCode (cheader_filename = "libsecret/secret.h")] public static async bool password_store (Secret.Schema schema, string? collection, string label, string password, GLib.Cancellable? cancellable, ...) throws GLib.Error; [CCode (cheader_filename = "libsecret/secret.h")] public static bool password_store_sync (Secret.Schema schema, string? collection, string label, string password, GLib.Cancellable? cancellable = null, ...) throws GLib.Error; [CCode (cheader_filename = "libsecret/secret.h", finish_name = "secret_password_store_finish")] public static async bool password_storev (Secret.Schema schema, GLib.HashTable attributes, string? collection, string label, string password, GLib.Cancellable? cancellable) throws GLib.Error; [CCode (cheader_filename = "libsecret/secret.h")] public static bool password_storev_sync (Secret.Schema schema, GLib.HashTable attributes, string? collection, string label, string password, GLib.Cancellable? cancellable = null) throws GLib.Error; [CCode (cheader_filename = "libsecret/secret.h")] public static void password_wipe (string? password); } sequeler-0.8.0/vapi/libssh2.vapi000066400000000000000000001656161367531117400165610ustar00rootroot00000000000000[CCode (cheader_filename = "libssh2.h>\ntypedef LIBSSH2_USERAUTH_PUBLICKEY_SIGN_FUNC((*libssh2_userauth_publickey_sign_delegate));\ntypedef LIBSSH2_IGNORE_FUNC((*libssh2_ignore_delegate));\ntypedef LIBSSH2_DEBUG_FUNC((*libssh2_debug_delegate));\ntypedef LIBSSH2_DISCONNECT_FUNC((*libssh2_disconnect_delegate));\ntypedef LIBSSH2_PASSWD_CHANGEREQ_FUNC((*libssh2_passwd_changereq_delegate));\ntypedef LIBSSH2_MACERROR_FUNC((*libssh2_macerror_delegate));\ntypedef LIBSSH2_X11_OPEN_FUNC((*libssh2_x11_open_delegate));\ntypedef LIBSSH2_USERAUTH_KBDINT_RESPONSE_FUNC((*libssh2_userauth_kbdint_response_delegate));\ntypedef LIBSSH2_RECV_FUNC((*libssh2_recv_func_delegate));\ntypedef LIBSSH2_SEND_FUNC((*libssh2_send_func_delegate));\n#include { [CCode (cname = "libssh2_session_init_ex", simple_generics = true)] private static Session _create (void* alloc, void* free, void* realloc, void* user_data); public static Session create (T user_data = null) { return _create((void*) GLib.try_malloc, (void*) GLib.free, (void*) GLib.try_realloc, user_data); } public bool authenticated { [CCode (cname = "libssh2_userauth_authenticated")] get; } /** * The banner that will be sent to the remote host when the SSH session is started. * * This is optional; a banner corresponding to the protocol and libssh2 version will be sent by default. */ public string banner { [CCode (cname = "libssh2_session_banner_set")] set; [CCode (cname = "libssh2_session_banner_get")] get; } /** * The directions that socket should wait for before calling libssh2 function again */ public Direction block_directions { [CCode (cname = "libssh2_session_block_directions")] get; } public bool blocking { [CCode (cname = "libssh2_session_set_blocking")] set; [CCode (cname = "libssh2_session_get_blocking")] get; } public Error last_error { [CCode (cname = "libssh2_session_last_errno")] get; } public long timeout { [CCode (cname = "libssh2_session_set_timeout")] set; [CCode (cname = "libssh2_session_get_timeout")] get; } public unowned T userdata { get { return *access_abstract (); } set { *access_abstract () = value; } } [CCode (cname = "libssh2_hostkey_hash", array_length = false)] private unowned uint8[] _get_hostkey_hash (HashType type); [CCode (cname = "libssh2_session_callback_set", simple_generics = true)] private S _set_callback (CallbackType cbtype, S callback); /** * Return a pointer to where the abstract pointer provided is stored. * * By providing a doubly de-referenced pointer, the internal storage of the session instance may be modified in place. * @see userdata */ [CCode (cname = "libssh2_session_abstract", simple_generics = true)] public T * access_abstract (); /** * Authenticate a session with username and password * @see auth_password_ex */ [CCode (cname = "libssh2_userauth_password")] public Error auth_password (string username, string password); /** * Authenticate a session with username and password * * Attempt basic password authentication. Note that many SSH servers which appear to support ordinary password authentication actually have it disabled and use Keyboard Interactive authentication (routed via PAM or another authentication backed) instead. * @param username Name of user to attempt plain password authentication for. * @param password Password to use for authenticating username. * @param passwd_change_cb If the host accepts authentication but requests that the password be changed, this callback will be issued. If no callback is defined, but server required password change, authentication will fail. */ [CCode (cname = "libssh2_userauth_password_ex")] public Error auth_password_ex ([CCode (array_length_type = "unsigned int")] uint8[] username, [CCode (array_length_type = "unsigned int")] uint8[] password, ChangePasswdHandler? passwd_change_cb = null); /** * Authenticate using a callback function */ [CCode (cname = "libssh2_userauth_publickey")] public Error auth_publickey (string username, [CCode (array_length_type = "size_t")] uint8[] pubkeydata, PublicKeySignFunc sign_func); /** * Authenticate a session with a public key, read from a file * @see auth_publickey_from_file_ex */ [CCode (cname = "libssh2_userauth_publickey_fromfile")] public Error auth_publickey_from_file (string username, string publickey, string privatekey, string? passphrase); /** * Authenticate a session with a public key, read from a file * * Attempt public key authentication using a PEM encoded private key file stored on disk * @param username Remote user name to authenticate as. * @param publickey Path and name of public key file. (e.g., /etc/ssh/hostkey.pub) * @param privatekey Path and name of private key file. (e.g., /etc/ssh/hostkey) * @param passphrase Passphrase to use when decoding private key file. */ [CCode (cname = "libssh2_userauth_publickey_fromfile_ex")] public Error auth_publickey_from_file_ex ([CCode (array_length_type = "unsigned int")] uint8[] username, string publickey, string privatekey, string? passphrase); [CCode (cname = "libssh2_userauth_hostbased_fromfile")] public Error auth_host_based_from_file (string username, string publickey, string privatekey, string? passphrase, string hostname, string local_user_name); [CCode (cname = "libssh2_userauth_hostbased_fromfile_ex")] public Error auth_host_based_from_file_ex ([CCode (array_length_type = "unsigned int")] uint8[] username, string publickey, string privatekey, string? passphrase, [CCode (array_length_type = "unsigned int")] uint8[] hostname, [CCode (array_length_type = "unsigned int")] uint8[] local_user_name); /** * Authenticate a session using a challenge-response authentication * @see auth_keyboard_interactive_ex */ [CCode (cname = "libssh2_userauth_keyboard_interactive")] public Error auth_keyboard_interactive (string username, KeyboardInteractiveHandler reponse_callback); /** * Authenticate a session using a challenge-response authentication * * Note that many SSH servers will always issue single "password" challenge, requesting actual password as response, but it is not required by the protocol, and various authentication schemes, such as smartcard authentication may use keyboard-interactive authentication type too. * @param username Name of user to attempt plain password authentication for. * @param response_callback As authentication proceeds, host issues several (1 or more) challenges and requires responses. This callback will be called at this moment. Callback is responsible to obtain responses for the challenges, fill the provided data structure and then return control. Responses will be sent to the host. */ [CCode (cname = "libssh2_userauth_keyboard_interactive_ex")] public Error auth_keyboard_interactive_ex ([CCode (array_length_type = "unsigned int")] uint8[] username, KeyboardInteractiveHandler response_callback); [CCode (cname = "libssh2_agent_init")] public Agent? create_agent (); /** * Tunnel a TCP/IP connection through the SSH transport via the remote host to a third party. * * Communication from the client to the SSH server remains encrypted, communication from the server to the 3rd party host travels in cleartext. * @param host Third party host to connect to using the SSH host as a proxy. * @param port Port on third party host to connect to. * @param shost Host to tell the SSH server the connection originated on. * @param sport Port to tell the SSH server the connection originated from. */ [CCode (cname = "libssh2_channel_direct_tcpip_ex")] public Channel? direct_tcpip (string host, int port, string shost = "127.0.0.1", int sport = 22); /** * Disconnect by application. * @see disconnect_ex */ [CCode (cname = "libssh2_session_disconnect")] public Error disconnect (string description); /** * Send a disconnect message to the remote host associated with session, along with a reason symbol and a verbose description. * * @param description Human readable reason for disconnection. * @param lang Localization string describing the langauge/encoding of the description provided. */ [CCode (cname = "libssh2_session_disconnect_ex")] public Error disconnect_ex (Disconnect reason, string description, string lang); /** * Instruct the remote SSH server to begin listening for inbound TCP/IP connections. * @see forward_listen_ex */ [CCode (cname = "libssh2_channel_forward_listen")] public Listener? forward_listen (int port); /** * Instruct the remote SSH server to begin listening for inbound TCP/IP connections. * * New connections will be queued by the library until accepted. * @param host specific address to bind to on the remote host. Binding to 0.0.0.0 (default when null) will bind to all available addresses. * @param port port to bind to on the remote host. When 0 is passed, the remote host will select the first available dynamic port. * @param bound_port Populated with the actual port bound on the remote host. Useful when requesting dynamic port numbers. * @param queue_maxsize Maximum number of pending connections to queue before rejecting further attempts. */ [CCode (cname = "libssh2_channel_forward_listen_ex")] public Listener? forward_listen_ex (string? host, int port, out int bound_port, int queue_maxsize = 16); [CCode (cname = "libssh2_knownhost_init")] public KnownHosts? get_known_hosts (); /** * Determine the most recent error condition and its cause. */ [CCode (cname = "libssh2_session_last_error")] public Error get_last_error (out char[] errmsg, bool want_buf = true); /** * Returns the computed digest of the remote system's hostkey. The length of the returned string is hash-type specific (e.g., 16 bytes for MD5, 20 bytes for SHA1). */ public unowned uint8[]? get_host_key_hash (HashType type) { unowned uint8[]? hash = _get_hostkey_hash (type); if (hash == null) { return null; } switch (type) { case HashType.SHA1 : hash.length = 20; break; case HashType.MD5 : hash.length = 16; break; } return hash; } [CCode (cname = "libssh2_session_hostkey", array_length_type = "size_t", array_length_pos = 0.1)] public unowned uint8[] get_host_key (out KeyType type); /** * Returns the actual method negotiated for a particular transport parameter. * @return Negotiated method or null if the session has not yet been started. */ [CCode (cname = "libssh2_session_methods")] public unowned string get_methods (MethodType method_type); [CCode (cname = "libssh2_publickey_init")] public PublicKey? get_public_key (); [CCode (cname = "libssh2_sftp_init")] public SFTP? get_sftp (); [CCode (cname = "libssh2_session_supported_algs")] private int _supported_algs (MethodType method_type, out string[]? algs); public Error get_supported_algs (MethodType method_type, out string[]? algs) { var result = _supported_algs (method_type, out algs); if (result < 1) { return (Error) result; } else { ((!)algs).length = result; return Error.NONE; } } [CCode (cname = "libssh2_session_handshake")] public Error handshake (int sock); /** * List supported authentication methods * * Send a SSH_USERAUTH_NONE request to the remote host. Unless the remote host is configured to accept none as a viable authentication scheme (unlikely), it will return SSH_USERAUTH_FAILURE along with a listing of what authentication schemes it does support. In the unlikely event that none authentication succeeds, this method with return null. This case may be distinguished from a failing case by examining {@link authenticated} * @param username Username which will be used while authenticating. Note that most server implementations do not permit attempting authentication with different usernames between requests. Therefore this must be the same username you will use on later userauth calls. * @return On success a comma delimited list of supported authentication schemes. */ [CCode (cname = "libssh2_userauth_list")] public unowned string list_authentication ([CCode (array_length_type = "unsigned int")] uint8[] username); /** * Establish a generic session channel * @param channel_type Channel type to open. Typically one of session, directtcpip, or tcpipforward. The SSH2 protocol allowed for additional types including local, custom channel types. * @param window_size Maximum amount of unacknowledged data remote host is allowed to send before receiving an SSH_MSG_CHANNEL_WINDOW_ADJUST packet. * @param packet_size Maximum number of bytes remote host is allowed to send in a single SSH_MSG_CHANNEL_DATA or SSG_MSG_CHANNEL_EXTENDED_DATA packet. * @param message Additional data as required by the selected channel_type. * @see open_session * @see direct_tcpip * @see forward_listen */ [CCode (cname = "libssh2_channel_open_ex")] public Channel? open ([CCode (array_length_type = "unsigned int")] uint8[] channel_type, uint window_size = Channel.WINDOW_DEFAULT, uint packet_size = Channel.PACKET_DEFAULT, [CCode (array_length_type = "unsigned int")] uint8[]? message = null); [CCode (cname = "libssh2_channel_open_session")] public Channel? open_channel (); [CCode (cname = "libssh2_scp_recv")] public Channel? scp_recv (string path, out Posix.Stat sb); [CCode (cname = "libssh2_scp_send64")] public Channel? scp_send (string path, Posix.mode_t mode, int64 size, time_t mtime, time_t atime); /** * Send a keepalive message if needed. * * @param seconds_to_next indicates how many seconds you can sleep after * this call before you need to call it again. */ [CCode (cname = "libssh2_keepalive_send")] public Error send_keep_alive (out int seconds_to_next); /** * Set a handler when a SSH_MSG_DEBUG message is received * @param callback the handler, or null to ignore this message * @return the previous callback handler, if there was one. */ public DebugHandler? set_debug_handler (DebugHandler? callback) { return _set_callback? > (CallbackType.DEBUG, callback); } /** * Set a handler when a SSH_MSG_DISCONNECT message is received * @param callback the handler, or null to ignore this message * @return the previous callback handler, if there was one. */ public DisconnectHandler? set_disconnect_handler (DisconnectHandler? callback) { return _set_callback? > (CallbackType.DISCONNECT, callback); } [CCode (cname = "libssh2_session_flag")] public Error set_flag (Option option, bool @value); /** * Set a handler when a SSH_MSG_IGNORE message is received * @param callback the handler, or null to ignore this message * @return the previous callback handler, if there was one. */ public IgnoreHandler? set_ignore_handler (IgnoreHandler? callback) { return _set_callback? > (CallbackType.IGNORE, callback); } /** * Set how often keepalive messages should be sent. * * Note that non-blocking applications are responsible for sending the * keep-alive messages using {@link send_keep_alive}. * * @param want_reply indicates whether the keepalive messages should * request a response from the server. * @param interval is number of seconds that can pass without any I/O, use * 0 (the default) to disable keepalives. To avoid some busy-loop * corner-cases, if you specify an interval of 1 it will be treated as 2. */ [CCode (cname = "libssh2_keepalive_config")] public void set_keep_alive (bool want_reply, uint interval); /** * Set a handler when a mismatched MAC has been detected in the transport layer. * @param callback the handler, or null to ignore this message * @return the previous callback handler, if there was one. */ public MACErrorHandler? set_mac_error_handler (MACErrorHandler? callback) { return _set_callback? > (CallbackType.MACERROR, callback); } public SendHandler? set_send_handler (SendHandler? callback) { return _set_callback? > (CallbackType.SEND, callback); } public RecvHandler? set_recv_handler (RecvHandler? callback) { return _set_callback? > (CallbackType.RECV, callback); } /** * Set preferred methods to be negotiated. These preferrences must be set prior to calling {@link handshake} as they are used during the protocol initiation phase. * @param prefs Comma-delimited list of preferred methods to use with the most preferred listed first and the least preferred listed last. If a method is listed which is not supported by libssh2 it will be ignored and not sent to the remote host during protocol negotiation. */ [CCode (cname = "libssh2_session_method_pref")] public Error set_method_pref (MethodType method, string prefs); /** * Enables tracing. * * This has no function in builds that aren't built with debug enabled */ [CCode (cname = "libssh2_trace")] public Error set_trace (Trace trace); [CCode (cname = "libssh2_trace_sethandler", simple_generics = true)] public Error set_trace_handler ([CCode (target_pos = 0.1)] TraceFunc handler); /** * Set a handler when an X11 connection has been accepted * @param callback the handler, or null to ignore this message * @return the previous callback handler, if there was one. */ public X11Handler? set_x_handler (X11Handler? callback) { return _set_callback? > (CallbackType.X11, callback); } [CCode (cname = "int", cprefix = "LIBSSH2_CALLBACK_")] private enum CallbackType { IGNORE, DEBUG, DISCONNECT, MACERROR, X11, SEND, RECV } [CCode (cname = "libssh2_passwd_changereq_delegate", simple_generics = true, has_target = false)] public delegate void ChangePasswdHandler (Session session, out uint8[]? newpw, ref T user_data); [CCode (cname = "libssh2_debug_delegate", simple_generics = true, has_target = false)] public delegate void DebugHandler (Session session, bool always_display, uint8[] message, uint8[] language, ref T user_data); [CCode (cname = "libssh2_disconnect_delegate", simple_generics = true, has_target = false)] public delegate void DisconnectHandler (Session session, Disconnect reason, uint8[] message, uint8[] language, ref T user_data); [CCode (cname = "libssh2_ignore_delegate", simple_generics = true, has_target = false)] public delegate void IgnoreHandler (Session session, uint8[] message, ref T user_data); [CCode (cname = "libssh2_userauth_publickey_sign_delegate", simple_generics = true)] public delegate Error PublicKeySignFunc (Session session, [CCode (array_length_type = "size_t")] out uint8[] sig, [CCode (array_length_type = "size_t")] uint8[] data); [CCode (cname = "libssh2_userauth_kbdint_response_delegate", simple_generics = true, has_target = false)] public delegate void KeyboardInteractiveHandler ([CCode (array_length_type = "int")] uint8[] name, [CCode (array_length_type = "int")] uint8[] instruction, [CCode (array_length_pos = 2.1)] keyboard_prompt prompts, [CCode (array_length = false)] keyboard_response responses, ref T user_data); [CCode (cname = "libssh2_recv_func_delegate", simple_generics = true, has_target = false)] public delegate ssize_t RecvHandler (int socket, [CCode (array_length_type = "size_t")] uint8[] buffer, int flags, ref T user_data); [CCode (cname = "libssh2_send_func_delegate", simple_generics = true, has_target = false)] public delegate ssize_t SendHandler (int socket, [CCode (array_length_type = "size_t")] uint8[] buffer, int flags, ref T user_data); /** * Handler for mismatched MAC packets in transport layer. * @return true to discard. If false, the packet will be accepted nonetheless. */ [CCode (cname = "libssh2_macerror_delegate", simple_generics = true, has_target = false)] public delegate bool MACErrorHandler (Session session, uint8[] packet, ref T user_data); [CCode (cname = "libssh2_x11_open_delegate", simple_generics = true, has_target = false)] public delegate void X11Handler (Session session, Channel channel, string host, int port, ref T user_data); } [CCode (cname = "LIBSSH2_SFTP", free_function = "libssh2_sftp_shutdown", cheader_filename = "libssh2_sftp.h")] [Compact] public class SFTP { [CCode (cname = "LIBSSH2_SFTP_PACKET_MAXLEN", cheader_filename = "libssh2_sftp.h")] public const int PACKET_MAXLEN; /** * The last error code produced by the SFTP layer. * * Note that this only returns a sensible error code if libssh2 returned * {@link Error.SFTP_PROTOCOL} in a previous call. */ public SftpError last_error { [CCode (cname = "libssh2_sftp_last_error")] get; } /** * Get status of a link */ [CCode (cname = "libssh2_sftp_lstat")] public Error lstat (string path, out sftp_attributes attrs); /** * Create a directory on the remote file system * @param path full path of the new directory to create. Note that the new directory's parents must all exist priot to making this call. * @param mode directory creation mode (e.g. 0755). */ [CCode (cname = "libssh2_sftp_mkdir_ex")] public Error mkdir (string path, long mode); /** * Open filehandle for a file on SFTP. */ [CCode (cname = "libssh2_sftp_open")] public SftpHandle? open (string filename, Transfer flags, Posix.mode_t mode); /** * Open filehandle for a directory on SFTP. */ [CCode (cname = "libssh2_sftp_opendir")] public SftpHandle? open_dir (string path); /** * Resolve a symbolic link filesystem object to its next target. * * @return the number of bytes it copied to the target buffer (not including the terminating zero) or negative on failure. * @see Error */ [CCode (cname = "libssh2_sftp_readlink")] public int read_link (string path, [CCode (array_length_type = "unsigned int")] uint8[] target); /** * Resolve a complex, relative, or symlinked filepath to its effective target. * * @return the number of bytes it copied to the target buffer (not including the terminating zero) or negative on failure. * @see Error */ [CCode (cname = "libssh2_sftp_realpath")] public int real_path (string path, [CCode (array_length_type = "unsigned int")] uint8[] target); /** * Rename a filesystem object on the remote filesystem. * * Use expected flags. * @see rename_ex */ [CCode (cname = "libssh2_sftp_rename")] public Error rename (string source_file, string dest_file); /** * Rename a filesystem object on the remote filesystem. * * The semantics of this command typically include the ability to move a * filsystem object between folders and/or filesystem mounts. If the * {@link Rename.OVERWRITE} flag is not set and the destfile entry already * exists, the operation will fail. Use of the other two flags indicate * a preference (but not a requirement) for the remote end to perform an * atomic rename operation and/or using native system calls when possible. */ [CCode (cname = "libssh2_sftp_rename_ex")] public Error rename_ex ([CCode (array_length_type = "unsigned int")] uint8[] source_filename, [CCode (array_length_type = "unsigned int")] uint8[] dest_filename, Rename flags); /** * Remove a directory from the remote file system. */ [CCode (cname = "libssh2_sftp_rmdir")] public Error rmdir (string path); /** * Set status of a file */ [CCode (cname = "libssh2_sftp_setstat")] public Error set_stat (string path, sftp_attributes attrs); /** * Get status of a file */ [CCode (cname = "libssh2_sftp_stat")] public Error stat (string path, out sftp_attributes attrs); /** * Get file system statistics */ [CCode (cname = "libssh2_sftp_statvfs")] public Error stat_vfs ([CCode (array_length_type = "size_t")] uint8[] path, out stat_vfs st); /** * Create a symbolic link between two filesystem objects. */ [CCode (cname = "libssh2_sftp_symlink")] public Error symlink (string orig, string linkpath); /** * Unlink (delete) an SFTP file * @see unlink_ex */ [CCode (cname = "libssh2_sftp_unlink")] public Error unlink (string filename); /** * Unlink (delete) an SFTP file */ [CCode (cname = "libssh2_sftp_unlink_ex")] public Error unlink_ex ([CCode (array_length_type = "unsigned int")] uint8[] source_filename); } [CCode (cname = "LIBSSH2_SFTP_HANDLE", free_function = "libssh2_sftp_close_handle", cheader_filename = "libssh2_sftp.h")] [Compact] public class SftpHandle { /** * Reads a block of data. * * This method is modelled after the POSIX read(2) function and uses the * same calling semantics. It will attempt to read as much as possible * however it may not fill all of buffer if the file pointer reaches the * end or if further reads would cause the socket to block. * @return Number of bytes actually populated into buffer, or negative on * failure. It returns {@link Error.AGAIN} when * it would otherwise block.s */ [CCode (cname = "libssh2_sftp_read")] public ssize_t read ([CCode (array_length_size = "size_t")] uint8[] buffer); /** * Reads a block of data and returns file entry information for the * next entry, if any. * @param buffer a buffer to read data into. * @param longentry a buffer to read data into. The format of the is unspecified by SFTP protocol. It MUST be suitable for use in the output of a directory listing command (in fact, the recommended operation for a directory listing command is to simply display this data). * @return number of bytes actually populated into buffer (not counting the terminating zero), or negative on failure. It returns {@link Error.AGAIN} when it would otherwise block. */ [CCode (cname = "libssh2_sftp_readdir_ex")] public int read_dir ([CCode (array_length_size = "size_t")] uint8[] buffer, [CCode (array_length_size = "size_t")] uint8[]? longentry, sftp_attributes attrs); [CCode (cname = "libssh2_sftp_rewind")] public void rewind (); /** * Set the read/write position indicator within a file * * Move the file handle's internal pointer to an arbitrary location. Note * that libssh2 implements file pointers as a localized concept to make * file access appear more POSIX like. No packets are exchanged with the * server during a seek operation. The localized file pointer is simply * used as a convenience offset during read/write operations. */ [CCode (cname = "libssh2_sftp_seek64")] public void seek (uint64 offset); /** * Set attributes on an SFTP file handle */ [CCode (cname = "libssh2_sftp_fsetstat")] public Error set_stat (sftp_attributes attrs); /** * Get attributes on an SFTP file handle */ [CCode (cname = "libssh2_sftp_fstat")] public Error stat (out sftp_attributes attrs); /** * Get file system statistics */ [CCode (cname = "libssh2_sftp_fstatvfs")] public Error stat_vfs (out stat_vfs st); /** * Get the current read/write position indicator for a file */ [CCode (cname = "libssh2_sftp_tell64")] public uint64 tell (); /** * Writes a block of data to the SFTP server. * * This method is modeled after the POSIX write() function and uses the same calling semantics. * * As much as possible of the buffer and put it into a single SFTP * protocol packet. This means that to get maximum performance when sending * larger files, you should try to always pass in at least 32K of data to * this function. * * Starting in libssh2 version 1.2.8, the default behavior of libssh2 is to * create several smaller outgoing pack†ets for all data you pass to this * function and it will return a positive number as soon as the first * packet is acknowledged from the server. * * This has the effect that sometimes more data has been sent off but isn't * acked yet when this function returns, and when this function is * subsequently called again to write more data, libssh2 will immediately * figure out that the data is already received remotely. * * In most normal situation this should not cause any problems, but it * should be noted that if you've once called this method with data and it * returns short, you MUST still assume that the rest of the data might've * been cached so you need to make sure you don't alter that data and * think that the version you have in your next function invoke will be * detected or used. * * The reason for this funny behavior is that SFTP can only send 32K data * in each packet and it gets all packets acked individually. This * means we cannot use a simple serial approach if we want to reach high * performance even on high latency connections. And we want that. * * @return Actual number of bytes written or negative on failure. If this * function returns 0 (zero) it should not be considered an error, but * simply that there was no error but yet no payload data got sent to the * other end. */ [CCode (cname = "libssh2_sftp_write")] public ssize_t write ([CCode (array_length_size = "size_t")] uint8[] buffer); } [CCode (cname = "libssh2_publickey_attribute", has_type_id = false, cheader_filename = "libssh2_publickey.h")] public struct key_attribute { [CCode (cname = "libssh2_publickey_attribute")] public key_attribute (string name, string @value, bool mandatory); [CCode (array_length_cname = "name_len", array_length_type = "unsigned long")] unowned uint8[] name; [CCode (array_length_cname = "value_len", array_length_type = "unsigned long")] unowned uint8[] @value; bool mandatory; } [CCode (cname = "libssh2_publickey_list")] public struct key_list { [CCode (array_length_cname = "name_len", array_length_type = "unsigned long")] uint8[] name; [CCode (array_length_cname = "blob_len", array_length_type = "unsigned long")] uint8[] blob; [CCode (array_length_cname = "num_attrs", array_length_type = "unsigned long")] key_attribute[] attrs; } [CCode (cname = "LIBSSH2_USERAUTH_KBDINT_PROMPT")] public struct keyboard_prompt { [CCode (array_length_cname = "length")] public uint8[] text; public bool echo; } [CCode (cname = "LIBSSH2_USERAUTH_KBDINT_RESPONSE")] public struct keyboard_response { [CCode (array_length_type = "unsigned int", array_length_cname = "length")] public uint8[] text; } [CCode (cname = "LIBSSH2_SFTP_ATTRIBUTES", has_type_id = false, cheader_filename = "libssh2_sftp.h")] public struct sftp_attributes { /** * If flags contains an attribute, then the value in this * struct will be meaningful Otherwise it should be ignored */ Attribute flags; /** * Size of file in bytes */ uint64 filesize; /* * Numerical the user owner */ ulong uid; /* * Numerical the group owner */ ulong gid; Posix.mode_t permissions; /** * Access time of file */ ulong atime; /** * Modification time of file */ ulong mtime; } [CCode (cname = "LIBSSH2_SFTP_STATVFS", has_type_id = false, cheader_filename = "libssh2_sftp.h")] public struct stat_vfs { /** * File system block size */ [CCode (cname = "f_bsize")] uint64 block_size; /** * Fragment size */ [CCode (cname = "f_frsize")] uint64 frg_size; /** * Size of the file system in frg_size units */ [CCode (cname = "f_blocks")] uint64 blocks; /** * Number of free blocks */ [CCode (cname = "f_bfree")] uint64 blocks_free; /** * Number of free blocks for non-root */ [CCode (cname = "f_bavail")] uint64 blocks_avail; /** * Number of inodes */ [CCode (cname = "f_files")] uint64 files; /** * Number of free inodes */ [CCode (cname = "f_ffree")] uint64 inodes_free; /** * Number of free inodes for non-root */ [CCode (cname = "f_favail")] uint64 inodes_avail; /** * File system ID */ [CCode (cname = "f_fsid")] uint64 fs_id; /** * Mount flags */ [CCode (cname = "f_flag")] MountFlags flags; /** * Maximum filename length */ [CCode (cname = "f_namemax")] uint64 name_max; } [CCode (cname = "unsigned long", cprefix = "LIBSSH2_SFTP_ATTR_", cheader_filename = "libssh2_sftp.h")] public enum Attribute { SIZE, UIDGID, PERMISSIONS, ACMODTIME, EXTENDED } [CCode (cname = "int", cprefix = "LIBSSH2_KNOWNHOST_CHECK_", has_type_id = false)] public enum CheckResult { MATCH, MISMATCH, NOTFOUND, FAILURE } [CCode (cname = "int", cprefix = "LIBSSH2_SESSION_BLOCK_", has_type_id = false)] [Flags] public enum Direction { INBOUND, OUTBOUND; public GLib.IOCondition to_condition () { GLib.IOCondition result = 0; if (Direction.INBOUND in this) { result |= GLib.IOCondition.IN; } if (Direction.OUTBOUND in this) { result |= GLib.IOCondition.OUT; } return result; } } /** * Disconnect codes defined by SSH protocol */ [CCode (cname = "int", cprefix = "SSH_DISCONNECT_", has_type_id = false)] public enum Disconnect { HOST_NOT_ALLOWED_TO_CONNECT, PROTOCOL_ERROR, KEY_EXCHANGE_FAILED, RESERVED, MAC_ERROR, COMPRESSION_ERROR, SERVICE_NOT_AVAILABLE, PROTOCOL_VERSION_NOT_SUPPORTED, HOST_KEY_NOT_VERIFIABLE, CONNECTION_LOST, BY_APPLICATION, TOO_MANY_CONNECTIONS, AUTH_CANCELLED_BY_USER, NO_MORE_AUTH_METHODS_AVAILABLE, ILLEGAL_USER_NAME } [CCode (cname = "int", cprefix = "LIBSSH2_ERROR_", has_type_id = false)] public enum Error { NONE, SOCKET_NONE, BANNER_RECV, BANNER_SEND, INVALID_MAC, KEX_FAILURE, ALLOC, SOCKET_SEND, KEY_EXCHANGE_FAILURE, TIMEOUT, HOSTKEY_INIT, HOSTKEY_SIGN, DECRYPT, SOCKET_DISCONNECT, PROTO, PASSWORD_EXPIRED, FILE, METHOD_NONE, AUTHENTICATION_FAILED, PUBLICKEY_UNVERIFIED, CHANNEL_OUTOFORDER, CHANNEL_FAILURE, CHANNEL_REQUEST_DENIED, CHANNEL_UNKNOWN, CHANNEL_WINDOW_EXCEEDED, CHANNEL_PACKET_EXCEEDED, CHANNEL_CLOSED, CHANNEL_EOF_SENT, SCP_PROTOCOL, ZLIB, SOCKET_TIMEOUT, SFTP_PROTOCOL, REQUEST_DENIED, METHOD_NOT_SUPPORTED, INVAL, INVALID_POLL_TYPE, PUBLICKEY_PROTOCOL, [CCode (cname = "LIBSSH2_ERROR_EAGAIN")] AGAIN, BUFFER_TOO_SMALL, BAD_USE, COMPRESS, OUT_OF_BOUNDARY, AGENT_PROTOCOL, SOCKET_RECV, ENCRYPT, BAD_SOCKET, KNOWN_HOSTS } [CCode (cname = "int", cprefix = "LIBSSH2_CHANNEL_EXTENDED_DATA_", has_type_id = false)] public enum ExtendedData { /** * Queue extended data for eventual reading */ NORMAL, /** * Treat extended data and ordinary data the same. Merge all substreams such that calls to {@link Channel.read} will pull from all substreams on a first-in/first-out basis. */ MERGE, /** * Discard all extended data as it arrives. */ IGNORE } [CCode (cname = "int", cprefix = "LIBSSH2_HOSTKEY_HASH_", has_type_id = false)] public enum HashType { MD5, SHA1 } [CCode (cname = "int", cprefix = "LIBSSH2_KNOWNHOST_")] [Flags] public enum HostFormat { TYPE_MASK, /** * ASCII "hostname.domain.tld" */ TYPE_PLAIN, /** * SHA1( ) base64-encoded! */ TYPE_SHA1, /** * Another hash */ TYPE_CUSTOM, KEYENC_MASK, KEYENC_RAW, KEYENC_BASE64, KEY_MASK, KEY_SHIFT, KEY_RSA1, KEY_SSHRSA, KEY_SSHDSS } [CCode (cname = "int", cprefix = "LIBSSH2_INIT_", has_type_id = false)] [Flags] public enum InitFlags { [CCode (cname = "0")] NONE, /** * Do not initialize the crypto library (i.e., OPENSSL_add_cipher_algoritms() for OpenSSL */ NO_CRYPTO } [CCode (cname = "int", cprefix = "LIBSSH2_HOSTKEY_TYPE_", has_type_id = false)] public enum KeyType { UNKNOWN, RSA, DSS; public HostFormat get_format () { switch (this) { case RSA: return HostFormat.KEY_SSHRSA; case DSS: return HostFormat.KEY_SSHDSS; default: return 0; } } } [CCode (cname = "int", cprefix = "SSH_METHOD_", has_type_id = false)] public enum MethodType { KEX, HOSTKEY, CRYPT_CS, CRYPT_SC, MAC_CS, MAC_SC, COMP_CS, COMP_SC, LANG_CS, LANG_SC } [CCode (cname = "unsigned long", cprefix = "LIBSSH2_SFTP_ST_", cheader_filename = "libssh2_sftp.h")] [Flags] public enum MountFlags { RDONLY, NOSUID } [CCode (cname = "int", cprefix = "LIBSSH2_FLAG_", has_type_id = false)] public enum Option { /** * Do not attempt to block SIGPIPEs but will let them trigger from the underlying socket layer. */ SIGPIPE, /** * Before the connection negotiation is performed, try to negotiate compression enabling for this connection. * * By default libssh2 will not attempt to use compression. */ COMPRESS } [CCode (cname = "long", cprefix = "LIBSSH2_SFTP_RENAME_", cheader_filename = "libssh2_sftp.h")] [Flags] public enum Rename { OVERWRITE, ATOMIC, NATIVE } /** * SFTP Status Codes */ [CCode (cname = "unsigned long", has_type_id = false, cprefix = "LIBSSH2_FX_", cheader_filename = "libssh2_sftp.h")] public enum SftpError { OK, EOF, NO_SUCH_FILE, PERMISSION_DENIED, FAILURE, BAD_MESSAGE, NO_CONNECTION, CONNECTION_LOST, OP_UNSUPPORTED, INVALID_HANDLE, NO_SUCH_PATH, FILE_ALREADY_EXISTS, WRITE_PROTECT, NO_MEDIA, NO_SPACE_ON_FILESYSTEM, QUOTA_EXCEEDED, UNKNOWN_PRINCIPAL, LOCK_CONFLICT, DIR_NOT_EMPTY, NOT_A_DIRECTORY, INVALID_FILENAME, LINK_LOOP } [CCode (cname = "int", cprefix = "LIBSSH2_TRACE_", has_type_id = false)] [Flags] public enum Trace { TRANS, KEX, AUTH, CONN, SCP, SFTP, ERROR, PUBLICKEY, SOCKET } /** * File Transfer Flags */ [CCode (cname = "unsigned long", has_type_id = false, cprefix = "LIBSSH2_FXF_", cheader_filename = "libssh2_sftp.h")] [Flags] public enum Transfer { /** * Open the file for reading. */ READ, /** * Open the file for writing. If both this and {@link READ} are specified, the file is opened for both reading and writing. */ WRITE, /** * Force all writes to append data at the end of the file. * * This doesn't have any effect on OpenSSH servers */ APPEND, /** * A new file will be created if one does not already exist (if {@link TRUNC} is specified, the new file will be truncated to zero length if it previously exists) */ CREAT, /** * Forces an existing file with the same name to be truncated to zero length when creating a file by specifying {@link CREAT}. {@link CREAT} MUST also be specified if this flag is used. */ TRUNC, /** * Causes the request to fail if the named file already exists. {@link CREAT} MUST also be specified if this flag is used. */ EXCL } /** * Initialize the libssh2 functions. * * This typically initialize the crypto library. It uses a global state, and * is not thread safe -- you must make sure this function is not called * concurrently. * Returns 0 if succeeded, or a negative value for error. */ [CCode (cname = "libssh2_init")] public Error init (InitFlags flags); /** * Exit the libssh2 functions and free's all memory used internal. */ [CCode (cname = "libssh2_exit")] public void exit (); [CCode (cname = "libssh2_trace_handler_func*", instance_pos = 1.1, simple_generics = true)] public delegate void TraceFunc (Session session, [CCode (array_length_type = "size_t")] uint8[] message); /** * Part of every banner, user specified or not */ [CCode (cname = "LIBSSH2_SSH_BANNER")] public const string BANNER; [CCode (cname = "LIBSSH2_SSH_DEFAULT_BANNER")] public const string DEFAULT_BANNER; [CCode (cname = "LIBSSH2_SSH_DEFAULT_BANNER_WITH_CRLF")] public const string DEFAULT_BANNER_WITH_CRLF; [CCode (cname = "LIBSSH2_TERM_HEIGHT")] public const int TERM_HEIGHT; [CCode (cname = "LIBSSH2_TERM_HEIGHT_PX")] public const int TERM_HEIGHT_PX; [CCode (cname = "LIBSSH2_TERM_WIDTH")] public const int TERM_WIDTH; [CCode (cname = "LIBSSH2_TERM_WIDTH_PX")] public const int TERM_WIDTH_PX; } sequeler-0.8.0/vapi/linux.vapi000066400000000000000000005207311367531117400163430ustar00rootroot00000000000000/* linux.vapi * * Copyright (C) 2009-2015 Michael 'Mickey' Lauer * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ [CCode (cprefix = "", lower_case_cprefix = "")] namespace Linux { /* * Console */ [CCode (cprefix = "", lower_case_cprefix = "")] namespace Console { /* constants */ [CCode (cheader_filename = "linux/kd.h")] public const int GIO_FONT; [CCode (cheader_filename = "linux/kd.h")] public const int PIO_FONT; [CCode (cheader_filename = "linux/kd.h")] public const int GIO_FONTX; [CCode (cheader_filename = "linux/kd.h")] public const int PIO_FONTX; [CCode (cheader_filename = "linux/kd.h")] public const int PIO_FONTRESET; [CCode (cheader_filename = "linux/kd.h")] public const int GIO_CMAP; [CCode (cheader_filename = "linux/kd.h")] public const int PIO_CMAP; [CCode (cheader_filename = "linux/kd.h")] public const int KIOCSOUND; [CCode (cheader_filename = "linux/kd.h")] public const int KDMKTONE; [CCode (cheader_filename = "linux/kd.h")] public const int KDGETLED; [CCode (cheader_filename = "linux/kd.h")] public const int KDSETLED; [CCode (cheader_filename = "linux/kd.h")] public const int KDGKBTYPE; [CCode (cheader_filename = "linux/kd.h")] public const int KB_84; [CCode (cheader_filename = "linux/kd.h")] public const int KB_101; [CCode (cheader_filename = "linux/kd.h")] public const int KB_OTHER; [CCode (cheader_filename = "linux/kd.h")] public const int KDADDIO; [CCode (cheader_filename = "linux/kd.h")] public const int KDDELIO; [CCode (cheader_filename = "linux/kd.h")] public const int KDENABIO; [CCode (cheader_filename = "linux/kd.h")] public const int KDDISABIO; [CCode (cheader_filename = "linux/kd.h")] public const int KDSETMODE; [CCode (cheader_filename = "linux/kd.h")] public const int KDGETMODE; [CCode (cheader_filename = "linux/kd.h")] public const int KDMAPDISP; [CCode (cheader_filename = "linux/kd.h")] public const int KDUNMAPDISP; [CCode (cheader_filename = "linux/kd.h")] public const int E_TABSZ; [CCode (cheader_filename = "linux/kd.h")] public const int GIO_SCRNMAP; [CCode (cheader_filename = "linux/kd.h")] public const int PIO_SCRNMAP; [CCode (cheader_filename = "linux/kd.h")] public const int GIO_UNISCRNMAP; [CCode (cheader_filename = "linux/kd.h")] public const int PIO_UNISCRNMAP; [CCode (cheader_filename = "linux/kd.h")] public const int GIO_UNIMAP; [CCode (cheader_filename = "linux/kd.h")] public const int PIO_UNIMAP; [CCode (cheader_filename = "linux/kd.h")] public const int PIO_UNIMAPCLR; [CCode (cheader_filename = "linux/kd.h")] public const int UNI_DIRECT_BASE; [CCode (cheader_filename = "linux/kd.h")] public const int UNI_DIRECT_MASK; [CCode (cheader_filename = "linux/kd.h")] public const int KDGKBMODE; [CCode (cheader_filename = "linux/kd.h")] public const int KDSKBMODE; [CCode (cheader_filename = "linux/kd.h")] public const int KDGKBMETA; [CCode (cheader_filename = "linux/kd.h")] public const int KDSKBMETA; [CCode (cheader_filename = "linux/kd.h")] public const int KDGKBLED; [CCode (cheader_filename = "linux/kd.h")] public const int KDSKBLED; [CCode (cheader_filename = "linux/kd.h")] public const int K_NORMTAB; [CCode (cheader_filename = "linux/kd.h")] public const int K_SHIFTTAB; [CCode (cheader_filename = "linux/kd.h")] public const int K_ALTTAB; [CCode (cheader_filename = "linux/kd.h")] public const int K_ALTSHIFTTAB; [CCode (cheader_filename = "linux/kd.h")] public const int KDGKBSENT; [CCode (cheader_filename = "linux/kd.h")] public const int KDSKBSENT; [CCode (cheader_filename = "linux/kd.h")] public const int KDGKBDIACR; [CCode (cheader_filename = "linux/kd.h")] public const int KDSKBDIACR; [CCode (cheader_filename = "linux/kd.h")] public const int KDGKBDIACRUC; [CCode (cheader_filename = "linux/kd.h")] public const int KDSKBDIACRUC; [CCode (cheader_filename = "linux/kd.h")] public const int KDGETKEYCODE; [CCode (cheader_filename = "linux/kd.h")] public const int KDSETKEYCODE; [CCode (cheader_filename = "linux/kd.h")] public const int KDSIGACCEPT; [CCode (cheader_filename = "linux/kd.h")] public const int KDKBDREP; [CCode (cheader_filename = "linux/kd.h")] public const int KDFONTOP; [CCode (cheader_filename = "linux/kd.h")] public const int KD_FONT_FLAG_DONT_RECALC; /* enums */ [CCode (cprefix = "KD_FONT_OP_", has_type_id = false, cheader_filename = "linux/kd.h")] public enum FontOperationCode { SET, GET, SET_DEFAULT, COPY } [CCode (cprefix = "K_", has_type_id = false, cheader_filename = "linux/kd.h")] public enum KeyboardMode { RAW, XLATE, MEDIUMRAW, UNICODE } [CCode (cprefix = "K_", has_type_id = false, cheader_filename = "linux/kd.h")] public enum LedMode { SCROLLLOCK, NUMLOCK, CAPSLOCK } [CCode (cprefix = "LED_", has_type_id = false, cheader_filename = "linux/kd.h")] public enum LedType { SCR, NUM, CAP } [CCode (cprefix = "KD_", has_type_id = false, cheader_filename = "linux/kd.h")] public enum TerminalMode { TEXT, GRAPHICS } [CCode (cprefix = "K_", has_type_id = false, cheader_filename = "linux/kd.h")] public enum MetaMode { METABIT, ESCPREFIX } /* structs */ [CCode (cname = "struct kbdiacr", has_type_id = false, cheader_filename = "linux/kd.h")] public struct Diacritic { public uchar diacr; public uchar base; public uchar result; } [CCode (cname = "struct kbdiacrs", has_type_id = false, cheader_filename = "linux/kd.h")] public struct Diacritics { public uint kb_cnt; public Diacritic kbdiacr[256]; } [CCode (cname = "struct kbdiacruc", has_type_id = false, cheader_filename = "linux/kd.h")] public struct Diacruc { public uint diacr; public uint base; public uint result; } [CCode (cname = "struct kbdiacrsuc", has_type_id = false, cheader_filename = "linux/kd.h")] public struct Diacrucs { public uint kb_cnt; public Diacruc kbdiacruc[256]; } [CCode (cname = "struct console_font", has_type_id = false, cheader_filename = "linux/kd.h")] public struct Font { public uint width; public uint height; public uint charcount; public uchar* data; } [CCode (cname = "struct consolefontdesc", has_type_id = false, cheader_filename = "linux/kd.h")] public struct FontDescription { public uint16 charcount; public uint16 charheight; public string chardata; } [CCode (cname = "struct console_font_op", has_type_id = false, cheader_filename = "linux/kd.h")] public struct FontOperation { public FontOperationCode op; public uint flags; public uint width; public uint height; public uint charcount; public uchar* data; } [CCode (cname = "struct kbkeycode", has_type_id = false, cheader_filename = "linux/kd.h")] public struct KeyCode { public uint scancode; public uint keycode; } [CCode (cname = "struct kbentry", has_type_id = false, cheader_filename = "linux/kd.h")] public struct KeyboardEntry { public uchar kb_table; public uchar kb_index; public uint16 kb_value; } [CCode (cname = "struct kbsentry", has_type_id = false, cheader_filename = "linux/kd.h")] public struct KeyboardEntries { public uchar kb_func; public uchar kb_string[512]; } [CCode (cname = "struct kbd_repeat", has_type_id = false, cheader_filename = "linux/kd.h")] public struct KeyRepeat { public int delay; public int period; } [CCode (cname = "struct unipair", has_type_id = false, cheader_filename = "linux/kd.h")] public struct UniPair { public uint16 unicode; public uint16 fontpos; } [CCode (cname = "struct unimapdesc", has_type_id = false, cheader_filename = "linux/kd.h")] public struct UniMapDesc { public uint16 entry_ct; UniPair entries; } [CCode (cname = "struct unimapinit", has_type_id = false, cheader_filename = "linux/kd.h")] public struct UniMapInit { public uint16 advised_hashsize; public uint16 advised_hashstep; public uint16 advised_hashlevel; } } /* * EventFd */ [CCode (cprefix = "EFD_", has_type_id = false, cheader_filename = "sys/eventfd.h")] public enum EventFdFlags { CLOEXEC, NONBLOCK } [CCode (cheader_filename = "sys/eventfd.h")] public int eventfd (uint count = 0, EventFdFlags flags = 0); public int eventfd_read (int fd, out uint64 value); public int eventfd_write (int fd, uint64 value); /* * Epoll */ [CCode (cprefix = "EPOLL_", has_type_id = false, cheader_filename = "sys/epoll.h")] public enum EpollFdFlags { CLOEXEC, } [CCode (cheader_filename = "sys/epoll.h", has_type_id = false, cname = "union epoll_data")] public struct EpollData { public void* ptr; public int fd; public uint32 u32; public uint64 u64; } [CCode (cheader_filename = "sys/epoll.h", has_type_id = false, cname = "struct epoll_event")] public struct EpollEvent { public uint32 events; public EpollData data; } [CCode (cheader_filename = "sys/epoll.h")] public int epoll_create (int size = 0); [CCode (cheader_filename = "sys/epoll.h")] public int epoll_create1 (int flags = 0); [CCode (cheader_filename = "sys/epoll.h")] public int epoll_wait (int epfd, EpollEvent[] events, int timeout); [CCode (cheader_filename = "sys/epoll.h")] public int epoll_pwait (int epfd, EpollEvent[] events, Posix.sigset_t? sigmask, int timeout); [CCode (cheader_filename = "sys/epoll.h")] public int epoll_ctl (int epfd, int op, int fd, EpollEvent? ev); [CCode (cheader_filename = "sys/epoll.h")] public const int EPOLLIN; [CCode (cheader_filename = "sys/epoll.h")] public const int EPOLLOUT; [CCode (cheader_filename = "sys/epoll.h")] public const int EPOLLERR; [CCode (cheader_filename = "sys/epoll.h")] public const int EPOLLHUP; [CCode (cheader_filename = "sys/epoll.h")] public const int EPOLLET; [CCode (cheader_filename = "sys/epoll.h")] public const int EPOLL_CTL_ADD; [CCode (cheader_filename = "sys/epoll.h")] public const int EPOLL_CTL_MOD; [CCode (cheader_filename = "sys/epoll.h")] public const int EPOLL_CTL_DEL; /* * Framebuffer */ [CCode (cprefix = "", lower_case_cprefix = "")] namespace Framebuffer { /* ioctls */ [CCode (cheader_filename = "linux/fb.h")] public const int FBIOGET_VSCREENINFO; [CCode (cheader_filename = "linux/fb.h")] public const int FBIOPUT_VSCREENINFO; [CCode (cheader_filename = "linux/fb.h")] public const int FBIOGET_FSCREENINFO; [CCode (cheader_filename = "linux/fb.h")] public const int FBIOGETCMAP; [CCode (cheader_filename = "linux/fb.h")] public const int FBIOPUTCMAP; [CCode (cheader_filename = "linux/fb.h")] public const int FBIOPAN_DISPLAY; [CCode (cheader_filename = "linux/fb.h")] public const int FBIO_CURSOR; [CCode (cheader_filename = "linux/fb.h")] public const int FBIOGET_MONITORSPEC; [CCode (cheader_filename = "linux/fb.h")] public const int FBIOPUT_MONITORSPEC; [CCode (cheader_filename = "linux/fb.h")] public const int FBIOSWITCH_MONIBIT; [CCode (cheader_filename = "linux/fb.h")] public const int FBIOGET_CON2FBMAP; [CCode (cheader_filename = "linux/fb.h")] public const int FBIOPUT_CON2FBMAP; [CCode (cheader_filename = "linux/fb.h")] public const int FBIOBLANK; [CCode (cheader_filename = "linux/fb.h")] public const int FBIOGET_VBLANK; [CCode (cheader_filename = "linux/fb.h")] public const int FBIO_ALLOC; [CCode (cheader_filename = "linux/fb.h")] public const int FBIO_FREE; [CCode (cheader_filename = "linux/fb.h")] public const int FBIOGET_GLYPH; [CCode (cheader_filename = "linux/fb.h")] public const int FBIOGET_HWCINFO; [CCode (cheader_filename = "linux/fb.h")] public const int FBIOPUT_MODEINFO; [CCode (cheader_filename = "linux/fb.h")] public const int FBIOGET_DISPINFO; /* enums */ [CCode (cname = "guint32", cprefix = "FB_TYPE_", has_type_id = false, cheader_filename = "linux/fb.h")] public enum Type { PACKED_PIXELS, PLANES, INTERLEAVED_PLANES, TEXT, VGA_PLANES } [CCode (cname = "guint32", cprefix = "FB_ACTIVATE_", has_type_id = false, cheader_filename = "linux/fb.h")] public enum Activate { NOW, NXTOPEN, TEST, MASK, VBL, [CCode (cname = "FB_CHANGE_CMAP_VBL")] CHANGE_CMAP_VBL, ALL, FORCE, INV_MODE } [CCode (cname = "guint32", cprefix = "FB_ACCEL_", has_type_id = false, cheader_filename = "linux/fb.h")] public enum Accel { NONE } [CCode (cname = "guint32", cprefix = "FB_AUX_", has_type_id = false, cheader_filename = "linux/fb.h")] public enum Aux { TEXT_MDA, TEXT_CGA, TEXT_S3_MMIO, TEXT_MGA_STEP16, TEXT_MGA_STEP8, TEXT_SVGA_GROUP, TEXT_SVGA_MASK, TEXT_SVGA_STEP2, TEXT_SVGA_STEP4, TEXT_SVGA_STEP8, TEXT_SVGA_STEP16, TEXT_SVGA_LAST, VGA_PLANES_VGA4, VGA_PLANES_CFB4, VGA_PLANES_CFB8 } [CCode (cprefix = "FB_BLANK_", has_type_id = false, cheader_filename = "linux/fb.h")] public enum Blank { UNBLANK, NORMAL, VSYNC_SUSPEND, HSYNC_SUSPEND, POWERDOWN } [CCode (cprefix = "FB_CUR_", has_type_id = false, cheader_filename = "linux/fb.h")] public enum Cur { SETIMAGE, SETPOS, SETHOT, SETCMAP, SETSHAPE, SETSIZE, SETALL } [CCode (cname = "guint32", cprefix = "ROP_", has_type_id = false, cheader_filename = "linux/fb.h")] public enum Rop { COPY, XOR } [CCode (cprefix = "FB_ROTATE_", has_type_id = false, cheader_filename = "linux/fb.h")] public enum Rotate { UR, CW, UD, CCW } [CCode (cname = "guint32", cprefix = "FB_SYNC_", has_type_id = false, cheader_filename = "linux/fb.h")] public enum Sync { HOR_HIGH_ACT, VERT_HIGH_ACT, EXT, COMP_HIGH_ACT, BROADCAST, ON_GREEN } [CCode (cname = "guint32", cprefix = "FB_VISUAL_", has_type_id = false, cheader_filename = "linux/fb.h")] public enum Visual { MONO01, MONO10, TRUECOLOR, PSEUDOCOLOR, DIRECTCOLOR, STATIC_PSEUDOCOLOR } [CCode (cname = "guint32", cprefix = "FB_VMODE_", has_type_id = false, cheader_filename = "linux/fb.h")] public enum Vmode { NONINTERLACED, INTERLACED, DOUBLE, ODD_FLD_FIRST, MASK, YWRAP, SMOOTH_XPAN, CONUPDATE } /* structures */ [CCode (cname = "struct fb_bitfield", has_type_id = false, cheader_filename = "linux/fb.h")] public struct BitField { public uint32 offset; public uint32 length; public uint32 msb_right; } [CCode (cname = "struct fb_cmap", has_type_id = false, cheader_filename = "linux/fb.h")] public struct Cmap { public uint32 start; public uint32 len; public uint16* red; public uint16* green; public uint16* blue; public uint16* transp; } [CCode (cname = "struct fb_con2fbmap", has_type_id = false, cheader_filename = "linux/fb.h")] public struct Con2FbMap { public uint32 console; public uint32 framebuffer; } [CCode (cname = "struct fbcurpos", has_type_id = false, cheader_filename = "linux/fb.h")] public struct CurPos { public uint16 x; public uint16 y; } [CCode (cname = "struct fb_cursor", has_type_id = false, cheader_filename = "linux/fb.h")] public struct Cursor { public uint16 set; public uint16 enable; public uint16 rop; string mask; public CurPos hot; public Image image; } [CCode (cname = "struct fb_copyarea", has_type_id = false, cheader_filename = "linux/fb.h")] public struct CopyArea { public uint32 dx; public uint32 dy; public uint32 width; public uint32 height; public uint32 sx; public uint32 sy; } [CCode (cname = "struct fb_fillrect", has_type_id = false, cheader_filename = "linux/fb.h")] public struct FillRect { public uint32 dx; public uint32 dy; public uint32 width; public uint32 height; public uint32 color; public Rop rop; } [CCode (cname = "struct fb_image", has_type_id = false, cheader_filename = "linux/fb.h")] public struct Image { public uint32 dx; public uint32 dy; public uint32 width; public uint32 height; public uint32 fg_color; public uint32 bg_color; public uint8 depth; public char* data; public Cmap cmap; } [CCode (cname = "struct fb_fix_screeninfo", has_type_id = false, cheader_filename = "linux/fb.h")] public struct FixScreenInfo { public char id[16]; public long smem_start; public uint32 smem_len; public Type type; public Aux type_aux; public Visual visual; public uint16 xpanstep; public uint16 ypanstep; public uint16 ywrapstep; public uint32 line_length; public long mmio_start; public uint32 mmio_len; public Accel accel; } [CCode (cname = "struct fb_var_screeninfo", has_type_id = false, cheader_filename = "linux/fb.h")] public struct VarScreenInfo { public uint32 xres; public uint32 yres; public uint32 xres_virtual; public uint32 yres_virtual; public uint32 xoffset; public uint32 yoffset; public uint32 bits_per_pixel; public uint32 grayscale; public BitField red; public BitField green; public BitField blue; public BitField transp; public uint32 nonstd; public Activate activate; public uint32 height; public uint32 width; public uint32 pixclock; public uint32 left_margin; public uint32 right_margin; public uint32 upper_margin; public uint32 lower_margin; public uint32 hsync_len; public uint32 vsync_len; public Sync sync; public Vmode vmode; public uint32 rotate; } [CCode (cname = "struct fb_vblank", has_type_id = false, cheader_filename = "linux/fb.h")] public struct Vblank { public uint32 flags; public uint32 count; public uint32 vcount; public uint32 hcount; } [CCode (lower_case_cprefix = "omapfb_", has_type_id = false, cheader_filename = "linux/omapfb.h")] namespace OMAP { [CCode (cname = "int", has_type_id = false, cprefix = "OMAPFB_")] public enum IOCTL { MIRROR, SYNC_GFX, VSYNC, SET_UPDATE_MODE, GET_CAPS, GET_UPDATE_MODE, LCD_TEST, CTRL_TEST, UPDATE_WINDOW_OLD, SET_COLOR_KEY, GET_COLOR_KEY, SETUP_PLANE, QUERY_PLANE, UPDATE_WINDOW, SETUP_MEM, QUERY_MEM, WAITFORVSYNC, MEMORY_READ, GET_OVERLAY_COLORMODE, WAITFORGO, GET_VRAM_INFO, SET_TEARSYNC } [Flags, CCode (cname = "int", has_type_id = false, prefix = "OMAPFB_CAPS_")] public enum Caps { GENERIC_MASK, LCDC_MASK, PANEL_MASK, MANUAL_UPDATE, TEARSYNC, PLANE_RELOCATE_MEM, PLANE_SCALE, WINDOW_PIXEL_DOUBLE, WINDOW_SCALE, WINDOW_OVERLAY, WINDOW_ROTATE, SET_BACKLIGHT, } [Flags, CCode (cname = "int", has_type_id = false, cprefix = "OMAPFB_FORMAT_FLAG_")] public enum Format { [CCode (cname = "OMAPFB_FORMAT_MASK")] MASK, DOUBLE, TEARSYNC, FORCE_VSYNC, ENABLE_OVERLAY, DISABLE_OVERLAY } [CCode (cname = "int", has_type_id = false, cprefix = "OMAPFB_MEMTYPE_")] public enum MemType { SDRAM, SRAM, MAX } [CCode (cname = "enum omapfb_color_format", has_type_id = false, cprefix = "OMAPFB_COLOR_")] public enum ColorFormat { RGB565, YUV422, YUV420, CLUT_8BPP, CLUT_4BPP, CLUT_2BPP, CLUT_1BPP, RGB444, YUY422, ARGB16, RGB24U, RGB24P, ARGB32, RGBA32, RGBX32, } [CCode (cname = "omapfb_update_window", has_type_id = false)] public struct UpdateWindow { public uint32 x; public uint32 y; public uint32 width; public uint32 height; public uint32 format; public uint32 out_x; public uint32 out_y; public uint32 out_width; public uint32 out_height; } [CCode (cname = "enum omapfb_plane", has_type_id = false, cprefix = "OMAPFB_PLANE_")] public enum Plane { GFX, VID1, VID2 } [CCode (cname = "enum omapfb_channel_out", has_type_id = false, cprefix = "OMAPFB_CHANNEL_OUT_")] public enum ChannelOut { LCD, DIGIT } [CCode (cname = "struct omapfb_plane_info", has_type_id = false)] public struct PlaneInfo { public uint32 pos_x; public uint32 pos_y; public uint8 enabled; public uint8 channel_out; public uint8 mirror; public uint32 out_width; public uint32 out_height; } [CCode (cname = "struct omapfb_mem_info", has_type_id = false)] public struct MemInfo { public uint32 size; public uint8 type; } [CCode (cname = "struct omapfb_caps", has_type_id = false)] public struct Capabilities { public uint32 ctrl; public uint32 plane_color; public uint32 wnd_color; } [CCode (cname = "enum omapfb_color_key_type", has_type_id = false, cprefix = "OMAPFB_COLOR_KEY_")] public enum ColorKeyType { DISABLED, GFX_DST, VID_SRC } [CCode (cname = "struct omapfb_color_key", has_type_id = false)] public struct ColorKey { public uint8 channel_out; public uint32 background; public uint32 trans_key; public uint8 key_type; } [CCode (cname = "enum omapfb_update_mode", has_type_id = false)] public enum UpdateMode { [CCode (cname = "OMAPFB_UPDATE_DISABLED")] DISABLED, [CCode (cname = "OMAPFB_AUTO_UPDATE")] AUTO, [CCode (cname = "OMAPFB_MANUAL_UPDATE")] MANUAL } [CCode (cname = "struct omapfb_memory_read", has_type_id = false)] public struct MemoryRead { public uint16 x; public uint16 y; public uint16 w; public uint16 h; public size_t buffer_size; public void* buffer; } [CCode (cname = "struct omapfb_ovl_colormode", has_type_id = false)] public struct OvlColorMode { public uint8 overlay_idx; public uint8 mode_idx; public uint32 bits_per_pixel; public uint32 nonstd; public Framebuffer.BitField red; public Framebuffer.BitField green; public Framebuffer.BitField blue; public Framebuffer.BitField transp; } [CCode (cname = "struct omapfb_vram_info", has_type_id = false)] public struct VRamInfo { public uint32 total; public uint32 free; public uint32 largest_free_block; } [CCode (cname = "struct omapfb_tearsync_info", has_type_id = false)] public struct TearSyncInfo { public uint8 enabled; public uint16 line; } } } // Non-Posix file control constants, -D _GNU_SOURCE [CCode (cheader_filename = "fcntl.h", feature_test_macro = "_GNU_SOURCE")] public const int O_DIRECT; [CCode (cheader_filename = "fcntl.h", feature_test_macro = "_GNU_SOURCE")] public const int O_NOATIME; [CCode (cheader_filename = "fcntl.h", feature_test_macro = "_GNU_SOURCE")] public const int O_PATH; [CCode (cheader_filename = "fcntl.h", feature_test_macro = "_GNU_SOURCE")] public const int O_TMPFILE; /* * Gsm */ namespace Gsm { [CCode (cname = "GSMIOC_GETCONF", cheader_filename = "linux/gsmmux.h")] public const int GSMIOC_GETCONF; [CCode (cname = "GSMIOC_SETCONF", cheader_filename = "linux/gsmmux.h")] public const int GSMIOC_SETCONF; [CCode (cname = "struct gsm_config", has_type_id = false, cheader_filename = "linux/gsmmux.h")] public struct Config { public uint adaption; public uint encapsulation; public uint initiator; public uint t1; public uint t2; public uint t3; public uint n2; public uint mru; public uint mtu; public uint k; public uint i; } } /* * I2C and System Management Bus */ [CCode (cprefix = "I2C_", lower_case_cprefix = "i2c_")] namespace I2C { const int SLAVE; [CCode (cprefix = "", lower_case_cprefix = "i2c_smbus_")] namespace SMBUS { int32 write_byte_data_masked (int file, uint8 mask, uint8 command, uint8 value) { int32 result = read_byte_data (file, command); if (result == -1) { return -1; } uint8 oldvalue = (uint8) result & 0xff; return write_byte_data (file, command, oldvalue | (value & mask) ); } //[CCode (cheader_filename = "i2c.h")] //int32 access(int file, char read_write, uint8 command, int size, union data *data); [CCode (cheader_filename = "i2c.h")] int32 write_quick (int file, uint8 value); [CCode (cheader_filename = "i2c.h")] int32 read_byte (int file); [CCode (cheader_filename = "i2c.h")] int32 write_byte (int file, uint8 value); [CCode (cheader_filename = "i2c.h")] int32 read_byte_data (int file, uint8 command); [CCode (cheader_filename = "i2c.h")] int32 write_byte_data (int file, uint8 command, uint8 value); [CCode (cheader_filename = "i2c.h")] int32 read_word_data (int file, uint8 command); [CCode (cheader_filename = "i2c.h")] int32 write_word_data (int file, uint8 command, uint16 value); [CCode (cheader_filename = "i2c.h")] int32 process_call (int file, uint8 command, uint16 value); [CCode (cheader_filename = "i2c.h")] int32 read_block_data (int file, uint8 command, [CCode (array_length=false)] uint8[] values); [CCode (cheader_filename = "i2c.h")] int32 write_block_data (int file, uint8 command, [CCode (array_length_pos = 2.3)] uint8[] values); [CCode (cheader_filename = "i2c.h")] int32 read_i2c_block_data (int file, uint8 command, [CCode (array_length_pos = 2.3)] uint8[] values); [CCode (cheader_filename = "i2c.h")] int32 write_i2c_block_data (int file, uint8 command, [CCode (array_length_pos = 2.3)] uint8[] values); [CCode (cheader_filename = "i2c.h")] int32 block_process_call (int file, uint8 command, [CCode (array_length_pos = 2.3)] uint8[] values); } } /* * Inotify */ [CCode (cname = "struct inotify_event", has_type_id = false, cheader_filename = "sys/inotify.h")] public struct InotifyEvent { public int wd; public uint32 mask; public uint32 cookie; public uint32 len; public string name; } [Flags, CCode (cname = "int", cprefix = "IN_", has_type_id = false, cheader_filename = "sys/inotify.h")] public enum InotifyFlags { CLOEXEC, NONBLOCK } [Flags, CCode (cname = "int", cprefix = "IN_", has_type_id = false, cheader_filename = "sys/inotify.h")] public enum InotifyMaskFlags { ACCESS, ATTRIB, CLOSE, CLOSE_WRITE, CLOSE_NOWRITE, CREATE, DELETE, DELETE_SELF, MODIFY, MOVE, MOVE_SELF, MOVED_FROM, MOVED_TO, OPEN, DONT_FOLLOW, MASK_ADD, ONESHOT, ONLYDIR, IGNORED, ISDIR, Q_OVERFLOW, UNMOUNT } [CCode (cname = "inotify_init1", cheader_filename = "sys/inotify.h")] public int inotify_init (InotifyFlags flags = 0); public int inotify_add_watch (int fd, string pathname, InotifyMaskFlags mask); public int inotify_rm_watch (int fd, int wd); /* * RfKill */ [CCode (cname = "struct rfkill_event", has_type_id = false, cheader_filename = "linux/rfkill.h")] public struct RfKillEvent { public uint32 idx; public RfKillType type; public RfKillOp op; public uint8 soft; public uint8 hard; } [CCode (cname = "guint8", cprefix = "RFKILL_OP_", has_type_id = false, cheader_filename = "linux/rfkill.h")] public enum RfKillOp { ADD, DEL, CHANGE, CHANGE_ALL } [CCode (cname = "guint8", cprefix = "RFKILL_STATE_", has_type_id = false, cheader_filename = "linux/rfkill.h")] public enum RfKillState { SOFT_BLOCKED, UNBLOCKED, HARD_BLOCKED } [CCode (cname = "guint8", cprefix = "RFKILL_TYPE_", has_type_id = false, cheader_filename = "linux/rfkill.h")] public enum RfKillType { ALL, WLAN, BLUETOOTH, UWB, WIMAX, WWAN, GPS, FM, NFC } /* * SignalFd */ [CCode (cprefix = "SFD_", has_type_id = false, cheader_filename = "sys/signalfd.h")] public enum SignalFdFlags { CLOEXEC, NONBLOCK } [CCode (cheader_filename = "sys/signalfd.h")] public int signalfd (int fd, Posix.sigset_t mask, SignalFdFlags flags = 0); /* * Misc non-posix additions */ [CCode (cheader_filename = "dirent.h", has_type_id = false)] public enum DirEntType { DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK, DT_WHT } [CCode (cheader_filename = "errno.h", feature_test_macro = "_GNU_SOURCE")] public const string program_invocation_name; [CCode (cheader_filename = "errno.h", feature_test_macro = "_GNU_SOURCE")] public const string program_invocation_short_name; [Version (deprecated_since = "vala-0.26", replacement = "Backtrace.get"), CCode (cheader_filename = "execinfo.h")] public int backtrace (void* buffer, int size); [Version (deprecated_since = "vala-0.26", replacement = "Backtrace.symbols"), CCode (cheader_filename = "execinfo.h", array_length = false)] public (unowned string)[]? backtrace_symbols (void* buffer, int size); [Version (deprecated_since = "vala-0.26", replacement = "Backtrace.symbols_fd"), CCode (cheader_filename = "execinfo.h")] public void backtrace_symbols_fd (void* buffer, int size, int fd); namespace Backtrace { [CCode (cname = "backtrace", cheader_filename = "execinfo.h")] public int @get (void*[] buffer); [CCode (cname = "backtrace_symbols", cheader_filename = "execinfo.h", array_length = false)] private (unowned string)[]? _symbols (void*[] buffer); [CCode (cname = "_vala_backtrace_symbols")] public (unowned string)[]? symbols (void*[] buffer) { (unowned string)[]? s = _symbols (buffer); s.length = buffer.length; return s; } [CCode (cheader_filename = "execinfo.h")] public void symbols_fd (void*[] buffer, int fd); } [CCode (cheader_filename = "signal.h")] public void psiginfo (Posix.siginfo_t pinfo, string message); [CCode (cheader_filename = "unistd.h", feature_test_macro = "_GNU_SOURCE")] public int dup3 (int oldfd, int newfd, int flags); [CCode (cheader_filename = "sys/types.h,unistd.h")] public int getgroups ([CCode (array_length_pos = 0.9)] Posix.gid_t[]? list = null); [CCode (cheader_filename = "unistd.h", feature_test_macro = "_GNU_SOURCE")] public int getresgid (out Posix.gid_t rgid, out Posix.gid_t egid, out Posix.gid_t sgid); [CCode (cheader_filename = "unistd.h", feature_test_macro = "_GNU_SOURCE")] public int getresuid (out Posix.uid_t ruid, out Posix.uid_t euid, out Posix.uid_t suid); [CCode (cheader_filename = "sys/types.h,grp.h,unistd.h")] public int setgroups ([CCode (array_length_pos = 0.9)] Posix.gid_t[] list); [CCode (cheader_filename = "unistd.h", feature_test_macro = "_GNU_SOURCE")] public int setresgid (Posix.gid_t rgid, Posix.gid_t egid, Posix.gid_t sgid); [CCode (cheader_filename = "unistd.h", feature_test_macro = "_GNU_SOURCE")] public int setresuid (Posix.uid_t ruid, Posix.uid_t euid, Posix.uid_t suid); [CCode (cheader_filename = "unistd.h")] public int sethostname (string name, size_t len); // additional sysconf(3) constants [CCode (cheader_filename = "unistd.h")] public const int _SC_PHYS_PAGES; [CCode (cheader_filename = "unistd.h")] public const int _SC_AVPHYS_PAGES; [CCode (cheader_filename = "unistd.h")] public const int _SC_NPROCESSORS_CONF; [CCode (cheader_filename = "unistd.h")] public const int _SC_NPROCESSORS_ONLN; [CCode (cheader_filename = "arpa/inet.h")] public int inet_aton (string cp, out Posix.InAddr addr); [CCode (cheader_filename = "sys/ioctl.h", sentinel = "")] public int ioctl (int fd, int request, ...); [CCode (cname = "makedev", cheader_filename = "sys/types.h")] public Posix.dev_t makedev (int maj, int min); [CCode (cname = "major", cheader_filename = "sys/types.h")] public int major (Posix.dev_t dev); [CCode (cname = "minor", cheader_filename = "sys/types.h")] public int minor (Posix.dev_t dev); [CCode (cname = "unsigned long int", cprefix = "MS_", has_type_id = false, cheader_filename = "sys/mount.h,linux/fs.h")] public enum MountFlags { RDONLY, NOSUID, NODEV, NOEXEC, SYNCHRONOUS, REMOUNT, MANDLOCK, DIRSYNC, NOATIME, NODIRATIME, BIND, MOVE, REC, SILENT, POSIXACL, UNBINDABLE, PRIVATE, SLAVE, SHARED, RELATIME, KERNMOUNT, I_VERSION, STRICTATIME, BORN, ACTIVE, NOUSER } [CCode (cname = "int", cprefix = "MNT_", has_type_id = false, cheader_filename = "sys/mount.h")] public enum UnmountFlags { FORCE, /* Force unmounting. */ DETACH, /* Just detach from the tree. */ EXPIRE /* Mark for expiry. */ } [CCode (cheader_filename = "sys/mount.h")] public int mount (string source, string target, string filesystemtype, MountFlags flags = 0, string options = ""); [CCode (cheader_filename = "sys/mount.h")] public int umount (string target); [CCode (cheader_filename = "sys/mount.h")] public int umount2 (string target, UnmountFlags flags); [CCode (cname = "struct winsize", has_type_id = false, cheader_filename = "termios.h", destroy_function = "")] public struct winsize { public ushort ws_row; public ushort ws_col; public ushort ws_xpixel; public ushort ws_ypixel; } [CCode (cheader_filename = "pty.h")] public Posix.pid_t forkpty (out int amaster, [CCode (array_length=false, array_null_terminated=true)] char[] name, Posix.termios? termp, winsize? winp); [CCode (cheader_filename = "pty.h")] public int openpty (out int amaster, out int aslave, [CCode (array_length=false, array_null_terminated=true)] char[] name, Posix.termios? termp, winsize? winp); [CCode (cprefix = "RB_", has_type_id = false, cheader_filename = "unistd.h,sys/reboot.h")] public enum RebootCommands { AUTOBOOT, HALT_SYSTEM, ENABLE_CAD, DISABLE_CAD, POWER_OFF } [CCode (cheader_filename = "unistd.h,sys/reboot.h")] public int reboot (RebootCommands cmd); [CCode (cprefix = "CLONE_", has_type_id = false, cheader_filename = "sched.h")] public enum CloneFlags { FILES, FS, NEWNS } [CCode (cheader_filename = "sched.h")] public int unshare (CloneFlags flags); [CCode (cheader_filename = "sys/time.h")] public int adjtime (Posix.timeval delta, Posix.timeval? olddelta = null); // adjtimex(2) [CCode (cprefix = "ADJ_", has_type_id = false, cheader_filename = "sys/timex.h")] public enum AdjustModes { OFFSET, FREQUENCY, MAXERROR, ESTERROR, STATUS, TIMECONST, TICK, OFFSET_SINGLESHOT } [CCode (cheader_filename = "sys/timex.h")] public const int TIME_OK; [CCode (cheader_filename = "sys/timex.h")] public const int TIME_INS; [CCode (cheader_filename = "sys/timex.h")] public const int TIME_DEL; [CCode (cheader_filename = "sys/timex.h")] public const int TIME_OOP; [CCode (cheader_filename = "sys/timex.h")] public const int TIME_WAIT; [CCode (cheader_filename = "sys/timex.h")] public const int TIME_BAD; // adjtimex(2) [CCode (cname = "struct timex", has_type_id = false, cheader_filename = "sys/timex.h")] public struct timex { public AdjustModes modes; /* mode selector */ public long offset; /* time offset (usec) */ public long freq; /* frequency offset (scaled ppm) */ public long maxerror; /* maximum error (usec) */ public long esterror; /* estimated error (usec) */ public int status; /* clock command/status */ public long constant; /* pll time constant */ public long precision; /* clock precision (usec) (read-only) */ public long tolerance; /* clock frequency tolerance (ppm) (read-only) */ public Posix.timeval time; /* current time (read-only) */ public long tick; /* usecs between clock ticks */ } [CCode (cheader_filename = "sys/timex.h")] public int adjtimex (Linux.timex buf); [CCode (cheader_filename = "time.h")] public time_t timegm (GLib.Time t); [CCode (cheader_filename = "time.h")] public const Posix.clockid_t CLOCK_MONOTONIC_RAW; [CCode (cheader_filename = "utmp.h")] public int login_tty (int fd); // emulate gettid(2) for which no glib wrapper exists via syscall public Posix.pid_t gettid() { return (Posix.pid_t) syscall( SysCall.gettid ); } // syscall(2) [CCode (cprefix = "SYS_", has_type_id = false, cname = "int")] public enum SysCall { gettid } [CCode (cname = "syscall", cheader_filename = "unistd.h,sys/syscall.h")] public int syscall (int number, ...); // mremap(2) [CCode (cprefix = "MREMAP_", has_type_id = false, cheader_filename = "sys/mman.h")] public enum MremapFlags { MAYMOVE, FIXED } [CCode (cheader_filename = "sys/mman.h")] public void *mremap (void *old_address, size_t old_size, size_t new_size, MremapFlags flags); /* * Network */ [CCode (cprefix = "", lower_case_cprefix = "")] namespace Network { // interface consts, structs, and methods [CCode (cname = "IFNAMSIZ", cheader_filename = "sys/socket.h,linux/if.h")] public const int INTERFACE_NAME_SIZE; [CCode (cheader_filename = "net/if.h")] public uint if_nametoindex (string ifname); [CCode (cheader_filename = "net/if.h")] public unowned string if_indextoname (uint ifindex, string ifname); [CCode (cheader_filename = "net/if.h")] public IfNameindex if_nameindex (); [CCode (cname = "int", cprefix = "IFF_", has_type_id = false, cheader_filename = "sys/socket.h,linux/if.h")] public enum IfFlag { UP, BROADCAST, DEBUG, LOOPBACK, POINTOPOINT, NOTRAILERS, RUNNING, NOARP, PROMISC, ALLMULTI, MASTER, SLAVE, PORTSEL, AUTOMEDIA, DYNAMIC } [CCode (cname = "struct if_nameindex", has_type_id = false, cheader_filename = "sys/socket.h,linux/if.h", destroy_function = "if_freenameindex")] public struct IfNameindex { public uint if_index; public string if_name; } [CCode (cname = "struct ifmap", has_type_id = false, cheader_filename = "sys/socket.h,linux/if.h", destroy_function = "")] public struct IfMap { public ulong mem_start; public ulong mem_end; public short base_addr; public uchar irq; public uchar dma; public uchar port; } [CCode (cname = "struct ifreq", has_type_id = false, cheader_filename = "netinet/in.h,linux/if.h", destroy_function = "")] public struct IfReq { [CCode (array_length = false)] public char[] ifr_name; public Posix.SockAddr ifr_addr; public Posix.SockAddr ifr_dstaddr; public Posix.SockAddr ifr_broadaddr; public Posix.SockAddr ifr_netmask; public Posix.SockAddr ifr_hwaddr; public short ifr_flags; public int ifr_metric; public int ifr_mtu; public IfMap ifr_map; public char[] ifr_slave; public string ifr_data; public int ifr_ifindex; public int ifr_bandwidth; public int ifr_qlen; public char[] ifr_newname; } [CCode (cname = "struct ifconf", has_type_id = false, cheader_filename = "sys/socket.h,linux/if.h", destroy_function = "")] public struct IfConf { public int ifc_len; public string ifc_buf; public IfReq ifc_req; } [CCode (cname = "struct ifaddrmsg", has_type_id = false, cheader_filename = "linux/if_addr.h", destroy_function = "")] public struct IfAddrMsg { public uint8 ifa_family; public uint8 ifa_prefixlen; public uint8 ifa_flags; public uint8 ifa_scope; public uint32 ifa_index; } [Compact, CCode (cname = "struct ifaddrs", cheader_filename = "sys/types.h,ifaddrs.h", free_function = "freeifaddrs", has_type_id = false)] public class IfAddrs { public unowned IfAddrs? ifa_next; public string ifa_name; public uint ifa_flags; public Posix.SockAddr? ifa_addr; public Posix.SockAddr? ifa_netmask; [CCode (cname = "ifa_ifu.ifu_broadaddr")] public Posix.SockAddr? ifa_ifu_broadaddr; [CCode (cname = "ifa_ifu.ifu_dstaddr")] public Posix.SockAddr? ifa_ifu_dstaddr; public void* ifa_data; } [CCode (cname = "getifaddrs")] public static int getifaddrs (out IfAddrs ifap); [CCode (cprefix = "IFA_", has_type_id = false, cheader_filename = "linux/if_addr.h")] public enum IfAddrType { UNSPEC, ADDRESS, LOCAL, LABEL, BROADCAST, ANYCAST, CACHEINFO, MULTICAST } [CCode (cheader_filename = "linux/if_addr.h")] public int IFA_PAYLOAD (Linux.Netlink.NlMsgHdr nlh); [CCode (cheader_filename = "linux/if_addr.h")] public Linux.Netlink.RtAttr* IFA_RTA (Linux.Network.IfAddrMsg* msg); [CCode (cprefix = "ARPHRD_", has_type_id = false, cheader_filename = "linux/if_arp.h")] public enum IfArpHeaderType { NETROM, ETHER, EETHER, AX25, PRONET, CHAOS, IEEE802, ARCNET, APPLETLK, DLCI, ATM, METRICOM, IEEE1394, EUI64, INFINIBAND, SLIP, CSLIP, SLIP6, CSLIP6, RSRVD, ADAPT, ROSE, X25, HWX25, CAN, PPP, CISCO, HDLC, LAPB, DDCMP, RAWHDLC, TUNNEL, TUNNEL6, FRAD, SKIP, LOOPBACK, LOCALTLK, FDDI, BIF, SIT, IPDDP, IPGRE, PIMREG, HIPPI, ASH, ECONET, IRDA, FCPP, FCAL, FCPL, FCFABRIC, IEEE802_TR, IEEE80211, IEEE80211_PRISM, IEEE80211_RADIOTAP, IEEE802154, PHONET, PHONET_PIPE, CAIF, VOID, NONE } [CCode (cprefix = "ARPOP_", has_type_id = false, cheader_filename = "linux/if_arp.h")] public enum IfArpOpcode { REQUEST, REPLY, RREQUEST, RREPLY, InREQUEST, InREPLY, ARPOP_NAK } // route consts, structs, and methods [CCode (cname = "struct rtentry", has_type_id = false, cheader_filename = "net/route.h", destroy_function = "")] public struct RtEntry { public Posix.SockAddr rt_dst; public Posix.SockAddr rt_gateway; public Posix.SockAddr rt_genmask; public RtFlag rt_flags; public short rt_metric; public string rt_dev; public ulong rt_mtu; public ulong rt_window; public ushort rt_irtt; } [CCode (cname = "ushort", cprefix = "RTF_", has_type_id = false, cheader_filename = "net/route.h")] public enum RtFlag { UP, GATEWAY, HOST, REINSTATE, DYNAMIC, MODIFIED, MTU, WINDOW, IRTT, REJECT, STATIC, XRESOLVE, NOFORWARD, THROW, NOPMTUDISC } /* ioctls */ [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCADDRT; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCDELRT; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCRTMSG; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCGIFNAME; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCSIFLINK; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCGIFCONF; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCGIFFLAGS; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCSIFFLAGS; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCGIFADDR; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCSIFADDR; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCGIFDSTADDR; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCSIFDSTADDR; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCGIFBRDADDR; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCSIFBRDADDR; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCGIFNETMASK; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCSIFNETMASK; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCGIFMETRIC; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCSIFMETRIC; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCGIFMEM; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCSIFMEM; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCGIFMTU; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCSIFMTU; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCSIFNAME; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCSIFHWADDR; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCGIFENCAP; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCSIFENCAP; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCGIFHWADDR; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCGIFSLAVE; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCSIFSLAVE; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCADDMULTI; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCDELMULTI; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCGIFINDEX; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCSIFPFLAGS; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCGIFPFLAGS; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCDIFADDR; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCSIFHWBROADCAST; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCGIFCOUNT; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCGIFBR; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCSIFBR; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCGIFTXQLEN; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCSIFTXQLEN; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCDARP; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCGARP; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCSARP; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCDRARP; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCGRARP; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCSRARP; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCGIFMAP; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCSIFMAP; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCADDDLCI; [CCode (cheader_filename = "sys/ioctl.h")] public const int SIOCDELDLCI; } /* * Input subsystem */ [CCode (cprefix = "", lower_case_cprefix = "")] namespace Input { /* * subsystem structures */ [CCode (cname = "struct input_event", has_type_id = false, cheader_filename = "linux/input.h")] public struct Event { public Posix.timeval time; public uint16 type; public uint16 code; public int32 value; } [CCode (cname = "struct input_id", has_type_id = false, cheader_filename = "linux/input.h")] public struct Id { public uint16 bustype; public uint16 vendor; public uint16 product; public uint16 version; } [CCode (cname = "struct input_absinfo", has_type_id = false, cheader_filename = "linux/input.h")] public struct AbsInfo { public int32 value; public int32 minimum; public int32 maximum; public int32 fuzz; public int32 flat; } /* * ioctls */ [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")] public const int EVIOCGVERSION; [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")] public const int EVIOCGID; [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")] public const int EVIOCGREP; [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")] public const int EVIOCSREP; [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")] public const int EVIOCGKEYCODE; [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")] public const int EVIOCSKEYCODE; [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")] public int EVIOCGNAME( uint len ); [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")] public int EVIOCGPHYS( uint len ); [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")] public int EVIOCGUNIQ( uint len ); [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")] public int EVIOCGKEY( uint len ); [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")] public int EVIOCGLED( uint len ); [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")] public int EVIOCGSND( uint len ); [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")] public int EVIOCGSW( uint len ); [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")] public int EVIOCGBIT( uint ev, uint len ); [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")] public int EVIOCGABS( uint abs ); [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")] public int EVIOCSABS( uint abs ); [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")] public const int EVIOCSFF; [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")] public const int EVIOCRMFF; [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")] public const int EVIOCGEFFECTS; [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")] public const int EVIOCGRAB; /* * event types */ [CCode (cheader_filename = "linux/input.h")] public const uint16 EV_SYN; [CCode (cheader_filename = "linux/input.h")] public const uint16 EV_KEY; [CCode (cheader_filename = "linux/input.h")] public const uint16 EV_REL; [CCode (cheader_filename = "linux/input.h")] public const uint16 EV_ABS; [CCode (cheader_filename = "linux/input.h")] public const uint16 EV_MSC; [CCode (cheader_filename = "linux/input.h")] public const uint16 EV_SW; [CCode (cheader_filename = "linux/input.h")] public const uint16 EV_LED; [CCode (cheader_filename = "linux/input.h")] public const uint16 EV_SND; [CCode (cheader_filename = "linux/input.h")] public const uint16 EV_REP; [CCode (cheader_filename = "linux/input.h")] public const uint16 EV_FF; [CCode (cheader_filename = "linux/input.h")] public const uint16 EV_PWR; [CCode (cheader_filename = "linux/input.h")] public const uint16 EV_FF_STATUS; [CCode (cheader_filename = "linux/input.h")] public const uint16 EV_MAX; /* * synchronization events */ [CCode (cheader_filename = "linux/input.h")] public const int SYN_REPORT; [CCode (cheader_filename = "linux/input.h")] public const int SYN_CONFIG; [CCode (cheader_filename = "linux/input.h")] public const int SYN_MT_REPORT; [CCode (cheader_filename = "linux/input.h")] public const int SYN_DROPPED; [CCode (cheader_filename = "linux/input.h")] public const int SYN_MAX; /* * keys, switches, buttons, etc. */ [CCode (cheader_filename = "linux/input.h")] public const int KEY_RESERVED; [CCode (cheader_filename = "linux/input.h")] public const int KEY_ESC; [CCode (cheader_filename = "linux/input.h")] public const int KEY_1; [CCode (cheader_filename = "linux/input.h")] public const int KEY_2; [CCode (cheader_filename = "linux/input.h")] public const int KEY_3; [CCode (cheader_filename = "linux/input.h")] public const int KEY_4; [CCode (cheader_filename = "linux/input.h")] public const int KEY_5; [CCode (cheader_filename = "linux/input.h")] public const int KEY_6; [CCode (cheader_filename = "linux/input.h")] public const int KEY_7; [CCode (cheader_filename = "linux/input.h")] public const int KEY_8; [CCode (cheader_filename = "linux/input.h")] public const int KEY_9; [CCode (cheader_filename = "linux/input.h")] public const int KEY_0; [CCode (cheader_filename = "linux/input.h")] public const int KEY_MINUS; [CCode (cheader_filename = "linux/input.h")] public const int KEY_EQUAL; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BACKSPACE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_TAB; [CCode (cheader_filename = "linux/input.h")] public const int KEY_Q; [CCode (cheader_filename = "linux/input.h")] public const int KEY_W; [CCode (cheader_filename = "linux/input.h")] public const int KEY_E; [CCode (cheader_filename = "linux/input.h")] public const int KEY_R; [CCode (cheader_filename = "linux/input.h")] public const int KEY_T; [CCode (cheader_filename = "linux/input.h")] public const int KEY_Y; [CCode (cheader_filename = "linux/input.h")] public const int KEY_U; [CCode (cheader_filename = "linux/input.h")] public const int KEY_I; [CCode (cheader_filename = "linux/input.h")] public const int KEY_O; [CCode (cheader_filename = "linux/input.h")] public const int KEY_P; [CCode (cheader_filename = "linux/input.h")] public const int KEY_LEFTBRACE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_RIGHTBRACE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_ENTER; [CCode (cheader_filename = "linux/input.h")] public const int KEY_LEFTCTRL; [CCode (cheader_filename = "linux/input.h")] public const int KEY_A; [CCode (cheader_filename = "linux/input.h")] public const int KEY_S; [CCode (cheader_filename = "linux/input.h")] public const int KEY_D; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F; [CCode (cheader_filename = "linux/input.h")] public const int KEY_G; [CCode (cheader_filename = "linux/input.h")] public const int KEY_H; [CCode (cheader_filename = "linux/input.h")] public const int KEY_J; [CCode (cheader_filename = "linux/input.h")] public const int KEY_K; [CCode (cheader_filename = "linux/input.h")] public const int KEY_L; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SEMICOLON; [CCode (cheader_filename = "linux/input.h")] public const int KEY_APOSTROPHE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_GRAVE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_LEFTSHIFT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BACKSLASH; [CCode (cheader_filename = "linux/input.h")] public const int KEY_Z; [CCode (cheader_filename = "linux/input.h")] public const int KEY_X; [CCode (cheader_filename = "linux/input.h")] public const int KEY_C; [CCode (cheader_filename = "linux/input.h")] public const int KEY_V; [CCode (cheader_filename = "linux/input.h")] public const int KEY_B; [CCode (cheader_filename = "linux/input.h")] public const int KEY_N; [CCode (cheader_filename = "linux/input.h")] public const int KEY_M; [CCode (cheader_filename = "linux/input.h")] public const int KEY_COMMA; [CCode (cheader_filename = "linux/input.h")] public const int KEY_DOT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SLASH; [CCode (cheader_filename = "linux/input.h")] public const int KEY_RIGHTSHIFT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KPASTERISK; [CCode (cheader_filename = "linux/input.h")] public const int KEY_LEFTALT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SPACE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CAPSLOCK; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F1; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F2; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F3; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F4; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F5; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F6; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F7; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F8; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F9; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F10; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NUMLOCK; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SCROLLLOCK; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KP7; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KP8; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KP9; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KPMINUS; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KP4; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KP5; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KP6; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KPPLUS; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KP1; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KP2; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KP3; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KP0; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KPDOT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_ZENKAKUHANKAKU; [CCode (cheader_filename = "linux/input.h")] public const int KEY_102ND; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F11; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F12; [CCode (cheader_filename = "linux/input.h")] public const int KEY_RO; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KATAKANA; [CCode (cheader_filename = "linux/input.h")] public const int KEY_HIRAGANA; [CCode (cheader_filename = "linux/input.h")] public const int KEY_HENKAN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KATAKANAHIRAGANA; [CCode (cheader_filename = "linux/input.h")] public const int KEY_MUHENKAN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KPJPCOMMA; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KPENTER; [CCode (cheader_filename = "linux/input.h")] public const int KEY_RIGHTCTRL; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KPSLASH; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SYSRQ; [CCode (cheader_filename = "linux/input.h")] public const int KEY_RIGHTALT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_LINEFEED; [CCode (cheader_filename = "linux/input.h")] public const int KEY_HOME; [CCode (cheader_filename = "linux/input.h")] public const int KEY_UP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PAGEUP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_LEFT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_RIGHT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_END; [CCode (cheader_filename = "linux/input.h")] public const int KEY_DOWN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PAGEDOWN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_INSERT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_DELETE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_MACRO; [CCode (cheader_filename = "linux/input.h")] public const int KEY_MUTE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_VOLUMEDOWN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_VOLUMEUP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_POWER; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KPEQUAL; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KPPLUSMINUS; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PAUSE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SCALE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KPCOMMA; [CCode (cheader_filename = "linux/input.h")] public const int KEY_HANGEUL; [CCode (cheader_filename = "linux/input.h")] public const int KEY_HANGUEL; [CCode (cheader_filename = "linux/input.h")] public const int KEY_HANJA; [CCode (cheader_filename = "linux/input.h")] public const int KEY_YEN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_LEFTMETA; [CCode (cheader_filename = "linux/input.h")] public const int KEY_RIGHTMETA; [CCode (cheader_filename = "linux/input.h")] public const int KEY_COMPOSE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_STOP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_AGAIN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PROPS; [CCode (cheader_filename = "linux/input.h")] public const int KEY_UNDO; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FRONT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_COPY; [CCode (cheader_filename = "linux/input.h")] public const int KEY_OPEN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PASTE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FIND; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CUT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_HELP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_MENU; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CALC; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SETUP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SLEEP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_WAKEUP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FILE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SENDFILE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_DELETEFILE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_XFER; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PROG1; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PROG2; [CCode (cheader_filename = "linux/input.h")] public const int KEY_WWW; [CCode (cheader_filename = "linux/input.h")] public const int KEY_MSDOS; [CCode (cheader_filename = "linux/input.h")] public const int KEY_COFFEE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SCREENLOCK; [CCode (cheader_filename = "linux/input.h")] public const int KEY_DIRECTION; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CYCLEWINDOWS; [CCode (cheader_filename = "linux/input.h")] public const int KEY_MAIL; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BOOKMARKS; [CCode (cheader_filename = "linux/input.h")] public const int KEY_COMPUTER; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BACK; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FORWARD; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CLOSECD; [CCode (cheader_filename = "linux/input.h")] public const int KEY_EJECTCD; [CCode (cheader_filename = "linux/input.h")] public const int KEY_EJECTCLOSECD; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NEXTSONG; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PLAYPAUSE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PREVIOUSSONG; [CCode (cheader_filename = "linux/input.h")] public const int KEY_STOPCD; [CCode (cheader_filename = "linux/input.h")] public const int KEY_RECORD; [CCode (cheader_filename = "linux/input.h")] public const int KEY_REWIND; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PHONE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_ISO; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CONFIG; [CCode (cheader_filename = "linux/input.h")] public const int KEY_HOMEPAGE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_REFRESH; [CCode (cheader_filename = "linux/input.h")] public const int KEY_EXIT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_MOVE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_EDIT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SCROLLUP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SCROLLDOWN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KPLEFTPAREN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KPRIGHTPAREN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NEW; [CCode (cheader_filename = "linux/input.h")] public const int KEY_REDO; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F13; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F14; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F15; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F16; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F17; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F18; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F19; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F20; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F21; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F22; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F23; [CCode (cheader_filename = "linux/input.h")] public const int KEY_F24; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PLAYCD; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PAUSECD; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PROG3; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PROG4; [CCode (cheader_filename = "linux/input.h")] public const int KEY_DASHBOARD; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SUSPEND; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CLOSE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PLAY; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FASTFORWARD; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BASSBOOST; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PRINT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_HP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CAMERA; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SOUND; [CCode (cheader_filename = "linux/input.h")] public const int KEY_QUESTION; [CCode (cheader_filename = "linux/input.h")] public const int KEY_EMAIL; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CHAT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SEARCH; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CONNECT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FINANCE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SPORT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SHOP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_ALTERASE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CANCEL; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BRIGHTNESSDOWN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BRIGHTNESSUP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_MEDIA; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SWITCHVIDEOMODE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KBDILLUMTOGGLE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KBDILLUMDOWN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KBDILLUMUP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SEND; [CCode (cheader_filename = "linux/input.h")] public const int KEY_REPLY; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FORWARDMAIL; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SAVE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_DOCUMENTS; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BATTERY; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BLUETOOTH; [CCode (cheader_filename = "linux/input.h")] public const int KEY_WLAN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_UWB; [CCode (cheader_filename = "linux/input.h")] public const int KEY_UNKNOWN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_VIDEO_NEXT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_VIDEO_PREV; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BRIGHTNESS_CYCLE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BRIGHTNESS_AUTO; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BRIGHTNESS_ZERO; [CCode (cheader_filename = "linux/input.h")] public const int KEY_DISPLAY_OFF; [CCode (cheader_filename = "linux/input.h")] public const int KEY_WWAN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_WIMAX; [CCode (cheader_filename = "linux/input.h")] public const int KEY_RFKILL; [CCode (cheader_filename = "linux/input.h")] public const int KEY_MICMUTE; /* Code 255 is reserved for special needs of AT keyboard driver */ [CCode (cheader_filename = "linux/input.h")] public const int BTN_MISC; [CCode (cheader_filename = "linux/input.h")] public const int BTN_0; [CCode (cheader_filename = "linux/input.h")] public const int BTN_1; [CCode (cheader_filename = "linux/input.h")] public const int BTN_2; [CCode (cheader_filename = "linux/input.h")] public const int BTN_3; [CCode (cheader_filename = "linux/input.h")] public const int BTN_4; [CCode (cheader_filename = "linux/input.h")] public const int BTN_5; [CCode (cheader_filename = "linux/input.h")] public const int BTN_6; [CCode (cheader_filename = "linux/input.h")] public const int BTN_7; [CCode (cheader_filename = "linux/input.h")] public const int BTN_8; [CCode (cheader_filename = "linux/input.h")] public const int BTN_9; [CCode (cheader_filename = "linux/input.h")] public const int BTN_MOUSE; [CCode (cheader_filename = "linux/input.h")] public const int BTN_LEFT; [CCode (cheader_filename = "linux/input.h")] public const int BTN_RIGHT; [CCode (cheader_filename = "linux/input.h")] public const int BTN_MIDDLE; [CCode (cheader_filename = "linux/input.h")] public const int BTN_SIDE; [CCode (cheader_filename = "linux/input.h")] public const int BTN_EXTRA; [CCode (cheader_filename = "linux/input.h")] public const int BTN_FORWARD; [CCode (cheader_filename = "linux/input.h")] public const int BTN_BACK; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TASK; [CCode (cheader_filename = "linux/input.h")] public const int BTN_JOYSTICK; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER; [CCode (cheader_filename = "linux/input.h")] public const int BTN_THUMB; [CCode (cheader_filename = "linux/input.h")] public const int BTN_THUMB2; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TOP; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TOP2; [CCode (cheader_filename = "linux/input.h")] public const int BTN_PINKIE; [CCode (cheader_filename = "linux/input.h")] public const int BTN_BASE; [CCode (cheader_filename = "linux/input.h")] public const int BTN_BASE2; [CCode (cheader_filename = "linux/input.h")] public const int BTN_BASE3; [CCode (cheader_filename = "linux/input.h")] public const int BTN_BASE4; [CCode (cheader_filename = "linux/input.h")] public const int BTN_BASE5; [CCode (cheader_filename = "linux/input.h")] public const int BTN_BASE6; [CCode (cheader_filename = "linux/input.h")] public const int BTN_DEAD; [CCode (cheader_filename = "linux/input.h")] public const int BTN_GAMEPAD; [CCode (cheader_filename = "linux/input.h")] public const int BTN_A; [CCode (cheader_filename = "linux/input.h")] public const int BTN_B; [CCode (cheader_filename = "linux/input.h")] public const int BTN_C; [CCode (cheader_filename = "linux/input.h")] public const int BTN_X; [CCode (cheader_filename = "linux/input.h")] public const int BTN_Y; [CCode (cheader_filename = "linux/input.h")] public const int BTN_Z; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TL; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TR; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TL2; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TR2; [CCode (cheader_filename = "linux/input.h")] public const int BTN_SELECT; [CCode (cheader_filename = "linux/input.h")] public const int BTN_START; [CCode (cheader_filename = "linux/input.h")] public const int BTN_MODE; [CCode (cheader_filename = "linux/input.h")] public const int BTN_THUMBL; [CCode (cheader_filename = "linux/input.h")] public const int BTN_THUMBR; [CCode (cheader_filename = "linux/input.h")] public const int BTN_DIGI; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TOOL_PEN; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TOOL_RUBBER; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TOOL_BRUSH; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TOOL_PENCIL; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TOOL_AIRBRUSH; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TOOL_FINGER; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TOOL_MOUSE; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TOOL_LENS; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TOOL_QUINTTAP; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TOUCH; [CCode (cheader_filename = "linux/input.h")] public const int BTN_STYLUS; [CCode (cheader_filename = "linux/input.h")] public const int BTN_STYLUS2; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TOOL_DOUBLETAP; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TOOL_TRIPLETAP; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TOOL_QUADTAP; [CCode (cheader_filename = "linux/input.h")] public const int BTN_WHEEL; [CCode (cheader_filename = "linux/input.h")] public const int BTN_GEAR_DOWN; [CCode (cheader_filename = "linux/input.h")] public const int BTN_GEAR_UP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_OK; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SELECT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_GOTO; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CLEAR; [CCode (cheader_filename = "linux/input.h")] public const int KEY_POWER2; [CCode (cheader_filename = "linux/input.h")] public const int KEY_OPTION; [CCode (cheader_filename = "linux/input.h")] public const int KEY_INFO; [CCode (cheader_filename = "linux/input.h")] public const int KEY_TIME; [CCode (cheader_filename = "linux/input.h")] public const int KEY_VENDOR; [CCode (cheader_filename = "linux/input.h")] public const int KEY_ARCHIVE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PROGRAM; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CHANNEL; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FAVORITES; [CCode (cheader_filename = "linux/input.h")] public const int KEY_EPG; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PVR; [CCode (cheader_filename = "linux/input.h")] public const int KEY_MHP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_LANGUAGE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_TITLE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SUBTITLE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_ANGLE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_ZOOM; [CCode (cheader_filename = "linux/input.h")] public const int KEY_MODE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KEYBOARD; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SCREEN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PC; [CCode (cheader_filename = "linux/input.h")] public const int KEY_TV; [CCode (cheader_filename = "linux/input.h")] public const int KEY_TV2; [CCode (cheader_filename = "linux/input.h")] public const int KEY_VCR; [CCode (cheader_filename = "linux/input.h")] public const int KEY_VCR2; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SAT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SAT2; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CD; [CCode (cheader_filename = "linux/input.h")] public const int KEY_TAPE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_RADIO; [CCode (cheader_filename = "linux/input.h")] public const int KEY_TUNER; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PLAYER; [CCode (cheader_filename = "linux/input.h")] public const int KEY_TEXT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_DVD; [CCode (cheader_filename = "linux/input.h")] public const int KEY_AUX; [CCode (cheader_filename = "linux/input.h")] public const int KEY_MP3; [CCode (cheader_filename = "linux/input.h")] public const int KEY_AUDIO; [CCode (cheader_filename = "linux/input.h")] public const int KEY_VIDEO; [CCode (cheader_filename = "linux/input.h")] public const int KEY_DIRECTORY; [CCode (cheader_filename = "linux/input.h")] public const int KEY_LIST; [CCode (cheader_filename = "linux/input.h")] public const int KEY_MEMO; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CALENDAR; [CCode (cheader_filename = "linux/input.h")] public const int KEY_RED; [CCode (cheader_filename = "linux/input.h")] public const int KEY_GREEN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_YELLOW; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BLUE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CHANNELUP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CHANNELDOWN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FIRST; [CCode (cheader_filename = "linux/input.h")] public const int KEY_LAST; [CCode (cheader_filename = "linux/input.h")] public const int KEY_AB; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NEXT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_RESTART; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SLOW; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SHUFFLE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BREAK; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PREVIOUS; [CCode (cheader_filename = "linux/input.h")] public const int KEY_DIGITS; [CCode (cheader_filename = "linux/input.h")] public const int KEY_TEEN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_TWEN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_VIDEOPHONE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_GAMES; [CCode (cheader_filename = "linux/input.h")] public const int KEY_ZOOMIN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_ZOOMOUT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_ZOOMRESET; [CCode (cheader_filename = "linux/input.h")] public const int KEY_WORDPROCESSOR; [CCode (cheader_filename = "linux/input.h")] public const int KEY_EDITOR; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SPREADSHEET; [CCode (cheader_filename = "linux/input.h")] public const int KEY_GRAPHICSEDITOR; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PRESENTATION; [CCode (cheader_filename = "linux/input.h")] public const int KEY_DATABASE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NEWS; [CCode (cheader_filename = "linux/input.h")] public const int KEY_VOICEMAIL; [CCode (cheader_filename = "linux/input.h")] public const int KEY_ADDRESSBOOK; [CCode (cheader_filename = "linux/input.h")] public const int KEY_MESSENGER; [CCode (cheader_filename = "linux/input.h")] public const int KEY_DISPLAYTOGGLE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BRIGHTNESS_TOGGLE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SPELLCHECK; [CCode (cheader_filename = "linux/input.h")] public const int KEY_LOGOFF; [CCode (cheader_filename = "linux/input.h")] public const int KEY_DOLLAR; [CCode (cheader_filename = "linux/input.h")] public const int KEY_EURO; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FRAMEBACK; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FRAMEFORWARD; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CONTEXT_MENU; [CCode (cheader_filename = "linux/input.h")] public const int KEY_MEDIA_REPEAT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_10CHANNELSUP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_10CHANNELSDOWN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_IMAGES; [CCode (cheader_filename = "linux/input.h")] public const int KEY_DEL_EOL; [CCode (cheader_filename = "linux/input.h")] public const int KEY_DEL_EOS; [CCode (cheader_filename = "linux/input.h")] public const int KEY_INS_LINE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_DEL_LINE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FN_ESC; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FN_F1; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FN_F2; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FN_F3; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FN_F4; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FN_F5; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FN_F6; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FN_F7; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FN_F8; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FN_F9; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FN_F10; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FN_F11; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FN_F12; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FN_1; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FN_2; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FN_D; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FN_E; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FN_F; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FN_S; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FN_B; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BRL_DOT1; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BRL_DOT2; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BRL_DOT3; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BRL_DOT4; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BRL_DOT5; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BRL_DOT6; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BRL_DOT7; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BRL_DOT8; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BRL_DOT9; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BRL_DOT10; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NUMERIC_0; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NUMERIC_1; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NUMERIC_2; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NUMERIC_3; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NUMERIC_4; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NUMERIC_5; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NUMERIC_6; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NUMERIC_7; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NUMERIC_8; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NUMERIC_9; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NUMERIC_STAR; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NUMERIC_POUND; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NUMERIC_A; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NUMERIC_B; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NUMERIC_C; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NUMERIC_D; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CAMERA_FOCUS; [CCode (cheader_filename = "linux/input.h")] public const int KEY_WPS_BUTTON; [CCode (cheader_filename = "linux/input.h")] public const int KEY_TOUCHPAD_TOGGLE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_TOUCHPAD_ON; [CCode (cheader_filename = "linux/input.h")] public const int KEY_TOUCHPAD_OFF; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CAMERA_ZOOMIN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CAMERA_ZOOMOUT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CAMERA_UP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CAMERA_DOWN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CAMERA_LEFT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CAMERA_RIGHT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_ATTENDANT_ON; [CCode (cheader_filename = "linux/input.h")] public const int KEY_ATTENDANT_OFF; [CCode (cheader_filename = "linux/input.h")] public const int KEY_ATTENDANT_TOGGLE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_LIGHTS_TOGGLE; [CCode (cheader_filename = "linux/input.h")] public const int BTN_DPAD_UP; [CCode (cheader_filename = "linux/input.h")] public const int BTN_DPAD_DOWN; [CCode (cheader_filename = "linux/input.h")] public const int BTN_DPAD_LEFT; [CCode (cheader_filename = "linux/input.h")] public const int BTN_DPAD_RIGHT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_ALS_TOGGLE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BUTTONCONFIG; [CCode (cheader_filename = "linux/input.h")] public const int KEY_TASKMANAGER; [CCode (cheader_filename = "linux/input.h")] public const int KEY_JOURNAL; [CCode (cheader_filename = "linux/input.h")] public const int KEY_CONTROLPANEL; [CCode (cheader_filename = "linux/input.h")] public const int KEY_APPSELECT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SCREENSAVER; [CCode (cheader_filename = "linux/input.h")] public const int KEY_VOICECOMMAND; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BRIGHTNESS_MIN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_BRIGHTNESS_MAX; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KBDINPUTASSIST_PREV; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KBDINPUTASSIST_NEXT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KBDINPUTASSIST_PREVGROUP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KBDINPUTASSIST_NEXTGROUP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KBDINPUTASSIST_ACCEPT; [CCode (cheader_filename = "linux/input.h")] public const int KEY_KBDINPUTASSIST_CANCEL; [CCode (cheader_filename = "linux/input.h")] public const int KEY_RIGHT_UP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_RIGHT_DOWN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_LEFT_UP; [CCode (cheader_filename = "linux/input.h")] public const int KEY_LEFT_DOWN; [CCode (cheader_filename = "linux/input.h")] public const int KEY_ROOT_MENU; [CCode (cheader_filename = "linux/input.h")] public const int KEY_MEDIA_TOP_MENU; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NUMERIC_11; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NUMERIC_12; [CCode (cheader_filename = "linux/input.h")] public const int KEY_AUDIO_DESC; [CCode (cheader_filename = "linux/input.h")] public const int KEY_3D_MODE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_NEXT_FAVORITE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_STOP_RECORD; [CCode (cheader_filename = "linux/input.h")] public const int KEY_PAUSE_RECORD; [CCode (cheader_filename = "linux/input.h")] public const int KEY_VOD; [CCode (cheader_filename = "linux/input.h")] public const int KEY_UNMUTE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_FASTREVERSE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_SLOWREVERSE; [CCode (cheader_filename = "linux/input.h")] public const int KEY_DATA; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY1; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY2; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY3; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY4; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY5; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY6; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY7; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY8; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY9; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY10; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY11; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY12; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY13; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY14; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY15; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY16; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY17; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY18; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY19; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY20; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY21; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY22; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY23; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY24; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY25; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY26; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY27; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY28; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY29; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY30; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY31; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY32; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY33; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY34; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY35; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY36; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY37; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY38; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY39; [CCode (cheader_filename = "linux/input.h")] public const int BTN_TRIGGER_HAPPY40; [CCode (cheader_filename = "linux/input.h")] public const int KEY_MIN_INTERESTING; [CCode (cheader_filename = "linux/input.h")] public const int KEY_MAX; /* * Relative axes */ [CCode (cheader_filename = "linux/input.h")] public const int REL_X; [CCode (cheader_filename = "linux/input.h")] public const int REL_Y; [CCode (cheader_filename = "linux/input.h")] public const int REL_Z; [CCode (cheader_filename = "linux/input.h")] public const int REL_RX; [CCode (cheader_filename = "linux/input.h")] public const int REL_RY; [CCode (cheader_filename = "linux/input.h")] public const int REL_RZ; [CCode (cheader_filename = "linux/input.h")] public const int REL_HWHEEL; [CCode (cheader_filename = "linux/input.h")] public const int REL_DIAL; [CCode (cheader_filename = "linux/input.h")] public const int REL_WHEEL; [CCode (cheader_filename = "linux/input.h")] public const int REL_MISC; [CCode (cheader_filename = "linux/input.h")] public const int REL_MAX; /* * Absolute axes */ [CCode (cheader_filename = "linux/input.h")] public const int ABS_X; [CCode (cheader_filename = "linux/input.h")] public const int ABS_Y; [CCode (cheader_filename = "linux/input.h")] public const int ABS_Z; [CCode (cheader_filename = "linux/input.h")] public const int ABS_RX; [CCode (cheader_filename = "linux/input.h")] public const int ABS_RY; [CCode (cheader_filename = "linux/input.h")] public const int ABS_RZ; [CCode (cheader_filename = "linux/input.h")] public const int ABS_THROTTLE; [CCode (cheader_filename = "linux/input.h")] public const int ABS_RUDDER; [CCode (cheader_filename = "linux/input.h")] public const int ABS_WHEEL; [CCode (cheader_filename = "linux/input.h")] public const int ABS_GAS; [CCode (cheader_filename = "linux/input.h")] public const int ABS_BRAKE; [CCode (cheader_filename = "linux/input.h")] public const int ABS_HAT0X; [CCode (cheader_filename = "linux/input.h")] public const int ABS_HAT0Y; [CCode (cheader_filename = "linux/input.h")] public const int ABS_HAT1X; [CCode (cheader_filename = "linux/input.h")] public const int ABS_HAT1Y; [CCode (cheader_filename = "linux/input.h")] public const int ABS_HAT2X; [CCode (cheader_filename = "linux/input.h")] public const int ABS_HAT2Y; [CCode (cheader_filename = "linux/input.h")] public const int ABS_HAT3X; [CCode (cheader_filename = "linux/input.h")] public const int ABS_HAT3Y; [CCode (cheader_filename = "linux/input.h")] public const int ABS_PRESSURE; [CCode (cheader_filename = "linux/input.h")] public const int ABS_DISTANCE; [CCode (cheader_filename = "linux/input.h")] public const int ABS_TILT_X; [CCode (cheader_filename = "linux/input.h")] public const int ABS_TILT_Y; [CCode (cheader_filename = "linux/input.h")] public const int ABS_TOOL_WIDTH; [CCode (cheader_filename = "linux/input.h")] public const int ABS_VOLUME; [CCode (cheader_filename = "linux/input.h")] public const int ABS_MISC; [CCode (cheader_filename = "linux/input.h")] public const int ABS_MT_SLOT; [CCode (cheader_filename = "linux/input.h")] public const int ABS_MT_TOUCH_MAJOR; [CCode (cheader_filename = "linux/input.h")] public const int ABS_MT_TOUCH_MINOR; [CCode (cheader_filename = "linux/input.h")] public const int ABS_MT_WIDTH_MAJOR; [CCode (cheader_filename = "linux/input.h")] public const int ABS_MT_WIDTH_MINOR; [CCode (cheader_filename = "linux/input.h")] public const int ABS_MT_ORIENTATION; [CCode (cheader_filename = "linux/input.h")] public const int ABS_MT_POSITION_X; [CCode (cheader_filename = "linux/input.h")] public const int ABS_MT_POSITION_Y; [CCode (cheader_filename = "linux/input.h")] public const int ABS_MT_TOOL_TYPE; [CCode (cheader_filename = "linux/input.h")] public const int ABS_MT_BLOB_ID; [CCode (cheader_filename = "linux/input.h")] public const int ABS_MT_TRACKING_ID; [CCode (cheader_filename = "linux/input.h")] public const int ABS_MT_PRESSURE; [CCode (cheader_filename = "linux/input.h")] public const int ABS_MT_DISTANCE; [CCode (cheader_filename = "linux/input.h")] public const int ABS_MT_TOOL_X; [CCode (cheader_filename = "linux/input.h")] public const int ABS_MT_TOOL_Y; [CCode (cheader_filename = "linux/input.h")] public const int ABS_MAX; /* * Switch events */ [CCode (cheader_filename = "linux/input.h")] public const int SW_LID; [CCode (cheader_filename = "linux/input.h")] public const int SW_TABLET_MODE; [CCode (cheader_filename = "linux/input.h")] public const int SW_HEADPHONE_INSERT; [CCode (cheader_filename = "linux/input.h")] public const int SW_RFKILL_ALL; [CCode (cheader_filename = "linux/input.h")] public const int SW_RADIO; [CCode (cheader_filename = "linux/input.h")] public const int SW_MICROPHONE_INSERT; [CCode (cheader_filename = "linux/input.h")] public const int SW_DOCK; [CCode (cheader_filename = "linux/input.h")] public const int SW_LINEOUT_INSERT; [CCode (cheader_filename = "linux/input.h")] public const int SW_JACK_PHYSICAL_INSERT; [CCode (cheader_filename = "linux/input.h")] public const int SW_VIDEOOUT_INSERT; [CCode (cheader_filename = "linux/input.h")] public const int SW_CAMERA_LENS_COVER; [CCode (cheader_filename = "linux/input.h")] public const int SW_KEYPAD_SLIDE; [CCode (cheader_filename = "linux/input.h")] public const int SW_FRONT_PROXIMITY; [CCode (cheader_filename = "linux/input.h")] public const int SW_ROTATE_LOCK; [CCode (cheader_filename = "linux/input.h")] public const int SW_LINEIN_INSERT; [CCode (cheader_filename = "linux/input.h")] public const int SW_MUTE_DEVICE; [CCode (cheader_filename = "linux/input.h")] public const int SW_PEN_INSERTED; [CCode (cheader_filename = "linux/input.h")] public const int SW_MAX; /* * Misc events */ [CCode (cheader_filename = "linux/input.h")] public const int MSC_SERIAL; [CCode (cheader_filename = "linux/input.h")] public const int MSC_PULSELED; [CCode (cheader_filename = "linux/input.h")] public const int MSC_GESTURE; [CCode (cheader_filename = "linux/input.h")] public const int MSC_RAW; [CCode (cheader_filename = "linux/input.h")] public const int MSC_SCAN; [CCode (cheader_filename = "linux/input.h")] public const int MSC_TIMESTAMP; [CCode (cheader_filename = "linux/input.h")] public const int MSC_MAX; /* * LEDs */ [CCode (cheader_filename = "linux/input.h")] public const int LED_NUML; [CCode (cheader_filename = "linux/input.h")] public const int LED_CAPSL; [CCode (cheader_filename = "linux/input.h")] public const int LED_SCROLLL; [CCode (cheader_filename = "linux/input.h")] public const int LED_COMPOSE; [CCode (cheader_filename = "linux/input.h")] public const int LED_KANA; [CCode (cheader_filename = "linux/input.h")] public const int LED_SLEEP; [CCode (cheader_filename = "linux/input.h")] public const int LED_SUSPEND; [CCode (cheader_filename = "linux/input.h")] public const int LED_MUTE; [CCode (cheader_filename = "linux/input.h")] public const int LED_MISC; [CCode (cheader_filename = "linux/input.h")] public const int LED_MAIL; [CCode (cheader_filename = "linux/input.h")] public const int LED_CHARGING; [CCode (cheader_filename = "linux/input.h")] public const int LED_MAX; /* * Autorepeat values */ [CCode (cheader_filename = "linux/input.h")] public const int REP_DELAY; [CCode (cheader_filename = "linux/input.h")] public const int REP_PERIOD; [CCode (cheader_filename = "linux/input.h")] public const int REP_MAX; /* * Sounds */ [CCode (cheader_filename = "linux/input.h")] public const int SND_CLICK; [CCode (cheader_filename = "linux/input.h")] public const int SND_BELL; [CCode (cheader_filename = "linux/input.h")] public const int SND_TONE; [CCode (cheader_filename = "linux/input.h")] public const int SND_MAX; /* * IDs. */ [CCode (cheader_filename = "linux/input.h")] public const int ID_BUS; [CCode (cheader_filename = "linux/input.h")] public const int ID_VENDOR; [CCode (cheader_filename = "linux/input.h")] public const int ID_PRODUCT; [CCode (cheader_filename = "linux/input.h")] public const int ID_VERSION; [CCode (cheader_filename = "linux/input.h")] public const int BUS_PCI; [CCode (cheader_filename = "linux/input.h")] public const int BUS_ISAPNP; [CCode (cheader_filename = "linux/input.h")] public const int BUS_USB; [CCode (cheader_filename = "linux/input.h")] public const int BUS_HIL; [CCode (cheader_filename = "linux/input.h")] public const int BUS_BLUETOOTH; [CCode (cheader_filename = "linux/input.h")] public const int BUS_VIRTUAL; [CCode (cheader_filename = "linux/input.h")] public const int BUS_ISA; [CCode (cheader_filename = "linux/input.h")] public const int BUS_I8042; [CCode (cheader_filename = "linux/input.h")] public const int BUS_XTKBD; [CCode (cheader_filename = "linux/input.h")] public const int BUS_RS232; [CCode (cheader_filename = "linux/input.h")] public const int BUS_GAMEPORT; [CCode (cheader_filename = "linux/input.h")] public const int BUS_PARPORT; [CCode (cheader_filename = "linux/input.h")] public const int BUS_AMIGA; [CCode (cheader_filename = "linux/input.h")] public const int BUS_ADB; [CCode (cheader_filename = "linux/input.h")] public const int BUS_I2C; [CCode (cheader_filename = "linux/input.h")] public const int BUS_HOST; [CCode (cheader_filename = "linux/input.h")] public const int BUS_GSC; [CCode (cheader_filename = "linux/input.h")] public const int BUS_ATARI; /* MT_TOOL types */ [CCode (cheader_filename = "linux/input.h")] public const int MT_TOOL_FINGER; [CCode (cheader_filename = "linux/input.h")] public const int MT_TOOL_PEN; [CCode (cheader_filename = "linux/input.h")] public const int MT_TOOL_PALM; [CCode (cheader_filename = "linux/input.h")] public const int MT_TOOL_MAX; /* Values describing the status of a force-feedback effect */ [CCode (cheader_filename = "linux/input.h")] public const int FF_STATUS_STOPPED; [CCode (cheader_filename = "linux/input.h")] public const int FF_STATUS_PLAYING; [CCode (cheader_filename = "linux/input.h")] public const int FF_STATUS_MAX; } /* * Netlink subsystem */ [CCode (cprefix = "", lower_case_cprefix = "", cheader_filename = "linux/netlink.h")] namespace Netlink { [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_ROUTE; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_UNUSED; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_USERSOCK; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_FIREWALL; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_INET_DIAG; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_NFLOG; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_XFRM; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_SELINUX; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_ISCSI; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_AUDIT; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_FIB_LOOKUP; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_CONNECTOR; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_NETFILTER; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_IP6_FW; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_DNRTMSG; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_KOBJECT_UEVENT; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_GENERIC; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_SCSITRANSPORT; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_ECRYPTFS; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_ADD_MEMBERSHIP; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_DROP_MEMBERSHIP; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_PKTINFO; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_BROADCAST_ERROR; [CCode (cheader_filename = "linux/netlink.h")] public const int NETLINK_NO_ENOBUFS; [CCode (cheader_filename = "linux/netlink.h")] public const int NLM_F_REQUEST; [CCode (cheader_filename = "linux/netlink.h")] public const int NLM_F_MULTI; [CCode (cheader_filename = "linux/netlink.h")] public const int NLM_F_ACK; [CCode (cheader_filename = "linux/netlink.h")] public const int NLM_F_ECHO; [CCode (cheader_filename = "linux/netlink.h")] public const int NLM_F_ROOT; [CCode (cheader_filename = "linux/netlink.h")] public const int NLM_F_MATCH; [CCode (cheader_filename = "linux/netlink.h")] public const int NLM_F_ATOMIC; [CCode (cheader_filename = "linux/netlink.h")] public const int NLM_F_DUMP; [CCode (cheader_filename = "linux/netlink.h")] public const int NLM_F_REPLACE; [CCode (cheader_filename = "linux/netlink.h")] public const int NLM_F_EXCL; [CCode (cheader_filename = "linux/netlink.h")] public const int NLM_F_CREATE; [CCode (cheader_filename = "linux/netlink.h")] public const int NLM_F_APPEND; [CCode (cheader_filename = "linux/netlink.h")] public const int NLMSG_ALIGNTO; [CCode (cheader_filename = "linux/netlink.h")] public const int NLMSG_NOOP; [CCode (cheader_filename = "linux/netlink.h")] public const int NLMSG_ERROR; [CCode (cheader_filename = "linux/netlink.h")] public const int NLMSG_DONE; [CCode (cheader_filename = "linux/netlink.h")] public const int NLMSG_OVERRUN; [CCode (cheader_filename = "linux/netlink.h")] public const int NLMSG_MIN_TYPE; /* netlink action macros, we bind them as functions for convenience */ [CCode (cheader_filename = "linux/netlink.h")] public void NLMSG_ALIGN (int len); [CCode (cheader_filename = "linux/netlink.h")] public int NLMSG_HDRLEN (); [CCode (cheader_filename = "linux/netlink.h")] public int NLMSG_LENGTH (int len); [CCode (cheader_filename = "linux/netlink.h")] public void NLMSG_SPACE (int len); [CCode (cheader_filename = "linux/netlink.h")] public void* NLMSG_DATA (NlMsgHdr nlh); [CCode (cheader_filename = "linux/netlink.h")] public unowned NlMsgHdr NLMSG_NEXT (NlMsgHdr nlh, int len); [CCode (cheader_filename = "linux/netlink.h")] public bool NLMSG_OK (NlMsgHdr nlh, int len); [CCode (cheader_filename = "linux/netlink.h")] public int NLMSG_PAYLOAD (NlMsgHdr nlh, int len); // netlink socket, can be used instead of sockaddr [CCode (cname = "struct sockaddr_nl", has_type_id = false, cheader_filename = "linux/netlink.h", destroy_function = "")] public struct SockAddrNl { public int nl_family; public ushort nl_pad; public uint32 nl_pid; public uint32 nl_groups; } // netlink message header [CCode (cname = "struct nlmsghdr", has_type_id = false, cheader_filename = "linux/netlink.h", destroy_function = "")] public struct NlMsgHdr { public uint32 nlmsg_len; public uint16 nlmsg_type; public uint16 nlmsg_flags; public uint32 nlmsg_seq; public uint32 nlmsg_pid; } // netlink error message [CCode (cname = "struct nlmsgerr", has_type_id = false, cheader_filename = "linux/netlink.h", destroy_function = "")] public struct NlMsgErr { public int error; public NlMsgHdr msg; } // rtnetlink multicast groups ( userland compatibility values ) [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTMGRP_LINK; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTMGRP_NOTIFY; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTMGRP_NEIGH; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTMGRP_TC; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTMGRP_IPV4_IFADDR; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTMGRP_IPV4_MROUTE; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTMGRP_IPV4_ROUTE; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTMGRP_IPV4_RULE; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTMGRP_IPV6_IFADDR; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTMGRP_IPV6_MROUTE; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTMGRP_IPV6_ROUTE; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTMGRP_IPV6_IFINFO; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTMGRP_DECnet_IFADDR; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTMGRP_DECnet_ROUTE; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTMGRP_IPV6_PREFIX; // rtnetlink multicast groups ( 1 << group ) [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_NONE; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_LINK; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_NOTIFY; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_NEIGH; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_TC; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_IPV4_IFADDR; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_IPV4_MROUTE; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_IPV4_ROUTE; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_IPV4_RULE; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_IPV6_IFADDR; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_IPV6_MROUTE; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_IPV6_ROUTE; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_IPV6_IFINFO; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_DECnet_IFADDR; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_NOP2; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_DECnet_ROUTE; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_DECnet_RULE; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_NOP4; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_IPV6_PREFIX; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_IPV6_RULE; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_ND_USEROPT; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_PHONET_IFADDR; [CCode (cheader_filename = "linux/rtnetlink.h")] public const int RTNLGRP_PHONET_ROUTE; /* rtnetlink action macros, we bind them as functions for convenience */ [CCode (cheader_filename = "linux/rtnetlink.h")] public void RTA_ALIGN (int len); [CCode (cheader_filename = "linux/rtnetlink.h")] public int RTA_HDRLEN (); [CCode (cheader_filename = "linux/rtnetlink.h")] public int RTA_LENGTH (int len); [CCode (cheader_filename = "linux/rtnetlink.h")] public void RTA_SPACE (int len); [CCode (cheader_filename = "linux/rtnetlink.h")] public void* RTA_DATA (RtAttr* rta); [CCode (cheader_filename = "linux/rtnetlink.h")] public RtAttr* RTA_NEXT (RtAttr* rta, int len); [CCode (cheader_filename = "linux/rtnetlink.h")] public bool RTA_OK (RtAttr* rta, int len); [CCode (cheader_filename = "linux/rtnetlink.h")] public void* RTA_PAYLOAD (RtAttr* rta, int len); /* [CCode (cheader_filename = "sys/socket.h", sentinel = "")] public int bind (int sockfd, SockAddrNl addr, ulong length); */ // rtnetlink info message [CCode (cname = "struct ifinfomsg", has_type_id = false, cheader_filename = "linux/rtnetlink.h", destroy_function = "")] public struct IfInfoMsg { public uchar ifi_family; public uchar __ifi_pad; public ushort ifi_type; public int ifi_index; public uint32 ifi_flags; public uint32 ifi_change; } // rtnetlink attribute [CCode (cname = "struct rtattr", has_type_id = false, cheader_filename = "linux/rtnetlink.h", destroy_function = "")] public struct RtAttr { public ushort rta_len; public ushort rta_type; } // rtnetlink routing / discovery messages [CCode (cprefix = "RTM_", has_type_id = false, cheader_filename = "linux/rtnetlink.h")] public enum RtMessageType { NEWLINK, DELLINK, GETLINK, SETLINK, NEWADDR, DELADDR, GETADDR, NEWROUTE, DELROUTE, GETROUTE, NEWNEIGH, DELNEIGH, GETNEIGH, NEWRULE, DELRULE, GETRULE, NEWQDISC, DELQDISC, GETQDISC, NEWTCLASS, DELTCLASS, GETTCLASS, NEWTFILTER, DELTFILTER, GETTFILTER, NEWACTION, DELACTION, GETACTION, NEWPREFIX, GETMULTICAST, GETANYCAST, NEWNEIGHTBL, GETNEIGHTBL, SETNEIGHTBL, } } /* * Real time clock subsystem */ [CCode (cprefix = "", lower_case_cprefix = "")] namespace Rtc { [CCode (cname = "struct rtc_time", cheader_filename = "linux/rtc.h", has_type_id = false)] public struct Time { public int tm_sec; public int tm_min; public int tm_hour; public int tm_mday; public int tm_mon; public int tm_year; public int tm_wday; public int tm_yday; public int tm_isdst; } [CCode (cname = "struct rtc_wkalrm", has_type_id = false, cheader_filename = "linux/rtc.h")] public struct WakeAlarm { public char enabled; public char pending; public Linux.Rtc.Time time; } [CCode (cheader_filename = "linux/rtc.h,sys/ioctl.h")] public const int RTC_RD_TIME; [CCode (cheader_filename = "linux/rtc.h,sys/ioctl.h")] public const int RTC_SET_TIME; [CCode (cheader_filename = "linux/rtc.h,sys/ioctl.h")] public const int RTC_WKALM_RD; [CCode (cheader_filename = "linux/rtc.h,sys/ioctl.h")] public const int RTC_WKALM_SET; } /* * Socket extensions (non-posix) */ [CCode (cprefix = "", lower_case_cprefix = "")] namespace Socket { [CCode (cheader_filename = "sys/socket.h")] public const int AF_NETLINK; [CCode (cheader_filename = "sys/socket.h")] public const int AF_PHONET; [CCode (cheader_filename = "sys/socket.h")] public const int AF_UNSPEC; [CCode (cheader_filename = "sys/socket.h")] public const int SOCK_NONBLOCK; [CCode (cheader_filename = "sys/socket.h")] public const int SOCK_CLOEXEC; [CCode (cname = "struct ucred", has_type_id = false, cheader_filename = "linux/socket.h", destroy_function = "")] public struct ucred { public uint32 pid; public uint32 uid; public uint32 gid; } /* setsockopt(2) level constants */ [CCode (cheader_filename = "linux/socket.h")] public const int SOL_IP; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_TCP; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_UDP; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_IPV6; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_ICMPV6; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_SCTP; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_UDPLITE; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_RAW; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_IPX; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_AX25; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_ATALK; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_NETROM; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_ROSE; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_DECNET; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_X25; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_PACKET; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_ATM; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_AAL; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_IRDA; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_NETBEUI; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_LLC; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_DCCP; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_NETLINK; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_TIPC; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_RXRPC; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_PPPOL2TP; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_BLUETOOTH; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_PNPIPE; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_RDS; [CCode (cheader_filename = "linux/socket.h")] public const int SOL_IUCV; [CCode (cheader_filename = "sys/socket.h")] public const int SOL_SOCKET; [CCode (cheader_filename = "sys/socket.h")] public const int SO_DEBUG; [CCode (cheader_filename = "sys/socket.h")] public const int SO_REUSEADDR; [CCode (cheader_filename = "sys/socket.h")] public const int SO_TYPE; [CCode (cheader_filename = "sys/socket.h")] public const int SO_ERROR; [CCode (cheader_filename = "sys/socket.h")] public const int SO_DONTROUTE; [CCode (cheader_filename = "sys/socket.h")] public const int SO_BROADCAST; [CCode (cheader_filename = "sys/socket.h")] public const int SO_SNDBUF; [CCode (cheader_filename = "sys/socket.h")] public const int SO_RCVBUF; [CCode (cheader_filename = "sys/socket.h")] public const int SO_SNDBUFFORCE; [CCode (cheader_filename = "sys/socket.h")] public const int SO_RCVBUFFORCE; [CCode (cheader_filename = "sys/socket.h")] public const int SO_KEEPALIVE; [CCode (cheader_filename = "sys/socket.h")] public const int SO_OOBINLINE; [CCode (cheader_filename = "sys/socket.h")] public const int SO_NO_CHECK; [CCode (cheader_filename = "sys/socket.h")] public const int SO_PRIORITY; [CCode (cheader_filename = "sys/socket.h")] public const int SO_LINGER; [CCode (cheader_filename = "sys/socket.h")] public const int SO_BSDCOMPAT; [CCode (cheader_filename = "sys/socket.h")] public const int SO_REUSEPORT; [CCode (cheader_filename = "sys/socket.h")] public const int SO_PASSCRED; [CCode (cheader_filename = "sys/socket.h")] public const int SO_PEERCRED; [CCode (cheader_filename = "sys/socket.h")] public const int SO_RCVLOWAT; [CCode (cheader_filename = "sys/socket.h")] public const int SO_SNDLOWAT; [CCode (cheader_filename = "sys/socket.h")] public const int SO_RCVTIMEO; [CCode (cheader_filename = "sys/socket.h")] public const int SO_SNDTIMEO; [CCode (cheader_filename = "sys/socket.h")] public const int SO_SECURITY_AUTHENTICATION; [CCode (cheader_filename = "sys/socket.h")] public const int SO_SECURITY_ENCRYPTION_TRANSPORT; [CCode (cheader_filename = "sys/socket.h")] public const int SO_SECURITY_ENCRYPTION_NETWORK; [CCode (cheader_filename = "sys/socket.h")] public const int SO_BINDTODEVICE; [CCode (cheader_filename = "sys/socket.h")] public const int SO_ATTACH_FILTER; [CCode (cheader_filename = "sys/socket.h")] public const int SO_DETACH_FILTER; [CCode (cheader_filename = "sys/socket.h")] public const int SO_GET_FILTER; [CCode (cheader_filename = "sys/socket.h")] public const int SO_PEERNAME; [CCode (cheader_filename = "sys/socket.h")] public const int SO_TIMESTAMP; [CCode (cheader_filename = "sys/socket.h")] public const int SCM_TIMESTAMP; [CCode (cheader_filename = "sys/socket.h")] public const int SO_ACCEPTCONN; [CCode (cheader_filename = "sys/socket.h")] public const int SO_PEERSEC; [CCode (cheader_filename = "sys/socket.h")] public const int SO_PASSSEC; [CCode (cheader_filename = "sys/socket.h")] public const int SO_TIMESTAMPNS; [CCode (cheader_filename = "sys/socket.h")] public const int SCM_TIMESTAMPNS; [CCode (cheader_filename = "sys/socket.h")] public const int SO_MARK; [CCode (cheader_filename = "sys/socket.h")] public const int SO_TIMESTAMPING; [CCode (cheader_filename = "sys/socket.h")] public const int SCM_TIMESTAMPING; [CCode (cheader_filename = "sys/socket.h")] public const int SO_PROTOCOL; [CCode (cheader_filename = "sys/socket.h")] public const int SO_DOMAIN; [CCode (cheader_filename = "sys/socket.h")] public const int SO_RXQ_OVFL; [CCode (cheader_filename = "sys/socket.h")] public const int SO_WIFI_STATUS; [CCode (cheader_filename = "sys/socket.h")] public const int SCM_WIFI_STATUS; [CCode (cheader_filename = "sys/socket.h")] public const int SO_PEEK_OFF; [CCode (cheader_filename = "sys/socket.h")] public const int SO_NOFCS; [CCode (cheader_filename = "sys/socket.h")] public const int SO_LOCK_FILTER; [CCode (cheader_filename = "sys/socket.h")] public const int SO_SELECT_ERR_QUEUE; [CCode (cheader_filename = "sys/socket.h")] public const int SO_BUSY_POLL; [CCode (cheader_filename = "sys/socket.h")] public const int SO_MAX_PACING_RATE; [CCode (cheader_filename = "sys/socket.h")] public const int SO_BPF_EXTENSIONS; [CCode (cheader_filename = "sys/socket.h")] public const int SO_INCOMING_CPU; [CCode (cheader_filename = "sys/socket.h")] public const int SO_ATTACH_BPF; [CCode (cheader_filename = "sys/socket.h")] public const int SO_DETACH_BPF; [CCode (cheader_filename = "sys/socket.h")] public const int SO_ATTACH_REUSEPORT_CBPF; [CCode (cheader_filename = "sys/socket.h")] public const int SO_ATTACH_REUSEPORT_EBPF; [CCode (cheader_filename = "sys/socket.h")] public const int SO_CNX_ADVICE; } /* * SPI (Serial Peripheral Interface) */ [CCode (cprefix = "", lower_case_cprefix = "")] namespace Spi { [CCode (cname = "spi_ioc_transfer", has_type_id = false, cheader_filename = "linux/spi/spidev.h")] public struct IocTransfer { public uint64 tx_buf; public uint64 rx_buf; public uint32 len; public uint32 speed_hz; public uint16 delay_usecs; public uint8 bits_per_word; public uint8 cs_change; public uint32 pad; } /* mode constants */ [CCode (cheader_filename = "linux/spi/spidev.h")] public const int SPI_CPHA; [CCode (cheader_filename = "linux/spi/spidev.h")] public const int SPI_CPOL; [CCode (cheader_filename = "linux/spi/spidev.h")] public const int SPI_MODE_0; [CCode (cheader_filename = "linux/spi/spidev.h")] public const int SPI_MODE_1; [CCode (cheader_filename = "linux/spi/spidev.h")] public const int SPI_MODE_2; [CCode (cheader_filename = "linux/spi/spidev.h")] public const int SPI_MODE_3; [CCode (cheader_filename = "linux/spi/spidev.h")] public const int SPI_CS_HIGH; [CCode (cheader_filename = "linux/spi/spidev.h")] public const int SPI_LSB_FIRST; [CCode (cheader_filename = "linux/spi/spidev.h")] public const int SPI_3WIRE; [CCode (cheader_filename = "linux/spi/spidev.h")] public const int SPI_LOOP; [CCode (cheader_filename = "linux/spi/spidev.h")] public const int SPI_NO_CS; [CCode (cheader_filename = "linux/spi/spidev.h")] public const int SPI_READY; /* size */ public int SPI_MSGSIZE(int N); public int SPI_IOC_MESSAGE(int N); /* ioctls */ [CCode (cheader_filename = "linux/spi/spidev.h")] public const int SPI_IOC_RD_MODE; [CCode (cheader_filename = "linux/spi/spidev.h")] public const int SPI_IOC_WR_MODE; [CCode (cheader_filename = "linux/spi/spidev.h")] public const int SPI_IOC_RD_LSB_FIRST; [CCode (cheader_filename = "linux/spi/spidev.h")] public const int SPI_IOC_WR_LSB_FIRST; [CCode (cheader_filename = "linux/spi/spidev.h")] public const int SPI_IOC_RD_BITS_PER_WORD; [CCode (cheader_filename = "linux/spi/spidev.h")] public const int SPI_IOC_WR_BITS_PER_WORD; [CCode (cheader_filename = "linux/spi/spidev.h")] public const int SPI_IOC_RD_MAX_SPEED_HZ; [CCode (cheader_filename = "linux/spi/spidev.h")] public const int SPI_IOC_WR_MAX_SPEED_HZ; } /* * Terminal input/output */ [CCode (cprefix = "", lower_case_cprefix = "")] namespace Termios { /* * non-posix functions */ [CCode (cheader_filename = "stdlib.h")] public int ptsname_r (int fd, char[] buf); /* * non-posix flags */ [CCode (cheader_filename = "termios.h")] public const int OLCUC; /* * non-posix constants */ // flow control [CCode (cheader_filename = "termios.h")] public const int CRTSCTS; // v24 modem lines [CCode (cheader_filename = "termios.h")] public const int TIOCM_LE; [CCode (cheader_filename = "termios.h")] public const int TIOCM_DTR; [CCode (cheader_filename = "termios.h")] public const int TIOCM_RTS; [CCode (cheader_filename = "termios.h")] public const int TIOCM_ST; [CCode (cheader_filename = "termios.h")] public const int TIOCM_SR; [CCode (cheader_filename = "termios.h")] public const int TIOCM_CTS; [CCode (cheader_filename = "termios.h")] public const int TIOCM_CARM; [CCode (cheader_filename = "termios.h")] public const int TIOCM_RNG; [CCode (cheader_filename = "termios.h")] public const int TIOCM_DSR; [CCode (cheader_filename = "termios.h")] public const int TIOCM_OUT1; [CCode (cheader_filename = "termios.h")] public const int TIOCM_OUT2; [CCode (cheader_filename = "termios.h")] public const int TIOCM_LOOP; // baud rates [CCode (cheader_filename = "termios.h")] public const int B460800; [CCode (cheader_filename = "termios.h")] public const int B500000; [CCode (cheader_filename = "termios.h")] public const int B576000; [CCode (cheader_filename = "termios.h")] public const int B921600; [CCode (cheader_filename = "termios.h")] public const int B1000000; [CCode (cheader_filename = "termios.h")] public const int B1152000; [CCode (cheader_filename = "termios.h")] public const int B1500000; [CCode (cheader_filename = "termios.h")] public const int B2000000; [CCode (cheader_filename = "termios.h")] public const int B2500000; [CCode (cheader_filename = "termios.h")] public const int B3000000; [CCode (cheader_filename = "termios.h")] public const int B3500000; [CCode (cheader_filename = "termios.h")] public const int B4000000; // misc [CCode (cheader_filename = "termios.h")] public const Posix.tcflag_t CBAUD; [CCode (cheader_filename = "termios.h")] public const Posix.tcflag_t CBAUDEX; [CCode (cheader_filename = "termios.h")] public const Posix.tcflag_t ECHOCTL; [CCode (cheader_filename = "termios.h")] public const Posix.tcflag_t ECHOPRT; [CCode (cheader_filename = "termios.h")] public const Posix.tcflag_t ECHOKE; /* * ioctls */ [CCode (cheader_filename = "sys/ioctl.h")] public const int TCGETS; [CCode (cheader_filename = "sys/ioctl.h")] public const int TCSETS; [CCode (cheader_filename = "sys/ioctl.h")] public const int TCSETSW; [CCode (cheader_filename = "sys/ioctl.h")] public const int TCSETSF; [CCode (cheader_filename = "sys/ioctl.h")] public const int TCGETA; [CCode (cheader_filename = "sys/ioctl.h")] public const int TCSETA; [CCode (cheader_filename = "sys/ioctl.h")] public const int TCSETAW; [CCode (cheader_filename = "sys/ioctl.h")] public const int TCSETAF; [CCode (cheader_filename = "sys/ioctl.h")] public const int TCSBRK; [CCode (cheader_filename = "sys/ioctl.h")] public const int TCXONC; [CCode (cheader_filename = "sys/ioctl.h")] public const int TCFLSH; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCEXCL; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCNXCL; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCSCTTY; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCGPGRP; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCSPGRP; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCOUTQ; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCSTI; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCGWINSZ; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCSWINSZ; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCMGET; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCMBIS; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCMBIC; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCMSET; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCGSOFTCAR; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCSSOFTCAR; [CCode (cheader_filename = "sys/ioctl.h")] public const int FIONREAD; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCINQ; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCLINUX; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCCONS; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCGSERIAL; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCSSERIAL; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCPKT; [CCode (cheader_filename = "sys/ioctl.h")] public const int FIONBIO; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCNOTTY; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCSETD; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCGETD; [CCode (cheader_filename = "sys/ioctl.h")] public const int TCSBRKP; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCSBRK; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCCBRK; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCGSID; [CCode (cheader_filename = "sys/ioctl.h")] public const int TCGETS2; [CCode (cheader_filename = "sys/ioctl.h")] public const int TCSETS2; [CCode (cheader_filename = "sys/ioctl.h")] public const int TCSETSW2; [CCode (cheader_filename = "sys/ioctl.h")] public const int TCSETSF2; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCGRS485; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCSRS485; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCGPTN; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCSPTLCK; [CCode (cheader_filename = "sys/ioctl.h")] public const int TCGETX; [CCode (cheader_filename = "sys/ioctl.h")] public const int TCSETX; [CCode (cheader_filename = "sys/ioctl.h")] public const int TCSETXF; [CCode (cheader_filename = "sys/ioctl.h")] public const int TCSETXW; [CCode (cheader_filename = "sys/ioctl.h")] public const int FIONCLEX; [CCode (cheader_filename = "sys/ioctl.h")] public const int FIOCLEX; [CCode (cheader_filename = "sys/ioctl.h")] public const int FIOASYNC; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCSERCONFIG; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCSERGWILD; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCSERSWILD; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCGLCKTRMIOS; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCSLCKTRMIOS; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCSERGSTRUCT; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCSERGETLSR; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCSERGETMULTI; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCSERSETMULTI; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCMIWAIT; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCGICOUNT; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCGHAYESESP; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCSHAYESESP; [CCode (cheader_filename = "sys/ioctl.h")] public const int FIOQSIZE; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCPKT_DATA; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCPKT_FLUSHREAD; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCPKT_FLUSHWRITE; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCPKT_STOP; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCPKT_START; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCPKT_NOSTOP; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCPKT_DOSTOP; [CCode (cheader_filename = "sys/ioctl.h")] public const int TIOCSER_TEMT; } /* * Userspace Input */ [CCode (cprefix = "", lower_case_cprefix = "")] namespace UserspaceInput { [CCode (cheader_filename = "linux/uinput.h")] public const int VERSION; [CCode (cheader_filename = "linux/uinput.h")] public const int EV_UINPUT; [CCode (cheader_filename = "linux/uinput.h")] public const int UI_FF_UPLOAD; [CCode (cheader_filename = "linux/uinput.h")] public const int UI_FF_ERASE; [CCode (cheader_filename = "linux/uinput.h")] public const int UI_DEV_CREATE; [CCode (cheader_filename = "linux/uinput.h")] public const int UI_DEV_DESTROY; [CCode (cheader_filename = "linux/uinput.h")] public const int UI_SET_EVBIT; [CCode (cheader_filename = "linux/uinput.h")] public const int UI_SET_KEYBIT; [CCode (cheader_filename = "linux/uinput.h")] public const int UI_SET_RELBIT; [CCode (cheader_filename = "linux/uinput.h")] public const int UI_SET_ABSBIT; [CCode (cheader_filename = "linux/uinput.h")] public const int UI_SET_MSCBIT; [CCode (cheader_filename = "linux/uinput.h")] public const int UI_SET_LEDBIT; [CCode (cheader_filename = "linux/uinput.h")] public const int UI_SET_SNDBIT; [CCode (cheader_filename = "linux/uinput.h")] public const int UI_SET_FFBIT; [CCode (cheader_filename = "linux/uinput.h")] public const int UI_SET_PHYS; [CCode (cheader_filename = "linux/uinput.h")] public const int UI_SET_SWBIT; [CCode (cname = "struct uinput_user_dev", cheader_filename = "linux/uinput.h")] struct UserDevice { char name[80]; Input.Id id; int ff_effects_max; int absmax[64]; int absmin[64]; int absfuzz[64]; int absflat[64]; } } /* * Virtual Terminal */ [CCode (cprefix = "", lower_case_cprefix = "")] namespace VirtualTerminal { /* constants */ [CCode (cheader_filename = "linux/vt.h")] public const int MIN_NR_CONSOLES; [CCode (cheader_filename = "linux/vt.h")] public const int MAX_NR_CONSOLES; [CCode (cheader_filename = "linux/vt.h")] public const int MAX_NR_USER_CONSOLES; [CCode (cheader_filename = "linux/vt.h")] public const int VT_OPENQRY; [CCode (cheader_filename = "linux/vt.h")] public const int VT_GETMODE; [CCode (cheader_filename = "linux/vt.h")] public const int VT_SETMODE; [CCode (cheader_filename = "linux/vt.h")] public const int VT_AUTO; [CCode (cheader_filename = "linux/vt.h")] public const int VT_PROCESS; [CCode (cheader_filename = "linux/vt.h")] public const int VT_ACKACQ; [CCode (cheader_filename = "linux/vt.h")] public const int VT_GETSTATE; [CCode (cheader_filename = "linux/vt.h")] public const int VT_SENDSIG; [CCode (cheader_filename = "linux/vt.h")] public const int VT_RELDISP; [CCode (cheader_filename = "linux/vt.h")] public const int VT_ACTIVATE; [CCode (cheader_filename = "linux/vt.h")] public const int VT_WAITACTIVE; [CCode (cheader_filename = "linux/vt.h")] public const int VT_DISALLOCATE; [CCode (cheader_filename = "linux/vt.h")] public const int VT_RESIZE; [CCode (cheader_filename = "linux/vt.h")] public const int VT_RESIZEX; [CCode (cheader_filename = "linux/vt.h")] public const int VT_LOCKSWITCH; [CCode (cheader_filename = "linux/vt.h")] public const int VT_UNLOCKSWITCH; [CCode (cheader_filename = "linux/vt.h")] public const int VT_GETHIFONTMASK; /* structs */ [CCode (cname = "struct vt_mode", has_type_id = false, cheader_filename = "linux/vt.h")] public struct Mode { public char mode; public char waitv; public int16 relsig; public int16 acqsig; public int16 frsig; } [CCode (cname = "struct vt_stat", has_type_id = false, cheader_filename = "linux/vt.h")] public struct Stat { public uint16 v_active; public uint16 v_signal; public uint16 v_state; } [CCode (cname = "struct vt_sizes", has_type_id = false, cheader_filename = "linux/vt.h")] public struct Sizes { public uint16 v_rows; public uint16 v_cols; public uint16 v_scrollsize; } [CCode (cname = "struct vt_consize", has_type_id = false, cheader_filename = "linux/vt.h")] public struct Consize { public uint16 v_rows; public uint16 v_cols; public uint16 v_vlin; public uint16 v_clin; public uint16 v_vcol; public uint16 v_ccol; } } /* * Wireless Extensions (WEXT) Infrastructure */ [CCode (cprefix = "", lower_case_cprefix = "")] namespace WirelessExtensions { [CCode (cname = "struct iw_point", has_type_id = false, cheader_filename = "linux/wireless.h", destroy_function = "")] public struct IwPoint { public void *pointer; public uint16 length; public uint16 flags; } [CCode (cname = "struct iw_param", has_type_id = false, cheader_filename = "linux/wireless.h", destroy_function = "")] public struct IwParam { public int32 value; public uint8 fixed; public uint8 disabled; public uint16 flags; } [CCode (cname = "struct iw_freq", has_type_id = false, cheader_filename = "linux/wireless.h", destroy_function = "")] public struct IwFreq { public int32 m; public int16 e; public uint8 i; public uint8 flags; } [CCode (cname = "struct iw_quality", has_type_id = false, cheader_filename = "linux/wireless.h", destroy_function = "")] public struct IwQuality { public uint8 qual; public uint8 level; public uint8 noise; public uint8 updated; } [CCode (cname = "struct iwreq_data", has_type_id = false, cheader_filename = "linux/wireless.h", destroy_function = "")] public struct IwReqData { [CCode (array_length = false)] public string name; public IwPoint essid; public IwParam nwid; public IwFreq freq; public IwParam sens; public IwParam bitrate; public IwParam txpower; public IwParam rts; public IwParam frag; public uint32 mode; public IwParam retry; public IwPoint encoding; public IwParam power; public IwQuality qual; public Posix.SockAddr ap_addr; public Posix.SockAddr addr; public IwParam param; public IwPoint data; } [CCode (cname = "struct iwreq", has_type_id = false, cheader_filename = "linux/wireless.h", destroy_function = "")] public struct IwReq { [CCode (array_length = false)] public char[] ifr_name; public IwReqData u; } /* constants */ // TBD /* ioctls */ [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWCOMMIT; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWNAME; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWNWID; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWNWID; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWFREQ; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWFREQ; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWMODE; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWMODE; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWSENS; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWSENS; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWRANGE; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWRANGE; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWPRIV; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWPRIV; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWSTATS; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWSTATS; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWSPY; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWSPY; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWTHRSPY; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWTHRSPY; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWAP; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWAP; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWAPLIST; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWSCAN; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWSCAN; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWESSID; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWESSID; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWNICKN; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWNICKN; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWRATE; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWRATE; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWRTS; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWRTS; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWFRAG; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWFRAG; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWTXPOW; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWTXPOW; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWRETRY; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWRETRY; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWENCODE; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWENCODE; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWPOWER; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWPOWER; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWGENIE; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWGENIE; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWMLME; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWAUTH; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWAUTH; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWENCODEEXT; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCGIWENCODEEXT; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCSIWPMKSA; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCIWFIRSTPRIV; [CCode (cheader_filename = "linux/wireless.h")] public const int SIOCIWLASTPRIV; } }