pax_global_header00006660000000000000000000000064135105625030014512gustar00rootroot0000000000000052 comment=66568889139f64d7f7ed384330f912a260ce91fb deepin-voice-recorder-5.0.0/000077500000000000000000000000001351056250300156665ustar00rootroot00000000000000deepin-voice-recorder-5.0.0/.clog.toml000066400000000000000000000002501351056250300175620ustar00rootroot00000000000000[clog] repository = "https://github.com/linuxdeepin/deepin-voice-recorder" from-latest-tag = true changelog = "CHANGELOG.md" [sections] Others = ["chore", "refactor"] deepin-voice-recorder-5.0.0/.gitignore000077500000000000000000000000661351056250300176630ustar00rootroot00000000000000Makefile moc_*.o moc_*.cpp *.o build/ *.qm *.pro.user deepin-voice-recorder-5.0.0/.tx/000077500000000000000000000000001351056250300163775ustar00rootroot00000000000000deepin-voice-recorder-5.0.0/.tx/config000066400000000000000000000006441351056250300175730ustar00rootroot00000000000000[main] host = https://www.transifex.com minimum_perc = 80 mode = developer [deepin-voice-recorder.deepin-voice-recorder] file_filter = translations/deepin-voice-recorder_.ts source_file = translations/deepin-voice-recorder.ts source_lang = en type = QT [deepin-voice-recorder.desktop] file_filter = translations/desktop/desktop_.ts source_file = translations/desktop/desktop.ts source_lang = en type = QT deepin-voice-recorder-5.0.0/.tx/ts2desktop000066400000000000000000000002721351056250300204250ustar00rootroot00000000000000DESKTOP_TEMP_FILE=deepin-voice-recorder.desktop.tmp DESKTOP_SOURCE_FILE=deepin-voice-recorder.desktop DESKTOP_DEST_FILE=deepin-voice-recorder.desktop DESKTOP_TS_DIR=translations/desktop deepin-voice-recorder-5.0.0/CHANGELOG.md000066400000000000000000000023051351056250300174770ustar00rootroot00000000000000 ### 1.4.1 (2019-05-29) #### Bug Fixes * crash when rename a voice ([6ee648b0](https://github.com/linuxdeepin/deepin-voice-recorder/commit/6ee648b0f0631db3089c94e1d87d5ddb54673f1f)) ## 1.4.0 (2019-05-09) #### Others * memory leak ([5104a110](https://github.com/linuxdeepin/deepin-voice-recorder/commit/5104a1109e0eec0e97d512dfed4539240d838f5e)) ### 1.3.10 (2019-04-28) #### Bug Fixes * no service found for - "org.qt-project.qt.audiosource" (#5) ([f807473d](f807473d)) ## 1.3.9 (2018-11-23) * update desktop ## 1.3.8 (2018-10-25) #### Bug Fixes * use build version. ([d28f17db](d28f17db)) ## 1.3.7 (2018-05-25) #### Bug Fixes * visiable lines at list view item on window scale ratio is 1.5 ([5d9e4f46](5d9e4f46)) * Adapt lintian ([2671f23d](2671f23d)) #### Features * add manual id ([d6322fa8](d6322fa8)) # Change Log This is default voice recorder application for Deepin. ## [Unreleased] ## [1.3.6] - 2017-11-06 - Make voice recorder support Qt 5.9 - Use DDesktopServices instead DTrashManager to support FlatPak environment - Synchronous translation deepin-voice-recorder-5.0.0/LICENSE000066400000000000000000001045131351056250300166770ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . deepin-voice-recorder-5.0.0/README.md000066400000000000000000000026061351056250300171510ustar00rootroot00000000000000# Deepin Voice Recorder This is default voice recorder application for Deepin. ## Dependencies In debian, use below command to install compile dependencies: In debian, use below command to install running dependencies: libavcodec57 (>= 7:3.2.2) | libavcodec-extra57 (>= 7:3.2.2), libavformat57 (>= 7:3.2.2), libavutil55 (>= 7:3.2.2), libc6 (>= 2.14), lib(>= 0.2.7), libdtkwidget (>= 0.2.7), libgcc1 (>= 1:3.0), libgl1-mesa-glx | libgl1, libqt5core5a (>= 5.6.0~beta), libqt5gui5 (>= 5.3.0), libqt5multimedia5 (>= 5.6.0~beta), libqt5network5 (>= 5.0.2), libqt5widgets5 (>= 5.6.0~beta), libstdc++6 (>= 5.2) ## Installation * mkdir build * cd build * qmake .. * make * ./deepin-voice-recorder ## Usage ## Config file Configure file save at: ~/.config/deepin/deepin-voice-recorder/config.conf ## Getting help Any usage issues can ask for help via * [Gitter](https://gitter.im/orgs/linuxdeepin/rooms) * [IRC channel](https://webchat.freenode.net/?channels=deepin) * [Forum](https://bbs.deepin.org) * [WiKi](http://wiki.deepin.org/) ## Getting involved We encourage you to report issues and contribute changes * [Contribution guide for users](http://wiki.deepin.org/index.php?title=Contribution_Guidelines_for_Users) * [Contribution guide for developers](http://wiki.deepin.org/index.php?title=Contribution_Guidelines_for_Developers). ## License Deepin Voice Recorder is licensed under [GPLv3](LICENSE). deepin-voice-recorder-5.0.0/debian/000077500000000000000000000000001351056250300171105ustar00rootroot00000000000000deepin-voice-recorder-5.0.0/debian/changelog000066400000000000000000000002401351056250300207560ustar00rootroot00000000000000deepin-voice-recorder (1.3.6-1) unstable; urgency=low * Initial Release. -- Deepin Packages Builder Mon, 06 Nov 2017 06:46:12 +0000 deepin-voice-recorder-5.0.0/debian/compat000066400000000000000000000000021351056250300203060ustar00rootroot000000000000009 deepin-voice-recorder-5.0.0/debian/control000066400000000000000000000010111351056250300205040ustar00rootroot00000000000000Source: deepin-voice-recorder Section: utils Priority: optional Maintainer: Deepin Packages Builder Build-Depends: debhelper (>= 9), pkg-config, qt5-qmake, qttools5-dev-tools, libdtkwidget-dev, libavformat-dev Standards-Version: 3.9.8 Homepage: https://github.com/linuxdeepin/deepin-voice-recorder Package: deepin-voice-recorder Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, libqt5multimedia5-plugins Description: Voice recorder application for deepin deepin voice recorder tool. deepin-voice-recorder-5.0.0/debian/copyright000066400000000000000000000016571351056250300210540ustar00rootroot00000000000000Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: deepin-voice-recorder Files: * Copyright: 2015 Deepin Technology Co., Ltd. License: GPL-3+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 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". deepin-voice-recorder-5.0.0/debian/rules000077500000000000000000000003431351056250300201700ustar00rootroot00000000000000#!/usr/bin/make -f export QT_SELECT=5 VERSION ?= $(shell dpkg-parsechangelog -ldebian/changelog -SVersion | awk -F'-' '{print $$1}') %: dh $@ override_dh_auto_configure: dh_auto_configure -- DEFINES+="VERSION=$(VERSION)" deepin-voice-recorder-5.0.0/debian/source/000077500000000000000000000000001351056250300204105ustar00rootroot00000000000000deepin-voice-recorder-5.0.0/debian/source/format000066400000000000000000000000141351056250300216160ustar00rootroot000000000000003.0 (native)deepin-voice-recorder-5.0.0/deepin-voice-recorder.desktop000066400000000000000000000077271351056250300234500ustar00rootroot00000000000000[Desktop Entry] Categories=AudioVideo;Recorder; Comment=Record voice Exec=deepin-voice-recorder GenericName=Voice Recorder Icon=deepin-voice-recorder Name=Deepin Voice Recorder StartupNotify=true TryExec=deepin-voice-recorder Type=Application X-Deepin-ManualID=deepin-voice-recorder X-Deepin-Vendor=deepin # Translations: # Do not manually modify! Comment[ar]=تسجيل صوت Comment[ast]=Graba la voz Comment[bg]=Запис на глас Comment[bn]=ভয়েস রেকর্ড করুন Comment[ca]=Grava veu Comment[cs]=Nahrát hlas Comment[da]=Optag stemme Comment[de]=Sprache aufnehmen Comment[el]=Εγγραφή φωνής Comment[es]=Grabadora de voz Comment[es_419]=Grabar voz Comment[fi]=Tallenna ääni Comment[fr]=Enregistrer audio Comment[hr]=Snimi glas Comment[hu]=Hang rögzítése Comment[id]=Rekam Suara Comment[it]=Record voice Comment[ja]=録音 Comment[ko]=음성 녹음 Comment[lt]=Įrašinėti balsą Comment[mn]=Дуу хураалгах Comment[ms]=Rakam suara Comment[ne]=आवाज रेकर्ड गर्नुहोस् Comment[nl]=Stem opnemen Comment[pl]=Nagraj głos Comment[pt]=Gravar voz Comment[pt_BR]=Gravar Voz Comment[ru]=Запись голоса Comment[sk]=Nahrávať hlas Comment[sq]=Incizoni zë Comment[sr]=Сними глас Comment[ta]=ஒலியை பதிவு செய்க Comment[tr]=Ses kaydet Comment[uk]=Диктофон Comment[zh_CN]=录音 Comment[zh_HK]=聲音錄製工具 Comment[zh_TW]=錄製聲音 GenericName[ar]=مسجل الصوت GenericName[ast]=Grabadora de voz GenericName[bg]=Запис на глас GenericName[bn]=ভয়েস রেকর্ডার GenericName[ca]=Gravador de veu GenericName[cs]=Nahrávač hlasu GenericName[da]=Stemmeoptager GenericName[de]=Sprachaufnahme GenericName[el]=Εγγραφέας Φωνής GenericName[es]=Voice Recorder GenericName[es_419]=Grabadora de Voz GenericName[fi]=Ääninauhuri GenericName[fr]=Enregistreur Audio GenericName[hr]=Snimač glasa GenericName[hu]=Hangrögzítő GenericName[id]=Perekam Suara GenericName[it]=Voice Recorder GenericName[ja]=ボイスレコーダー GenericName[ko]=음성 녹음기 GenericName[lt]=Balso rašytuvas GenericName[mn]=Дуу хураагуур GenericName[ms]=Perakam Suara GenericName[ne]=आवाज रेकर्डर GenericName[nl]=Geluidsopname GenericName[pl]=Dyktafon GenericName[pt]=Gravador de Voz GenericName[pt_BR]=Gravador de Voz GenericName[ru]=Диктофон GenericName[sk]=Záznam zvuku GenericName[sq]=Incizues Zëri GenericName[sr]=Снимач Гласа GenericName[ta]=ஒலி பதிவான் GenericName[tr]=Ses Kaydedici GenericName[uk]=Диктофон GenericName[zh_CN]=录音 GenericName[zh_TW]=錄音機 Name[ar]=مسجل الصوت الخاص بديبين Name[ast]=Deepin Voice Recorder Name[bg]=Deepin запис на глас Name[bn]=ডিপিন ভয়েস রেকর্ডার Name[ca]=Gravador de veu del Deepin Name[cs]=Nahrávač hlasu Name[da]=Deepin stemmeoptager Name[de]=Deepin Sprachaufnahme Name[el]=Εγγραφέας Φωνής Deepin Name[es]=Deepin Voice Recorder Name[es_419]=Grabadora de Voz de Deepin Name[fi]=Deepin ääninauhuri Name[fr]=Enregistreur vocal Deepin Name[hr]=Deepin snimač glasa Name[hu]=Deepin Voice Recorder Name[id]=Perekam Suara Deepin Name[it]=Deepin Voice Recorder Name[ja]=Deepin ボイスレコーダー Name[ko]=Deepin 음성 녹음기 Name[lt]=Deepin balso rašytuvas Name[mn]=Дээпин Дуу Хураагуур Name[ms]=Perakam Suara Deepin Name[ne]=डिपिन आवाज रेकर्डर Name[nl]=Deepin Geluidsopname Name[pl]=Dyktafon Deepin Name[pt]=Deepin Voice Recorder Name[pt_BR]=Gravador de Voz Deepin Name[ru]=Диктофон Deepin Name[sk]=Deepin Záznam zvuku Name[sq]=Incizues Zëri Deepin Name[sr]=Дипин Снимач Гласа Name[ta]=டிப்பின் ஒலி பதிவான் Name[tr]=Deepin Ses Kaydedici Name[uk]=Диктофон Deepin Name[zh_CN]=深度录音 Name[zh_HK]=深度錄音 Name[zh_TW]=Deepin 錄音 deepin-voice-recorder-5.0.0/deepin-voice-recorder.pro000066400000000000000000000047441351056250300225730ustar00rootroot00000000000000###################################################################### # Automatically generated by qmake (3.0) ?? 2? 4 17:49:37 2017 ###################################################################### TEMPLATE = app TARGET = deepin-voice-recorder INCLUDEPATH += . CONFIG += link_pkgconfig CONFIG += c++11 PKGCONFIG += dtkwidget libavformat libavcodec libavutil RESOURCES = deepin-voice-recorder.qrc # Input HEADERS += src/toolbar.h \ src/utils.h \ src/home_page.h \ src/expand_animation_button.h \ src/shrank_animation_button.h \ src/record_page.h \ src/main_window.h \ src/list_page.h \ src/waveform.h \ src/recording_button.h \ src/file_view.h \ src/label.h \ src/file_item.h \ src/line_edit.h SOURCES += src/main.cpp \ src/toolbar.cpp \ src/utils.cpp \ src/home_page.cpp \ src/expand_animation_button.cpp \ src/shrank_animation_button.cpp \ src/record_page.cpp \ src/main_window.cpp \ src/list_page.cpp \ src/waveform.cpp \ src/recording_button.cpp \ src/file_view.cpp \ src/label.cpp \ src/file_item.cpp \ src/line_edit.cpp QT += core QT += widgets QT += gui QT += multimedia QMAKE_CXXFLAGS += -g isEmpty(BINDIR):BINDIR=/usr/bin isEmpty(ICONDIR):ICONDIR=/usr/share/icons/hicolor/scalable/apps isEmpty(APPDIR):APPDIR=/usr/share/applications isEmpty(DSRDIR):DSRDIR=/usr/share/deepin-voice-recorder isEmpty(DOCDIR):DOCDIR=/usr/share/dman/deepin-voice-recorder target.path = $$INSTROOT$$BINDIR icon.path = $$INSTROOT$$ICONDIR desktop.path = $$INSTROOT$$APPDIR translations.path = $$INSTROOT$$DSRDIR/translations manual.path = $$INSTROOT$$DOCDIR icon.files = image/deepin-voice-recorder.svg desktop.files = deepin-voice-recorder.desktop manual.files = manual/* INSTALLS += target icon desktop manual isEmpty(TRANSLATIONS) { include(translations.pri) } TRANSLATIONS_COMPILED = $$TRANSLATIONS TRANSLATIONS_COMPILED ~= s/\.ts/.qm/g translations.files = $$TRANSLATIONS_COMPILED INSTALLS += translations CONFIG *= update_translations release_translations CONFIG(update_translations) { isEmpty(lupdate):lupdate=lupdate system($$lupdate -no-obsolete -locations none $$_PRO_FILE_) } CONFIG(release_translations) { isEmpty(lrelease):lrelease=lrelease system($$lrelease $$_PRO_FILE_) } DSR_LANG_PATH += $$DSRDIR/translations DEFINES += "DSR_LANG_PATH=\\\"$$DSR_LANG_PATH\\\"" deepin-voice-recorder-5.0.0/deepin-voice-recorder.qrc000066400000000000000000000027321351056250300225530ustar00rootroot00000000000000 image/file.svg image/finish_hover.svg image/finish_normal.svg image/finish_press.svg image/home_page_record_hover.svg image/home_page_record_normal.svg image/home_page_record_press.svg image/titlebar_icon.svg image/logo_96.svg image/logo.svg image/deepin-voice-recorder.svg image/play_pause_hover.svg image/play_pause_normal.svg image/play_pause_press.svg image/play_start_hover.svg image/play_start_normal.svg image/play_start_press.svg image/play_stop_hover.svg image/play_stop_normal.svg image/play_stop_press.svg image/record_pause_hover.svg image/record_pause_normal.svg image/record_pause_press.svg image/record_resume_hover.svg image/record_resume_normal.svg image/record_resume_press.svg image/record_small_hover.svg image/record_small_normal.svg image/record_small_press.svg image/rename_hover.svg image/rename_normal.svg image/rename_press.svg qss/main.qss deepin-voice-recorder-5.0.0/hicolor/000077500000000000000000000000001351056250300173255ustar00rootroot00000000000000deepin-voice-recorder-5.0.0/hicolor/128x128/000077500000000000000000000000001351056250300202625ustar00rootroot00000000000000deepin-voice-recorder-5.0.0/hicolor/128x128/deepin-voice-recorder.png000066400000000000000000000300571351056250300251470ustar00rootroot00000000000000PNG  IHDR>asRGB/IDATx} U:ӽH < 6 Fű =S8@3['`;A' H@!sr3{P߫S3ݜ\NU{P9ט]evy`vy`vy`vy`vy`vy`vy࿊?bCtu_{ׂYsH\820<Ę`uSGCp[(htEF77s~n09 mx9J5u/lS.it$. 8Ѥ̑kUTM/5ASjMuw%㌩B^tRq`^H tQ.zØպ5G1 9Hڑ+T4\2T0"(Еu9k< E,EmnHQFa$4mx&Z5DU=HӐ$Cecf\ĝZQ#3xEN2)ZΪj_r"Ó8.J(6o{˜mI?yFqD3H$HEv2{vr A=nD~G%86(=#74U#}|cH5Ml lV:۶#fJ2̑=%B$[7z+׾r.NK,hi^QM9'`?a$" NS3~$G/ `\#7LP+|K)| PpLY6UV>p<{]Yg\O> fO[MV\ O gUz]˖ dT$Jÿ9 JW!Ske^{]}n@T騔Nb:p?MR݊wA қ|< jrKyS<䰲I@޶f%ZP)۷f*yB7S!q@Ͷ>6tkmIj_Sayh>6n+~7@neݺ  ٣zٵh/L'vRNA# uzWѤH:SR\_|*CAgnnC U>Me\@ʅsKoVp;>j.'.JB1O1dfԺAiXrot``T0MV6}iI;00L}g+/݉ods1/:{͗ye&\oob9zYoŷעOsp:ڿhO:Gˍ"ti{2dןf׾x/p&8c8U}5tW~BjЯ>i|`?RMT._RC 2٢M좫V5Fg=}M8osߧ-ב7&/gZG7l6Gh.3Q/>>O~Q7~n P6^m?;6ٳK{<fwL6/,)IO\mGT+ޜB^#7=a6w=GKW6x{͞syby~Z[sn l0(Qd_w<+6sB BQ`hޡ#@/4G]ٱ2\yĕNHЕm>j x㤃>8"2}>puTX| ߋ!x׬d҂ ?zba&[a}&b>TɁe]y䥣~zo˶N7d` g=&}vR~b xq{ ؈=u2;}( (6KbP[2E}!6ۋKy>LhX)K &yzMwOy'B( _ vzw9J'-y:&sʔDTmr ]gƅ͋?XqƪhT\iϱi_pp>'[bӥ>ڵ&']~I3.9>mroXj[fM(3{"24ryfߠK>-jJD{UVZ(8щ) gvx1\_Nu@;~>A`֋>~txڴ&~2e0ofb B7XtFbt}ypp:[7crs:[|ye+Irq?\Y _ Ӿn :aYo$֬7C8"]#uqYmJ&A|#\ʦ>vxVfb e?4n aZ. cl˚K6ibsN] Ere}ewi{)C/rHo_+K),Azь4&f.LTG yfBj\E0vLp$44i?PZ`MڣzS?8ۧ~`T9-AvNZIPφX{" , nЀt'PkNip?@<'TNLd?fcn9֜NF/s qxvbNjdPq[i?!,?qCf'[F bq +:Vg;%PrlcR\B{ҜS#F{ޡi;BFla|zN)}ُYQbbw]Zz}N+œ12mP>4!@~Է; KϿ8t{{:=chcMXjJϞA#?:&`(J`FvomG2q ث2B]=$?kOO6Aߝh?]$? J^0z8uυ`}uSXhn)./q¬ ŦD=p}O3/Įn S18aVJ@F*LorسN{&oX8î[d GkzIG)t^R̡)}Z> )/u4dڿ^l;a3p@=T|آmt x+~V~5SbFN0o }s(Aib tq9KxbzF¤n AVN&nYYʞ/\v_5 C-?qYt-MBlۻ2yo>O^x1KM4n ~} a9:6&B6*7A$vN]G2q#/{vŗjl=J^Wtvíf)Օ/\0W}K8^(C~mލ?ێ(syVW== +ط/uY3t.D^F$ 'y{yꛛ Joնup=_iQ@>rEM/WX͐cPuJcP,ߘ 8<7hf3 `k5xL0LqHЁF{ ҫI!"){uF5q@րO?@bV,ZJX<(s:bB]tg ,%鳰{@ fTehIo|gL0{z5E~yu]@ byЀC0GTrZl2z4)V /DˈmuM=$J<5$?y$>g0rD#KNZArm(1~2Kd)?0ODɓd&L%v(=h=ڧ-T-ow.^!Foɚ( ?EXh*SGlЎ=@ZS0F.98t[ ʸB?(?6dʌFstJ% CJ*lk\fd''nqBn/m#N-#er'wۈ>w|nqB_b &P9cKf :he/؜RyQKߎ~iKv(9M {Y,/D2 `A::wz^ -HewkoTh.%`V;S_:w'Х ka?u: dƣ^G-@CT[Wk)mc3cZby :AFcS~0f_trUtCTOeH6?M!P-6@$_ƀVD2HjPĕWʣ1nzwo/$k2ST }APQk?k?Dl]ggtMw)wDPTlgr$!z xZ+*?`~[GDT܀1v#SI?ʬ=O?XR D<5!@в@VG^@&Eg5VO;%<Ι1?y s>ȓ{S}Ce7V˜w?~דkN&$VY4g~-4 }iO>0O,,,$K *~e^\Ͱ|9}&)($ٯh:gĢDid8; Po4VTs+t2IiO]twqjֹ8)˕L2|iSc3$B6~(b`2d/v`S268:g{ˣ OH"ĮKqV_$.lP)ztF9 Ȩl5Ǟlկh1d76i-zclĎ%R3?5PK$@q:8s +U9bY{f.kVsf'?djljZ Q)+OqT \EgQLl~[yԽ3MwKfGgV;ɡb$3Q%;%,S43UKbgCf{XkmlӾt֡;CׄVNq`in<&#{qGK@‹3#xJ6<@RhE9t7^$;~ʐ6K|3\i}cOM K/'eʶ LȧVejOZ ]0,>/ ڼ YhL*N(&NW͒ 3"~|}OL{?6CHFч+_n 8%Hi=3 4i`<Tn7n;-.!m./ |Ө1;`+ZR&eˣThwT.|AĹua+!&tmIkb3!G^7w#@HYcصDᶣ~~q'x,侀q@BjBW/kǨÔgj>%rtJG;@*ZPB$ܜ?# V%5p@L+l4}fjAd [r${mdMq>y| gfqڶ5m  sd 1y' :8ޝkO7W%Օ_6d/cWwwr/q&䷦ 0\wkY'㋉Q ?)!(S:`68|B]{+Y}Z$۟/UÚE4{웯~4t3B(UsA do9utV!C TzҦ8w_eh0Gu/r Dknm6)| "C80!oR)&C|_ĹK.U*s횻#@@Y쳕4?! }:8uc>f_L5C׉\ծL)~#W==GLS* |.݀*WMqchg O+Uw yYy|y.*FY A%U˦Oim8Gj ʑisg:Se[Ƀysn W(ӃJٮҏ0_nj ; >8p:y%@ 'vKm♒Ez1笫rywoo .e> ҟV-xtb|~-:r;_HTu/Լ;e+x_aT7/ 3INj` 崋60ũo:߭4`/c[7i_]4Or&8 =70X P{xOXYf&ܻ4DG}U'?ת8ECN% è~a'z'/}vl =~$Hڏ^,@?-./H.E##/x |uG6G.ecpīD? Z~ٽg(D >En>fؿE\'_jg>u+@#H(u_НL\̰}eF~KAa*ޟ4ߗ~̐D){#?~sG:7|;٭f)z,J@V> /7nMrhxhK <(.OF]ɩ ۶2շW p31.XzW,/BFe.]((mDF+'WϓU ZKWOW uNv yoFݞry`G2&9[D< (/vN.#Ӛ0#nHX 6i6'~Q!0݃!']4BG\1UB 6sXqB*w$hP+Mq+,2Km\vW.QL8tM&ێ2a pHcY`pɞeù yB"~ll[ 2t 3q@gg[|dG8,/ₒꐥ_+- 6 z|(s*g wssL Dv3?)o>v}Xb?(+P' KP!"<9I3V&BBV;yyRlݐQݶ<{<m|`@G CAđp=H\-=ݤ_; u2 qU9BTG6pL{_N2GZ"Jo38uL_tf>-C0%G l!kRx:W=)˲li~ĎSPattܰ?usi8G>nŲAtae3#~,=Ĺz{$23g7eUKL&A$DܽF*f 0H )vnn?O %]|^/:58f^7$ bXXz3&|.55`Y-2ڷ]?RCm}򜕏<B!@ԣgqq BQA`Q8~93ǜxb5zgJc\A!4%5(%b6 ];;5[^j3l9̘ L@ bbI-JЊJt u&Xsu68 h@ٝUܾ%0p&qp^o=mC%pX Z̠PF]EP,(cIhFUa_[i%;cg 4)6: wĹ78%fA3g_ rԢrЈ u\[JB5* 5A=._)uǫEgO߲eKlnLDpz0LҀm,2\:&,!̓E^d.H zn%NB4!8GPXu8g2r&R4(Ӈ &!8M^ӦLs Ȃ0|a`Az@m(.p<%8iuitn6Ա]6HBk'ϯg i:1`@ƹ;+ę(wnY(jGBG1<D hPcJ4P1b!ABE+61Dm51of޻wmI̙3gΜ{K{'_6kH^k<_eGjuH7s}-PP)Wj1ؚ7BZhl3ː!g_ϲ)Y}۠G "{v}ۍ=Xqи{@~I犒HP0QM|6U)|?R2x},Ei7HJ4J|uؙ(虘'#P#V,n  8"Qɗ(UѶwG^ԁipFa r°h˻Ⱦ(\Ԕ;?Zoj52@q } uwo F"Ax ǩ|zc[~7_2<Ƞ~11D t7t.pFSirLmhI@gH/RI̐ c4N{Fh9Thδʪ3F$XAe&O􈭾{l#A \7`E~;GNP(Y6!#poexCתo\#Bx5S2#ozO  Q9t fve4aOmj<ڌ"\8:Cp~Q{k{}K#OD4xcòq㹔Cb!z=c0\Xt1Oabs[>Z,\s[~2l kT'1._dެx0+21\ @tP>6vF:d%(qUN`;z}|K__ڶ6|,&q'b0`=\Yb-}O '۷D)iCecYKze-v7'%EIENDB`deepin-voice-recorder-5.0.0/hicolor/48x48/000077500000000000000000000000001351056250300201245ustar00rootroot00000000000000deepin-voice-recorder-5.0.0/hicolor/48x48/deepin-voice-recorder.png000066400000000000000000000054711351056250300250130ustar00rootroot00000000000000PNG  IHDR00WsRGB IDAThY}p\Uk)4i+Ц` # 'M*E`-:Lũ֑QfER*j[S,SV PhIBHM={޻owl3wϽ瞏9{Kfy܋0k14 i]P纵 ]渎3)Gp:=?u3|hvc+Ntt⟬W[j2WϯTB >_IH@hK ul3f8O+ " ",K>|Fc[X2HES)n'/ >748qlc!y:(U]U+߼S)Bh s/T<:F:!U+֥ʙwQN)W; 1q ,3l{Kj@l{I8'Fka~tM>F9) '>+2U( 'ykF53/VRޣ'e j{9 aM䳩ij!,D9[d•󢎺IK/6@f5Ma}V<3U:7-s62f2D|64Ge^2ŧD,S>D#-2r aJL! E9zGĞO%0F0\O_lcJ1FJC` D"JF!A @XK,_,s3y" l2*E#ZϦ)s'p#k[P X@3١JR}*Xȉ| c4'Q |zX6j},zF $ g14p gϱ K=%o/s94[s+y9 t3w!n<"𾓿aŜ7>6_fF&sqtS( `: }39f~xM+2uwсw$ 2N۶NynC|b} @|؋.Yh$ݤ!ۇ|I{*ty'" |ؾHԳ{U Uɽwֿ}TyzKT*^XF6Nyoӷ !G;J$0Zøi{.L/-72 ! Ӵ"܋HzQj`Py熔SU"__U9%*u%oCe|WƲvdh`"Pp4"Uo&r;*,{q>'FybUx&;7xd{ [m|pWy>2JӾuu.NCɹ.:;Gp4sz=1pu Tk+ѻeK56ɾV:ڃGBه K8KrdS^pIB^dx 7RР"}hPiMwH;X54?0}i2GŏX-[zHKcH.2jS#b+y1/iS8E l9N7Ni6VtzaVl!mx_a5'1,r,,/X$H}--[_%y)83gޮI5 gȲ;Ϩ 0I\\ '>=~o2oS(H:N][M/|_-gMT2Y0dGl{t_n8>88@*6ȼ4mU@4`$ՓH$gΜE55+*"ŞgJh}~=pf몶6|]f<bo ڐǖ@LcVW/zC=TK3FvS55yo|X +2$j ʢ#ψtuE& Eޖ?Puqb+l^cE/@0B oĄǘe,Vm<cIENDB`deepin-voice-recorder-5.0.0/hicolor/96x96/000077500000000000000000000000001351056250300201325ustar00rootroot00000000000000deepin-voice-recorder-5.0.0/hicolor/96x96/deepin-voice-recorder.png000066400000000000000000000200131351056250300250060ustar00rootroot00000000000000PNG  IHDR``w8sRGBIDATx] E1==LCd#*\8,,g]eEtd֣"" G@Id2G_{{ {{oݪݣԶ mlC`؆6?"DANLVz 줴ZRAF~f@aVa8ެ*PϚT5}Yj7t4m=z\ݓ6g*0)N v1V&&*%aT } LF,աRVa;U:c-7 Ho[d'  \)W.ãJ#&/-yrJmk:kC\OG~tq/lj}sT6x UAM#J *MZ{ƒ*CS$"rʴ(ѮL> `T+}lVdzP3qwߕ/ҹ(S5@>J<*1`~B( % 2 CHGQ LUm-8D-jsW9s +aϠҕЎt ?))/ JU'g!ҝ?G.p15W\Iuvt]]9x_s_ CӮ6 (it:EF FTa~R :h@\=k6{ᄌBoh[2zϨCvcJuoj4?#G4/dIg^2_ż(xErO-NYB& -8E] F6jtA9rV{8UW: '_E ڈ4~]rVZ͜FhԿڣX@%t[d%_>@~[LfZ@†g{IX;?iqA[P3QQdߟ! U 笊¹tlLǞ` tfKC(ٟ<ϴaYڤ@,o̟!}mtlXthRH}թ'"} N(߮n *:˱`i~o/^BnIt_8HK[>4WIVLljRcδd ,5 Uة%OP J 6s JXrF=tPM;+ߏxrM&ۼ_)"L1o2@y  l~E%o C%XMF؁5Z<`iB3U%ϻ't$ÍvV8F#/=ߧdAYo?7 SH6D"GϹljvm %ت.K&P θ;#t4b% t:(]*J)\qɶ( GX泾GGgh~v"Nu]ĚT]H}/Q'Vjw(:MICϨ۔~;NBJwAȧ@A]|(HwtF}'dm w~k~qBVZuП8F_\.ɾ+Ү0х,Fv|1SI^4o5&ͫt}I2NH#S߇i}qJ>-S-SV"''L0,.v c6$(bHχ|O7ƭ$ݩJ<yA O}}$d_ыթ{~"@1u`NlCE􄷕QЉf)'L}JrGX$LF X"{@й8ȃ)vV(dD6q8i8p7;}1&|}dn,j^U^(IJ3/<@I=5Deg% iy D0Q&ap,b_F@]>ǫjf6~I{}^=قB*Z$K 8 49v>fDEgXĆ 6,j(U-- 2ӿW]}&}C;fKUG}/!KRsPP-J~iA>(J#ȕGS>#j\ @WxI S_ZqN-&@⦅^DM ߁8'4y! $Ogpy"E?˸iy)ۓ:]˵mi%OBaw3$2,?xΐxL;]^qTcy4v(spO{Ti†9h؃7VoPA m\f?VrRK˯HDk$Kɑ"$6a7\$ 6Ye ~+1;ewlXȦY XI2QBmgfͨIs 'e΁eКqHCK{x9=#VwVR<0hd#jǿ (+~cQN7~Tَk| `tZ|tb &\ExT8" o+CdA. & RYU*RC5j{F d{Me߃ޡ \{ SOQf#ˋIL0lԉ}}2' n. o'k?*N1] # tM?_u ꔀ.U_M5Zm-ꢫx;@FRǞ28&i{O1~`G~g՟XYxzz]gP\Œ(KoC/reuW-#tck3wP{﮲ͷrM& kUG& l/^E,W˛6 CP[%5?TE23 ɴ`> li"XXAQ|m!xR%khբ.R~튊)PUnOq7+f/5l2?Sxօ .VOy8 ՇQ>U !H>|r-2c+V4V qyحc@ JްQm^j?=xnCPS_t<ɶHo&iH~=rmua9$v~*>7+:\uq9lKUj)צGnG$=^TmQYp(_qȒe#Z:Î5B[./{k(Vy\nnfۦS/Y2+vW%}qW.SEZVZ Z}/|}E&?5$83h^v3ɔM8z88Yux=='[>mWG7h1x؟{h,O}֯͡}B =!zwC!-U!WF?;|3XF+x" ^fC yuJ FTlUtm5*SϷSxA RqCK5u pA߱+V#LFPɅx$WC9{ǥg4kPu4X..hb]NetF7RgS< d9t۵'28)62v ?hjƇuyJ<15Z!b;ay}AcHJwT#9H7AW-E5 /&vQ'Eb}KH"+`̢S^$Yvx,ybTFSe9ǡuPߟ|$AW?)툏lj#*?]ЉJE+9TĈQ:H=N$ t/3G&aK |T.~-X;t؇(͉*,On3ȪD]?; -_A* fdoz^>m45㑙́:>ŦK=]'z`Bk_:0Le8I.nRe QK{5?0+ExPNL]K]n_2Su I ¤T Uo-Q1V3Yjj6R֖>` ʮ U۟bKܙtOfvխ+4ޣVjKPuQJؗTBP污M'h5V2;@Q4SYQ`AwQ^I$y?y9UQuL|}~2b|zO&l,قYlh D !ݽ\P~2ݢq@7,rfĦ,yyl:-_-?yMM()26PG`aL mH ;yO.b[(l1Xυ;U g 6,<(ꋝzԷ˥K|jȏcY5Y$fbhY0cbfЧ /%ʉ}$l~Ay 呟%> H<{br,Ym]t*u>b%zcb0b'/C5FzDy21ʒHFm,G*2K%#\DND3WNrkw9a}.](fJD\PF~Yb]KuSpCP+vxI|I|Y~ZgD 33A=`EX ӡt氀rKt+̉߆}iE[%SVѼXr̋/5ˈGi|ҵ ii$kHnhI2X;i\+. -00aȨʘudk'QBlofgRQG>GKXz@1g#l)`s!3'~tםRsˌ;by;fMb;ս]>rQx8c<7[F <+#L

DdbfHсKy˨2eJ;zyS'JZl Yǁprۄ98S wPc!_v@"rDD?o|uq`%iVNX4#@\ QM@gn82( * AqzgѮ/SCZ+fLf! B6 &ipCmy:TU`~q=/2ϫ{_ԃ$>I$~O}c,npx}IE(wk>HMFPIzi#ߦ)>k6$Gh0ڄ'6:K@Ml"hMz^[Owd #^(_oCl$@|lDQ3VA%AQ}MF*@vi7JPoH^/'f׹Ĉl=9i*Tp[ h ^Ml]&+ VIENDB`deepin-voice-recorder-5.0.0/hicolor/deepin-voice-recorder.svg000066400000000000000000000062371351056250300242300ustar00rootroot00000000000000 深度录音 Created with Sketch. deepin-voice-recorder-5.0.0/image/000077500000000000000000000000001351056250300167505ustar00rootroot00000000000000deepin-voice-recorder-5.0.0/image/deepin-voice-recorder.svg000066400000000000000000000173601351056250300236520ustar00rootroot00000000000000 deepin-sound-recorder Created with Sketch. deepin-voice-recorder-5.0.0/image/file.svg000066400000000000000000000050711351056250300204130ustar00rootroot00000000000000 file Created with Sketch. deepin-voice-recorder-5.0.0/image/finish_hover.svg000066400000000000000000000037521351056250300221630ustar00rootroot00000000000000 finish_hover Created with Sketch. deepin-voice-recorder-5.0.0/image/finish_normal.svg000066400000000000000000000037511351056250300223270ustar00rootroot00000000000000 finish_normal Created with Sketch. deepin-voice-recorder-5.0.0/image/finish_press.svg000066400000000000000000000037431351056250300221740ustar00rootroot00000000000000 finish_press Created with Sketch. deepin-voice-recorder-5.0.0/image/home_page_record_hover.svg000066400000000000000000000111001351056250300241470ustar00rootroot00000000000000 record_hover_big Created with Sketch. deepin-voice-recorder-5.0.0/image/home_page_record_normal.svg000066400000000000000000000117111351056250300243240ustar00rootroot00000000000000 record_normal_big Created with Sketch. deepin-voice-recorder-5.0.0/image/home_page_record_press.svg000066400000000000000000000117411351056250300241730ustar00rootroot00000000000000 record_pressl_big Created with Sketch. deepin-voice-recorder-5.0.0/image/logo.svg000066400000000000000000000062371351056250300204410ustar00rootroot00000000000000 深度录音 Created with Sketch. deepin-voice-recorder-5.0.0/image/logo_96.svg000066400000000000000000000173601351056250300207560ustar00rootroot00000000000000 deepin-sound-recorder Created with Sketch. deepin-voice-recorder-5.0.0/image/play_pause_hover.svg000066400000000000000000000040241351056250300230360ustar00rootroot00000000000000 play_pause_hover Created with Sketch. deepin-voice-recorder-5.0.0/image/play_pause_normal.svg000066400000000000000000000036241351056250300232100ustar00rootroot00000000000000 play_pause_normal Created with Sketch. deepin-voice-recorder-5.0.0/image/play_pause_press.svg000066400000000000000000000040151351056250300230470ustar00rootroot00000000000000 play_pause_press Created with Sketch. deepin-voice-recorder-5.0.0/image/play_start_hover.svg000066400000000000000000000036551351056250300230670ustar00rootroot00000000000000 play_start_hover Created with Sketch. deepin-voice-recorder-5.0.0/image/play_start_normal.svg000066400000000000000000000034551351056250300232320ustar00rootroot00000000000000 play_start_normal Created with Sketch. deepin-voice-recorder-5.0.0/image/play_start_press.svg000066400000000000000000000036461351056250300231000ustar00rootroot00000000000000 play_start_press Created with Sketch. deepin-voice-recorder-5.0.0/image/play_stop_hover.svg000066400000000000000000000036701351056250300227140ustar00rootroot00000000000000 play_stop_hover Created with Sketch. deepin-voice-recorder-5.0.0/image/play_stop_normal.svg000066400000000000000000000034701351056250300230570ustar00rootroot00000000000000 play_stop_normal Created with Sketch. deepin-voice-recorder-5.0.0/image/play_stop_press.svg000066400000000000000000000036611351056250300227250ustar00rootroot00000000000000 play_stop_press Created with Sketch. deepin-voice-recorder-5.0.0/image/record_pause_hover.svg000066400000000000000000000037171351056250300233570ustar00rootroot00000000000000 record_pause_hover Created with Sketch. deepin-voice-recorder-5.0.0/image/record_pause_normal.svg000066400000000000000000000043031351056250300235140ustar00rootroot00000000000000 record_pause_normal Created with Sketch. deepin-voice-recorder-5.0.0/image/record_pause_press.svg000066400000000000000000000045561351056250300233720ustar00rootroot00000000000000 record_pause_press Created with Sketch. deepin-voice-recorder-5.0.0/image/record_resume_hover.svg000066400000000000000000000036361351056250300235420ustar00rootroot00000000000000 record_resume_hover Created with Sketch. deepin-voice-recorder-5.0.0/image/record_resume_normal.svg000066400000000000000000000042221351056250300236770ustar00rootroot00000000000000 record_resume_normal Created with Sketch. deepin-voice-recorder-5.0.0/image/record_resume_press.svg000066400000000000000000000044751351056250300235550ustar00rootroot00000000000000 record_resume_press Created with Sketch. deepin-voice-recorder-5.0.0/image/record_small_hover.svg000066400000000000000000000111411351056250300233400ustar00rootroot00000000000000 record_start_hover Created with Sketch. deepin-voice-recorder-5.0.0/image/record_small_normal.svg000066400000000000000000000116261351056250300235150ustar00rootroot00000000000000 record_start_normal Created with Sketch. deepin-voice-recorder-5.0.0/image/record_small_press.svg000066400000000000000000000120001351056250300233440ustar00rootroot00000000000000 record_start_press Created with Sketch. deepin-voice-recorder-5.0.0/image/record_stop_hover.svg000066400000000000000000000036501351056250300232230ustar00rootroot00000000000000 record_stop_hover Created with Sketch. deepin-voice-recorder-5.0.0/image/record_stop_normal.svg000066400000000000000000000042341351056250300233670ustar00rootroot00000000000000 record_stop_normal Created with Sketch. deepin-voice-recorder-5.0.0/image/record_stop_press.svg000066400000000000000000000044011351056250300232270ustar00rootroot00000000000000 record_stop_press Created with Sketch. deepin-voice-recorder-5.0.0/image/rename_hover.svg000066400000000000000000000016521351056250300221470ustar00rootroot00000000000000 rename_hover Created with Sketch. deepin-voice-recorder-5.0.0/image/rename_normal.svg000066400000000000000000000016541351056250300223160ustar00rootroot00000000000000 rename_normal Created with Sketch. deepin-voice-recorder-5.0.0/image/rename_press.svg000066400000000000000000000016521351056250300221600ustar00rootroot00000000000000 rename_press Created with Sketch. deepin-voice-recorder-5.0.0/image/titlebar_icon.svg000066400000000000000000000031401351056250300223050ustar00rootroot00000000000000 deepin-sound-recorder Created with Sketch. deepin-voice-recorder-5.0.0/manual/000077500000000000000000000000001351056250300171435ustar00rootroot00000000000000deepin-voice-recorder-5.0.0/manual/common/000077500000000000000000000000001351056250300204335ustar00rootroot00000000000000deepin-voice-recorder-5.0.0/manual/common/deepin-voice-recorder.svg000066400000000000000000000070121351056250300253260ustar00rootroot00000000000000 deepin-voice-recorder-48 Created with Sketch. deepin-voice-recorder-5.0.0/manual/common/icon_commoncoperat.svg000066400000000000000000000033101351056250300250270ustar00rootroot00000000000000 常用操作-64px Created with Sketch. deepin-voice-recorder-5.0.0/manual/common/icon_commoncoperat_small.svg000066400000000000000000000033451351056250300262270ustar00rootroot00000000000000 常用操作-24px Created with Sketch. deepin-voice-recorder-5.0.0/manual/common/icon_guide.svg000066400000000000000000000056761351056250300232770ustar00rootroot00000000000000 ]> deepin-voice-recorder-5.0.0/manual/common/icon_guide_small.svg000066400000000000000000000054071351056250300244570ustar00rootroot00000000000000 ]> deepin-voice-recorder-5.0.0/manual/common/icon_optionsetting.svg000066400000000000000000000036771351056250300251070ustar00rootroot00000000000000 选项设置-64px Created with Sketch. deepin-voice-recorder-5.0.0/manual/common/icon_optionsetting_small.svg000066400000000000000000000035751351056250300262740ustar00rootroot00000000000000 选项设置-24px Created with Sketch. deepin-voice-recorder-5.0.0/manual/common/icon_overview.svg000066400000000000000000000014021351056250300240270ustar00rootroot00000000000000 deepin-voice-recorder-5.0.0/manual/common/icon_overview_small.svg000066400000000000000000000015021351056250300252200ustar00rootroot00000000000000 deepin-voice-recorder-5.0.0/manual/en_US/000077500000000000000000000000001351056250300201545ustar00rootroot00000000000000deepin-voice-recorder-5.0.0/manual/en_US/icon/000077500000000000000000000000001351056250300211045ustar00rootroot00000000000000deepin-voice-recorder-5.0.0/manual/en_US/icon/Enter.svg000066400000000000000000000042121351056250300227010ustar00rootroot00000000000000 deepin-voice-recorder-5.0.0/manual/en_US/icon/close_icon.svg000066400000000000000000000025411351056250300237440ustar00rootroot00000000000000 ]> deepin-voice-recorder-5.0.0/manual/en_US/icon/deepin-launcher.svg000066400000000000000000000056541351056250300247020ustar00rootroot00000000000000 deepin-launcher Created with Sketch. deepin-voice-recorder-5.0.0/manual/en_US/icon/deepin-voice-recorder.svg000066400000000000000000000070121351056250300257770ustar00rootroot00000000000000 deepin-voice-recorder-48 Created with Sketch. deepin-voice-recorder-5.0.0/manual/en_US/icon/finish.svg000066400000000000000000000041761351056250300231150ustar00rootroot00000000000000 finish_normal Created with Sketch. deepin-voice-recorder-5.0.0/manual/en_US/icon/icon_menu.svg000066400000000000000000000016661351056250300236120ustar00rootroot00000000000000 deepin-voice-recorder-5.0.0/manual/en_US/icon/mic.svg000066400000000000000000000120441351056250300223760ustar00rootroot00000000000000 record_start_normal Created with Sketch. deepin-voice-recorder-5.0.0/manual/en_US/icon/notes.svg000066400000000000000000000072531351056250300227640ustar00rootroot00000000000000 deepin-voice-recorder-5.0.0/manual/en_US/icon/pause.svg000066400000000000000000000045251351056250300227500ustar00rootroot00000000000000 record_pause_normal Created with Sketch. deepin-voice-recorder-5.0.0/manual/en_US/icon/tips.svg000066400000000000000000000052441351056250300226110ustar00rootroot00000000000000 deepin-voice-recorder-5.0.0/manual/en_US/index.md000066400000000000000000000102571351056250300216120ustar00rootroot00000000000000# Deepin Voice Recorder|../common/deepin-voice-recorder.svg| ## Overview|../common/icon_overview.svg| Deepin Voice Recorder is a beautiful and easy to use voice recording application with simple design. It supports visual recording, recording playback, recording list management and other functions. Whatever to record singing, talking on a call or conference, Deepin Voice Recorder can do it for you, it will make your vocie to be seen and saved. ## Guide|../common/icon_guide.svg| You can run and colse Deepin Voice Recorder by one of the following operations, and can also create shortcut for it. ### Run Deepin Voice Recorder 1. Click on ![deepin-launcher](icon/deepin-launcher.svg) on Dock or move the mouse pointer to the top left corner of screen to enter launcher interface. 2. Find ![deepin-voice-recorder](icon/deepin-voice-recorder.svg) to click on, you can: - Click on **Send to desktop** to create a desktop shortcut. - Click on **Send to dock** to fix it on Dock. - Click on **Add to startup** to add it to startup, it will automatically run when the system starts up. > ![notes](icon/notes.svg): If Deepin Voice Recorder has been fixed on Dock by default, you can also click on ![deepin-voice-recorder](icon/deepin-voice-recorder.svg) to run. ### Close Deepin Voice Recorder - On Deepin Voice Recorder interface, click on ![close](icon/close_icon.svg) to exit Deepin Voice Recorder. - Right click on ![deepin-voice-recorder](icon/deepin-voice-recorder.svg) on Dock, select **Close all** to exit Deepin Voice Recorder. - Click on ![icon_menu](icon/icon_menu.svg) and select **Exit** to exit Deepin Voice Recorder. ## Basic Operations|../common/icon_commoncoperat.svg| ### Record Voice Two steps to finish a recording: 1. On Deepin Voice Recorder interface, click on ![mic](icon/mic.svg) to record. 2. Click on ![finish](icon/finish.svg) to finish the recording. > ![tips](icon/tips.svg): During recording, you can click on ![pause](icon/pause.svg) to pause and click it again to continue. ![0|recoder](png/recoder.png) ### Playback Recording After recording finished, it will list vertically, then you can hover on it and click the play button for playback. > ![tips](icon/tips.svg): During playback, you can click the pause or stop button to do some operations. ![0|replay](png/replay.png) ### Rename Recording After recording finished, it will be saved and named after "New recording (time)", then you can rename it. 1. On Deepin Voice Recorder interface, right click on a recording file. 2. Select **Rename**. 3. Imput a file name. 4. Click the blank space on interface or press ![Enter](icon/Enter.svg). ![0|rename](png/rename.png) ### View Saved Directory After recording finished, it will automatically saved in wav, you can view the file saved location by following ways: - On Deepin Voice Recorder interface, righr click on a recording file to select **Display in file manager**. - On Deepin Voice Recorder interface, click on ![icon_menu](icon/icon_menu.svg) to select **Open saved directory**. ![0|file](png/file.png) ### Move to Trash After recording finished, it will list vertically, then you can move any one to trash. 1. On Deepin Voice Recorder interface, right click on a recording file. 2. Select **Move to trash** to delete. ![0|delete](png/delete.png) ## Main Menu|../common/icon_optionsetting.svg| ### New Recording 1. On Deepin Voice Recorder interface, click on ![icon_menu](icon/icon_menu.svg). 2. Click on **New recording**. 3. Start a new recording and the current recording will be saved if there is. ![0|new](png/new.png) ### Help You can click to view the manual, which will help you further know and use Deepin Voice Recorder. 1. On Deepin Voice Recorder interface, click on ![icon_menu](icon/icon_menu.svg) . 2. Click on **Help**. 3. View the manual. ![1|heip](png/help.png) ### About You can click to view the version description. 1. On Deepin Voice Recorder interface, click on ![icon_menu](icon/icon_menu.svg). 2. Click on **About**. 3. View the version description. ![0|about](png/about.png) ### Exit You can click on **Exit** to exit Deepin Voice Recorder. 1. On Deepin Voice Recorder interface, click on ![icon_menu](icon/icon_menu.svg). 2. Click on **Exit** to exit. deepin-voice-recorder-5.0.0/manual/en_US/png/000077500000000000000000000000001351056250300207405ustar00rootroot00000000000000deepin-voice-recorder-5.0.0/manual/en_US/png/about.png000066400000000000000000000634571351056250300225770ustar00rootroot00000000000000PNG  IHDRe"tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp cIDATxEߞYnq!J$`v. Gp A'xjwzjf{zGVϯ33-U5[UeY")@!dNITE!"Bd*DVʼnBK8VAB+Bǫ;_!D!->~9(|޻-%B!k(SBdp \-oB! Vmjj-L1fmAƞ}k`0˲&& Uθ뮻kW1 C,+"{WnyW<~ `QB3rĉ}GǍ<y| BHׯ_Se(䲊l9-!lij0qBR!Wm.lB!sс\"D!$U@KOj["Ģ$VMrQ"(DBIx !d5j,B@`SxWW[Cӆ";!ZF;eJg!5Bꫯ' 0TTB%B9!ar!"",Rp/Lp.`xZ f32V v1g-@^sBXd ӴXDmuҼX!l !#!!5+V,B!"B!"B!BD!BD!P!P! ! !B!"B!"B(DB(DBBBBB!"B!"B!BD!BD!P!tXDm֊ +EU\)R]]'oT[Cdt)=()RC" D-ˊ9oB(DJD~Z({XTY A Oc*%ň-Ж4V~Ȱ>" p{岰 in}[zӦvRgHw|^vȢZdƐX5Jtj#O]CDxo8,TϚefMJ5WN w#R"ݔ@ z)Q[c)Dd"kIo'"%6~hPS^-V,%>zhI"d4ļ7GJ;/SYHybgJWe%؃ )DBD!"k!i߉5HlT()m&>Y@zH =(ŚBDYv^T$'\\)V(:!$P];,zӻHz8pAۉ]C!"" P$0G c>heX+W=O8s'qf~#B!bq">F H/Ůi*ƼB8]>,nkHo3s+DFQ""B:eS?5'bcD$ն?]Ybm>RvPi447E/)VHuqCB8?CC 'I{3-!"B:Yb?KK^RYHzkwX5PS;'BD)Z}IJd %Bfi^4?m;}u?mW{3eǽ!-Sx2 yyv.+V,Ge K*D]V@*>zo7Y?ͯMH8-"RapI|9?J[b~Q$*:PYsP1$ɯTlxL0"",,9ŽזBȂIŷZZD׊W{Jw-#B!"d {" U14nȽ,$izW{I;ʀ"D2 ADqb(oXW%:ba%> _TF$%qn`/.?(˻m?lqPqqB㢕bMR5ubDߒyU}7j]d҂7JiSx˧*<۱ =.eJ@=l{WmҥF(,ۧ, !<&ːrlIbKF^UvO51)oni_j].呈 &c&}b5)KMgi_p. H+*k^Y!Zt$Jͽj.v,*RF&J(S*[Ğca B>NlNa9t" (jm=[nDr2="1M(p]*Pio Ş_$R\Ĩ>V$}ZY8!UMvRpSB'D) Sa]&2yEr -!"B(HΗ"Ȳi9#Wߞa>a#빅%9O ~E""BU/><#F>0o2uY|M&/h~B*+JE-{VB!"-Pԍ[_jB=g;^/NHB oMtXO Ckq2qG O"hCt3ZI$x+GVi~&n[jkÝ>hcmկ(#UVA\W\ -"B"D᏿U=^^ %^.d $Ie9yk*+xzeGKPi=??Ů}$Bpϩ 됨vm?yIFU}TwtV84G:%+%D5 W\8:ղqISn ;MoĤ@z2؏>-"BZŬ"sŪ!qDDZHOXۚ^;W(!!!IrZD EDjكv2޲cm{-f:r켉5SlAm?~<&&Yb;(+'&=Ӎ/©eШ=HˈPI+EVմzj̼{6naaVHD@|#=gz[^ToUDʐ !'/V*7 K99XΗI9}Ԩe%}[8{Rgx)a$=47gQJh];GޚGz*hf񽃻5Ն0w1qZD$-@f0m+OM<-Ρ܉GO|2w78(37{-nUU2DY6y9B!"$IAVD6tjDZ I:icV%T´A=(14/mB97|grion'B(֋]Z[ T (k(Pa؉,fe̟L:h:v\[jDTzcN|v7)iN<§OYq-nm% BDHʠ'Nt aw/n)|n ofd%%l\y%rlb 7)38,G(D$m D&,x@'BK!.DaC-ېʲ! !IRɵzϢ8ǻzh#^ `n#N#4z| MgP<ZFa<"hlmgv<_A8yl#/QB!"$ЫX\ w<g^_7 zEKۜ9ջYJR_!tB!"5Bp5\ďȚhk,Z|ã6g#r&[oD@k6ljǝd}""BR&=M@L?نixY@Pu_͊^6~>0s"]KڔXDi"B!"$5c0 ́FFa ,D6KUV!eO|=>N:>30|!B9B!"$U1_(6π*,;jE^\j!r݌tI; }@,%]Ic/4d>' p+O6GBV(B!"$YK؃B ;k~ 2 #{N%M5<=>mD l[r-R}K.II{`Ic<鷪m6P2mB!"$Ô`h)CihíG,cQ %U[7B_},&ne7}-M:GUEGI4Q G_c*)e2 0P=tlM[ ,YkĮ)/kyV)Czg2SPxn$H_ucT%8jdok,^)53МL@0ra%$0dWU)Ђb}WEgfF-NBVl^JԆU? M[ȱ@:Ekh7χXMB=_hyV0WV+o]) /YK"wKNZPo~"m:<Εo)+*#\"g(VNvDeH*]qJ:ib+t3"t^BcG`*;v9~dy(,9mE.J5F] IgJ7H`-NOt_JS~ZrtxzF"Ut-COGEH-OB:## 34ب1O2WUDjV[:!5T]yd kI.Z&vqiFKA$Fbef_?o,6ə@2W烥ٹJ3$sZҔhrhN%Hl#t`Ub. ?ϒ;Jzt鵕)iیK, R>e)i)$#o}C[ y  lPH$pXO޼ dَˎ4* 2we/H{H$]Y>hX\$#导!ٕ5GwXРM=n#.&]~PKen<|h˕ !) S#EQ`N(_iv/3 M2@Ȱ1'!mﶚsա ,+C^ښ&O{(x&e2>2%D(DF ([4g8m7)rG$9B2 O\)/.r9"y1VICCB!\46JqU^-vZc!OsK덗˩`fV{ߺi؄ϑnIK AӣNvFYq ceKE*&p{.pg~4yNB(o/}+v瞚;3ĂզL .sH1ݣ5T$[Zv󊀚jq7o*ǿ~"-bg#(ؔVҎ+BC!Hxb*K@2H;#~332@lsC$B!" 99T_wX %PTfoǝ\h>~}~7u}jtu8PpҁBd6%u^#9bUJd4}K&*]y [VsBkx_Bυe=t^gW !"j1DP^R b-ReTzqu2jQ%R>ޗ[sΫa !Y[ ʒžRm;RFnL&3Sj퐺I*yCu^UMQX)D @HNoĐ$ ʢPVOKѩ>gDʟ!ȄW8r?mdff̕1*N(D 6+l~sdHN@ wßD'| *OōVIݝHx11CsUHW"͑`G1#>pjU{A5{(`[1 5煰N׫4JiUiSy焜y&ôHP,$c=> _$ ֯t-TbUp#wF֨5f 3Vr -" 6Bd^FΡ:_̔[{W34=tw&ɤתQħ,$uoR9a"Ps>ٙ+P锖[A̢|,ɸ!LU{)QWp7׆ŪPfOiHAu J?O<ft[A B!" :2"XGx5TJOJ"K#ǧ[GPyb)aV hi'eԄ"*"s %"-չYQ1!r/6VP֑&c!#_[;X,RФ,jK hKNDSؚڔXxnIY>RnQvsi8h L~K^cLx_R矵N6MoGtJ6tSyG#B.2KewnvZ^xBTSS#olw:%33S~˗/:H[va[n zGyp o;+Bƍ'Æ Ӎwc@|ɲ;j wa+ìYP}'rlǏG8nN ן}Grk9Rvay[﯅7ސ Bղ.HϞ=r!Ș1cdĈ뮻?sW:`abBǎ+sL|kj֓>Z[_~rGw^ǝvi\rF×cXrǹ=PO=G_;묳3 W^) yK&{l&RUU%?d,EBt0$BC9gР%?ʆn([m|7rM7ɟ)wuWOe=2W͍{miQ7ߔ[O?C zqI-/n!z1 Dwޑ}'װD"BsrrE|- C4 b?^z}38C 7c yWe 6H74ouаpj*-ϟ/}t .RPP mp':nkw՝2d;oYvD^3R)' 5tI2}t}=t8POH7P[ڲԖj뫶!jkN_|a+Uw:J3m4jl֟)V |̙3@UCo)z>՛֟+KF-۪n[YZ;˹O5v-VZŋۃU ^{5}^\:t[5\3[uY'tR{„ _~o:oVJ̣4 Uj?jC5Xg}Y[Y:ͪuϔH\ˤY^Yxebңoo%4X e>{H?ygRN?5>" ŀ4iI&mmҚ&848TLbsyWF,'20]%aD^ңG|Da2w})D1c0it>]wi@& Dj9pW*>0飭'&Ͱj' 'M"ݿsaark@`ۀN;ߚrB9`phtQ0|X sxzCyCYs x*&a:1s 4^^!Pa9 ayQ8 HӉ)/7g:~s{{>+**o]mY`n1H/O2P!h"`HՑBD(h1 009 KnKsNXBޱHnN-͛3)}nChh}Yo7SY@xШA֐3h!XH#HwEΙL/@DYCwܑPYB&B* !e!ӟx 69R̙#'OK^z%3fVo&iii3Gui{=-2zh9ꨣtdQȤ&R,BqC Q`a Bرc宻+"9 &NySHWCsKP ]FBCXw]]޷\~m9upU"dM$✾Z ў}fYSS#\rz:7"vaiDzedРA1ڒ%KX 5 Da@[*/ ʡ*C}gCno^Xa_~3f̐Yf9,*ZX4}͛':묓0O= )y 0sх ""d yS4̰Lg{G[,hy!4 D VV$,Hxq1zh0lF2i$Fe„ z8eE[zӆBu#bQBIIT`<+kc94G!d͊BBBBB!"B!"B!BD!BD!P!t[t~3, +E2"/gINtw!yH>ڒZ -"B:+eMJB"["vzƄBDYԭ3T3X{¡9B:1O=@(DtV2XF$[.-/YJ>p]F p.ZeWDJjE<6)e!=_rHi]t7aR/2o(Hmm>ige/%IH CdTO' !mޖũږs>eIUjǍ#r"AK^c˭?DeoP rE. q1זo*t/ҷ C7D^3sm3Ж O6tn8GD:-ae~\ID/ ""(BAj.czʈ4el{Ŗfh~futv4ӍaіϴyX[YQكZ2 [x2%"km8p"e=RVw*wͨ 1%Woۼoȡ)ԒC֋=; y=||<[~\iFiZDksl[Q"}&#ʆ%;ݒ` vKSu0$2b@ӆam611DƽX<b9BsЄO?#'?|F[>ѺrUԇb[ ۪1GQYQx;A!ݐV.n\rϷM+Y\FhF9by`X_=Лv=rmOdn;^+7޳,Z b>;ﮙRW"كə涱hZD,G~鲱2b-HflF(KNȒ{E>pR;]/-o4K.Rވ^]պ9 7wc''5#i'z[W ֕׿-%%uó5#G 63-oC?̓c~_h=3= GD\~%S<\lu?{JQQ-5cGhM5 FBTxh];s͎oxɒ^Yx&Jdv$2_"V߳6_"~_;vi4,TϟF }^*7EZ>^8o8HX~YeKWJE5JVJcʐɥOVHc$i{ղ)2e:}[&UD~S\t~?oyHCd…2sngwߗto/10[U+%"Ǒ4f>&"_%:Y I(Ddc-2Z8ШZ) *:CNjw͕a=?pydfDolas\7+e!i }̽s1+klb3 GN#GV*_ѷws ׫WVhw7Su\ z_~7P)\%/UҹR/E9O >BiLy:9r9m\>2N}5BD^!0uJY wfɤ3p$VӥoA@>4B4Njm-X{ea1xZz#߿E,Wbi2vx;0M[EN;:_!{o%*4և#zHrtn92sAdG#:YilDyrG߯ۦrqz+C1WC_5 k!Y#@ )!,zbYR?3{&\}oV . Jf%'QE۞[tsF??yfh`!mUt5Jw[K\StW^.0Hmii7+7u ;5 HInz{s Y%z5A[ o{7ASo-̇$/˒}ʔmLyz9s^-0gPJ+ ǁee͡ %j_W !/+]6嬞2~ts 4 gQ(X>]qYtB8۠kc`a@~_l#fYcф,$l}gɔweu3O*MRaNC[L U,pZf%g^sf箐Êd3FpW7D;2=f,Ys_^"vt^$럾\^nuJ)8"Kʪp}M>vߖ]U ݕ 1.,!'.Ku%z0"]8+摷26ylrrws"‚( TZ$.,* ![}[K~O #FY:rN0+6oVɱ;vˑ갼Es~ӋrKϓb??e݁[gs{/a~搛Jʩ+A=ȔgkqCC/k ';3O~@\7#& 5j_π|yʤG?RYR7-@^:VTdU味{}oT|Z,^P<@yJ|uU{o1;e9%tz=NC|vsUA-jꍯL/=,]>AK޹3zʊ'AdZٙ"_W޺P*K "E~^|KD(/+ (q9X*L"5T2, 5޿C /Dd2WPfϏ-MKɓMG˩{ʁAj-D++:8svԂygV>_VZ0!. Ɍ_庣{ȶ*lm(|M#Zz:}l=&C2K(mp49bbXZI% KkEȴj5OwqRTR\=yPb-miAHdhHgQr>ؤCHc1Lō2fp,\=v/jlm@d+ *=&=MCSWdx*k|Gn{Jp(i fhB2z|fiu,&} C59os 4e^Bf5Ыy`sHg8Ǝ4'H*KJ̰{O-^X%BN\[bB(DӃᬧ>=fF??R=\wI2w w/э{G-%4?̏l4$4x>]/v=d 3euӕAnp, O;4V^U]8*\9M"!0;XLSƏN~te3boA@JWEtsۡK2J'?sVLW"JN84G:7O|PӳCefcH(1GV~oCu`H<zh*ɻMԋTiF\вu g|LyZ oy;7!S[ 8gqEX76(A ɨi2nT^`JʪZ`~\\ep5.Kn}yLKB֭\C^/A:1uJYn0ےFm*y_E l&̵ BDU%G{NN%G7<9c\ xInBFnairirկj^w 29%^h(rλO)#'fw,Sªˏ:`BGUJ[^\% Mܳs~J9R=|erͥ2a 5DĻdrC岢+0ʥ5?eҕ%z]ur;N6;g|s^dqzvpL"@}tlMj]a8Ţ"Y^ٶj@m@`Sg'ji 96sDt Xt1_PˮzB rJ=̕iXAq'#A$34 B֬X!P!P! ! !B!"B!"B(DB(DBBBBB!"B!"B!BD!BD!P!P G{=S^xO?$~m#8Bz->bח{ t:ӦMK>L|{Si(D2sLk瞓kkȍ7(}I+//3fD?{W0c?݄O> 7P8.gY,t?c7D>se|A9d֬Y;u*:f_X˥}7K.JC!&##Cz%;SEO:U-[eܸqFE]>#id̘1Ǻdɒ@lӟWUUɉ'ϋ{!sl2qDꫯbҔy嗣K׿Ue]vѣGԟ?G7on!^jiׯ>ǜ9s^[v>xG?5jn /7\z2eύ2?`^ݳFdv騠/==N>d]Qo>hc uy;cu=¯^u]sG)VMDT8G_ủ_yՍxӊO_?h{4Ẩܛ+B@mjR[zچmݍA٪E?S?*n|[U([5.vqq]QQaO4VV7=vX[5XUaSN9EnX[ݬsU9muSon>}-@~gcp@! Սo n2.**UaJnVVV .@^{fW\Z[[뛧xr-JXn>m%iV {٪gwzHÇJ\K([5: lXxqp>e(k\jXO?U mFV>+1߫Vs^Wd~vu~Ju9Աm&|PW}(e:;%n*]v.?Iii3Hjt=T>NY"'?~9+oW I=cxqMZ[h"H@Co6iMzXi4 #?`0{lv;ua< v!DYguPHҴ5 ޛߩJߣWOH t̞=[?`QZ uo FOocp#r/6sʓ[n!'O1N#4eEݛ^tlG{@51׌fnG(K>h+TVV&ß glp_}Hs/=[ ǪYÅ^P?0ߩ:ڒ7=%:>u VE"_=UhFQ: QVdMσp&{ovg(DO?T7$UOU!w_>h`q3yq9 ﯇`ޛys:/g>ʓ0D.}F|q+ 1yOf<^\z4zGD^^ g] V2U=פzvJYqOxu8'pgyFx -r6=Ú8Bts<╷_:'Uf[ιʽ9nzj}W ' {ac?` 7=nXXlq)Z$!fi u&V滮Cs*HHpcLУGtMuKKK_y˓h\ahp yǍ>h0I&(DC xRIHϗ_~_NW\EÄ9/!O@ޑGPlEdP/Z0p@=s :J>V,"\ᚰtg>`f 67:Hpd_yï;Agsm7 HdӳSO=?lh+Z)D]TL~z2Ljq{L0Ị mzKeرL11TZp~ ;MI` cM!4 ~yVb1!CH иarq &K6fB_k^|zXĤa?^7&-{@G~!yͤ?z:_e`ߴlzq d;vBt~#,4hk4f5o12Cn:,mH_:깗Uk*y睧b`8Eǭ[U+F3[zӖc?hPQ !NKaMnd-l~30 y?X(BkX!k ?a ϔaphBHY;I ""fŊE@!BD!BD:g}V?} ;DA{p!RYEauיngʂ[ɒj(D5T>|2$8 lk訲]]!H(Dk#p HIqԫ;&6 P G',HX&A2A~ݼe{LW_Q>P.H"ƏKhk:Ta ,(o΀E[Λ!P}dv|ɄJe a"4zKÈ^73Bd+3e MaC2x*AL4Lβu_A# 1D ~Ʉ-0C'W Wҕ(EUԵxs9ND u :b*ȧ~vuzq:%kr\z-h+p\P =t/@\gcƧS`y`7zUf\me@Gm<䓺gC^&|WФ+,%4Hs>c|sgϞz~ uqɂ(noA^~ g؀d 04vcB=U~C2!'y!Lc^K*?hXHto!/8҅Nu WO샆Hu]gQq%sN@8A>wX3&P…+/dh-NQ0 L{jGCw9Yf5j@# ;]' &/=GĄA%vyh  LqⳛnIf2CW8cCEXba%.r`iyMuw1Il,0/,xUޮ;6 Y k4`f9rk ɄW$!q39С`M8/E%% BHА;xCLcܻ5wł\ rZwpxb9;>Rl]*4dBfpB7\B u&8U=.EJtYLߠ3|p\dW_XA ++Cm01TưR 'Zr9p16 eȺ}`~7lƶg;`]l.`ygK ԩS{8}~S\F<ʀSlfV Fa»x',{<& m T@W[41ݴe|[B<$r;D{cu/Q8 77%q~x$nt:N/pŏ%h0d ? C$SPw=x=^s/Q oOe s̀Qo#Ԅp~CD wAg(\ÞsR8Gsq[60= 40ɺ7`1` KGv!w(07?C<&& n`gP7H \ؘ~a+B~F{ÇpҦ޼;e.\P5y>8,y,X/ ޟ~7~ BӚce!~ikxa1r:@!ZMLBb/ֽT\Õ?p<иB<)zj%^V.@s4/0~4&d_ Se?De?#Zp6 aA~b4n0c ˴6 o/G>91匐mKx2^ww5D2 GRhs<ɏc9ymg(<-9%n ^hyká)Q!"B>7<fxωA30pnM q~zчjјtIZyx>׆<pq +? n] @.` "B8Dx&+ZI`÷ՁP~!M $   ҋ0piBq'x$+,:,6Bhw7h ϸJv}]rz! MuDpB$L2Pi0;PtքIH6A{ C_hqd\# T!_&N0T6Cm0V΃ ! :sn‚pTB5@W4C=4:\\sSC A=??@=\=Ly$3C_sB:ڡ9B!Ϯ6 D +'R"* UNfDEƛ_/G D DBB D DBB D DBB D DBB D DB&DG u6"_ݐ‰.xixLgQz'Ctԕnjs!臨s6ϯ~#nhؒ6.3?~+pC;dB,Htk4|>c Bnr5i9R=1:8qnyϼwPr7OsqR(DM(P^G*MD(䶢\rQ.@Mtm!A3& Q(5!!uIBIVx QlGYຣԝRHUiBdq%DBqYTgBuǨe}*8WMh*0-HĨnb#:\wg8`b%,IENDB`deepin-voice-recorder-5.0.0/manual/en_US/png/delete.png000066400000000000000000000415411351056250300227150ustar00rootroot00000000000000PNG  IHDRntEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp 8?IDATxه{/ lw;c7QXcohM/hTl+v,I4v7He;{ggg{0{?o9gDZIW&,\D*1@(K3-Vk b8Q@F(Abƥf(|b(^!*YXGC2 НTqYR ~0(g$sa? M8A b46gѣ8p555P455駟^;vIS"D&N1: ;묳93o߿JdU߾}1bHK=drcu1a0^x.B[q2deD`3FcqG.S.)T* 2-)<v&!@%L&F-aN "I#˜e*)g&[L4fDo8mh&Od苖i:6@wb̨ FűcxzܐlkxJBY'?,RLk6k[oUy7N٢6jԨy\s iN&4ԥ0(Jv/g?dvþf&=^W5;dc՟k5$)v5&MrbCoԹ-"h?̳vM|Q7j6f\~c6yW7;/S@R>(^7͞eYl%SD1`zfŮk?-r$a%K 52MT*AK<ŨWAL˩;]c)Ι^Nz7Z2ZR,Ah%ˌÿ3EA fۄC"Xb6gy4,X 7icR),DLgjG}nrz**mhSc(ևTl7qGO<Zh!. -Zb z jL(XH6d7}, +rk<@뮻r-RN=Î:N?ӧ~6k,;3msVXaꪫꩧl5ְ޽{2,c]w]6_~e6lm98m?g}fv :43ʸK9BW|1o<[ݱϝ;M3gN=%-͹km׶~Y߾}rdz+!‹CNi" Zs9rZ`~wwi'+ƌ (ӟl̙YӮj:u-Eۇ~趿b9:sݺww/v|8w͚ߺeUVL~;/NkƝ~չsU%mV~fmޗO>iӦk;{ugv =_PWr~UJ>Szو#T?IC?~? W!7/ziazhBc ɣ;X?SliZot,V狡vY\rI3Fm[_555ys?_~g꫷n0uO̺:N/۾A_y[n/~c_la=|]vY__dߟgow}Kǻ袋_t#<9wGu:='z[l?x5vq̵_//iqw+_ 7gwϷ^x[ߙi9bk_gIr2Ç Ә={W꼷~۽sG¯Lg|֬Y?z9뫬ݺݻiҤIK/_T=/gi]ֹ~iݫK`;/˸?Q|t 2 ik1*p12ve]j~̔)S%e_ijriV㏛ i<CQ//0 /8mB|1_l 6ȸgW_*o~c:+j%\bmyv'/v-Zi[9)lw͘1Ϳ{ Z5YYUrzyڳusp /h/ OW>U  ʪթ @?Yl?*t\;R_w֧/9V|`)닻-Yȷ[_kȐ!ٕ% c5{:kI؞\V[͍e)4g|_uZeO?_rG:uʦ :o͆n讷<F.}E1Ŭ_:xO]")wX {OʓBv x뭷̷`J_7tw>pkf~-й$n8hy𭩼S8n8RaxV Q{U%X~r)${\)< Pn<رc6U`  |3r ۗ* t[g-B:-PYWQ+TD÷J:~Q Woww}w.0{ =o8%I[_w<=چ\;vmnzTx)b3j=Xϻ;TFA(v5lLfiHHbMTT(&˒QN?1kwy%M 4(kPon={@Up{Np |~ OƹKb0OrVmTq^ 1A*-¬EEQ,`QPBF>Qe/k>#\y啮""Q>ңsVM3p.j{,w}%TڇMA Ÿ/'kE@e!Repyʅ{qe-E+=.(v,E-D|hNW7Q(: H/t/wQ`2 EYJΐ)@\#Z&KRh:5\a3:+&vnS -n{vwmd./)Y}rMnپ,IU.I}X{PIr$0rϪ&y%J98$]9QEMS~ʺITRGͷ4ML,Fޓ[l@}ѳ˖5nޢ\4XKPY21F`LL13?~0?,|M3PTTEQȂWOϻ*'NtM Gݔ5ʅo[_!ZW )AZڞ*IUZ^!wf&F赸K7},-tx% a7pKu;d/*fsVb,)x 7_omGnUY)OqJ%5eUxֱtIn=%ȵr js(6TU%KN!ئWǤ@q|+%jޠU8}ݙykg*W[M&^xg_J۾TQYuU]\H=X^ވ"C10r] Uۓ+WgG(t~Z_UTTLZ׳v)dYAEOuZ< *WFu䕘JͩPnm>@1[Ъ&gg3[|o#-?۞h?|9}ArmIRB-.&~ᘙ4|fznRnޭ&JW:~ @?ޥM2B:s&:(j ~o&ڎod뷅TEMoM2ƎRj[&0jơ ]qE9Ih{H_ y~-[`<0ƍiP;Rk&I_zUM͎M/ew}=+zNՌɯ|y~%-3߯Xx.E)M2iC&4ԥR/*j#ɚ~lv̼ǎG^whwufyUɮۦYFܞ5Js& [7YP%+נj6C2TG䢖a:;Ջch׷GYtA[:@L.X8g%y#nĐH^TĢ{{EM,EDLļb3˚Y4<?bix!ѳHsD"Q4ŲKЩ|~Jp"@N*T,Uu}"44pkg#|K1N |Z*b*)L`)ծT/R g5OiX& K,2-&q˗2Q@B֌S݇rՌD_G7iQvQT߅lT]A "Z׻k8"b[1@kHr EDQ@EDM;Eu=W,-Lz7Du婡v,CJ5:c.rnPHR n$Q@b ~f;bzIT"#@$}I3_2wӚ§u듲9G*5L%9qDf0aƉc {ں>tE(V(+^HBIf ^z+OZQag3'? Dh^kTXk>ʨ!:#0t+G/$91 ȕj61F3 ܠ椙brG4ˎ)a *RT,S2Z7T@V(&"gD/:.fJ }a02@9ϛ7%/j}ω`MC 9sܹszS޽+VS@f?#*i$Jfa],F1(5QB! <}7Y' ֛6m͘1 h^%U)9?aL߁>zYP~j6X% =ɂ wY|ZhؕDP"mb6b%>8f0l1iM俱\1V CD*Q+g{.q ?m۷bm-b 4gZNKq m/'V@+K53k֬{#P(a _~y]-w~/Rvi-wj%cպO?s}֠51BGx_PAԋ+wFʲα;sBnyFz*z0W@L[l=&mKo&#N~%#_m{ձwCPϜʬ?蟧! .<-Ѡ;9 +e!U<Ն,EU?Si!Q\n0T(FM`LCXo-*W3lmJJ5̜93Fi%u$zϾPR*Mi ڶ}a)v؊^bD1rTɽJv?~-%AGBоi/gasw v-c9_D 8DlclUcZɆP!*]"8#l{7gުDZw}N[x`PoX aGރ"ҟWp@?x9d} ^x-xIYv|V_}uXp7xözk/i_܃|;wDhp 3K"KeĈv%i#9|MqmȐ!Ko̼;]w]/~a+]tEuu:~c}+lVpY/:^}UGqۿm5pǾ馛ڄ :*Jp+1xd9[ʋK/o?{J^O}Se$! 5Y hj&Z]N4T+L:vi''&_{>l7nm|ݲO=sk;W_eD/LX(h;)k9䐂 z zn޳>k|ÿ۟'9qwyN|W1lkeY&֭Fk:x I'T?@k-E5 :n {?&оʽZuSc+N=ލ_xyyyw]CATW}w xsL &Nh?Cu% IC9_: 'mQެ4%fe]wGytM?;Z|ųu;A^{嶯xܠw}w!ga+a!+}SOucq" T KlQ g}m( mfO>r)W(&)ęX-: g\t]uUβ2'ahݨG>=r N{1'l[FYbmyab Y4/*TNǿ'".AP*+\Wg(Vz"g"haTA^ n7JN` xlmw:ʉ|^%R=n߫sl]lS^y.F*5[=:vve;ToD|ب޶j+eX .ئB+ W%: %N]eVZv8b%.((ZBPeU,İwWZjlj77_ْ-&yu^LcN'Kۙgէϔi9zh[~3A_Wim]ƒl 'ת,E'|]xMz%~vwb!$>ULTHNkCL˜UeD ~*8CG-NX]REWǩ|[\gjn K,kH4PdS t( h{/0uuUn<8{Ό;*Nj&i53#a믝++ _Y ;&% BӧO?wem˒VjڲU% v-&5^'h]w&5:vœo5Q|Yn1 ]3Y8;z,qӋ} 5_g)-iӦB/yLz 4h{^[+QTƶ L&7UbXShRMd=dzX=D NjJ%Hv'\ 9czkɊP ӨtYTe+s 7u+k4XwҤIfr2rxk8t,=ܳUmk[[k)ɂ}*1ǀ;C*Wgi`(MyY٣͂hY}!#W7,7Pjj**Q#hw߹75',L $PBkdʢSmKiLڎ**u`7e%;e疖=.qٚDb( G[+]ULQ߶KEVJIBD#1qD"Apߩ?˱+vA#WFEAo֍ LX #'Ta$7ڕǯI{K ;Y"RA$EZrXL ;F0K_~;j|u BQOBJ]DMsD.jS:ov}PQ"E5se0* EYWwxj#R|չ;e*FٖsR7x\DFG'tFL9 bb~jQǡm \Nhe\SO-1ƔƖíW28TutP{/Suq*3otKOr\zT&+O+!BƝrʊT%e(M ˶=׵5׸׏No V42 _=/J:sbomivܽiՙho1_(yXĵm9rO*]YAe%!}GK"if*j Q}}Dۊ\Vٮg*3V |ί3]C +Zv<T ٞ;h˅뮻Ygxmĉ[g*C7]|;]UgZߖ\rI7,r&g,s} YV7Ã>uEGmW^ylZvZ\gJJuntTz1zfĈ3f̰>}'lnM>M+p[ '}|VLn hcrc.k>Um)'jUc:Xqmu׵}y;pc=V_}uΎ;h'^h;ʶ /O?~kᖕ:yd{ᇝg}mذaodmC3kguN0%:(wu=^mq~7]GyĶfw;u 'l{キ`7lw;UW][w~7-N?t[olUVC=m3͓ve]8 6n&[b%쫯r}5jVowqvgif+SmE:!L&4@g _7V4طo߲8E]?|<z뭮`xm̿;,2vW80 3`Wȫu8Ü(IYd''|[V"-Y{Z;{xnۊJb aȑ#{.qR qxt]'d=\=sǎIOڏ?h첋2U@]h`jY,7v)>/:k|gڏ1ϝ;+Yr#+{wl„ vQG{9|p_'|"Sܗ.z*IKѶ7ΧBVIto0Jr͞}꟯{4>2o+ɍ܃bm鈲.ak^S6n-7aǾ`w|昝jE[yֺs:lDI}suPw 7{P5/I)R͖QoQ ]m[Nz% TϞ&e׿4kƃ%Ufh/F,NIzlExoJdU i_79k\Qլ6i ]>y-7ynT+I3꽒Mԯge/-Y ! 5'Ы"Lܫbjl.|Y͢r,6{i P WᯄY\c*R7ۜ0*EqznS<ՒI[j= {VZ3eM1L [Z-Bfߓ n;V1@¨aBIrZ<@ .@7ٺCIgRn_79*.v*5.1m1im8ORQ[TĬ=$0,ڶܙC&\@%ZYrF ܜ7Y|yNվdXYuYy)ϳz4pPbw}3+Yov3 .[r.>ӛe^Ĕ [SĔ[hwlYezK2=%ek,~L /6vKm|;s3>sGMvvu.6%o5:;;X{yQ7]F"PzàT*.T:oyD&7|WvڇC"TGblСVSSd2?h?<,E@8"@&""5fyDУ ȚcQz8P|I-V#"@qs"<+1ZC̙3@P̘1i}ELaЫW/WhL6UkUCa)Bp,1js̱ɓ'ۼy󬱱R>>n7|ӂ+ݻ-YVbm =0  ZjADzD+Lw,8"Uxh hGi KZBE1//[9!BjIENDB`deepin-voice-recorder-5.0.0/manual/en_US/png/file.png000066400000000000000000000445351351056250300224000ustar00rootroot00000000000000PNG  IHDRntEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp _uEIDATxSO" `Q{E``}O ]bA`AznoI&77e{e6ߜ3B!pʲs~9H!$'2? 1PBpsx$%G #!LDc`Ɖb"!L(B2Q-1˜@ۂ$BjRݢLK Z"4T B! Dp UXo/AE]7h b =zaÆ]ܬY^BdJKKׯ\ǏTD;/Oї: 6kk4jhg_BHjРvz~ϟ3gR$1>Q4bh-.]:q-8BH6lٲ-Z8WFdZ4H=nKe[J!$[),,G-[F'EȺL :DB!ٌo6.q+-BrI]c'}*AGdl?GM^D &BOγT(Κ/{\{B)QD8V-Rh0K>B!ՉWaTbu!AԖbXo!rҭ[,X5i$m{y2hР姰+OuhSR^Yѿ9묳o[!f͒|2,EOk1r)Q HZ˰PB![zHԩSYfyӪb>|B!ܹs寿 A#(V)|ʄR$S4T5Ș1c*U{-O= 6WQQBtkB(B!EB!H!P !"!BQ$B(BEB(B!EB!H!P !"!BQ$B(BEB(B!EB!H!P !"!BQ$B(BEB(B!EB!H!P !"!BQ$Br\q"K2|@!񔖖ʆM>)# 3"$Mdޮׅ!1{F }'Ga$b[J Z >'֟1K1X脖@ ~R !XRR~W16 +\[4 }FB(f0KKԌܒi\ %Ba$#Z:Ĉ?'WHza:_X}: W*uUѨBEҰ[&&-~ E #!PI z2% =$TIa$bXA܂RADQ/{S}Z #!d9xQqOxwcԴ1??o!b?V`^H0c#!RLkm+ibMqMf+>"떈淋H!3C!Z F8;X@TAu"]8 !bFZa۴vӈmi6 \y­牫T ,B(fv˘d=(v%nT8qV"!d'9OWQ,7^Sk.Lb BE1j%SffFZuNZ4"du9Swԩq۶f- $ʠA /s|7R^=yꩧdr5o2a„gΜ)]vuvm'>`\mV=lٲ/^X>liӦMd^qdKw;(**ݻoڴI۸q絽i]%͙8qҰaCiРk:=:t3<N-%7ݧ>1h~EN5'j2إ*袋䠃MMN¶n[Yg%={?^n&-BwY|M6ll2x`_nwߕs9Go0`oܸq2rHadڵ1^Yblf)衇~nZ_K?Un:t|1/DZvez;oI^z<񻠠@_+ wxrI'I޽kh"WZɑG^^xA?-[G-͚59 _y~@uʕ+u_~-k/իWG *S \6*d 8;+W;+Wjk*k\>LxϿ(UEѥҀTrG2mڵsG?tzQs뭷:Θ1c;*s[Nǭ2SmϘ1#. p Ýƍ;*Iz>NA9l2e2.N:b뮻.r,҉Kt2IGeМ8QǤU}`:J,x:wL Ngەr-1qڼ{:mo;8*l59H7A ӧOu5]tqT©mlذQ:端'P)_yם'x"x'O~?;Uj>YXךuaX :Eܟ{TL@t[R:F_tY]wݥK*Sgڒľ?LOJ]K :sE^dQ/^;, /J*a&=IO~DeDG{qp 4>*#Jte=&g}V.rQb(u˭lT(רOo͚5z?](ª pԨQ C:]_T.AFTf~O?UVA ~a~@{t7%Xp.]TIO>D[J8xc)]Zj߅Dq?x^-Z.,&Mš1{Z+6zFSNz UxTCTWk ?v7Ϛ5Ky}?({챇>V6W5쳏8 .c,whQrcS#C;.{Z]Tdjgqł DYX1@0!|yGG?_gg/>U 6~ |(5|'M^lPe z,NQ2 O?]BAcA&me"2sEFnJBQA4UVA%ێzc9FC9Dxm.:{xިX '^ןx<G"ZQO>dgY%B8p$X(&JE@ rF>6pϢvJs^ǣ ױyk(B)+pMbX;1TAR30o1].T /RSloۢlU`ai:Gf;Ȅ=SoG"shau!#"ҥKHu>dLhUF|SD}'\{. Rⲁ" N˹-D E}7,W]u.Uh{[ VbR/ #,=wď˶"={7b2d'w!s#x..Uz:Qׇ?X7 do4 GcQx"N"\hɊPANrRt3#uN]j}$<Tz!'?n\Cw߭ QgVX R1c7[gY2TC=%5}y!FGCVaX ^F~ ]ϟT,8^ Ae;Sh{aڴimGug Wҍ.Y9;V[y PPرBSz+~O~QV`qK@u{pBNG#@@Ix׮jemQ@7:;|S'y( BF=#gX/HSg PMhU^k#am;uDVZ_D!TG ŭW ZKVLQn.*slG3|3{ȺQFuhZMy7l =nMM IG钁kt!-['T(7i ģ,vK@qtS@ZЕᤓNJ%c?`8.߶m[gܸqq+QҀ.%OY@ $dTRӤIGefΤI"]I<1]2T(V ݎ&s~Ƥ _*EӪU+tЄ <+*R E6rP҈?a>cCSC#v4Ȋ`̟:\zx~;tR~~LC % 8c8K;}ȹ-pTuxߋT:hEgB(a&&pE= mI-El 'T$bfI%Rq17ŎN s"!P3NLh);c|RuO^)B(cYK9'Չܭ] !P3ZLCMK!*!%g'6}kҸå𩎄BK1>&Ɲ$Ze*z!S;E!3Fjg)ڭSYcqQ !beJ$Og;EB(!nk͚z\̚Q`V L)BQqQ؅ cWbpF(((ЁH!fﮩ*8R !X㖢$BʂB(B!EB!H!P !"!BQ$BJSĐl@@/k=!}10 F 2EXB! 0'BUQSXDB!QU9C"\BH&FFXBH&F"B` B!H!P !OrjagƲ*|@j!bƣG5Ҡ/"1#JDI^z]h>Zw_/(zD #!9>鎝A6-n,$ k Y"8]֭'8!PCu9k1 - Y:mhzu)BQa˳鳖糖SF!uS !$ȹ:E]p_8:X)ǯWH}1Bj \sj4WO"u)0Bj*`L%??_lEK$蹗LI/atIFFBHaQQn|^zR~}-fNC$ƍeӦM8LTnݬE%1Oʹ`-51$uHa$b yzr_/`!bj*YfPs\69)q'ILFoL*>_U@a$d ⃅[D.] Qıl2m1"_<0onGoPRN<4`TBHV tժU2 E q砥X֢KEKWjrŀ,ō9V|qu~) ["!$[Rnٲe]wD\lsR4e bYڿ#ۋU8 ]ڿD4R$dhL)\)Z q;@κO ۦ#1{ǼjcQ0r|Wೆ-f894[&lxV D8GUM@QLrqcLNZ4*W#q[K'VxBI+Q ZV1h)֐XQG}$:t=c<|o2tPi"o馈?'K_htwy' }ɲ~-Zz+x}rԊo Q}+.].K.-p drvDHcT'vطb'إӻ9rxҤI*_f9V%^x>2x`;t&|iɎ;(o1BgGu=Xҥs=2o<6l~a>ꫥAqeݺu1&M$+WMi駟/!^z>ׁs'KڎֈΑw+R~aF(!FTSDǣ_رc#?^zӖ"$z@?;NO V~ TBC6S mTթB֮][iaժU\]\ %s0=H|+WEHRfN8QxGslk۶2ߪtݩWQzjGYN~~TFQȱ _~9. ݺusT iԨ'=9nΜ9*;w6l3Ge>mQ%JgrT9DZynpT ݻ2n0&~,9G},mVǣ,/GY1ק,uz{>}1ci%:m?[GTyo׏իxby}& ?[n% GYi?URm1c_q*_^fM̾?;wvV7\׌ ˔gw5 |is8}/K(г5\ðuЗOŻ/ ݣ >`[RѴNS.䣄HT&K|>+VhC=$'t\wuڪPΜ9S5kQ^ rX@^ _]kU|vz0a(^wgXsvmATB(}%D"Qb]|m[2۵Ņ+SN9EԇB}W&L mڴk6a|akK~(q RϹ`cP|'U}`uAS4t7@eL/gIVS/vUK7*q7Ypq?Xv /:}BƵ粥{n.Jw~wupLﲖü,whQrcS:So[ɽ%4N>d- {/^ v!*%?.gusjqy"EYZq%j'[o뮻e9hDKY1qeA|[c]6mZdLѣG'04h|7 d/2Q,\PsOytH/@Z5&?g\p% H(P:d}ӭmذayA:7Cѯ_?]A=ޓ7|Sa"4:YP믿w /Ǣ0:=o1e]+d(fw-#-K-s\ k":Ƞj6V[R2#Z!^N42@} 0L&5d](ݻw;`[Ͷ:(9P]]0\r%ɮ?*.x2}k  0.t2}jZƶ<:>d9#v chbmծ%^ˠ1 Z+:*şx `-BNHu>Vb;?Q[ Gd-믈 -m@26\:#E 41z04C'ҐAC96iꫯuO}6}nաq ҊF pc;~ }Y"4MUs>8*3f lO'җl;@c&5ƒK'}.]J41STǣ^ǡQknYLOt!p|O & >ӻ Gsa0\!MXMzXS'eCvZACY섴]kV/S j̒[ffo.TI:%TB:Ge-JM_1? c(@TwwtiDam۶WL`1.ز_$G" NhV w;tSC2ҿSKŌ*cԙ>F|F %^{uƲE;jp \. 'uϏ{e ц5fp(رPS̺2R[(IWtZnm9#f@LFXkfQNjŹ*j!R+d.Ƌ53bDG j1ݙY&o G+]赭gK SLBEf6^;H6MuGU>ZĪު`^D߯9SϏa+RLjcÈ2ZVO1Q?Bg!d?yvtY'fYw=jEsnܕѦR+}km!fs3Ը6QRn/]p,@Mاe5:nЗ89NTdde5VvF0?Ҋfêد6ZXo d07:!Z.Z(} Bff ԙ DD!>B̖w7wOO=5-0qf4_UʬEy2DǻE,ZmeXG3L i4T,!D+ZFrW}`?Rclzsw(ȹݩz 1I(eUDЪv}`qQ3A F܍fFDF1mQDkduuĚl,2cy3ʬ VXx:}FpFe,9+ч@hYYfl5I#1zԏ`>[Pώb{ZG:~ʽCtNTTU?ٳ2yd=W$/k,=o]h)VCt韺IqU Y Ma0ˌrijĨ?z'D $f||c)j͚5OBCA)/'hi=δiLXꫯa.Lz0P2Θ& `JLI<ҁ=$XSd!aR3[Qh ;0"hdN4bbO.v(yr)艝1'%D׹ኅ?XnN -pŠ?~Yh!|rxGJ"b.Bʓ1>}ȁ[yBǍ']t#FG!J6)Z3F7۷7t]mPV0V۷M\0X?-V?OҷZYۓ+/J`#(|_~i -|5a!r|wKlVקM*]QK̮Uj7u;߅rnr+zGWR7:rW{P"0`Nj rʸ{N)OP9%Y,Ӕf _dtf>WlQ/=Lbt1XvTdAA]>o~Y2|[qTX$. }RP8mVyK;+۳@WX(AO]W>~RB!j'Ggח>ihKB!t"UwUJDUMԝ=FG}!/ 7)DNV4'uOzH3yyR~EBj06p^JvWV?yVe1,EXZQVZu V7+ZX@JUTځJ\᤭mEe]XQޤZ_J*)>OY!GDy}`kP[3 /ծh꠴oKzl*TZG>QVV+Ln*n&į^uO UaOSMhۨpnT8`ؓ@j+tZ2ÍN9O횯Ģf*uk% to2xU^ҐL[s:Ko%B+]17‡- pyt~4nzXfԉotBj_i%]˹i.DIjQ?ce&5>@(ZD陯(_*dn&2cG ?pe.@6 ϰ kB]D7jUѶQ܇d4PfƒPpgcǺ;Beͣ;F,)+,r\k_a=~"/SݝéJ&[>_9_l\pdΟ>q|ݲu`bumh!2r>Dga}z:Aй9SXVX⊉u:!Fs͞¡u7%.,묆6P||@u.GN:4ˋw2k߻@EI &EȳBA8 Q "etPRR"K,+h)K:EB%S U|T*a} diE¬1˻biӦY LPZP-Pj"!.QVxCU$(Gy9CVXø IY  uzɼ@LMRVτh Z HH5^{L-ͬPLj@HEaSB!H6, P !,ux3|}7=$ !"!oh1R !"aiH!P !"!$kdܸqHH.2diݺL2%n۫q՚7|S.\Xz!Y~=.!EBNݺu=Eׯ_iܒ\s|o.\{EB(O "~7yw1~7Gvygs=믗"y饗d=/W_ɪUdСҩS'}[o+իrycZ'oNO?w8ϡwUtR媫QFD/2mV'c׭[Ӻ.H?0r'q={W^y/(+@{oy'cDOaaad㎓6L}Y[h]wuraIfz~wY /PkynG}T~tD;#ޏ>H>l߿>g!_~yAo&{͛qmK,ɓ'˩-[eƌ[ȑ#H| O=N8AfyfΜ)L>]( &k֬D(pYn,gyFo;]wUeG}L6M^{M_ɬYn8܋/+hԨd#]tر|r!8Qmܸ [Æ Bwi'nĈj#EE +VتU+}>azvA:,}~gH$gց4W_}RN-&p)B pk6m4"ݼsp U-Ġ/(+՗/::\M4 oѢnݺ /.-`ab{%w4p5* = ۸K.ԅ"\FaDh] KFBj tZɉ'(ϗyi \o\zJ:941C]\&('NbqFnѠAm w}n{7tz7'тuÆ .,?XxH+\ /1YB(8:tuwhڦMPkV%a um4L޽{d tÇkqU|rtU9w\E#t+b7ިzN;4ݘnO zAhڧO+u\pBQ4h(DHm GPuU( _VJKKu@iBH .Xn+鞮f+(=LVph)B!F8y !"!T tR !"!,1wH!P ){I= !F@HQ$$%؜='ERDߘbռA$ghHtw)D2 n MFH6c='g U*Qƀ٘nmhf0yIMω֙PWYX0vm%&PI-L f&@D=NjM E7wD:gxG"y`2{DDZ$,ESs E=Sh,G#z^W]bHѥXm-W-^ nE0ӊXf=-Emb:"(aخRyؿ)$-R5vJ(♙@lw[LոH2bt '(R&a4bA$*j "E]'HH6#]EBD fHQ$ܙ?#!^=(R bHKdB!"!I3tŎf$EBBNE!P !"!BQ$B(BEB(B!EB!H!P !"!BQ$B(BEB(B!EB!H!P !"!BQ$B(BEB(B!EB!H!P !"!BQ$B(BEB(B!EB!H!P !"!BQ$B(B(B!EB!H!P !"!BQ$B(BEB(B!EB!H!P !"!BQ$B(BEB(B!EB!H!P !"!BQ$B(BEB(B!EB!H!P !"!BQ$B(BEB(B!EB!H!P !"!B(BEB(B!EB!H!P !"!BQ$B(BEB(B!EB!H!P !"!BQ$B(BEB(B!EB!H!P !"!BQ$B(BEB(B!EB!H!P !"!RE-"C8 !rX !Zџ`cB!$Df̘*TZ!N }aQ4pP?7! -Mr-qt uZj 0 ~UI!^e$bÿ}d~˺H!:Э_n* &?En1HQ$RSD`KqcCеK :%)DSm)htY~R !d(K~;fg3H!d0& %naL$@)BjZ %9II"QH!$19I54B! %:BRQL@ۘIENDB`deepin-voice-recorder-5.0.0/manual/en_US/png/help.png000066400000000000000000000542211351056250300224020ustar00rootroot00000000000000PNG  IHDR f: tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp UIDATx|TUo tPP Ql誋u-캺}EE EqQTl6 (H$ss&3L |޾Ɛ3sR,A ?SY95ۓ.1XaAR>NY{YQvaAR?coo(? rXBJnhxAj oȰ 3ƿy,"/zdE~ ÂȹƒlаQʕܙ%{5=¦i۶ms%2̰ +ߡRd@ޛ@AAJÆ\`P*mضuK.wƞK뉐CR*?J{){O9 " $%%wfP]{9@Μ1ȡQ@鷟= .^ YalKʌ! (b*zD",jڤԼt[ƍ <&8|>ⰸ?5RRJ*ּYSe" t]ZZ%ۺuk^O&$g%Ƣ_;\(p@! gMC̉ 1R<bs ޞyQO(zji1Ī'E `Pi ƍKJHAA^B^kN=5md6r%@'3T $$0 aHPQMgP (9 1aH&rMfa= ("VA(Jwg֭[@AS"yͿ_5ؼ&lHy;7ʝs[~sٵv*5= Tb:ή*Ğ#]\ &n\hcwo@THJkkKkIb!kϥ5N؞Y?;ە`a>P;=r`{kVUzf+;Rm~姶6c@WbÂC*ְwŮyR+ױ5g\2@ YYYնqFؽ 3)VZuSw˞`cu*Iz{{gx@4.Q)(غuծU˒Y(o233mƍfݿaޤ<*[r;ȏ^S}i I@.6mڵkTJJըQ֮][Âudj}rk?\{/@ݻw圎0ճ`hVvlZn,Xմϰ6_flOez}Ou\Z-Z='xܧ@Z ,]4z3+״n2Zt,V \\ݴЖηq={nݺYu+VSOp ji]xX2 /(Ne=:{fKos "ikvicƌ_~]߬Y3;Ӭ]v6|p[fMZ͚(JĀYw#.U{oPZTV͎jZl\}6{l{ᄈ-[ol֬Y>a;_ 뮻I&|!"R"zS%fZcV[u([ݻvߔ(ڴ9%~;Ԥ*TN8~]u.w[{l#~;.l=zV7|3}t;y<ʕ^0eʔ<w 'X֭mԨQ3PO|!Bޣrblc]+{m޼ٖ-[n_|M\~q?0{ܿP5B?k۷i|_C̙3s~pKa{/g *V ѳ`gkr]r]WZJQC\l`ܸ.mܸhq B;voU"8˖.l/)6#Wy;CaAG  ?h۷+NfVQ8";Y6?دѩ: ef>Ɯd6p|Gku!裏ڋ/@hР}g/gmr(1>0aBl?|/k49s\~z\zGkDݺu;ώ?x< I4{qƹtAvmcǎv7+Қ6mj~ߵ^k֭^xZje{{_6vXWn P#C=KwyVfMwpem*i[oP‚*(rcaaUzUؼ <#9VAW ?6[:b\_|I>ǟp';jժN'ȶmfwzoe}>go?Q믳[o zNEN:vq_|]_9- Q-*|~-j| +ˆtҜǝuYkY5O>W_+9r/^zv 7*xPUU1>̙~_d:ݻ n>q bwy}'n%W^y mڴq۩ꂍ˗!bUVuUe==^_wF9tb7x 6,'WJ 7(T^.R8q͛7/T8vA A|*W ˎ̹¯+ZqMs?t$J۷k>*WNsɦ,VxF8ߕO___W^nԹj QhkՃE}ٲeq=g׮]]˼._|w*3f̰I&ٮ]QF]CZUkw- *1 `/ReO=QJK_w$'?w!zQGOC.4l"BΝ^7xUՋ@a'^ }-X ꥩ`A"##ýϾQ VgAԴ 7#@rݓaE.]0p2mǿWX.xߤIcw2uҘ\]U>nɞVZZxIwhp,99N oظf}3{ w{:%{]rs7ؚ5k?\isLf~=#D˴ @c;thooc^'lgqzʽ!tkvN9*jҥ|p [v};{{UVh'b-NE 0{ೞ={]{6tSz}rmdz^P4…bn_yŐP!>^#O=5ŽVt{>zvlr>c>W^~v~תpZo߳G͎;mwsGu]"]udU~7F~n[tEmѢ߷Q0¶mC?DBC:L;4^>`W@SO!`lV3p!* Jm<-ޯοu΅F?M|A7B+$L>mOJQXP;9յ{۶muUڃ@ݽyAk޼}W[o[PY:n NJw֭Kp UKA_r&I겯! Ur*9眾ҤZ'CCsZoᦘSEPeOp]ڷ(LN0t|LYuUݡ|߯*n= tϬVZvz2T|ȕn&uܱǺ2  >t qsBt-W7tDK \* v*ꪯC#|hۨv-.駟,B[6{ٸ&|*(TؼekͨQ=J%ss\(QaW=w^|iLǜ^Y}v161ʕ eUW]iO:> '4qƌO-+JN>p+|͚ZCv|Fn_Sz`9vLh+cyiPI3,ZnVf}*=.7XSQRznr{}ƛ9)t9}vdM'U2ղJsp٣ v]~C~0tPi{˵+]~z;uGZuR+/ iP+V{#ׯtZ䣮gHt9-o mkm[odqذU۴ 7!Ղ?^{rnO3T Xn.N]vqcQ˿muׅgɾ^푇BT[L:JdW_}wMra>oR\A9))8x6d宂rOkA@AfAn:䜰@a ,M3ifB'PO_:uz‹׾};⫯vkm::4HR!T!sύS~ϻ^8ՠ}wD' P/*7hA йG 4Q`~+|M9f+ W8W-z{}MXv?;Ͽ%JߡCWW\pAN~ UjkRV@pPN'GC4&c;㤓NO?_ t{ҁVP 51KA3PI=,(\c+UȾnmm֚'ٱ`#jWeT7VIPDJPnNFjԁnUv-kλ^7p=aYgy8uQ ?T: 3P%(TTS&Ց|뒯^ZIB34 S78U 7'( CD~}tx4{B.|Z6ж+g+p1A*ݮm3}6чs$\*Ǝ}9'(1\ϡPz\YUxmDne  +I.(A&ԃDN POms ["BF6~aQ_ܗ%mw Q∖  q6}Lk>Ut5ۿ*+<ӟ:/v]X4[nɹ|駮[V/PC^OhHC K>ǏTѣ]e]fCu :*o*ꍠ߿ YeZ4t@ L gAU4qΛڞPн{w]S0Dr›kƽ'{lmՓ-sjKnؒճE9GK.}稫W%-[T:*Q?vs6s^[6򳉤\OSRgm CގMzfIΝ#[!׶<j9*S4t<{٪hsL$~$Gz?'=sq6BAnFR}U5Ze#)XEpssGVՓ!V %5Vw 4U i@@.DR`wA\QX䭷~o &PÂ5;zrbfΜ‚O1|ܑT_ kw&PL]r%:⚌}3yX0̊+ Z;Diyu螕쩴6_߆_WZPv5$FqN7o{ Mb{16'm͚ݻTyWj媸Ot*MBOC]+%2!2oOKF'P !Ќő-G~NW:ɞybHaVV2uJuu݅^{|q^~٥ryܐ2)wʊZ y4$Enjժm/p2GRy'1(W ڝ]ϵw/ 4B@ ,(Y =f[-ߩz){ǖ9~ş.6٭msKj%rQmI +X{^.j-VK ,ݳΫMt]ti}Յ ^M.;tqS_C+@ۚ*x?WR7;]VV:b aSN4Hn!C.I￟gz{S7w El ]4aGO]/ IkxFޡ_NmIBuz,_µĢ9 >}97gr%}5@QI uY9H9@)s,khn_~9ǝ%kr5uɵJw%jfYJʎsz-p0i6H˭rȨQ޶m[ܩ SguVk".Gq}nR_{ڬou7ԃokN޽OMx'ᏻʫzSh|<-țN_sr)5U țlNڮZzg p?FzYS))wS3:w{NMbhSTC^:sݾ~wme;AC,3v {2.YK-[mרPcf]ۋu/*-ZpU<ߧa䨂ﱇ~0T!Zܿ UtJ~˖-!WlEKin B== }ezv_ CgsC>p7%gڸq#]yY7_+mȧgsN軧 >0o|rOדcgCKVَ=X۰a}kɿ{q`{*V`V}[o>5%]{}V)M&n"~0-xAneDQXǎ'YrؤK,u>H"}5>er S /ƌP50>E@ t б L W@˖1yqp%R"˘9v{ò Qw=yc5[c}]7~\2}u5UCguYNU8t;C{JpB{6崜݆ݵOO~] F|Ai僠U? xZ~C:tU7ǎ[ .ۥvۺ%VZ9rTND9ze:vtoU |iW ]x }9 ?B)M8/Ox-'Pni7'4pu} 駟iM _Ġy4U }'LuKIihC%R'F-[:ZO>‡fldGMJo옗nVݐ s͡tBpZ:Jzt֕Xte /jQիw@?$%e%%RaEӆWj|-R+7Quk}$8/{GҫZJ,W#Lf5ŕfرk%#U"Z2ֶvf^34l'~kr7UJ{ESbfz|o#3%5\n77P)WdKKlM](R=PޔFlZkmR+ڱz{YǷP. JNu&X]a2Y?P3arI{Ӫ߸nmܫWʵwK׮ee׼$zm Jh`pq>kv+n[e  (YFZi׬[cWW.\*ά,m=e, X  D[6ل[UiiV@۷ۈmeF&¤7JMŭ[i֭REs,Ȱ;wڛ۶ۂ| JC7ÛNI*XTkbʞ [0E6onc{, (caA@P?}+=(Jlx x x x x x x x x xRӼ?(7@!,!,!,!,!,!,!,!,!,!,!,!,!,!,!,!,!,!,Iek.={-[6l`7n+ZժUQF֪U+W H ]R.\*钙Φ)tӧ̙3m۶my޷EֻwoUJNNnceמKF%"##æLZ!7o\[fl|H@vm͝;7ǨA~e˖l@_CM6֭[7KIIaCaAP,T1c(&OPP ;w_l 6d#!xޞ={%!ŅBR˩,Ԋ+/z[ vڮ9 Swydž b8ȭ$7J׬Y,++˻NC .Bkڴk¢E._]?ZZ(;+HX+Æ ~wq (B鹧ڵ?y\= ϟOX(JCF؇&D2k׮uUTq+!D(Yboc b5 [lz}5b>z깮oE%… @:{6uTכ'! ,I.[oٷ~89W E/RlڴVZv.hѣUZ2o_Ov[]H[aLQKxE^5kzQ//9ԚaO`ر~ߋ<1w\ I&|@@1X><`oΜ9n+Vn] PKiƪT[2)++˞}Y۱cGu'xr)9+H=z@DVM95kg7 '^x0`$ELC}oiݻ>r+ߑlb?hvY.],5#LpŋпQ W\2 Z%AA@'Ν;"9 삂uֹJ?AA$V@_=̟??:ҠA⋣+w߹ (\ yq9 ?8裭UV =Fj^k׺?(=fԨQz,t#z0o<7`~jE&))^y啨iŃhԢٿ79'KD4 +fuԉy[<=!J7?BXZl~R@?(4O=}O=Oh"QobB( naaҤIQ VGT^Rz좋.sҼys3==ߣ!,@y^nxдi\@p ,uPZ<6-Mdɒu]^?ц.6n87l,jy}l YQ+#栃b{|.`;sM;G-o[tlQi,^ j9vZ5j}W۷QņEG>u.Ȥ@Y K駟 /Ga{ͬY,--z"h a`\ rET=4i[^gv衇(IZ1AX@*T`͛7] d޼y6qĘ]?sz(>ժU+7 /vr,jժy. ȫBA{ōIZEׯ_FBӦMzL H= ӣ޶ S^=[bE6lnʒnݺgϦPdffڸq֩SJQA)ʚٳ(2҈aB|0-[k֬yv(J*sZr2I(Y(Я[.?sry-XF 60P֭[9UƆEEouD"kyCMN8<;eA4zl`/ʐ?UB2cǎE|3ϴ1cD]+&/@T;wl&M*;餓\(bQg.gVulN8"yO<ю=X6*P?$A־}{6((AX$M67:SG~|RRuzlwժUϡ G?|l"@ٖ+I3tI Tsт233THDFF|Q/ J[u֭. x/6yƢO@ǏE% LP-9( [~sٵv",+M`O?ҥKm:UTڵk[fƍD|6m47 i^4790#*#@X@X(rZ.q׮]VB>ؗ?ܹs]i&wZ+֭\T Ӱ x x x x x x x x x x x Pfdddȑ#矷,6Pۈ#?f}j}=6o<6ʴT6⑞n_~-]RRRaÆ֡C̴7ZŊ]$))aժU']Evֶm[w)nݶrJkҤ *:*WG}wq%\~O?z֨Q#֭UZDncs1ʹ%K/~g7x%'*۾;V~}+~-[֭[ >Cw.>ìn0a־}{;@AXgԩGYjլyĿpB;wݻH YQBk݉ d/M4Uyoܸ+f;SPf~Һ}vWxmӦMֵks.R6n8իg~pϞ=۝{?|ߖ4ϷvG#Pb/]q'PL!XQP;vXJr۹s'=@XM- Zha{nAQ1cػΔ/t*_i /+VpzC!`/Po!;jCGo‚'>St$,[^|E{7ꫯ.qm۶q@` <,PrnAUP ^DGuTu u=@Xkʔ)psz6j(6mמ~i[z|ͮ%!R:ԅ j͙cv9u2dmذ>3IL=7?yfԹ]-_ݻ{e =Cq=+,YĽgap@[j̙='ƱGT]~}\߷x_}땤4}?F}wΜ9^XWwѢE ;U>*Kk?SS P ^6F9>O *~$2Tƀy䑶k.[`:89t0V!詧rrT#'>R!EcT:Nk'|I|'t; nf nW( /p"R\tLPO+TpJts_P9}mݺumfͲW_}՝U!^ 6y?w}w5y³ܝgj51*zm'Ze7޴/S/u>O* 9TqRо}0:wJų>*P+H^ylΝs*D A4L1#m¯p*/;U!zOCCTPXP>٭_qlw)c@,}_cQXg)B={ zT@O֮]qgbRBqт@͚5]ESaK*UʻnӁOiꪫrJ cPFq:@СPTRK PzMN67t/IՊyz.UщDY-1Nw<)UrV*8hߪUVu*<NP+F! 5\"9CaÆyשU]Bwz-*p2un*>sR,'Nt}"hTZb(νz}Nέ'*1:?A{= *Q`Rb .p=9 /ZC+WB{-a:jBg*mT߳gϜj<؅A@&i4PҤ}{8:iU@}WҮsV݉K~׼p 9A)ȹSeX zɪ\*;zHjJm1V:鶠nSaC)ZuQeEtT$TAOT>E(2Pk (:0A-'* P@Vz @i*@MZ7j= *->iS'PT5UU!u"'ꭦJ N5]o[^{-?ָ໮0ʼ^#8g-޻zFu^  *ꩠ Jnݺom!#AK WУA!5W,? ʑ~| [#K~X2t0b!1,sgPx 뀧LV@J~:q*(b 4Us2ԁX?5,((D ^ꄠKY&ԛ@=N A@iJ`?U.oU| :3t~^i) %U\cگZFAUQ{@A ZLguWkx B'4 %*7P:Rdgz {P'N-ܡny-itk ꆭ9T&ph`;& k~Oa WD @X UU]Ȃ&UQKk2D_* frV[].첄ߏ׬Y3wW*hYX0Stp:=sni#=Vt^y1'* Yr̠bƥ5dĈދ`ebtT0};\}Z%U6jiE͑Eh`#UuR{b F)GqBK7&P`qEF0 ^ G4QBϣR> V92Ʀ)(CܩS&UZ}цfIc8uWk- gs9*PAB TT9LԱS!I6w@S'x=uTQ]25l89ղ̈[-? A@Yrǻ}W뭫[zϨPBzPTH-*@hSp6|<_gM q@;dzʉZzU9muU^u 1=H 4}ªJzޯsf.8hU E->Z9UH<|bk)A'WOwyʈi}-rh3<ӅZ]AeK.U0霯c_ ]z>@^m{mcmf| 6*$.袨 rߞ};'Gy [[ Tq@j( IIVtI TsRfff: ]W_%99Yvsdx xr9 @ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ANV@QҲ&lA=̫JU]vB `AHOqm$ճ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@nѹ@'=l>9NG0"Cx>iKx GV<96?=7,Gqmi^4_fYwww?\]]}xηn3H777]__2/f al7wc>gc|ɓQ](~>`rivybF,B,[]7 eb Bh}$8ׯ0$n\x}:k qy4.p;,-E iH4X{aǂ qxBCN/ `i{~ܳ+` ð`-LK0a%p`X+b0,?0߿8 iy?ؼqp7_\ x_/ XIENDB`deepin-voice-recorder-5.0.0/manual/en_US/png/new.png000066400000000000000000000212721351056250300222430ustar00rootroot00000000000000PNG  IHDRVi:tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp d*IDATx] xEf& G@@EPDVT EYE\uEuWWQQQUAQD‘dL&sLy*әxaD{` `o9102#mɔ2@"'§'HǰoD I?q‘%\!aG#L10.!N$xl5?i >}J|UR7?ZlU ii$WƧwuבÆ 8ϗϮK!cnWۘ@i6՜H?jԨN8aR<奏x7@c~aÆ'g]YR6߇7@ TY&MTNd՘jЧqxY#DZ 4%Cz#i\Bp~,.%ظ\ppKNn.q AQj;5RS jйs.]9ydiҤ <ʾ\6m*gu%'drD€/V4͓'|FSySOɔ)SdƌUHSPPN&g3x4Rr*Mn:yڴi#ׯOiOGoQe*eb}RZ?!ͧT$Ҝ<e <=zӧ˰aèiHqKѐ*6#KB$L, qBhstW"ON<ܵvڶk""67'X&5 S3҄mvLtƱDlݵk%WT` ȞĄ$N@풊%šk9Ɖ4~_6oެcꪡxcf$ՕѼڲu)ݒE<ê|l#4z8f4m۶F Yuyܸq/~_o 8yR\\5Mm"L2H>|K*'8Ejb8ƁOq1HM49^} q$&'fFІ*fR9ZiOp_=l7L|WR]Od6%8 qLDǓC"$&8΄#,o#FYJhpOD։T#܁{cB"DTs+#mI/iY>W'9(AHSW0\20R`g4 209~?4Wrezt.?ܧlR# _M\0Ofr!>P4ȢR2z9}SmO +bY\&U\Su]r?Ẁ h>o>8] fQG3cBPΙ]ZY$̵c9Tiǖ6]rp}[x!jH Z>01na1ˀ4 6)аjݻZㄍʴKI IFZTfEmɕsY+y(b?IkYs U!8 yQ@ț:H7uNxsO9S2`2I #*3>ͅiKA{&RunTi*paz 22iyR\+Oq'<,3 I@ OTѢq6#O+ +vOC>\깓t0 jrA[;OG\_exS9:JGDFT)p4jO<]VVݻHx(dFYzվċh(p/gAJ}Z>٘c*|3n܏"jyp H q>#^װt\"!sYuڒk:XN:$yǤ֐'w}WusH$|$[H3o<=k|>瞓?裏__+4Ot衇9# mo+W8n{Wv*SLf͚%q 4H?pׯ,X T!7xtY=XyB\qr饗Jǎ>l߾]sGjAD>q;L:u$wu;Sw^|A} fg}nwϞ=e̙vܩA9}990 JCFQQԸˍʘ4iDZsj(5]t^666KC_`(A6OnlRo+gSN5t'x>ٳu?Mj0ɬzda(k׮5~'iӌ͛7zit_{5믿6=Sn0Zje(tuEnIY2~  rœvBt8nD@Qø[BĹCpjFդYE͜!Y:mV@ Z |(uM?> 5?Po1^z%Mk]J{FJmm;3S;]#7~.k|4yÇ:Am-$1qqGЧ&L5>u11OIJ8ق=;Ji"" & j\9vj3]i>,ă* ԉ\LTiUS0/x3k׮u#<"Jk0xnN&w}}f2-xVƠw054ױ\/_a U1ѶAQ@:X#G>iLoN?t;v>*DWdKmڴiD¶Z}@iJl.&_ 0, ?tn~t[ibJ"NСCEz[ک2_kUޟgf8_ 6 \@޽p)#q,o2]Cs]tֆ8(3G~ᇨ ɓ'2oCgq(IO_|F@ @Sv);8q>y{PhS5uA͸<016 ՚H[PMtͽ?Oڜ}EԴ]Od,:Q}YC e07c@%9\:u6{}ӍD r<'tWj>Z:iq!쑴… )} <AtK`eZ!rHjI@d?q-&FTMt 7ICT IG8 i&FkD>?^Ӹ%qR,Oiݺu\M VXh$NkN+:zIj!q2X5/`'G *P08ΐ\L`e"re0zL6M1&,bժE>{B~ew߭X q뭷$HԇA@,WZ{$ HN@C`Y4#!dC %\3`m?/kaez4Iˑ 9O pfD"D2@mp"H`bCj%{~/"ѫLAS-rRZi)\jN@&,ɚ-<$NJ\0I͂6WB@05YHefBvH%Z߂gyޏ!bVGCj%Jp2qV w5 pi,"bGh!t0$X$D +LD>4Ls>X?UF;,8-'UmCC$:$A8iٲ^SCi#Nc ѿ[8Di#1k,իt3h " 7t^:tP[n:}T6 q% 5ŊKH6X4Q%%%!G~dѢErmɘ1cdΜ9}x|~[ZjU w ŅkuNdA$*t S׮]C „koF{ԝwY;3tPpӶmJ HbGAAAƞ \s:4nX:vX;kB6Gt onݺJ}dk֬B:p}x} awٶmlٲE,X-3aY|L8Q"uA$MDx7<եK׿%=~3AnntIds}7:رcgϞi7I MU _FZȆElaEBlC8zu!DJ[hɫ1pV&jcj+&~OF&D$Үq+5%^mQ ʅ>N%`w>N8^G9I`iDͲ>Z'fa q! HlqV=4AXւ 5Ց`2e]\\&ihI95jV3_zׯ30z\jQ>NMIݻȑ#6~߬Y3ݰaC(5j\veҢE 6 HNS@"{N@RAM3ڵk5 &|<:4R:FNf:A pB>}$={kƍ'{yȚ!Cܹs;L (\U9pT^S&of^5"c}D p6^DD%4 3'br))h#@x1oN'% (0F>N2^΀BH qi!x$>ɓ9;6 8x^ش}v ɓزe ު6jSX Cm&Lbw:LjDZ4&aRn]uV\ビDg%6mzoĈ?~jW8 *>5G;i<֠AٹslEgh_ƚI$R&d( HPgGJĩm`lpmJwC$A8ACC$A8ACC$A8ACC$A8ACC$A8ACC$A8AS| APDrC np|\H[vj8iƥ1,o;'LKfشOVh#`B^YHGSc8;s;@"f[@`fi8H$aHC%4R3~$$M$F5!D`xJ;H~iŵ$rIENDB`deepin-voice-recorder-5.0.0/manual/en_US/png/recoder.png000066400000000000000000000326131351056250300230760ustar00rootroot00000000000000PNG  IHDR<V pHYs+ IDATxyyefY (. AIږ\)>+M[qrqrN{\^Y>10^ QH) A I$`tw՛?iؾ3YSvo~jZ8p`tttڵ===eI&vMX\#GFF^__m;x8> ,YR,/UqQJ(\={ ֭[緙Tq?|CkC#IƵC)U(Bw tvv 5h.[ۇ+Wo144455=.u.Zβŋ===}}}Z544o_ݲ,?H\y陼Ǐ_|q^{mڵ|^)}zktc RbqrW_;ttt^?hhF]^zQJ\.յbŊݻwHeYꭷ^bEoooWWW{7{&=hr… ccccccr9wuuuuu͛7/3MKacgC5ZR4>>>22rر>sBSmM u]q*J\Z+|.mEXJz;11166vܹIu)۶ B>m;W&j:hZ1\ Y*eTJRTTwk>zV%, B'$$ն>)ukC[VI9̦ %lW ӧOONN3.-\-xSk-Z_$UڶnU{ܹgΛ7/˵9R\pĉ ,Np8VëV 7 q{・KDF΄JӧO˶ӧOW  &''͛w; WyMNNF_׶WXT*@\.WTbSSm=4+z W``ċШHBp}.KUK@]~`F [%ZuI[KkKˤ j-m]-Hv.JɝmeI\uԻ½hp?x}sٷ/p# 7VG\Ӷ-p 5֧?/"? /iC2pV-XR){"ee_O<}v D Nll9Ijsz*^Ԋ(Ue /;vn"j=^1 @iޟ9=,v CD34MOWWۿtz;sPO&AW֎^Q|O>WeR f?ȶU/?.ww,ڿ{œVDAAncZKs\tdNJ\pAf暶9m.?!+.}\ 6tWx$'3\aBִ ,ʬo X) t;wsgƧmhb *IGԶD- A4Xd;OmדE0;_Cm &̤mtBl ̷b6ԶEpVf)-`%խԳМɨmj^[.2mNۤ HIP-^׷D>jm=H95k!i߹+QԶ`i -j2!mĴe4!)6miKy YP ҖL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mLZk}IW/EBm f`i &-cШؤ--dԶ`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`i &`BRwR- -.s H[\Ju H^GH]RnU7 va i 3~& +}U2:*ϫrYJ%nEP|^ ӣ{ztOZP`&. H[ʙ{K%5<Srꔤ29)"~XV˖ҥR(W22lRC׭6大G,~tg*u>/*֪\ֹٳ^-,r:yRX5kt j̅I-.t:p@>,mKՊzr襤ZkeYڲX_Tqq}54dr^^_}?d. mqQYաC֞=rRzrfYZ R5r+m˒~"R.˻oA50d"wffMpd..64`&g~Sokת`npJ|^֯W7߬o>m=nڤׯO\BڢBQ G:~ޱCN-_/}`{9j3޴IC^S /=>I%p*-ZNI;5ezmZwu֭rMn?us0eɇ>$;ɓ3ovKnQi֨S>lLMI.7n|Dl IIj_uMj޽[ݫz>|ع>rP mQ[]Νoz>Օ& J %uYoYяՏ{ݰAoݪ-+Y!p17-*)j2>n?[wOLJҔn'RJww#_W;wZow~X:;{sm1')QN=ѝg?7lm:BfVmdvR{~hV;Vu _e٩FFrO=Nn0)h^Z=j?LNnП&=<)Ԛ%?oA&'gUGh!MO Ju'?)Bݤkmk SKdj` ЎE3b[P~ ZMdVo34}bs!>(?GDt0w-r {]ys0|,[MTh bQ_=9b$s2kĉϋ7zQRIm1`316mқ6^N "mј`$};R*ɕDBaaKH`=VmMduT};zl,/2"mрĨu@p?cIBmIRY?7K!k!p4mьPHYRWR<1Y۟=+j 訲l믗͛G?*E(>FFW^qᄏ@iB8a{>mUmWhjJ=wTX[)>~K'_zD?cejS(3}߻p b$~pZTG? ~)GE$ԶO#'Ϩ钸zGKVet4v 7i,8؇p]wH?ڜEt A+o{o$IhLWmG~$X!+̈́E,cccRqK%\t;H.nЦֶ9v癧DRg{ϧ*lN<\#IC,w6wQǏB剉1ÃgϞx_$OZ^zIv7nؖuք[~9imFD\̝'qWDkZy6eC"fquxT*SSSgΜ:|p.۷o===B~%ց)n}T(} oZm{oh%%Gk-2k}uOݝ^;!Au:p]^sv8S*FGG?~mY[nҗ466vϻ[3&w[dWWsBk-{M{ Sڸqu(?sFls۽P~n{EmfOպwoI?@8ԁTP{'L_~.]lٲ[B$xz]TeˢW Y 2(8J;S(qkUؗx̮n58h{ͺ6,<keY[|׾[o5WTnyy˲`"[y1Zerm6Ow:kppׁ֯n-DmŅ NMMV\i۶mۖe)ZĪ~/mj>R0zbG->YeуhBm^J~ckdDJ%],r\u\WWPQBuݾ>5IXz+ZDtEУ"ZC?̬)`|Ks \]:~:~\p̞bS\;BP(X^=;!є^nWW24:auJ/|#TcU-mm:sFŋZ`v-2;{VDd,gHZ2Mt_zso[}kq{zf^ -BHΉIL5hXa}ZF'Ymj5<߹K[ܹJ-u.|-RKJcuhmR٫g/@ދ m/i_ Dĝ?r*jŏ Լ"N&& jĸ-rYDPhnјjʭƷ36.[DNf[k-2ZrYpIh#q5`sm괨նI-^wNjrE:ym>Q&bjBh&me??ދ$#m&X֩HBm-4I[Zm|Ei:hBI~oqt;ux35E&Zk+֖~DK%ipO* u_cy$a."_"iyR\0~RԪj| vQcj4npChc$mA+"mLujr#umH3@YKnIUmnv0Y&4hpk yZJ"f.e;sΘކv[[mm""j]4GȆEVz<Q'P*GgDD/쮦mKc|d%ZQFE+pA55>8@ Y]]"b;JA]^mQhNjEhέ݆hѫ?)ZZ5:8@ (.QT `c׉+֫EĹ{cudEڭu&gٹgzuhqn)V:wND.&~!i:qED뻠`'֒;w!"^ZnT@mn]ZugGE.q{Ϧ3jUmwwBH[ f-JYccRzjz&ֶ}k^PQkϬ{RkgbR?Eɗ-H[d; Hb8Qmz&"Wŕw|mkgխQ#V/H-~guT*΂̷E]-25gR}>)M[Yn{;?B'0s\گ?b[xz^?nYvpY(iEO/mYKB'Z{oC\}{l\3km֫iJ[Rȇ++KQ-_.Y"e:%rf rm|SjRI=JѺz?-.կym7 Qɹd3ROr,IM"3wR+FF߯Ym3\O˧*ίD_r|g?f_{sb+]̽wB^DrO>aUSPÇq*K|"[QiP+5TyȈ}`4k1IDATm }YIgYs^ϿU k?J W֛iѥh|.i)^,CL i(xc]p!tjDKc[_qP6ݻPQ5t*>׬Dn^$y{xXr7*RHZՅByŊC `4[?[o{z}%{ӊ|~)ٺ:$ZW" `;ՇE"8|ÇsoU6/@SߦvU~/Khލmk܏wX[N\61vͽRx%pE}9˗;===0['q2#QUzs׭i䟉(qR}lmI_hsօ NO|yIz f!F45B2um" pF@ b)΂c;SU;m7F5{/BJ"m&#reJ}Wj !kR8= E珅>I L،{s*+WQ"iLAԭHq6IaSP]^YQ{KmW~:N~nh7CڢPhYRfp5>9VwQmyo&~׭qg5KǵEv;E~f|Bkɴ.ubzmW:qVYF_Xg?x ǜ4 .NoC ;wN}*0 xSfwѡigmVruh_:V9or7Jٯ0_"ŝ;R^f-{q"mQ,ˠ͛ ǎoYt˘ϼd tEf\WoU'yV/_y#)Y,K|378ڦ6oD[ # Hp-[Dk1}aAP蓻:G֡!ovAnToE y㡯~QYkՉ^ [bn"mI,zlŊo)R*>߂HQRD}"vj{cRW~:csf\n{Eqo.X|ȎQ ZOnڔ;y2wTۏ~4CR` U?r~Q7Ċ_Ο\wMv]ĢEVR\emmmcNJ;vj`m$}vl?cCO0ڦcG1va6e۱%mRA-H0dy>1*ޝzI,nޣIjyt*ޝ?tHc;o^>h@0,Zt~6}}$[5I\{bms-l@:eYKǷl*ܵ+iSrJk[0+%I+kWanQj|˖ҥr q Q'Zn|yqW_gMMW/xv{p!&oV_1ǹ-[+WZu,#,aʕcb29Y~ n_"aDP]J>zTSf >HH~jNp=nk->uT'-6ɓŧmmc>X>chifD,Z:~SgOIFSfת7o~SWnp-}Ru; $a$ P/q"v?C{8۹=zԹ?UkH$(SG R[ѣ"2~ƍڤ[. mј5sE&6o.v'ѣ7ln,6ADZxC*6~睡sZi9 b(pPv]bގ{{޳plkք6\h(Śx:tzU56&JM^=qwP6/!-fO  궶ԪU_{-w'?ћ7k׊eY\ImTŒ6yG٣Νʂ?^Ɔ~mz@-%pcJ/^oΩ^Pvnu J$Ic?gPJA:^D[n^JfkQV!mѤxQeWNZ5re=:^yE^}U/[ׯիU>/0=M(a֪Rwߕ߶qzz.|Cn'lXmR- `ꐂBK7ޘj;|88Sǎɋ/^YB/>fz8r;U'NT8^ljrCQYBbNWjZ~)5<,òkr[-\{zdݭyU,J>yrYzzZٳ՟QT{{nt V5fkiBԢEH[UJK^Kk 5kV*܉HntT>-OZ;QYdIiɒJoU4 i+ Z4E ԭp%Pzzm e˖i-DZΝr51eRQ*ED:ss9ϻNggr|^+bO[!jR-Z#R:EnbWjor-r- :uC +sVfƆllIhi6&TnhA捅6$Զ 4E6I!ٌYImSYJZ\<-ZOE,z M7}؅,9hi": +!N4vCUsm]IZET7s]86i ֍Wr&R27v<7> n-e!i#@ˑ0$؂}M` }n*rz7#maTlJ bP,H_.H[\lMoD }! H[\Jԋma,H[\.Umk7\Z-.Sd%2V&9#mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mL mLJ)@J`R ii$&-@ -N[j` -A -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -@ -)mRpu--dJ Lj[0!1mU.)6mZֹ- @kQ մe\$^R VL m5҇H[0!: &W7j[0֋N"mL m$Hj &'@FLRJˏRdp)~U<K 1i; f6i-d -`62@TPyKm &&1 WUJrCRMOO۶J ֹb̙3p8sL[[\쥪$|hMp$p6>mRfYUNz,PяJ'0,hˤz.vJ4ཨV2D 4ZFsṂi]s5XRolJd6B( h+ƦsK,_h"7vgx;!!Yj[OޗswSSSJ%uttttt{Kָj%)Vm(qϟ:ujxx_y3_zիWutt^d[=6iW ,# +Uj .>}ɓ|8ŋ-Z4o޼&pgqieg-3f>iy ^padd߿r{4]?s?gto[~ڍ߿PFJdH!gڴ"2咸"m[TƆ/aÆ#G<| 3q^MO:7<`Ά*_>8}ݷ|ro 3W\wǻwڶ헴Cd9C,!1/+Uu\.;w3L^ԧvvu2rp>˟{:,vS.zzz.]ov\.?228'%"~J'I`hbfh˹"2I!o=t׆ yqq{0C6i~J\ `Bp{˗/-7#rtaIENDB`deepin-voice-recorder-5.0.0/manual/en_US/png/rename.png000066400000000000000000000430321351056250300227170ustar00rootroot00000000000000PNG  IHDRntEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp 1BIDATxEڇYĄ9L1cΧwFTT3fx(f1c̊TY1aA2n靴afyۡ:L}+bՒZHx9t1Q0z <;/O^m)ű4 Z2# ^e.YC a@>&D1IKb4YZ)QQLJ 3ZaTh뇎~h ~f1,Ѻ 6w^AکSM5k֖g LEEż3gN>| ^za [oKcJ^x]p۵kVIII 5;ҫ6m_~^EΉ@ eS޲2l#Bdڴit8uȸ,ѺTJ.S)*;w_}ўUeA PKCBMDRu1ѽ¢ȣbLj0&,Xbgkf}LMЯjD1ޥh&c2{MKt yvYfm+;ǺeyIROy=А2LR;QW :K1z>}G}9REm5|֥KoTSj\i+DĠqu׭QXr7fkT k_QM۵cBxhΕ, EϘ:l8ھflY/4TbC3i$'w m.l^bZu?P_lU~7iv43S@?(lfoL?l)hbue= Ddz]XM@^p@[<DQ@EDQ@EDQ@EDQ@EDQ@EDQ@EDQ@EDQ(VJfSЮmJ5k a@R,++A"E̋YϤ4ѫZJia@_-Z4^%IW4nQl^CFHbQ Y$* a(2CLX^%d 9Lc,Nʕ*aTf}4Ddr2FD煖Lu)qQU]&(^(XT"*e(5޽RKch#@SZ7UԦc^ƨ9 cii)o@PKu"جYee:F,_6:?y3-gqY Kq9j0kr`-`) J‚XK,e~(V@jvP\-`)楥Yo^r7$,,fF32ujA*++9Slw;%g`UVwc-: ˜IxZk-{mРA~l27x{챇n!C ;UW]esMv7ڌ3lmf|susO;4wLϖ\|_&mc:uJ:W ~i}@n̙3]~p-7dׯ_G%~hV~h뇥+W /7sv7sV<-0+TB}J"V/u? JK}qGxb]Ҿ=zx<;mzE]y^EE7l0=?sq_=_:^]r%{~&z[{[^{%=3.Eox]tQ\Siy'==?34om[z饓ݺ [uU]<믿gIw5x/[:W\g7|ӥs{~د{3kw+ݺ}'zl[?=~o]wMw}8_yOoSӤIz3w/4I%sm<"}$uk~gs+U˥R]p/hkl궽ꫮ' (GB?6?x =;찃c٦npr!40_tF%{M$vi'{2_ rTn0OGi`{]oΜ9nc=\*ʪ pСiSYֺݹ_Rug4g'> Ϊ e~@w \J ::us3l%>}aܿ[ݷ.g;_k׮ە%ۡCVY3￿mJȵޮ];[oR  Y+OyرC[hܹ~a=_f6s[q6PbR_q`}uS#~Hw ӆ*S?DABGoa%#K2;N8kN\z)qMV[9aL~(:^!|k*9ҹ٨>+Jѻ8C]riWtu?rw T$x\Ʉ< Pn<]ʰ2qDѧ;S!PkpGU(ҥK1ʤѱw |o%%\ʨ$USEeگz}=wٹxhށ\tU)NRL\yV\w=zC߁ _o *c>{섻ZA `ߦꯃ|Qlha-KC"EDEЫ AV&(˒QNq'矻F;wN.1T[믿>Pez3q.Wfv 8{QC}ʔֶJQҾP=F BBz0}*-d9qFB 2҉,tuOR".;]AD62У{VIs.jJ kMY?#aKt To{!?񖅤BYGM GLSAڷg=?[QL\ ~bOR %eoE4p(Jde <ع]&8FLLQօgH@\#:&$2 j 7?q2z\tS 0![$&r>Ȃ \|r_*Y}rM~./KR"^{9AEt_Tp\OgU@GQy%rTW!Hw,C \uݔP6(8oi~l(UW]5oA]OrQnՕU—cSL쏟n.iϓզe)2C AAx~+JT?f:^V2 2^z圎lSƤJߪ0aBR)SruYP)U.0r. SrQK6DU_/s=ו* gp6Ԧ^ZnGYz.825)K{.)V\|h!E߆rΗ[BTTEQȂW]w:{=T{B~UP=~W~:W UO|(-E/;3QGUKǗ},tqB@FWȺe]by׻:CՙW_9Gu,)KnߊGnUYɤ]Oj`#פU[i?3yj"׊5,!&@uHU.ohSĩ*MT.\s5DSxEhe>hb{UtE+z]w+-~5JRAeuuBj* /$FY #ePNu{rJ9L/GU5B }ImPkjSc%~eujBϩPnm3,'p UaASZU%cD3z^{{y] 8.q.>|5 p 53!Ϸ\3}u3~59ZbСC65NGClSnuPz51cƸA ?N<ǠK1tu3VϷ|3vP5WS9!nJ_in!eܾ(Ҡ.%ϷvI:x~f925!gK_7ߜ%@=ߪuiS#}/ws9/tߊSuc __HK ^=(.rJBy<"cJ9UiY}Wn>R5bG'Gw{:sbĆʤ? u\,xHCx~]?ҤP 8(rN_C䢖au9R ߋ XfbwiTĢ90,eUd%#à ĐHE)Re17<Z5>oqhx#Nbnx!ѳHwX"eP+ yg-S~e8:FU(Xvw},L5Nim ;ᣎXy'1IT/RS1eb,C?E),żøjհíSSuoϩ iRQ, K2&e?( j9sfr5kFCY14fFFE]i4vnum͛( 5XU( n)G( "( %o)jHrlfhaZ(EҢE\P EOe"U=4(e "@>F"j _t."d83kY>gu  y'**c "KnV>SкU-p#* GQO%|cge 7%NcXEh_TzٲE3+mފE \h0 CWҋRhղa@ G-ٌJ,! -GgqJh0EWot+G/$5#knBT1@ P,y`iU5WL}U#%)fa I`J+--u8E1= ze6S20zF}#.\5^T֪U+kݺ`NC ‚ viZ-[8(zLrFT.嬉UزY#j K.nrTB> fpެYlΜ9N@ )O,JQctL^K1k㗬#P(O2,\JDǴiӜŨ8üEz^*2W4h* RϟݻZ\šgXl-F-lt~gZ₿rBը,rVZBDKޭ[:ɻT器L;,Ƣ bu7D/ ' }041Xa)@!4rYg`(Zia ,i`羅߹2q~v! . 'f`%*) Z%Sq5YMg2jtO.2yUbreq1wh% oPb%@aF1je$uPܺHfb-FmK!!sW<*r{֣G@VSN~=]#˘φCq)Z:dt4bHN1.a, Q!l:;ڷoo?x}뮻CO?^W_&Wt-]S;oa?4C+?R~ӫGΝ[ga֬Yޯ͜]͜CK? -;8?go欅Ҡ彅!x$>:iJ+@okժ狃w{g|k+-- 7ew_N뗜ASOHC>}?K^v:^u/{[Zj)ow̙ゟIykgL/{7yd|i\5kٲ׿ϸ=_*[=*x|{+r˹lwE%/Kۘ1c3f9_бcGcq+ݺ_~%q/^~?ޣoɸ{ճMu |/O|k-ҟ-}y[-Ut/oA {6W[y޼yʳ{|_|k|IaquK\uy\cR%ܟqhe_:ܵ~zh jo{rw)Y 7x>vUWW_TJڶnk9o6_nyuݧ38k#tCS`ws >|v'~ig(=[|Ijg ?t.P#7\j?gunFr?4פIk?=3gK_[8M޵ ɔ>=ofԷ˚_xq,\? _~B},{q[(e0Z:pfu!Bq=">lz~eeiHHÚz:ʔkZJdMxuY5Jq TyIuʤy;]C N:w 5F>e(DH$ʁ!$OB TL/믿ɓdy|m*@՛VdTZqN~7RnrIce 1w2Q,\3ݺ< \rwꩧfMR1K $B yl>;蠃0]d5)MAHT*>g;?:U'ɉ m۶-Z vؖzlsQre%QVUhfKOb%Is^g83-ӭG+SJTkVX!1S.'osjpB=*zFA<練jrKTYE(xE?KFzŠl zwi,lI{=K>?6@uqGS):TOV[m^QVZ4UxTiz9dpڦY?ƠaEYM(ao6fuqmu]ܧYO™K.yY-yOmgiOwt{.T0l1ME LAmQZyGъN}9a^##ܲ8ΜG캝3~ b5UWf_5:uI%W]fq]"/V-aFNb`Y6\0M2hg 1ڏymx@$eo j:Ot ]kI7E;[:ъ6þNt0KcL# Si>`p|_j+jub?2LcL"*C#T1:)kAMKYdܭ+MH I+Jbe aoX5fϊমь j54@>PUϧ:Lo0@\NbY2TOSGU:aRY`Q!$)h %5C2bTKq*+F{ӊKF }S4)>"B Q&"v4tWUBqEkӆ[F֤l-ZȤ}|KCq:EsA, #"EO3^Ӻ&aε]h|`y5 Ql3d5zQ0y.dI-ݫJs=k"{gZ` Zj fp fаm( SݡZB,FE+9j` : Je”JEֶ4f\bWm~>}DRG§m]tOb(W BFRTx{ɝcKEefgVU>[ӹ_-ޠYo*- KZ1kh_I`=>k阵J;E6o\N3m텟+o:f_άs',:>`zǘaK۟ <3,Z<$ / qN& D/$:F)41L| b!Z1Kn1ꠉKffVUQ%fWnTb'ȆZfum/W~NZmwYzslTn+9ZhL(}}1 >K˚|Z:*f_>9eB~ܷ*[Av-'V5IagMZJg[t'W5E3Yan‰竿UB?~fW}Zd;sog(uoS-x!y,ɥEv}8P"ٶyJޛZT3C3Y Cq7սMUY=[-ۆo K b{i2ߧN5)!2k Zi!Z:!6_%X[nO$X~\}_\Z̉oN˜H@D5m?!;ˆGš*+?\d7on+7~q~8rRᓪ2][ǜۼߍ,J~Kq6_6 ܰ*촅o*\b't%ւVR%̅\\쌟\iBVL)'۩=K풾֩eY#a)5Z9qmeڮ)Zng.|V}v4Ëgah|R͡(7ukK]g/mOtQ+ Ͱ$%}l6w}7 (B[r! +*on\pM>=q%\bw\=^x ֖_.2;S9/(:E(jTٿ's̱'ڍ7h/-2֯_?={vޥ}ֲ:h쳏u,XR,E,1#kiovaOڬYlnOHC׽k=Xc r-qGyN:$:t~'M2=m.{});裏vꪫچnhwq]|^^{mw f|A:zk:t{7:cMPǙgZ3?#p}t9J_n~V;9,U DDXvemm7xƾoy駟>V^yz Kͣ:*ɇر~agʍ;",}Q1K`co~۰aܺEⓉ?{ mͼyR/+p) Ǝk?ۯ{F;XyM7}-[nݺ:+q\ѣG=ܓا́h;wvO<> w¨QpgAQ7SCtTf;s-6c 0au?pwlp 6Zj);]}K/aj}饗vx^w޶[8IPYY@x 8&X흈ɚR4Xv:ur”u$\d{6e R=; -쮻⑨vŝ/oi2d;%d)V[/s7h#j\iXMfW]uKӿoW,A(t4-S&\lģ 8-o62lݺ.#@$ V7F2xY--r|ġ\/0F׮]A], K?`bo"S)-M4\$)>Sp??]~Nֹ'3_iKvz se f:@ɣz59昔%P ʌuHK ʨdQ([ouV\}:VT]1cIbҮk~Yr0 nl! 3N8>Í_f}sZT=aY4K{W[V%%wjcn+|C;ws+]_:ryP r!MޟܱW_}T&h8%N$ꪏt8"4I+TYgr_JL\.;Ĕx1H8n$lO}u-5Q?>:r!ʚP*KK1Ku@U]DRKJ^.B:u;W'pB[nŹmT#WV*ūK/N cCUEf<ZʋRYY XTU A<Q l,)ʜ,SO=?jSswVD4VH  ,)/fA}"<CU. w7mZs-QDQFC-\sm`c'Ov+U墋.OέLS(fp/Oih'AEDxHEDED0DQ@ICo fR=zt}0Xv}M?o'N\5fDִl2(jfvoH48\^~'7.(,O>*7|t_|apZ_l .'|M/$4?37O'l뭷mvWAhb~ٯf׹7Zwa[m\|.nw|LI53СCZ*gqK*~ݹK:cN;$m:o-~EbAb馛ߟd%J|J<@[j+‰u]SNn{_}N:${N5jTR:7ox5Ǣf0`?O;묳j.s믽;K.oݛ#tqnlK/2,cC q*]&Lx!b+r:p /ŠAlΜ9|H(rYnq̘1΂C91/;akgϞ;Ao>c>'RgyūInǎl 6pIxiv9AW^Z뮻~;w]CT۷o%:?Iv%`3<Ӷb g=' 3fpؽ{ww= h^{_}culҤI|H$(@S@i?|{gENLRȭٱcDŽVZɹ=LPV\?ǽ۾w')rAފ+G駟|"%r˪TB bny뭷:7k\rI~UbQVVG"@ wLV_iitAnf0UءC]:ӧ=8Y[B'0%51h%t~5(= i U<{wyFܵeY} MC=z-?~eK駟4YSÛby1Cbv-lָF6m%z;X]C s=%ps.P-Xϟ^ޕ' Oik5@KLe9GEQ(r^{mWw+BT(kQVe j$4jҷo#Fv*l)!WqVla^L~^zKC59ꨣ\c=U7 5Rm9p&@]V%OTc5)qf<Zsee'<*YPQQF Ŋ,xd+( \Z=݈V`II/B"<,E@8y"@Q@(1#"@KQWՈ(d%<6'9 Фp Ybڴi< (ZO7cII?jD w!C,P\:J0[-s3F¥tۂTWYX4vnJ D3YI(*Qc'D-jK}Zs #XI)HK R {р"3LBVb`9JJ ],~Qk1pE1U@L,lRBsQH0® #PiNE-. 5A!-ƨ20P+a 0]Bh5(,:hFBG\"@#@!["ؙH?#@!|Lj"be C,IȇBܒ"@L$W#ӁBM@T`(DQ@EDQ@EDQ@EDQ@EDQ@EDQ@EDQ@EDQ@EDQ@E@EDQ@EDQ@EDQ@EDQ@EDQ@EDQ@EDQ@EDQ@EDQ@Q@EDQ@EDQ@EDQ@EDQ@EDQ@EDQ@EDQ@EDQ@ED1%K`1,E,ChcI^(z)4/=Qb}8b ٬\,J?Ϝ9s 3f-=ZN"7tZcBC%$qlłXksJJJƭz][j?yӧOwמ5lذM b %,J㡹ZuoB`QB۪ܧ!, q \uZ fP*T2X JD\_#o.V.Â8@CaTzU2 mJDU Eh,Q"4E/$f*#R!Sc:ש>2b=DQ|Ebu/Y} m +S"@c:1 zD1*"-F ,(S $pB#ڤ"6BtZ9P`&SIENDB`deepin-voice-recorder-5.0.0/manual/en_US/png/replay.png000066400000000000000000000740661351056250300227570ustar00rootroot00000000000000PNG  IHDR8.StEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp atIDATxl gEb„5` ̘'E/^ńkDŀx9^3Ά9;[== ,;=]sNUu*JB! $+-(R( !4,C SOB!(&Y&H,!QTXBi"i"hPƉc@$R(ibHIJ,F$CIt$BH&f:J4sZ0bhivh'B b;̱7IW(ñFW$K%\m߾-y ! f͚ȑ#_s5ڟ +:]iG"!-//Zڨ /5!B֢Euwe^vW_}sUmRB 7ܱ+KL!X1cKvwqp1J0KJ!Сv1í:jtݯ%IB)6JJJZ. dVS $/%!b̐X \eBI!e*EBI!1 e°HB)fBEI$X2Ѣ띇Bi,B\BHcNr5F)">@@"n).ӄBH"I(rsoI#!jAY1?X$mǕ%c o~[E!,Ì"eFZȻA!Kɖ[nl{^cǎEҷo߬ecƌ;aVBY"]0>I!KK!a.z%zNb |;\ǰb\UvRkU8#Bꫯ.wu{2a„,l߾r?dQfDRd!xe˯Zo"B2$WcYgݻ\yT,wuWye&+N(!2oqD>O;!,\QP[M& `UUUФIV4 "I!3 J[ ! ΢$B.4(dB! M<BPB!JB!dSV'1^>n4B!ʂD{IꚔ/6O8̉Qrv\+ئv^yL/Ҟ#(RbUkR*v*x*):rƩ zc FMJYy3vG!JmcsƾazcYf"4kZF$ ea8^є3Ne&R3άVX7iN$"cTc1SǟKi͊QgP ܰ"$a41<ލS^O"eKBH1;^ku)z,~LPraxdrFi&i+eeeKBHA $y)vn|5T(YoBvhR-me6Һ&D҄D3: )_=.I孓bٴL-K%!D_?5ByYJJaS[EJ>YmUrZzl,|2~$4DhNLZHEB%!A'5)u3tNM4-)- ffak=TT\nLUHӒ:,6dvDnN܁&MJ``mXBH En|6\ڶ(ۤY|FCuMX++ڬDvG-4-'bIeh 1O\%Ͳ(-\ NzY1Z' C)8ycT3ZV^"3 \YE]X,ˢ(=!sEɪ,~Tk1"Q>ɻ;J/.]B fƚC3)-MI&:c,E_LV^ye0a,\P|-BSLwQVZi%tMGVtMzuq+1Q/nk ѢE~WޥBz/^x.z!&V|;\5AX((|O담n#5ucOD&>b*E<~%Ԥv&X˫KOˉ{!mڴ`VAX}ٲ;H߾}oVa:e 6_|Q.ԩ|*T~t]F!SN_ӻK/-Zd몫~;v̚5Kڶm>믿s=WV[m5nAy$y6wsmr̗??Æ p8Q{BXzX^*ow "Sj0J r˞{);v6Ln6}y1o^,X2{7|3R첋tMrEif[3UVYEZk-͌<yfmTԐ^8N˳>+vsÇ 2~)p;:sI{kt~{,]F[38w.҆@y睧K.Qqx@Ǐ>ZX *_?[C=T?x{/T+]$ˤI3ϔ>}u]"'~MG|׿%k/'ݟ]wUQFHzsHIiJ{˪SS7AS+|-2`3[-H H}S(QCe2Znlo_KOYZnn\%VZdoG3sL!0wuO @vm7zK}饗R>c Lfb \pr)9ό3vm}W' bp7u!ꫯVA~Ǵ ޺vyXf8W_]3y'|R4\s5U\xꩧԪu.+Vڵ *!N>]ݧȜ݂{ァ X֩~_5cB'}̙3G;&Hڿ'p zQ`Kw'?C9D OXV߿/F-WUkm7 mV+s7m.<}`_,.BR9 s@"ԴV֗T";T( o4i$Db1o}iӦ}'z 믿3 / 't %2ClP,Cp뭷 25 !dkF -XlIX Gy]K\a0XZgu3f8Xl_}UE[k'Q@ X./2lq݊mٲe~{$ ^{i^gXA{k{X|tqݑw߽L'?<tZ@![-*TY*رY:msu<7"]EEaM6k 㛄-wiWiTz S!d(1 S5Sy5~?B Aw}cn|L@, ֥kÒEz?,RO$˳J=KBZ`ٱin喱i‚Uŝwީ2ƞ,3a5A(F.paM?Zu}WO2*nj<'78N8A7❞%YeI?K/m=՚psOM[,CwvbSbp:@rP}?drCUWkAE aY{W o4n (,M6\1B/OuvycMY~i6m4v}* .{W,1}'|u6HsI҇ʼn@\"?9 SB_? N;o-eJnw磐]r*%]b0%]!“96Bgbz=Jz %bꖇjFժo;]@1qD?đ@!P ^\ %iLQ5pӺ"+܂;wVюk׮s*,-H>Ȳx@ W[nEݓ=]` ֋ uIƍ89ӟ;wz.I0{{(Yg Տ2*s^e$rϥ ,:+7j-L$ɳ鸂X+' 1U,P\nP?h'Aa byK!^!QZ=Z: ʏ/PhȐ!*\~̣]\P$Nh:X.*ؑ#fJ5pwa JZYgi/(5/MbE.ɓ'fWHQdP V |1hF %eT 5AKRplV**aʅ^׾y!.{OEz'n 7wXМ+YD)--U+Pnz5TVD;ne @.zւ|U)#S辢<ʆux a@Hv!],/PR 6POQGJh *u@r]HܲȔ2\Dn񚉝~DŐ$757DcT+҂4WE8&@Pq(}5^spx=I\X8pΣ( BZh&)}?G\{8#b=j ; ;r5ABefe55D}$TIa0&"֊,P1\=͉xbpqs$\Ӆ\dz<ܪZlH=~AC%785oqla> B2b:\&篒k* ~8'\ihoRi<6͋BOQdk ';[\f/(6-kŲ&S1VYG끧œFږU6풒2SI?KdV.pe:YkCH K+[6)!%̞_#ZHi*E)%2"Yni"mo_5YȂz ",V]̲FŲt t5!XXaFZsX. 57,6OĶHi!M/bQeT,a =?Hɗ.XY"nlv_TcK#UWJ;6ĺ 6i -O ɚq7i׮yHV;,_i-zt>էfBȊ%g_GJ?vPZjE5ep55Hʮ[ˉk͖.}+2lM.+\CEeX&lEro>BI*.!~=A[M\ N'sʇɯeڬRVkZ%[,ML2-qydCqt.&ZQ vjBHKwfʋݷ(˵Q +dWiT'n;J o)4!4@ "% }X M$P:BoY\1Șd*wNPҝXB$8 7w*Plmˊ-EI<\6OWi0; 4TtF/ t9l)Sy^ TIi3n:ny M$4`CF,?~/s}}֭[$ eJՈ7(7Y^^N$ eVrQ,=BH-JwL!, %BB)|BHCӅ%! J(єBiH,J}$B ,kR{YQm !?^j$J8AM!h<BPB!JB!BI!P( ! %!B$B(BHRnzxy#B Ax $]Y&N+sbeTǺ\׊!Wh2%eQ, !BYe:"Y.AhFR&%l`,HG'M"YYj%!P( S(D !dR,E$ eaD8B&Qw%!)E]Uch2v3B"2Na!,!P( vj.[ˠXBUr 8(3+!UQ%!P(  2nUMŻf#Ų,eJXBHPV':MIWDWK,XBhQȖԍiPUZ,-I1fI!( Ǫ [Itx"5Ag6ˢ\I/HURRRBBhQ6\"YWcw_Cez&ݜi1VI!( Ƣ wIV 6 X~iW@EڏYSF![&WQCfc:dx'њ$¦L-UP_D>%rs+ APQ~`'FiJO8+M3s5Ӭ;'p'LlV uvarg/}|'ҬY3yerez뭧m2jԨ/lҴiSYwu;JޒΝ;˞{uoÌ3N5\_~!|?%-7}PQQ!mŋ:u|_nSN)~kʩ.{ީ4W'ssΑ[ڶm˧:묳r0O=Ti䨣kV Fm$= 0@V]uU۷ҫW/j;^{MN?t]޻woMo2x`iٲe־nF7o^ѣG̙3]vu]_j UW]۞wy\ǟt|IIߣ駟.vm9/AXovc=_~뮻75={^:H~c_U:u$ro>-**>Sz}Q9Ye:-O>/z? _Gj)C١١ִ7̚5̚6fg91sCӛ5nMc,/?xcc 0K.fРA;cvqGcjcKn0+406ϟlyݭΓ'O:=z 8дn،%، LffV  tھ䦼X1]vt6l3c3r-f50_} M7xCmҤI:_YYil/9Lڜy:9"kvm7?<`?6,"eN<ļ?'1n8}F-/۽{wc Xp9G;k]%X" 1D =#guiFL 2w}WliR]uwY2 \XB?dzcǎU2 ď\ ZIűZk%CL 4b-1|}FA0K./8_Ӈ8~ͷw}I/xb}5Qy Aε}1Ҹ,ϟ㖻<(A݄BklJ*E΃ ,\u X!4hZpJaʵ\1B/^HW< /ךJo8MT p ?Czm=PQ p$`­}qiK>,N@>}T`_VDq\eu_>b^$࡞5k 7òTp /2ݻ}IC G}TK^M~H!~ 2Hi@vs4 [q ކu]2\pzp7Κ5ˏAgIpI 7ZVE_ĥpҤIu @6dqi<,uKwgڴipٵkW"! w(bKB8aU"< N4)mn 1En/9x R2n8+pUDx}ZGhBa~y#da.IƝ?=Q"*/j^p+zȕ!zGk |Mp%KNjcB恸j\MPsU>X"FSe/Æ Sk >*>m6*:C˥^^!)0#C< ^A0'_> wz5F<|p]a{1|vPPM+pyP5w-n2gnΫr cz^7oM33tvKC}4lV46A5pki4U͔)S߆wn *::?{UĉZ˵|Icƌj/㷅 jR"gt:]@+)l bE3TNAR v bQ.CM]gհ1ͼ'F̬m_dO!bfh|hZYEꁦ"&60A"9qĢC(b1|W|!]M5EAe&TP@_Qo֊1/UY 2A%ioI(T/lAfjŚ6mod}^[>Bxɸv!a wq+Dr}=mmRBˤ#\YB0i=oRZB, {2֢|06xwd._$B\zc] 5H.,|&iGZB(aU]qJH8嬐UkBH8> 匣eu[&R1 !eAdNkr|+dRF$s|!:I!(Ff0_ 1ˢtkF5}ݦ.-%!ТlBY>dX,ΨYN$ eIt%6wL29&Rk!)M$ eJՈO\NtP^_cuPBA_A_Q_BI!iQcB!di(% B(BBPB!JB!BI!P( ! %!B$B(BPB!JB!BI!P( ! %!B$B p1{|!P( jY8%_4!lpZ+:[V M8B))+)--XB0-t:mE\|7zgϞ|Aio?믿JNCEEŧzJ/ 9px4L'_~EgH-%v(C3;C;;tÚv &YfYsf0a3`.Cx>r~9~zfWԍi{ 8o`@uߟw̎;hCmlp \yƾf8u76UyY`Kꫯ64[66cɹ?iӦ={͛>}Əo6xcӤIcsW8q,Ow xԩygߟ=[Da +lĈ :@2Z1}-3ZXT#=w wVf\J8}eƪ􂔘pcq=$zmF_'ֽfrEi0m_x؇_~'W^R#,(J6cܟw<{،TB~}W1#V(žlrGb\`zM7>#<\xbR^-F]p6+zVus=we>:thlz(êǹƖݒ͜f$2Z8V2_u+s!|,XpK/iyRSĊm7 |I* M6z`oᇫeŹE[j%nv[ B^K__~eyuJzk0om^]؅c+Ё:sݰ:׫6ɬPjځyW+s{^ OVxL>]%X" 1D =#gufSLQ+4:;b^.!2cǪ G.-$cfsEjX\e5Ĕ #[ZVP. ^ 1(9rLX>sbqpDܾPx8餓t;A  8n}Eo֚ݜ JGCxI:?];}V\c?^s@ 9s|W67yή*B$\Ư U qb5\}x,!(^zi`?X+Nt!;={ʫ >{ ?xd0qH&ڥK,!#srjGBjox" ^l喉B !ts K3,'ĕBLVg-C#F‰'}/ B8gX \r޻u˒p@QA\o> qϨO:?x( BA_~^+{~>p{Te틑݅]Fc*\5\9PB` 8PGx\M.:pb;d$BP" 4v:q@T/VrxBgxyLT:~iGpE[k끊Wk%n;N\aq"ʸ_VDq\E # 7XQ +@+xgZ <,Kc+&m_4.ӁRC?f aQ3{]!+#aaIC@ +f]8% >Tΐ9@|t=Hj㏑t4exUOa=0(=i"x@Ɗu]'_|Ft5A,؍AgIpIb 7ZVE_ĥpҤI5_G}t'R`@ы ޑB:yFAcڴi<] ?{Q@\n7lB iҢ,PoklvM]ftj )7nV~A">S \?L<ٯ6y,,%ɸ'*uQGc t;T{í !-X+2OkQ7TQWk_4q8&dena@HHF裏>`m 77NU>6L%5G'^6dCwKCRK-y@`O:?PD1ngmȐ!0W+6+1D<|.p\WX^ PDs#i.o-UCMyucw[nzaLu3Xqa!݊nT6@aQeL2mСz6pIWeL8Q{Cl_Gy1 tIrX 9gc-9i$M p,hVѯ_!#G6HL^s4)q!Ν;ÇGm:y =k6YKMvuf`ڴiclhƎ7/%I3&yHO:?駟곂Ml؂6jfHqO%cD:Cyf@0}Sh ()mZμ =__yfWj#vVW-P-yL pG 3)l΅^4a"E,)AL J3FхCLjEh-N}+߫DJ |`뱱dChIa ?p+E2dEQ cj{btNefe9H f5~9A mP!Q1X=P1Xdf&C$'NXty2Z,#ÕoR*Q?kI]hV<̄ W>j|Z1&*+ T! jCH#J#<kBHZ=ejym!5'c\aa wq+Dr}=mmRBˤ#\YB0i=oRZB, {2֢|06xwd._$B\zc] 5H.,|&iGZB(aU]qJH8嬐UkBH(>rQfu.*&!Т, bMpLȘd*G;J>_BAkdF,JVlT7ܦ.-%!ТlBY⶛nMΨYN$ eIt%6wL0&Rk!)M$ eJՈO\NtP^_cuPBA_A_Q_BI!iQcB!di(% B(BBPB!JB!BI!P( ! %!B$B(BPB!JB!BI!P( ! %!B$B p1{|!P( jY8%_4!lpZ+:[V M8B))+)--XB0-t:mE\\,-[׍7( 6zh9sk.1KKMWWAꪫt;O/iy>{_>%:n-=rGkK/s1ҦM9o=C'kѽ|ٳtA?ҩS'9C}mQQ񩧞B*iy'_~Y:RK-67f֬Yf֜5;3qv1 rެucoeyqk-+fe]t1 y;P6W^y/7|]ǖmmɓGꫯ64[66cɹ?iӦ={͛>}Əol4iXk\q8NO\tEZ; Co^xA/ᗟ~I{WK) ҥ͘fr9^{%6#+DbP~{UR=`e#8Bu+%כnIgyG /+rj6%󴙯Xs;w.}.СCcC)V=]]6tm$6#Q!x ÊB>~ NyExBUO5n?C]%-OJ{j% = K]\?\.+E/-ݪU+tMuj8rZ/?W[붶)@&~n翘,.3t\mչ^9HfP̻XZ_^Xd'| cb-:Q!1xVBfp=Yg)Sew[TWDĖU,˅!$Z]C7vXu!B^{챚>lHZ3ψ u5Ĕ Z bK8!E #G4??. L N:IQPرc`UVY q݈+e9EZy?H:|?*}١e}U?u~lg4QkYi €&C ( Lϙ3we>xc4b-1| sp% [Qǿ,  ĕ!oﺎ:2dL6MEJҽ{w]$*&އ\s`0ibqwaŘJ%,ha W&*XcTWW):utTk[nPlV*@ &JX'jʵ\1B/^HW< /ךJo8M/ p ?Czm=PQ p$`­}qiK>,N@>}T`BwˊQ؂ݣp͢uI燂ɓPM6$^Lܽz֬5PX3= I# tG)+kЏYB#brWAXwnRABJ(P:CEfv$ҏ?YJGS~;PZEփ .c.p&|a7ې\wur nD\Ăg͚%s% )hiGZY>I&|js~ <߈!=.{G Xhf Xhe׮]Ջ=XՈ=mQ"MZmnsW~rXz]N y 1T~X b>S \?tH.YXKq'qOT[" ~v(ýV@'⵨Lo(/ ^8^2U2 70 h $pe#CyGe|6K@<ǍSNU*_p ֒I /z5^Z, I{.QT@< ^A0'?ĥ" 4r^\(@z7 q]a{TCA͍P ;SWq737sՍio}1NӦN`};ĥ>6w«6A5pki4U͔)S߆wn *::?{UĉZ˵|IcƌjoܹfVkTV @$!Jƈ*ù`LP *PR2nyj{iݷ_GFZ>[& XpFᦃ%x,gR #hD0XR7 jg0 ;/4Զ4uBs3[: WW6p\xcc1pɢ * FK T[(z!K.3jS vp*3+ID1˄!bfhJ&ZYEꁊ)"&60A"9qĢC(b1|W|!]M5EAe&TP@_Qo֊1/UY# jCH#J#<kBHZ=ejym!5'c\aa wq+Dr}=mmRBˤ#\YB0i=oRZB, {2֢|06xwd._$B\zc] 5H.,|&iGZB(aU]qJH8嬐UkBH(>rQfu.*&!Т, bMpLȘd*G;J>_BAkdF,JVlT7ܦ.-%!ТlBY⶛nMΨYN$ eIt%6wL0&Rk!)M$ eJՈO\NtP^_cuPBA_A_Q_BI!iQcB!di(% B(BBPB!JB!BI!P( ! %!B$B(BPB!JB!BI!P( ! %!B$B p1{|!P( jY8%_4!lpZ+:[V M8B))+)--XB0-t:mE\-**>SqhCtZ|I_zRbr;4CK;CG;iMbo5k5'mf sf;c :#燜7kvE؛ǀcY^Z ``Y.]̠Awy>Zn0+406ϟlyݭΓ'O:=z 8дn،%، XfvfV  tھ䦼X1]vt6l3c3r-f5"2_} M7xCmҤI:_YYil/9 ܜy:9"kvm7?<`?6,"aN<ļ?'1n8}F-gݻw7Pa [3}SFSNeϰͳ>k}ݺ~'[Xe#FhѺk6Ic2ZfV©+3VtLՍݤ'[dl3u/8}'6#.HKptm /}>O?oa)EtPL&kfbHo 9B)e#8Bu+%כnIgyG /+rj6%󴙧Xs;w.}.СCcC)V=]]6tm$6#Q!xH֏1 }a~j$hB|,Xp/iyRSĊm7 |I?\.+E/ުU+tMuj8rZ/?W[붶)@&~n翘,.3t\mչ^9HfP̻XZ_^Xdt'| cb-:Q!fx<@,9묳M62eLbKꪃ*Q`!;v̐!>тH|p/=XMn6WZk-ygZ:bJfpG--k(wO E #G4\,: 'tΣбc:acFg\_d^o-s ( %A{Q#x衇}w}}$$ǝ xP ̙㻲q1gw+tmwvWq-Wva2S97 +%N@aAz&2,X0V\С ~Z;-US^}UPDiT|cvE2i%.]d V9JH n$xa;-2A]ŠKGi!uN.Ͳl>4b-1|}FA0K./8_Ӈ8~ͷw}rnw~2XYkߣ,"ޝkbqwa35Y?-wyP• % Ugx@\+BP"7h 4v%k:b^x^5psQ![k끊W>gC;8MsI҇ʼnӧ,wˊQ؂ \|!q$:?~ /&E Y ~Ca<,KclO,`tõX%$&pڥF qzA0vݤ! C0SBC ҁ"3޽{Ǒ?԰{G=Дp "Ai1^Hq]\wu*:pq}fceY87\́&}dxUq94iR`]|M6$} ,.yޝiӦ黊e׮]Ջ0==". U7\g;;ҤP56c&(|ƀ+R0HɸqnMc>S \?LesD*8hRB;w6ÇL ud4oAz m>tXki Ќ;}IǗkƌ<$smmaìj'4Q2FT3gc:ؗ?V@PҖyj{hݷ2_GFZ%ۿ[& XpEU8]Iaw.܎r )>JJJSBFR QtaRMjEh-N}+߫DJ |`뱱dLCPi6]­XːwSF5l|3.*3+{Cb>@)rHი-}/bVQzibɢ")L7HN8* eXFL+ߤ2U2ߣHfvMѬ,xP P|Ժ曵bLKUV&C +pP3=)P!FRy6kBHZjym!5'9-ŝZ̦k ?HI!ʆ/pe aX¤MI0KiQBX2W^ܑ|~Br1ui$t#{kBPUv}&+#ᔳBVYB!OVG3mJ$Z!:8WI$!ТlQ|-,ҭ#!hw(B eIaW8g9B( V$ѕܹ3H}C7ŒB( R(W#>q:Ay}uR}c(//ׁBI! :||E}L %!P(E !BPB!JB!BI!P( ! %!B$B(BBPB!BI!P( ! %!B$B(BBPB!JB!BI!P( !B$B(BBPB!JB!BI!P( ! %!B$BBPB!JB!BI!P( ! %!B$B(BBPB!BI!P(gb*;3b{b4.N14 !mJUUE7})WITU+U;0 :r & 7m{vy<Μ=/f|?dz3WZ}Ϝs@( J%B B P@( J%B %B P@( J% J%B P@( J@( J%B P@(  J%B P@( P@( J%B P@(P@( e~ec!q*(_gK4B ̙@_I7d|S9uJpAf|v>ˤŋ%KdVv*(j$.@EVd* Ο/`|!cctt̋/ʖ2>z)%pMp~}ܤli\d}h~~%7,`3ǘoJe"I#6*gpZO~RfٲI2~d>e^/4zn{Z&; noqfH}څ1z 5?5ڍk/ƶNy0mZ{B8M& "ß]J{^rݼYvɅېOK/~10]J.8LS0C~ v د|%Dy&բ_&<n bLS&"wbIj4j=Na XMPh$[oor엿,30P>aWbe9skkk">H;ޓ+nnÖyq^ kpk krk#p%0`$ A2qd˖tZH#gHhxԸIP\#̶mbɇ8\d{,-G,p@D \iRS@; O)I#˼wA#}s,ݚ)nL.$u֬܃>-'s];4fxDߑ=}55r$,@(2MzIk&>|o̩!ѽC{3bz|6FV B Lk,}p*<.KOoL-<:dInpa;FϯZډ$@(&$?RQr-ll܄н~*{CZґMt{l[__s7 PS ߢ_]cߗT<3L)Ҹ>yrGgn7IM!W]f:ZUtXs!Uu/rְ/mMMTonϭ5٭X@6MG]NC޳h?0Z9U F3:~a:M|~R,}vkfo' )]ԗ[sX;qz•y.٘(O sc* M/Q9Ǹq[{ӿ`ӧ G0߿q^]}kZp[S_`P3Ft=߮~o}]t}}*zu~)lTJ`Zc9] d-P>iteڽg*ݶM*m8ާxĬ>]?:ܚJ`FC.4^;+q=؄C!+ն/=խٯ@o8Qptܤ.Yט ʾ{JZ2\\ \f2:iM;pkk@(NfɢE^sj77a 2Ts4%>.:_U8.q@(+V.wx iedX<1^u d670!.ŧ bBY\I~[ZPc{e.)W)P=\0?IM#ܚڳ&B LdY*z5c"~E;S'T]|[ֹ ^wU}+_k]O~Zډ$zz&ӭjxCz=v8еT-JO>[|>7i.Fθ\?xPvRUoE'xFs74P(B(߯/j|1Lܢ2?~IϨWȜ]XST6O7].N+BX_s٭@8fOx\"7%nasKTSJt„COhOP:aih%C0ӉoUzٮ=Ťv:M_>p ѯ5]7/XO~47rj~RlīR]`|ek=r$-ѭ&IާRfo$I‡]:q?/mvV9U_Z}Eyׯ^n9XUk:]T]@cޫRJS%&;67^f %C(ӽǕ=We˖^`7GTߒ8=Lj~@|T ۹SR/}ID#YʜB(B TO~ >b*Sȹ:.Fz{뢭_ZgKZ c2q$fe,s,YhasT|uJ>LjI~jRկm_֭yEfU(3:xo>HFm޼ն2nzWh|JyY#@J(ɇS?tT'صkUYGǞ8ҙ3*) tE?On_\~LXb| $C(i f4)!I3l.nU0{l[)sAl"B \RF*|}vNE|$@(Y4xX|ڝSn,$@(9ve> fT] $@(9l';GPh(:B P@( J%J%B P@( J% J%B P@( P0se`&J&HfPזp>$a,(@(PN^^(?G\$Xi2q~ɓ[Di 6=#ʳXsooo\A(Y2Ƥ_ݷoߙ(_~r=$IF?Cv76!4Q}+շr}sۀ.KU>IWj}Ʋ|/ƙXlQn`(jZv$-8m=}(3f#I0t M7,. S*g#j$J e6ICi3!VH^vhlO`f(GB T.E_ۂtK&wG-:)%9VEDzU4"0!mNBY4Yo/"Xms̕y.oRgZN]}#s(-'JKIENDB`deepin-voice-recorder-5.0.0/manual/zh_CN/000077500000000000000000000000001351056250300201445ustar00rootroot00000000000000deepin-voice-recorder-5.0.0/manual/zh_CN/icon/000077500000000000000000000000001351056250300210745ustar00rootroot00000000000000deepin-voice-recorder-5.0.0/manual/zh_CN/icon/Enter.svg000066400000000000000000000042121351056250300226710ustar00rootroot00000000000000 deepin-voice-recorder-5.0.0/manual/zh_CN/icon/close_icon.svg000066400000000000000000000025411351056250300237340ustar00rootroot00000000000000 ]> deepin-voice-recorder-5.0.0/manual/zh_CN/icon/deepin-launcher.svg000066400000000000000000000056541351056250300246720ustar00rootroot00000000000000 deepin-launcher Created with Sketch. deepin-voice-recorder-5.0.0/manual/zh_CN/icon/deepin-voice-recorder.svg000066400000000000000000000070121351056250300257670ustar00rootroot00000000000000 deepin-voice-recorder-48 Created with Sketch. deepin-voice-recorder-5.0.0/manual/zh_CN/icon/finish.svg000066400000000000000000000041761351056250300231050ustar00rootroot00000000000000 finish_normal Created with Sketch. deepin-voice-recorder-5.0.0/manual/zh_CN/icon/icon_menu.svg000066400000000000000000000016661351056250300236020ustar00rootroot00000000000000 deepin-voice-recorder-5.0.0/manual/zh_CN/icon/mic.svg000066400000000000000000000120441351056250300223660ustar00rootroot00000000000000 record_start_normal Created with Sketch. deepin-voice-recorder-5.0.0/manual/zh_CN/icon/notes.svg000066400000000000000000000074401351056250300227520ustar00rootroot00000000000000 deepin-voice-recorder-5.0.0/manual/zh_CN/icon/pause.svg000066400000000000000000000045251351056250300227400ustar00rootroot00000000000000 record_pause_normal Created with Sketch. deepin-voice-recorder-5.0.0/manual/zh_CN/icon/tips.svg000066400000000000000000000067041351056250300226030ustar00rootroot00000000000000 deepin-voice-recorder-5.0.0/manual/zh_CN/index.md000066400000000000000000000101621351056250300215750ustar00rootroot00000000000000# 深度录音|../common/deepin-voice-recorder.svg| ## 概述|../common/icon_overview.svg| 深度录音是一款设计简洁、美观易用的录音软件。无论您是想记录自己的歌声还是通话和会议录音,都可以使用深度录音来完成;它还支持可视化录音、录音回放、录音列表管理等功能,让您的声音看得见、被保存。 ## 使用入门|../common/icon_guide.svg| 您可以通过以下方式运行、关闭深度录音,同时还可以创建快捷方式。 ### 运行深度录音 1. 点击桌面底部的 启动器 ![deepin-launcher](icon/deepin-launcher.svg) 或将鼠标指针移到屏幕左上角,进入启动器界面。 2. 上下滚动鼠标滚轮,通过浏览找到 ![deepin-voice-recorder](icon/deepin-voice-recorder.svg) 进行点击运行。 3. 将鼠标指针置于深度录音应用程序的图标上,右键点击图标,您可以: - 点击 发送到桌面,在桌面创建快捷方式。 - 点击 发送到任务栏,将应用程序固定到任务栏。 - 点击 开机自动启动,将应用程序添加到开机启动项,在电脑开机时自动运行该应用程序。 > ![notes](icon/notes.svg):如果深度录音已经默认固定在任务栏上,您也可以点击任务栏上的 ![deepin-voice-recorder](icon/deepin-voice-recorder.svg)来运行。 ### 关闭深度录音 - 在深度录音界面点击 ![close_icon](icon/close_icon.svg) ,退出深度录音。 - 在任务栏右键单击 ![viewer](icon/deepin-voice-recorder.svg) ,选择 **关闭所有** 来退出深度录音。 - 在深度录音界面点击 ![icon_menu](icon/icon_menu.svg) ,选择 **退出** 来退出深度录音。 ## 操作介绍|../common/icon_commoncoperat.svg| ### 录制音频 轻松两步,完成一段录音,基本录音步骤如下: 1. 在深度录音界面上点击 ![mic](icon/mic.svg) 图标,开始录音。 2. 点击 ![finish](icon/finish.svg) 按钮完成录音。 > ![tips](icon/tips.svg):录音过程中您可以点击 ![pause](icon/pause.svg) 按钮暂停录音,想继续录音时再点一下就可以了。 ![0|recoder](png/recoder.png) ### 录音回放 录制完成后,录音以列表形式显示再深度录音界面上,鼠标移动到一个录音文件上之后点击出现的播放按钮就可以收听录音回放。 > ![tips](icon/tips.svg):收听录音回放时可以点击按钮暂停或停止播放录音。 ![0|replay](png/replay.png) ### 录音重命名 录制完成后,录音文件自动保存成名为“新录音(时间)”的音频文件,您可以重命名录音文件。 1. 在深度录音界面上,右键单击一个录音文件。 2. 选择 **重命名**。 3. 输入文件名称。 4. 鼠标点击界面空白处或者按下键盘上的 ![Enter](icon/Enter.svg) 键。 ![0|rename](png/rename.png) ### 查看保存目录 录制完成后,录音文件会自动保存为wav格式,你可以通过以下方法查看文件保存位置: - 在深度录音界面上,右键单击一个录音文件,选择 **在文件管理器中显示**。 - 在深度录音界面上,选择 ![icon_menu](icon/icon_menu.svg) > **打开保存目录**。 ![0|file](png/file.png) ### 删除录音 1. 在深度录音界面上,右键单击一个录音文件。 2. 选择 **移动到回收站**。 ![0|delete](png/delete.png) ## 主菜单|../common/icon_optionsetting.svg| ### 新录音 1. 在深度录音界面,点击 ![icon_menu](icon/icon_menu.svg) 。 2. 点击 **新录音**。 3. 立即开始录制一个新录音,如果之前您正在录音,录音会自动保存并开始新录音。 ![0|new](png/new.png) ### 帮助 您可以点击帮助获取深度录音的帮助手册,通过帮助进一步让您了解和使用深度录音。 1. 在深度录音界面,点击 ![icon_menu](icon/icon_menu.svg) 。 2. 点击 **帮助**。 3. 查看关于深度录音的帮助手册。 ![1|heip](png/help.png) ### 关于 您可以点击关于查看深度录音的版本介绍。 1. 在深度录音界面,点击 ![icon_menu](icon/icon_menu.svg) 。 2. 点击 **关于**。 3. 查看关于深度录音的版本和介绍。 ![0|about](png/about.png) deepin-voice-recorder-5.0.0/manual/zh_CN/png/000077500000000000000000000000001351056250300207305ustar00rootroot00000000000000deepin-voice-recorder-5.0.0/manual/zh_CN/png/about.png000066400000000000000000000562501351056250300225600ustar00rootroot00000000000000PNG  IHDRx&tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp 7YIDATx|\߳O*I]RBqmw-+^.\>B/.b(ZZu|f6gϞi7#3sΙgw,Ͳ,I ҮS9C!")- nQ!xݨ 6OAJ#B^VABH!3X+P!"!Fi1D|1-%B!OBKZDNAU YB!n <5*P&^""w[S*t놏3~.B@ PYRR2[o6)Bq 7nnᅼM}>_BЈA#GF/Aʂ;YJ!$ vV:dE!{6!B!r\z5(+EYI!(EdQ!!!YDn(DydҤI=#%B[܂D!q!3<%F>L+^M@ED!"vH޽'##B?7Glo+ ͮPB}cW3Ȏ#BHF%'O<0UK($VfB!;ᅲ^wPՁ%4gpB!DmBh3s1Ͷ"":);&8;0;kZ & *!/͛ȫM|>3y;+P+M`1 !4hP`I#NBBB!"B!"B!BD!BD!P!P! ! !B!"B!"B(DB(DBBBBB!"B!"B!BD!d!Y@H۶V,)YZU"EZH] 3UPS_$'S:$ҷnYVB!"UR)" Z\ȒH@z%< AHq-4|McH"|#sلP-FD~K,^EnUD&dևIZB$VP5PAYK<",yo7( ZJBDH~t?+ ]JGE|oOڧI,NUJTV(++]L}~Y\}Gݻ7PiV\n*Wj)S⳺R>lͮQ֗ 6ڛ(;*kN|-^bi@ZGBDiyI0PVJ+[jK&;JݷLJ+KA,=Y"DUN9i}VM2U(3UdJ>.ɳ%2*sOj㉰pΜISKGJ{0FJ}PB}c8M!"(O%DJ4uN\N )‰{JHw dg'%ҽňPd}#wbW7 Pie¼B8^CqE4m{CX});447ِmDdBab͜ZW]ׂj+-QL ,f[J…Nsިد#ւB#y! "XB|_drUe,!p5jB>?_A B;=-!, %TU'2--BU"Ūt6Z5 j&W_g{0 kO!v-KWVQ !mҡF KpWUTh-,mǻDвßﱅ-+[%PXӪ8!"Bp_=D^w6Hff>di.kɊЊ Q.>J|'}|'#1G&}DmZqWy`/Zy"މ/k.*bWTHܽ"]e zTH:pgܱYBf\PybOʣ`D(Di!뫟][+6N;t" (lmoEr2=ˆ&JWwpINgM(DiEb/,YUĨ.R$-1Hջ{u {m'pJ)|)Lݻ:OE%Pi ߉"ˋ%GŸ6f ~{[[X"!EDs5wEA'S5*D szʅ2w\j3#BׯG_2u|97DsمPi\Y"x !"BZbQ`؁-Dޮ8sB/c_sDZy*pH[ZI$VG }64xX5n 'zB1=h9᎟qJ_wf;B*t͑6k 鰢HE)4aVt.̤^Ku)K6]I 饧WwAGh,f**",+&Z'J<Ͽ愵SO"t`@B-!EdY$P/RS'M3h'3[vl^n:vSRĠ€8mʉOIXҏv~,QO%d Ѻm3E=}^ve$p~K̃5ZlADPIZSخ4,Әy{O5ƟM@m%uҬǡfXHM-J?#mh%m2 bHx@#vn }겦kw ?\p#M]t KO8ė !Zϒ r5BӧҦ3t a'#tku$PūS_!tB!"9Bsȉ"kPC[3'#tFd`@k6wҏ7PI4"jNr/]emޯï$ir 9nYzD-J?,4 1^`hOb]YރQc[Av5 Q[t׿g./t~M}uN}n#RSg (C6TŨG(<}VD W-R/fKکG}bIݳK]tUӦK87җ _?Qhnu|d-!c!Ҍ{.دkTW5cs[lM;a:O96JZʐ: `#eoa%˔UE[JoG]o[8Y۲T+FK#ƱHS~Y5шb0Vq}O1;AHC `p& ZFEJWL<87Sz>sugrUPp~h)4p?j IEװHg̖?M|йۯ_Jdic%fdhbu o &8 Y+֎Ϸ(V~Clά@ڮEkUh7XB5{vlI4ֱJV{23׻d=t?QO4u nbi<ܯRVTFfԶ}w1g:Yq]ҡRlK>=)NZ \ĊY@h-Jw-lOq?jr;uM/K7J:T+!ExiUqꘖC?NOWl/Y!IԹ /'ٳ׈^;~zR?,B#58? i5G5РY 7O`eHuZGm0 UIqWHFZM"vrW^b)[݂E⦻%gߒ6f*!̓qJ)ѤkJ%]sdE`nMbFM&z[vt>st>pk++Sv6KoHS/JO2" RVB<ވ5(DM .8&7bUm^/ e/*/CRnǞ/*_:+'K 읏$Zx7M<,D5hċL[t|?,/?fv v&Ni;guB$jAKh"F ] ${ͥmD\ۥ.*l'i1acK6~ ӟl N'v<Ύh'(]sdrڨXJ-W@*1 бχ^qy~ <-j[ zD'<{Y@Vpu3)X~U]睏ib, mQ|L@:Bq,Y;rg6U8M&!cq;l[g|'->PN?bp!s+!"BR6N(<<B9%Plq:W|"GnKќq9ﶘI:J>"8#w0#mVZ:μ !ku%г?3^<UhWyP5HԒXGPlr^{B*}jw:H]hETa/OO( ֝'U*A}[q@]uZ%G(De!rjnfddHVVdtAb6h`C2>8yZКtLc:mHNJs*{ !:r&P^-Vzȗ(Ajp Cٳs[LӢYe׋uZN=s Ùz+B&(P #iKn)+'vWHY_1mxY8VPZ OWjK IHpPv"̸*ZA!m2rxսCIGO}(eaDB>p66)3/ud2ԈqQqUiеF8!g a$#!1``08YE2F ԳC z Kec~ʃXa5"y{J䊕Z}k$пoh ;BDڼm>UpBD6!2Fbd ôbUWA ROf׎>*&_ZY@gJ[ۀ83Ni Q6j "Oliϔ;oT~J}_!:1 U̞X:# o1`ft[A B!" :2"XG4TH#ϋ"KJBǧW_yb)a}Ve"ӀSOE@wD/vNܬȘAFݳD!""BSL|I}3]9KD*E4t_-05/TPzcaܒ|.QӐ>e %VQ&F^B]]]؅p0h47mXHYLĮ0F+] J_zœw=[ [KÖJMMbjZ[905UQ Hn )DB2X4z \Mkp*!V.1 iqu kQ?lfM%Ύ@;"not"34E+8-#AZABDH;)X@22Be,{wgΜ)IšJaI?d1c<2~x>dUV5\#9R99餓:N[p 8YqٳOweY`ACHoֈm|ޞ*{ѢE|0H ]j[o%>}l1c,xb믿GŃPGƲNۤWvqGy7g}VV\)_~_r%ryPz͡~ o[nEnvm|:`Xlay'o9b'xB[P]vYL+m޼y ㌕`!h^B/;찃˛o}Fqfm  !m-t]?p֭:Ba}mɀ[HlhשoΖ=z//N:^BcnM[H]tQol!B!"d]b 9SϗC9Dϒ%K/E@*** /;uη~[ネmhlG Gu3gnr pܹ ~J9믿t}wحޚڠ=DgĉrM7{Ѳ|ryuӧKIIrW.{|ҫW/}.E{ kkKF\OԮW_}5b{]]]k0h2v\uV~XwNa"BDH+K.#8B7Cp?x6luYS[fgK,cM|1;_WtA|u ڃG}L:U O>ݻwRaѮfiVSO=Yƌ#rv/{zƄX@jqrBD:;,!e˖ F KOO8ib}>?;6b_tv@tZq@9 %fϞ fM 5Jjrb!B!" k 뮻N[3^:\>l6m=f4k,}.XJpX a;:8" ;U0B:`"ܠgu\V(x}ݣr˘ǠfP# EO6^thC2< p~JT>tжsD0*z/A0 … 5VHp{n/rTǃ/BB6t Y/Af4pe5A bk*б2tЈAN?& /.paGy$s ђ%KYqC' ,;nwt ۤ]A/&LZm}tIfϞ-_ :4,8`̙?G;#~_~% e-L9^=ww[!"BsP|2zhmUWWK^^)Bۏ4qD9ӥCLpꩧ?.3fhK"-M |ui/5Gڅ5ZAAAxj񁋮k׮aK/nݰ=z'8EuCrW6lG(Dl("ðh"-Bhׁ;@ |/- :Jbn9YCѝ + 6߯- ݀t#G{ァh޼yZ$GG(Dl(g18B4j(ytsjwn-c= t>Wֳ3@@̚5K{, /ŋKNNގVX{ dmҞPr#7 `p&`zaÆpM4I =<@m=Ӳ馛zppa1C IϷ(VpBD6xkum~"H{09ۋGY b, B!"B!"B(DB(DBBBBB! gV  'E"~7$'})_tɒ=qB6Ƶj"5 #M?L_*v0 !d-S[Q%%SgHݪ &t҆y~PfXTnϫDVU16[,YR!R]ކAD)s]XaEkTDC3E!ҷCK-) >L:t-ڿwz`R-ǎBOwH";=Pi1u-_-IU\-K+S;nxWGd-yw-і(/VYb˅ E;WEu {m,KJ.:eHMs;νlb;KfSHۆmDT5_7O3S!0KY^,n驉̰Fh {+mhfn٫9)"N ZD4!QK2rhkgX7mo6ce!)-cmgEgJDֽpo!w*e4(ZI*7]"{ћvi7gP?Une1D }2ye=L_-l٢ "Byg-+eէʠZnytN i*ZgѨ|n]z5!"rw!qw!μ Kvcɕ#R3o6YY%5[dgGZVD%3͒FuJ)lT-X, J,ZD4Kkew3ŮolԢsO[r+(K+BVJ59;,,QSHۅ9fW54hL+ ;cXT:):esiVLyy*T:7';YkDhzgȪ_*߸t%sRL{9umoZVV] ,3lv#i9GX!zDkQE"Keڪ p)y+kS(Ujte5rrC?Ϸ\)bO7Bu ;tGwӍ(r^ss>p*ں!6_xhyR׵|>YSQ//\eҦF]Fl -\>]r[{4-"BZ #~pi/=S쓎Ûd;r-,4?-oJ{1zN_;XS]"#Cr7tܫ*צաg<6fXy䤆9B5D42ݟVZw0fР9?[Ql.@LK+4(ע<)J=o[Tam5>~`hn},y6s;Kaa!j[kH 1YsX\9qIw-=1ɒ,٩W|=5g|H[tZf#7)3UՓZmZZiO|ŀp9B!VB(Dl7JENL!^BHY;l#"ŊY@!BD!BD!P!P!"dueAuW翨nk8^\N(DO|ugfv g&dѻ/Ǒ d]qr>Z:W(u eޜV#]WH$dWbTriWwRq>s~hV1ҕrˣ52|J|29 TtBrk,. kict1mRlb9} >w|46fc>/ǵ9p+) )u}dUk3-PHәz m²ƖoϨl!ǹuaQp~~6V,9ҧ_>l,?ϕA]mo_ͮn+cw˒w/mKyuAX N+_U;KtJF Jw͑o)M?~p\y|^NuUյO';guv6ϐk s^_.3Αv˖Mͣ;% W*o8=sd@CM/,)1LĎZU#"йd2 KbrWW'8uZG> ]zy4yzLSgBm{X:%Ti!B!"X/[Lז U߈Lm,Z?4͘W/>˒st1k۬5YY8eU? W[ͪAKϟCVj7!BS+JY %7C_V;ЭSh_6ċ7(M apϴ*5}XvKY!r-DYR׹$ɩ{ftFv$CS,@J_h~ ,9[.`ϒW翨R.\E2b,v/DruA3ߧ$7'-2$+ݒ;_g/&KͶ Ac mRȝK"{48gBeŝu؉ef2^:ܡ\}dD} 2oyW<~29yBͥb3 ( n_(n3Awvp전j$qO*+;^aZ: v т<*iW;nz>d @O ~Uړ:tEAawLs˕ՕܢDVڂ nDJ " >.reJV%XMBX5+qF']/^,Lw.=ܑ{ ːk+ۏUi}|u #kn Wi+o]S[-<]:d[ZF!#hk9:X: ]2˹ȟKCn7luePV:([}`B(D1^Y}ia唟z}`1wA:&Iqw-erz;JH{$[K7h Ǵ u2z [9TK[DwzsceM2ɋ:3C ҌEvgh gᙲyP'tn&W"R f !"BZ:/S>&7A;:~Wx˛jyPi>ޫ=aVMZ[AG.բL=AmٸaHϋ=QfYz9vIW_T׿1s LKFʖ=zV DEG7d˥Cv"ۭVbS%eʔ #B(D$ '_w7^H wXx*AT+ET`P V f,1!"BZKd\}d^xi{e˞3Eu:U&һ'YE*1x=#7LTLf!|H;m>U!6o6^F!f! ! !B!"B!"B(DB(DBBBBB!"B!"B!BD!BD!P!P! ~3HCCCO{YYYԶիW蜶m:kZܷ [5+VXc竭]knC{8P0_|w:) Z8s駟g!{g8[첋EdĈ" N8A=sz[6;o=ɓ㏏wߕ/2b̙3e=d))) w7imUUUr7TvmOȟ)guVDc=xwa&m! iJBV\)W_}.@|IСCC[/-s2tPyڴi{c>Lx<#_|Q"9#cƌ/X@n&}#wߝrkwԒ=XIKKu׮]#Ə/ K.Dpᖑ!ÇqeV[mΫ\u]u233kF ꫺ٳ пegg[o>:lIJ~']t2p@,+b vI'iQA`9@ܱ_.YYYϓqAg?6M 9;L3sў•jM|X 7x>3/sw\y啲馛BuQG~Qx7u|N>gqqtY+ȵ^ym<'|{رBdq?^~z?#(/ |;sJyZq3{gBԆ@M *߯O>D[:q@qnogyFh /;#o@@(|ұc'x(x. }ua9x`wB H?tzO4I(4_:ƍw 7D{֬Y:NK.59|袋t 4H8PDlԨQ2a u믿jqD 'K/=ܣ )sp^d4 y={Ap*O?]wpeFAki>Dϥ3m;g(3M6$3<3oܟ6Hnf-?oVF+g%Kb#]ȨBߑ~u裏b\\{ӕ91x (#v]oGz`9mo&Gn.bZDm[nW/R)Qƌ/+j(,fl{xbh[Lɔ)S7hV> sQkEA /j̰GxnZx҄B5TpCQZ_~х2 j\k/"& ?|(tZ=p[jQpC B0ZJo/[ Ab{ァ-X " KX8bQ$ 8Zc [0g]G)*HY"Qs X~M-8jgωGXN."`,9st+s?x`">[X!ͥ4T6)Dm pFzUWZ(5s|EaG.xE~>}26 b î/sLD{BB N;Xu&6l.OThPA> DAs5`SIh N!B~YF n7l>[A^)Haca!&H{C' /p ryy=c@F C6,3 }"6>[8c-6ۈ(x9 ?rH]E0Լ57YCDNˎZ$/LA @R&Ck\;XmnPCFamjp}F5v Nи +>rpy7 s$NOyQk ng\Z=쳺Fy XS/,\*EX?\\hD! , (c`f,N -anTtos4s= &BXوdڄ o*)屮T&ELr-āBK> p-F#/^Zbxijw B |Q1x衇}8'\GMK $ p%? `Fm)\w XNP q!u،Vk\zn(V[܅W\qv" LmqrZa?t+Ӵ@Qs`H駟nVZVlW秪Ө ^+KFjL8VV>1}ݶztfϞGc /Dz.r{ƌzO>$w\ocƌ 5oVBm+ Kנ T{}ү, } ~+w5i}Ѷ쒺HS_~,A`{6q|gleх ?[nAd >ꨣtgrĈLČ9rH{СN;d+>wU)QV{ԨQ**QϘ9/C#ҧ pYb7}w~>/҆1_>{֬YIoKw]4jIFmmԚF =Bs#7؀*CgnHZ$IzxukM|بன⺰RL_6g'6$ovM×l{kb: >^霠]-CX3I6֠-a|>LR #oc8.BH"ξM!d݊B+=77yԚJ%!"B f2Yh[rl@epk.?WqvO\9`srVtmy#t-%Ѕ] ,'i-Ҙdmio0*6 I3v`: $f, &(5VW=0o!ƀ`,AC0bP,E.EĺGc0RqNq%;a+0Ћ9:x$JcZ05~/ \ @f,ڢOHP_ҧO=N ~0>1^R50^ c Ska ƅ}gQ)q80Om%zK߾}0k|ҠDFo8|zLO{ܸqO>'Z`|ø'7DB<zl9a<1F#"ǔ9fLLQbT7`J'̔y8cz&̦Y0{~``F`,"_900cX4X9,&Xz8',!'XQpNXLs 1I>fy`s-`?ﰬ0c0!+XON"蔀5 /Y1VuI4!xfXS%_1z‡!n"rPX- eXp39KvMX(lq.bb;``=# V&4k`,97,6x l fjtzEvL' 7fMtFiV5@13aA0!"N0m((M{G zyWfFaWjG@ 2za ezX+-C;D:" f Jf*7`zB6} qy1{8ں.e|6紈f,8M{ BP\pp_5.X(Tap"10f:D %8" [ޜl- "8` E0Vɰz[TqXE .H4!^i !@ ca=cau\z va ڧKC`!cX\pbt;G!K8 [KiP5vw ::@jXUװҴ%tCaZC wWu`Co=>jf9kډ`=9sQ9Ѿ5c q&܀u+uPXmA9;"¶W_}5*35҉ʃu)pY(V^k` ݘq3z*bUX=.=Gᵅ i0Ǭn&>rqAovx(bΌ3`G reD[RRB5i0Ca#;&FqRXWkKa;ma֞B|P֩j;6F!GD6xk@mm(u$nvd@p5[s#"օmDB֭X1 !P!P! ! !B!"B!"B(DB(DBBBBB!"B!"B!BD!BD!P!P! ! !B!"B!"B(DB(DBBBBB!"B!"B!BD!BD!BD!P!P! ! !ffBi!6-"B!ED BZ|1~Bi:iBYB+\s@%BH*DP2QPRB!P\\<Ҩ%IYDG?**gBIh!D,|b/(| =++:&L!M0,**|w_}M76i'Qd5 _c7ƐB ٍB!hhj$kh N1 [TnC sYOB^ q,0i1Nln5\簢"DA" _ܚֈ i NV=Ų(DҾv S1,"-DC@;]ۼn9Biߢd'Xn9m9ɹce%\C!" aQE,׎c"B![bYGD"%!B$Bi$1Ǝ"/ȽKt(BB1%6vcNc'!RBHLi8!ƴЋd*HIENDB`deepin-voice-recorder-5.0.0/manual/zh_CN/png/delete.png000066400000000000000000001067121351056250300227070ustar00rootroot00000000000000PNG  IHDR8.StEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp A`:IDATxEkV"$$$8Ip z8Ap= @\/vK,uLVȆ$iٞzT*eZIWB!J5_ QP !4YS@&NI<B >K̚<"4OLBR a^\k@ !( rLqeMOU9^ǝBQj"ʦD3􅑩G8nB!D0N 4$/F_$i?|;~յk:B!ʍ3fL5j]vC0菘X"i_WgQrHD.;kkjjT !(Gа>},o3a„W|JJ'n>_=lEHX!D>53ͳ$FUT!D%ѿYw{uXr~RBJK.. d&.:B!*XF d>GP !$B(H(Btfl0.qB!*&HSP !,BYQG!,BB^B*Yjf!4<1o@Ƭ1~-B}Wy5fu!2άԅS !(;G>I(3ZTB19{ew]{o߾f]vik1s=y+P(SiEB1cm1|}%"Ϛ뮻ݏaք^֛x ! ,7lFB$0eF$-!"X,_z%?wH:BцktExnk:6AuQ&N(w˜Iӣ͘{.3AGQΪP­oMϞ=|ڃm*cN1ln!!gK/;B!'MremfYYBau'c^2-653TwB1'<#~ )0錚joL]éoSSmCj1e.3a%)SNja]ئ92tqXj-mk(Mw#xkѦYemBRQ*"I;oMc_nPl%9ˊwN|l&dpy6NORQJCi[ b.)\Cً$0#N]pFSvwl7̝?b#Z!JM2E\6k[66hRH(gZ ziW锯.2ATų/sOA}]'z7omB6$ސg$ ,#;يS>["٬fРA椓NW\q}N}5#F~3FN~k|4ygG裏t"M"^}iײ\eQ|mQas`^eF(}PMqqlv^{NO?{|gf]w5yG}w_yK/]vY+]tQs[n%fvb#+YtEQGe&Mwi%4{nR `kY_~Em3mY`+lnۚ޽{x ~ru~,9*_if+F_l^{mM~7tS{% m٦mK*4-㎳>WT;<$B"gvuA~,fD6d37[0Sx-b+5O?Ժ$ze; µ3/hAue1^ziD2de]lAcG wzꩧZ|R 8#oo>+1cW/6w*g})m|v2t9s‚|z(nx +(s|]vlņ45\ӊ9cKv]j%} 3O> f| ոq"6 /4/D8JlfmVu'c`_ygtsxbBBgQX}?'/?Jm!0R!V묳cí".?ܶR#pך=#6"܄#*=zd ꣏>\}նf:tP>;0B!y`M6 @q|mGۮ֡裏fn)|7~6pH%o%UYG uUW]e8+Lcr- '`]2{V`}z){M 쬇3 ֹû_d|ۦkl_BY>" TZ0p)*Y,;W֫InC̆N3UW'jP_KHbkL5;p%":[f,co# q &^">ala"d?ihp8?]oϊIv]g}l弦 /hB|M\ж}\#绵q}pQ! |uēJNK/qxZhV-r9xx\Xrg"TD.{ta*{\aLQ>帴92Az5>䵽G :hDp+bdB[&X }Q%8cָpay'˭j y\^1ۦ m!Ҫs@; c͆ؾ?zرkv le7rMO9gmk,*[(]vy*J!~EOBYa!H(5^M;I]R&/4۔(`@pQP f#I {g ^ں6l3CR/. [o|6BAM)Ǒ7+i;Qx0s衇;O`G9|gn1\ga_ZNQ&1ݾY؝wy6d]LMG#퍴;[\۟P9sQXvԏ\e!1u<Ԛ܉ Ś't.I[5=?-̒@(i0%TˢzGm!I~$7a8;i yw52ebxwHjϊ6٧8Ji㣝5W߹o*~V76!4Gyz1&{/_*Dh{DyMK,ai^9{p?JNmԴasV)CuXrs/~D5l{_#$H߭ "JJ7 )lFW_ݼ fI"lÅYڵHVIz7sq'D!APNB)p.$b{~Z&mJ9&|?&jPl{" ]t rr)v]*@ZkE֡Qau)Dߍ5<=Flo!BX;v}qv$#G0`$DB GcYE'!n  5>.:monF6젠GX,t!mB&\JMiq'߷ƍFG[f#EKm{}k(M7uP[[povmE$Jy`KMNiHZ6K?nEۂgi|9O'݈CrAZ# `}Sja{d*`\k|K/In"=DoA'sZI*hm%"o7xuT"q'\MJ5.!u!H]ooI:묳[ߑ %hr2 'ϹxCOa CmVy&Q|! J+I;\,2EBYn2Q$DBo>!-lkdhv>(IG؀N [M2RK-e$" >Wؒ0?n:KG!钇~a;9\x6Xx9pJ$%qcޝemS]Cai@EҶjLIh·~pqoA;K0he ֧"õu3=gmSqa;Dy$J;tWgG_],S_TMٷ郎8Bc~$׫x}ߋẓ2r>?H5'fg3VOt B:SE#a=~x+$P q ߺk'ʍEЙgiCwtpٞ8* M1b &o+m ɋ$Q&J}Cg2'=|\*aM7b\B"!3_Άfc1?H B$$2Sb .N jI.l\믟DBH.1՟W}WSczuy$-EyA@蜰:QgWuF&hRh͐wLxlv^)Ю%;78W!\\g>_$YgC/m)D)I;F/O䞦bLV[Gp.}u(e?_dTw6 I67@}AnD2#TPJ$@h94<{Э]} >k'TPk\CYl!VeIQ7h,`_M2ioΒk_{ۍU b9.H~rbnBtD85n eKvrw~9&dmdG)D' 'DۚtH;6b5F*WcwR =;O|+*]Btd"_")k=IY9 cb) -f '^$DkIJ-+I&ܾYv!-BI 5 -D;;J #&פF5کOcjLlLG{Pt@'!J:HnK*S}Q~wI6ImI.E>W)D)5ɔtJ(KD(BZ4o)ܷR`+(GYNTlo =#aӭRLr_I*GF|ẩhdTFG:F7d('B@M$]f(K+ׄN1,<*eP`Q8+uo"6 7qDon„ vpldN .y/nC yLOYk$e|I4+QUMW>{'#ר&DqԨQ݋,}Cpf><!Lc.{f7uѣ΄AlnT%WPҾ!(/pzv)¥$m8GD8^{m+.9{m"ݠ>zơj77;o$ }~a`QYgeVP2P Q<E!-,ҁf?[~5\cԇ$裏o~6T7K?),PzIQrS1'(?K/9<#SO=nLs9'"/Oq?։"wqK3jo+@(jmf)Dy@$/@ 8Bt+3&LgYn*P|~iKwߠ<ܨj\ %)Y HzbD?ƎQC?/D N]BȆꫯI'dvuwh]j:Qjb5IRє\Q !-^zAj!Ȏ2dH=ٮ7 +|vN+DXc c=Nz'pJ!Dpa?<pN_}q$G2^X<qfUV1s= :P;8S$RQf?BCu#lfy[oy!BmcbopvO!$BH!$BMP&AOBȭ܈(gG-н^׽Α`S)r,9ʨ<}ANzB)SSm#MQj=F׾9_J@+]+6$<132ٹyTFݜ)0sD!xb v[Dyg(*:jډ\Fq  f)Sm֤XURT}XN(5LשyzJyTXlh4rӺV]i esc񉁋fc*-& [^m$\˺eg +&HC)B0N]R+V/Va͓,g6lH0a9cު?1'|rQ=SO=e1c C=4F2/_#{+(j#d{ry!Xyرcu?2O;At2}Bi > vpg%FT;̃>h.걙q^ov+x /pn欳βp / ll1_p%/"lM $>#{ /|W>9U__ooSYUDxP_~}OEb-,[ykX e$e-f N3d+a^KQ*!"tr79"SHN:$+o; 0^uU#:>x 9N\0HF<~7n{KGBrI(KId1Ul)g ]v()QQ 2-ɗ_~ O#C0ksGX?y7G6#G4Gyd{ ,#O!<}mg5>]m>c)*y]waD|cy&Ro޵kζvvqXj-mk(Mwao{n{v (Ua3Fmd='|-i 4g:.@<}L8L<~+ &\_mw6s5 /< 'm% QFs5 ZuWQ;Yy0_,7!*A,qyGqm - '` 78s9D=# MK\~HNBw}x׻;feC>vَۖ-!a}͹d^<]VTu jj]Y-xD6>Q\n?L~vm.gaŕ6V0I|AMqf]w"O$\%.?9^UW]e>\~%諯2/l?{gl)CɮXbb}UwޱJ$!r)5믷]ׇqE>gwu(mVZ+H]a& oF/3&};ip]hp܍2lHxm9}#;O,BN2lM|fȐ!zm#rA!'&%QGf(nFA:=2ہ-l~=Õb&V[mH::(rB,"Yve#ǃM>}lF* mle™gi'xWtuL^.vM5em5v 8}{ҕ}ys%Q󢀢 :S'E%ÍN ޿qԖYr˵u.mPfO!C&( 2]}p8n}} 98.OKqX8Y_W*<B" ;cSo$YA}J}uk?ELrd Oiց}F aW p$ ys/J%H!d[.SMks?OAd+&>Tr\%vJG%9#(P4T=:*fD6wĒ nP ? PMǵƅ.KAa@Dg%ABNG>]B|mR @YQAHG'zB-Cq}mRv#,'H[.鶃{-1Pd sxbBBgQX}?'/?J53j#m5zg |\ 9B.`='o Լqd p{Դ#89BYLDn|\ܴ.o.j7=] \a/-2.9o~AHR6m-;d BP7s.i A%LIw*"a]ȲDvpA<=w Wրku͇^ p9ܠs®c [*xek٦U}.N⇠]JqQIz]ىl[%eGBY2Ob$\ZQ ;[ f綷>}!J͖#˘pP$N_("BA>I0Q&O8׊+B̜([ySuB!J?x5 f mۉﲓBFL]7zT|1e߮vg!`;}%u{%b(Gvswd`%(B~{[[:=XSBX!sVA|ZsD'qp|xXܹX~BÔ.Ώ*7n-Ēa eiG^9ާ\pe  R w 9!iotj\v9 G[^ d ơf/ F2߁[CШ5xZS# n bM"ΒIJ$XP' 'k 3*8P $ט b\bL IWguhM3C{_Q|ï{^w9q ם t!Uk4vBƈBv\{*o4zҵK0Th!rgYVмhEd@Bف!H(5^c40M^h)Q;*q;wD.MjOl7DfjkMqaH_2q6`8H֏ǡ1@ 7BE{²k b(n[o$pw< 2Baϣ[nݬvQֆ;J4)L"Yۄ ƝkPt3h:KI:oFpMNEJʬT꒦8$QyhQįr<2ccbz;17ؤx'.{*S>RPƇ a$j%u?LCr 5|S$"'INH&8h..d㧴g I8/06.H؈!W߹o*~Wo?OC\ c1;Hhr(~֕=$(3=;2˜$uA̓ 4ϋyȟp+z^q􅢣2|7|NyۅCp1|@'AMqH89h4bj 'ILjٺlb{f]њv'Xëpp#0eq^U3?ڐ[!u^OH'|9}]hG: s!GI>Bµ $WH,\^S|88x[ 6| .8Yd%nj%u )}tm#Ltokm[۷Y8]6n|tkqd4wI*,ߐH?`D9y|7!iQ,}`EŒ XVlGIv \7#:$>RN:@HOY[ #ej'k5d}..P.{ " KNv+\sqĴ\OgPtm]veҦF&0jBϜk"%IUiEJL '5w&I'*.|vTaJ!3|rfWl+C\&qP,(3=raCZв\x( dR)ix#d1G\X(it&ˎ; #D~Lk OnDÍN»$'0XEI$B`׍6D 0̷mD !Jf$UiLX*F[q7qh?%%i?fN؊m":묳leFbo?.(e%KŪs8bH}6ݲH}d.ftqSe瘔꽞œ~]ٰ_u8U i܌KXgkKk05U1ssSW+>g`ъݴ2jfɃ_|GfB`Lk4f)7pnݥegIq Tc-B& TϹ]SUߣYtO.ɲS$ .2vԱb2=jRV }4טMwL?ypfȈ#ή!cZf愕ͮO֛]6?k߽e.3mJ;t'r߹qtZs Y,tG6{ g,,GWYv['W֬gL9|t8|p2Ol2CB!$UfCNN0f;/vW}(~ ͞Ѽ0ɺ̽67hL̆)օ7+ϕOnu&s:Y'\aCA=]<TxrO<'gZ e͑7# j]6+׫5mŌ ]˸ќ1gʆ]{uIFI}p9RPfЭ4)0GPmP"ݢevG ^?^N+kc?4"ͱM)Ɯj?&'V:?AnSBY"4;FPfbd*O?J]_¹FwMfx_7+̙2wmŶ:~=Rfg[ڜZˢ͖p KyaTF+S2#bDo ׮5?O w4c]b-~]j<.B̫46M}pB|gQ8v1N@J(KQ#saB1 dą?!*Bդ֝fH\ U9fGB !UBL7oMOoהZv =59]o9B#3й{ԦjEfmUW/Z{C\*]̞KXđ [-uf]³7Ko_jen>`S~!Mj}h.fŹ&郣\OmgOՙߧ_/+emPFBYZB@<fQTLJQ6z&+=Wgnި|1ɬ9o|>>qLצ<)W/MuRS6 "(y.`]l@s"=5=qn)s1Z/KRᱮsW5z 9}:wmOW]/Wǘ%SB)*OBMK.r%m?k?iȺP{֜ʆXIYoʼksm3!XI=6]5]Ǎ̖± ^NAGO_WN\r ,}Gf ^#z. 5g3YkԘ:dEoeRw!Bt2NFkxb4{n4~ mx`8Ru(Hn_y*>N?dq7ۺM{it4,'C\$qUm~dEc^W{ItJ 'l"$B gR=e3ܸyF 1s d4$aLijR>+7{κ['vGQ.HdZԔCe8W|+шLKgގ 98qd0 4HّJcLTh~NKL'FiNrV R'y4JTʞ{W0n{UUN:y_WI'dᱬHp$hĮLQ !J $@CB!$B!RNArFZUm'Ykܐ芶 e^CwBM/v>1Z5g9] QAo:$Z,w$BLrA fѳlc!qRGW!*D<=z0ӦM3_~1c- *(r ͓RR;tS<*mys?OrL T`MnRUE-XDkQTB]߮}o'*&hOw_DS9/XŸ̄E& 㧟i]/25&bVR\N,BrbV8˸xQ Eָr c`,627N$O'oXK\EGdx jD~q!II,EIe<?IuJɊl9&'tL+-e(B,%o1pJO(IdȾK% g`Ɨ sRla0`믳%9kٮf{]ҘmyOR5/0g%n7n\u+0U{SmfŸmjj~$2^'MV<3f![ܖACMv&!f5 ,Z1 'ћwA+"yK-Yfi|$B@ e2"043HѼbZu+BFϣ'Us544g~mjJe B]e!Z :vZ8i] 6]8 !,ID|d֭ ;_gׅSXx:nP<\!r%(= Ԙ>wl0q?-4M*\!rI~beg!2.4 i6~n7Y__ovqG8yG}:o 4ﺛr͡-S>)7O~{K$aǛ)SS.Ⱦg3f̱khV_}us1XK.$qҥ뮻"_ȑ#~2dHs&g(~gD eEF>W 6}Qfl1űw^~eӧO;=;Ⱦ?{a>{{ Smm]4_}U f}>j+;Yd+{nsÇ@cNJosvn?x禛n2>i{Doo0묳N;TT :|wf5ְ(pΨ+߶_7cǎMlCy 7k^fv3g}y' 78[oaz-UQ*k9G&-UTN©G8NsSpZ!(C+7n\0nB]0n|fi7g N:Nn'޸3ux K{ѣG~i^\s5ZpBS(?A݃~-YX8a=_~%ڵk. B. `ƌo/<߿Xox({BE&~XovC!jĈ9y +'a"o.Ͼ^aN8!,O?dGs{ 4m.98#"]x.C}}aE)㏶ 5eCㄕ g\7ܻL\\/# Ѻ3#mLu !fCЪ{*|fԿW)y=oL5;|9n'/Y OI]HI.%(= 6m pB h>?u\+b|K#$KgFֱF6>U+k0 Ov(-\v߾}[[c+aKN[r|8\ gy4NJܿ8gnB.wmB>Fu\6ۊEA~e}O%Dr} +&Êia!Dz-6HJ}qv>˚C{ߌXX珼w'P>4cQBtcb]!}\gjD;;BiͿhDŽō7h yBl~eR^>HX"L ^SQ{aJR1֭[%Kes+ll*7|3"ƢrEEA4!rIs R6lEm[o]s a䜬%7;aA:pzb=A8D\e)6̶xCaC .>Դ9,߶A$Gkkf[ܣm?l(Gfӽ{&*C9_2 :8x5i˜(HE}W;}R`BAl %9z)xI~A-bM\a4$Wu_)‘s\sH-m3j( sgw•!se 믷b+u>IÅ$[s뜮/Vl&ӷ5#J+mc Rc'~5q7\av)w=_x pE2H- 1r}N!|?B^_)wK($ښBX%y:;-B(M]-׍ g. ׂbA`ISk|/x[ $Gu ^6JXAۚR*m o\ZoN>oοAСJ/ pQ Ap@ڻ7a|1QPn0Q(ª$\s]2(򚊻_*-t<ӛxӐNݚ:ɟH¯=uaqg?|#8H*-A n Z$ :_{˸A ٧H!J0,6t"\sq@| ^ \uU [/)o}]v=B3m". o\HoΝOX EԀON BE[)ߏ;g/[mhmr#b9!#/s@;%'< <$*.i\38#v]? MVv? 늞Iuv7o^^X=Q+پvG}Hߥ//a 1^X;S\A_r{Wȑ##e0N'r`' i׏)[o[`N;-҇_~- o>W_}`]wM<\f~WsDOҟ/ *9)SφbM -XfeFO^.rAX.{r{u}'m;uwmw?K^z>.z E5ҷRr~/3UoAߚ3|g'^{l qKc=6Y Q7|s:1x̘1Y ,G Pr>B)EԉF(;v&ǃI^M©|9z&=Рb ɹT8^{HY1&H$a 7El$`8*B..>JXl[2+پj]>G΂ڛj3)r}CwQv TWl>3g}Ϧ3kc1X(A҆"#D%  4zS T[_Af2`:(dh"7Y^E8A@'TPk\CIl!VO"*I&r͂B.H~rB!,#?QF_OykUy?R!mxc=6ݍmEcwm0UUUrB!GY""ٜdpoVU'n{gƴN¶V)re(CYDD_/d;ׅiѦkjjU&r%L~˗?,d]ef5͆4+ΑEd}}q͇~6}Q[[3h nBH(NB)}ߔ8RO[" ?L2L:\tE=Ә1c}g=X3p@ꫛc9Ɗ\r%G%M]t1wuWd9rdvO?5C |4iҤ3dG?t"tk [>W(3B g}kfn흿/>}'4wqG '`c'=Ӽ{VjkkxꫯN0GV[dEYĊi9/4mSA_r%ͼk93qoV+3~zjl喋7s$VveOM7,R뮋l[n1l{~笀\};dDxf1PXx<餓҃go;<[\z饑0m=a5״:c^|"\se^zisys]t**2%9#S4TP#5l}|׶olaN?6O=T&LȹmWƅ.lf%B -d*s=v v ^zu]sαN?xo6]*;P#={4Ίnmx "0Whlw-4vrDs=amш|n&裏vɾGov+ZNX`+\ifK~*T*j;kX{T8gT ߕo7|9SwkD\pA3yd}nknf>l /O?;\oqbuoV eTSm8u 4G8Ni `ܸq ui7ޜ)8(;߻ߟ|tv{h1p,=zttA{G~ZpBS(?A݃~-YXa=_~%ڵk. B. `ƌo/<߿Xox3({BE&~XovC!jĈ9y +'a"o߾^aN8!,O?dGs{ 4mn36,Z{^xa袋F~Gq\pAXQ D}w?-CxMِbu+g >Ѻ3#mLuA!fCjX%35Rzfjw@ӧsiN(^&,`bNӟ;&\JQzٿ-3m4s4au8?u\+b|K#$KgFmձF6>U+k0 Ov(-\v߾}[[c+aKx뭷l[r|8\ gʅurWB59 AH7uwPx϶xnɶqQ~E, IHT +&Pp* Ke >8;pe͡W$>䵽8i}٧O+D  %9 yW#"wޱO+hcBXM 0k]%Ĉ"BD_>p56H ^6n1#x ]=h[E͍m~KkSw"1]=p.EhEb!a)6 $J.W!"̊pp(]{7&욯"& F" EXİ\@{=\ߩD:]2&4$-j'S"mCfNg!tF瞳. 8o}`w)h{b !IA enNhEDD yU"Xa"IEh\ 〨RABUWlPtm]veK jBϜk$Ⱦq}~"MҾqc8w?Btqy$c5w 'KGHٝ3-߶9Wl#,;n9Ʉ97)<(\(o0Bs]s?Z}<4Y('L+z 6?N'ɾ{YzycGI?%裏{x_|] eף;lm/G^{ba;r~Y=zɹ> M1%q뭷 ,iCد_7tdz뮻&Om39'} +BxܜCGgCm_&,2AX3. ]I[.+e/B~dmO<98cy ;Xy啃?rli^lAfq=[)DRL?ʊʉ*f or}vcm@A8]z=`̲~\(Geyl1c vg] w:3JS`|BXb%"( t:exr(`K(BBYF~2l+œ~B ex20QsR׋ _PhG,[!ʲpEhWdl8}WBT1[0)o4ZTނS!(B$c98Plg֘LlLJ'B52:ϊM{N$B!GYBYn-$I/fR!$%+<7pıK0dϋK!PP2P8$p{L<IB)ʒWǘ%SB)ʒt\!t B B!B!$B!R!P !J!BB)BH(B B!$B!R!P !J!BB)BH(BbAv^%<MB!$eIcc:=e꛲9 e΄2jv,=O!/25TWWK,BBY.Z dY*HmdnHN9"YFBH(S(װ-d imMJb)K:g&T\Fbh$BQTt֫m: ̻p&HdTF3S IM=BH(?;5s 2K!PJBod9[i&eCmTb) &2L%ærfŲ&J#B ӔI + 9 (QBQVV5И-VWԔRBQ;B}TkAn{^ G9m^'t`*BtE!E9'uT߬NόiٝmR!(QƇ./v8:_@sv>n ӢM3ԤL!(K/+BYYȺ4k iV#Mfz;?0)om>VofРA$PS>)qD?~2e:u袋{1cƘ{ffW7s?K" Ktb>W3rD맟~j iҤIyg(~gD eEF>W 6}Qfh|4;_6}ӓO>iN8O>1{y0u<@W_`gs2 N,s=79s_~in;+=Kyr!fĉzVgN?R `r-Yo9H.Em駟6nݻYju]w'PrT=&Ge%zdQ A9Opzz\w' } .Rjc;۔)SN?υ '?Ixvz6 Çr/ mܹs+c-޲O?>O WhQFٌ3߄姏E+`Xҏ~#l̙gOq8;֎?W^ye]wTtMxb{Zӎ3ZNoQ޲g͚e_WvBaw6_[l _|v4{&4OFi?!rWv׶kJOksMҋÔ9~}ϗ]R^5[۾ jKo+Wt?/j*}yu_Wo_WnȐ!^+7pmmm5+v+裏:8ϧz;ǿo}٧CtAU?·?X޲}T;b~$WwuWu};'o?,?gW|;D-[,{ 9N8ᄆw.NZ?Z\}(9]uUnҥa6T>S$wL׿uaÆ>(JY7}JY\h\1ri[kWfkIo+UAJޒKN[{⢮'S%w.B%U]ɿ1g~#вCSQnbǹEUG{_-QOTI;Usdž=m;,Ck=FYq0ѕ˿6^u֮p:H [Rvdy^Xuq8|zuBMݣIFSJlDen?bܸq{'+B g mWღ.嘎cߋ?akqWq#~tCX~ӟ{KFVo='H;8j1uE6̖,YR=NR#Vw[][*L;ڱ#G4/~ j2tЪMN(D "=<5|.5x'8Y u V\ة[:6A*O?t4:,[~}9я~c=A >O>Uz*ZtQ, j]tEYoq#ި9貿/_o|kVg]nU)|vqDž`FOqjꆖ*TԒ^v,m{D?y_gqF&wy;Yu[_ |ɰtWkq]Vz6w0"oKR6BQЪ+QU' JU#Ɂ2ܢ=ZSAD: Q;*GdC>y+{Tw1SȲ5gŊ*)8_W{7o^dukg#yzLnW\qEpUC!JSLăkj-[k9[2Uz\;@YˎiЖ*ToIvF^6H7w߿OvUtG e),ӿx[/.yIݭO<]~2S-[,7AU:Ӥ`kkkN8S_2im:UUHpiDJGF.IlFjɀnts9't]koWNк?'Wu[mR58dȐеJT;p[;H|?'޲1{Gݩ L۩d 8TS~< sv*7:AqUӃw(.]Dݩ2?z* m4UejFRtTAi.6P$Yz ULcmwqGՅǽT*5X)6+8+ckɮz?M񺓎:Pݥ׭?dk\UD~i`Α`Fewlӣ߷nqeVk1n^=JݪU~vzͫ=GSWs=}py^ˏ#Ԓ,B,]o'VG}4Ta ~W.F?bG=" kC ɢcrKcԢJFOI&j#uU* 6hkPrU*bjATyuh^VWtewׇTCuWRﵖ Z@uS 9o:Rke]*Y(4bUշ~R3_zj-FYUCr/0guymC4`];yk[Zܩ S˺0OI|J.O(͛W>K. k6Oc<{ ;묳B=yd7{9:R=쳝˗WW%=L|5Rq+iӦT[7xcxtާ ùby>L2ۭ0tM7i: ?>t~ϼ… 9:v~g?^ZNGȲ?9rʖR`52w]In N[U<2{N]w]3Yy+V zWb_Zmu.,dɒ:*z?&MTGq+7&(%+JA8m'fSG=I^`;Ι3't#Su@]8 bi:YX:&V9餓➆}( (ǘOZGխѶwRC~󟇿`diOLͥi'?~uta]x=|';|~OXHύ\ڵо!Qo$@c\yy4H#d|KjUp5x N K#`]5Ղ(`} dSdNQծt/qd̖ĹַDɤ囈ug&{7C5:a:Z]ϮNYJE e?'VJ+ooXpKǷQʞեUsگK([A/dE5%W#8ķgoɺV6[ 1_dj NEWqTIyL2KNeR6Z!v(bNH*_uY%PQ%ϛZ/8%}6$--o^_K"%}2(up]gUߴ"^&}'&>IU)Z`@PɊ29;r%%%%%%%%% ( ( ( ( ( ( ( ( ( (A A A A A A A A A JJJJJJJJJJ@P@P@P@P@P@P@P@P@P%%%%}@o}9Q&%cj v&@P;L@Ʒ5EK-Zlj֬1۲Ţ47ٮ67n\$0 E,xqGH) 37|ٞ{yҍ6l0[lJ,0d-o1?ޜJOl>8Jѧ%-P3_yF>daV|%0E(M\˺{X| bH-\h?:4ܑGZ4ztcLL{5yo hᨣ,R*p3i.goiJS!19<~|jtSttv1kzU զ[<Q"0 KT~.i߽̍ l4H_zɢ6kji@. J.8P`zEϝ?dֵ(;UY0!K mH>6)omdEH>٘1VTH^ rN;!&@PojHW^cϢ36T!vLCԺEm",xCrpL fSO5h%?T׬~ mm mm#,my6+C Eg踚N R˖#tFc&`ѬYb8\3,ж̙դ=\8wKuky٧._[hEXEE|ۧcMFJo%b΄ [ڵ]{EkYqlwyjE|ږۦ6J`TR,WuMw"~vEkօ`̽wfw/ Orø|^j=A t`FkךiiV7M@ܶft“s,uW (^*VsCvŚKͮ fvESXFׯ6GV1 ( rrp:Kߟ~nCcg>8:n)UϮٮW[eRvP@P==|ClÆTe,,+̿OsK>wtoosh;ՠ4(\h0O:[l-f=Ym (,yk;6|mն(|ByԢ=gsen#&@ÊGdesicX•4\vj;! t ^.T>n5/]jv|cA2=_g_?mŏͰgJs[9_27f2{m֭@P=\. dM X۴icdt][_?[y&Z6'[E}L%w ?)Umnm' pLmA`B9_}Ue͇rZYV[. D? ^kZZO7m-t?-w#{ܢ[,~2{Y:ܿlS]׬AsZ|S5)SUj1;>|mA t!(㹂RS[[׭gѠA:cF8(gܫ-[=e"kBs~wQ[X9Z[m{c#W | (^*TUIfF<٘1z9.?m?lݻm瞡I_%(.Jꉫ47zm8X/Ao\zDmJE:jڢ6؆0-²}[?eJiWgZVkԺ:ZHA lL7P-'j0F&+aCŋúN[mZA ۟uQ]-V{̚V1^ +^槟"֟xٰa!<.I5 dh2xsRSO -i}~FV0n_ݚ}6\qGx!ַZ.$@P}2,s,+ Sfn+췟?TV#BHej7_~9\57ɓmru HK%Ч2o-A+ዔ.u S; B7nֽ}}Νʡ Ȭ%6HXUUHj^Iu+XFǾ[Z,h*W>}ٶ֦3R !H*I@f4)!J3L> Y #`OٓH @ dH՞1ǡYT 5kFB (>q%*\ߧ`uNe2k" ء֗.2$@P;T`&ժ(k! PnEH8%0`B@E ( ( ( ( ( ( ( ( (A A A A A A A A A A JJJJJJJJJ@PAx;8GE @UT**AR  2r0L {^/ڸqGdӦMUTE?-^x>o)`GhѢqkt^͛v4e2.#(+3EQ|;2 ,[쉉'>|̓x%O\~vm/th:fT 8s)_JSiHgR%:^KS2,ˁtk!)>+2-9ר$˚,X?^Y.Q&Cδt2*Ȣe it*'CZ5IPRPTP&XttK>/+ vtuZKWL>2sp$(}=(-Y]FEک5J=1J.f%}9,UBee:,U IҪU ʬ2}V(xE+dZQ6Bv[i+!IENDB`deepin-voice-recorder-5.0.0/manual/zh_CN/png/file.png000066400000000000000000001071151351056250300223620ustar00rootroot00000000000000PNG  IHDR8.StEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp 2IDATxEއkVB$,Cp .NC?Bp;Gp$ĈoluOl=ս=Tu*JVB2"h͗kC%B!x֔ I)B  YAºD) ITX !(W 楈hP|R!DfgdD,kd|ʳ4BrɸP6YN͂/L=ip%Y!4i4!&{LHB5"YNs~+wqoݻԵBQiM^.6l?bb鋤]L"ɞ?ָK{K-Az&l ^~ W7' N |/r/.Bѣ^r%  ƌUٸe<֘$n%BљXp g=<0ޫRG$}kbB!:ݺu5wI] szHR !T2b@(SJ!]D(S,8J!]Y(s6E2.B!Dg&)iJ(%B!P(#BtBW! gr M1O< TzEBT 2ʇԇtUS !8}}RHZ2Lѯ!ɪw;S5\ccꫯ6}5K'tيBL/,vml}D$ys׶9kCxشi*<#B! ,`:s7{'G${0,ʌHZ2YB!D~IJ|O?a"9c !DR(Fh l)ǁ_jS0`뮻QGa"9r+sZtu !tQ1ʙ oo <6l >A(5fdcf5-$=ǬBቤI?'fٹryc]Y$mkfZopwB!Bx⎟C94gT{SmfN}k=ɳ6cyV9hp=ܾ1.C!ZAG(;ѣG[LI㏦7|o-VUƆSiMA %1#1+N;>}TEY__oNj$BŠާGЃbԨQ?˭ -/B=@ڂ1c$.WPnB!Z+ҢB!IJ(BQn!B!R!P !mNMgǜ_y{&!ʊĎ쓚469 e΄2jv]s=͇~yG}r7|cb B7$ސ:#1bP6X(+Ȝlňt B)Tw-t 0amg?Ì9Ҝ|fW7 0't?+^pӧ{"_?~ꫯg4iRg#*|jM"^{nq ײ3X?Fi ({`^2#p1cS\;+\NO=|i|'f]w5/y衇}w_{e]̲.oE.g[_~ivm7+=*_uQ?|;ﴂKs=7a`Zkٯ_~޻Ge~{ UW]tMvۙ9~ȵ^kCYr%ys4>\O?6\/جL~N7l3;$ mݶ_xCq F)%R9l㸵p Y]bdlj~uAtDtҮ>(,HІl'4mLK+Ҷ?ckU&1s؎pf-矷s*aE˛K/4"DI 2 8Věl=wĀ~z:]Gq9|g:c/|ֺswGg}栃f;}Μ n/c=fe.3_mؐfk[>soQv_/r%cJfĈ^{,袑Ҡ7n\d]^xy'*Ǣ$fYgm~7{31iWzkM׸K< TLHs.Ͻ.8~y)Q9[n9["Tpzgツaa#.?EkB -dceBExFaV3={VG}ꪫltذa<~ - n+;ޘ+ C:qa?pV(zwm64"IW]CHW_&B9tPsXa,֭ʜp JFP{ OzZYtntK4C`#Ԕ{Mhw W&5۔(`@pQa >~ƅ{^{항xum60f ow}|֍BEM)")d*|GM̡j?vg<\,n!Բy65`!ʸxc36?;68W|.c\nD[.E̵'KK@l pc*T6{kl9J dq^/42_tLXZ;1tX-?^{BE\hme@eL W)V-@õ?8$/X(~D\&c'Yy<L<]lz-]c5J-S,Jbր+Ǧgcslr<@/z9"|n=$~ff,[K-u{p X.rpX,9Ĩa&筳 aץ#g10faf[?X}4eFof ܪtfYs5s=gva$B%$Hz^2-ov5p1ΥL|*l>LTgzl2P}\5X朜%N*E<1RWv$|ٗ+:c5OHV~GYcQE(KtoS״&ldQ5 'b'=-J\`7YT$(ykeaPn;1ZD\XL'x9"q/7غTK.$ XٸK3=qwlbXcs}7/V?b*>_|7V"DpҐ"~Od/3 ˜g4A,o3M?^j܅K$b!bGgI2I{hz@r_Z9`I7@EbjΚEYI a}Lq#T ;o4^8͎,Z}lIו{ݣ\wGZv,tLuƅ->ĝ }ͼĹCR*ĤJ@&Oϵkokh%k]f$,ID}ȐvB4@T&Cr-N}9(bʢED2..*_EsF]e}{ҿ/_-y$egMv+cR`Aќ~bN%΁Aa}-$)@N#nYY PzBOFZ,LGgQAEV1J P믿}U#;1@<7ǏAw}vC&'C݈L7$xg5fn.'--+Ԁx}`L'MtHBDYN}K+Po1Q_\@8_l{Sxl hڟ罓LZɽ7uLXnt\XyAy ؄ j1gi-OMmo?dd}6,2!h5BޑplUQb)ʥsw}wvc{괓N:fm`+!#x3(zWHECPaI E%RK DaBB)hW2UL%U2a&"u $BYu(3zB!$B!ڒ]B)B(]kunk\[e !NmQ2ɤ)7Nc'4fvyBSv޼2[v2O7i=i֘֩1sҺJpŪk>ea*{,'e.Y/y|gMwf=s׮1/mԮnaq&WjUP_WUp۲]fYaptqZv9 eứycyMXj$x=ʁ52[.\myuomj`vYinRg)R枯UkSYKT[U캻h4[,,-Ruz,5g9lrB`qْ˿ތ kߗoɁznگ 0Ԇ’slL _޺aCͺ }:mIr~Xʮo2+<+1pj+5)HkwL.Pe>Z)k]3XAYǿi vg(d>}&7~m)3Ƽ6_hL9hTڬ7_Yx9ŴAy&sʫiĶiͨ#F7;7eԚÞKB2q}jw o VVm7 eG/H-̹3Vomh OiÑϧs?:VχkCߤTy$3bd 3&T\F b`y˒y_sq*6J=wiqnXl(ژGO"ȏo!,{LJs5_^S^m0}ӼnYoX /fQ̽Zq0E7PN))O9Sl )"kϥ"WmNf{7=ꇡ@"Im% .4!ɮ."qp _A.Z?gi:ي^9? Ll^k3l(Wg-_^jbZv[\Nճ/ܕP4 ) y13I,x;$3ԋ֭5ޫ.kZ!Ú=,k*kPT cWB#sUWQhl.n݇m>FR=X|ǯ[>帲`~zy(X3B1!Ņ5VvDME1ьN'xIt >KQ}y통֍Mf̥;$ؠI4_Ml2gr܋is52|hN#@<SܳB<&,CJHh!Qgt(߼mWvBH7٦&ߕ_6ygMYg:<G ߲̂q7kWK{mݛ ՘nUz6K ?ׇ+֘O5oJL"U%4G &5(S-\343Hтbhl֭R#/Ve#6F4ͽ6<՜ fĖ̿׫5.Xev>"&5_3*@`s}=map[́CQjgHA\ZG`|sis_jua䡧o9]\=]&8?oxMx&mx@f>)3)ŷoZ#nݖ2+U_S6Inh L٪f1UbRu aQSTu5Yr?_4É,V,;"nbddZd*g c"UPdID]e3eeeZdguK%Xƞ x frx}N|9Z™̳U6ABn8I1L#o[DcjsG&~n0_7*WH( Zq }FjMб۝cQN:z%4{to0UUUJQVL Ibt YLJzwy($ m $~L?Bz5Ay!dx /&4$$|460Xf"wn"$JI2-㡈>]gD$yct}čJ0} óK|S7ڄrYQyH+Z9W'=֭49pZg*ۥdUW-+bg]kV\Qy>60r( "~QET?srnnb:ȮFBdֈNi YArFJӔ*gñ-熵ˠ dNͣ7, |hPEre'A&''55σ[w3zd`}XD͑2|dv -o3q'4[w.C?hk ͨE#~Z>!?,I9Ύm= 5 73>l{H!,)ӧ{Kғ}&~PN/ 0)mBҬ#"in:ˬJ 0o޽Yq[UndѣG{ヲo߾z* [~X a%Dr/4FU&٪$0ZMu1ͬ?Z`5,-2S/|;פkqԘi G5}Qb{c V.QmGܬd;pja|Z׭Dss#{9Sf؀Z;$ x Һ%3nNNo2+YWlŒlT;f{F&qN4.O2\tEfСm=yͣ>j>3kbOxJx^ɯ}˧Ewj7~$:ݬ3NTF }d3[ss781i2&mw޽{>p f=0}wy <|' [omZhbݜ{L7pCsooO3ydsǚ^;Vp'Nj[n9ӯ_?sgD,uc9n[a"+P7 8z)fY_fe̵^)[n1nlƪvѠ`{Æ !#SN1K.fmT21؅,J/XȺ :@:iWRF$hC6pC+/m?|~2~y'0aB޲]l5.oof~3,j8~饗Z!c9ow9XWo-n~F>?f <8+~8[d椓N+rj+saY!G4َyw?䓶x,z%۲F|6;]u].#QF}`nƉa^{ͼv#lÆC=d[9nP3ba]5룟{]pS.Σ"߿ꫯ0?ފl`܏k\Xp駟M">SLܷXb* ^|61bU׋+b.aSJN$}+O>h tP2A@Xrg ۆqh]q?6g[7/1={y'u~1-9O9'gAz(b|0k&s 9G!=ꃥ͏+DgkXxsֽ6.2t9G5wq_<&YoѺ(K) 믿ފb*p#ΥCCĵih8n٨6jbu5:bD3[!CzeqYnuYs}n*?y.qS2{< b;qa hٞmjKyȌ^0z wasG1cƘ5\3+I`=v"FX_ elv"q%#$u]gŚ3d%X T R/Х˺mc*u|\Sa ,D<$/BYp˄khyL(X!^OH'|y,x߳8;ڢJκDpw 3X+6w I-dsk|*JĚ"sw[/~r ,Ms[veKVt beS9&ܱ}r:R$(S?V>y>EciSgf6! ,JߓStdқxӐfQc`E+tf:j(kQ)wqϷH9qb#Hj6>G:7BAH I$x Af.٧~Dzu`ᆥ&$aE;01 bXVq+Pq䚮Z믿j\\kDH] ȱv㒂ܱ㙲XՔsgZI (c2WigD@wq&ǤX#,W?rQf{"xۇ䘭sD7K6 3|]Ȗe$FaH~@(_sp%)b4p,y@8` J䭐PfQ{7ē 2&tzى VgH4A\k*5w2"" JF" ~ &[LuǠYKy{m$H<*֖͵ ) ®_d>pN<\pVJfbqqŪEr>O$q݌ć( 4ĮGcp;o:PrLRH>%#GYx$Xf|0.4\\5~_t%]MIgu"o#騛2Sxpʑ+w0{p.Xa.mX"$V(.| BQl+Җ/w` 0s`EF q-s=;D \!)~P!d<`Ah+Gc/_BED8W?pG$X$$NdV.ǻ$iY5_\xPܗ>JqGscuܫqn1!b1S\xEH֢[b!tA4h0 ֦Xncx6 6E#0D2bbƍCJ81Ax_H6XJ(;!I a}Lq#T ;o459sY/A)pc!hXjp$(bt&7@+.YKF"H:y#Y qF$D 5kgtbz%yLngEKa \Čd}IJkHe{e^X-,Xf uAv{|)\4G{O1!{*Eل,j⎧ۑۗ+2d(gXF ]J>vd4B] 77,,Wܳ&@2dX}z)MȢDr>Al5f,JQ lFƈCįSC @B .U1&\XYG}t$A.<]ܑ%$W-&ٵ X N[3ǡ?Xq|-Ȱk/NH(;=7y'1K[5͓U{RHf{.L\ܬ.U N8Ȩu]hbčҥ!Dl\BqLf;b@" 4S[B#xEɰErr}9.~ Pv:Ϻ L=*_\bQ =p!nRAܡX&d"i+c]HVE(I,F'@%uk;鐎|`qIjbDp2/5K;/ !%!XBB"ݨ>f(#҇,U 8ЊnJs5Id U6֓UFK,6wH!$(HKOr\b.Qܸ *^d)я4EgE$˸[f*QBr2UsŶ:1F7]E..81[],Jw-qH\$!kIWfŇ`18+Zk4|/:@9W2Zݹ"H7r9g^Qob[K,%'V+6(0VkLYc(u2(1(2ABuX9,*b.LX|-K?I\?ylX A l{ƾXg 6@ I79ɿ||KL%c#dVF k,r^~b)P#97_${'. EmlOB$0>*n Ue^EĊqrZXoXX@Hd 'Q~?"|tI-8FMX-Lw7_@ eUܵjQYp[.]B)ʹeOBbx9iدsB4?_,Gbːd"t2I+87 r(c)!F_*ผι8satbd2PI=h1gH,̳r髽631c*#D瑷7U[@B?2*"J{DۓkK&HnB<=Bc[ޘTc遘- 2&kxd`~4VƙNuQLtZ4v*:km3"jf|G.,{CfԮWZA):nLHڻ:dykK edf!PyHR!ql'eUP Qn*P{RB)[9ּK*1j 7ݓ]7V!EӾDRuc *D2#13-I^;,bnWAW!Ċ?"3 Elhh NTuT)ߢ]( BsuoP 1+EUDxhRTT7lg|%!#rtIdWN 3r"*)>e苞z wp=Ȳ',J!DW\ULqR}φ?ۺ`J(( lwk|$$jR֤RZY9sI?NT̚=K^K(3BX&\eAaYS,G.Wd]J$%BXSDQhOHJ(b)D{ZI QanX!fU):Pق"N*+ (7 SBىa)R>2 X" Bsݮk70<a)SSmąhJ.W!PEY__dqdY*HcdnHNsD2RRBBYBLPk&RMIښR!:9}A#)j7O)oj &!oIZPZAN 2ZlT$Fj#B2fJ\..=%9eiK,x!3b)7Bm7n\vrS7f&>MMMUE?CY4ex߉}ٓW%OB/UUU+TNMAU 7(/L<c&f-˚T(& +Owuؖe$'$,­N]"[2)!EY9VeB,FZtvXS~b=7d_*BeY$BdK7 ;)ݢN]y:ci@J!EY9ejL;Nq.L;ѣG~MOBBYd+FKJO禒Gkoĭ;~x3yd3esEL1b9cr-g\sMs1XK.$򪰤[n殻_~1}v"!CD3яO?t|DeO?{OBH(;NB1ʨ:r/hB4;_4{?nN8棏>2{yw0}<@_`gs뭷?i|F3p y?7oSA_zͼk93qoV+3gqFŪVX!_^,짞zlff94,k#r-fM71{nUW]eCF'h~{E]^˓N:y _}}gKK/4/T6<=#s~D\,/?V]t):2%YDGI!Xl6f 7b/V^7i'Hܗ„ yvn\(q–[niZj)[;p."fС(xTTs1Y9㏷mfK#ag*~tf3Ί~j8D`~m+:Wljafd{߾}͎;h'mX46n ?#꫃W_~ŦPǂ=zkv]X9a?ݻwB~5jT@v{X9`uuu[l/i ż+֍ܓ#ӧOP|ŊhK p}/mXK ܿǸfnbe6Z>ulʊEA~u}O%xτI6a4X7exߐD.^htB*6}Q{L+q>Ʊ;3f;̂s9S2#GKkЄ@]8I*I7%.bm8ݲK rή+N;Z$`U;|`"cc!*l#8|p#"ʆ8ĩ9׬Pم >o@cb`5bڔE(*ۖJ\o=ȶnkzQl2%@׫w&mwBV1b >y睑T*L\(-D,\&dβG*^_FFr BS$"WY'Y@ Akɺ ܯ́ Hܹkv\J$* Ygժ q-W]WW?i~Wܵ;찃=Hcibᒙk]D,nXc {oa"MT.xmF!.s>i}kMYgK aWȜ,̌0fcIݞٿep!ܭ/9SAd+#8ޠtB:c]gLTYelvz"÷^]% ']wkRW#d^:K5!ٺŪL5WYe:W^esŎkKt:Hs~7|seq)w?_xpE[O- 1B0{G {e!c ex[A$O'|y,xN뵃-JZb>%BW pu.fq|gՂbĂ"\[_!j6H:(^T6J#vV*t 滔Mo~Kk탥%?6߉_ 6VJ\/p pQj͊utn۵PCLT= *a֓@9.zӈ"4T)J%ě4Z o)XJp,}׭(dF~5j;Μr_!γ"jX <TItVk@O}bo"Z4\*bX~5zq 5@kC ɸ6\4L.yHT64]^<3<3os'qMv~&֗<[b~yRcGK/e}Ѷ? }.b۟>B [ ?e]r~P /9AXrq=~w;}0C'+i׏)[o[`O?=҇_~9tkf뮻&O_uU's CJ[i +{.oWwP١&neCY1dhAfq?[)DRJ?N/3UA[3\f]d9[زWf{8Tdӥ^j?{Ahe+Pv`o9-1Zhlxr: |74E*($\rTrԅ]F(v&ϋ?G&3_κfcQϤ7t.9J<P_wu#t(f;HL$n6y$`8*\..,ŭI-ZW$>9?Bt9ޫ63"'.*u$]pjMul,O~a3͟Kڵa, E-#52B2 o45YYE8A@T^Wk\CIl%΅Vo"*E&r?-#qaS$(BBYAd^2W]5͓U{R!m<20QsR _P@,[!ʊ*KЮ|J(8}YG!f25TWWK,BBYe}}}(VFf eq"x:4tKK!PVP644 װMIښR!$-&&'tΘ Rqw*,~eCX !D'SgژdR 2vbKe43aKb8$BBٮ٩,> b$Rb)JWVa͓LΜfX64F%B! o2q)cʴ]2l*k6Q,kRUi$BI`4eM̄\k[X(G!dQvRjXZ6)BȢ2n!S :vr,ʩH?^y9OѽTUUɪBY+/-nЅɉiMMM˄BeS+ƊP{&d}4-kZ Ҭ;Y4ߚLfv2~K7||.= 0ozJ5'g~nJ'HܺǏ7'O6SL1]tᅴ#Fc=,rf54s?K" Kuf1g'2dHd=ӟY~য়~2.Pv*4bQa=t}`/FJ_8Ѯiw΋/hzmq'pc=G}dsO;Xax/(89[omZhbYQ>s#nᆼ矛ފ)B/fy5r8qbz~38#bb` +ٯW^TSO=e6l33seY\{o馛q~w}7o䪫!#O4?=o΁Ǣ.jI'<3Yb%̥^q*qk}[o=4Fs=Yve_l{gRteKB-/.Z\N( `{ښ 7ЊkK[y7|2'x"q_* &-Uqą [nYjle"C8SS1f׷;sl?Zȷv.}f <8+~nyP^)w2vrD}5;'cш|n&w~Fov+ZNX`+\駟nK~4* fkZkY{4f4 Uoٜz;W_mO< /4i-q dvm7sg{١dM|K5nF8,VTgRN4K8 ^7 $q&g <{sणO|ƍk8' W_~ŦPǂ=zkv]Xa?ݻwB~5jT@v{X9`uuu[l/V^ye[Xidq!bZul6'zb^yFtbeceӧտU(>bm o%Ǐ \r6,qa-9+.p㚅TIes}&^kgc4IYq<"P['*gƤ y3ܫ\ =WꜧgοjdPg_Ӆ=I gXkVpEZL֕X BH5ʋ/GD [oeϑ#>RvDŽn *yvRom7$rG疩hpN\={4|MkF#ge,>̄h;pXZVu^y\_="ƢqECALu$%nuY˽3rH۸ѣGȈZCMLrN$L䝈0bA: 4I{h9 裏J!bcG78dǢ$Fwߙ1c؉d}{)by08*]Z&Ax|Ƈ)q9k;v[vq)`aaQu}iY |V* b|]rlS>|h68ĩ_}5+To28䓭I|߀x1$vŴ)JQT|-q]#n|kCCj 64שK^E,Ƹ5i˜&ƫ="u7W\a;;3J 冕EEI,~%a]o$f)4K"ru $p$V*P;2)ܑs[M?`BuYWruuu1\6q];s4&..XܻIA4q B` ?pk{ kt:Q, /X-4? ed^!s03˜Y& gOv{frkOprSRtA2=#II'I:uD[__uQonx b8|5>U|qrYyuY*u>Iù$,uU)ektثJd+w9a bǵ%~ed$9v?2YK-1pY`G\ÊƂ/΅+*_z mXprȷ#3jA`q1bA`ISDܯX5X $XjXcsbLW~µ"1 0MR5pb 8T.ͱqjʀzQBV%1,zr3HK-7 iBR"Y[3o'Qp~5j;Μr_!γ"Ev'@(h$kIVa!8/XLMGW%) T,WX@ji _}ճ [/]l.^S$̵LԹ D'$k ˝' >?VXx !bpAb}Rv׌u+T63׊2>"6㶓k5 NI %ʆK+ؾVݏr`C4z;ϛ{7o^jyӞ(}Ѷ? }/b۟>B [C.X3z F#HKwРAA(>r\}_hN N1%q뭷,駟Cد_}:r5\3u]'_̯*{IBP%7ZnvݰarKD~P؂_>[mgxrVDvs=߫;YI&{n`jp}E΍9c9lЂn~ ?ҷRJ~^('f)߃`g̺vs쉱epK/~ -l~ @`vg_*w:37|JSdBBXj" 6u!D.1b師ϑCI8̗X3 $ s pxI,뮻n$ك.l ĭBNAYE%P?!BQܚdےYIzu@}*Xs2SW{Smf"EOh]THN \]ӳ՚6>Y@f9¤g?2kcd1X,A[Fxy!^!:at03L7]́I?Gd&6Oh MdMVtN+2w{2ys|՛3t !u`a\ɟ"f,J!PV=עF'{Mdw|B!lϺ LlԜT;P-eI.Be eop&}J!PHW/{Gb[Ðu/wDJ,BBYB@ጳʛ/mc3ND& BH(:('J!PEυBJ@!P !J!BB)BH(B B!B!$B!R!P !BB)BH(B B!B!$B!R!(:틛 r[ $BBY466)R>ݔM g(s&Q;yOE3A"#RL%h'nXĒh{$ !P+~vj!m*ɠX !UBx$3' ͱQBH(+L\bʘ2-s M˚ThUBtj:?:Md3a$'$555JBYTdZ244ijJ)f)(+Ǫ[3Tkr47ҏW^Nczto0UUU*Be$BdK2OnQU'<1I(KJ!EY1e|H:k.#˯Pczqtaqrb_SS2!EY6 " Y2M4+"m&i￟74|A-vG6 0&!R@E(=峟GI*%ɓ͔)SE]d?3fĈc5-Ys51c.ȫ’nݺ+r_~|ىl Y<~:{>2駟{ァ !$J'MeTzlz_9؋Qftkfn흿/޽{7wqG '`cG=Ӽ;Vjkkx/ N0G[Z(;-bV=zn!fb#K/wy!b&Nj_~3ΈXX4ض +DիWb#`%SO6?{w&GYq_3!'H +C ʳ a '꣰**BBTEN@E@\IB$$3{S]S}d&* P5+HGiʡ?1Ti ,w!tzr:,>\ǎkgկ~>cI?9s感?OBp4a;餓B_s5w߁vSq-زexGh=O; zϴSj-;I;Tofz˞;w}_'x"gG k)٬vn߾=|^z%:thNf? r~jP?~t˭[έ֭/Ms?O5+. S?_yyyyo1o6-EW4Yƽ ڵkݷmw1}]c_aÆ_|8>صl󫯾vm7竮c=||`: ?q ׿N1w衇V]0;z!Sz#.Š^}U׭[o5wóYf9_Gq!V~frЎ/c;ZvL߹1cFXkru9sw׺+VmnkPF^O;ZZZ1u_W͛{+eR(eas)ArQ]mU_%>kKTU)u{{ec Λܶm[LՎ/PY1M4.5HWG70u=ߧJC{ލ:~󟇊#,Wƪծ4uɪ QYko1_|Kbݓ=iҤNU^{_*Vu[op,9n퉋LR~L߹Wu'TC'~_OGݻUZV{h[}}D=Q;|w&W} 'g\]}e1DWto]tNl۽q(?X{ RGԍ+Е؈D~ Buuĉ;SOU@ڳ>ڨ>M]1T~ײF+_醰'?٥@ԍ.߸{XO/ vp&c1b-_{F05Wn-e;z~T1vccƌ i _ԶeU_NNQEzMyDk"\jN:]1qLʻ< 8SqmulJTyPi{iӦr)04py@{se-Z} U} zU$أ>lY<NoKdߎFQEse/k_ZEU ;bݪUu1S[O /~18V]]wu -[^{m?"%xY(~-j+(>욯M jw궠]!a֬0br&mH?o|aEwQ.m0ՅUW,iiOP7Fe4E{juV)DvU6|vWR?bekիCUSp/upUFxz0GYf6CZ*\ Z~~ᡷ@]en'wӠ-Uk)x|6l*ߑo|g%YtAR0YfMw\\%z[|IꪫBe'> [re8o2,uIrq駇g?YEeHj7uD-ӈ}{ N](2~H߮uuQOvڤjpذak]F^xN)w6\tEuqOBekc裏SASk!zq# yzB~1ToXǻuxCAz[3)[ !${U`kRLmV| W:C֒]C~<)µ+u'{챡K[T0޹~uc(#,[HhGoֱZˎ׭nZ;bU{V/U5x:W{z)<.{{4$+kG%Y&+%Y&nN42Rݯ=X'U%:]@ >:{E׆VAE2d>K-d44tn6 zQWKݰ:oS+Wu"^vtLMU1S^FeuEZ7tSxOun1Tw.^k Ҹ RuKZ1U:`c_:< 5K=_y啡ՎJ#VU}.=ֲkidzU5$syYZZ6DQnhimxrg|$L-[~>=7<7ϣ\pa\/<sop>ߣ =_7s eiܼyKs>,rWZU^=<0MHux֭[2LG?H7aw5T~uz@Ws{2Smٚ|=y* 0lØ}rK4|C9=cK, x;cO)+?Wۜ o;'ڸu]X`Aiu.TP+(~L:b㢋.rW_}5oMPKY/VNwn*ᴕ\M:$yA];%Lձu4E${da=6꘠O[SO{B>0Gc.NWv> kUF~ K |O~"{>15.hЅ8Ft9SGn Q?aӣ?7riBp:Fqi'oӠ"N0CI:7t=6+$&7.8,j/]AFkQ(U,FE$/  (]`K_N=iɘ-}soI7MozG`u t]~TOV(;V޼;oZ|k&_G ({KTRW͉j.|ފңle*Ȯj_XpxB\0p o/%Y&u֝@beXWZ2dT;*ʾlBTQ&GfUfDzKAK7Y^pf= J (lH{[Z _8TE;" K (dPBΪi;EnMNDM%}:]StWd$(er@wx ( ( ( ( ( ( ( ( (A A A A A A A A A A JJJJJJJJJ@P@P@P@P@P@P@P@P@P@P%%%%%%%%%% ( ( ( ( ( ( ( ( ( (y ( ( ( ( ( ( ( ( (A A A A A A A A A A JJJJ&`r(MJ`cj v&@P& ۚGŢي^mnEכmnQ[[svl=~8\.WGeA Tҥ[#$#F9l}<-f7m`fEkjHaWe6i9) @Ho9?YkvX;O7K[yf|*h'IJ`':>Q򉩹4iuboŐ[ԩ9Ƣqj exd:[f-{E ^n1Mr#M?mS[i*$&GP=>s<`5Un.cMf…t>|g3J&a @">>:sI/[#fMMV8%cA ^/d wBqy*լO֥uu6$`'Ôعj"$~lx+*$ujYV ~]Zڐ KB (4$ݫZ8ECf'lBBE\֩u jDX%ևMᘤ1Šga`K쩮YFX;(LW,@ +Ξq5*A--fqg2|%h&M;آsj Iqg[tݡm9s4b=%I{p HO\fуhrnK-AKㅮO,})TA JRS[[tuɓ ,&6lyfE{h:gsZtjoڨ2 (]RMJX _5Y'4,Z1cs2:wխmjڪ6g_@mfM=.KUfjJRz0=pJsy;Լ_ zj۔)jsh;! @oV7Zll\[ʧs:槟s|.ete@FG͆`mT[FA T`j-_nn(sc A[CX /,nU!ǎ m m8%@PrVu|/Z:бy~fGUQ.]*gt̫a#m mm',񀬨 W _e;f,<(֬ \Ҿp^ep8,`\ *e6~9Z<A NHHYs0vq;|,=޾h^veݪ(KK*Ѱ ?2f7W Z,cZa]yQ]b?}5~?{|C@!BY )n-ts,D;<2r3sSǏ5KkzmVt Q]T}wMuɺru7z7֛M: \\ \\0EyitZ=FW,+.vzC\GzMUWvj^4wԴD@Zehj^GlMRڮqƷ9݌A<A NHj^?rpk*AZ=rv.cn=:ebrcs,̬Tdڪ67-'J[at9U[fl-wVϚgvH; _As|`z\*[j{@P=_Y>aBڪQ%Ey~qo+{>rgrኵݷUmV Ik ty iq~uF+~d/8W#ֵ}c?l5޷1ڸڏ<A x`r6d5-^lm3gf%F۾`S --l67fsMK皽KإSvM}hN@%<#LCڶC>rR+*/7+`;sx7y,˶omNW&P(.f\QjjAY6O?p=X8:oZ(QmM+@Pajnm:D|֕QJ^ֺm]4-ѷc@?Y>15WX| ]\σ ky~~}ִiΚe][XG-ȳiE[[|:7lG{MlS]ׯ! Xȑ|S5)SUj1;>|mA t!(㹂RS[[7nQoѐ!:{v8(,[=e"ks|OQ۷[Z[mFf_Q*$CJzRU& Cf[Ygu\.RF>>6=f*ɸzPr䠞JsNh*jK̥G֫j^tݯS!6-jS>[Sk!Y-,'OMӧjN]n]%k N+ӯ[mP[$a . dP{Srihij6!^,KԺՆ5Y%U.xpO|R_i5ǭiZ+oОXo}uk~*}m)QT@Ǝ&y&,5??r[ZWzGen̘ncy7wt1-nmזK#! @ ˊlm/h5 hŃ զ~ W^ 8wͶe4ܐ!A Le20ƕ+mFƾj"e}GKm˖iЍ?u}usr(&2k+A t?((:3>xb52vTk< ֬ѱf*1Z:}(:}㇪O_uqHJ9%C< $}JH ĉ+جS>qAd0RE%Я2Rqpqh:U$}fB͚Jφexɰ W)jSY̚HT`tXڜJ`@fXVA Lbw+B (A>.A A A A A A A A A JJJJJJJJJJ@P@P@P@P@P@P@P@P@PJ[%=TQRA0Kv'`̊20Sz-h˖-y֭[ԫ&(~j[l"R@tҧqkt^nm6eM(Uŋ[V\)Sƍ9r!F_z'+n]:XHLB3*eҔ/MMOC43U{f])L^۵xĔKUYkTeMU\,ݎJ H,B!I`LgZ: d24Yp:!Y$(})(]*(YRQtPD%PLݗtrh:Yե+d`&XLUT8 ʬ."(qzϬ)#QsaYZPV K*Aj >rWIDATxxTU tPU@QumkY]{XpŲk/(EAAQ,X $7)w2SyLd=w眤$+?sj>'%x(Ä )@ ;X$t[௕{DB (,PE ,-YJJNݴIO('5"0 @><`7vw$[ʕEfxR t]Ŋl֭>]P?pB,w@A t²Tr WPEA @^u_BNhB( LUx_zq&ebDA~>ߓNb܏ RW!DU7maOOUTk[ѷ<( n恷ۂSX8P222m֭nEU(4} %H,ZPS@[qM֥J;bmkQIdUs-Y6c-Nd?l_gS,y; wR.r/ti٪MZqy״3kk]6ƩU [l6fC߹2-m/;r/鹗L%T4*WٮuQ6쬂=GJ%\ m\bc+3/>8(lW>Іlm哴$Cve)vUR|{b\K/`@YP)lxCŽمܹ\jC*Զ~e_>68hShx5NlV Vnr]rcζ6ZfFoPƤZjխ^u-g@44xg4N~ &[nڵjYr2;eMVVmܸw#8hz“ J\Sߩo4- ʦMvڄ@b5j԰u֕X}i!;XT\/##(QƦ*kC+rs ^MKTKj1{"5Welmagڵ:_\+W233]9QjE\R@:K:ofO}wۮ<ͭa5  '5ӕ7kyՕ^{ݮZ[nBߝNW'FY\fժU (t~{ϻh:XӦMc^mk&B .>}}TO[ *y]wך!CK<{.䒨qgzME=\ܹsp'xvꩧ(bSqpyVV}j[ɨ_c{g =>䐃g0f[f͚=DB'^t?תU.,ZؾO9d;D wBnuwQU}U5lК4nlCJrMZ(>(&A${peΝ;mȑ8V͛'lGy=䓶vۉ9cÆ #8:v>-_=~ꩧl…֤IRЫW/]lIhfs=Ӷ}muw?x`5kթS谟>[t~vܹs~p׵i=P{ws}_]RWs [զm;z-js3oݵUvZbR}o;h]~Ӫ66, o=t=f=qPf8`@ClpХsg|3 HzAQNt=B3- [: Xuۧ}>'\XW^>--&O_zw"wW2y_]wݿbc tRV[~Fk DRhڵO?>e,ykvB'1s η ΏNTןO@ )HKm;ݦN.v:M0a\ШQUΟ?͛WvYg印?#Cug|?>l0E =^?tbŊVjUB{UM|{gٲe39>l_ +TY'ux)ߥ DWU۶m(8;.ɓ'O<*9)ԆiֽGϚ0A ~֭kW7%ӻBŜe[b>>8}ӦMn?_y%y*Tp8/[f]K?ܩSGٳmѢEy{w+HO],(̚ 7:bחO>v1UA%oV&NF?3ms>c DdoNBW_}Zl4m@U^>j@?8Ck~ƌg?Uh 7@A~V|rVxo.@AÇz?#Weu˖-nF \0fNhPF v<0pEAWFv`g/vgTE0]u^}x}םI9ABֻw/w}*s[nTp+?:9}<=l{9q{QsN:[Bk%$xA}u:o:c~*By#߸q|P$ut6NUr`w{* rFOv$U 3:u_ d;rJf8Ԃ~E5EAڰTm۶5nGNx≮C*'V[ANXtFKv;Wc7np3g_ר϶+ܕ=cy qV%E=E-cosѼa`q]+N6z=_}ϽnGzՕW_fF== '=⏢λ*j iMU*kU&5)Q^WS$ԩo׮^}zMaꫯ\{BB~[MkEMШ![*=6?lBmKQU.iu4 O?U+$S]:zGS+:^4 -l4 [:7BouP0@AڀjjKX: ) N,8h Pab\/X{!£EmxސO^.4?a=`NE:Z੧vO8?>-}}c'}u=jU.Yfum:]z0{/R}fia9y 8?MQ/CF{{Goŏ?f7rkiP 72m P#_| 0ݰ*^CtW|EN R+x/D#n zh-G͙c; ګo=_NpH^ {\¯GujbB=O=%6mZ 4i>TvQp6l-=zn { 4Ə+VpnM^)[\yf$U*5c,:\k\h+Ud~YQ! xmzJ>~Yϊ ۊߍ:D iwd'ی۵]o^/ ;Yy Ǝv .5*sگ&MN=9WIi?Q~hkEU\_;_m+uXl{6oJ֨q#FUV=hԨVjiJܺM&4iοU{QmSN9-̨׀D_M5ߩC'hl!کAU Nh F]z> 4B,hM _\Bݦ.JPpjl+A-ԹTѲ+ vX TF_GNECY *b߅:~Qr;/h!ȭ5U@]>o:vas<6⩧3!wvpZ Q'Hx"9wm޼(w;2' ɶfjVvXv`GDqm S?8.[G?zs;:ͩ[u}GF5zy U)I 8kkS: U FUEhgذanJ!Š4?njCv~:zN]t{K'j*'Tv}ׯ[@a:MS^xv%W_}ucQH+խWnB_ *n޲9t2)6MmРs]gcC q٥kw/sWڷN]<.t\7Gオƒ]P2o\ 'VE +UrUDQ -#7*龜;(~hSxMkE|U0WZOnu굓A,ޖjCjB*̛7]юo 8(tqAVE #)P_Te0tиG.-Qu…tPY;zrj RcYiK,鑖 KA-6-)'Xzt1Ƶ;6~/ ]@5*HK[hV[B9A=,ww˘e_l~lKn3*ϼn٫Zr},q VLĿ=H]Mpc@ThwZSnAP@~u_܎iW\AAS(_KՃZ$ ঢ়[cjzL>m+wnop5QQMn*}Yrɗ-{yG޹HwOt=P[nzy}}gv;\k海j}gsokra֮]uְA{l1__5gSm"ō. b 9 MogI>w[U6UO#'[( h; [.ֽ{7+DQBN7Cǔ)=^ z"w(LZߠEnQX1n{j / -QVqĽ>}˘e/_BLnR=ʝ]@˘a>ﺪhBKPsΜ6kn\M1K\ꫯ*駟쁡7{/o4+waylv ۨ7Gڜss*wKJk€g] .\d<{Li!˯nVx6z# 5x[k暜9sLd䔜56|6a`͛p+j>i&OgDMU݆(QG BjCyտHq>~|r7ڬiZ[7>nܙ3g%?ínݽl0;H.GO)uu}w/-f8r`W׺uj yV6Wh*H-.T1 FS$֯[s>#yTpP5ɉ'vr/^mԷ[shz}{n1EVE9Lm(uX({4ȪuijK-v^s/Kv䮚 g$6r~[7VqtJDbr NA.*n6ο"@Vl\am]oClM'Z$kk,+V{H޹on 33@>RK V͛fZ uj5KIZV9w:l7aifȰw2!RxefXV*(*ɼ Dp@ Dp@ Dp@ Dp@ Dp@ix(e'"8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ J-$"==fϞmmذ6nh˗UZ&MuV^=(R&I5tI]^*蒕[eS`ӧOʶm-[N:jժP$'' }ّ{IϽd.(6uT7:ybښ7on  ;v͛7/Ǩ O>֪U+@_U9Ԯ];ԩFAXpT 5jf̘pSL)Ph ;wѣGqƼ@ 8*K.@<(F=EBrqJUV̙3c֨Q#]kzQ}#?9K,MpA0RS.taÆ&J6@5kZ^cPV-L[¸qܺb{@i4V :7 `|6kVxeƤI`deeٔ)S/y;{IkŊ @1f],]=\[ۆ"lܸƌc˗/yqg͚5̴Sٳ uRGm3f̰ӧFE>s^hPR%:ɼXp=3QGe:u@.k>cB +ӳgOKNNÇԣ0^KrSOQ1 o~. *TnݺִiS;J*(3TiPt,AvZÆ ؙgi0RO%&L>׷޽{s̙1w\M6ի\>;wUPw}Ot]t*zuk֬vU=/^94ʢ P07ް?#עL̛7o{7"P|yWb*Q7gKKKUV5\6l jvrʼyU 8z/ڎ;;#{y?+Tx]g"Rj\A"k׮^x!y BAūjdEi:-MIȰO>팢#mٲ-Z.v#N8RSi>@YPF-[,;34hܸkJv[N̸qlΝ <4h ֯_9OctlkF~Y`A>ҨQ#5hЀ7 (aTh"?~|Ա- !؊eن 瞳ݻNH3 t7Ŝl4'toV9rر#6-oo7nO?-5dJmӸ^{ơLȰw}ז,Yb={t[("P5ʭZD#2M!`"[Cj>i@~mgyfTѣUBf[oݥm"%(|~-[QD[n=7߸oΛ#8+U}vٻ"PZyS~:PYfYŊ[n@4Bp#v:H* [} k۶ے$#,҆G+WZh"mܸqe_~%]T֭Jj5[[8 JUݒ@:aWQՀ=e9mŜFK$:ڵۣFnJiii1o[[ ?ճUVżmÆ v4ԩ:{l*`eee٨Qbvquv III.] ҍi(阪mZ@Ʋe˖cڵi.8SBBTKN9 B룮_hQeQo0P֭[ 9U2*%DBe6\`AN:H^:o0t,?B;ʕ+׎ |}WoxsBЦMBNm (eT-hذ.?T ڗ^P;uJŋ۔)Sb.D#:FmGmK.-7nBF6A۶ݕ2eG%=d?mŊf͚}+Wlk׶͛iM6 ;ڴih-HtLPczz+WrNAJ:l޼y.۴i^{QW@p8"Dp@ Dp@ Dp@ Dp@ Dp@ 3f؛oY$=k,/,==֮]˛2߶>캯Ǝ^Cvvv3g_Roz+͛7uy,W_}eg{+Vk9s\JiiiƏ1ۗ(o;NH}8 faʔ)֡Ck׮{ &X.]qz=V>zO?urrQ$J])5uu4i.(<й_>Ydz.K.$,ЫP^xw?EK:'M@ 8@JhS%k׶&Mp@?K\ՉPPвe˰ƕ-Tqnݺrh5R{TyFXjԬYʕ+z˗/wezUT)P #'u]zyitrĈC܅^肃ѣGE]:Y5Tc㏏ PܤcSǍ{:n;vȫ6FcYP@ȿ:  1:u;.:xӢcR!η:Vm۶1>s[ePU=r!yU:+JիWǜc_?ص3j|coϻޫiEC={쳏 W='ܹsEqW]u@pIQFW'?wz衮R@ ԳgOܪ!X,N?Ozj{8TR%v Uʕ+US1`׼Ef5k/TPh?/{TW_ *P%L>݅ 4Y= (TYəgqQuΗ:7+8P垂}ʕ+~pSThSl [ϭÁHmU s~]vuִ" [h8jzrj@M"Do@ Q[ 8@WFC/wk4mԎ=X7*Q }xFנy羿[><񐣎:*( t x56N:S4_#r:CcXFRc)(Mjc^W^yǬ xWyU6:nRew]%ͱt6l* cqS24Ω"?n#SGpx TF&!*iX9qtł15>dUYʴ_@iDu ԈQՁ7YDž iCIe;wY1H@Q`^u<4e!Vc(ktltv1lTS糛nuy睼uVJ= 0jhC:,)4PhÍZjB }p( ƍJq9\:q 2QةBϣ6?`炟D}h*:5P`i Tokz}}W;kQ9iuhT>c{:l:NS4@_5h^*观CU(AU 8%^֭[?uV;}cEղޱOǡ„@$ںb`GA ΍(0PD&RH3O]Ī4GL#4/ohR*TJ5۷oP`TNs}E_<- rgjk&$o+ӹO:F u4UyyǢ-6Mc}G7MϿIPt$o*:>0x4y`jxs@h $4ejGkh'}ATjWfWReut 5ըBoGXdZǽ&wd*EV9#נ#y4 MSHtRz U_\k "zo83P"#*\{7>w;d1ڷZDhQٴ0?ZT¥FVLuXS5(vΣdW .BEc -* u+4P @֮c8(8PA "P+nU iw}H)@ZDDǒWM*^H4">4}HEYGU}:jUĩM]U<:jQD jk!RMTΈ.*#oeFI |ő-G(oP,_OfUU*Ԇ=sD}^?ΉHRRłS@p2A.,ofss2h&}i(4P鳶ȦYZ۞*>P PhBy⮀N5.:*1CƏF#+GRaذaa+ktTԡhFM"ˣ#H$ˉj|)P`rko:i!DTMcHڶmȑv駇MUxnEA``C15z T)yY.8>Qh0Jxnױ-U٩]Na@]Mt>UX!]Ч$ 8@׼F ^F%\(P#JrkoZO\QDX=9?J3uDtJ:> x{P\RR@-tlrG#ZMw:&E5xfˆDQ'D#)JukdGC'`̙B;#yDǑ*h!f9Z0^@=mCZ }~!BToJuރF@]+ ˚5k td III9g]R|rղV5(xEE:6)J rௐ2eG%=dSq(',Yv^Xx @"8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8@ "8ANVar6s.Ǣ8KU@3vC cM>)c;wsI8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H @$I8p$H  ~y@Z Y8>?m}i,xQqͽc7c8ѱa|xxDZ>78qmq8׏p, o6OWWW...>mw ~_vƷx6ppgqnz>@>^.S@EEQ`Z N6L+J,Xm\_vgh  sZy0_a0+?=ri jp,u mfo-xLN7"LGB=0`^pE8X۞dJ4fQ`=t0>h0e<0D4a`z峡0?0߿ D8=Sy 6om/._hQv0샷IENDB`deepin-voice-recorder-5.0.0/manual/zh_CN/png/new.png000066400000000000000000000163471351056250300222420ustar00rootroot00000000000000PNG  IHDR*tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp $FWIDATx]xTն^S@EaWT!v}r"*VʗX(+ ^D!"*@ @)gsɬwj{\.Dd #'BHDsh(Ǯ8H@F75,9p8Igd6:RYn0O8fI8yH0F*}+Hdfm J6;ֶ(Ϩ~XebW;hi\&Ʌ-x<Տ[lYRTT ֊SȦ1shVkEEEŞC4v%!-hee{m6dco&%[6mOnwG!FhC.~tjqFmtxի1"{4uT4hKnՔ-u|r2e P ,&#%6l6+FҀ`6uaΜ9#U3`_;wUV9ܴi$MAt衇&xFƈfE*;1mN"VM'վlL:70xMdV[kL]mu--,`My4fԀD"WBɐ<7K:FrfZh*SO̔LQM'޽{ʲpH$AGM8 W<&B0+믿8.9#]w4mI;w\2jԨg xWxC+)` Z۶m`9q 6ѣGǬx̀N4ݻwKI$Awi8dȐ*%Ym&d&6mW#o2$ӥ|܅QDNU{<6Mį:g F4ۊGI9L4FDK0Tmm$aA$@MEGnbs=tQ:⦧8!ՒQCUww?M>tơn:7h -5HeGiiyQ_{W>J zД{0"GI-p~ d ϟY ":? *H?1$>;kV;C5*ҞG/̯rAyL(Hh5! )>'%m$w~棕}-Aiw+-UE>|n3H[{6B=ϩD1*9X r8OoR矝=◲O IXkH12 jt+']U@Gi@ʯ2GU6Ud*? oD\T&. 2jUHL#N^7cCX`//ʧ Ӑ[ڻ'>K8 /ͧ>s+hsA'5wPZwǛHG#1ÁDLC#t|ĂJ VYH('*fra_)Nиo[hЃhn[כcH)d㕋yXHk_tk/1j0BQݲ /Jx~ WyC z<*9̀t{|?{c3']+6Ϡ]GH5 hpJa_յxn^OvɓTgV߹8V V r 3 M;-qFki߾}}P$grl ~֬EV_>*GSvdx_@ѣGN||i͛G۷o(d=cb~.TxwiQ'?-Mxbk}g}>SY?Gy.\~O-[O׫W/|m̙Tn]袋ߖR,|MӭБ Z|ez-jӦM0L=zкulq7|-Y40M;w kժ$9>C>E"Wy 'OL7x#.pgʕ+_|ACkذ7n\7ccǎ3 /d%~Igĉazj.@OtN8AC"BU6 )2f2~g60صkS~*8A:t7񩧞rnϞ=l4j_}͞=  նPӐx:zh0&^[(9FɁ.&M$Xv / > OgչsgCH8[o|yѢEf 񇐿uVf@BK64-[Fw%qH&Zof͒MlJqtKQ|I/c`): \͛7R<5kf a{AB 5)3᳂䐲ق_ںۥ4J_~9 ;8$+ |Lm۶Ijslj@2$ 8>|Mo$Ȱ}0n j"7^ڴiBi"@d$Ԥ-|&L+3/9_駟]] M? -``+VȩFI'|ߩS'O=P[v^x7V@H֯W+K.$&_ TsGG\x#B3 V^@>SCӥK9݆ݻ}KK5! FBx\M`0L4`1h Dc0jѰ4*wI_\` L^Z"_~%bڨQd@a^#H=h" ,W`}g$*I(`-=cVF1bH8&rA@":0p^'+-D+$~s3aYyAaO&0tK62uuDK͚$foXq'!թLsXXUYL,fDEL:Tc&\ja+{z:Ɇ@SERJmڑI̡L9& (:m.ިRjh&Z P*IDATx \}9$@I AD0`#dcQ&N6ιI\lI62z8NmY`'1-cs q:f{uMOsH3ϧU14_Ye1 Hm B A>z&,ͪm0De%b Bde?Nq$%Kk$rC$[J3MXhl ev:,1-5,6)e[,"Yer$w]g?˖-;XٳgC=t^Їnoz%HׇQff)QGqxxxP^׾o޶mu7pcݞ e3c޿:/6,7ojÆ >hL4f햭syZjHXJN8W&Gu*"Y^ZMfttЖ޵;rڡIC Wi de&$̺([ %s(`Rnd;JPQv:;,n^` +tn `)E|1yoD83Vo|'bo~9V_Qfg,fV?? :s:w-,8֬Y\rɴ/2֮]o{ۖ`(Dz,lIZ1o~s,c"yW__k80^;Yeqو'wq|$>я_>-WpfH/cf6m~xEo˟<궍i.Vs-oNcy'>ʟ@ĎSo[<⓿o; mj[hZz7?x{+Vh|ؿ(/`S;#8,$wx!KR$$8i,V(_pLߑ#^qj=ޯ啧=P R[w)~v_CD}2X˚jzH"">)Kwo3"ݫo8;Qo7o.n֭[Rı;brv~T}aL eg>~~۷FFYr/f(oߊFDj/_B-O sxKK_dXPL(24 PPPPPPPPPPB B B B B B B B B %%%%%%%%%% PPPPPPPPPPB B B B B B B B B %%%%%%%%%% JJJJJJJJJJ@(@(@(@(@(@(@(@(@(JJJJJJJJJJ@(@(@(@(@(@(@(@(@(PPPPPPPPPB B B B B B B B B B %%%%%%%%% PPP~1l`jyY\JA~xP¢ \E[ [pP‚c6)|$ˏMJ8lJǣS=LDZ}6{#hHqYK+VDZƒYM}SG/{~z('v՗q_ #:*jNWk`PdFv]=HDZ6\ cɥred˖gR\ϿW1l0Ӳ}{OOHG[oTvQ;mF43Mɲ Ʋ,_T 9):x ;l˖CCQ;֭+f},:+Uz9`'MLD!f>ZI'Emƨ=fݢ(l*S'_Di %4)`rO>,M:4N?=b6Bz"<2W2% B sɶgo} 4Y2⬳v꩑0ABZܷcGdwqªUQ=bo0JmEy$6m*qDċ_TY`gLGM7Em[kc~9(P""w7w3G26>{".SPzGXJ,r˖"Ŏ2w֙e;S}n1[npt!1W;]"B }Grj5|V׿؃4%M93ϐ۶E{o쳣fǍUfbP %"YcG ]yed鰋4sL!yыM1$!.{OcƢ59+u$'ge)_rЏs-̜Ͱ̪}mġFocQWS/v.x"űoY9mlO'fOnj1O'iŒU,?X _yeg5وds\e3(GӪw~:ޟNufcQǏ3}o;szմpZƷ3zivҖǷ6AYv kYil=4[rQ׌W8g;#c(U3`d%M4A(qtV4~:r">T|IVXuDD:PZEX.,?cƬϺi}(9(fSVon_bqƝȎ=vݑ}ӑ}sϒ$Q]~HTQ{[#ՙ}fͲ6DG]8W16 %SCRf*􋾺n]T-ؙfнF{({<~#/Z,-ٝDw~X]6^!JcW1I@(a&[#Y|]wU9@343>yL\,Or~u=w=dTϊQ;Xgl7Řc0 DY\ϗ}~RtG(z*r}zkfsg>x`dw3+>^KwǬMKWr03Kr6YrŶY?Ŏ<2/31KY NWgfw;'"۾=_nܘvcwhghNY-/CR#όr7"۽w̰4Cﴳo~l{^?3?b 4V’!`&[7mۢV_5 eg7|,|Tq=6.ϗ&Yɀn6kg{ X1Mc6ZJXpc69q9%zLgAVK7:2k+@N9uᅳ[[J2gai&x ڊQ;=f [wi/m,mQPYPu}7Z^'LzjTn4O3l8n2f@/|aj?VO=a֘Ef nkwt=8哓t}Myc&:!c? ,Pa_3xR˵k^^YA;n68mչ|L8u??m,p6YsO)sg=47vy%o>\ۯK%Gp~n/m塇ظqC`F 0ծG-|rיgPU}TVriKf|Z _m>X7V="@X]y<$ը]OF:o]z45$~zG󐎽W^V,<&Cۚq,r6uqE1Ng?JcsE3,>ᄁBkF5pM,Yg_Oxj~FL1Gd%9lv6)ock]{=Jr7oxmS:z%ŞE'ZlVg.57c] @fSfAi/̧*>v1 N3?eX ޴MM6Yl$ꥐ~1:y]D(aIJ3:i'@{/9:G_}a,p5|yyXǾvHFի5frϞ]Sa"dP à!aZ ڣmZ;|9 @f#{Y\X1|e}zD=.U\YQ>\ǚIXFɒfal~9::gj^7L=Ysuoa`F +Y#y=یif^Ae'lC4PBלQ濼 TK.;&Ku6)i=%,YYUi{qdgp{΢g/4l3mNdu~9:]׌n&3n?`A(3m/&&gO}\3H:Ey}Y窏-{/t?nr^|o?s;4VwPBV]wV%f:acWQəF^}s62(ӕҡ s9c;4Ih guf61\fҌQ$C}rv#nCO)gJ1mDyYm~dt|yy ltvP"ByaYΎ=ȟkWcS/ھvK1m jk˞xfg؃PV|VO+K1ݎQ#WF(O^oX]fRhm =x5m?f*Ҟh.>%fg-3~_ӊ TvīٷtYmmJTv綽ⶉ3O:W'COch '#ul.ϝ?6;CTV}ˣv!C:.6/(k+/n(nn|ec[/%,H6/_Qk kN^=gcVDb>K1YFDe֨:>>iӘO'ed$&#_=6Sl/БǛ g:}غ*2XǼmc?|j93yc]^JXˉ=ku,?g+fCC6bt8~෣櫍)imb.8_[vuLQ(1.Y$B 4}Pn:e/AkXY{/yG"5GĞIL S>r &.87W^bJᑶu/xis>B 8~OsL;u=DOnsti O67Eg<ڟZ{bbXZmߙ{ʫe$ǮD1twc{d1K?8kζ9cu1m+,vNaǒ hud$׮G?7lA?MuFcEx.?}M,{~g13o|MT~{ }$'E UQ]|T/<7&^C5fB"X_3X~e˖%yHTimsP}wP2Iۆ'mUsC1c6/:5&.zqt Wv1z'TW/_}[_w6﹧LcPvv BZ~ nlζW4,3tx1*n3~zډy$ϋW˪|Vxȶ>iyM! isebrTI~>[m c !B {ٺ}6:cȖ-1t1~ٳYjݟ} _vU ]kQ1>&'wʺO^T=;_3Ap>i[jǺ @(GN,{ׯ/B97h?3~gm;ty7;~4*]VoQi#1q9Q=sCT_XE;p.bLc.bP洽NO8!&Vg{N{w~NG s//C= ~O&+;wcƸ`)px62ٝ$nA9 ˹na{Uo\X6ǶH'B `&I'GZ)au~c: ^=nr&hb,Әm3KA4'QQ)濾dcj&2I}=|Fn>Lc% #JR?rÆX&*;vȭsZ{ 3ln͡ن=]4iLcloWh;EuVK_Z\~;/|֜(XVK8ktʻ챧yL ۋ+堫a1+K6=س~},7LKuF{M;t徭1|1t=Qpd?xGއЗJFvܚtL}rL\tnT;8j?oнxeړfXVr}5Ce,˗5j6CBZLLLWs3{^;Y۵o.F>kE+֬ ge첶zE% w ߠ!~o~3j˗5"L\k*XhL$O˞|k,f+~8ȬlY|ˋtS =䔽>kSˏ|;q腿ey$bP-]KtYҌ1k׽'FSk+*IcpxDESCR g#y(7}{\SU4viW:(Yq 5鱻=7px$ {㍳Jco*Oz=$%E46iXuK=P"gi8x6-E>[bIX*Tfs{÷v1&iluc%JXBֳ4=y# ۜIp~Qv&8_N=A4&ilZǫխRbgt8[O񔭫3N:)v+UVv /raC^C?nuϮNHP~=|+gd|L3NFa}V) ۗ-6wGc_1:*AO6ۅӇVtxUWЃ$w~wܴHv&W۱g)/tï8{Om{뢶v{9^_=#_rd;vϺ$[v,fG(Ylf;2{XYU/{YT:k槰\|7YL '8j+VtdjWIR(9Hc9y_Co%yubv$ls1,}{ m,n۵qc H"BXNБnl^O8{ߋgi#j#֯{ x}EqGd=4!V{kkNuBD(8ddXeK,KJJvEpBıǶhF&<D<`q;ɨudӉ$B)eXvf" cc,s#jmٚ5Qgzzudig>̖-+f4KL{+}t= vf QG=3NuVD(hvcl8>hp\}sv<1|g<լ"PC\mG9S; f:GKtm1}{ 3Ĵ#PYcjΘN<|)~zCre"DCCS_w {}HBie!@,ǠSGڅ|{y{`6gϿL˞3wU9&3>D$J8cYTe?l `Dq1`EPœ.{댲e?yf"A(aƱ`CzX2N HPB@4Ʊ{^' B 5홭뵪YemDQ A(6vw6kV9 B |nQC{}㠟) ߃n3k6{ $%`Agsҙy k<;qF` /"IENDB`deepin-voice-recorder-5.0.0/manual/zh_CN/png/rename.png000066400000000000000000001067171351056250300227210ustar00rootroot00000000000000PNG  IHDR8.StEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp ?IDATxEއk6Okp׏wpBp98$? =$ij_Sս=fgSOtO˶ԯRՙL&cZHWB!:AK~\9(BiijLx !(A K<"6LB*Aʴm&1W@ !( rHIJ2H&KEIKS!h"ʆD3E #gXz{BQj 2!,Sy&M$}L}<ȕ?Nnz\ !(5㏯_z饗 >p E~GaE"=q%><,[YYUZ!D){M7t &oή˷N&E(@_~Ջ/&:B!ʅ1c)3J)a>n;s!ϾX">kf.mi*4+B!G߾}u]gnfs=4޽{1"2+@B[,,_z%?H:8]y!hE(-f?ۛ*n;1n"9rˍ4=>o}v!+F9b[z-sm!Cg=5-hnC7ŘedqB!m~Xn ok̪uw!D he{3f+i1ɟ~TTTX`ƭŊɸT~^ W(7n₍~1Wh.+s:B S(o]c^/3p5c]DWM!2b!|]-!R(gM%.duBŬJ BR:u B B!B!$B!R!P !J!BB)BH(B B!$B!R!P !J!BB)BH(B B!B!$B!R!J!BB)B*MmmA$L&ctb촵7nwӧt-ʚ3m4SWW'BN>?:=?lsKPBٚ'F!D wBںP]]$-J!#BJ$Bt4]P!BB)BH(BV\1f>n:ź"BBYؑ}2L$PL(vjyF1di=7ښivB/ezE mgՆ;+x&M8fL4o R4ֵaBBYBiytQQ4. RwX !x^ь7d?d7[Cb)eJY(mLĞ[&f13 kL,cd䡳qt111N;4&,RQț;( 1O{UEEf e&!&&L4 P,$BRH 'z{GV;!M >}]k׮[ne//AB4cӄ%%uQ,UZRb)(7&%2Dԭ'ZQucWBeL3ify2-lMX !:HbbI3< ˆcZ˒m儆'MS3\v%qfS6CԩSm X$}Xm-Ce ZI }8Ś?E9m^f. YB"Z gk!~}i%\>@˹gNXR7ܗvm 2w饗6lH_{xs9Zr<4hT?5xWS-cV2#G4Oc`_ygVvij<$Vq3&} ?r(e ,HXz˻J!B8#m\ k,BfʻMZ!ˆ jgϞQE}ǚaÆٖíyG?Z,6l3[X+;٘+ Cmcu:4<yH(zom75"IW]CH_&B9tPsZa,֭ ( D7|ݷtׯYTł;mlU1;Y~DuZ&mF9&~?)kPl<.9N>d. ;:u0w 8Ei!^3zݨkZþbYma[x=!$sYgqEI5}## OI)dqaQ<"˓I7Z@sO}5YK :я{an&օ젢GX,t!![m.όyܾ}b'qn+`#-u6[4z|.F$OvӚuY-gx6o֢EWf%&'tE1KߧnEۂgi| sN2݈Ň2MGV# `}SfmȤŪLA ZdKL.tAW%~:dMµVR"Il%"o7xiD0 ⎻~kxԹ wɾ$}w$%)@f.Xx XFlk..e@-< IGXXTvb16j3B|#xFh gP,4ZIba_)R.Sd?lrOU]]l -06TPARөa $#,2ւD\Gq- CIt$|orY.y衇ܻ<` \~ R¥ )U\-mV4VŌxg3߶i0ψA4DB%]}ޗRL?tJUp6444ShlЖEb{s9_isp {w4}OčЉ~3m髧S:!٩tG[˛z%Ir>!·[q"Y謳β;lO,*"M1b &׵AIX+QаDcL=+:!W2]kA}Y5IK`p->tM{{%C iWqMiA2=uKenV6nN5XFkibMrcc/Z"?_$+1՟,_| K֥O=!J \rt8ba$Rhɐwz!d,!ʥk;9iXMjbuA8؋o,htCAR%YnN!Eb1"m8Y֬3(R)B,b k4bȫڒCHܬ㊟I_nt!\i$BK=K@|C W&V]r ˙@v.P 35&ӏRϠhH/B([B( \e` ^M~.w,B&{ߢLO 4mKr) $ XI1KE!$馝~+{ s aK~epJQ%I!Al*:3Oٺ^~'jN-}.MR$gIY#YܓΪt̄g׿'"ܶ޷үgQRI:)pu=ڙ뱲NqΪA?KL4L|l:AݧɺMBY&eguҨ|V I_vF"BBtS*#bQv6$B"k2ͺYtv(TH@K"ѣ)Ϊ *FI BtFaU"׳ʘ92vګk-cnLS`ojp6jy|40GWc[ʌ]oMqR̂/PBIW *eWe3.@(o`1Ӕt )]VsUf>srf+VzYo s:+pS]P&Z}OךSiؠʜzs.fE#>m5iS'#ޣݟ=E0%(AaEXqKŝ6wu_[W6t1'|?90"LtJ󿭺a՛G%鉫V]bZO~ߤȘ{2w~Q/ѨjK%9,ˎrhy jo͓[r1/\~] w &\i?zw(Gb3<G}z3lMrmZ/)oόٴ٠oYkhk_aEgj̗BB) j+U}wR,Xsfԛ$,W!$BYv1GT 1-١kl$cO~|$=o4/0t6=lX"fJ!D qg$-MkQKcx;Xn-0GPi&yzkJQ`5XP !:,͠U;6p֛̍fzuzM7!Muz-BH(g16x"J,\V_>>!,y$0Fw_g!>O.ܹyXvNNϘ)6(vg O#-~0{όb*>-0-_L *-JW 0&F& cq"x:4N:>K,BBYBi_T_br4!3&eRH*3K!PXH9c2$e_)!u6#Br܅)d -.)jf&E;q"z-BȢ,IE͘\Z~N&s"b)R o֣BnBM/,{2i"gZl2@b)bYe)ڢkcLg.wnKt<I(%1c.65*S_o$È^̈`+BB[뵙''cM̔\k[XVVVʝ$:Tk=K]]Ů\{#嶺MWW.o.]H,Ŭj'>U鵤2Ug=_3sXʢ,32i!Xt5(MwfOѭTTTH(EX YXɊ(*y={}Yq>Fɦd 匨Uig餛n)U֮f4Xh'N4'p;vlkN9唢sg'|了|O?hV\qE믿4\~E}*s7`_rD˱nfܸqIeQEa[EAUk)jLO/Q$b_K믛zȜ}9-y?;afYdfqs74}1_͋/zN,o&u}=/8&7Yxc?aKfэaW\6lKOozYk^N˟ƊPx&dM4Mk X?LWڣ!ym< o?-tcƌ1naއ_tL+/&Oߢ2m4_~e%0=zwVcĈf3.W]uռڵ^k}Or! peyl9C;c\pA;ﶿO?dsx $7c=پV)M%h3eʔḥ X7_  nXMzviTKu-}_r%Y<'inya̤IleGi饗n<*q~38#&Xw] +֣nVԶ~i[Ǖs-6VFjOÇGI'd+Bf\bD D(?*uD#Gꫨl6E%[oYpQ=wE.Ȋ%ƶ\sM..gZg}sNo2;]g}pE2Oǝ9p@ӷo_{^{m7]we]4XMrWF w<i\s5 N><}o4Y-VʌI(#!jX`ֆolF 1ZiPO0!o ;M(`VW1*<0KBȱ 9cĊagj)!C"ѥAJ ʕ6ۥR>##,wyEO=TŁ;e>7tyG:,D,~9*UW]e!K) eqUVY%GH]KĊr{n{ݸo뻆V ˽~XZBDo/D SpRQi6k(r"ڵ 9ܵT,-֡lLB8oTT/]:X6>`$vQ'߈@$/[aMe>.kSK Qw8:>܋\_w҈H"4N$\wqmhSisrUK^a;~{}A=$8='|b9'%--ۜهgkƿr-gmW7xo4M!;lvJ yV-tQkܤՀ{-) ;yT8 VeʨX*TXN̜H:kYXfl&6ƅ%}׬8 жHVv(1u1AZs* 4<`5^Pu8͇Wh4Qinv 6K/ &.Ϋ8\_us\X4f*ip*v,!Gp_.˘d + $a?4LǏ+LOKuu: a3 $`>1#z^c[N>N'gAz)Չ|o׶RJ%FIFEGECHEY k![ŐL_Zd%rXk*dL2d4r#Tl3mK- 4p=ΥO8^" t) [ ^4$Eeb"DIht X䬃LTZu"-Fgrv7QLkˇ"&xPhQK Ok!x =\dW>' B|X6ֵKBir,\#<1'[?q QGi=PҨa-囄so;$,!l̕|&[4Ơs6r{4C8]Ba{ l]wb64?åCܹ!2̃˃GZs=T|)1Vqrtu\QO=h=Z-Brzu8K5_S ZsL9ksG=sAF݁\XHqs7s%:h ^. +EĂQIXq]'Ԉ*^%}O#Z !-7]h q! 2&3v,zaփV.ȑ# YdફP,vvl,c_`5s?L6~XM`G>–VDA~=^G~>б}-`wO=\f:l0{ >- lvu]zܜCGʷnG R{Vac5lB*}q}eQ] 6*,|.W(Ah9kuvӿn\+4.ufgV ژeКƑxU3 21 A z%a[x 3Os=Vfb*–H=&PƄ,*M&4ĶX1H T`odv_dߛq" n O_ "4# .TFkb0b '/cV`ԴAy ٹ5;hyR &$|A:e!}08C2o1apv 2Jgx=qcF'ƶv$_UX\y'$I1b͈M7Z?/7XlAy/Nfp^^A,CYТW{e!Y..JeLy;ʫj_fS!M/!  o`i!CFmXcHD^X ]$GWB9/ܢt-W/f3L+W7eUoW4s0 `ʫpWFWҭ=ײa2"dPl}U_ol9d`ж歷޲S>~YyIDر{DyL-J2`pZȸIFq1QGP(ٯ׽5ݤXXlkڴi$O+.Y=p߰ Ęy!8S׿efnxÀ\bOX쳏})"󉛙=ӛM%ʒ1Eg!xfwkFe~{k^5aW%m/l8zf6R d^̍5[5˭1_ʝ\C3/2}c]{^K˥$P6{$R\,R(o ٭M/Z !#TWW[hXb"6w\la,O\XlboZFa? ,P7u0j\q-{Lb2*t ( Pb?}g瞳1:bb-f-@♬;B4tH%ܴNH/@N2,B6Nږp7o{7*.W c¤pX;ǭ,J!D'a#^XC);u]V4Iy%Iֺ\eUH쏗xc)2DJ֥.!@BM8*$VX<'Ίňn~~6UT$ȲP !:QKSFŵ뮻c0`uU;x=ʱ*H"",h]%n_\{=vDn"$+6()O?s\ɝq&P !R8Cl&( '"+. /[Auv@f)AP7;|ƺXgdec뭷6첋]I-·8v+Zkd2o"|prN8(dH( }{ZV'tMs=׺kHly ;(ݳ:W+e:p{ba08ٿ"|d%n&$K^s# 9- P !bs=uoBg| BI&#GܴXdR=3r\]w]DZn}W/o-TgA)]>qw%b,dZ ڿ[|I=+ʼn9Naqwb.^ʖnaN3!/($lRnt?(]UӐDgg 6ʿO<5VƑfKWB ,@%*KJ! $PO!P !L-fZwk.׫,!DG',J!fY ER~#}A't#E)FV YbVZ܃܋rݻQA~]Sq/9f"'u$^huD05C\ %0BSS=H7acvi(n i&0{ 1s'݈'橨 κ蓐`_}`idgڢ}t5U!V #L18 < dm%b*-';/zo%bf2É" 4M,eQP2AoR'M䌄IҪʌRJZN,]ŔtJ Ekl_Y]A:gL+):͕Xq&Oy \bY.HH,*Fq̶ƣotLgdOb#3TY9sI?NTȚ-K^*vײ7B5cr7.'db<'Rb)f "Lsʂ²Lg)G[x}d N4)yL΄ 69{͑~c2Q֘z?Һ4*C Ӭr|}&!\w؂j-Kb6Nb)fȲL⧉+іYDX*XɅAРYKVb)D[ZN$3uT4&ͫLe7u+f)fŠ#fU):M2OX>bMq̢۟6ݵ4{tDŽ(@favf*7 /L 5aGCinscu ҊJ}'-dw{Cy 5t R,i2z P^Y&_b 5 Y2M&4ӕ&kkk;l> 0o[B?f]OBBYdpjs~ot6)okĭ)SS /~;֌9 4 0㎳_|qjb~;3_Q!'+"6B?|<36NPN|1ʸ:r /٬$űf/ݻ-O<ۣ6{{m{=+LEt}as1Gllɕ[̊Ornva+=Kvafĉߏ1 ~~gtjilV7\s6vmO7,2km[n1ml{F6l 'pYpqs 4>]tQ{.O48G3YveE]dϛC9Dqwѩ(?`@~A|D >]M_hX~v C*XV?#OK?a„vnR(qV[meZj)[;p."fС{TT v׷;slB[oi Cŏ>fȐ!~gј>L`}]+:lж[om8+&w^N;z)d,bM7dy.mf _߾}zgOגk@CF_mZk-+Fm^u3nܸɓ믿Kwf=0g}y'J M74jloz~v .ׁ^ʞIKEX=,=2WX K a?>?&gLaӛR%ݭci>li駟O>$WW]uU\P 1u<ѣGoE9+נ61/An݂ߟ{ hyX9`[nhe]߿y E,X~s7|P=3Whۡn($\s=9y 'W_m  7;cZyJ+ <8Z6￷۩c} 6pâZQGw/x:j_W6Qܝw}g>S7䚟$l#G h .genެjaUV3T(NkU7fvԿhڬU邔|ci;d+N>N{nke ZV,`i7sI&_EyG[(0fڴiai Ž}z!kqʑe[Xidq!bѢul&6駟|b^{5FtBݧO_P|ŊhKN p}/2,A^ %yc37sm⮻2Z>x:V6JEA~u}O%xrτI6a4X7exߐ@!܃wO\[ /lޫ$=F?h1!l馺rq7Jm;Wq1om7$b Kq:ag* 8WtϞ=7|H*fݻw{vi,q^y -[7ߌ(=h\vf"6{ef+j4vے?OH$5;1aĂt&iZrkc;BH{|&ە8ѣm3-$ =cN>dҥ . CJM˹Xq4-NYŀE-WO=TkAUsՊ(蒫}W_mcD$Pِ`851Gv>Or O,>6ۢ:R?+Gn;ӣG+C=?_t:YIWkr' aĩHM};}pRaBAlq%be2!sp?R07[p+\efiI4+%*p2S,#q箽ڱVr1& V!]p:]'2շ\7o[Ǹ}sO;4q1%EK \\ShAbAyf5ְ( i˹DoeΧo 4I +:v9Y cLphyvזn}饗)b>`[uQߤ4Yg:PDn;[,o& ]%']wkRW#d^:K%!ٺŪmk2}[=}*yn{ -v\XX￿LwA`׻曋v !lrkXQh,[ȅ+:>-pmXpr5٣>j]ݳR9P5Kt—bL&4sEITlܧDjnЅ,.>ZX\XP$0@|5Y&k#ca?Eō`kn@k{6aÆsDOҟ/ *9)SyÇo_&rBa [n lǓ+B6&e/B~dm›{9s9mЂq?[)DRL?ʲʉY*=46>I8̋-G۞m*2K. YT'|Ahcǎ ZhC[e7vb; ?d9: K GqkmKf%׫Jx{Ydz╪l!EOh]H ܥg5U۳ord>3N{6~/fh)6cP&hgDdž"#D9 Fjft7&Sdf— Ab\Bkd(dh"k?pN ֤%ݓƗK=$+DTȝ&r?ML–&H0KeQ !ɜes_iQOuuuB!$CYIɿ^RB;Jf !PUYvzMV&φ3*}Bsf+&M&6VL-H1BeId"' ՚0)ScXBȢUb-f#"hmI.Be dwk!L}1%B!"{'Ng_T C.6)B eJ gU|n[;)J!PvHS2`J(BB!-J*B:B!R!P !J!BB)BH(B B!B!$B!R!J!BB)BH(B B!B!$B!DIQ/n ϭ /vE!$7SgLMmC$PL(vjyF1di̘.tEb)Ҵ(kjjB2ΠHdƦƉdd8E$kT/B ei e]]] 0)BZUX !$D2A&)J7K!(S:$#K1ډA[\8S$26/LvE,EB eg"+ JBH(K]%[ 7M394SIJ16*B eix$E.4uɰܮT̄VX !DPY`3iƤ)+ = (TBȢ,Sh>إ1 ,BeXI }8Ś?E9m^'Vg***dU !,ʎ+/M!uD?͔)SԩSͅ^hSƎkFi d `\sMsqY/8ҵkWsw믿~!*_?sWS&MyxDi?_'BH(J'Me\zbz_9ċQfx|4:_6{'0~{}f2{{gʮ{A/"o9#m,BQYlŬ({n!fvb#K/af&N#Ϝq1KFVXazs5Wj#`v+jO?|M^2,cofq~hQr6@ fCF '`\pA{E]ԞO2O>dT&LȹmW&.lVf",bjh\Vj_ϬVe1IEC\Yj%gY)\,3Mv79}t;{ +XkYܤ%ϴ(? L6ͺ<, Zw<䡇+YXqK"U&lbc~iW(.^nD,P0Y}i Z-᭷޲侱pK.- ֒1YXIm\˄k(FYXl+^ܟxKD6Lؘ4acBɺC}\yI^}՘$yw1֧4\bSA D%϶mQ9[tHX >S{i曜FR1޽GѣMh!7غ.%UhXW^iݱyx7cb,JW4ĤG"_|Af-;b;LO\̶IUH:E q-W]]]?l⊻vwǔi,M,\2s]rMm;p'}Oł<#ka-QDADioeΧ/fݗ^zz5hlH'I(;H2g1: 3+Q2M8uh>d^[QGeoLM:!Hcuֱ3 lMMMc->`2qkU"|qrYyuY*u>Iù$,uU1;q;\<-WYe<}߽g k;u,Q~;N Z7`495(4|u.\Q,rSc=F!|f>u !3<Os 5^c2y뵝-JZt}K ]"Z+ ňE N^_>j6Hxp q/*nk1#xΊ|wQm໤&Ғ}`a'w"1]=; (\$Sm.HJ_AKyBtn5_CL= *a擫@iߔ#.Ƿ&tEAo 53v{Zao?|k9/ FpyY"; TI bp5פ.+tB],&&R# KAGH*Šv+a, Z4Q鯾>KsE6ߥ^j)^\pWz\MԹ D'Ҥk ˝' >?VXx di TJ~9|qms6="2~㖓s9 NI X%҆K+4кVG9abM%0[&N~Eb:mُ~Jݱk.)GmAC뮻Z3zȑ#>xba?2a -Z>FdзoO!ׯ_u:5\3}S'׶6̞#}ҷba(T9t7|fo"/` –y,lO^ Aؘ 9=y`РA};6t9}&C 2Z oJ1(^('f & ?3/m{b⳷ͶpK.~ -O ?hyhcǎ ZhCGG΂5'{Te )r}B^@r.=[ڞ}#v:L~{1CM2A;ĸȼe?':6$#D9 Fjft7&Sdf— Ab\Bkd(dh"k?pN ֤%ݓƗK=$+DTȝ&r?ML–&H0KeQ !ɜes_iQOuuuB!$CYIɿ^RB;Jf !PUYvzMV&φ3*}Bsf+&M&6VL-H1BeId"' ՚0)ScXBȢUb-f#"hmI.Be dwk!L}1%B!"{'Ng_T CH)B eJ gU|n[;)J!PvHS2`J(BB!-J*B:B!R!P !J!BB)BH(B B!B!$B!R!J!BB)BH(B B!B!$B!DIQ/n ϭ /vE!$7SgLMmC$PL(vjyF1di̘.tEb)Ҵ(kjjB2ΠHdƦƉdd8E$kT/B ei e]]] 0)BZUX !$D2A&)J7K!(S:$#K1ډA[\8S$26/LvE,EB eg"+ JBH(K]%[ 7M394SIJ16*B eix$E.4uɰܮT̄VX !DPY`3iƤ)+ = (TBȢ,Sh>إ1 ,BeXI }8Ś?E9m^'Vg***dU !,ʎ+/M!uD?͔)SԩSͅ^hSƎkFi d `\sMsqY/8ҵkWsw믿~!*_?sWS&MyxDi?_'BH(J'Me\zbz_9ċQfx|4:_6{'0~{}f2{{gʮ{A/"o9#m,BQYlŬ({n!fvb#K/af&N#Ϝq1KFVXazs5Wj#`v+jO?|M^2,cofq~hQr6@ fCF '`\pA{E]ԞOA}\>TUR QYYEC V$}f}޹g]f2fyΝ;:蠃\{K,?oذ c6(Յ+{M6-lS~=_mvm|1{mƌa}yC?;NoX;Lfvsȑ#Îv2ydPSFi?c07^nݺun݆Nn}e>krE?+[~yz۷Am,Zy͚5gu֮]Os_č5ʽqa_|E^{9_u~aC-\sq~g%w!z_}:zPv|;5[w%,;כּnO~r-g#|8̚5?>cc~ȵ+Wv}agҲSzEx̙3F˖믿%O뮻έX"lCt[ۆz'xD?6oo`Ce4Ҍ'u]3oR%(?To>`l֭{.O0սާuf?qWUծ4uɪ QY57s=קxf˞2eJ*{n-嗿e8]E]SN>J\JN﫺1g~#ҲCSQnp٢*[vcm ԽO'~Τ9Sߞs:DQ3RnN FWisCyW]G6v"nMiʓO>* /6mT =}hOPE1}CსO^{ԇ-^ir_~y9=~W:nU?Z]'?/T`PժP袋j֭ 1\[-bvZOaı,oi;IA#eFQG Coջ_Ay7|mmϛۂbz ngZO0튵eLڐ_nfo/.m0ՅUW,iiOP7F2ܢ=FSAD: Q;*GdIC>ݗTuG;SNnezP|3}=-\0k\jوOI׭k ~5kVhS6UiՀtpMew1z U*@vmB^xPӑyڰGL7M}#.aW7*{TRVz2/8kW^/7cW_*CmL?ʕ+yiQ3MvvvV>;L?яj*F;S%QSJ#:oT:?(857vIjg4ZWˌe/u}9=B>kKwڤjpԨQk]F^r%Nǩv6\zuiOBekcCUSAhq# 8TS~<{。 sv*7: 4T;QŹ+Ju+V.uwLYťBMUYZ UP 2C){o]B|K[Rj#hҩ:w 5[>頦o ׾H;餓Bu]40޹~uc(#,[hGoֱFN׭nF;bU{V/U5x:{z)<.{뮻 +KO,J!`<˸$;K##*L!},RUsG:±']@A?|mh$yt,Fc4JFOUŤsWЋ*Xy tm5HUtZ{XjcjO<:4Z/+Ѳ馛{s uuZT] D[U_<&oݪTGu΃`,|UWJV;. *XUߟL޷Fne}Vߵ>mݬkr>rCGg˓;ag<=~.gj;C=a>N?'lzV.ZNh6tOc\y< mTv%tR΍\J 8KZ@V.zAkJui0фjrx)2=Iݮle/q8f+_C8i&f P^A NkRRQA9ɺeۛMo]ur`tjNusVe (EUBv iJ>cI46kԸ(EHftźj͔$ݱ$PQ팬$`b2wG|}͎e@E97٠Yp= J (lH{;:^ _8TE;" K (dPBΪi;EnMNDM%C:]StWd$(e<? %%%%%%%%% ( ( ( ( ( ( ( ( ( (A A A A A A A A A JJJJJJJJJJ@P@P@P@P@P@P@P@P@P%%%%C@ok9vI&%c|_C1?J` Ilb%W[gf۷[v2w_3w&O6W(TQt&@P> t- n31Ǝ5;@3?Aef6Yc,QXɟMbNAJ`%0R_[OifG|xKz/WYm?3?)@ L`$I'JS1+vY/OV} I?%KSNf-9$CE{eKz7TND9 Bp~Lhr%0!y탱pvPSfZc06K,\M÷|y!8(0 KT~V゙.׳27eJ ,yA6+{nf矷a !Y<^j?fv (ȚpiP6znc jFsWߵֶzڪ6*fa͚/Ki!M4T)ϸ 䝾˷9p+-d\>|&1G< ҥZZlW~|k/\ (dqz: <sێ/H.Wz|N}SQ%0Uein^XQpIyyڜqQ&뜗dZ%08!Y "]Wgmxч_)xy ەv\.U%0a9P*7l/A ?d6o@YεҢ;x֥Q9>'~k;~~{6 (A #…4SY9XJBwhu@f綞;v6۬Σf6unq^Yo6pqpsÔD40Sf믹؁osh; ieVgLXj7i9sOjCST>_>cnv 5͡f J`pBRĉ=[y V׻ts;,M3NJZ`nY5AzS[A +,CPV.j7|JwMҗ>a>0<_l-f=6WŢuOjg>u?l/le@|O:Jк%p4cFiZM^Ypj]a~jR/$ KvYhAMTǟy8>4yW} –>˖uiZڐvA ߟuQ}M-Vcy֮ĉ] V+ї_'"_:SqII gG]}~9-Wh&LCP2iFU~`T۬뵻2aY le]KQ ,FS!S}0TeZ wyhIDATxE@0b<=f1 `NP΀Ex `D!,9`B1 wgw_OTouOOϬO}:MWSPݱX,&u;B!Yˇ(R( !4,@ cOB!9(*Y*d]`Ed4!KB!**d& e*qLU(BrE0UIX`)H14 !lɠPVHF溴֥IbB5 t)eND`B]68{:;ָqքBrK,ygܸqL8SX"i (c)Hd_;;vmWTTԈBH. +))r;{W2jXPZӍI[n徼ĄB翺[gѥ*aUک  ܭBN:'M08PB$]kcBF5 ]ȤI^JB!yNA@,}dEPBi B(P( !4dLɠ`B!LXR2()BP(S=Bi(BQWB! G_r JDޟg첣'BtBY?5-f),w~#BR 2_3E*4^P3EyS~UBr΢IcQ&56!;5ydi۶{Ii߾s1y(X҈IBFqaYge]HΘ1Cz?ZLI!8tA.2eL6-I$KJJ"2!@V Z,aYO?7BȟHTgg398*}GyD DoYοe̻B+FWBn}ÇK-B||k ! eNbk&U1O4!lV8̉Q35ͺibiMTKbyrŒBuB `;#xFcMęh(JjJQq>fB(+frϙz#5j*M )hҸbI!Kq1gK3M|:[bYܨ)ŒB򔼎Q1=RLhR2=yE pÊ4e̒ۆ!wE _dMbNM2sR(@$@mnVۮX@%Bt&gX&RŲbI)DYBP~//5lۨJ6.dVUҲ7D.3RD: (_`<X'kIJq,)\I+?*g5Ekd(&EJ jڰ*bsyL,wrhr"Y0{LbabfpXXBR$@WdڷMdniƤUӘ4.),7&5ajm=E- _IVq9vri\P+&|]NyPYlԨP f3fBV$ϛɗeҺYk&kڹjꚩ1nRj#>kfrO^I Mj'YkYS_RL@q)((UI>iڶ,"6 FT dJ[j%mW&*Ų{ +$7u]_~ԝ>SP?>H:כ,X x,]!9`M.^U h$͛k0Sa Zu ˲Eq|*_(BQ>\֨RYf]Vn˓O>)#F^zI>}K/5nViٲedi۶L6w_U,Y_+;|QVZyw>$7>akrM0&u3E'δڟc D8F>Y_Jۇ;1ʄPw(Aqo-:u2W^ 8p|rqٳgbi&|IdLc9Fn;t݈M7[rmraeTo!׿wQk\dbia! . hBHkVDQ'1p|*ēy$t"˕?+P Dk/y6 3nĭJnv;w*hժV[h[믛)a nݺرc}Bm&{io?s;ˍ|]wϢpѣe76B袋oFkcyG}sꩧb~G˙gi> ۵k czʷ^x/(ƍ'l&뮻kwAG1k[o^rs={_4w}W6|sgѡZ|o]Tݸ7x#eM~UZhڼPJoVd"/,y󧐏yԍcX4ʋ5ı4I˕f/aƤP9vjY#8{!?x~`#(?EрC8ɓsr'F -"a NҼys'w}/>:Im;ڄP?^N?t#L,Æ 3V23K/{Ž` y?ntFoI[*m$1ıjbHZ?|w"VfN/8VkcX6W !zxµjŝ AJ+6VbݺufX"De=Lcm(FC LUlbzYGi-[K]II ϛybfEZ{rƌ{{1yt T3]ݮfF\2 aX': ҁ}ywlՎյ:}|6l:/pY$ʟJ([*dd2[ "ie)?B_Bc.X+5^NRQU;PQ^_.4vP&Mdƒ{7X'|"շo_1?i ˜9s䬳ΒM}fX$QT 3{Y3l`K6(o]uCLpW_m_,92\7n%W6|8W$@쮿z㲆`fb#F}=R|ͦ~l`G"鉥ZIO* {{R֚ U+8^sj;]a=d]=^}κ8kC]c0 hDc W), \?C"(D$ cYV+3PիWf‡~hDbweZ7OaQ"u4յ\qlt61ظÇ7 9gq\xr衇sM!C7)3!̘G|K.& u,`v*tBwRQ{uȨE>^p݆dWM2E2L<%,Fp\ST@O`x}XfHߌСCMBJ0ѥw2k,ׯIA%U\ǂk4 XRV\ DSL1Ƕ ׯZh3\ԉd#W2?O8L&2=62P]l84`=b-mx 2'" C,]v |`v8(:FQnq ՞'5b5e"d]vm\~X)7" W?Neu+_{2/!pFB&I;f\efŋw`lF$¤`QW}=x[{l=hhF@Ǡz<. $s 6'lƂHنq8ml0?#!a?T`Dfe䡧~ڔ{&b 0/ ,%-HJPن^0eTݰpa!O-mAAc"uD sG}k8ߣMA ƭZ' FbŃ ?:2p^l:FA$wuc-˂MQHH:½YmWhUjmP8V>t4̎F(d:­78$C2s=8BF2; ٞ܆4 <#OI@ܑ6$7@'tH{*~w(ߗyyF=@"40{#qrmTh-C'0nrFϛaTBAA}xÞk6`>o\pԃ:M kXF>bUXO ?@!p" `BS'UV,5ϗZH|“pOܲ&lUcQiS)(y<KAoYt?_%ejA׍c eZ7گžk,J,11z(s"׍IEIInXv C6\W)W~^VTI5b."ɂt?cWEr]ߤe"!WZViQf" }I 1LJPJ e@k2 $I;lި@Fl\1wcYZZ4+XQ sJeLUkX-DX5dPR;z-VkXzA bfuP$GLAlpfJKXG >en$u]3}WzE)G )$dGƵ*`n\ȎȪںTV_/M#v]n5z:P|&16mj_I>T]D~*/D2hB.f2,2bwnҋ !$]ٶZl\.{[4-辵.%};҉k M!Y(V V0.IW(A7lB]B, IR(ubClΧC-3(oRF~>MNCJOVt m {KͰvBK7Cu C08N8Sͧ^cS( !YlHS߀GYvmw$x%B(Y)xP8@yl<oPB2+Ug/L%JBPfEN !?B/!B$Br_(&%mUB7lB6]*P B!$t!,J}$B`Qe녉i:HB!T5Xq-لB_ B!JB!BI!P( ! %!B$B(BBW>}[!P(s<oͺTī=фY2'ZFl7j5b}jhšQ, !BeEEbF%0bS1q}S"T5SdsUKBPPVVVbq5'gA2"`R(F$ enDR9BgI ʨSA,+bI!yJ^gg)K~ HߺXB3c! 7,Ē# eNfFY|vXF%ŒB(uBLLΤfXVF)B S$(reI&RfCŲ(JXBHP`4&&f6U'f$EEEL!Zy*SwTVE["1, !eXA 1mܘ>ɢ\>ǩ/iHƕRPP@BhQfHB\MQԝWUU+>wHpX%!Т2H:c)W HC#tyCռ!emEB(+"aeJJAꉰHkDx<.Gu|).>@>:כϟ/}~&B2W?Zt,W>'HuWX!W5kM7dQ.]*ӧO!CH׮]wrE7|UaaQF#/ŋܹsnGYreয়~O>P(J'%*FåN2!pC3iwΛo)%%%CyÆ Oc9sL0|ї\rl&q|lZ^z5Okvoow`9蠃y^oI裏:DFڵNƌcuYE(cNjq䝸uZ4O{mXviߚk769zK---MY.\FK.1fOyg裏6|w}gGd=0z7x҂nPHѣ… My7ѝq5}tu~'_u;]w4.u< m5G=ihY p&Vi!h0ϛvELn޼y&FpBYh)HfiӦe]fÀCfT@a?4HR r6l23u-N;L`,SN9[iW\qȐl:չcBU I&믿.zitSOǨ2TѡB V: ꫯ6u*뮻L|`O;20X 1m'N|$׽mu֣A\iӦ)=89~3qOÕ4h׫>tmBְx'hHM}뭷]~}=BSÅDXYp~p?Bat]oHn+%J"Bfi${ .Dӂ-~# 6n6s>l}&=AG ;ᾅ˖B"RȬh-̄0z10x>\ y 8d>^~rg .0 MZ!cv33m .AԁIzgX\5X@W,Ȭu5N,%?Sk-]W2?eLߺ bwݫ9A ,QX 0 !A GF +:Dhܸ%Wԭ[.ݺu3[|rH!dQí\`A' `cL2ok( ' _ 1z]%z)\"j":ŅzƌʂKTqz !v^h!HVC,S0Î̴n46ɂMr˱]`<6omBY #wZ/? Mz MFkTGh7FX^(ULj=zLq_E4 Gm5x 0 /ד4d+QSA;u; ~9s CѣGc0hN;dbOx?40ɓ'n* d"]XL[+7,n!IE劆b/w1V`^c抎߸q5EI.pWk:! AıaI:adž5Ozx$@X{1bdmf0CXb!t3CÇk zXg}9W\tl qJt3Hrtm^{ <&ڟsM8Ҳ:SVVb:}kgZqg <،1cƘqr3۴utC|u13k׮f#8_#4cPŋ}6waO܎1ښRk׮Bpǘ:u?Zjȑ|-Z ?h1{;IU7Gl}bl!ƓwuWyZV^mM81OwTnݔƧa'^Ci1KŽ_D}Ѿql:TZf͚[}ᇾ1~cN[jeLj ۆI ol%!J&(^(IQ<[}ήN=uβWwY`ީ8АAƎk e5A\dy0)S̀ymΝ;{/w ǃ,XvKPzt%'6y!H;Ib堫tI8ć=l Xx>yǍKf"%"P8Gz[e}bp $ тj=!`D^DiK[m]saQ:km[{~Z|͖XX5f9GVU62Aq!CxnT{CH> daPuxc*f% ' _ЂLd>Vh(,@k2 4PRZ|=)&^|Q:w/7B(V0(lA*TJcҢ$ eٓ)-d_~ɾͫLJ}=BA9֥SsbO;P0˖B2' +kbǜXH!CxVbL̙M$YUBhQHrp|XրIvR' !evkdB3,J7+6lGE>uQ. !e e;n2ݚN8>v %!P(V$eKޑgG}xG$ŒB(Y)xP8_[F;Q(BJ`ᙢK S &B(YiQSB!PK@!P( ! %!B$B(BBPB!JB!BI!P( !B$B(BBPB!JB!BI!yf7&x!-B(9IUUYx'6+ZD˨f]ʹF O4cRT(RXXH$ enZZ$FxˆILYMŊrtRL!JUQ, !BBYYYg0MIŒB(-I5&U,(N%!)yjbvJ,3D"}b ͌h'ܰKD#qB^qS,>b,#bI!\W:ra&gRL3D,+kbKBP)2Ƥvjac]bYVP, !$O(0up3d“`3ˢ"&B-<قک;*BcB2wʠO^nLe_dQ]gԗ4DiJ)((UI!(W$!dH&(o{+tתD[N$y8 bBhQE|$ȈpTfIijeB26X! Y2Vx DZ5Yd<:J>@| }YMwϗ>}o_!By@P:gCV}K$ܺ+VիW˚5k䦛n2(K.ӧː!Ck׮һwo袋oҨQ#yG|_d^Auܹrm֣\2_}U|HnO?'| A(y [Rrp'FJW8Q4;7ߔS^|Ey衇aÆɉ'(_|tIa*..6q7DвeK19ܹWb #]wo==ܓܿk9#B!llFr9HYYSN5߱cGꪫ|.ZtGڴi 8c3W^8@Zn-ny睾~s~{1o9sRv@&L`>K.D6ds8t>6|ss-/Қ'V[m%cǎ/^xI:DFڵNƌc䬳bܝ4(?FsPӍ,W'UK eyrϟ{mNo4^oi套^  iiiʺmJpA$]t16LƏ/~z乣aGCߪU+s=Z3/6<`>NᇐhBW_}e O##:/]ݨ;9D۷o/Gy_6c/lsg>,C|A#V:t {챇#G:TL8Q{e]@s(S`;#˖- Zͽ_?xkd֬Y#~;h'p/~^g3zw}W}3o;\wq4RK]FtҥAt㥖/_V+ԙ™K\.շ|Eys?s*}]qW^iKW0 /M_[gW#V7V23gTZqVZ0UyyY> xoթSELu=q^iQV'p.]Zd|뎀0`^-$ZM6-qtDM4,뎀¦xzׯVٳ6lMwTqqZh9gyL-'|ӧOFuh+Y]pu7xr-}ߣPnA鎒"~wGV .4m6ZDw}. {/d+иֵOh_'1@C\kU[fƵY?*mn2V;]&׭[glvxn`em(47uI3J Z{ikן]KPw:3O?m,޳aŹ.4dBee}51/NKƍhݓւdem۶ߕcm G,9xlXﭷKPw.% {,裏^c{1Zq{ m?-'*z-|;;f1FR7o@A xz/fR[_6LKGu RXv0yo/,\CSO=6ZRb.7G]q%frn?!buaM7MZ[oD ȇ~h>?41醺RqFu[Wq&u7$2,F wgsn+y` LnҤIµٳ V[ \{'$@ m bX [{mKf2C=4Sz]ЄL$x&a\Bw| ZNGLF'-k<*2 yscٮc͛7ı.\(-2,^tmBְx'hHM}뭷z.p b W",L9~DËzCr \1Q%Um,M$WlO6ncpL;]wKΤn$,YX3jԨ:}O cc_y& wm~9E&,\dtuG/;S`B4-Hڲ7kv 1o3t@4Gإ2k1Z 3!^2L8>H~d^}wo!_~y晦1 qVm݌  lEEC}5婧Y&z  ?W,Ȭ뮻X*>뒬ˏٺu*cq;[8;[gwݫ9DuX `1ss8poʔ) R~+t\M%On݌-<rH{θqo <@G)9m BX$yZKa1w\٢Dp%pant3f0V,\ Nk ~Q ڐ@2h v^h!HV!xe z 溔Ս&5YI.u9 ,5Xc[t տ^{yFEunV-h4mdž5#Frx!xVEbXU@Spѣ3 Q<:ng*Xf.y\KjDM9BZ F8Ku+$-Ȍu̙  :TFm,#HN&@(@C ! 'O ?(tSWta1al"y=7,mB!H*m-Wau{zanǨ7\S{w5\ϸ֨Bj]DVHvlXc c,# ^|#F0,:.*Ja}K^3\/\a 1OX8o#p NuF6y60ۤtq_`Sk9k2QUd\ԁRY[=O}={7nf< .3ƌ7o٦{~Ws1vjA1߿ba]x= r;`jGFڎc cԩf_ȑ#}c;v옴AٻwouqDžO10aFOfj =o\Cիͺ'&ciaSݺuS1{٣G;޶YfjNFխ7t? biV̘ImAzp?iQ$$Wde eYB2)g+ٵ©ηY. ;u2رc!C̼?(K,12eҖ tRչsgo@`=`q㒳'ejqd (v#bO­>XOq1b8~hrI5¨(ܚȶEf%Ks$>=!`D^DA\[m]tsaQ:km[{~:L[bY`ՌLZUd mh ƅ[<ōIEx':9#0\ISTxqX/hA&2`U`TB+4Rdфdn!2i4t-;{R\M9!1Wi&t ^~oP(u`% aP؂Te,EI!'SZɾR9}W͙Qwz~%! 埃rK%Ģ Jw`-! eNXhWd"*9+B3 {HسZ*&!Т \*Y24&K펥NB-Ȅfj!&YnVlؐ}j\B-,wd5p}>JBPfH⽁ee̫ҽ#ûH%!P(R(p9 2(E1%!P(s[,% :kLXPFݝbYY%KBS:$=KQ%DX gD Na!G! efFY|vXF%ŒB(uBLLΤfXVF)B S$(reI&RfCŲ(JXBHP`4&&f6U'f$EEEL!Zy*SwTVE["1, !eXA 1mܘ>ɢ\>ǩ/iHƕRPP@BhQfHB\MQԝWUU+>wHpX%!Т2H:c)W HC#tyCռ!emEB(+"aeJJAꉰHkDx<.Gu|).>@>:כϟ/}~&B2W?Zt,W>'HuWX!W5kM7dQ.]*ӧO!CH׮]wrE7|UaaQF#/ŋܹsnGYreয়~O>P(J'%*FåN2!pC3iwΛo)%%%CyÆ Oc9sL0|ї\rl&q|lZ^z5Owߙw 7JƎsGՍvuW'upڵk'm3kYgŸ;iP2$YOމZ(L?ۈi&~i6xcӘK//ҔuF7(pႃ:Htbs ܯm?^N?sGÎUV{]{f_l,x|;A!mѢ >ݯXAx |GFtP_Q,wr&o^+G}Y(?Fuxȑw:'N^ve#: f+)S_n>; n*V2C ns/?^5kH L>}mg{5tAx& D溴ѥ.trx˗jD)up(A#{-_Q^;p.=?*)}]O+~_xմiS믿ztëtx9ϪqJ[]fy̙J]7J *//7xҝo-ܢ:ut]ݻ<1+-N֥[oP ի\iӦ<6I&ePZؔO3S7={TÆ *..V-23ϘOV}ɨnmm*-6-oQm喾Xn;J>ݍ=Z-\д!Gېj}&ZfϞF瞬иֵOh_'1@C\kUk ᳸b&<6,\[om%;ƒu ܽpt#Qݸ?M=裢X^Ʊa}{"-{'%DZ;|;;)?^iz͕/fR[_6LKGu v`x絾pq"N=XkI"uN[Lƕ p }[>sO#hp)[J@hQugR?`:pCBT.:]$, ΣBWte):IݤIYm!>c]tpU`\~q{c{s1iC"_z܃h[5kr_;O>5m4/2#&d"93 FX„p:b6>hY p&Vi!h0ϛvE $bT .Ed]6m\vef? X84IF$>\kѸ n-[L][8`a.z#vT+oSvZYAWkv+a {W}ԷzI?w*LP pBCY#^$@]*lcfi$6|nGF2ܿ6S/, 9X{8f3r޼yfya 1c]ӧ{c1ۿԻxbq{iK'vZv:=ԩSA:#Gv1i_w =Tuc:as0c 1V̎/Bz޸mu'NL:.&¦utۦ>3c/{tg6k֬^ɨWZ bl;wn?1Z2c&m7\%qy/e ʤ>g :vg٫,0Yh Ncǎ5he5A\dy0kK _tܹ7 qu4*J\.]; 8Pik4l/VJW>9ޟO|sao qh|0.9X\6$wݗ!؎sDLIU0.i0.F @-x.*][ٶȬD|u'CHC)ʼnںȹ 9¢uTl}uIJ5˙<ڵrL @ x‹# }]!$=M2$|A 2Z$&&s q@HCe,5(lGݓl%QoJ7sg"{#Bk+IB/4f)-JBP=ҢLWϙۼjΤ( !P(c]* <5'_PTl !P(sª@R&+Qq^?4l%ĜiDž_-P1 !eNd Uj 1Xjw,uBhQfF&0S 1ɢtbÆ|^S[BhQfP&#ܭ3lPB2kE ,+[f^6xdwDR, !BB9x{E}lBI!ʬV)2`R( !B;%BBBPB!JB!BI!P( ! %!B$B(BB!JB!BI!P( ! %!B$B(BHN/nVJyS;gBB!BTUUɚu1W{ a©eNnLkLh<&E"KBPEYQQEXAiQ'TLETH*G'U"\ŒB()zX\ YЄ A!-.Q, !Bb)TYcRł2-~*XBHY&&Y*a'Ē_8C$ҷ.Xv DL>!P(7;5ⳛ 22()Bu*gfr&4CIJ&6J$ en"A (cLj665*E1mU ŒB|\1 71Cv *< 6#,**b!ТS-*Z,,1fI!(sǪ Zh]vIuI?N}IOD6ZB2{EBdm2BxZAD.* !eXG+O, W@EJaz]F!(h/:BYᘐ +SjWj ROEZ#oMq9ꨣO?Mq |gչt?|ӧo5B(jN |f:I=a׷D­b YzYFn&tR>} 2Dv*{.Ȉ} +5Gyw_~E/^_Ν+vo=ʕ+#W_·?|'BW:)Q1J.%wb t35Lw|M)))1_z[6lx_I'$bg!|Md-[CΝ;{e-0|u֣s=)믿#8ˆ)6Fm$s>?uT#;vgªE'zۯM6c=6_y9uֲʝw<ϙ3'ed„ 3ȈKdM61s@c77K/y|nlV2vX?n|wl~kYgŸ;iP2$YOމZ(L?ۈi&~i6xcӘK//Ҕuۆ1(pႃ:Htbs ܯm?^N?sGƸUV{]{f_l,x|;A!mѢ >ݯXAx |GFtP_Q,wr&o^+G}Y(?F88uAc##G4%tЩ8q|.Q5C_QuCl2o9]\s52k,saT[^^n~W͓&M&:94RK]FtҥAt㥖/_V+ԙ™K\.շ|Eys?s*}]qW^iKW0 /M_[gv۩x<y?jܸVY9s"mLpfT3m[TN1ս{?fEYp ޺tuk;jzu\iӦ<6I&ePZ|O3S7={TZļmCբEy<3fj9U>}2ۂ;f}7p%ErF.\ḥmH>}~m;L鎩ի@Z>}ZXXy(zt sUmgqgxªAJ̗1Xt=\nukGXV؆K-pY? ,EyzYvqu4Ä{׮1<~=VkJK.DXfkP7&_zi#1cxtuoIVv۶m]xb&<6zﭷKPw.% {F*D}|u:ΑuX٨+' xR>ѝIѝm̽q,Qb+eCʹtZ׫@y`h]G{^ 'PSO! QѴd\`]&pA᪫ niҺz'A>Cs?i~hp)[JŽkym]ř?tX^xuHX._F< tppN-pE7o\,X򚡓IpAzn(ܺm1= `h[ڵkg!/l=A-͚5K :@D)B0huOw¨fu(g@p1eT}]cis1j*O H93zH4hY~wLL7? X} ?,({ď- O*C㍸ܿ/lgiu 6(?[2+}X&j(wlX6=6!8i$}ݍ]}&V|ĩ]p Ս`EEn[E|$CoRPvaD={Wʶ WhЮW#|a>j nкb_{ oV|a~a_o.4p@hJO쇞 7 FD$UR%:HyX+ 2"ץ w$ܹIHYd 1gԨQufϞmյ\qlt61ظW^yI=گ_?sNA  6&n|o\en(n `^Sy9>}MS#$שA<.%{xAʄ0z10x>\ y ܭo\~2DczȢE̸I+az `EEC}5婧Y&dڦobD\q Y: X$83ٺLO>ٸ[8;[gwݫ9lڴqEuE&*!Xpb&6`E[aXբ^zy@^+:nƍ3c 1j.qQ'Ժ !86>7&ذ`# Av0Xf;A" ^|#F0,:.*df^nQuGIݸΰ61l=k>6%\="<ǔrߚև}sٳv61p̘1f<љm?ҽ?o?c9Ƙ]vUӧOb%ηJwžb;0H-vZ;)t {S*T:tP#GرcҾ;f޽qz>t„ aܧ X1;NTIyZ0~ &Nt\mO֭=sonxbe=Lxf͚rܫ;Uw\g;2q?i7 $de eYB2)g+ٵ©ηY. ;uCƎk e5A\dy0)S̀KΝ;{/w \ǃ,XJI(ҥ'ՕW>Ʋ>;&,ʪ,XZ"IkMӨImKLb&mRhʺ$ŀP[)UhEuߗesz3g;wfvv|əsg} 8aByB\.Xt߭; ޓ76z:~A vӦM&i_AdbIH' 1}idڬrW4T?UuQ 'L ?6kmoؑ|[N][{Irf98nH;cmz 9\ڵ9P1HMǕM;XAE8ttRu:7w=֖@Vk:iMc>)m[odjUWG]Q<q@Ğ=O=ٖ-QEbWF\pA) B | Sz(ZVrX-yfhD9ȦV{"%T0ɲߨkxoId=3>*X`$˥N/(7!sΙsd5lx|0G?f714Z%|Lnm)0i]}]u푕QK+6.0szme|k™Ղ) f՟ˀcjWGq |Cc}wXt*ș%,Y(]p(U}4ڛ7W`ߏG9k:7l+g3>8HuWĺuHS;"hPWzMJxQ#Y]\][Njm 359ݩ" pDzꩩ%BF5K3__[oXwV_嘫#,+<9=ܽcM16X~n֍k~oWu[fKW)>j= XfQB\7?vuuKW=úek%%Ye61ʕb¹•tef8߲qjBa|!eӘ;B G&!J+ggǛϝ/mM}~soF~[נ14]ʮU@(aIcTfw1wGf|<ke_ѾwksO1;cor;8?19Wa!.ƚ\}w9*UZ_8h}~8<͟DwDqN+ߴluri& 3v;:Wݶpt?hml\t2/~#:>=F_|d3YXӘEQd_O<Mq h⯣}w"u}LsuĮe@c(֝ˈV-n}s%P’jU+bl˖ꁧc 2s?}*o/Z_/ӣx ׼y%u ƚ95qrV9SYB_k:le+~%R!_FxCYm5}h=Xj٤hhQٟQe e~)Ѿyg>|t"獟GTcLcfWJ8ⱬ8DYBBm5љmت1co{߿ ^kxo9\|]V>DۍN:/\Vv[@g,Eh}Ѻ~ddSVDs#K(~i1 ݱb^hXmJ[K/%Mnm):2-kV뮫([[cßl|V|4߹fQ?6E11hY2E];=D(A(*Lʴf|ĵN]c׮Ԗ^uT8{UYwC˰H%%hC6o@};`ti}x{NcojX}PM{--VsOum ]>l;*g$mV͈d}$ yʼneZrc瞋u.4ZTu֭wu1WEGe9391'?H,lr25kGWT͘#`U$Lt\]_ʥbŬ@/ B *Xփ:qǎX}Fisi+ Sˁfs'=7&^<(9WŇE04g8*6E2tdEĆ _7ѱ<{];o2EG}ɵkc2>af $a%,Q0링4O 4[w3^kd,X#՟8huH| uкFe~걪S>69s(- B U0r3[ $%W?7׌r $%WGq3Bq& PPPPPPPPPPB B B B B B B B B %,E( ǹŒhFi P  c1gJNP\^|O{fQ2}|Omvj\uQx7:thAjZj[j܀Pf;˲ِزe;v{z+|kҮG}O~/|k[[fE3녲Voi2^.')?ӛIMRt0knv"vmi5f\ jZ}166Y߬U#)؁l6ٰd*#9l6),PPփQP՟7H]X,Fsfע9ļ1l5(,PF#.HgmzOjs,.Ef,E3DR0X!!,^ 堙eAQI{,Űծ3H6Xdž(pr`vzޗ<.IENDB`deepin-voice-recorder-5.0.0/qss/000077500000000000000000000000001351056250300164745ustar00rootroot00000000000000deepin-voice-recorder-5.0.0/qss/main.qss000066400000000000000000000004271351056250300201530ustar00rootroot00000000000000QListView { show-decoration-selected: 1; /* make the selection span the entire width of the view */ } QListView::item { margin-left: 15px; margin-right: 15px; } QListView::item:hover { background: transparent; } QListView::item:selected { background: transparent; } deepin-voice-recorder-5.0.0/src/000077500000000000000000000000001351056250300164555ustar00rootroot00000000000000deepin-voice-recorder-5.0.0/src/expand_animation_button.cpp000066400000000000000000000057141351056250300241010ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #include #include #include #include #include "expand_animation_button.h" #include "utils.h" const int ExpandAnimationButton::ANIMATION_WIDTH = 45; DWIDGET_USE_NAMESPACE ExpandAnimationButton::ExpandAnimationButton(QWidget *parent) : QWidget(parent) { pauseButtonImg = DHiDPIHelper::loadNxPixmap(Utils::getQrcPath("record_pause_normal.svg")); finishButtonImg = DHiDPIHelper::loadNxPixmap(Utils::getQrcPath("finish_normal.svg")); setFixedSize(300, 64); renderTicker = 0; opacityFrames = 5; animationFrames = 8; animationDuration = 25; } void ExpandAnimationButton::startAnimation() { renderTimer = new QTimer(this); connect(renderTimer, SIGNAL(timeout()), this, SLOT(renderAnimation())); renderTimer->start(animationDuration); } void ExpandAnimationButton::paintEvent(QPaintEvent *) { QPainter painter(this); qreal devicePixelRatio = qApp->devicePixelRatio(); if (renderTicker <= animationFrames) { painter.setOpacity(1 * Utils::easeOutQuad(std::min(renderTicker, opacityFrames) / (opacityFrames * 1.0))); painter.drawPixmap(QPoint((rect().width() - pauseButtonImg.width() / devicePixelRatio) / 2 - Utils::easeOutQuad((renderTicker) / (animationFrames * 1.0)) * ANIMATION_WIDTH, (rect().height() - pauseButtonImg.height() / devicePixelRatio) / 2), pauseButtonImg); painter.setOpacity(1 * Utils::easeOutQuad(std::min(renderTicker, opacityFrames) / (opacityFrames * 1.0))); painter.drawPixmap(QPoint((rect().width() - finishButtonImg.width() / devicePixelRatio) / 2 + Utils::easeOutQuad((renderTicker) / (animationFrames * 1.0)) * ANIMATION_WIDTH, (rect().height() - finishButtonImg.height() / devicePixelRatio) / 2), finishButtonImg); } } void ExpandAnimationButton::renderAnimation() { if (renderTicker < animationFrames) { renderTicker++; repaint(); } else { renderTimer->stop(); emit finish(); } } deepin-voice-recorder-5.0.0/src/expand_animation_button.h000066400000000000000000000030461351056250300235420ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #ifndef EXPANDANIMATIONBUTTON_H #define EXPANDANIMATIONBUTTON_H #include #include class ExpandAnimationButton : public QWidget { Q_OBJECT static const int ANIMATION_WIDTH; public: ExpandAnimationButton(QWidget *parent=0); void paintEvent(QPaintEvent *); void startAnimation(); signals: void finish(); public slots: void renderAnimation(); private: QPixmap finishButtonImg; QPixmap pauseButtonImg; QTimer *renderTimer; int animationDuration; int animationFrames; int opacityFrames; int renderTicker; }; #endif deepin-voice-recorder-5.0.0/src/file_item.cpp000066400000000000000000000300541351056250300211200ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #ifdef __cplusplus extern "C" { #endif #include #include #ifdef __cplusplus } #endif #include #include #include #include #include #include #include #include "file_item.h" #include "label.h" #include "utils.h" const int FileItem::STATUS_NORMAL = 0; const int FileItem::STATUS_RENAME = 1; const int FileItem::STATUS_PLAY = 2; const int FileItem::STATUS_PLAY_PAUSE = 3; const int FileItem::STATUS_PAUSE_PLAY = 4; DWIDGET_USE_NAMESPACE FileItem::FileItem(QWidget *parent) : QWidget(parent) { installEventFilter(this); // add event filter setMouseTracking(true); // make MouseMove can response currentStatus = STATUS_NORMAL; switchLock = false; isEntered = false; nameTemplate = "%1"; durationTemplate = "%1"; layout = new QHBoxLayout(); infoLayout = new QHBoxLayout(); actionLayout = new QHBoxLayout(); fileIcon = new Label(); connect(fileIcon, &Label::mouseMove, this, &FileItem::switchPlay); fileIcon->setPixmap(DHiDPIHelper::loadNxPixmap(Utils::getQrcPath("file.svg"))); nameLabel = new Label(); connect(nameLabel, &Label::mouseMove, this, &FileItem::switchPlay); lineEdit = new LineEdit(); durationLabel = new Label(); connect(durationLabel, &Label::mouseMove, this, &FileItem::switchPlay); playStartButton = new DImageButton( Utils::getQrcPath("play_start_normal.svg"), Utils::getQrcPath("play_start_hover.svg"), Utils::getQrcPath("play_start_press.svg") ); playPauseButton = new DImageButton( Utils::getQrcPath("play_pause_normal.svg"), Utils::getQrcPath("play_pause_hover.svg"), Utils::getQrcPath("play_pause_press.svg") ); playStopButton = new DImageButton( Utils::getQrcPath("play_stop_normal.svg"), Utils::getQrcPath("play_stop_hover.svg"), Utils::getQrcPath("play_stop_press.svg") ); pausePlayButton = new DImageButton( Utils::getQrcPath("play_start_normal.svg"), Utils::getQrcPath("play_start_hover.svg"), Utils::getQrcPath("play_start_press.svg") ); pauseStopButton = new DImageButton( Utils::getQrcPath("play_stop_normal.svg"), Utils::getQrcPath("play_stop_hover.svg"), Utils::getQrcPath("play_stop_press.svg") ); setLayout(layout); layout->addLayout(infoLayout); layout->addLayout(actionLayout); layout->setContentsMargins(13, 0, 5, 0); infoLayout->addWidget(fileIcon); fileDisplayContainer = new QWidget(); fileDisplayLayout = new QHBoxLayout(fileDisplayContainer); fileDisplayLayout->addWidget(nameLabel); fileDisplayLayout->addStretch(); fileRenameContainer = new QWidget(); fileRenameLayout = new QHBoxLayout(fileRenameContainer); fileRenameLayout->addWidget(lineEdit); normalActionContainer = new QWidget(); normalActionLayout = new QHBoxLayout(normalActionContainer); normalActionLayout->addWidget(durationLabel); playActionContainer = new QWidget(); playActionLayout = new QHBoxLayout(playActionContainer); playActionLayout->addWidget(playStartButton); playPauseActionContainer = new QWidget(); playPauseActionLayout = new QHBoxLayout(playPauseActionContainer); playPauseActionLayout->addWidget(playStopButton); playPauseActionLayout->addWidget(playPauseButton); pausePlayActionContainer = new QWidget(); pausePlayActionLayout = new QHBoxLayout(pausePlayActionContainer); pausePlayActionLayout->addWidget(pauseStopButton); pausePlayActionLayout->addWidget(pausePlayButton); switchStatus(STATUS_NORMAL); connect(lineEdit, &QLineEdit::editingFinished, [=] () { QString newFilename = lineEdit->text(); if (newFilename != fileInfo.baseName()) { QString newFilepath = fileInfo.absoluteDir().filePath(QString("%1.wav").arg(newFilename)); if (!Utils::fileExists(newFilepath) && newFilename.trimmed() != "" && !newFilename.contains('/')) { // Stop playing before rename. emit stop(); QString oldFilepath = fileInfo.absoluteFilePath(); fileInfo = QFileInfo(newFilepath); QFile(oldFilepath).rename(newFilepath); nameLabel->setText(QString(nameTemplate).arg(newFilename)); } } switchStatus(renameBeforeStatus); }); connect(lineEdit, &LineEdit::pressEsc, [=] () { // Redo edit operation. lineEdit->setText(fileInfo.baseName()); switchStatus(renameBeforeStatus); }); connect(playStartButton, &DImageButton::clicked, [=] () { switchStatus(STATUS_PLAY_PAUSE); emit play(); }); connect(playPauseButton, &DImageButton::clicked, [=] () { switchStatus(STATUS_PAUSE_PLAY); emit pause(); }); connect(pausePlayButton, &DImageButton::clicked, [=] () { switchStatus(STATUS_PLAY_PAUSE); emit resume(); }); connect(playStopButton, &DImageButton::clicked, [=] { switchStatus(STATUS_PLAY); emit stop(); }); connect(pauseStopButton, &DImageButton::clicked, [=] { switchStatus(STATUS_PLAY); emit stop(); }); } void FileItem::enterEvent(QEvent *event) { emit enter(); QWidget::enterEvent(event); } bool FileItem::eventFilter(QObject *, QEvent *event) { if (event->type() == QEvent::MouseMove) { switchPlay(); } return false; } void FileItem::highlight() { isEntered = true; repaint(); } void FileItem::unhighlight() { isEntered = false; repaint(); } void FileItem::switchPlay() { // Don't call 'switchStatus' once switchLock is lock. // Avoid call 'switchStatus' recursively. if (!switchLock) { if (currentStatus == STATUS_NORMAL) { switchStatus(STATUS_PLAY); } } } void FileItem::switchNormal() { // Don't call 'switchStatus' once switchLock is lock. // Avoid call 'switchStatus' recursively. if (!switchLock) { if (currentStatus == STATUS_PLAY) { switchStatus(STATUS_NORMAL); } } } static QColor colorBlend(const QColor &color1, const QColor &color2) { QColor c2 = color2.toRgb(); if (c2.alpha() >= 255) return c2; QColor c1 = color1.toRgb(); qreal c1_weight = 1 - c2.alphaF(); int r = c1_weight * c1.red() + c2.alphaF() * c2.red(); int g = c1_weight * c1.green() + c2.alphaF() * c2.green(); int b = c1_weight * c1.blue() + c2.alphaF() * c2.blue(); return QColor(r, g, b); } void FileItem::paintEvent(QPaintEvent *event) { if (isEntered) { QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing, true); QPainterPath path; path.addRoundedRect(QRectF(rect()), 5, 5); painter.fillPath(path, colorBlend(window()->palette().color(QPalette::Background), QColor(0, 0, 0, 0.05 * 255))); } QWidget::paintEvent(event); } void FileItem::setFileInfo(QFileInfo info) { fileInfo = info; nameLabel->setText(QString(nameTemplate).arg(info.baseName())); updateDurationLabel(); } void FileItem::updateDurationLabel() { durationLabel->setText(QString(durationTemplate).arg(Utils::formatMillisecond(getDuration()))); } QFileInfo FileItem::getFileInfo() { return fileInfo; } void FileItem::switchStatus(int status) { switchLock = true; // Record status for restore if do rename action. if (status == STATUS_RENAME) { renameBeforeStatus = currentStatus; } currentStatus = status; switch(status) { case STATUS_NORMAL: { Utils::removeLayoutChild(infoLayout, 1); Utils::addLayoutWidget(infoLayout, fileDisplayContainer); Utils::removeLayoutChild(actionLayout, 0); Utils::addLayoutWidget(actionLayout, normalActionContainer); } break; case STATUS_RENAME: { Utils::removeLayoutChild(infoLayout, 1); Utils::addLayoutWidget(infoLayout, fileRenameContainer); QTimer::singleShot(0, lineEdit, SLOT(setFocus())); lineEdit->setText(fileInfo.baseName()); lineEdit->selectAll(); } break; case STATUS_PLAY: { Utils::removeLayoutChild(infoLayout, 1); Utils::addLayoutWidget(infoLayout, fileDisplayContainer); Utils::removeLayoutChild(actionLayout, 0); Utils::addLayoutWidget(actionLayout, playActionContainer);; } break; case STATUS_PLAY_PAUSE: { Utils::removeLayoutChild(infoLayout, 1); Utils::addLayoutWidget(infoLayout, fileDisplayContainer); Utils::removeLayoutChild(actionLayout, 0); Utils::addLayoutWidget(actionLayout, playPauseActionContainer); } break; case STATUS_PAUSE_PLAY: { Utils::removeLayoutChild(infoLayout, 1); Utils::addLayoutWidget(infoLayout, fileDisplayContainer); Utils::removeLayoutChild(actionLayout, 0); Utils::addLayoutWidget(actionLayout, pausePlayActionContainer); } break; } switchLock = false; } int FileItem::getDuration() { int64_t duration = 0; av_register_all(); AVFormatContext *pFormatCtx = avformat_alloc_context(); avformat_open_input(&pFormatCtx, fileInfo.absoluteFilePath().toStdString().c_str(), NULL, NULL); if (pFormatCtx) { avformat_find_stream_info(pFormatCtx, NULL); duration = pFormatCtx->duration / 1000; } avformat_close_input(&pFormatCtx); avformat_free_context(pFormatCtx); return duration; } QString FileItem::getRecodingFilepath() { return fileInfo.absoluteFilePath(); } deepin-voice-recorder-5.0.0/src/file_item.h000066400000000000000000000056441351056250300205740ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #ifndef FILEITEM_H #define FILEITEM_H #include #include #include #include #include #include "dimagebutton.h" #include "label.h" #include "line_edit.h" DWIDGET_USE_NAMESPACE class FileItem : public QWidget { Q_OBJECT public: FileItem(QWidget *parent=0); QFileInfo getFileInfo(); QString getRecodingFilepath(); bool eventFilter(QObject *, QEvent *event); int getDuration(); void enterEvent(QEvent *event); void highlight(); void paintEvent(QPaintEvent *); void setFileInfo(QFileInfo info); void unhighlight(); static const int STATUS_NORMAL; static const int STATUS_RENAME; static const int STATUS_PLAY; static const int STATUS_PLAY_PAUSE; static const int STATUS_PAUSE_PLAY; public slots: void switchStatus(int status); void switchPlay(); void switchNormal(); void updateDurationLabel(); signals: void pause(); void play(); void resume(); void stop(); void enter(); private: DImageButton *pausePlayButton; DImageButton *pauseStopButton; DImageButton *playPauseButton; DImageButton *playStartButton; DImageButton *playStopButton; DImageButton *renameButton; Label *durationLabel; Label *fileIcon; Label *nameLabel; LineEdit *lineEdit; QFileInfo fileInfo; QHBoxLayout *actionLayout; QHBoxLayout *fileDisplayLayout; QHBoxLayout *fileRenameLayout; QHBoxLayout *infoLayout; QHBoxLayout *layout; QHBoxLayout *normalActionLayout; QHBoxLayout *pausePlayActionLayout; QHBoxLayout *playActionLayout; QHBoxLayout *playPauseActionLayout; QString durationTemplate; QString nameTemplate; QWidget *fileDisplayContainer; QWidget *fileRenameContainer; QWidget *normalActionContainer; QWidget *pausePlayActionContainer; QWidget *playActionContainer; QWidget *playPauseActionContainer; bool isEntered; bool switchLock; int currentStatus; int renameBeforeStatus; }; #endif deepin-voice-recorder-5.0.0/src/file_view.cpp000066400000000000000000000165151351056250300211420ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #include #include #include #include #include #include #include #include #include #include #include "file_item.h" #include "file_view.h" #include "utils.h" DCORE_USE_NAMESPACE FileView::FileView(QWidget *parent) : QListWidget(parent) { setMouseTracking(true); // make MouseMove can response setFixedSize(433, 305); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); connect(this, SIGNAL(rightClick(QPoint)), this, SLOT(onRightClick(QPoint))); connect(this, &FileView::itemDoubleClicked, [=] (QListWidgetItem *item) { FileItem *fileItem = static_cast(itemWidget(item)); fileItem->switchStatus(FileItem::STATUS_PLAY_PAUSE); emit play(fileItem->getRecodingFilepath()); }); rightMenu = new QMenu(this); renameAction = new QAction(tr("Rename"), this); connect(renameAction, &QAction::triggered, this, &FileView::renameItem); displayAction = new QAction(tr("Display in file manager"), this); connect(displayAction, &QAction::triggered, this, &FileView::displayItem); trashAction = new QAction(tr("Delete"), this); connect(trashAction, &QAction::triggered, this, &FileView::trashItem); rightMenu->addAction(renameAction); rightMenu->addAction(displayAction); rightMenu->addAction(trashAction); fileWatcher = new QFileSystemWatcher(this); fileWatcher->addPath(Utils::getRecordingSaveDirectory()); connect(fileWatcher, &QFileSystemWatcher::directoryChanged, this, &FileView::monitorFileChanged); loadItems(QStringList(), 0); } void FileView::loadItem(QString item) { FileItem *fileItem = new FileItem(this); fileItem->setFileInfo(QFileInfo(item)); connect(fileItem, SIGNAL(play()), this, SLOT(handlePlay())); connect(fileItem, SIGNAL(pause()), this, SLOT(handlePause())); connect(fileItem, SIGNAL(resume()), this, SLOT(handleResume())); connect(fileItem, SIGNAL(stop()), this, SLOT(handleStop())); connect(fileItem, SIGNAL(enter()), this, SLOT(handleEnter())); QListWidgetItem* listItem = new QListWidgetItem; addItem(listItem); listItem->setSizeHint(QSize(100, 60)); setItemWidget(listItem, fileItem); } void FileView::loadItems(QStringList sortedItems, int scrollValue) { // Clear list first. clear(); // Add item in itemList first, then add other items. QStringList otherItems; foreach (auto fileInfo, Utils::getRecordingFileinfos()) { QString filepath = fileInfo.absoluteFilePath(); if (!sortedItems.contains(filepath)) { sortedItems.removeOne(filepath); otherItems << filepath; } } foreach (auto item, sortedItems) { // Just restore when old item filepath exist. if (Utils::fileExists(item)) { loadItem(item); } } foreach (auto item, otherItems) { loadItem(item); } // Restore scroll value. verticalScrollBar()->setValue(scrollValue); } void FileView::monitorList() { if (count() == 0) { emit listClear(); } } void FileView::monitorFileChanged(QString) { QStringList sortedItems; for(int i = 0; i < count(); i++) { QListWidgetItem* matchItem = item(i); FileItem *fileItem = static_cast(itemWidget(matchItem)); sortedItems << fileItem->getRecodingFilepath(); } loadItems(sortedItems, verticalScrollBar()->value()); monitorList(); } void FileView::mousePressEvent(QMouseEvent *event) { QListWidget::mousePressEvent(event); if(event->button() == Qt::RightButton){ emit rightClick(event->pos()); } } void FileView::onRightClick(QPoint pos) { rightSelectItem = itemAt(pos); if (rightSelectItem != 0) { rightMenu->exec(this->mapToGlobal(pos)); } } void FileView::renameItem() { if (rightSelectItem != 0) { FileItem *fileItem = static_cast(itemWidget(rightSelectItem)); fileItem->switchStatus(FileItem::STATUS_RENAME); } } void FileView::displayItem() { if (rightSelectItem != 0) { FileItem *fileItem = static_cast(itemWidget(rightSelectItem)); DDesktopServices::showFileItem(fileItem->getFileInfo().absoluteFilePath()); } } void FileView::trashItem() { if (rightSelectItem != 0) { FileItem *fileItem = static_cast(itemWidget(rightSelectItem)); emit stop(fileItem->getRecodingFilepath()); Dtk::Widget::DDesktopServices::trash(fileItem->getRecodingFilepath()); delete takeItem(row(rightSelectItem)); } } void FileView::handlePlay() { emit play(((FileItem*) sender())->getRecodingFilepath()); } void FileView::handlePause() { emit pause(((FileItem*) sender())->getRecodingFilepath()); } void FileView::handleResume() { emit resume(((FileItem*) sender())->getRecodingFilepath()); } void FileView::handleStop() { emit stop(((FileItem*) sender())->getRecodingFilepath()); } void FileView::handleEnter() { for(int i = 0; i < count(); i++) { QListWidgetItem* matchItem = item(i); FileItem *fileItem = static_cast(itemWidget(matchItem)); if (fileItem->getRecodingFilepath() == ((FileItem*) sender())->getRecodingFilepath()) { fileItem->switchPlay(); fileItem->highlight(); } else { fileItem->switchNormal(); fileItem->unhighlight(); } } } void FileView::handlePlayFinish(QString filepath) { for(int i = 0; i < count(); i++) { QListWidgetItem* matchItem = item(i); FileItem *fileItem = static_cast(itemWidget(matchItem)); if (fileItem->getRecodingFilepath() == filepath) { fileItem->switchStatus(FileItem::STATUS_NORMAL); break; } } } void FileView::selectItemWithPath(QString path) { for(int i = 0; i < count(); i++) { QListWidgetItem* matchItem = item(i); FileItem *fileItem = static_cast(itemWidget(matchItem)); if (fileItem->getRecodingFilepath() == path) { setCurrentItem(matchItem); fileItem->switchStatus(FileItem::STATUS_PLAY); // ListPage will got item's duration after recording. // Update duration after 1 seoncd, avoid get wrong duration when wav file not flush to disk. QTimer::singleShot(1000, fileItem, SLOT(updateDurationLabel())); break; } } } deepin-voice-recorder-5.0.0/src/file_view.h000066400000000000000000000041441351056250300206020ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #ifndef FILEVIEW_H #define FILEVIEW_H #include #include #include #include #include "file_item.h" class FileView : public QListWidget { Q_OBJECT public: FileView(QWidget *parent=0); void monitorFileChanged(QString filepath); void mousePressEvent(QMouseEvent *event); void selectItemWithPath(QString path); void loadItem(QString item); void loadItems(QStringList sortedItems, int scrollValue); public slots: void trashItem(); void displayItem(); void handleEnter(); void handlePause(); void handlePlay(); void handlePlayFinish(QString filepath); void handleResume(); void handleStop(); void monitorList(); void onRightClick(QPoint pos); void renameItem(); signals: void pause(QString filepath); void play(QString filepath); void resume(QString filepath); void rightClick(QPoint pos); void stop(QString filepath); void listClear(); private: FileItem *currentPlayingItem = 0; QAction *trashAction; QAction *displayAction; QAction *renameAction; QFileSystemWatcher *fileWatcher; QListWidgetItem *rightSelectItem = 0; QMenu *rightMenu; }; #endif deepin-voice-recorder-5.0.0/src/home_page.cpp000066400000000000000000000026011351056250300211040ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #include #include "dimagebutton.h" #include "home_page.h" #include "utils.h" DWIDGET_USE_NAMESPACE HomePage::HomePage(QWidget *parent) : QWidget(parent) { recordButton = new DImageButton( Utils::getQrcPath("home_page_record_normal.svg"), Utils::getQrcPath("home_page_record_hover.svg"), Utils::getQrcPath("home_page_record_press.svg") ); layout = new QVBoxLayout(); setLayout(layout); layout->addWidget(recordButton, 0, Qt::AlignCenter); } deepin-voice-recorder-5.0.0/src/home_page.h000066400000000000000000000022371351056250300205560ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #ifndef HOMEPAGE_H #define HOMEPAGE_H #include #include "dimagebutton.h" DWIDGET_USE_NAMESPACE class HomePage : public QWidget { Q_OBJECT public: HomePage(QWidget *parent = 0); DImageButton* recordButton; QVBoxLayout* layout; }; #endif deepin-voice-recorder-5.0.0/src/label.cpp000066400000000000000000000023071351056250300202420ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #include #include #include "label.h" Label::Label(QLabel *parent) : QLabel(parent) { setMouseTracking(true); installEventFilter(this); } bool Label::eventFilter(QObject *, QEvent *event) { if (event->type() == QEvent::MouseMove) { emit mouseMove(); } return false; } deepin-voice-recorder-5.0.0/src/label.h000066400000000000000000000022051351056250300177040ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #ifndef LABEL_H #define LABEL_H #include #include class Label : public QLabel { Q_OBJECT public: Label(QLabel *parent=0); bool eventFilter(QObject *, QEvent *event); signals: void mouseMove(); }; #endif deepin-voice-recorder-5.0.0/src/line_edit.cpp000066400000000000000000000025541351056250300211230ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #include #include #include #include "line_edit.h" LineEdit::LineEdit(QLineEdit *parent) : QLineEdit(parent) { installEventFilter(this); // add event filter } bool LineEdit::eventFilter(QObject *, QEvent *event) { if (event->type() == QEvent::KeyPress) { QKeyEvent *keyEvent = static_cast(event); if (keyEvent->key() == Qt::Key_Escape) { emit pressEsc(); } } return false; } deepin-voice-recorder-5.0.0/src/line_edit.h000066400000000000000000000022121351056250300205570ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #ifndef LINEEDIT_H #define LINEEDIT_H #include class LineEdit : public QLineEdit { Q_OBJECT public: LineEdit(QLineEdit *parent = 0); bool eventFilter(QObject *, QEvent *event); signals: void pressEsc(); }; #endif deepin-voice-recorder-5.0.0/src/list_page.cpp000066400000000000000000000077201351056250300211360ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #include #include #include #include #include #include #include "dimagebutton.h" #include "list_page.h" #include "utils.h" DWIDGET_USE_NAMESPACE ListPage::ListPage(QWidget *parent) : QWidget(parent) { layout = new QVBoxLayout(this); setLayout(layout); fileView = new FileView(this); connect(fileView, &FileView::play, this, &ListPage::play); connect(fileView, &FileView::pause, this, &ListPage::pause); connect(fileView, &FileView::resume, this, &ListPage::resume); connect(fileView, &FileView::stop, this, &ListPage::stop); connect(this, &ListPage::playFinished, fileView, &FileView::handlePlayFinish); audioPlayer = new QMediaPlayer(this); connect(audioPlayer, SIGNAL(stateChanged(QMediaPlayer::State)), this, SLOT(handleStateChanged(QMediaPlayer::State))); audioProbe = new QAudioProbe(this); if (audioProbe->setSource(audioPlayer)) { connect(audioProbe, SIGNAL(audioBufferProbed(QAudioBuffer)), this, SLOT(renderLevel(QAudioBuffer))); } waveform = new Waveform(this); waveform->hide(); recordButton = new DImageButton( Utils::getQrcPath("record_small_normal.svg"), Utils::getQrcPath("record_small_hover.svg"), Utils::getQrcPath("record_small_press.svg") ); connect(recordButton, SIGNAL(clicked()), this, SLOT(handleClickRecordButton())); layout->addWidget(fileView, 0, Qt::AlignHCenter); layout->addStretch(); layout->addWidget(waveform, 0, Qt::AlignCenter); layout->addStretch(); layout->addWidget(recordButton, 0, Qt::AlignHCenter); layout->addSpacing(21); // NOTE: bottom buttons padding } void ListPage::handleClickRecordButton() { // Must stop player before new record. audioPlayer->stop(); emit clickRecordButton(); } void ListPage::play(QString filepath) { if (filepath != getPlayingFilepath()) { audioPlayer->stop(); } waveform->show(); audioPlayer->setMedia(QUrl::fromLocalFile(filepath)); audioPlayer->play(); } void ListPage::pause(QString) { audioPlayer->pause(); } void ListPage::resume(QString) { audioPlayer->play(); } void ListPage::stop(QString filepath) { if (filepath == getPlayingFilepath()) { audioPlayer->stop(); } } void ListPage::stopPlayer() { audioPlayer->stop(); } void ListPage::renderLevel(const QAudioBuffer &buffer) { QVector levels = Waveform::getBufferLevels(buffer); for (int i = 0; i < levels.count(); ++i) { waveform->updateWave(levels.at(i)); } } void ListPage::handleStateChanged(QMediaPlayer::State state) { if (state == QMediaPlayer::StoppedState) { emit playFinished(getPlayingFilepath()); waveform->hide(); waveform->clearWave(); } } QString ListPage::getPlayingFilepath() { if (audioPlayer->isAudioAvailable()) { return audioPlayer->media().resources().first().url().path(); } else { return ""; } } void ListPage::selectItemWithPath(QString path) { fileView->selectItemWithPath(path); } deepin-voice-recorder-5.0.0/src/list_page.h000066400000000000000000000035621351056250300206030ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #ifndef LISTPAGE_H #define LISTPAGE_H #include #include #include #include "dimagebutton.h" #include "file_view.h" #include "waveform.h" DWIDGET_USE_NAMESPACE class ListPage : public QWidget { Q_OBJECT public: ListPage(QWidget *parent = 0); DImageButton *recordButton; FileView *fileView; QVBoxLayout *layout; QString getPlayingFilepath(); public slots: void handleClickRecordButton(); void handleStateChanged(QMediaPlayer::State state); void pause(QString filepath); void play(QString filepath); void renderLevel(const QAudioBuffer &buffer); void resume(QString filepath); void selectItemWithPath(QString path); void stop(QString filepath); void stopPlayer(); signals: void clickRecordButton(); void playFinished(QString filepath); private: QAudioProbe *audioProbe; QMediaPlayer *audioPlayer; Waveform *waveform; }; #endif deepin-voice-recorder-5.0.0/src/main.cpp000066400000000000000000000052411351056250300201070ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #include #include #include #include #include #include #include "main_window.h" #include "utils.h" DWIDGET_USE_NAMESPACE int main(int argc, char *argv[]) { DApplication::loadDXcbPlugin(); const char *descriptionText = QT_TRANSLATE_NOOP("MainWindow", "Deepin Voice Recorder is a simple, beautiful and easy to use " "voice recording application. It supports visual recording, " "playback, recordings management and other functions."); const QString acknowledgementLink = "https://www.deepin.org/acknowledgments/deepin-voice-recorder#thanks"; DApplication app(argc, argv); app.setAttribute(Qt::AA_UseHighDpiPixmaps); if (app.setSingleInstance("deepin-voice-recorder")) { app.loadTranslator(); app.setOrganizationName("deepin"); app.setApplicationName("deepin-voice-recorder"); app.setApplicationVersion(DApplication::buildVersion("1.0")); app.setProductIcon(QIcon(Utils::getQrcPath("logo_96.svg"))); app.setProductName(DApplication::translate("MainWindow", "Deepin Voice Recorder")); app.setApplicationDescription(DApplication::translate("MainWindow", descriptionText) + "\n"); app.setApplicationAcknowledgementPage(acknowledgementLink); app.setTheme("light"); app.setWindowIcon(QIcon(Utils::getQrcPath("deepin-voice-recorder.svg"))); MainWindow window; QObject::connect(&app, &DApplication::newInstanceStarted, &window, &MainWindow::activateWindow); Utils::applyQss(&window, "main.qss"); Dtk::Widget::moveToCenter(&window); window.show(); return app.exec(); } return 0; } deepin-voice-recorder-5.0.0/src/main_window.cpp000066400000000000000000000103411351056250300214730ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #include #include #include #include #include #include #include #include #include "home_page.h" #include "list_page.h" #include "main_window.h" #include "record_page.h" #include "toolbar.h" #include "utils.h" DWIDGET_USE_NAMESPACE DCORE_USE_NAMESPACE const int MainWindow::PAGE_TYPE_HOME = 1; const int MainWindow::PAGE_TYPE_RECORD = 2; const int MainWindow::PAGE_TYPE_LIST = 3; MainWindow::MainWindow(DMainWindow *parent) : DMainWindow(parent) { menu = new QMenu(this); newRecordAction = new QAction(tr("New recording"), this); connect(newRecordAction, &QAction::triggered, this, &MainWindow::newRecord); openSaveDirectoryAction = new QAction(tr("Open saved directory"), this); connect(openSaveDirectoryAction, &QAction::triggered, this, &MainWindow::openSaveDirectory); menu->addAction(newRecordAction); menu->addSeparator(); menu->addAction(openSaveDirectoryAction); if (this->titlebar()) { this->titlebar()->setMenu(menu); Toolbar *toolbar = new Toolbar(); this->titlebar()->setCustomWidget(toolbar, Qt::AlignVCenter, false); this->setFixedSize(440, 550); this->titlebar()->setBackgroundTransparent(true); } layoutWidget = new QWidget(); this->setCentralWidget(layoutWidget); stackedLayout = new QStackedLayout(); layoutWidget->setLayout(stackedLayout); showFirstPage(); } void MainWindow::showFirstPage() { QFileInfoList fileInfoList = Utils::getRecordingFileinfos(); if (fileInfoList.size() > 0) { showListPage(""); } else { showHomePage(); } } void MainWindow::showHomePage() { pageType = PAGE_TYPE_HOME; QWidget *currentWidget = stackedLayout->currentWidget(); if (currentWidget != 0) { currentWidget->deleteLater(); } homePage = new HomePage(); connect(homePage->recordButton, SIGNAL(clicked()), this, SLOT(showRecordPage())); stackedLayout->addWidget(homePage); } void MainWindow::showRecordPage() { pageType = PAGE_TYPE_RECORD; QWidget *currentWidget = stackedLayout->currentWidget(); if (currentWidget != 0) { currentWidget->deleteLater(); } recordPage = new RecordPage(this); connect(recordPage, &RecordPage::finishRecord, this, &MainWindow::showListPage); connect(recordPage, &RecordPage::cancelRecord, this, &MainWindow::showFirstPage); stackedLayout->addWidget(recordPage); } void MainWindow::showListPage(QString recordingPath) { pageType = PAGE_TYPE_LIST; QWidget *currentWidget = stackedLayout->currentWidget(); if (currentWidget != 0) { currentWidget->deleteLater(); } listPage = new ListPage(); connect(listPage, SIGNAL(clickRecordButton()), this, SLOT(showRecordPage())); connect(listPage->fileView, &FileView::listClear, this, &MainWindow::showHomePage); if (recordingPath != "") { listPage->selectItemWithPath(recordingPath); } stackedLayout->addWidget(listPage); } void MainWindow::newRecord() { if (pageType == PAGE_TYPE_RECORD) { recordPage->stopRecord(); } else if (pageType == PAGE_TYPE_LIST) { listPage->stopPlayer(); } showRecordPage(); } void MainWindow::openSaveDirectory() { DDesktopServices::showFolder(Utils::getRecordingSaveDirectory()); } deepin-voice-recorder-5.0.0/src/main_window.h000066400000000000000000000034131351056250300211420ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include "dmainwindow.h" #include "home_page.h" #include "list_page.h" #include "record_page.h" DWIDGET_USE_NAMESPACE class MainWindow : public DMainWindow { Q_OBJECT static const int PAGE_TYPE_HOME; static const int PAGE_TYPE_RECORD; static const int PAGE_TYPE_LIST; public: MainWindow(DMainWindow *parent = 0); public slots: void newRecord(); void openSaveDirectory(); void showFirstPage(); void showHomePage(); void showListPage(QString recordingPath); void showRecordPage(); private: HomePage *homePage; ListPage *listPage; QAction *newRecordAction; QAction *openSaveDirectoryAction; QMenu *menu; QStackedLayout *stackedLayout; QVBoxLayout *layout; QWidget *layoutWidget; RecordPage *recordPage; int pageType; }; #endif deepin-voice-recorder-5.0.0/src/record_page.cpp000066400000000000000000000171671351056250300214470ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "dimagebutton.h" #include "record_page.h" #include "recording_button.h" #include "utils.h" #include "waveform.h" DWIDGET_USE_NAMESPACE RecordPage::RecordPage(QWidget *parent) : QWidget(parent) { installEventFilter(this); // add event filter recordingTime = 0; layout = new QVBoxLayout(); layout->setContentsMargins(0, 0, 0, 0); setLayout(layout); titleLabel = new QLabel(tr("New recording")); QFont titleFont; titleFont.setPixelSize(26); titleLabel->setFont(titleFont); waveform = new Waveform(this); QFont recordTimeFont; recordTimeFont.setPixelSize(14); recordTimeLabel = new QLabel("00:00"); recordTimeLabel->setFont(recordTimeFont); buttonAreaWidget = new QWidget(); buttonAreaLayout = new QVBoxLayout(); buttonAreaLayout->setContentsMargins(0, 0, 0, 0); buttonWidget = new QWidget(); buttonLayout = new QHBoxLayout(buttonWidget); buttonLayout->setContentsMargins(0, 0, 0, 0); expandAnimationButtonLayout = new QVBoxLayout(); expandAnimationButtonLayout->setContentsMargins(0, 0, 0, 0); expandAnimationButton = new ExpandAnimationButton(this); connect(expandAnimationButton, &ExpandAnimationButton::finish, this, &RecordPage::handleExpandAnimationFinish); expandAnimationButtonLayout->addWidget(expandAnimationButton, 0, Qt::AlignHCenter); shrankAnimationButtonLayout = new QVBoxLayout(); shrankAnimationButtonLayout->setContentsMargins(0, 0, 0, 0); shrankAnimationButton = new ShrankAnimationButton(); connect(shrankAnimationButton, &ShrankAnimationButton::finish, this, &RecordPage::handleShrankAnimationFinish); shrankAnimationButtonLayout->addWidget(shrankAnimationButton, 0, Qt::AlignHCenter); recordingButton = new RecordingButton(); finishButton = new DImageButton( Utils::getQrcPath("finish_normal.svg"), Utils::getQrcPath("finish_hover.svg"), Utils::getQrcPath("finish_press.svg") ); buttonLayout->addStretch(); buttonLayout->addWidget(recordingButton, 0, Qt::AlignVCenter); buttonLayout->addSpacing(20); buttonLayout->addWidget(finishButton, 0, Qt::AlignVCenter); buttonLayout->addStretch(); buttonAreaLayout->addWidget(buttonWidget, 0, Qt::AlignHCenter); layout->addSpacing(36); layout->addWidget(titleLabel, 0, Qt::AlignHCenter); layout->addStretch(); layout->addWidget(waveform, 1, Qt::AlignHCenter); layout->addStretch(); layout->addWidget(recordTimeLabel, 0, Qt::AlignHCenter); layout->addStretch(); layout->addWidget(buttonAreaWidget); layout->addSpacing(30); // NOTE: bottom buttons padding audioRecorder = new QAudioRecorder(this); qDebug() << "support codecs:" << audioRecorder->supportedAudioCodecs(); qDebug() << "support containers:" << audioRecorder->supportedContainers(); QAudioEncoderSettings audioSettings; audioSettings.setQuality(QMultimedia::HighQuality); #if QT_VERSION >= QT_VERSION_CHECK(5, 9, 0) audioRecorder->setAudioSettings(audioSettings); audioRecorder->setContainerFormat("audio/x-wav"); #else audioSettings.setCodec("audio/PCM"); audioRecorder->setAudioSettings(audioSettings); audioRecorder->setContainerFormat("wav"); #endif audioProbe = new QAudioProbe(this); if (audioProbe->setSource(audioRecorder)) { connect(audioProbe, SIGNAL(audioBufferProbed(QAudioBuffer)), this, SLOT(renderLevel(QAudioBuffer))); } tickerTimer = new QTimer(this); connect(tickerTimer, SIGNAL(timeout()), this, SLOT(renderRecordingTime())); tickerTimer->start(1000); startRecord(); connect(finishButton, SIGNAL(clicked()), this, SLOT(handleClickFinishButton())); connect(recordingButton, SIGNAL(pause()), this, SLOT(pauseRecord())); connect(recordingButton, SIGNAL(resume()), this, SLOT(resumeRecord())); QFileInfoList fileInfoList = Utils::getRecordingFileinfos(); if (fileInfoList.count() == 0) { buttonAreaWidget->setLayout(buttonAreaLayout); // Get keyboard focus. setFocus(); } else { buttonAreaWidget->setLayout(expandAnimationButtonLayout); expandAnimationButton->startAnimation(); } } void RecordPage::handleExpandAnimationFinish() { Utils::removeChildren(buttonAreaWidget); buttonAreaWidget->setLayout(buttonAreaLayout); // Get keyboard focus. setFocus(); } void RecordPage::handleShrankAnimationFinish() { emit finishRecord(getRecordingFilepath()); } void RecordPage::handleClickFinishButton() { stopRecord(); Utils::removeChildren(buttonAreaWidget); buttonAreaWidget->setLayout(shrankAnimationButtonLayout); shrankAnimationButton->startAnimation(); } void RecordPage::renderRecordingTime() { if (audioRecorder->state() != QMediaRecorder::StoppedState) { recordTimeLabel->setText(Utils::formatMillisecond(recordingTime)); } } void RecordPage::startRecord() { recordPath = generateRecordingFilepath(); audioRecorder->setOutputLocation(recordPath); QDateTime currentTime = QDateTime::currentDateTime(); lastUpdateTime = currentTime; audioRecorder->record(); } void RecordPage::stopRecord() { audioRecorder->stop(); tickerTimer->stop(); } void RecordPage::exitRecord() { stopRecord(); QFile(getRecordingFilepath()).remove(); emit cancelRecord(); } void RecordPage::pauseRecord() { audioRecorder->pause(); } void RecordPage::resumeRecord() { QDateTime currentTime = QDateTime::currentDateTime(); lastUpdateTime = currentTime; audioRecorder->record(); } QString RecordPage::generateRecordingFilepath() { return QDir(Utils::getRecordingSaveDirectory()).filePath(QString("%1 (%2).wav").arg(tr("New recording")).arg(QDateTime::currentDateTime().toString("yyyyMMddhhmmss"))); } QString RecordPage::getRecordingFilepath() { return recordPath; } void RecordPage::renderLevel(const QAudioBuffer &buffer) { QDateTime currentTime = QDateTime::currentDateTime(); recordingTime += lastUpdateTime.msecsTo(currentTime); lastUpdateTime = currentTime; QVector levels = Waveform::getBufferLevels(buffer); for (int i = 0; i < levels.count(); ++i) { waveform->updateWave(levels.at(i)); } } bool RecordPage::eventFilter(QObject *, QEvent *event) { if (event->type() == QEvent::KeyPress) { QKeyEvent *keyEvent = static_cast(event); if (keyEvent == QKeySequence::Cancel) { exitRecord(); } } return false; } deepin-voice-recorder-5.0.0/src/record_page.h000066400000000000000000000050151351056250300211010ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #ifndef RECORDPAGE_H #define RECORDPAGE_H #include #include #include #include "dimagebutton.h" #include "expand_animation_button.h" #include "recording_button.h" #include "shrank_animation_button.h" #include "waveform.h" DWIDGET_USE_NAMESPACE class RecordPage : public QWidget { Q_OBJECT public: RecordPage(QWidget *parent = 0); DImageButton *finishButton; QVBoxLayout *layout; RecordingButton *recordingButton; QString generateRecordingFilepath(); QString getRecordingFilepath(); protected: bool eventFilter(QObject *object, QEvent *event); signals: void finishRecord(QString path); void cancelRecord(); public slots: void exitRecord(); void handleClickFinishButton(); void handleExpandAnimationFinish(); void handleShrankAnimationFinish(); void pauseRecord(); void renderLevel(const QAudioBuffer &buffer); void renderRecordingTime(); void resumeRecord(); void startRecord(); void stopRecord(); private: ExpandAnimationButton *expandAnimationButton; QAudioProbe *audioProbe; QAudioRecorder *audioRecorder; QDateTime lastUpdateTime; QHBoxLayout *buttonLayout; QLabel *recordTimeLabel; QLabel *titleLabel; QString recordPath; QTimer *tickerTimer; QVBoxLayout *expandAnimationButtonLayout; QVBoxLayout *shrankAnimationButtonLayout; QVBoxLayout *buttonAreaLayout; QWidget *buttonAreaWidget; QWidget *buttonWidget; ShrankAnimationButton *shrankAnimationButton; Waveform *waveform; float recordingTime; }; #endif deepin-voice-recorder-5.0.0/src/recording_button.cpp000066400000000000000000000041641351056250300225350ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #include #include #include "dimagebutton.h" #include "recording_button.h" #include "utils.h" DWIDGET_USE_NAMESPACE RecordingButton::RecordingButton(QWidget *parent) : QWidget(parent) { layout = new QVBoxLayout(); layout->setContentsMargins(0, 0, 0, 0); setLayout(layout); pauseButton = new DImageButton( Utils::getQrcPath("record_pause_normal.svg"), Utils::getQrcPath("record_pause_hover.svg"), Utils::getQrcPath("record_pause_press.svg") ); connect(pauseButton, SIGNAL(clicked()), this, SLOT(handlePause())); resumeButton = new DImageButton( Utils::getQrcPath("record_resume_normal.svg"), Utils::getQrcPath("record_resume_hover.svg"), Utils::getQrcPath("record_resume_press.svg") ); connect(resumeButton, SIGNAL(clicked()), this, SLOT(handleResume())); layout->addWidget(pauseButton); } void RecordingButton::handlePause() { layout->removeWidget(pauseButton); pauseButton->setParent(NULL); layout->addWidget(resumeButton); emit pause(); } void RecordingButton::handleResume() { layout->removeWidget(resumeButton); resumeButton->setParent(NULL); layout->addWidget(pauseButton); emit resume(); } deepin-voice-recorder-5.0.0/src/recording_button.h000066400000000000000000000025761351056250300222070ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #ifndef RECORDINGBUTTON_H #define RECORDINGBUTTON_H #include #include "dimagebutton.h" DWIDGET_USE_NAMESPACE class RecordingButton : public QWidget { Q_OBJECT public: RecordingButton(QWidget *parent = 0); signals: void pause(); void resume(); public slots: void handlePause(); void handleResume(); private: DImageButton *pauseButton; DImageButton *resumeButton; QVBoxLayout *layout; }; #endif deepin-voice-recorder-5.0.0/src/shrank_animation_button.cpp000066400000000000000000000067001351056250300241040ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #include #include #include #include #include "shrank_animation_button.h" #include "utils.h" const int ShrankAnimationButton::ANIMATION_WIDTH = 45; DWIDGET_USE_NAMESPACE ShrankAnimationButton::ShrankAnimationButton(QWidget *parent) : QWidget(parent) { pauseButtonImg = DHiDPIHelper::loadNxPixmap(Utils::getQrcPath("record_pause_normal.svg")); finishButtonImg = DHiDPIHelper::loadNxPixmap(Utils::getQrcPath("finish_normal.svg")); recordButtonImg = DHiDPIHelper::loadNxPixmap(Utils::getQrcPath("record_small_normal.svg")); setFixedSize(300, 64); renderTicker = 0; opacityFrames = 5; animationFrames = 8; animationDuration = 25; } void ShrankAnimationButton::startAnimation() { renderTimer = new QTimer(this); connect(renderTimer, SIGNAL(timeout()), this, SLOT(renderAnimation())); renderTimer->start(animationDuration); } void ShrankAnimationButton::paintEvent(QPaintEvent *) { QPainter painter(this); qreal devicePixelRatio = qApp->devicePixelRatio(); if (renderTicker <= animationFrames) { painter.setOpacity(1 - (1 * Utils::easeInOut(std::min(renderTicker, opacityFrames) / (opacityFrames * 1.0)))); painter.drawPixmap(QPoint((rect().width() - pauseButtonImg.width() / devicePixelRatio) / 2 - (ANIMATION_WIDTH - Utils::easeInOut((renderTicker) / (animationFrames * 1.0)) * ANIMATION_WIDTH), (rect().height() - pauseButtonImg.height() / devicePixelRatio) / 2), pauseButtonImg); painter.setOpacity(1 - (1 * Utils::easeInOut(std::min(renderTicker, opacityFrames) / (opacityFrames * 1.0)))); painter.drawPixmap(QPoint((rect().width() - finishButtonImg.width() / devicePixelRatio) / 2 + (ANIMATION_WIDTH - Utils::easeInOut((renderTicker) / (animationFrames * 1.0)) * ANIMATION_WIDTH), (rect().height() - finishButtonImg.height() / devicePixelRatio) / 2), finishButtonImg); painter.setOpacity(1 * Utils::easeInOut(std::min(renderTicker, opacityFrames) / (opacityFrames * 1.0))); painter.drawPixmap(QPoint((rect().width() - recordButtonImg.width() / devicePixelRatio) / 2, (rect().height() - recordButtonImg.height() / devicePixelRatio) / 2), recordButtonImg); } } void ShrankAnimationButton::renderAnimation() { if (renderTicker < animationFrames) { renderTicker++; repaint(); } else { renderTimer->stop(); emit finish(); } } deepin-voice-recorder-5.0.0/src/shrank_animation_button.h000066400000000000000000000031031351056250300235430ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #ifndef SHRANKANIMATIONBUTTON_H #define SHRANKANIMATIONBUTTON_H #include #include class ShrankAnimationButton : public QWidget { Q_OBJECT static const int ANIMATION_WIDTH; public: ShrankAnimationButton(QWidget *parent=0); void paintEvent(QPaintEvent *); void startAnimation(); signals: void finish(); public slots: void renderAnimation(); private: QPixmap finishButtonImg; QPixmap pauseButtonImg; QPixmap recordButtonImg; QTimer *renderTimer; int animationDuration; int animationFrames; int opacityFrames; int renderTicker; }; #endif deepin-voice-recorder-5.0.0/src/toolbar.cpp000066400000000000000000000025561351056250300206330ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #include #include #include #include #include #include "toolbar.h" #include "utils.h" DWIDGET_USE_NAMESPACE Toolbar::Toolbar(QWidget *parent) : QWidget(parent) { QHBoxLayout *layout = new QHBoxLayout(this); QLabel *iconLabel = new QLabel(); iconLabel->setPixmap(DHiDPIHelper::loadNxPixmap(Utils::getQrcPath("titlebar_icon.svg"))); layout->addWidget(iconLabel); } deepin-voice-recorder-5.0.0/src/toolbar.h000066400000000000000000000020761351056250300202750ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #include #include #ifndef TOOLBAR_H #define TOOLBAR_H class Toolbar : public QWidget { Q_OBJECT public: Toolbar(QWidget *parent = 0); }; #endif deepin-voice-recorder-5.0.0/src/utils.cpp000066400000000000000000000104011351056250300203150ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #include #include #include #include #include #include #include #include #include #include #include #include "utils.h" Utils::Utils(QObject *parent) : QObject(parent) { } QString Utils::getImagePath(QString imageName) { QDir dir(qApp->applicationDirPath()); dir.cdUp(); return QDir(dir.filePath("image")).filePath(imageName); } QString Utils::getQssPath(QString qssName) { return QString(":/qss/%1").arg(qssName); } void Utils::applyQss(QWidget *widget, QString qssName) { QFile file(Utils::getQssPath(qssName)); file.open(QFile::ReadOnly); QTextStream filetext(&file); QString stylesheet = filetext.readAll(); widget->setStyleSheet(stylesheet); file.close(); } QString Utils::getQrcPath(QString imageName) { return QString(":/image/%1").arg(imageName); } QSize Utils::getRenderSize(int fontSize, QString string) { QFont font; font.setPointSize(fontSize); QFontMetrics fm(font); int width = 0; int height = 0; foreach (auto line, string.split("\n")) { int lineWidth = fm.width(line); int lineHeight = fm.height(); if (lineWidth > width) { width = lineWidth; } height += lineHeight; } return QSize(width, height); } void Utils::setFontSize(QPainter &painter, int textSize) { QFont font = painter.font() ; font.setPointSize(textSize); painter.setFont(font); } void Utils::removeChildren(QWidget *widget) { qDeleteAll(widget->children()); } void Utils::removeLayoutChild(QLayout *layout, int index) { QLayoutItem *item = layout->itemAt(index); if (item != 0) { QWidget *widget = item->widget(); if (widget != NULL) { widget->hide(); widget->setParent(NULL); layout->removeWidget(widget); } } } void Utils::addLayoutWidget(QLayout *layout, QWidget *widget) { layout->addWidget(widget); widget->show(); } QString Utils::formatMillisecond(int millisecond) { if (millisecond / 1000 < 3600) { // At least need return 1 seconds. return QDateTime::fromTime_t(std::max(1, millisecond / 1000)).toUTC().toString("mm:ss"); } else { return QDateTime::fromTime_t(millisecond / 1000).toUTC().toString("hh:mm:ss"); } } QString Utils::getRecordingSaveDirectory() { QDir musicDirectory = QDir(QStandardPaths::standardLocations(QStandardPaths::MusicLocation).first()); QString subDirectory = tr("Recordings"); musicDirectory.mkdir(subDirectory); return musicDirectory.filePath(subDirectory); } QFileInfoList Utils::getRecordingFileinfos() { QStringList filters; filters << "*.wav"; return QDir(Utils::getRecordingSaveDirectory()).entryInfoList(filters, QDir::Files|QDir::NoDotAndDotDot); } bool Utils::fileExists(QString path) { QFileInfo check_file(path); // check if file exists and if yes: Is it really a file and no directory? return check_file.exists() && check_file.isFile(); } qreal Utils::easeInOut(qreal x) { return (1 - qCos(M_PI * x)) / 2; } qreal Utils::easeInQuad(qreal x) { return qPow(x, 2); } qreal Utils::easeOutQuad(qreal x) { return -1 * qPow(x - 1, 2) + 1; } qreal Utils::easeInQuint(qreal x) { return qPow(x, 5); } qreal Utils::easeOutQuint(qreal x) { return qPow(x - 1, 5) + 1; } deepin-voice-recorder-5.0.0/src/utils.h000066400000000000000000000037231351056250300177730ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #include #include #include #include #include class Utils : public QObject { Q_OBJECT public: Utils(QObject *parent = 0); static QFileInfoList getRecordingFileinfos(); static QSize getRenderSize(int fontSize, QString string); static QString formatMillisecond(int millisecond); static QString getImagePath(QString imageName); static QString getQrcPath(QString imageName); static QString getQssPath(QString qssName); static QString getRecordingSaveDirectory(); static bool fileExists(QString path); static qreal easeInOut(qreal x); static qreal easeInQuad(qreal x); static qreal easeInQuint(qreal x); static qreal easeOutQuad(qreal x); static qreal easeOutQuint(qreal x); static void addLayoutWidget(QLayout *layout, QWidget *widget); static void applyQss(QWidget *widget, QString qssName); static void removeChildren(QWidget *widget); static void removeLayoutChild(QLayout *layout, int index); static void setFontSize(QPainter &painter, int textSize); }; deepin-voice-recorder-5.0.0/src/waveform.cpp000066400000000000000000000172311351056250300210130ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #include #include #include #include #include #include #include #include #include #include "waveform.h" const int Waveform::SAMPLE_DURATION = 30; const int Waveform::WAVE_WIDTH = 2; const int Waveform::WAVE_DURATION = 4; Waveform::Waveform(QWidget *parent) : QWidget(parent) { setFixedSize(350, 71); lastSampleTime = QDateTime::currentDateTime(); renderTimer = new QTimer(this); connect(renderTimer, SIGNAL(timeout()), this, SLOT(renderWave())); renderTimer->start(SAMPLE_DURATION); } void Waveform::paintEvent(QPaintEvent *) { QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing, true); // Background render just for test. // QRect testRect(rect()); // QLinearGradient testGradient(testRect.topLeft(), testRect.bottomLeft()); // testGradient.setColorAt(0, QColor("#0000ff")); // testGradient.setColorAt(1, QColor("#00ff00")); // painter.fillRect(testRect, testGradient); // FIXME: // I don't know why need clip less than rect width when HiDPI. qreal devicePixelRatio = qApp->devicePixelRatio(); if (devicePixelRatio > 1.0) { painter.setClipRect(QRect(rect().x(), rect().y(), rect().width() - 1, rect().height())); } else { painter.setClipRect(QRect(rect().x(), rect().y(), rect().width(), rect().height())); } int volume = 0; for (int i = 0; i < sampleList.size(); i++) { volume = sampleList[i] * rect().height() * 2; if (volume == 0) { QPainterPath path; path.addRect(QRectF(rect().x() + i * WAVE_DURATION, rect().y() + (rect().height() - 1) / 2, WAVE_DURATION, 1)); painter.fillPath(path, QColor("#FFA0A0")); } else { QRect sampleRect(rect().x() + i * WAVE_DURATION, rect().y() + (rect().height() - volume) / 2, WAVE_WIDTH , volume); QLinearGradient gradient(sampleRect.topLeft(), sampleRect.bottomLeft()); gradient.setColorAt(0, QColor("#FFBD78")); gradient.setColorAt(1, QColor("#FF005C")); painter.fillRect(sampleRect, gradient); } } if (sampleList.size() < rect().width() / WAVE_DURATION) { QPainterPath path; path.addRect(QRectF(rect().x() + sampleList.size() * WAVE_DURATION, rect().y() + (rect().height() - 1) / 2, rect().width() - (rect().x() + sampleList.size() * WAVE_DURATION), 1)); painter.fillPath(path, QColor("#FFA0A0")); } } void Waveform::updateWave(float sample) { QDateTime currentTime = QDateTime::currentDateTime(); if (lastSampleTime.msecsTo(currentTime) > SAMPLE_DURATION) { if (sampleList.size() > rect().width() / WAVE_DURATION) { sampleList.pop_front(); } sampleList << sample; lastSampleTime = currentTime; } } void Waveform::renderWave() { repaint(); } void Waveform::clearWave() { sampleList.clear(); } // returns the audio level for each channel QVector Waveform::getBufferLevels(const QAudioBuffer& buffer) { QVector values; if (!buffer.format().isValid() || buffer.format().byteOrder() != QAudioFormat::LittleEndian) return values; if (buffer.format().codec() != "audio/pcm") return values; int channelCount = buffer.format().channelCount(); values.fill(0, channelCount); qreal peak_value = Waveform::getPeakValue(buffer.format()); if (qFuzzyCompare(peak_value, qreal(0))) return values; switch (buffer.format().sampleType()) { case QAudioFormat::Unknown: case QAudioFormat::UnSignedInt: if (buffer.format().sampleSize() == 32) values = Waveform::getBufferLevels(buffer.constData(), buffer.frameCount(), channelCount); if (buffer.format().sampleSize() == 16) values = Waveform::getBufferLevels(buffer.constData(), buffer.frameCount(), channelCount); if (buffer.format().sampleSize() == 8) values = Waveform::getBufferLevels(buffer.constData(), buffer.frameCount(), channelCount); for (int i = 0; i < values.size(); ++i) values[i] = qAbs(values.at(i) - peak_value / 2) / (peak_value / 2); break; case QAudioFormat::Float: if (buffer.format().sampleSize() == 32) { values = Waveform::getBufferLevels(buffer.constData(), buffer.frameCount(), channelCount); for (int i = 0; i < values.size(); ++i) values[i] /= peak_value; } break; case QAudioFormat::SignedInt: if (buffer.format().sampleSize() == 32) values = Waveform::getBufferLevels(buffer.constData(), buffer.frameCount(), channelCount); if (buffer.format().sampleSize() == 16) values = Waveform::getBufferLevels(buffer.constData(), buffer.frameCount(), channelCount); if (buffer.format().sampleSize() == 8) values = Waveform::getBufferLevels(buffer.constData(), buffer.frameCount(), channelCount); for (int i = 0; i < values.size(); ++i) values[i] /= peak_value; break; } return values; } template QVector Waveform::getBufferLevels(const T *buffer, int frames, int channels) { QVector max_values; max_values.fill(0, channels); for (int i = 0; i < frames; ++i) { for (int j = 0; j < channels; ++j) { qreal value = qAbs(qreal(buffer[i * channels + j])); if (value > max_values.at(j)) max_values.replace(j, value); } } return max_values; } // This function returns the maximum possible sample value for a given audio format qreal Waveform::getPeakValue(const QAudioFormat& format) { // Note: Only the most common sample formats are supported if (!format.isValid()) return qreal(0); if (format.codec() != "audio/pcm") return qreal(0); switch (format.sampleType()) { case QAudioFormat::Unknown: break; case QAudioFormat::Float: if (format.sampleSize() != 32) // other sample formats are not supported return qreal(0); return qreal(1.00003); case QAudioFormat::SignedInt: if (format.sampleSize() == 32) return qreal(INT_MAX); if (format.sampleSize() == 16) return qreal(SHRT_MAX); if (format.sampleSize() == 8) return qreal(CHAR_MAX); break; case QAudioFormat::UnSignedInt: if (format.sampleSize() == 32) return qreal(UINT_MAX); if (format.sampleSize() == 16) return qreal(USHRT_MAX); if (format.sampleSize() == 8) return qreal(UCHAR_MAX); break; } return qreal(0); } deepin-voice-recorder-5.0.0/src/waveform.h000066400000000000000000000035631351056250300204630ustar00rootroot00000000000000/* -*- Mode: C++; indent-tabs-mode: nil; tab-width: 4 -*- * -*- coding: utf-8 -*- * * Copyright (C) 2011 ~ 2018 Deepin, Inc. * 2011 ~ 2018 Wang Yong * * Author: Wang Yong * Maintainer: Wang Yong * * 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 * 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 . */ #ifndef WAVEFORM_H #define WAVEFORM_H #include #include #include #include #include class Waveform : public QWidget { Q_OBJECT static const int SAMPLE_DURATION; static const int WAVE_WIDTH; static const int WAVE_DURATION; public: Waveform(QWidget *parent = 0); static qreal getPeakValue(const QAudioFormat &format); static QVector getBufferLevels(const QAudioBuffer &buffer); template static QVector getBufferLevels(const T *buffer, int frames, int channels); void clearWave(); public slots: void renderWave(); void updateWave(float sample); protected: void paintEvent(QPaintEvent *event); private: QDateTime lastSampleTime; QList sampleList; QTimer *renderTimer; }; #endif deepin-voice-recorder-5.0.0/translations.pri000066400000000000000000000001021351056250300211140ustar00rootroot00000000000000TRANSLATIONS += \ translations/deepin-voice-recorder_zh_CN.ts deepin-voice-recorder-5.0.0/translations/000077500000000000000000000000001351056250300204075ustar00rootroot00000000000000deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder.ts000066400000000000000000000041441351056250300251340ustar00rootroot00000000000000 FileView Rename Display in file manager Delete MainWindow New recording Open saved directory Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Voice Recorder RecordPage New recording Utils Recordings deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_am_ET.ts000066400000000000000000000042451351056250300262030ustar00rootroot00000000000000 FileView Rename እንደገና መሰየሚያ Display in file manager በ ፋይል አስተዳዳሪ ውስጥ ማሳያ Delete MainWindow New recording አዲስ መቅረጫ Open saved directory የ ተቀመጠ ዳይሬክቶሪ መክፈቻ Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Voice Recorder የ ዲፕኢን ድምፅ መቅረጫ RecordPage New recording አዲስ መቅረጫ Utils Recordings deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_ar.ts000066400000000000000000000046001351056250300256130ustar00rootroot00000000000000 FileView Rename إعادة التسمية Display in file manager إظهار في مدير الملفات Delete حذف MainWindow New recording تسجيل جديد Open saved directory فتح الدليل المحفوظ Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. مسجل الصوت دييبن هو برنامج تسجيل الصوت جميل وسهل محتوى في تصميم بسيط. يدعم التسجيل الظاهري٫ تشغيل التسجيل٫ إدارة التسجيلات و غيرها من المهام. Deepin Voice Recorder مسجل الصوت دييبن RecordPage New recording تسجيل جديد Utils Recordings قيد التسجيل deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_ast.ts000066400000000000000000000044041351056250300260020ustar00rootroot00000000000000 FileView Rename Renomar Display in file manager Amosar nel xestor de ficheros Delete Desaniciar MainWindow New recording Grabación nueva Open saved directory Abrir direutoriu de guardáu Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Voice Recorder ye una aplicación cenciella, guapa y fácil pa grabar voces. Sofita la grabación visual, y la reproducción y xestión de grabaciones, amás d'otres funciones. Deepin Voice Recorder Deepin Voice Recorder RecordPage New recording Grabación nueva Utils Recordings Grabaciones deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_az.ts000066400000000000000000000041021351056250300256200ustar00rootroot00000000000000 FileView Rename Yenidən adlandır Display in file manager Fayl menecerində göstər Delete MainWindow New recording Yeni qeyd Open saved directory Yadda saxlananlar rəhbərliyini aç Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Voice Recorder Deepin Səs Yazıcı RecordPage New recording Yeni qeyd Utils Recordings deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_bg.ts000066400000000000000000000041641351056250300256060ustar00rootroot00000000000000 FileView Rename Преименуване Display in file manager Покажи в файлов мениджър Delete MainWindow New recording Нов запис Open saved directory Отвори запазената папка Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Voice Recorder Deepin Voice Recorder RecordPage New recording Нов запис Utils Recordings deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_bn.ts000066400000000000000000000055441351056250300256200ustar00rootroot00000000000000 FileView Rename পূনরায় নাম দিন Display in file manager ফাইল ম্যানেজারে দেখান Delete ডিলিট করুন MainWindow New recording নতুন রেকর্ডিং Open saved directory যেখানে সংরক্ষণ করা হয়েছে সেই পথ খুলুন Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. ডিপিন ভয়েস রেকর্ডার সুন্দর সহজে ব্যবহারযোগ্য এবং সাধারণ ডিজাইনের একটি ভয়েস রেকর্ডার এপ্লিকেশন। এটি ভিজ্যুয়াল রেকর্ডিং, রেকর্ডিং প্লেব্যাক, রেকর্ডিং তালিকা ব্যবস্থাপনা এবং অন্যান্য ফাংশন সমর্থন করে। Deepin Voice Recorder ডিপিন ভয়েস রেকর্ডার RecordPage New recording নতুন রেকর্ডিং Utils Recordings রেকর্ড করা হচ্ছে deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_ca.ts000066400000000000000000000044301351056250300255750ustar00rootroot00000000000000 FileView Rename Canvia'n el nom Display in file manager Mostra-ho al gestor de fitxers Delete Elimina MainWindow New recording Gravació nova Open saved directory Obre el directori desat Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. El Gravador de veu del Deepin és una aplicació de gravació de veu bonica i fàcil d'usar amb un disseny senzill. Admet gravació visual, reproducció, gestió de les gravacions i altres funcions. Deepin Voice Recorder Gravador de veu del Deepin RecordPage New recording Gravació nova Utils Recordings Gravacions deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_cs.ts000066400000000000000000000044151351056250300256220ustar00rootroot00000000000000 FileView Rename Přejmenovat Display in file manager Zobrazit ve správci souborů Delete Smazat MainWindow New recording Nová nahrávka Open saved directory Otevřít uložený adresář Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Nahrávač hlasu je překrásný, jednoduchý a snadno použitelný program na nahrávání hlasu. Podporuje zrakové nahrávání, přehrávání nahrávky, správu seznamu záznamů a má i jiné funkce. Deepin Voice Recorder Nahrávač hlasu RecordPage New recording Nová nahrávka Utils Recordings Nahrávky deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_da.ts000066400000000000000000000043141351056250300255770ustar00rootroot00000000000000 FileView Rename Omdøb Display in file manager Vis i filhåndtering Delete Slet MainWindow New recording Ny optagelse Open saved directory Åbn gemt mappe Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin stemmeoptager er en simpel, smuk og nem måde at bruge et stemmeoptagelsesprogram. Den understøtter visuel optagelse, håndtering af optagelser og andre funktioner. Deepin Voice Recorder Deepin stemmeoptager RecordPage New recording Ny optagelse Utils Recordings Optagelser deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_de.ts000066400000000000000000000043631351056250300256070ustar00rootroot00000000000000 FileView Rename Umbenennen Display in file manager Im Dateimanager anzeigen Delete Löschen MainWindow New recording Neue Aufnahme Open saved directory Speicherort öffnen Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Voice Recorder ist eine einfache, schöne und einfach zu bedienende Anwendung zur Sprachaufnahme. Es unterstützt visuelle Aufnahme, Wiedergabe, Aufnahmemanagement und andere Funktionen. Deepin Voice Recorder Deepin Voice Recorder RecordPage New recording Neue Aufnahme Utils Recordings Aufnahmen deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_el.ts000066400000000000000000000047241351056250300256200ustar00rootroot00000000000000 FileView Rename Μετονομασία Display in file manager Εμφάνιση στο διαχειριστή αρχείων Delete Διαγραφή MainWindow New recording Νέα εγγραφή Open saved directory Ανοίξτε τον κατάλογο αποθήκευσης. Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Η εγγραφή φωνής Deepin, είναι μια απλή, όμορφη και εύχρηστη εφαρμογή εγγραφής. Υποστηρίζει εγγραφή, αναπαραγωγή, διαχείριση εγγραφών και άλλες λειτουργίες. Deepin Voice Recorder Εγγραφέας Φωνής Deepin RecordPage New recording Νέα εγγραφή Utils Recordings Εγγραφές deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_en_US.ts000066400000000000000000000042351351056250300262260ustar00rootroot00000000000000 FileView Rename Display in file manager Delete MainWindow New recording Open saved directory About Help Exit Deepin Voice Recorder is a beautiful and easy to use voice recording application with simple design. It supports visual recording, recording playback, recording list management and other functions. Deepin Voice Recorder Version QObject Deepin Voice Recorder RecordPage New recording Utils Recording deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_es.ts000066400000000000000000000043351351056250300256250ustar00rootroot00000000000000 FileView Rename Renombrar Display in file manager Mostrar en el gestor de archivos Delete Borrar MainWindow New recording Nueva grabación Open saved directory Abrir el directorio guardado Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. La grabadora de voz de deepin es una simple y hermosa aplicación. Admite grabación visual, reproducción, gestión de grabaciones y otras funciones. Deepin Voice Recorder Grabadora de voz Deepin RecordPage New recording Nueva grabación Utils Recordings Grabando deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_es_419.ts000066400000000000000000000044461351056250300262250ustar00rootroot00000000000000 FileView Rename Renombrar Display in file manager Mostrar en el administrador de archivos Delete Eliminar MainWindow New recording Nueva grabación Open saved directory Abrir el directorio guardado Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Grabadora de voz Deepin es una aplicación bonita y fácil de usar para grabar voz.Soporta grabación visual, reproducción de grabaciones y una lista de grabaciones para su gestión entre otras funciones.  Deepin Voice Recorder Grabadora de voz Deepin RecordPage New recording Nueva grabación Utils Recordings Grabaciones deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_fi.ts000066400000000000000000000043551351056250300256160ustar00rootroot00000000000000 FileView Rename Nimeä Display in file manager Näytä tiedostojen hallinnassa Delete Poista MainWindow New recording Uusi äänitys Open saved directory Avaa äänitysten kansio Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Voice Recorder on yksinkertainen, kaunis ja helppokäyttöinen äänitallennusohjelma. Se tukee visuaalista tallennusta, toistoa, tallennusten hallintaa ja muita toimintoja. Deepin Voice Recorder Deepin ääninauhuri RecordPage New recording Uusi äänitys Utils Recordings Äänitys deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_fr.ts000066400000000000000000000045211351056250300256220ustar00rootroot00000000000000 FileView Rename Renommer Display in file manager Afficher dans le gestionnaire de fichiers Delete Supprimer MainWindow New recording Nouvel enregistrement Open saved directory Ouvrir dossier d'enregistrement Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Voice Recorder est une application d'enregistrement vocal simple, belle et facile à utiliser. Elle prend en charge l'enregistrement visuel, la lecture, la gestion des enregistrements et d'autres fonctions. Deepin Voice Recorder Enregistreur vocal Deepin RecordPage New recording Nouvel enregistrement Utils Recordings Enregistrements deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_gl_ES.ts000066400000000000000000000040671351056250300262110ustar00rootroot00000000000000 FileView Rename Renomear Display in file manager Amosar no xestor de ficheiros Delete MainWindow New recording Nova gravación Open saved directory Abrir cartafol gardado Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Voice Recorder Gravador de Voz RecordPage New recording Nova gravación Utils Recordings deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_he.ts000066400000000000000000000041461351056250300256120ustar00rootroot00000000000000 FileView Rename שינוי שם Display in file manager הצגה במנהל הקבצים Delete MainWindow New recording הקלטה חדשה Open saved directory פתיחת התיקייה השמורה Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Voice Recorder מקליט הקול של Deepin RecordPage New recording הקלטה חדשה Utils Recordings deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_hi_IN.ts000066400000000000000000000043621351056250300262040ustar00rootroot00000000000000 FileView Rename नाम बदलें Display in file manager फ़ाइल प्रबंधक में देखें Delete MainWindow New recording नई रिकॉर्डिंग Open saved directory संचित की गई डायरेक्टरी खोलें Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Voice Recorder डीपिन ध्वनि रिकॉर्डर RecordPage New recording नई रिकॉर्डिंग Utils Recordings deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_hr.ts000066400000000000000000000041001351056250300256150ustar00rootroot00000000000000 FileView Rename Preimenuj Display in file manager Prikaži u upravitelju datotekama Delete MainWindow New recording Novo snimanje Open saved directory Otvori spremljeni direktorij Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Voice Recorder Deepin snimač glasa RecordPage New recording Novo snimanje Utils Recordings deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_hu.ts000066400000000000000000000041001351056250300256200ustar00rootroot00000000000000 FileView Rename Átnevezés Display in file manager Megtekintés fájlkezelőben Delete MainWindow New recording Új felvétel Open saved directory Mentett könyvtár megnyitása Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Voice Recorder Deepin Hangrögzítő RecordPage New recording Új felvétel Utils Recordings deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_id.ts000066400000000000000000000040701351056250300256060ustar00rootroot00000000000000 FileView Rename Ganti nama Display in file manager Tampilkan dalam manajer berkas Delete MainWindow New recording Rekaman baru Open saved directory Buka direktori tersimpan Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Voice Recorder Perekam Suara Deepin RecordPage New recording Rekaman baru Utils Recordings deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_it.ts000066400000000000000000000045101351056250300256250ustar00rootroot00000000000000 FileView Rename Rinomina Display in file manager Visualizza nel file manager Delete Elimina MainWindow New recording Nuova registrazione Open saved directory Apri la cartella di salvataggio Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Voice Recorder è un registratore vocale bello, dal design minimale e semplice da usare. Permette di ascoltare la registrazione, di gestire le registrazioni e nasconde altre funzionalità. Localizzazione italiana a cura di Massimo A. Carofano. Deepin Voice Recorder Deepin Voice Recorder RecordPage New recording Nuova registrazione Utils Recordings Registrazioni deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_ja.ts000066400000000000000000000045271351056250300256130ustar00rootroot00000000000000 FileView Rename 名前を変更 Display in file manager ファイルマネージャーで表示 Delete 削除 MainWindow New recording 新規のボイスメモ Open saved directory 保存先のディレクトリーを開く Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin ボイスレコーダーは、シンプルで綺麗な、使いやすい録音アプリケーションです。ボイスメモの視覚化、再生、録音したものの管理などができます。 Deepin Voice Recorder Deepin ボイスレコーダー RecordPage New recording 新規のボイスメモ Utils Recordings レコーディング deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_ko.ts000066400000000000000000000043751351056250300256330ustar00rootroot00000000000000 FileView Rename 이름 바꾸기 Display in file manager 파일 관리자에 표시 Delete 삭제 MainWindow New recording 새 녹음 Open saved directory 저장된 디렉토리 열기 Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin 음성 녹음기는 간단하고 아름답고 사용하기 쉬운 음성 녹음 응용 프로그램입니다. 시각적 기록, 재생, 기록 관리 및 기타 기능을 지원합니다. Deepin Voice Recorder Deepin 음성 녹음기 RecordPage New recording 새 녹음 Utils Recordings 녹음 deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_lt.ts000066400000000000000000000043771351056250300256430ustar00rootroot00000000000000 FileView Rename Pervadinti Display in file manager Rodyti failų tvarkytuvėje Delete Ištrinti MainWindow New recording Naujas įrašas Open saved directory Atverti įrašytųjų katalogą Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin balso rašytuvas yra paprasta, patraukli ir lengva naudoti balso įrašymo programa. Ji palaiko vaizdinius įrašus, įrašų atkūrimą, įrašų tvarkymą ir kitas funkcijas. Deepin Voice Recorder Deepin balso rašytuvas RecordPage New recording Naujas įrašas Utils Recordings Įrašai deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_mn.ts000066400000000000000000000042551351056250300256310ustar00rootroot00000000000000 FileView Rename Нэр солих Display in file manager Файл зохицуулагч харуулах Delete MainWindow New recording Шинэ дуу хурааж байна Open saved directory Хадаглагдсан замыг нээх Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Voice Recorder Дээпин Дуу Хураагуур RecordPage New recording Шинэ дуу хурааж байна Utils Recordings deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_ms.ts000066400000000000000000000043601351056250300256330ustar00rootroot00000000000000 FileView Rename Nam Semula Display in file manager Papar dalam pengurus fail Delete Padam MainWindow New recording Rakaman baharu Open saved directory Buka direktori tersimpan Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Perakam Suara Deepin ialah sebuah aplikasi rakaman suara yang ringkas, cantik dan mudah digunakan. Ia menyokong rakaman visual, main balik rakaman, pengurusan rakaman dan lain-lain fungsi. Deepin Voice Recorder Perakam Suara Deepin RecordPage New recording Rakaman baharu Utils Recordings Rakaman deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_ne.ts000066400000000000000000000054201351056250300256140ustar00rootroot00000000000000 FileView Rename पुन: नामाकरण गर्नुहोस् Display in file manager फाईल प्रबन्धकमा हेर्नुहोस Delete मेटाउनुहोस् MainWindow New recording नयाँ रेकर्डिङ Open saved directory सुरक्षित डाइरेक्टरी खोल्नुहोस् Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. डिपिन आवाज रिकर्डर एक सरल, सुन्दर र भ्वाईस रेकर्डिंग अनुप्रयोग प्रयोग गर्न सजिलो हो। यसले दृश्य रेकर्डिङ, प्लेब्याक, रेकर्डिङ व्यवस्थापन र अन्य प्रकार्यहरू समर्थन गर्दछ। Deepin Voice Recorder डिपिन आवाज रेकर्डर RecordPage New recording नयाँ रेकर्डिङ Utils Recordings रेकर्डिङ deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_nl.ts000066400000000000000000000044121351056250300256230ustar00rootroot00000000000000 FileView Rename Naam wijzigen Display in file manager Tonen in bestandsbeheerder Delete Verwijderen MainWindow New recording Nieuwe opname Open saved directory Opgeslagen map openen Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Geluidsopname is een prachtig ontworpen en eenvoudig te gebruiken applicatie voor stemopnames. Deepin Geluidsopname ondersteunt visuele feedback bij het opnemen, afspelen en beheren van opnames en meer. Deepin Voice Recorder Deepin Geluidsopname RecordPage New recording Nieuwe opname Utils Recordings Opnames deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_pl.ts000066400000000000000000000043471351056250300256340ustar00rootroot00000000000000 FileView Rename Zmień nazwę Display in file manager Wyświetl w menedżerze plików Delete Usuń MainWindow New recording Nowe nagranie Open saved directory Otwórz zapisany katalog Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Voice Recorder to prosta, piękna i łatwa w użyciu aplikacja do nagrywania głosu. Obsługuje nagrywanie wizualne, odtwarzanie, zarządzanie nagraniami i inne funkcje. Deepin Voice Recorder Dyktafon Deepin RecordPage New recording Nowe nagranie Utils Recordings Nagrania deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_pt.ts000066400000000000000000000044201351056250300256340ustar00rootroot00000000000000 FileView Rename Renomear Display in file manager Mostrar no gestor de ficheiros Delete Eliminar MainWindow New recording Nova gravação Open saved directory Abrir diretório de gravação Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. O Deepin Voice Recorder é uma aplicação de gravação de voz, bonita e fácil de utilizar. Suporta gravação visual, reprodução de gravações, gestor de listas de gravações e outras funções. Deepin Voice Recorder Deepin Voice Recorder RecordPage New recording Nova gravação Utils Recordings Gravações deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_pt_BR.ts000066400000000000000000000043561351056250300262270ustar00rootroot00000000000000 FileView Rename Renomear Display in file manager Exibir no gerenciador de arquivos Delete Excluir MainWindow New recording Nova gravação Open saved directory Abrir diretório salvo Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Voice Recorder é um aplicativo de gravação de voz simples, bonito e fácil de usar. Suporta gravação visual, reprodução, gerenciamento de gravações e outras funções. Deepin Voice Recorder Gravador RecordPage New recording Nova gravação Utils Recordings Gravações deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_ru.ts000066400000000000000000000047201351056250300256420ustar00rootroot00000000000000 FileView Rename Переименовать Display in file manager Отобразить в менеджере файлов Delete Удалить MainWindow New recording Новая запись Open saved directory Открыть каталог сохранения Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Диктофон Deepin - это простое, красивое и удобное приложение для записи голоса. Он поддерживает визуальную запись, воспроизведение, управление записями и другие функции. Deepin Voice Recorder Диктофон Deepin RecordPage New recording Новая запись Utils Recordings Записи deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_sk.ts000066400000000000000000000044221351056250300256300ustar00rootroot00000000000000 FileView Rename Premenovať Display in file manager Zobraziť v správcovi súborov Delete Vymazať MainWindow New recording Nová nahrávka Open saved directory Otvoriť adresár uloženia Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Záznam zvuku je krásna a ľahko použiteľná aplikácia pre nahrávanie hlasu s jednoduchým dizajnom. Podporuje vizuálne nahrávanie, prehrávanie, list manažment nahrávok a ďalšie funkcie. Deepin Voice Recorder Deepin Záznam zvuku RecordPage New recording Nová nahrávka Utils Recordings Nahrávky deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_sl.ts000066400000000000000000000040721351056250300256320ustar00rootroot00000000000000 FileView Rename Preimenuj Display in file manager Prikaži v upravitelju datotek Delete MainWindow New recording Nov posnetek Open saved directory Odpri shranjen direktorij Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Voice Recorder Snemalnik zvoka Deepin RecordPage New recording Nov posnetek Utils Recordings deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_sr.ts000066400000000000000000000046621351056250300256450ustar00rootroot00000000000000 FileView Rename Преименуј Display in file manager Прикажи у управнику података Delete Обриши MainWindow New recording Нови снимак Open saved directory Отвори место чувања Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Дипин Снимач Гласа је леп и лак за коришћење програм једноставног дизајна. Подржава визуелно снимање, пуштање снимка, управљање листом снимака и друге функције. Deepin Voice Recorder Дипин Снимач Гласа RecordPage New recording Нови снимак Utils Recordings Снимци deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_ta.ts000066400000000000000000000045021351056250300256160ustar00rootroot00000000000000 FileView Rename மறுபெயரிடு Display in file manager கோப்பகத்தில் காட்டுக Delete நீக்கு MainWindow New recording பதிவு செய்துகொண்டு இருக்கிறது Open saved directory சேமிக்கப்பட்ட கோப்பகத்தை திற Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Voice Recorder டிப்பின் ஒலி பதிவான் RecordPage New recording புதிய பதிவு Utils Recordings பதிவுகள் deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_tr.ts000066400000000000000000000043621351056250300256430ustar00rootroot00000000000000 FileView Rename Yeniden adlandır Display in file manager Dosya yöneticisinde görüntüle Delete Sil MainWindow New recording Yeni kayıt Open saved directory Kayıtlı dizini aç Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Ses Kaydedici basit tasarımlı, güzel ve kullanımı kolay bir ses kaydetme uygulamasıdır. Görsel kayıt, kayıt oynatma, kayıt listesi yönetimi gibi özellikleri vardır. Deepin Voice Recorder Deepin Ses Kaydedici RecordPage New recording Yeni kayıt Utils Recordings Kayıtlar deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_uk.ts000066400000000000000000000046661351056250300256440ustar00rootroot00000000000000 FileView Rename Перейменувати Display in file manager Показати у файловому менеджері Delete Видалити MainWindow New recording Новий запис Open saved directory Відкрити каталог зберігання Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Диктофон - це простий, красивий і зручний додаток для запису голосу. Він підтримує візуальний запис, відтворення, керування записами і інші функції. Deepin Voice Recorder Deepin Диктофон RecordPage New recording Новий запис Utils Recordings Записи deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_zh_CN.ts000066400000000000000000000042521351056250300262150ustar00rootroot00000000000000 FileView Rename 重命名 Display in file manager 在文件管理器中显示 Delete 删除 MainWindow New recording 新录音 Open saved directory 打开保存目录 Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. 深度录音是一款设计简洁、美观易用的录音软件。它支持可视化录音、录音回放、录音列表管理等功能。 Deepin Voice Recorder 深度录音 RecordPage New recording 新录音 Utils Recordings 录音 deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_zh_HK.ts000066400000000000000000000040471351056250300262210ustar00rootroot00000000000000 FileView Rename 重新命名 Display in file manager 在檔案管理程式開啟 Delete MainWindow New recording 新錄音 Open saved directory 開啟資料夾 Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin Voice Recorder Deepin 錄音機 RecordPage New recording 新錄音 Utils Recordings deepin-voice-recorder-5.0.0/translations/deepin-voice-recorder_zh_TW.ts000066400000000000000000000042511351056250300262460ustar00rootroot00000000000000 FileView Rename 重新命名 Display in file manager 在檔案管理器中顯示 Delete 刪除 MainWindow New recording 開始錄音 Open saved directory 開啟儲存位置 Deepin Voice Recorder is a simple, beautiful and easy to use voice recording application. It supports visual recording, playback, recordings management and other functions. Deepin 錄音機是個美觀、簡單且易用的錄音程式,具備波形圖顯示、回放錄音內容、管理錄音等功能。 Deepin Voice Recorder Deepin 錄音 RecordPage New recording 錄音 Utils Recordings 錄音 deepin-voice-recorder-5.0.0/translations/desktop/000077500000000000000000000000001351056250300220605ustar00rootroot00000000000000deepin-voice-recorder-5.0.0/translations/desktop/desktop.ts000066400000000000000000000010171351056250300241000ustar00rootroot00000000000000 desktopDeepin Voice RecorderRecord voiceVoice Recorder deepin-voice-recorder-5.0.0/translations/desktop/desktop_ar.ts000066400000000000000000000011121351056250300245560ustar00rootroot00000000000000desktopDeepin Voice Recorderمسجل الصوت الخاص بديبينRecord voiceتسجيل صوتVoice Recorderمسجل الصوتdeepin-voice-recorder-5.0.0/translations/desktop/desktop_ast.ts000066400000000000000000000010551351056250300247510ustar00rootroot00000000000000desktopDeepin Voice RecorderDeepin Voice RecorderRecord voiceGraba la vozVoice RecorderGrabadora de vozdeepin-voice-recorder-5.0.0/translations/desktop/desktop_bg.ts000066400000000000000000000011121351056250300245440ustar00rootroot00000000000000desktopDeepin Voice RecorderDeepin запис на гласRecord voiceЗапис на гласVoice RecorderЗапис на гласdeepin-voice-recorder-5.0.0/translations/desktop/desktop_bn.ts000066400000000000000000000012011351056250300245520ustar00rootroot00000000000000desktopDeepin Voice Recorderডিপিন ভয়েস রেকর্ডারRecord voiceভয়েস রেকর্ড করুনVoice Recorderভয়েস রেকর্ডারdeepin-voice-recorder-5.0.0/translations/desktop/desktop_ca.ts000066400000000000000000000010551351056250300245450ustar00rootroot00000000000000desktopDeepin Voice RecorderGravador de veu del DeepinRecord voiceGrava veuVoice RecorderGravador de veudeepin-voice-recorder-5.0.0/translations/desktop/desktop_cs.ts000066400000000000000000000010471351056250300245700ustar00rootroot00000000000000desktopDeepin Voice RecorderNahrávač hlasuRecord voiceNahrát hlasVoice RecorderNahrávač hlasudeepin-voice-recorder-5.0.0/translations/desktop/desktop_da.ts000066400000000000000000000010501351056250300245410ustar00rootroot00000000000000desktopDeepin Voice RecorderDeepin stemmeoptagerRecord voiceOptag stemmeVoice RecorderStemmeoptagerdeepin-voice-recorder-5.0.0/translations/desktop/desktop_de.ts000066400000000000000000000010571351056250300245540ustar00rootroot00000000000000desktopDeepin Voice RecorderDeepin SprachaufnahmeRecord voiceSprache aufnehmenVoice RecorderSprachaufnahmedeepin-voice-recorder-5.0.0/translations/desktop/desktop_el.ts000066400000000000000000000011251351056250300245600ustar00rootroot00000000000000desktopDeepin Voice RecorderΕγγραφέας Φωνής DeepinRecord voiceΕγγραφή φωνήςVoice RecorderΕγγραφέας Φωνήςdeepin-voice-recorder-5.0.0/translations/desktop/desktop_es.ts000066400000000000000000000010561351056250300245720ustar00rootroot00000000000000desktopDeepin Voice RecorderDeepin Voice RecorderRecord voiceGrabadora de vozVoice RecorderVoice Recorderdeepin-voice-recorder-5.0.0/translations/desktop/desktop_es_419.ts000066400000000000000000000010631351056250300251650ustar00rootroot00000000000000desktopDeepin Voice RecorderGrabadora de Voz de DeepinRecord voiceGrabar vozVoice RecorderGrabadora de Vozdeepin-voice-recorder-5.0.0/translations/desktop/desktop_fi.ts000066400000000000000000000010531351056250300245560ustar00rootroot00000000000000desktopDeepin Voice RecorderDeepin ääninauhuriRecord voiceTallenna ääniVoice RecorderÄäninauhurideepin-voice-recorder-5.0.0/translations/desktop/desktop_fr.ts000066400000000000000000000010671351056250300245740ustar00rootroot00000000000000desktopDeepin Voice RecorderEnregistreur vocal DeepinRecord voiceEnregistrer audioVoice RecorderEnregistreur Audiodeepin-voice-recorder-5.0.0/translations/desktop/desktop_hr.ts000066400000000000000000000010461351056250300245730ustar00rootroot00000000000000desktopDeepin Voice RecorderDeepin snimač glasaRecord voiceSnimi glasVoice RecorderSnimač glasadeepin-voice-recorder-5.0.0/translations/desktop/desktop_hu.ts000066400000000000000000000010571351056250300246000ustar00rootroot00000000000000desktopDeepin Voice RecorderDeepin Voice RecorderRecord voiceHang rögzítéseVoice RecorderHangrögzítődeepin-voice-recorder-5.0.0/translations/desktop/desktop_id.ts000066400000000000000000000010471351056250300245570ustar00rootroot00000000000000desktopDeepin Voice RecorderPerekam Suara DeepinRecord voiceRekam SuaraVoice RecorderPerekam Suaradeepin-voice-recorder-5.0.0/translations/desktop/desktop_it.ts000066400000000000000000000010521351056250300245730ustar00rootroot00000000000000desktopDeepin Voice RecorderDeepin Voice RecorderRecord voiceRecord voiceVoice RecorderVoice Recorderdeepin-voice-recorder-5.0.0/translations/desktop/desktop_ja.ts000066400000000000000000000010701351056250300245510ustar00rootroot00000000000000desktopDeepin Voice RecorderDeepin ボイスレコーダーRecord voice録音Voice Recorderボイスレコーダーdeepin-voice-recorder-5.0.0/translations/desktop/desktop_ko.ts000066400000000000000000000010571351056250300245750ustar00rootroot00000000000000desktopDeepin Voice RecorderDeepin 음성 녹음기Record voice음성 녹음Voice Recorder음성 녹음기deepin-voice-recorder-5.0.0/translations/desktop/desktop_lt.ts000066400000000000000000000010651351056250300246020ustar00rootroot00000000000000desktopDeepin Voice RecorderDeepin balso rašytuvasRecord voiceĮrašinėti balsąVoice RecorderBalso rašytuvasdeepin-voice-recorder-5.0.0/translations/desktop/desktop_mn.ts000066400000000000000000000011231351056250300245700ustar00rootroot00000000000000desktopDeepin Voice RecorderДээпин Дуу ХураагуурRecord voiceДуу хураалгахVoice RecorderДуу хураагуурdeepin-voice-recorder-5.0.0/translations/desktop/desktop_ms.ts000066400000000000000000000010471351056250300246020ustar00rootroot00000000000000desktopDeepin Voice RecorderPerakam Suara DeepinRecord voiceRakam suaraVoice RecorderPerakam Suaradeepin-voice-recorder-5.0.0/translations/desktop/desktop_ne.ts000066400000000000000000000012121351056250300245570ustar00rootroot00000000000000desktopDeepin Voice Recorderडिपिन आवाज रेकर्डरRecord voiceआवाज रेकर्ड गर्नुहोस्Voice Recorderआवाज रेकर्डरdeepin-voice-recorder-5.0.0/translations/desktop/desktop_nl.ts000066400000000000000000000010501351056250300245660ustar00rootroot00000000000000desktopDeepin Voice RecorderDeepin GeluidsopnameRecord voiceStem opnemenVoice RecorderGeluidsopnamedeepin-voice-recorder-5.0.0/translations/desktop/desktop_pl.ts000066400000000000000000000010361351056250300245740ustar00rootroot00000000000000desktopDeepin Voice RecorderDyktafon DeepinRecord voiceNagraj głosVoice RecorderDyktafondeepin-voice-recorder-5.0.0/translations/desktop/desktop_pt.ts000066400000000000000000000010511351056250300246010ustar00rootroot00000000000000desktopDeepin Voice RecorderDeepin Voice RecorderRecord voiceGravar vozVoice RecorderGravador de Vozdeepin-voice-recorder-5.0.0/translations/desktop/desktop_pt_BR.ts000066400000000000000000000010551351056250300251700ustar00rootroot00000000000000desktopDeepin Voice RecorderGravador de Voz DeepinRecord voiceGravar VozVoice RecorderGravador de Vozdeepin-voice-recorder-5.0.0/translations/desktop/desktop_ru.ts000066400000000000000000000010731351056250300246100ustar00rootroot00000000000000desktopDeepin Voice RecorderДиктофон DeepinRecord voiceЗапись голосаVoice RecorderДиктофонdeepin-voice-recorder-5.0.0/translations/desktop/desktop_sk.ts000066400000000000000000000010531351056250300245750ustar00rootroot00000000000000desktopDeepin Voice RecorderDeepin Záznam zvukuRecord voiceNahrávať hlasVoice RecorderZáznam zvukudeepin-voice-recorder-5.0.0/translations/desktop/desktop_sq.ts000066400000000000000000000010521351056250300246020ustar00rootroot00000000000000desktopDeepin Voice RecorderIncizues Zëri DeepinRecord voiceIncizoni zëVoice RecorderIncizues Zërideepin-voice-recorder-5.0.0/translations/desktop/desktop_sr.ts000066400000000000000000000011071351056250300246040ustar00rootroot00000000000000desktopDeepin Voice RecorderДипин Снимач ГласаRecord voiceСними гласVoice RecorderСнимач Гласаdeepin-voice-recorder-5.0.0/translations/desktop/desktop_ta.ts000066400000000000000000000012021351056250300245600ustar00rootroot00000000000000desktopDeepin Voice Recorderடிப்பின் ஒலி பதிவான்Record voiceஒலியை பதிவு செய்க Voice Recorderஒலி பதிவான்deepin-voice-recorder-5.0.0/translations/desktop/desktop_tr.ts000066400000000000000000000010461351056250300246070ustar00rootroot00000000000000desktopDeepin Voice RecorderDeepin Ses KaydediciRecord voiceSes kaydetVoice RecorderSes Kaydedicideepin-voice-recorder-5.0.0/translations/desktop/desktop_uk.ts000066400000000000000000000010621351056250300245770ustar00rootroot00000000000000desktopDeepin Voice RecorderДиктофон DeepinRecord voiceДиктофонVoice RecorderДиктофонdeepin-voice-recorder-5.0.0/translations/desktop/desktop_zh_CN.ts000066400000000000000000000010261351056250300251610ustar00rootroot00000000000000desktopDeepin Voice Recorder深度录音Record voice录音Voice Recorder录音deepin-voice-recorder-5.0.0/translations/desktop/desktop_zh_HK.ts000066400000000000000000000010641351056250300251650ustar00rootroot00000000000000 desktopDeepin Voice Recorder深度錄音Record voice聲音錄製工具Voice Recorder deepin-voice-recorder-5.0.0/translations/desktop/desktop_zh_TW.ts000066400000000000000000000010401351056250300252070ustar00rootroot00000000000000desktopDeepin Voice RecorderDeepin 錄音Record voice錄製聲音Voice Recorder錄音機