diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4efc3ac
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,11 @@
+*.iml
+.gradle
+/local.properties
+/.idea
+.DS_Store
+/build
+/captures
+/keystore
+.externalNativeBuild
+.cxx
+local.properties
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..f288702
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,674 @@
+ 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
+.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..2312774
--- /dev/null
+++ b/README.md
@@ -0,0 +1,21 @@
+# Dhizuku
+
+## 介绍
+
+参考Shizuku的设计思想,分享 DeviceOwner (设备所有者) 权限给其余应用
+
+## 支持版本
+
+Android 5.0 ~ 13
+
+## 捐赠支持
+
+- [支付宝](https://qr.alipay.com/fkx18580lfpydiop04dze47)
+- [微信](https://missuo.ru/file/fee5df1381671c996b127.png)
+- [币安](https://missuo.ru/file/fee5df1381671c996b127.png)
+
+## 开源协议
+
+Dhizuku目前基于 [**GNU General Public License v3 (GPL-3)**](http://www.gnu.org/copyleft/gpl.html) 开源,但不保证未来依然继续遵循此协议或开源,有权更改开源协议或开源状态。
+
+当您选择基于Dhizuku进行开发时,需遵循所当前依赖的上游源码所规定的开源协议,不受新上游源码的开源协议影响。
\ No newline at end of file
diff --git a/app/.gitignore b/app/.gitignore
new file mode 100644
index 0000000..2bdf0f6
--- /dev/null
+++ b/app/.gitignore
@@ -0,0 +1,3 @@
+/build
+/debug
+/release
\ No newline at end of file
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
new file mode 100644
index 0000000..658d6c1
--- /dev/null
+++ b/app/build.gradle.kts
@@ -0,0 +1,134 @@
+import java.io.FileInputStream
+import java.util.*
+
+@Suppress("DSL_SCOPE_VIOLATION")
+plugins {
+ alias(libs.plugins.agp.app)
+ alias(libs.plugins.kotlin)
+ id("kotlin-kapt")
+}
+
+val keystoreProps = Properties().apply {
+ load(FileInputStream(rootProject.file("keystore/r0s.properties")))
+}
+
+@Suppress("UnstableApiUsage")
+android {
+ compileSdk = 33
+
+ defaultConfig {
+ // 你如果根据InstallerX的源码进行打包成apk或其他安装包格式
+ // 请换一个applicationId,不要和官方的任何发布版本产生冲突。
+ // If you use InstallerX source code, package it into apk or other installation package format
+ // Please change the applicationId to one that does not conflict with any official release.
+ applicationId = "com.rosan.dhizuku"
+ minSdk = 21
+ targetSdk = 33
+ versionCode = 2
+ versionName = "1.0.2"
+
+ testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
+ vectorDrawables {
+ useSupportLibrary = true
+ }
+ }
+
+ signingConfigs {
+ getByName("debug") {
+ keyAlias = keystoreProps.getProperty("keyAlias")
+ keyPassword = keystoreProps.getProperty("keyPassword")
+ storeFile = file(keystoreProps.getProperty("storeFile"))
+ storePassword = keystoreProps.getProperty("storePassword")
+ enableV1Signing = true
+ enableV2Signing = true
+ }
+
+ create("release") {
+ keyAlias = keystoreProps.getProperty("keyAlias")
+ keyPassword = keystoreProps.getProperty("keyPassword")
+ storeFile = file(keystoreProps.getProperty("storeFile"))
+ storePassword = keystoreProps.getProperty("storePassword")
+ enableV1Signing = true
+ enableV2Signing = true
+ }
+ }
+
+ buildTypes {
+ getByName("debug") {
+ signingConfig = signingConfigs.getByName("debug")
+ isMinifyEnabled = false
+ proguardFiles(
+ getDefaultProguardFile("proguard-android-optimize.txt"),
+ "proguard-rules.pro"
+ )
+ }
+
+ getByName("release") {
+ signingConfig = signingConfigs.getByName("release")
+ isMinifyEnabled = true
+ proguardFiles(
+ getDefaultProguardFile("proguard-android-optimize.txt"),
+ "proguard-rules.pro"
+ )
+ }
+ }
+
+ compileOptions {
+ targetCompatibility = JavaVersion.VERSION_11
+ sourceCompatibility = JavaVersion.VERSION_11
+ }
+
+ kotlin {
+ jvmToolchain(11)
+ }
+
+ buildFeatures {
+ compose = true
+ }
+
+ composeOptions {
+// kotlinCompilerExtensionVersion = libs.versions.compose.get()
+ kotlinCompilerExtensionVersion = "1.4.4"
+ }
+
+ packagingOptions {
+ resources {
+ excludes.add("/META-INF/{AL2.0,LGPL2.1}")
+ }
+ }
+}
+
+dependencies {
+ implementation(project(":dhizuku-aidl"))
+ implementation(project(":dhizuku-shared"))
+
+ implementation(libs.androidx.core)
+ implementation(libs.androidx.lifecycle)
+ implementation(libs.androidx.activity.compose)
+ implementation(libs.compose.ui)
+ implementation(libs.compose.material)
+ implementation(libs.compose.material3)
+ implementation(libs.compose.uiToolingPreview)
+
+ implementation(libs.compose.navigation)
+ implementation(libs.compose.materialIcons)
+
+ implementation(libs.room.runtime)
+ kapt(libs.room.compiler)
+ implementation(libs.room.ktx)
+
+ implementation(libs.koin.core)
+ implementation(libs.koin.android)
+ implementation(libs.koin.compose)
+
+ implementation(libs.accompanist)
+ implementation(libs.accompanist.navigationAnimation)
+ implementation(libs.accompanist.flowlayout)
+ implementation(libs.accompanist.drawablepainter)
+ implementation(libs.accompanist.systemuicontroller)
+
+ implementation(libs.xxpermissions)
+
+ implementation(libs.rikka.shizuku.api)
+ implementation(libs.rikka.shizuku.provider)
+}
\ No newline at end of file
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
new file mode 100644
index 0000000..fac7f23
--- /dev/null
+++ b/app/proguard-rules.pro
@@ -0,0 +1,81 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.kts.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
+
+###############################
+# kotlinx serialization rules #
+###############################
+# Keep `Companion` object fields of serializable classes.
+# This avoids serializer lookup through `getDeclaredClasses` as done for named companion objects.
+-if @kotlinx.serialization.Serializable class **
+-keepclassmembers class <1> {
+ static <1>$Companion Companion;
+}
+
+# Keep `serializer()` on companion objects (both default and named) of serializable classes.
+-if @kotlinx.serialization.Serializable class ** {
+ static **$* *;
+}
+-keepclassmembers class <2>$<3> {
+ kotlinx.serialization.KSerializer serializer(...);
+}
+
+# Keep `INSTANCE.serializer()` of serializable objects.
+-if @kotlinx.serialization.Serializable class ** {
+ public static ** INSTANCE;
+}
+-keepclassmembers class <1> {
+ public static <1> INSTANCE;
+ kotlinx.serialization.KSerializer serializer(...);
+}
+
+# @Serializable and @Polymorphic are used at runtime for polymorphic serialization.
+-keepattributes RuntimeVisibleAnnotations,AnnotationDefault
+
+# Serializer for classes with named companion objects are retrieved using `getDeclaredClasses`.
+# If you have any, uncomment and replace classes with those containing named companion objects.
+#-keepattributes InnerClasses # Needed for `getDeclaredClasses`.
+#-if @kotlinx.serialization.Serializable class
+#com.example.myapplication.HasNamedCompanion, # <-- List serializable classes with named companions.
+#com.example.myapplication.HasNamedCompanion2
+#{
+# static **$* *;
+#}
+#-keepnames class <1>$$serializer { # -keepnames suffices; class is kept when serializer() is kept.
+# static <1>$$serializer INSTANCE;
+#}
+
+-keep public class android.** {*;}
+-keep public class com.rosan.dhizuku.App {*;}
+-keep public class com.rosan.dhizuku.ui.activity.** extends android.app.Activity
+-keep public class com.rosan.dhizuku.data.process.model.impl.** {
+ public static void main(java.lang.String[]);
+}
+#-keep public class com.rosan.installer.data.process.model.impl.** extends com.rosan.installer.data.process.repo.ProcessRepo {
+#public static void main(java.lang.String[]);
+#}
+#-keep public class com.rosan.installer.** extends android.app.Service
+#-keep public class com.rosan.installer.** extends android.content.BroadcastReceiver
+#-keep public class com.rosan.installer.** extends android.content.ContentProvider
+#-keep class androidx.core.content.FileProvider {*;}
+#-keep interface androidx.core.content.FileProvider$PathStrategy {*;}
+
+-keep class rikka.shizuku.ShizukuProvider
diff --git a/app/src/androidTest/java/com/rosan/dhizuku/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/rosan/dhizuku/ExampleInstrumentedTest.kt
new file mode 100644
index 0000000..1300147
--- /dev/null
+++ b/app/src/androidTest/java/com/rosan/dhizuku/ExampleInstrumentedTest.kt
@@ -0,0 +1,24 @@
+package com.rosan.dhizuku
+
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.ext.junit.runners.AndroidJUnit4
+
+import org.junit.Test
+import org.junit.runner.RunWith
+
+import org.junit.Assert.*
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * See [testing documentation](http://d.android.com/tools/testing).
+ */
+@RunWith(AndroidJUnit4::class)
+class ExampleInstrumentedTest {
+ @Test
+ fun useAppContext() {
+ // Context of the app under test.
+ val appContext = InstrumentationRegistry.getInstrumentation().targetContext
+ assertEquals("com.rosan.installer", appContext.packageName)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..c869a9e
--- /dev/null
+++ b/app/src/main/AndroidManifest.xml
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/aidl/android/content/IIntentReceiver.aidl b/app/src/main/aidl/android/content/IIntentReceiver.aidl
new file mode 100644
index 0000000..5d9895e
--- /dev/null
+++ b/app/src/main/aidl/android/content/IIntentReceiver.aidl
@@ -0,0 +1,9 @@
+package android.content;
+
+import android.content.Intent;
+import android.os.Bundle;
+
+oneway interface IIntentReceiver {
+ void performReceive(in Intent intent, int resultCode, String data,
+ in Bundle extras, boolean ordered, boolean sticky, int sendingUser);
+}
diff --git a/app/src/main/aidl/android/content/IIntentSender.aidl b/app/src/main/aidl/android/content/IIntentSender.aidl
new file mode 100644
index 0000000..2736b61
--- /dev/null
+++ b/app/src/main/aidl/android/content/IIntentSender.aidl
@@ -0,0 +1,10 @@
+package android.content;
+
+import android.content.IIntentReceiver;
+import android.content.Intent;
+import android.os.Bundle;
+
+oneway interface IIntentSender {
+ void send(int code, in Intent intent, String resolvedType, in IBinder whitelistToken,
+ IIntentReceiver finishedReceiver, String requiredPermission, in Bundle options);
+}
\ No newline at end of file
diff --git a/app/src/main/aidl/android/content/pm/IOnChecksumsReadyListener.aidl b/app/src/main/aidl/android/content/pm/IOnChecksumsReadyListener.aidl
new file mode 100644
index 0000000..9963a87
--- /dev/null
+++ b/app/src/main/aidl/android/content/pm/IOnChecksumsReadyListener.aidl
@@ -0,0 +1,6 @@
+package android.content.pm;
+import android.content.pm.ApkChecksum;
+
+oneway interface IOnChecksumsReadyListener {
+ void onChecksumsReady(in List checksums);
+}
\ No newline at end of file
diff --git a/app/src/main/aidl/android/content/pm/IPackageDeleteObserver2.aidl b/app/src/main/aidl/android/content/pm/IPackageDeleteObserver2.aidl
new file mode 100644
index 0000000..cc2406b
--- /dev/null
+++ b/app/src/main/aidl/android/content/pm/IPackageDeleteObserver2.aidl
@@ -0,0 +1,7 @@
+package android.content.pm;
+import android.content.Intent;
+
+oneway interface IPackageDeleteObserver2 {
+ void onUserActionRequired(in Intent intent);
+ void onPackageDeleted(String packageName, int returnCode, String msg);
+}
\ No newline at end of file
diff --git a/app/src/main/aidl/android/content/pm/IPackageInstallObserver2.aidl b/app/src/main/aidl/android/content/pm/IPackageInstallObserver2.aidl
new file mode 100644
index 0000000..a1c9ec3
--- /dev/null
+++ b/app/src/main/aidl/android/content/pm/IPackageInstallObserver2.aidl
@@ -0,0 +1,8 @@
+package android.content.pm;
+import android.content.Intent;
+import android.os.Bundle;
+
+oneway interface IPackageInstallObserver2 {
+ void onUserActionRequired(in Intent intent);
+ void onPackageInstalled(String basePackageName, int returnCode, String msg, in Bundle extras);
+}
\ No newline at end of file
diff --git a/app/src/main/aidl/android/content/pm/IPackageInstaller.aidl b/app/src/main/aidl/android/content/pm/IPackageInstaller.aidl
new file mode 100644
index 0000000..14aab7c
--- /dev/null
+++ b/app/src/main/aidl/android/content/pm/IPackageInstaller.aidl
@@ -0,0 +1,33 @@
+package android.content.pm;
+
+import android.content.pm.IPackageDeleteObserver2;
+import android.content.pm.IPackageInstallerCallback;
+import android.content.pm.IPackageInstallerSession;
+import android.content.pm.PackageInstaller;
+import android.content.pm.VersionedPackage;
+import android.content.IntentSender;
+import android.graphics.Bitmap;
+
+interface IPackageInstaller {
+ int createSession(in PackageInstaller.SessionParams params, String installerPackageName, String installerAttributionTag, int userId);
+// @RequiresApi(Build.VERSION_CODES.S)
+// int createSession(in PackageInstaller.SessionParams params, String installerPackageName, int userId);
+ void updateSessionAppIcon(int sessionId, in Bitmap appIcon);
+ void updateSessionAppLabel(int sessionId, String appLabel);
+ void abandonSession(int sessionId);
+ IPackageInstallerSession openSession(int sessionId);
+ PackageInstaller.SessionInfo getSessionInfo(int sessionId);
+ void registerCallback(IPackageInstallerCallback callback, int userId);
+ void unregisterCallback(IPackageInstallerCallback callback);
+ void uninstall(in VersionedPackage versionedPackage, String callerPackageName, int flags,
+ in IntentSender statusReceiver, int userId);
+ void uninstallExistingPackage(in VersionedPackage versionedPackage, String callerPackageName,
+ in IntentSender statusReceiver, int userId);
+ void installExistingPackage(String packageName, int installFlags, int installReason,
+ in IntentSender statusReceiver, int userId, in List whiteListedPermissions);
+ void setPermissionsResult(int sessionId, boolean accepted);
+ void bypassNextStagedInstallerCheck(boolean value);
+ void bypassNextAllowedApexUpdateCheck(boolean value);
+ void setAllowUnlimitedSilentUpdates(String installerPackageName);
+ void setSilentUpdatesThrottleTime(long throttleTimeInSeconds);
+}
\ No newline at end of file
diff --git a/app/src/main/aidl/android/content/pm/IPackageInstallerCallback.aidl b/app/src/main/aidl/android/content/pm/IPackageInstallerCallback.aidl
new file mode 100644
index 0000000..42e11bc
--- /dev/null
+++ b/app/src/main/aidl/android/content/pm/IPackageInstallerCallback.aidl
@@ -0,0 +1,9 @@
+package android.content.pm;
+
+oneway interface IPackageInstallerCallback {
+ void onSessionCreated(int sessionId);
+ void onSessionBadgingChanged(int sessionId);
+ void onSessionActiveChanged(int sessionId, boolean active);
+ void onSessionProgressChanged(int sessionId, float progress);
+ void onSessionFinished(int sessionId, boolean success);
+}
\ No newline at end of file
diff --git a/app/src/main/aidl/android/content/pm/IPackageInstallerSession.aidl b/app/src/main/aidl/android/content/pm/IPackageInstallerSession.aidl
new file mode 100644
index 0000000..0204d42
--- /dev/null
+++ b/app/src/main/aidl/android/content/pm/IPackageInstallerSession.aidl
@@ -0,0 +1,33 @@
+package android.content.pm;
+
+import android.content.pm.Checksum;
+import android.content.pm.IOnChecksumsReadyListener;
+import android.content.pm.IPackageInstallObserver2;
+import android.content.IntentSender;
+import android.os.ParcelFileDescriptor;
+
+interface IPackageInstallerSession {
+ void setClientProgress(float progress);
+ void addClientProgress(float progress);
+ String[] getNames();
+ ParcelFileDescriptor openWrite(String name, long offsetBytes, long lengthBytes);
+ ParcelFileDescriptor openRead(String name);
+ void write(String name, long offsetBytes, long lengthBytes, in ParcelFileDescriptor fd);
+ void stageViaHardLink(String target);
+ void setChecksums(String name, in Checksum[] checksums, in byte[] signature);
+ void requestChecksums(in String name, int optional, int required, in List trustedInstallers, in IOnChecksumsReadyListener onChecksumsReadyListener);
+ void removeSplit(String splitName);
+ void close();
+ void commit(in IntentSender statusReceiver, boolean forTransferred);
+ void transfer(in String packageName);
+ void abandon();
+ void addFile(int location, String name, long lengthBytes, in byte[] metadata, in byte[] signature);
+ void removeFile(int location, String name);
+ boolean isMultiPackage();
+ int[] getChildSessionIds();
+ void addChildSessionId(in int sessionId);
+ void removeChildSessionId(in int sessionId);
+ int getParentSessionId();
+ boolean isStaged();
+ int getInstallFlags();
+}
\ No newline at end of file
diff --git a/app/src/main/aidl/android/content/pm/IPackageManager.aidl b/app/src/main/aidl/android/content/pm/IPackageManager.aidl
new file mode 100644
index 0000000..86ce213
--- /dev/null
+++ b/app/src/main/aidl/android/content/pm/IPackageManager.aidl
@@ -0,0 +1,231 @@
+package android.content.pm;
+
+import android.content.ComponentName;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.ChangedPackages;
+import android.content.pm.InstantAppInfo;
+import android.content.pm.FeatureInfo;
+import android.content.pm.InstallSourceInfo;
+import android.content.pm.IOnChecksumsReadyListener;
+import android.content.pm.IPackageInstaller;
+import android.content.pm.IntentFilterVerificationInfo;
+import android.content.pm.InstrumentationInfo;
+import android.content.pm.ModuleInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager.ComponentEnabledSetting;
+import android.content.pm.ProviderInfo;
+import android.content.pm.PermissionGroupInfo;
+import android.content.pm.PermissionInfo;
+import android.content.pm.ResolveInfo;
+import android.content.pm.ServiceInfo;
+import android.content.pm.UserInfo;
+import android.content.pm.VersionedPackage;
+import android.graphics.Bitmap;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.ParcelFileDescriptor;
+import android.os.PersistableBundle;
+import android.content.IntentSender;
+
+interface IPackageManager {
+ void checkPackageStartable(String packageName, int userId);
+ boolean isPackageAvailable(String packageName, int userId);
+ PackageInfo getPackageInfo(String packageName, long flags, int userId);
+ PackageInfo getPackageInfoVersioned(in VersionedPackage versionedPackage,
+ long flags, int userId);
+ int getPackageUid(String packageName, long flags, int userId);
+ int[] getPackageGids(String packageName, long flags, int userId);
+ String[] currentToCanonicalPackageNames(in String[] names);
+ String[] canonicalToCurrentPackageNames(in String[] names);
+ ApplicationInfo getApplicationInfo(String packageName, long flags, int userId);
+ int getTargetSdkVersion(String packageName);
+ ActivityInfo getActivityInfo(in ComponentName className, long flags, int userId);
+ boolean activitySupportsIntent(in ComponentName className, in Intent intent,
+ String resolvedType);
+ ActivityInfo getReceiverInfo(in ComponentName className, long flags, int userId);
+ ServiceInfo getServiceInfo(in ComponentName className, long flags, int userId);
+ ProviderInfo getProviderInfo(in ComponentName className, long flags, int userId);
+ boolean isProtectedBroadcast(String actionName);
+ int checkSignatures(String pkg1, String pkg2);
+ int checkUidSignatures(int uid1, int uid2);
+ List getAllPackages();
+ String[] getPackagesForUid(int uid);
+ String getNameForUid(int uid);
+ String[] getNamesForUids(in int[] uids);
+ int getUidForSharedUser(String sharedUserName);
+ int getFlagsForUid(int uid);
+ int getPrivateFlagsForUid(int uid);
+ boolean isUidPrivileged(int uid);
+ ResolveInfo resolveIntent(in Intent intent, String resolvedType, long flags, int userId);
+ ResolveInfo findPersistentPreferredActivity(in Intent intent, int userId);
+ boolean canForwardTo(in Intent intent, String resolvedType, int sourceUserId, int targetUserId);
+ ResolveInfo resolveService(in Intent intent,
+ String resolvedType, long flags, int userId);
+ ProviderInfo resolveContentProvider(String name, long flags, int userId);
+ void querySyncProviders(inout List outNames,
+ inout List outInfo);
+ InstrumentationInfo getInstrumentationInfo(
+ in ComponentName className, int flags);
+ void finishPackageInstall(int token, boolean didLaunch);
+ void setInstallerPackageName(in String targetPackage, in String installerPackageName);
+ void setApplicationCategoryHint(String packageName, int categoryHint, String callerPackageName);
+ String getInstallerPackageName(in String packageName);
+ InstallSourceInfo getInstallSourceInfo(in String packageName);
+ void resetApplicationPreferences(int userId);
+ ResolveInfo getLastChosenActivity(in Intent intent,
+ String resolvedType, int flags);
+ void setLastChosenActivity(in Intent intent, String resolvedType, int flags,
+ in IntentFilter filter, int match, in ComponentName activity);
+ void addPreferredActivity(in IntentFilter filter, int match,
+ in ComponentName[] set, in ComponentName activity, int userId, boolean removeExisting);
+ void replacePreferredActivity(in IntentFilter filter, int match,
+ in ComponentName[] set, in ComponentName activity, int userId);
+ void clearPackagePreferredActivities(String packageName);
+ int getPreferredActivities(out List outFilters,
+ out List outActivities, String packageName);
+ void addPersistentPreferredActivity(in IntentFilter filter, in ComponentName activity, int userId);
+ void clearPackagePersistentPreferredActivities(String packageName, int userId);
+ void addCrossProfileIntentFilter(in IntentFilter intentFilter, String ownerPackage,
+ int sourceUserId, int targetUserId, int flags);
+ void clearCrossProfileIntentFilters(int sourceUserId, String ownerPackage);
+ String[] setDistractingPackageRestrictionsAsUser(in String[] packageNames, int restrictionFlags,
+ int userId);
+ String[] getUnsuspendablePackagesForUser(in String[] packageNames, int userId);
+ boolean isPackageSuspendedForUser(String packageName, int userId);
+ Bundle getSuspendedPackageAppExtras(String packageName, int userId);
+ byte[] getPreferredActivityBackup(int userId);
+ void restorePreferredActivities(in byte[] backup, int userId);
+ byte[] getDefaultAppsBackup(int userId);
+ void restoreDefaultApps(in byte[] backup, int userId);
+ byte[] getDomainVerificationBackup(int userId);
+ void restoreDomainVerification(in byte[] backup, int userId);
+
+ ComponentName getHomeActivities(out List outHomeCandidates);
+ void setHomeActivity(in ComponentName className, int userId);
+ void overrideLabelAndIcon(in ComponentName componentName, String nonLocalizedLabel,
+ int icon, int userId);
+ void restoreLabelAndIcon(in ComponentName componentName, int userId);
+
+ void setComponentEnabledSetting(in ComponentName componentName,
+ in int newState, in int flags, int userId);
+ void setComponentEnabledSettings(in List settings, int userId);
+
+ int getComponentEnabledSetting(in ComponentName componentName, int userId);
+
+ void setApplicationEnabledSetting(in String packageName, in int newState, int flags,
+ int userId, String callingPackage);
+
+ int getApplicationEnabledSetting(in String packageName, int userId);
+ void logAppProcessStartIfNeeded(String packageName, String processName, int uid, String seinfo, String apkFile, int pid);
+ void flushPackageRestrictionsAsUser(in int userId);
+
+ void setPackageStoppedState(String packageName, boolean stopped, int userId);
+ void freeStorage(in String volumeUuid, in long freeStorageSize,
+ int storageFlags, in IntentSender pi);
+ void clearApplicationProfileData(in String packageName);
+
+ String[] getSystemSharedLibraryNames();
+ boolean hasSystemFeature(String name, int version);
+ void enterSafeMode();
+ boolean isSafeMode();
+ boolean hasSystemUidErrors();
+ oneway void notifyPackageUse(String packageName, int reason);
+ oneway void notifyDexLoad(String loadingPackageName,
+ in Map classLoaderContextMap, String loaderIsa);
+ boolean performDexOptMode(String packageName, boolean checkProfiles,
+ String targetCompilerFilter, boolean force, boolean bootComplete, String splitName);
+ boolean performDexOptSecondary(String packageName,
+ String targetCompilerFilter, boolean force);
+ void dumpProfiles(String packageName, boolean dumpClassesAndMethods);
+ void forceDexOpt(String packageName);
+ void reconcileSecondaryDexFiles(String packageName);
+ int getMoveStatus(int moveId);
+ int movePackage(in String packageName, in String volumeUuid);
+ int movePrimaryStorage(in String volumeUuid);
+ boolean setInstallLocation(int loc);
+ int getInstallLocation();
+ int installExistingPackageAsUser(String packageName, int userId, int installFlags,
+ int installReason, in List whiteListedPermissions);
+ void verifyPendingInstall(int id, int verificationCode);
+ void extendVerificationTimeout(int id, int verificationCodeAtTimeout, long millisecondsToDelay);
+ void verifyIntentFilter(int id, int verificationCode, in List failedDomains);
+ int getIntentVerificationStatus(String packageName, int userId);
+ boolean updateIntentVerificationStatus(String packageName, int status, int userId);
+ boolean isFirstBoot();
+ boolean isOnlyCoreApps();
+ boolean isDeviceUpgrading();
+
+ boolean isStorageLow();
+ boolean setApplicationHiddenSettingAsUser(String packageName, boolean hidden, int userId);
+ boolean getApplicationHiddenSettingAsUser(String packageName, int userId);
+ void setSystemAppHiddenUntilInstalled(String packageName, boolean hidden);
+ boolean setSystemAppInstallState(String packageName, boolean installed, int userId);
+ IPackageInstaller getPackageInstaller();
+ boolean setBlockUninstallForUser(String packageName, boolean blockUninstall, int userId);
+ boolean getBlockUninstallForUser(String packageName, int userId);
+ String getPermissionControllerPackageName();
+ String getSdkSandboxPackageName();
+ byte[] getInstantAppCookie(String packageName, int userId);
+ boolean setInstantAppCookie(String packageName, in byte[] cookie, int userId);
+ Bitmap getInstantAppIcon(String packageName, int userId);
+ boolean isInstantApp(String packageName, int userId);
+ boolean setRequiredForSystemUser(String packageName, boolean systemUserApp);
+ void setUpdateAvailable(String packageName, boolean updateAvaialble);
+ String getServicesSystemSharedLibraryPackageName();
+ String getSharedSystemSharedLibraryPackageName();
+ ChangedPackages getChangedPackages(int sequenceNumber, int userId);
+ boolean isPackageDeviceAdminOnAnyUser(String packageName);
+ int getInstallReason(String packageName, int userId);
+ boolean canRequestPackageInstalls(String packageName, int userId);
+ void deletePreloadsFileCache();
+ ComponentName getInstantAppResolverComponent();
+ ComponentName getInstantAppResolverSettingsComponent();
+ ComponentName getInstantAppInstallerComponent();
+ String getInstantAppAndroidId(String packageName, int userId);
+ void setHarmfulAppWarning(String packageName, CharSequence warning, int userId);
+ CharSequence getHarmfulAppWarning(String packageName, int userId);
+ boolean hasSigningCertificate(String packageName, in byte[] signingCertificate, int flags);
+ boolean hasUidSigningCertificate(int uid, in byte[] signingCertificate, int flags);
+ String getDefaultTextClassifierPackageName();
+ String getSystemTextClassifierPackageName();
+ String getAttentionServicePackageName();
+ String getRotationResolverPackageName();
+ String getWellbeingPackageName();
+ String getAppPredictionServicePackageName();
+ String getSystemCaptionsServicePackageName();
+ String getSetupWizardPackageName();
+ String getIncidentReportApproverPackageName();
+ String getContentCaptureServicePackageName();
+ boolean isPackageStateProtected(String packageName, int userId);
+ void sendDeviceCustomizationReadyBroadcast();
+ List getInstalledModules(int flags);
+ ModuleInfo getModuleInfo(String packageName, int flags);
+ int getRuntimePermissionsVersion(int userId);
+ void setRuntimePermissionsVersion(int version, int userId);
+ void notifyPackagesReplacedReceived(in String[] packages);
+ void requestPackageChecksums(in String packageName, boolean includeSplits, int optional, int required, in List trustedInstallers, in IOnChecksumsReadyListener onChecksumsReadyListener, int userId);
+ IntentSender getLaunchIntentSenderForPackage(String packageName, String callingPackage,
+ String featureId, int userId);
+ String[] getAppOpPermissionPackages(String permissionName);
+ PermissionGroupInfo getPermissionGroupInfo(String name, int flags);
+ boolean addPermission(in PermissionInfo info);
+ boolean addPermissionAsync(in PermissionInfo info);
+ void removePermission(String name);
+ int checkPermission(String permName, String pkgName, int userId);
+ void grantRuntimePermission(String packageName, String permissionName, int userId);
+ int checkUidPermission(String permName, int uid);
+ void setMimeGroup(String packageName, String group, in List mimeTypes);
+ String getSplashScreenTheme(String packageName, int userId);
+ void setSplashScreenTheme(String packageName, String themeName, int userId);
+ List getMimeGroup(String packageName, String group);
+ boolean isAutoRevokeWhitelisted(String packageName);
+ void makeProviderVisible(int recipientAppId, String visibleAuthority);
+ void makeUidVisible(int recipientAppId, int visibleUid);
+ IBinder getHoldLockToken();
+ void holdLock(in IBinder token, in int durationMs);
+ void setKeepUninstalledPackages(in List packageList);
+ boolean canPackageQuery(String sourcePackageName, String targetPackageName, int userId);
+}
\ No newline at end of file
diff --git a/app/src/main/aidl/android/content/pm/PackageInstaller.aidl b/app/src/main/aidl/android/content/pm/PackageInstaller.aidl
new file mode 100644
index 0000000..dfca396
--- /dev/null
+++ b/app/src/main/aidl/android/content/pm/PackageInstaller.aidl
@@ -0,0 +1,4 @@
+package android.content.pm;
+
+parcelable PackageInstaller.SessionParams;
+parcelable PackageInstaller.SessionInfo;
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/App.kt b/app/src/main/java/com/rosan/dhizuku/App.kt
new file mode 100644
index 0000000..bce417f
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/App.kt
@@ -0,0 +1,40 @@
+package com.rosan.dhizuku
+
+import android.app.Application
+import android.app.admin.DevicePolicyManager
+import android.content.ComponentName
+import android.content.Context
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.setValue
+import com.rosan.dhizuku.di.init.appModules
+import com.rosan.dhizuku.server.DhizukuDAReceiver
+import org.koin.android.ext.koin.androidContext
+import org.koin.android.ext.koin.androidLogger
+import org.koin.core.context.startKoin
+import rikka.sui.Sui
+
+class App : Application() {
+ var isDeviceAdminer by mutableStateOf(false)
+ private set
+
+ var isDeviceOwner by mutableStateOf(false)
+ private set
+
+ override fun onCreate() {
+ super.onCreate()
+ syncDeviceOwnerStatus()
+ startKoin {
+ androidLogger()
+ androidContext(this@App)
+ modules(appModules)
+ }
+ Sui.init(packageName)
+ }
+
+ fun syncDeviceOwnerStatus() {
+ val manager = getSystemService(Context.DEVICE_POLICY_SERVICE) as DevicePolicyManager
+ isDeviceAdminer = manager.isAdminActive(ComponentName(this, DhizukuDAReceiver::class.java))
+ isDeviceOwner = manager.isDeviceOwnerApp(this.packageName)
+ }
+}
diff --git a/app/src/main/java/com/rosan/dhizuku/data/console/model/entity/ConsoleError.kt b/app/src/main/java/com/rosan/dhizuku/data/console/model/entity/ConsoleError.kt
new file mode 100644
index 0000000..9ae7304
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/data/console/model/entity/ConsoleError.kt
@@ -0,0 +1,7 @@
+package com.rosan.dhizuku.data.console.model.entity
+
+data class ConsoleError(
+ val code: Int,
+ val read: String,
+ val error: String
+) : Exception("code: $code, read: $read, error: $error")
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/data/console/model/impl/ConsoleRepoImpl.kt b/app/src/main/java/com/rosan/dhizuku/data/console/model/impl/ConsoleRepoImpl.kt
new file mode 100644
index 0000000..cf37af6
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/data/console/model/impl/ConsoleRepoImpl.kt
@@ -0,0 +1,67 @@
+package com.rosan.dhizuku.data.console.model.impl
+
+import android.os.Build
+import com.rosan.dhizuku.data.console.repo.ConsoleRepo
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.withContext
+import java.io.InputStream
+import java.io.OutputStream
+import java.util.concurrent.TimeUnit
+
+class ConsoleRepoImpl(
+ private val process: Process
+) : ConsoleRepo {
+ override val inputStream: InputStream = process.inputStream
+
+ override val errorStream: InputStream = process.errorStream
+
+ override val outputStream: OutputStream = process.outputStream
+
+ override suspend fun waitIt() {
+ withContext(Dispatchers.IO) {
+ kotlin.runCatching {
+ process.waitFor()
+ }
+ }
+ }
+
+ override suspend fun waitIt(timeout: Long, unit: TimeUnit): Boolean {
+ return withContext(Dispatchers.IO) {
+ val startTime = System.nanoTime()
+ var rem = unit.toNanos(timeout)
+ do {
+ kotlin.runCatching {
+ exitValue()
+ return@withContext true
+ }.getOrElse {
+ if (rem > 0) Thread.sleep(
+ Math.min(TimeUnit.NANOSECONDS.toMillis(rem) + 1, 100)
+ )
+ }
+ rem = unit.toNanos(timeout) - (System.nanoTime() - startTime)
+ } while (rem > 0)
+ return@withContext false
+ }
+ }
+
+ override fun exitValue(): Int {
+ return process.exitValue()
+ }
+
+ override fun isAlive(): Boolean {
+ return kotlin.runCatching {
+ exitValue()
+ false
+ }.getOrElse { true }
+ }
+
+ override fun close() {
+ process.destroy()
+ }
+
+ override fun closeForcibly() {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
+ process.destroyForcibly()
+ else close()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/data/console/model/impl/ShizukuConsoleBuilderRepoImpl.kt b/app/src/main/java/com/rosan/dhizuku/data/console/model/impl/ShizukuConsoleBuilderRepoImpl.kt
new file mode 100644
index 0000000..834c17a
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/data/console/model/impl/ShizukuConsoleBuilderRepoImpl.kt
@@ -0,0 +1,47 @@
+package com.rosan.dhizuku.data.console.model.impl
+
+import android.content.pm.PackageManager
+import com.rosan.dhizuku.data.console.repo.ConsoleBuilderRepo
+import com.rosan.dhizuku.data.console.repo.ConsoleRepo
+import kotlinx.coroutines.channels.awaitClose
+import kotlinx.coroutines.flow.callbackFlow
+import kotlinx.coroutines.flow.first
+import rikka.shizuku.Shizuku
+
+class ShizukuConsoleBuilderRepoImpl : ConsoleBuilderRepo() {
+ private fun _open(): ConsoleRepoImpl {
+ return ConsoleRepoImpl(
+ Shizuku.newProcess(
+ command.toTypedArray(),
+ environment?.toTypedArray(),
+ directory
+ )
+ )
+ }
+
+ override suspend fun open(): ConsoleRepo {
+ return callbackFlow {
+ if (Shizuku.checkSelfPermission() == PackageManager.PERMISSION_GRANTED) {
+ send(_open())
+ awaitClose { }
+ } else {
+ val listener =
+ Shizuku.OnRequestPermissionResultListener { requestCode, grantResult ->
+ if (requestCode != 0) return@OnRequestPermissionResultListener
+ kotlin.runCatching { _open() }
+ .onSuccess {
+ trySend(it)
+ }
+ .onFailure {
+ close(it)
+ }
+ }
+ Shizuku.addRequestPermissionResultListener(listener)
+ Shizuku.requestPermission(0)
+ awaitClose {
+ Shizuku.removeRequestPermissionResultListener(listener)
+ }
+ }
+ }.first()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/data/console/repo/ConsoleBuilderRepo.kt b/app/src/main/java/com/rosan/dhizuku/data/console/repo/ConsoleBuilderRepo.kt
new file mode 100644
index 0000000..ff386fa
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/data/console/repo/ConsoleBuilderRepo.kt
@@ -0,0 +1,35 @@
+package com.rosan.dhizuku.data.console.repo
+
+abstract class ConsoleBuilderRepo {
+ companion object {
+ fun strings2environment(envp: List): Map {
+ val environment = mutableMapOf()
+ for (envstring in envp) {
+ var envstring = envstring
+ if (envstring.indexOf('\u0000'.code.toChar()) != -1)
+ envstring = envstring.replaceFirst("\u0000.*".toRegex(), "")
+
+ val eqlsign = envstring.indexOf('=', 0)
+ if (eqlsign != -1)
+ environment[envstring.substring(0, eqlsign)] = envstring.substring(eqlsign + 1)
+ }
+ return environment
+ }
+ }
+
+ var command: List = emptyList()
+
+ var directory: String? = null
+
+ var environment: List? = null
+
+ fun command(vararg command: String) {
+ this.command = command.toList()
+ }
+
+ fun environment(vararg environment: String) {
+ this.environment = environment.toList()
+ }
+
+ abstract suspend fun open(): ConsoleRepo
+}
diff --git a/app/src/main/java/com/rosan/dhizuku/data/console/repo/ConsoleRepo.kt b/app/src/main/java/com/rosan/dhizuku/data/console/repo/ConsoleRepo.kt
new file mode 100644
index 0000000..2989b5d
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/data/console/repo/ConsoleRepo.kt
@@ -0,0 +1,26 @@
+package com.rosan.dhizuku.data.console.repo
+
+import java.io.Closeable
+import java.io.InputStream
+import java.io.OutputStream
+import java.util.concurrent.TimeUnit
+
+interface ConsoleRepo : Closeable {
+ val inputStream: InputStream
+
+ val errorStream: InputStream
+
+ val outputStream: OutputStream
+
+ suspend fun waitIt()
+
+ suspend fun waitIt(timeout: Long, unit: TimeUnit): Boolean
+
+ fun exitValue(): Int
+
+ fun isAlive(): Boolean
+
+ override fun close()
+
+ fun closeForcibly()
+}
diff --git a/app/src/main/java/com/rosan/dhizuku/data/console/util/ConsoleRepoUtil.kt b/app/src/main/java/com/rosan/dhizuku/data/console/util/ConsoleRepoUtil.kt
new file mode 100644
index 0000000..eb89c52
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/data/console/util/ConsoleRepoUtil.kt
@@ -0,0 +1,15 @@
+package com.rosan.dhizuku.data.console.util
+
+import com.rosan.dhizuku.data.console.model.impl.ShizukuConsoleBuilderRepoImpl
+import com.rosan.dhizuku.data.console.repo.ConsoleRepo
+
+class ConsoleRepoUtil {
+ companion object {
+ suspend fun shizuku(action: ShizukuConsoleBuilderRepoImpl.() -> Unit): ConsoleRepo {
+ val repo = ShizukuConsoleBuilderRepoImpl()
+ repo.command("sh")
+ repo.action()
+ return repo.open()
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/data/console/util/ConsoleUtil.kt b/app/src/main/java/com/rosan/dhizuku/data/console/util/ConsoleUtil.kt
new file mode 100644
index 0000000..5a4fdfe
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/data/console/util/ConsoleUtil.kt
@@ -0,0 +1,30 @@
+package com.rosan.dhizuku.data.console.util
+
+import com.rosan.dhizuku.data.console.repo.ConsoleRepo
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.withContext
+import java.io.InputStream
+
+class ConsoleUtil(
+ private val repo: ConsoleRepo
+) {
+ private suspend fun readBytes(input: InputStream): ByteArray = withContext(Dispatchers.IO) {
+ var bytes = ByteArray(0)
+ while (repo.isAlive())
+ if (input.available() > 0)
+ bytes += ByteArray(input.available()).let {
+ it.sliceArray(0 until input.read(it))
+ }
+ return@withContext bytes
+ }
+
+ suspend fun inputBytes(): ByteArray = readBytes(repo.inputStream)
+
+ suspend fun errorBytes(): ByteArray = readBytes(repo.errorStream)
+
+ suspend fun appendLine(any: Any?) = withContext(Dispatchers.IO) {
+ val writer = repo.outputStream.writer()
+ writer.appendLine(any.toString())
+ writer.flush()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/data/settings/model/room/DhizukuRoom.kt b/app/src/main/java/com/rosan/dhizuku/data/settings/model/room/DhizukuRoom.kt
new file mode 100644
index 0000000..3dc9e5a
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/data/settings/model/room/DhizukuRoom.kt
@@ -0,0 +1,28 @@
+package com.rosan.dhizuku.data.settings.model.room
+
+import androidx.room.Database
+import androidx.room.Room
+import androidx.room.RoomDatabase
+import com.rosan.dhizuku.data.settings.model.room.dao.AppDao
+import com.rosan.dhizuku.data.settings.model.room.entity.AppEntity
+import org.koin.core.component.KoinComponent
+import org.koin.core.component.get
+
+@Database(
+ entities = [AppEntity::class],
+ version = 1,
+ exportSchema = false
+)
+abstract class DhizukuRoom : RoomDatabase() {
+ companion object : KoinComponent {
+ fun createInstance(): DhizukuRoom {
+ return Room.databaseBuilder(
+ get(),
+ DhizukuRoom::class.java,
+ "dhizuku.db",
+ ).build()
+ }
+ }
+
+ abstract val appDao: AppDao
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/data/settings/model/room/dao/AppDao.kt b/app/src/main/java/com/rosan/dhizuku/data/settings/model/room/dao/AppDao.kt
new file mode 100644
index 0000000..2d01b07
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/data/settings/model/room/dao/AppDao.kt
@@ -0,0 +1,35 @@
+package com.rosan.dhizuku.data.settings.model.room.dao
+
+import androidx.room.*
+import com.rosan.dhizuku.data.settings.model.room.entity.AppEntity
+import kotlinx.coroutines.flow.Flow
+
+@Dao
+interface AppDao {
+ @Query("select * from app")
+ fun all(): List
+
+ @Query("select * from app")
+ fun flowAll(): Flow>
+
+ @Query("select * from app where id = :id limit 1")
+ fun find(id: Long): AppEntity?
+
+ @Query("select * from app where id = :id limit 1")
+ fun flowFind(id: Long): Flow
+
+ @Query("select * from app where uid = :uid limit 1")
+ fun findByUID(uid: Int): AppEntity?
+
+ @Query("select * from app where uid = :uid limit 1")
+ fun flowFindByUID(uid: Int): Flow
+
+ @Update
+ suspend fun update(entity: AppEntity)
+
+ @Insert
+ suspend fun insert(entity: AppEntity)
+
+ @Delete
+ suspend fun delete(entity: AppEntity)
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/data/settings/model/room/entity/AppEntity.kt b/app/src/main/java/com/rosan/dhizuku/data/settings/model/room/entity/AppEntity.kt
new file mode 100644
index 0000000..6a0dfdc
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/data/settings/model/room/entity/AppEntity.kt
@@ -0,0 +1,24 @@
+package com.rosan.dhizuku.data.settings.model.room.entity
+
+import androidx.room.ColumnInfo
+import androidx.room.Entity
+import androidx.room.Index
+import androidx.room.PrimaryKey
+
+@Entity(
+ tableName = "app",
+ indices = [
+ Index(value = ["uid"], unique = true),
+ Index(value = ["allow_api"])
+ ]
+)
+data class AppEntity(
+ @PrimaryKey(autoGenerate = true)
+ @ColumnInfo(name = "id")
+ var id: Long = 0L,
+ @ColumnInfo(name = "uid") var uid: Int,
+ @ColumnInfo(name = "allow_api") var allowApi: Boolean,
+ @ColumnInfo(name = "created_at") var createdAt: Long = System.currentTimeMillis(),
+ @ColumnInfo(name = "modified_at") var modifiedAt: Long = System.currentTimeMillis(),
+) {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/data/settings/model/room/impl/AppRepoImpl.kt b/app/src/main/java/com/rosan/dhizuku/data/settings/model/room/impl/AppRepoImpl.kt
new file mode 100644
index 0000000..97e2b15
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/data/settings/model/room/impl/AppRepoImpl.kt
@@ -0,0 +1,35 @@
+package com.rosan.dhizuku.data.settings.model.room.impl
+
+import com.rosan.dhizuku.data.settings.model.room.dao.AppDao
+import com.rosan.dhizuku.data.settings.model.room.entity.AppEntity
+import com.rosan.dhizuku.data.settings.repo.AppRepo
+import kotlinx.coroutines.flow.Flow
+
+class AppRepoImpl(
+ private val dao: AppDao
+) : AppRepo {
+ override fun all(): List = dao.all()
+
+ override fun flowAll(): Flow> = dao.flowAll()
+
+ override fun find(id: Long): AppEntity? = dao.find(id)
+
+ override fun flowFind(id: Long): Flow = dao.flowFind(id)
+
+ override fun findByUID(uid: Int): AppEntity? = dao.findByUID(uid)
+
+ override fun flowFindByUID(uid: Int): Flow = dao.flowFindByUID(uid)
+
+ override suspend fun update(entity: AppEntity) {
+ entity.modifiedAt = System.currentTimeMillis()
+ dao.update(entity)
+ }
+
+ override suspend fun insert(entity: AppEntity) {
+ entity.createdAt = System.currentTimeMillis()
+ entity.modifiedAt = System.currentTimeMillis()
+ dao.insert(entity)
+ }
+
+ override suspend fun delete(entity: AppEntity) = dao.delete(entity)
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/data/settings/repo/AppRepo.kt b/app/src/main/java/com/rosan/dhizuku/data/settings/repo/AppRepo.kt
new file mode 100644
index 0000000..76011fe
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/data/settings/repo/AppRepo.kt
@@ -0,0 +1,24 @@
+package com.rosan.dhizuku.data.settings.repo
+
+import com.rosan.dhizuku.data.settings.model.room.entity.AppEntity
+import kotlinx.coroutines.flow.Flow
+
+interface AppRepo {
+ fun all(): List
+
+ fun flowAll(): Flow>
+
+ fun find(id: Long): AppEntity?
+
+ fun flowFind(id: Long): Flow
+
+ fun findByUID(uid: Int): AppEntity?
+
+ fun flowFindByUID(uid: Int): Flow
+
+ suspend fun update(entity: AppEntity)
+
+ suspend fun insert(entity: AppEntity)
+
+ suspend fun delete(entity: AppEntity)
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/di/dhizuku_module.kt b/app/src/main/java/com/rosan/dhizuku/di/dhizuku_module.kt
new file mode 100644
index 0000000..f2864b3
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/di/dhizuku_module.kt
@@ -0,0 +1,16 @@
+package com.rosan.dhizuku.di
+
+import com.rosan.dhizuku.aidl.IDhizuku
+import com.rosan.dhizuku.server.impl.IDhizukuImpl
+import org.koin.dsl.module
+
+private var iDhizuku: IDhizukuImpl? = null
+
+val dhizukuModule = module {
+ factory {
+ if (iDhizuku?.pingBinder() == true) return@factory iDhizuku!!
+ IDhizukuImpl().apply {
+ iDhizuku = this
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/di/init/app_modules.kt b/app/src/main/java/com/rosan/dhizuku/di/init/app_modules.kt
new file mode 100644
index 0000000..0d5a62e
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/di/init/app_modules.kt
@@ -0,0 +1,11 @@
+package com.rosan.dhizuku.di.init
+
+import com.rosan.dhizuku.di.dhizukuModule
+import com.rosan.dhizuku.di.roomModule
+import com.rosan.dhizuku.di.viewModelModule
+
+val appModules = listOf(
+ roomModule,
+ viewModelModule,
+ dhizukuModule
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/di/room_module.kt b/app/src/main/java/com/rosan/dhizuku/di/room_module.kt
new file mode 100644
index 0000000..76023b1
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/di/room_module.kt
@@ -0,0 +1,17 @@
+package com.rosan.dhizuku.di
+
+import com.rosan.dhizuku.data.settings.model.room.DhizukuRoom
+import com.rosan.dhizuku.data.settings.model.room.impl.AppRepoImpl
+import com.rosan.dhizuku.data.settings.repo.AppRepo
+import org.koin.dsl.module
+
+val roomModule = module {
+ single {
+ DhizukuRoom.createInstance()
+ }
+
+ single {
+ val room = get()
+ AppRepoImpl(room.appDao)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/di/viewmodel_module.kt b/app/src/main/java/com/rosan/dhizuku/di/viewmodel_module.kt
new file mode 100644
index 0000000..ae36d9d
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/di/viewmodel_module.kt
@@ -0,0 +1,11 @@
+package com.rosan.dhizuku.di
+
+import com.rosan.dhizuku.ui.page.settings.config.ConfigViewModel
+import org.koin.androidx.viewmodel.dsl.viewModel
+import org.koin.dsl.module
+
+val viewModelModule = module {
+ viewModel {
+ ConfigViewModel(get())
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/server/DhizukuConstants.kt b/app/src/main/java/com/rosan/dhizuku/server/DhizukuConstants.kt
new file mode 100644
index 0000000..67064e1
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/server/DhizukuConstants.kt
@@ -0,0 +1,5 @@
+package com.rosan.dhizuku.server
+
+val DHIZUKU_SERVRE_VERSION_CODE = 1
+
+val DHIZUKU_SERVER_VERSION_NAME = "1.0"
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/server/DhizukuDAReceiver.kt b/app/src/main/java/com/rosan/dhizuku/server/DhizukuDAReceiver.kt
new file mode 100644
index 0000000..157d490
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/server/DhizukuDAReceiver.kt
@@ -0,0 +1,30 @@
+package com.rosan.dhizuku.server
+
+import android.app.admin.DeviceAdminReceiver
+import android.content.Context
+import android.content.Intent
+import com.rosan.dhizuku.App
+import org.koin.core.component.KoinComponent
+import org.koin.core.component.get
+
+class DhizukuDAReceiver : DeviceAdminReceiver(), KoinComponent {
+ private val app = get().applicationContext as App
+
+ override fun onEnabled(context: Context, intent: Intent) {
+ super.onEnabled(context, intent)
+ app.syncDeviceOwnerStatus()
+ }
+
+ override fun onReceive(context: Context, intent: Intent) {
+ super.onReceive(context, intent)
+ }
+
+ override fun onDisableRequested(context: Context, intent: Intent): CharSequence? {
+ return super.onDisableRequested(context, intent)
+ }
+
+ override fun onDisabled(context: Context, intent: Intent) {
+ super.onDisabled(context, intent)
+ app.syncDeviceOwnerStatus()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/server/DhizukuProvider.kt b/app/src/main/java/com/rosan/dhizuku/server/DhizukuProvider.kt
new file mode 100644
index 0000000..91f3131
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/server/DhizukuProvider.kt
@@ -0,0 +1,47 @@
+package com.rosan.dhizuku.server
+
+import android.content.ContentProvider
+import android.content.ContentValues
+import android.database.Cursor
+import android.net.Uri
+import android.os.Bundle
+import com.rosan.dhizuku.aidl.IDhizuku
+import com.rosan.dhizuku.shared.DhizukuVariables
+import org.koin.core.component.KoinComponent
+import org.koin.core.component.inject
+
+class DhizukuProvider : ContentProvider(), KoinComponent {
+ private val iDhizuku: IDhizuku by inject()
+
+ override fun call(method: String, arg: String?, extras: Bundle?): Bundle? {
+ return when (method) {
+ DhizukuVariables.PROVIDER_METHOD_CLIENT -> Bundle().apply {
+ putBinder(DhizukuVariables.PARAM_DHIZUKU_BINDER, iDhizuku.asBinder())
+ }
+ else -> null;
+ }
+ }
+
+ override fun onCreate(): Boolean = true
+
+ override fun query(
+ uri: Uri,
+ projection: Array?,
+ selection: String?,
+ selectionArgs: Array?,
+ sortOrder: String?
+ ): Cursor? = null
+
+ override fun getType(uri: Uri): String? = null
+
+ override fun insert(uri: Uri, values: ContentValues?): Uri? = null
+
+ override fun delete(uri: Uri, selection: String?, selectionArgs: Array?): Int = 0
+
+ override fun update(
+ uri: Uri,
+ values: ContentValues?,
+ selection: String?,
+ selectionArgs: Array?
+ ): Int = 0
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/server/impl/IDhizukuImpl.kt b/app/src/main/java/com/rosan/dhizuku/server/impl/IDhizukuImpl.kt
new file mode 100644
index 0000000..fd0b979
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/server/impl/IDhizukuImpl.kt
@@ -0,0 +1,76 @@
+package com.rosan.dhizuku.server.impl
+
+import android.content.Context
+import android.os.Binder
+import android.os.IBinder
+import android.os.Parcel
+import com.rosan.dhizuku.aidl.IDhizuku
+import com.rosan.dhizuku.aidl.IDhizukuRemoteProcess
+import com.rosan.dhizuku.data.settings.repo.AppRepo
+import com.rosan.dhizuku.server.DHIZUKU_SERVER_VERSION_NAME
+import com.rosan.dhizuku.server.DHIZUKU_SERVRE_VERSION_CODE
+import com.rosan.dhizuku.shared.DhizukuVariables
+import org.koin.core.component.KoinComponent
+import org.koin.core.component.inject
+import java.io.File
+
+class IDhizukuImpl : IDhizuku.Stub(), KoinComponent {
+ private val context by inject()
+
+ private val appRepo by inject()
+
+ override fun getVersionCode(): Int = DHIZUKU_SERVRE_VERSION_CODE
+
+ override fun getVersionName(): String = DHIZUKU_SERVER_VERSION_NAME
+
+ override fun isPermissionGranted(): Boolean {
+ return appRepo.findByUID(Binder.getCallingUid())?.allowApi ?: false
+ }
+
+ private fun requireCallingPermission(name: String) {
+ if (isPermissionGranted) return
+ throw IllegalStateException(SecurityException("uid '${Binder.getCallingUid()}' not allow use dhizuku api"))
+ }
+
+ private fun targetTransact(
+ iBinder: IBinder,
+ code: Int,
+ data: Parcel,
+ reply: Parcel?,
+ flags: Int
+ ): Boolean {
+ requireCallingPermission("target_transact")
+ val id = clearCallingIdentity()
+ val result = iBinder.transact(code, data, reply, flags)
+ restoreCallingIdentity(id)
+ return result
+ }
+
+ override fun remoteProcess(
+ cmd: Array?,
+ env: Array?,
+ dir: String?
+ ): IDhizukuRemoteProcess {
+ requireCallingPermission("remote_process")
+ val file = if (dir != null) File(dir) else null
+ val process = Runtime.getRuntime().exec(cmd, env, file)
+ return IDhizukuRemoteProcessImpl(process, this)
+ }
+
+ override fun onTransact(code: Int, data: Parcel, reply: Parcel?, flags: Int): Boolean {
+ if (code == DhizukuVariables.TRANSACT_CODE_REMOTE_BINDER) {
+ val targetData = Parcel.obtain()
+ try {
+ data.enforceInterface(DhizukuVariables.BINDER_DESCRIPTOR)
+ val iBinder = data.readStrongBinder()
+ val targtCode = data.readInt()
+ val targetFlags = data.readInt()
+ targetData.appendFrom(data, data.dataPosition(), data.dataAvail())
+ return targetTransact(iBinder, targtCode, targetData, reply, targetFlags)
+ } finally {
+ targetData.recycle()
+ }
+ }
+ return super.onTransact(code, data, reply, flags)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/server/impl/IDhizukuRemoteProcessImpl.kt b/app/src/main/java/com/rosan/dhizuku/server/impl/IDhizukuRemoteProcessImpl.kt
new file mode 100644
index 0000000..60fb8d0
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/server/impl/IDhizukuRemoteProcessImpl.kt
@@ -0,0 +1,96 @@
+package com.rosan.dhizuku.server.impl
+
+import android.os.IBinder
+import android.os.ParcelFileDescriptor
+import com.rosan.dhizuku.aidl.IDhizukuRemoteProcess
+import com.rosan.dhizuku.util.parcelable
+import java.io.IOException
+import java.util.concurrent.TimeUnit
+
+class IDhizukuRemoteProcessImpl(private val process: Process, private val iBinder: IBinder) :
+ IDhizukuRemoteProcess.Stub() {
+ init {
+ iBinder.linkToDeath({
+ kotlin.runCatching { if (alive()) destroy() }
+ }, 0)
+ }
+
+ private var output: ParcelFileDescriptor? = null
+
+ private var input: ParcelFileDescriptor? = null
+
+ private var error: ParcelFileDescriptor? = null
+
+ override fun getOutputStream(): ParcelFileDescriptor {
+ if (output != null) return output!!
+ try {
+ output = process.outputStream.parcelable()
+ } catch (e: IOException) {
+ throw IllegalStateException(e)
+ }
+ return output!!
+ }
+
+ override fun getInputStream(): ParcelFileDescriptor {
+ if (input != null) return input!!
+ try {
+ input = process.inputStream.parcelable()
+ } catch (e: IOException) {
+ throw IllegalStateException(e)
+ }
+ return input!!
+ }
+
+ override fun getErrorStream(): ParcelFileDescriptor {
+ if (error != null) return error!!
+ try {
+ error = process.errorStream.parcelable()
+ } catch (e: IOException) {
+ throw IllegalStateException(e)
+ }
+ return error!!
+ }
+
+ override fun exitValue(): Int = process.exitValue()
+
+ override fun destroy() = process.destroy()
+
+ override fun alive(): Boolean {
+ return try {
+ exitValue()
+ false
+ } catch (e: IllegalThreadStateException) {
+ true
+ }
+ }
+
+ override fun waitFor(): Int {
+ try {
+ return process.waitFor()
+ } catch (e: InterruptedException) {
+ throw IllegalStateException(e)
+ }
+ }
+
+ override fun waitForTimeout(timeout: Long, unitName: String): Boolean {
+ val unit = TimeUnit.valueOf(unitName)
+ val start = System.nanoTime()
+ var rem = unit.toNanos(timeout)
+ do {
+ try {
+ exitValue()
+ return true
+ } catch (e: IllegalThreadStateException) {
+ if (rem > 0) {
+ try {
+ Thread.sleep(Math.min(TimeUnit.NANOSECONDS.toMillis(rem) + 1, 100))
+ } catch (e: InterruptedException) {
+ throw IllegalStateException(e)
+ }
+ }
+ }
+ rem = unit.toNanos(timeout) - (System.nanoTime() - start)
+ } while (rem > 0)
+ return false
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/test.kt b/app/src/main/java/com/rosan/dhizuku/test.kt
new file mode 100644
index 0000000..ce9b9b1
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/test.kt
@@ -0,0 +1,4 @@
+package com.rosan.dhizuku
+
+fun main(args: Array) {
+}
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/activity/RequestPermissionActivity.kt b/app/src/main/java/com/rosan/dhizuku/ui/activity/RequestPermissionActivity.kt
new file mode 100644
index 0000000..07bec70
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/activity/RequestPermissionActivity.kt
@@ -0,0 +1,123 @@
+package com.rosan.dhizuku.ui.activity
+
+import android.content.pm.PackageManager
+import android.os.Bundle
+import androidx.activity.ComponentActivity
+import androidx.activity.compose.setContent
+import androidx.compose.foundation.Image
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.imePadding
+import androidx.compose.material.Text
+import androidx.compose.material3.AlertDialog
+import androidx.compose.material3.TextButton
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.stringResource
+import com.google.accompanist.drawablepainter.rememberDrawablePainter
+import com.rosan.dhizuku.R
+import com.rosan.dhizuku.aidl.IDhizukuRequestPermissionListener
+import com.rosan.dhizuku.data.settings.model.room.entity.AppEntity
+import com.rosan.dhizuku.data.settings.repo.AppRepo
+import com.rosan.dhizuku.shared.DhizukuVariables
+import com.rosan.dhizuku.ui.theme.InstallerTheme
+import com.rosan.dhizuku.util.toast
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+import org.koin.core.component.KoinComponent
+import org.koin.core.component.inject
+
+class RequestPermissionActivity : ComponentActivity(), KoinComponent {
+ private val appRepo by inject()
+
+ private var grantResult: Int = PackageManager.PERMISSION_DENIED
+
+ private var listener: IDhizukuRequestPermissionListener? = null
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ val bundle = intent.getBundleExtra("bundle")
+ val clientUID = bundle?.getInt(DhizukuVariables.PARAM_CLIENT_UID)
+ if (clientUID == null) {
+ toast("please send client UID")
+ finish()
+ return
+ }
+ val packageName = packageManager.getPackagesForUid(clientUID)?.first()
+ if (packageName == null) {
+ toast("can not get package name for $clientUID")
+ finish()
+ return
+ }
+ val applicationInfo = packageManager.getPackageInfo(packageName, 0)?.applicationInfo
+ if (applicationInfo == null) {
+ toast("can not get application for $clientUID")
+ finish()
+ return
+ }
+ val label = applicationInfo.loadLabel(packageManager)
+ val icon = applicationInfo.loadIcon(packageManager)
+ bundle.getBinder(DhizukuVariables.PARAM_CLIENT_REQUEST_PERMISSION_BINDER)?.let {
+ listener = IDhizukuRequestPermissionListener.Stub.asInterface(it)
+ }
+ fun updateAppEntity() {
+ val allowApi = grantResult == PackageManager.PERMISSION_GRANTED
+ CoroutineScope(Dispatchers.IO).launch {
+ val entity = appRepo.findByUID(clientUID)
+ if (entity == null)
+ appRepo.insert(AppEntity(uid = clientUID, allowApi = allowApi))
+ else appRepo.update(entity.copy(allowApi = allowApi))
+ }
+ }
+ setContent {
+ // A surface based on material design theme.
+ InstallerTheme {
+ Box(
+ modifier = Modifier
+ .fillMaxSize()
+ .imePadding()
+ ) {
+ AlertDialog(onDismissRequest = {
+ finish()
+ }, icon = {
+ Image(
+ painter = rememberDrawablePainter(drawable = icon),
+ contentDescription = null
+ )
+ }, title = {
+ Text(text = stringResource(id = R.string.request_permission_title))
+ }, text = {
+ Text(
+ text = stringResource(
+ id = R.string.request_permission_text,
+ label
+ )
+ )
+ }, confirmButton = {
+ TextButton(onClick = {
+ grantResult = PackageManager.PERMISSION_GRANTED
+ updateAppEntity()
+ finish()
+ }) {
+ Text(text = stringResource(id = R.string.agree))
+ }
+ }, dismissButton = {
+ TextButton(onClick = {
+ grantResult = PackageManager.PERMISSION_DENIED
+ updateAppEntity()
+ finish()
+ }) {
+ Text(text = stringResource(id = R.string.refuse))
+ }
+ })
+ }
+ }
+ }
+ }
+
+ override fun onPause() {
+ super.onPause()
+ finish()
+ listener?.onRequestPermission(grantResult)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/activity/SettingsActivity.kt b/app/src/main/java/com/rosan/dhizuku/ui/activity/SettingsActivity.kt
new file mode 100644
index 0000000..ea2f633
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/activity/SettingsActivity.kt
@@ -0,0 +1,40 @@
+package com.rosan.dhizuku.ui.activity
+
+import android.os.Bundle
+import androidx.activity.ComponentActivity
+import androidx.activity.compose.setContent
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.imePadding
+import androidx.compose.material3.Surface
+import androidx.compose.ui.Modifier
+import com.hjq.permissions.Permission
+import com.hjq.permissions.XXPermissions
+import com.rosan.dhizuku.ui.page.settings.SettingsPage
+import com.rosan.dhizuku.ui.theme.InstallerTheme
+import org.koin.core.component.KoinComponent
+
+class SettingsActivity : ComponentActivity(), KoinComponent {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContent {
+ // A surface based on material design theme.
+ InstallerTheme {
+ Surface(
+ modifier = Modifier
+ .fillMaxSize()
+ .imePadding()
+ ) {
+ SettingsPage()
+ }
+ }
+ }
+ if (!XXPermissions.isGranted(
+ this,
+ Permission.MANAGE_EXTERNAL_STORAGE
+ )
+ )
+ XXPermissions.with(this)
+ .permission(Permission.MANAGE_EXTERNAL_STORAGE)
+ .request { permissions, allGranted -> }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/page/settings/SettingsPage.kt b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/SettingsPage.kt
new file mode 100644
index 0000000..2b35122
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/SettingsPage.kt
@@ -0,0 +1,38 @@
+package com.rosan.dhizuku.ui.page.settings
+
+import androidx.compose.animation.ExperimentalAnimationApi
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.ExperimentalComposeUiApi
+import com.google.accompanist.navigation.animation.AnimatedNavHost
+import com.google.accompanist.navigation.animation.composable
+import com.google.accompanist.navigation.animation.rememberAnimatedNavController
+import com.rosan.dhizuku.ui.page.settings.main.MainPage
+
+@OptIn(ExperimentalAnimationApi::class, ExperimentalComposeUiApi::class)
+@Composable
+fun SettingsPage() {
+ val navController = rememberAnimatedNavController()
+
+ AnimatedNavHost(
+ navController = navController,
+ startDestination = SettingsScreen.Main.route,
+ ) {
+ composable(
+ route = SettingsScreen.Main.route,
+ enterTransition = {
+ null
+ },
+ exitTransition = {
+ null
+ },
+ popEnterTransition = {
+ null
+ },
+ popExitTransition = {
+ null
+ }
+ ) {
+ MainPage(navController = navController)
+ }
+ }
+}
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/page/settings/SettingsScreen.kt b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/SettingsScreen.kt
new file mode 100644
index 0000000..1eb6e68
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/SettingsScreen.kt
@@ -0,0 +1,5 @@
+package com.rosan.dhizuku.ui.page.settings
+
+sealed class SettingsScreen(val route: String) {
+ object Main : SettingsScreen("main")
+}
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/page/settings/config/ConfigPage.kt b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/config/ConfigPage.kt
new file mode 100644
index 0000000..e489858
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/config/ConfigPage.kt
@@ -0,0 +1,105 @@
+package com.rosan.dhizuku.ui.page.settings.config
+
+import androidx.compose.foundation.Image
+import androidx.compose.foundation.clickable
+import androidx.compose.foundation.layout.*
+import androidx.compose.foundation.lazy.LazyColumn
+import androidx.compose.foundation.lazy.items
+import androidx.compose.material3.*
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.LaunchedEffect
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.unit.dp
+import androidx.navigation.NavController
+import com.google.accompanist.drawablepainter.rememberDrawablePainter
+import com.rosan.dhizuku.R
+import org.koin.androidx.compose.getViewModel
+
+@OptIn(ExperimentalMaterial3Api::class)
+@Composable
+fun ConfigPage(
+ navController: NavController,
+ viewModel: ConfigViewModel = getViewModel()
+) {
+ LaunchedEffect(true) {
+ viewModel.dispatch(ConfigViewAction.Init)
+ }
+
+ Scaffold(
+ modifier = Modifier
+ .fillMaxSize(),
+ topBar = {
+ TopAppBar(
+ title = {
+ Text(text = stringResource(id = R.string.config))
+ }
+ )
+ },
+ ) {
+ Box(modifier = Modifier.padding(it)) {
+ DataWidget(viewModel = viewModel)
+ }
+ }
+}
+
+@Composable
+fun DataWidget(viewModel: ConfigViewModel) {
+ LazyColumn(
+ modifier = Modifier.fillMaxSize(),
+ verticalArrangement = Arrangement.spacedBy(4.dp)
+ ) {
+ items(viewModel.state.data) {
+ DataItemWidget(viewModel, it)
+ }
+ }
+}
+
+@Composable
+fun DataItemWidget(viewModel: ConfigViewModel, data: ConfigViewState.Data) {
+ Box(
+ modifier = Modifier
+ .fillMaxWidth(),
+ ) {
+ Row(
+ modifier = Modifier
+ .fillMaxWidth()
+ .clickable {
+ viewModel.dispatch(ConfigViewAction.UpdateConfigByUID(data.uid, !data.allowApi))
+ }
+ .padding(horizontal = 16.dp, vertical = 8.dp),
+ horizontalArrangement = Arrangement.spacedBy(16.dp),
+ ) {
+ Image(
+ painter = rememberDrawablePainter(drawable = data.icon),
+ modifier = Modifier
+ .size(32.dp)
+ .align(Alignment.CenterVertically),
+ contentDescription = data.label
+ )
+ Column(
+ modifier = Modifier
+ .align(Alignment.CenterVertically)
+ .weight(1f)
+ ) {
+ Text(
+ text = data.label,
+ style = MaterialTheme.typography.titleMedium
+ )
+ Text(
+ text = data.packageName,
+ style = MaterialTheme.typography.bodyMedium
+ )
+ }
+ Switch(
+ modifier = Modifier
+ .align(Alignment.CenterVertically),
+ checked = data.allowApi,
+ onCheckedChange = {
+ viewModel.dispatch(ConfigViewAction.UpdateConfigByUID(data.uid, it))
+ }
+ )
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/page/settings/config/ConfigViewAction.kt b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/config/ConfigViewAction.kt
new file mode 100644
index 0000000..6289f08
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/config/ConfigViewAction.kt
@@ -0,0 +1,7 @@
+package com.rosan.dhizuku.ui.page.settings.config
+
+sealed class ConfigViewAction {
+ object Init : ConfigViewAction()
+
+ data class UpdateConfigByUID(val uid: Int, val allowApi: Boolean) : ConfigViewAction()
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/page/settings/config/ConfigViewModel.kt b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/config/ConfigViewModel.kt
new file mode 100644
index 0000000..11296a3
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/config/ConfigViewModel.kt
@@ -0,0 +1,113 @@
+package com.rosan.dhizuku.ui.page.settings.config
+
+import android.content.Context
+import android.content.pm.PackageManager
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.setValue
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.viewModelScope
+import com.rosan.dhizuku.data.settings.model.room.entity.AppEntity
+import com.rosan.dhizuku.data.settings.repo.AppRepo
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.Job
+import kotlinx.coroutines.launch
+import org.koin.core.component.KoinComponent
+import org.koin.core.component.inject
+
+class ConfigViewModel(
+ private var repo: AppRepo
+) : ViewModel(), KoinComponent {
+ private val context by inject()
+
+ var state by mutableStateOf(ConfigViewState(emptyList()))
+ private set
+
+ fun dispatch(action: ConfigViewAction) {
+ when (action) {
+ ConfigViewAction.Init -> init()
+ is ConfigViewAction.UpdateConfigByUID -> updateConfigByUID(action.uid, action.allowApi)
+ }
+ }
+
+ private fun init() {
+ collectRepo(repo)
+ }
+
+ private var collectRepoJob: Job? = null
+
+ private fun collectRepo(repo: AppRepo) {
+ this.repo = repo
+ collectRepoJob?.cancel()
+ collectRepoJob = viewModelScope.launch(Dispatchers.IO) {
+ repo.flowAll().collect { apps ->
+ val packageManager = context.packageManager
+ val map = mutableMapOf()
+ apps.forEach {
+ val packageName = packageManager.getPackagesForUid(it.uid)?.first()
+ map[it.uid] = if (packageName != null) {
+ val packageInfo = packageManager.getPackageInfo(packageName, 0)
+ val applicationInfo = packageInfo.applicationInfo
+ val uid = applicationInfo.uid
+ ConfigViewState.Data(
+ uid = uid,
+ packageName = packageInfo.packageName,
+ label = applicationInfo.loadLabel(packageManager).toString(),
+ icon = applicationInfo.loadIcon(packageManager),
+ allowApi = it.allowApi
+ )
+ } else {
+ ConfigViewState.Data(
+ uid = it.uid,
+ packageName = it.uid.toString(),
+ label = it.uid.toString(),
+ icon = ContextCompat.getDrawable(
+ context, android.R.drawable.sym_def_app_icon
+ )!!,
+ allowApi = it.allowApi
+ )
+ }
+ }
+ val packages =
+ packageManager.getInstalledPackages(PackageManager.GET_PERMISSIONS or PackageManager.GET_ACTIVITIES)
+ packages.forEach { packageInfo ->
+ packageInfo.requestedPermissions?.forEach {
+ if (it == "com.rosan.dhizuku.permission.API") {
+ val applicationInfo = packageInfo.applicationInfo
+ val uid = applicationInfo.uid
+ val data = map[uid]
+ map[uid] = ConfigViewState.Data(
+ uid = uid,
+ packageName = packageInfo.packageName,
+ label = applicationInfo.loadLabel(packageManager).toString(),
+ icon = applicationInfo.loadIcon(packageManager),
+ allowApi = data?.allowApi ?: false
+ )
+ }
+ }
+ }
+ state = ConfigViewState(data = map.values.sortedBy {
+ it.uid
+ })
+ }
+ }
+ }
+
+ private fun updateConfigByUID(uid: Int, allowApi: Boolean) {
+ viewModelScope.launch(Dispatchers.IO) {
+ val entity = repo.findByUID(uid)
+ if (entity == null) {
+ repo.insert(
+ AppEntity(
+ uid = uid,
+ allowApi = allowApi
+ )
+ )
+ return@launch
+ }
+ entity.allowApi = allowApi
+ repo.update(entity)
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/page/settings/config/ConfigViewState.kt b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/config/ConfigViewState.kt
new file mode 100644
index 0000000..7188e4a
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/config/ConfigViewState.kt
@@ -0,0 +1,13 @@
+package com.rosan.dhizuku.ui.page.settings.config
+
+import android.graphics.drawable.Drawable
+
+data class ConfigViewState(val data: List) {
+ data class Data(
+ val uid: Int,
+ val packageName: String,
+ val label: String,
+ val icon: Drawable,
+ val allowApi: Boolean
+ )
+}
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/page/settings/home/HomeCardItem.kt b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/home/HomeCardItem.kt
new file mode 100644
index 0000000..5b6c973
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/home/HomeCardItem.kt
@@ -0,0 +1,11 @@
+package com.rosan.dhizuku.ui.page.settings.home
+
+import androidx.compose.ui.graphics.vector.ImageVector
+
+data class HomeCardItem(
+ val icon: ImageVector? = null,
+ val label: String,
+ val content: String? = null,
+ val onClick: (() -> Unit)? = null
+) {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/page/settings/home/HomePage.kt b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/home/HomePage.kt
new file mode 100644
index 0000000..46535a2
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/home/HomePage.kt
@@ -0,0 +1,478 @@
+package com.rosan.dhizuku.ui.page.settings.home
+
+import android.app.admin.DevicePolicyManager
+import android.content.*
+import android.net.Uri
+import android.os.Bundle
+import android.text.method.LinkMovementMethod
+import android.widget.TextView
+import androidx.compose.animation.AnimatedContent
+import androidx.compose.animation.ExperimentalAnimationApi
+import androidx.compose.foundation.clickable
+import androidx.compose.foundation.layout.*
+import androidx.compose.foundation.lazy.LazyColumn
+import androidx.compose.foundation.text.selection.SelectionContainer
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.twotone.*
+import androidx.compose.material3.*
+import androidx.compose.runtime.*
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.toArgb
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.unit.dp
+import androidx.compose.ui.viewinterop.AndroidView
+import androidx.core.text.HtmlCompat
+import androidx.navigation.NavController
+import com.rosan.dhizuku.App
+import com.rosan.dhizuku.R
+import com.rosan.dhizuku.data.console.model.entity.ConsoleError
+import com.rosan.dhizuku.data.console.repo.ConsoleRepo
+import com.rosan.dhizuku.data.console.util.ConsoleRepoUtil
+import com.rosan.dhizuku.data.console.util.ConsoleUtil
+import com.rosan.dhizuku.server.DhizukuDAReceiver
+import com.rosan.dhizuku.ui.activity.RequestPermissionActivity
+import com.rosan.dhizuku.ui.widget.dialog.PositionDialog
+import com.rosan.dhizuku.util.toast
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.async
+import kotlinx.coroutines.launch
+import java.io.ByteArrayOutputStream
+import java.io.PrintStream
+import kotlin.system.exitProcess
+
+@OptIn(ExperimentalMaterial3Api::class)
+@Composable
+fun HomePage(navController: NavController) {
+ Scaffold(modifier = Modifier.fillMaxSize(), topBar = {
+ TopAppBar(
+ title = {
+ Text(text = stringResource(id = R.string.home))
+ },
+ )
+ }) {
+ LazyColumn(
+ contentPadding = PaddingValues(16.dp),
+ modifier = Modifier
+ .fillMaxSize()
+ .padding(it),
+ verticalArrangement = Arrangement.spacedBy(16.dp),
+ ) {
+ item {
+ StatusWidget()
+ }
+ item {
+ ActiveWidget()
+ }
+ item {
+ DonateWidget()
+ }
+ }
+ }
+}
+
+@Composable
+fun StatusWidget() {
+ val context = LocalContext.current
+ val app = context.applicationContext as App
+ val isDeviceAdminer = app.isDeviceAdminer
+ val isDeviceOwner = app.isDeviceOwner
+
+ val containerColor = if (isDeviceOwner) MaterialTheme.colorScheme.primaryContainer
+ else if (isDeviceAdminer) MaterialTheme.colorScheme.tertiaryContainer
+ else MaterialTheme.colorScheme.errorContainer
+
+ val onContainerColor = if (isDeviceOwner) MaterialTheme.colorScheme.onPrimaryContainer
+ else if (isDeviceAdminer) MaterialTheme.colorScheme.onTertiaryContainer
+ else MaterialTheme.colorScheme.onErrorContainer
+
+ val icon = if (isDeviceOwner) Icons.TwoTone.SentimentVerySatisfied
+ else if (isDeviceAdminer) Icons.TwoTone.SentimentNeutral
+ else Icons.TwoTone.SentimentVeryDissatisfied
+
+ val text = stringResource(
+ id = if (isDeviceOwner) R.string.device_owner_granted
+ else if (isDeviceAdminer) R.string.device_admin_granted
+ else R.string.device_admin_denied
+ )
+
+ CardWidget(colors = CardDefaults.elevatedCardColors(
+ containerColor = containerColor, contentColor = onContainerColor
+ ), content = {
+ Row(modifier = Modifier.padding(horizontal = 24.dp)) {
+ Icon(
+ modifier = Modifier.align(Alignment.CenterVertically),
+ imageVector = icon,
+ contentDescription = null
+ )
+ Spacer(modifier = Modifier.size(24.dp))
+ Text(text = text, style = MaterialTheme.typography.titleMedium)
+ }
+ }, onClick = {
+ context.startActivity(
+ Intent(context, RequestPermissionActivity::class.java).putExtra(
+ "bundle",
+ Bundle().apply {
+ putInt("uid", 10330)
+ }).addFlags(
+ Intent.FLAG_ACTIVITY_NEW_TASK
+ )
+ )
+ })
+}
+
+@OptIn(ExperimentalAnimationApi::class)
+@Composable
+fun ShizukuButton() {
+ val context = LocalContext.current
+ val scope = rememberCoroutineScope()
+ var console: ConsoleRepo? = null
+ var showDialog by remember {
+ mutableStateOf(false)
+ }
+ var inProgress by remember {
+ mutableStateOf(false)
+ }
+ var exception: Throwable? by remember {
+ mutableStateOf(null)
+ }
+
+ Button(onClick = {
+ scope.launch(Dispatchers.IO) {
+ inProgress = true
+ exception = null
+ showDialog = true
+ exception = kotlin.runCatching {
+ val letConsole = ConsoleRepoUtil.shizuku {
+ command(
+ "dpm",
+ "set-device-owner",
+ "${context.packageName}/${DhizukuDAReceiver::class.qualifiedName}"
+ )
+ }
+ console = letConsole
+ val util = ConsoleUtil(letConsole)
+ val inputJob = async { util.inputBytes() }
+ val errorJob = async { util.errorBytes() }
+ val input = inputJob.await().decodeToString()
+ val error = errorJob.await().decodeToString()
+ val code = letConsole.exitValue()
+ if (code != 0) throw ConsoleError(code, input, error)
+ }.exceptionOrNull()
+ inProgress = false
+ }
+ }) {
+ Icon(
+ modifier = Modifier.size(16.dp),
+ imageVector = Icons.TwoTone.Key,
+ contentDescription = null
+ )
+ Spacer(modifier = Modifier.size(ButtonDefaults.IconSpacing))
+ Text(text = stringResource(id = R.string.active_by_shizuku))
+ }
+
+ if (!showDialog) return
+ PositionDialog(onDismissRequest = {}, centerTitle = {
+ Text(stringResource(R.string.active_by_shizuku))
+ }, leftText = {
+ AnimatedContent(targetState = inProgress) {
+ if (it) LinearProgressIndicator(modifier = Modifier.fillMaxWidth())
+ else if (exception == null) Text(stringResource(R.string.execution_end))
+ else {
+ val text = when {
+ exception is IllegalStateException && exception?.message == "binder haven't been received" -> stringResource(
+ R.string.shizuku_binder_not_received
+ )
+ else -> ByteArrayOutputStream().also {
+ exception?.printStackTrace(PrintStream(it))
+ }.toByteArray().decodeToString()
+ }
+ SelectionContainer {
+ LazyColumn {
+ item {
+ Text(text)
+ }
+ }
+ }
+ }
+ }
+ }, rightButton = {
+ TextButton(onClick = {
+ console?.closeForcibly()
+ showDialog = false
+ }) {
+ Text(
+ stringResource(
+ if (inProgress) R.string.cancel
+ else R.string.finish
+ )
+ )
+ }
+ })
+}
+
+@Composable
+fun ADBButton() {
+ val context = LocalContext.current
+ var showDialog by remember {
+ mutableStateOf(false)
+ }
+ val command =
+ "adb shell dpm set-device-owner ${context.packageName}/${DhizukuDAReceiver::class.qualifiedName}"
+
+ Button(onClick = {
+ showDialog = true
+ }) {
+ Icon(
+ modifier = Modifier.size(16.dp),
+ imageVector = Icons.TwoTone.Adb,
+ contentDescription = null
+ )
+ Spacer(modifier = Modifier.size(ButtonDefaults.IconSpacing))
+ Text(text = stringResource(id = R.string.active_by_adb))
+ }
+ if (showDialog) {
+ AlertDialog(onDismissRequest = {
+ showDialog = false
+ }, title = {
+ Text(text = stringResource(id = R.string.active_by_adb))
+ }, text = {
+ val textColor = AlertDialogDefaults.textContentColor.toArgb()
+ AndroidView(factory = {
+ val view = TextView(it)
+ view.movementMethod = LinkMovementMethod.getInstance()
+ view.setTextColor(textColor)
+ view.text = HtmlCompat.fromHtml(
+ it.getString(R.string.active_by_adb_dsp, command),
+ HtmlCompat.FROM_HTML_MODE_COMPACT
+ )
+ return@AndroidView view
+ })
+ }, confirmButton = {
+ TextButton(onClick = {
+ val manager =
+ context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
+ manager.setPrimaryClip(ClipData.newPlainText("Label", command))
+ context.toast(R.string.copy_success)
+ showDialog = false
+ }) {
+ Text(text = stringResource(id = R.string.copy))
+ }
+ }, dismissButton = {
+ TextButton(onClick = { showDialog = false }) {
+ Text(text = stringResource(id = R.string.cancel))
+ }
+ })
+ }
+}
+
+@Composable
+fun DeactivateButton() {
+ val context = LocalContext.current
+ Button(onClick = {
+ val e = runCatching {
+ val manager =
+ context.getSystemService(Context.DEVICE_POLICY_SERVICE) as DevicePolicyManager
+ manager.clearDeviceOwnerApp(context.packageName)
+ }.exceptionOrNull()
+ context.toast(if (e == null) R.string.deactivate_success else R.string.deactivate_failed)
+ }) {
+ Icon(
+ modifier = Modifier.size(16.dp),
+ imageVector = Icons.TwoTone.Outlet,
+ contentDescription = null
+ )
+ Spacer(modifier = Modifier.size(ButtonDefaults.IconSpacing))
+ Text(text = stringResource(id = R.string.deactivate))
+ }
+}
+
+@Composable
+fun ForceStopButton() {
+ val context = LocalContext.current
+ var showDialog by remember {
+ mutableStateOf(false)
+ }
+
+ Button(onClick = {
+ showDialog = true
+ }) {
+ Icon(
+ modifier = Modifier.size(16.dp),
+ imageVector = Icons.TwoTone.Close,
+ contentDescription = null
+ )
+ Spacer(modifier = Modifier.size(ButtonDefaults.IconSpacing))
+ Text(text = stringResource(id = R.string.force_stop))
+ }
+ if (!showDialog) return
+ AlertDialog(onDismissRequest = {
+ showDialog = false
+ }, title = {
+ Text(text = stringResource(id = R.string.force_stop))
+ }, text = {
+ Text(stringResource(R.string.force_stop_dsp))
+ }, confirmButton = {
+ TextButton(onClick = {
+ exitProcess(0)
+ }) {
+ Text(text = stringResource(id = R.string.confirm))
+ }
+ }, dismissButton = {
+ TextButton(onClick = { showDialog = false }) {
+ Text(text = stringResource(id = R.string.cancel))
+ }
+ })
+}
+
+@Composable
+fun ActiveWidget() {
+ CardWidget(title = {
+ Text(text = stringResource(id = R.string.active))
+ }, text = {
+ Text(text = stringResource(id = R.string.active_func_dsp))
+ }, buttons = {
+ ShizukuButton()
+ ADBButton()
+ DeactivateButton()
+ ForceStopButton()
+ })
+}
+
+fun openUrl(context: Context, url: String) {
+ val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url)).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+ context.startActivity(intent)
+}
+
+@Composable
+fun DonateWidget() {
+ val context = LocalContext.current
+ ItemsCardWidget(
+ title = {
+ Text(text = stringResource(id = R.string.donate))
+ }, items = listOf(
+ HomeCardItem(label = stringResource(id = R.string.alipay), onClick = {
+ openUrl(context, "https://qr.alipay.com/fkx18580lfpydiop04dze47")
+ }),
+ HomeCardItem(label = stringResource(id = R.string.wechat), onClick = {
+ openUrl(context, "https://missuo.ru/file/fee5df1381671c996b127.png")
+ }),
+ HomeCardItem(label = stringResource(id = R.string.binance), onClick = {
+ openUrl(context, "https://missuo.ru/file/28368c28d4ff28d59ed4b.jpg")
+ }),
+ )
+ )
+}
+
+@Composable
+fun ItemsCardWidget(
+ colors: CardColors = CardDefaults.elevatedCardColors(),
+ onClick: (() -> Unit)? = null,
+ showItemIcon: Boolean = false,
+ icon: (@Composable () -> Unit)? = null,
+ title: (@Composable () -> Unit)? = null,
+ items: List,
+ buttons: (@Composable () -> Unit)? = null
+) {
+ CardWidget(
+ colors = colors, onClick = onClick, icon = icon, title = title, content = {
+ @Composable
+ fun ItemWidget(item: HomeCardItem) {
+ Row(
+ modifier = Modifier
+ .clickable(enabled = item.onClick != null, onClick = item.onClick ?: {})
+ .padding(horizontal = 24.dp, vertical = 12.dp),
+ horizontalArrangement = Arrangement.spacedBy(24.dp)
+ ) {
+ if (showItemIcon) {
+ if (item.icon != null) {
+ Icon(imageVector = item.icon, contentDescription = item.label)
+ } else {
+ Spacer(modifier = Modifier.size(32.dp))
+ }
+ }
+ Column(
+ modifier = Modifier.weight(1f)
+ ) {
+ Text(text = item.label, style = MaterialTheme.typography.bodyLarge)
+ if (item.content != null) {
+ Text(text = item.content, style = MaterialTheme.typography.bodyMedium)
+ }
+ }
+ }
+ }
+ Column {
+ items.forEach {
+ ItemWidget(it)
+ }
+ }
+ }, buttons = buttons
+ )
+}
+
+@OptIn(ExperimentalLayoutApi::class)
+@Composable
+fun CardWidget(
+ colors: CardColors = CardDefaults.elevatedCardColors(),
+ onClick: (() -> Unit)? = null,
+ icon: (@Composable () -> Unit)? = null,
+ title: (@Composable () -> Unit)? = null,
+ content: (@Composable () -> Unit)? = null,
+ text: (@Composable () -> Unit)? = null,
+ buttons: (@Composable () -> Unit)? = null
+) {
+ ElevatedCard(
+ colors = colors
+ ) {
+ Column(
+ modifier = Modifier
+ .fillMaxWidth()
+ .clickable(enabled = onClick != null, onClick = onClick ?: {})
+ .padding(vertical = 24.dp), verticalArrangement = Arrangement.spacedBy(12.dp)
+ ) {
+ if (icon != null || title != null) {
+ Row(
+ modifier = Modifier
+ .padding(horizontal = 24.dp)
+ .align(Alignment.CenterHorizontally)
+ ) {
+ if (icon != null) {
+ Box(modifier = Modifier.align(Alignment.CenterVertically)) {
+ icon()
+ }
+ }
+ if (icon != null && title != null) {
+ Spacer(modifier = Modifier.size(24.dp))
+ }
+ if (title != null) {
+ ProvideTextStyle(value = MaterialTheme.typography.titleLarge) {
+ Box(modifier = Modifier.align(Alignment.CenterVertically)) {
+ title()
+ }
+ }
+ }
+ }
+ }
+ if (content != null || text != null) {
+ if (content != null) Box {
+ content()
+ }
+ else Box(modifier = Modifier.padding(horizontal = 24.dp)) {
+ ProvideTextStyle(value = MaterialTheme.typography.bodyMedium) {
+ text?.invoke()
+ }
+ }
+ }
+ if (buttons != null) {
+ FlowRow(
+ modifier = Modifier
+ .padding(horizontal = 12.dp),
+ horizontalArrangement = Arrangement.spacedBy(8.dp)
+ ) {
+ buttons()
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/page/settings/main/MainPage.kt b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/main/MainPage.kt
new file mode 100644
index 0000000..cf180d1
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/main/MainPage.kt
@@ -0,0 +1,160 @@
+package com.rosan.dhizuku.ui.page.settings.main
+
+import androidx.compose.foundation.layout.*
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.twotone.Home
+import androidx.compose.material.icons.twotone.RoomPreferences
+import androidx.compose.material.icons.twotone.SettingsSuggest
+import androidx.compose.material3.*
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.stringResource
+import androidx.navigation.NavController
+import com.google.accompanist.pager.ExperimentalPagerApi
+import com.google.accompanist.pager.HorizontalPager
+import com.google.accompanist.pager.rememberPagerState
+import com.rosan.dhizuku.R
+import com.rosan.dhizuku.ui.page.settings.config.ConfigPage
+import com.rosan.dhizuku.ui.page.settings.home.HomePage
+import com.rosan.dhizuku.ui.page.settings.preferred.PreferredPage
+import kotlinx.coroutines.DelicateCoroutinesApi
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.GlobalScope
+import kotlinx.coroutines.launch
+
+@OptIn(ExperimentalPagerApi::class, DelicateCoroutinesApi::class)
+@Composable
+fun MainPage(navController: NavController) {
+ val pagerState = rememberPagerState()
+ val currentPage = pagerState.currentPage
+ fun onPageChanged(page: Int) {
+ GlobalScope.launch(Dispatchers.Main) {
+ pagerState.scrollToPage(page = page)
+ }
+ }
+
+ val data = arrayOf(
+ NavigationData(
+ icon = Icons.TwoTone.Home,
+ label = stringResource(id = R.string.home)
+ ) {
+ HomePage(navController = navController)
+ },
+ NavigationData(
+ icon = Icons.TwoTone.RoomPreferences,
+ label = stringResource(id = R.string.config)
+ ) {
+ ConfigPage(navController = navController)
+ },
+ NavigationData(
+ icon = Icons.TwoTone.SettingsSuggest,
+ label = stringResource(id = R.string.preferred)
+ ) {
+ PreferredPage(navController = navController)
+ }
+ )
+
+ BoxWithConstraints(
+ modifier = Modifier
+ .fillMaxSize()
+ ) {
+ val isLandscapeScreen = maxHeight / maxWidth > 1.4
+ Row(modifier = Modifier.fillMaxSize()) {
+ if (!isLandscapeScreen) {
+ ColumnNavigation(
+ data = data,
+ currentPage = currentPage,
+ onPageChanged = { onPageChanged(it) }
+ )
+ }
+
+ Column(
+ modifier = Modifier
+ .weight(1f)
+ .fillMaxSize()
+ ) {
+ HorizontalPager(
+ count = data.size,
+ state = pagerState,
+ userScrollEnabled = false,
+ modifier = Modifier
+ .weight(1f)
+ .fillMaxSize()
+ ) {
+ data[it].content.invoke()
+ }
+ if (isLandscapeScreen) {
+ RowNavigation(
+ data = data,
+ currentPage = currentPage,
+ onPageChanged = { onPageChanged(it) }
+ )
+ }
+ }
+ }
+ }
+}
+
+@Composable
+fun RowNavigation(
+ data: Array,
+ currentPage: Int,
+ onPageChanged: (Int) -> Unit
+) {
+ NavigationBar(
+ modifier = Modifier
+ .fillMaxWidth()
+ .wrapContentSize()
+ ) {
+ data.forEachIndexed { index, navigationData ->
+ NavigationBarItem(
+ selected = currentPage == index,
+ onClick = { onPageChanged(index) },
+ icon = {
+ Icon(
+ imageVector = navigationData.icon,
+ contentDescription = navigationData.label
+ )
+ },
+ label = {
+ Text(text = navigationData.label)
+ },
+ alwaysShowLabel = false
+ )
+ }
+ }
+}
+
+@Composable
+fun ColumnNavigation(
+ data: Array,
+ currentPage: Int,
+ onPageChanged: (Int) -> Unit
+) {
+ NavigationRail(
+ modifier = Modifier
+ .fillMaxHeight()
+ .wrapContentSize()
+ ) {
+ Spacer(
+ modifier = Modifier
+ .weight(1f)
+ )
+ data.forEachIndexed { index, navigationData ->
+ NavigationRailItem(
+ selected = currentPage == index,
+ onClick = { onPageChanged(index) },
+ icon = {
+ Icon(
+ imageVector = navigationData.icon,
+ contentDescription = navigationData.label
+ )
+ },
+ label = {
+ Text(text = navigationData.label)
+ },
+ alwaysShowLabel = false
+ )
+ }
+ }
+}
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/page/settings/main/NavigationData.kt b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/main/NavigationData.kt
new file mode 100644
index 0000000..d9beed5
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/main/NavigationData.kt
@@ -0,0 +1,10 @@
+package com.rosan.dhizuku.ui.page.settings.main
+
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.graphics.vector.ImageVector
+
+data class NavigationData(
+ val icon: ImageVector,
+ val label: String,
+ val content: @Composable () -> Unit
+)
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/page/settings/preferred/PreferredPage.kt b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/preferred/PreferredPage.kt
new file mode 100644
index 0000000..b7523af
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/page/settings/preferred/PreferredPage.kt
@@ -0,0 +1,39 @@
+package com.rosan.dhizuku.ui.page.settings.preferred
+
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.lazy.LazyColumn
+import androidx.compose.material.icons.twotone.*
+import androidx.compose.material3.*
+import androidx.compose.runtime.*
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.stringResource
+import androidx.navigation.NavController
+import com.rosan.dhizuku.R
+
+@OptIn(ExperimentalMaterial3Api::class)
+@Composable
+fun PreferredPage(navController: NavController) {
+ val snackBarHostState = remember {
+ SnackbarHostState()
+ }
+ Scaffold(
+ modifier = Modifier
+ .fillMaxSize(),
+ topBar = {
+ TopAppBar(
+ title = {
+ Text(text = stringResource(id = R.string.preferred))
+ }
+ )
+ },
+ snackbarHost = { SnackbarHost(hostState = snackBarHostState) },
+ ) {
+ LazyColumn(
+ modifier = Modifier
+ .fillMaxSize()
+ .padding(it)
+ ) {
+ }
+ }
+}
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/theme/Color.kt b/app/src/main/java/com/rosan/dhizuku/ui/theme/Color.kt
new file mode 100644
index 0000000..521608d
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/theme/Color.kt
@@ -0,0 +1,11 @@
+package com.rosan.dhizuku.ui.theme
+
+import androidx.compose.ui.graphics.Color
+
+val Purple80 = Color(0xFFD0BCFF)
+val PurpleGrey80 = Color(0xFFCCC2DC)
+val Pink80 = Color(0xFFEFB8C8)
+
+val Purple40 = Color(0xFF6650a4)
+val PurpleGrey40 = Color(0xFF625b71)
+val Pink40 = Color(0xFF7D5260)
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/theme/DhizukuTheme.kt b/app/src/main/java/com/rosan/dhizuku/ui/theme/DhizukuTheme.kt
new file mode 100644
index 0000000..1ee46fe
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/theme/DhizukuTheme.kt
@@ -0,0 +1,77 @@
+package com.rosan.dhizuku.ui.theme
+
+import android.os.Build
+import androidx.compose.foundation.isSystemInDarkTheme
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.dynamicDarkColorScheme
+import androidx.compose.material3.dynamicLightColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.SideEffect
+import androidx.compose.ui.platform.LocalContext
+import com.google.accompanist.systemuicontroller.rememberSystemUiController
+
+private val DarkColorScheme = darkColorScheme(
+ primary = Purple80,
+ secondary = PurpleGrey80,
+ tertiary = Pink80
+)
+
+private val LightColorScheme = lightColorScheme(
+ primary = Purple40,
+ secondary = PurpleGrey40,
+ tertiary = Pink40
+
+ /* Other default colors to override
+ background = Color(0xFFFFFBFE),
+ surface = Color(0xFFFFFBFE),
+ onPrimary = Color.White,
+ onSecondary = Color.White,
+ onTertiary = Color.White,
+ onBackground = Color(0xFF1C1B1F),
+ onSurface = Color(0xFF1C1B1F),
+ */
+)
+
+@Composable
+fun InstallerTheme(
+ darkTheme: Boolean = isSystemInDarkTheme(),
+ // Dynamic color is available on Android 12+
+ dynamicColor: Boolean = true,
+ content: @Composable () -> Unit
+) {
+ val colorScheme = when {
+ dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
+ val context = LocalContext.current
+ if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
+ }
+ darkTheme -> DarkColorScheme
+ else -> LightColorScheme
+ }
+ val systemUiController = rememberSystemUiController()
+ SideEffect {
+ systemUiController.setStatusBarColor(
+ color = colorScheme.surface,
+ darkIcons = !darkTheme
+ )
+ systemUiController.setNavigationBarColor(
+ color = colorScheme.surface,
+ darkIcons = !darkTheme
+ )
+ }
+ /*val view = LocalView.current
+ if (!view.isInEditMode) {
+ SideEffect {
+ (view.context as Activity).window.setStatusBarColor()
+ (view.context as Activity).window.navigationBarColor = colorScheme.primary.toArgb()
+ ViewCompat.getWindowInsetsController(view)?.isAppearanceLightStatusBars = darkTheme
+ }
+ }*/
+
+ MaterialTheme(
+ colorScheme = colorScheme,
+ typography = Typography,
+ content = content
+ )
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/theme/Type.kt b/app/src/main/java/com/rosan/dhizuku/ui/theme/Type.kt
new file mode 100644
index 0000000..9b4140d
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/theme/Type.kt
@@ -0,0 +1,34 @@
+package com.rosan.dhizuku.ui.theme
+
+import androidx.compose.material3.Typography
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.unit.sp
+
+// Set of Material typography styles to start with
+val Typography = Typography(
+ bodyLarge = TextStyle(
+ fontFamily = FontFamily.Default,
+ fontWeight = FontWeight.Normal,
+ fontSize = 16.sp,
+ lineHeight = 24.sp,
+ letterSpacing = 0.5.sp
+ )
+ /* Other default text styles to override
+ titleLarge = TextStyle(
+ fontFamily = FontFamily.Default,
+ fontWeight = FontWeight.Normal,
+ fontSize = 22.sp,
+ lineHeight = 28.sp,
+ letterSpacing = 0.sp
+ ),
+ labelSmall = TextStyle(
+ fontFamily = FontFamily.Default,
+ fontWeight = FontWeight.Medium,
+ fontSize = 11.sp,
+ lineHeight = 16.sp,
+ letterSpacing = 0.5.sp
+ )
+ */
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/widget/dialog/AlertDialog.kt b/app/src/main/java/com/rosan/dhizuku/ui/widget/dialog/AlertDialog.kt
new file mode 100644
index 0000000..3ecc58a
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/widget/dialog/AlertDialog.kt
@@ -0,0 +1,177 @@
+//package com.rosan.installer.ui.widget.dialog
+//
+//import androidx.compose.foundation.layout.Box
+//import androidx.compose.foundation.layout.Column
+//import androidx.compose.foundation.layout.PaddingValues
+//import androidx.compose.foundation.layout.padding
+//import androidx.compose.foundation.layout.sizeIn
+//import androidx.compose.material3.AlertDialogDefaults
+//import androidx.compose.material3.LocalContentColor
+//import androidx.compose.material3.MaterialTheme
+//import androidx.compose.material3.ProvideTextStyle
+//import androidx.compose.material3.Surface
+//import androidx.compose.runtime.Composable
+//import androidx.compose.runtime.CompositionLocalProvider
+//import androidx.compose.ui.Alignment
+//import androidx.compose.ui.Modifier
+//import androidx.compose.ui.graphics.Color
+//import androidx.compose.ui.graphics.Shape
+//import androidx.compose.ui.unit.Dp
+//import androidx.compose.ui.unit.dp
+//import androidx.compose.ui.window.Dialog
+//import androidx.compose.ui.window.DialogProperties
+//import com.google.accompanist.flowlayout.FlowRow
+//
+//@Composable
+//fun AlertDialog(
+// onDismissRequest: () -> Unit,
+// confirmButton: @Composable () -> Unit,
+// modifier: Modifier = Modifier,
+// dismissButton: @Composable (() -> Unit)? = null,
+// icon: @Composable (() -> Unit)? = null,
+// title: @Composable (() -> Unit)? = null,
+// text: @Composable (() -> Unit)? = null,
+// view: @Composable (() -> Unit)? = null,
+// shape: Shape = AlertDialogDefaults.shape,
+// containerColor: Color = AlertDialogDefaults.containerColor,
+// iconContentColor: Color = AlertDialogDefaults.iconContentColor,
+// titleContentColor: Color = AlertDialogDefaults.titleContentColor,
+// textContentColor: Color = AlertDialogDefaults.textContentColor,
+// tonalElevation: Dp = AlertDialogDefaults.TonalElevation,
+// properties: DialogProperties = DialogProperties()
+//) {
+// val realView: @Composable (() -> Unit)? = when {
+// view != null -> view
+// text != null -> {
+// @Composable {
+// Box(modifier = Modifier.padding(DialogWidgetPadding)) {
+// text()
+// }
+// }
+// }
+// else -> null
+// }
+// Dialog(onDismissRequest = onDismissRequest, properties = properties) {
+// AlertDialogContent(
+// buttons = {
+// FlowRow(
+// mainAxisSpacing = ButtonsMainAxisSpacing,
+// crossAxisSpacing = ButtonsCrossAxisSpacing
+// ) {
+// dismissButton?.invoke()
+// confirmButton()
+// }
+// },
+// modifier = modifier,
+// icon = icon,
+// title = title,
+// view = realView,
+// shape = shape,
+// containerColor = containerColor,
+// tonalElevation = tonalElevation,
+// buttonContentColor = MaterialTheme.colorScheme.primary,
+// iconContentColor = iconContentColor,
+// titleContentColor = titleContentColor,
+// textContentColor = textContentColor
+// )
+// }
+//}
+//
+//@Composable
+//private fun AlertDialogContent(
+// buttons: @Composable () -> Unit,
+// modifier: Modifier = Modifier,
+// icon: (@Composable () -> Unit)?,
+// title: (@Composable () -> Unit)?,
+// view: @Composable (() -> Unit)?,
+// shape: Shape,
+// containerColor: Color,
+// tonalElevation: Dp,
+// buttonContentColor: Color,
+// iconContentColor: Color,
+// titleContentColor: Color,
+// textContentColor: Color,
+//) {
+// Surface(
+// modifier = modifier,
+// shape = shape,
+// color = containerColor,
+// tonalElevation = tonalElevation
+// ) {
+// Column(
+// modifier = Modifier
+// .sizeIn(minWidth = MinWidth, maxHeight = MaxWidth)
+// .padding(vertical = DialogPadding)
+// ) {
+// icon?.let { icon ->
+// CompositionLocalProvider(LocalContentColor provides iconContentColor) {
+// Box(
+// modifier = Modifier
+// .padding(DialogWidgetPadding)
+// .padding(IconPadding)
+// .align(Alignment.CenterHorizontally)
+// ) {
+// icon()
+// }
+// }
+// }
+// title?.let { title ->
+// CompositionLocalProvider(LocalContentColor provides titleContentColor) {
+// val textStyle = MaterialTheme.typography.headlineSmall
+// ProvideTextStyle(textStyle) {
+// Box(
+// modifier = Modifier
+// .padding(DialogWidgetPadding)
+// .padding(TitlePadding)
+// .align(
+// if (icon == null) Alignment.Start
+// else Alignment.CenterHorizontally
+// )
+// ) {
+// title()
+// }
+// }
+// }
+// }
+// view?.let { view ->
+// CompositionLocalProvider(LocalContentColor provides textContentColor) {
+// val textStyle = MaterialTheme.typography.bodyMedium
+// ProvideTextStyle(textStyle) {
+// Box(
+// modifier = Modifier
+// .weight(weight = 1f, fill = false)
+// .padding(TextPadding)
+// .align(Alignment.Start)
+// ) {
+// view()
+// }
+// }
+// }
+// }
+// Box(
+// modifier = Modifier
+// .padding(DialogWidgetPadding)
+// .align(Alignment.End)
+// ) {
+// CompositionLocalProvider(LocalContentColor provides buttonContentColor) {
+// val textStyle = MaterialTheme.typography.labelLarge
+// ProvideTextStyle(value = textStyle, content = buttons)
+// }
+// }
+// }
+// }
+//}
+//
+//
+//private val ButtonsMainAxisSpacing = 8.dp
+//private val ButtonsCrossAxisSpacing = 12.dp
+//
+//// Paddings for each of the dialog's parts.
+//private val DialogPadding = 24.dp
+//private val DialogWidgetPadding = PaddingValues(horizontal = DialogPadding)
+//private val IconPadding = PaddingValues(bottom = 16.dp)
+//private val TitlePadding = PaddingValues(bottom = 16.dp)
+//private val TextPadding = PaddingValues(bottom = 24.dp)
+//
+//private val MinWidth = 280.dp
+//private val MaxWidth = 560.dp
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/widget/dialog/PositionDialog.kt b/app/src/main/java/com/rosan/dhizuku/ui/widget/dialog/PositionDialog.kt
new file mode 100644
index 0000000..f9fbe2f
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/widget/dialog/PositionDialog.kt
@@ -0,0 +1,205 @@
+package com.rosan.dhizuku.ui.widget.dialog
+
+import androidx.compose.animation.core.animateDpAsState
+import androidx.compose.foundation.clickable
+import androidx.compose.foundation.interaction.MutableInteractionSource
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.PaddingValues
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.sizeIn
+import androidx.compose.material3.AlertDialogDefaults
+import androidx.compose.material3.LocalContentColor
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.ProvideTextStyle
+import androidx.compose.material3.Surface
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.Shape
+import androidx.compose.ui.layout.onSizeChanged
+import androidx.compose.ui.platform.LocalDensity
+import androidx.compose.ui.unit.Dp
+import androidx.compose.ui.unit.dp
+import androidx.compose.ui.window.Dialog
+import androidx.compose.ui.window.DialogProperties
+
+@Composable
+fun PositionDialog(
+ properties: DialogProperties = DialogProperties(),
+ onDismissRequest: () -> Unit,
+ modifier: Modifier = Modifier,
+ shape: Shape = AlertDialogDefaults.shape,
+ containerColor: Color = AlertDialogDefaults.containerColor,
+ iconContentColor: Color = AlertDialogDefaults.iconContentColor,
+ titleContentColor: Color = AlertDialogDefaults.titleContentColor,
+ textContentColor: Color = AlertDialogDefaults.textContentColor,
+ tonalElevation: Dp = AlertDialogDefaults.TonalElevation,
+ leftIcon: @Composable (() -> Unit)? = null,
+ centerIcon: @Composable (() -> Unit)? = null,
+ rightIcon: @Composable (() -> Unit)? = null,
+ leftTitle: @Composable (() -> Unit)? = null,
+ centerTitle: @Composable (() -> Unit)? = null,
+ rightTitle: @Composable (() -> Unit)? = null,
+ leftText: @Composable (() -> Unit)? = null,
+ centerText: @Composable (() -> Unit)? = null,
+ rightText: @Composable (() -> Unit)? = null,
+ leftButton: @Composable (() -> Unit)? = null,
+ centerButton: @Composable (() -> Unit)? = null,
+ rightButton: @Composable (() -> Unit)? = null
+) {
+ Dialog(onDismissRequest = onDismissRequest, properties = properties) {
+ Box(
+ modifier = Modifier
+ .fillMaxSize()
+ .clickable(
+ onClick = onDismissRequest,
+ indication = null,
+ interactionSource = remember {
+ MutableInteractionSource()
+ })
+ ) {
+ Box(
+ modifier = Modifier
+ .align(Alignment.Center)
+ .clickable(
+ onClick = {},
+ indication = null,
+ interactionSource = remember {
+ MutableInteractionSource()
+ })
+ ) {
+ Surface(
+ modifier = modifier,
+ shape = shape,
+ color = containerColor,
+ tonalElevation = tonalElevation
+ ) {
+ Box(
+ modifier = Modifier
+ .sizeIn(minWidth = MinWidth, maxHeight = MaxWidth)
+ .padding(DialogPadding)
+ ) {
+ var buttonHeightPx by remember {
+ mutableStateOf(0)
+ }
+ val buttonHeight = (buttonHeightPx / LocalDensity.current.density).dp
+ Box(modifier = Modifier
+ .align(Alignment.BottomCenter)
+ .onSizeChanged {
+ buttonHeightPx = it.height
+ }) {
+ PositionChildWidget(
+ leftButton,
+ centerButton,
+ rightButton
+ ) { button ->
+ CompositionLocalProvider(LocalContentColor provides MaterialTheme.colorScheme.primary) {
+ val textStyle = MaterialTheme.typography.labelLarge
+ ProvideTextStyle(value = textStyle) {
+ button?.invoke()
+ }
+ }
+ }
+ }
+ Column(
+ modifier = Modifier.padding(bottom = animateDpAsState(targetValue = buttonHeight).value)
+ ) {
+ PositionChildWidget(
+ leftIcon,
+ centerIcon,
+ rightIcon
+ ) { icon ->
+ CompositionLocalProvider(LocalContentColor provides iconContentColor) {
+ Box(
+ modifier = Modifier
+ .padding(IconPadding)
+ .align(Alignment.CenterHorizontally)
+ ) {
+ icon?.invoke()
+ }
+ }
+ }
+ PositionChildWidget(
+ leftTitle,
+ centerTitle,
+ rightTitle
+ ) { title ->
+ CompositionLocalProvider(LocalContentColor provides titleContentColor) {
+ val textStyle = MaterialTheme.typography.headlineSmall
+ ProvideTextStyle(textStyle) {
+ Box(
+ modifier = Modifier
+ .padding(TitlePadding)
+ .align(Alignment.CenterHorizontally)
+ ) {
+ title?.invoke()
+ }
+ }
+ }
+ }
+ PositionChildWidget(
+ leftText,
+ centerText,
+ rightText
+ ) { text ->
+ CompositionLocalProvider(LocalContentColor provides textContentColor) {
+ val textStyle = MaterialTheme.typography.bodyMedium
+ ProvideTextStyle(textStyle) {
+ Box(
+ modifier = Modifier
+ .weight(weight = 1f, fill = false)
+ .padding(TextPadding)
+ ) {
+ text?.invoke()
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+@Composable
+private fun PositionChildWidget(
+ left: @Composable (() -> Unit)? = null,
+ center: @Composable (() -> Unit)? = null,
+ right: @Composable (() -> Unit)? = null,
+ parent: @Composable ((child: @Composable (() -> Unit)?) -> Unit)
+) {
+ if (left == null && center == null && right == null) return
+ Box(modifier = Modifier.fillMaxWidth()) {
+ Box(modifier = Modifier.align(Alignment.TopStart)) {
+ parent.invoke(left)
+ }
+ Box(modifier = Modifier.align(Alignment.TopCenter)) {
+ parent.invoke(center)
+ }
+ Box(modifier = Modifier.align(Alignment.TopEnd)) {
+ parent.invoke(right)
+ }
+ }
+}
+
+private val ButtonsMainAxisSpacing = 8.dp
+private val ButtonsCrossAxisSpacing = 12.dp
+
+private val DialogPadding = 24.dp
+private val IconPadding = PaddingValues(bottom = 16.dp)
+private val TitlePadding = PaddingValues(bottom = 16.dp)
+private val TextPadding = PaddingValues(bottom = 24.dp)
+
+private val MinWidth = 280.dp
+private val MaxWidth = 560.dp
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/widget/setting/BaseWidget.kt b/app/src/main/java/com/rosan/dhizuku/ui/widget/setting/BaseWidget.kt
new file mode 100644
index 0000000..7b8a648
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/widget/setting/BaseWidget.kt
@@ -0,0 +1,72 @@
+package com.rosan.dhizuku.ui.widget.setting
+
+import androidx.compose.foundation.clickable
+import androidx.compose.foundation.layout.*
+import androidx.compose.material.icons.materialIcon
+import androidx.compose.material.icons.materialPath
+import androidx.compose.material3.Icon
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.unit.dp
+
+@Composable
+fun BaseWidget(
+ icon: ImageVector? = null,
+ title: String,
+ description: String? = null,
+ enabled: Boolean = true,
+ onClick: () -> Unit = {},
+ foreContent: @Composable BoxScope.() -> Unit = {},
+ content: @Composable BoxScope.() -> Unit,
+) {
+ Row(
+ modifier = Modifier
+ .fillMaxWidth()
+ .clickable(
+ enabled = enabled,
+ onClick = onClick
+ )
+ .padding(16.dp),
+ horizontalArrangement = Arrangement.spacedBy(16.dp),
+ ) {
+ Icon(
+ modifier = Modifier
+ .size(24.dp)
+ .align(Alignment.CenterVertically),
+ imageVector = icon ?: materialIcon("") { materialPath {} },
+ contentDescription = null,
+ )
+ Box(
+ modifier = Modifier
+ .weight(1f)
+ .fillMaxHeight()
+ .align(Alignment.CenterVertically)
+ ) {
+ Column {
+ Text(
+ text = title,
+ color = MaterialTheme.colorScheme.onSurface,
+ style = MaterialTheme.typography.titleMedium
+ )
+ description?.let {
+ Text(
+ text = it,
+ color = MaterialTheme.colorScheme.onSurface,
+ style = MaterialTheme.typography.bodyMedium
+ )
+ }
+ }
+ foreContent()
+ }
+ Box(
+ modifier = Modifier
+ .align(Alignment.CenterVertically)
+ ) {
+ content()
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/widget/setting/DropDownMenuWidget.kt b/app/src/main/java/com/rosan/dhizuku/ui/widget/setting/DropDownMenuWidget.kt
new file mode 100644
index 0000000..aa44792
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/widget/setting/DropDownMenuWidget.kt
@@ -0,0 +1,119 @@
+package com.rosan.dhizuku.ui.widget.setting
+
+import androidx.compose.animation.core.animateIntAsState
+import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.*
+import androidx.compose.material3.*
+import androidx.compose.runtime.*
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.layout.layout
+import androidx.compose.ui.platform.LocalDensity
+import androidx.compose.ui.unit.DpOffset
+import androidx.compose.ui.unit.dp
+
+
+@OptIn(ExperimentalMaterial3Api::class)
+@Composable
+fun DropDownMenuWidget(
+ icon: ImageVector? = null,
+ title: String,
+ description: String? = null,
+ enabled: Boolean = true,
+ choice: Int,
+ data: List,
+ onChoiceChange: (Int) -> Unit
+) {
+ var expanded by remember {
+ mutableStateOf(false)
+ }
+
+ val heights by remember {
+ mutableStateOf(Array(data.size) { 0 })
+ }
+
+ fun updateHeights(index: Int, height: Int) {
+ heights[index] = height
+ }
+
+ var containerHeight by remember {
+ mutableStateOf(0)
+ }
+
+ val containerHeightApply by animateIntAsState(targetValue = if (expanded) containerHeight else 0)
+
+ val offsetY by animateIntAsState(targetValue = run {
+ val sumHeights = heights.sum()
+ var y = 0
+ if (sumHeights < containerHeight) {
+ if (choice > 0) {
+ for (i in 0 until choice) {
+ y -= heights[i]
+ }
+ }
+ y -= heights[choice] / 2
+ y -= (containerHeight - sumHeights) / 2
+ }
+ y
+ })
+
+ BaseWidget(
+ icon = icon,
+ title = title,
+ description = description,
+ enabled = enabled,
+ onClick = {
+ expanded = !expanded
+ },
+ foreContent = {
+ Box(
+ modifier = Modifier
+ .align(Alignment.CenterStart)
+ ) {
+ DropdownMenu(
+ modifier = Modifier
+ .layout { measurable, constraints ->
+ val placeable = measurable.measure(constraints)
+ containerHeight = placeable.height
+ layout(placeable.width, containerHeightApply) {
+ placeable.placeRelative(0, 0)
+ }
+ },
+ expanded = expanded,
+ onDismissRequest = { expanded = false },
+ offset = DpOffset(
+ x = 0.dp,
+ y = with(LocalDensity.current) {
+ offsetY.toDp()
+ }
+ )
+ ) {
+ data.forEachIndexed { index, item ->
+ val backgroundColor =
+ if (index == choice) MaterialTheme.colorScheme.surfaceVariant else Color.Transparent
+ DropdownMenuItem(
+ modifier = Modifier
+ .background(backgroundColor)
+ .layout { measurable, constraints ->
+ val placeable = measurable.measure(constraints)
+ val height = placeable.height
+ updateHeights(index, height)
+ layout(placeable.width, height) {
+ placeable.placeRelative(0, 0)
+ }
+ },
+ text = { Text(text = item) },
+ onClick = {
+ onChoiceChange(index)
+ expanded = false
+ }
+ )
+ }
+ }
+ }
+ }
+ ) {
+ }
+}
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/widget/setting/LabelWidget.kt b/app/src/main/java/com/rosan/dhizuku/ui/widget/setting/LabelWidget.kt
new file mode 100644
index 0000000..ee68d4e
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/widget/setting/LabelWidget.kt
@@ -0,0 +1,28 @@
+package com.rosan.dhizuku.ui.widget.setting
+
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.padding
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.unit.dp
+
+@Composable
+fun LabelWidget(label: String) {
+ Box(
+ modifier = Modifier
+ .fillMaxWidth()
+ .padding(vertical = 8.dp, horizontal = 56.dp)
+// .padding(vertical = 8.dp, horizontal = 16.dp)
+ .padding(top = 8.dp)
+ ) {
+ Text(
+ modifier = Modifier,
+ text = label,
+ style = MaterialTheme.typography.titleSmall,
+ color = MaterialTheme.colorScheme.primary,
+ )
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/ui/widget/setting/SwitchWidget.kt b/app/src/main/java/com/rosan/dhizuku/ui/widget/setting/SwitchWidget.kt
new file mode 100644
index 0000000..69a9d46
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/ui/widget/setting/SwitchWidget.kt
@@ -0,0 +1,31 @@
+package com.rosan.dhizuku.ui.widget.setting
+
+import androidx.compose.material3.Switch
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.graphics.vector.ImageVector
+
+@Composable
+fun SwitchWidget(
+ icon: ImageVector? = null,
+ title: String,
+ description: String? = null,
+ enabled: Boolean = true,
+ checked: Boolean,
+ onCheckedChange: (Boolean) -> Unit
+) {
+ BaseWidget(
+ icon = icon,
+ title = title,
+ description = description,
+ enabled = enabled,
+ onClick = {
+ onCheckedChange(!checked)
+ }
+ ) {
+ Switch(
+ enabled = enabled,
+ checked = checked,
+ onCheckedChange = { onCheckedChange(!checked) }
+ )
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/util/ContextUtil.kt b/app/src/main/java/com/rosan/dhizuku/util/ContextUtil.kt
new file mode 100644
index 0000000..964ae3a
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/util/ContextUtil.kt
@@ -0,0 +1,21 @@
+package com.rosan.dhizuku.util
+
+import android.content.Context
+import android.content.Intent
+import android.net.Uri
+import android.widget.Toast
+import androidx.annotation.StringRes
+
+fun Context.openUrlInBrowser(url: String) {
+ val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
+ .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+ startActivity(intent)
+}
+
+fun Context.toast(text: CharSequence, duration: Int = Toast.LENGTH_SHORT) {
+ Toast.makeText(this, text, duration).show()
+}
+
+fun Context.toast(@StringRes resId: Int, duration: Int = Toast.LENGTH_SHORT) {
+ Toast.makeText(this, resId, duration).show()
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rosan/dhizuku/util/IOUtil.kt b/app/src/main/java/com/rosan/dhizuku/util/IOUtil.kt
new file mode 100644
index 0000000..2db030a
--- /dev/null
+++ b/app/src/main/java/com/rosan/dhizuku/util/IOUtil.kt
@@ -0,0 +1,54 @@
+package com.rosan.dhizuku.util
+
+import android.os.ParcelFileDescriptor
+import java.io.IOException
+import java.io.InputStream
+import java.io.OutputStream
+import kotlin.concurrent.thread
+
+private fun transferThread(input: InputStream, output: OutputStream) {
+ thread(
+ isDaemon = true
+ ) {
+ val buf = ByteArray(DEFAULT_BUFFER_SIZE)
+ var len = 0;
+ try {
+ while (run {
+ len = input.read(buf)
+ return@run len
+ } > 0) {
+ output.write(buf, 0, len)
+ output.flush()
+ }
+ } catch (e: IOException) {
+ e.printStackTrace()
+ } finally {
+ try {
+ input.close()
+ } catch (e: IOException) {
+ e.printStackTrace()
+ }
+ try {
+ output.close()
+ } catch (e: IOException) {
+ e.printStackTrace()
+ }
+ }
+ }
+}
+
+fun InputStream.parcelable(): ParcelFileDescriptor {
+ val pipe = ParcelFileDescriptor.createPipe()
+ val read = pipe[0]
+ val write = pipe[1]
+ transferThread(this, ParcelFileDescriptor.AutoCloseOutputStream(write))
+ return read
+}
+
+fun OutputStream.parcelable(): ParcelFileDescriptor {
+ val pipe = ParcelFileDescriptor.createPipe()
+ val read = pipe[0]
+ val write = pipe[1]
+ transferThread(ParcelFileDescriptor.AutoCloseInputStream(read), this)
+ return write
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable-hdpi/round_hourglass_disabled_black_18.png b/app/src/main/res/drawable-hdpi/round_hourglass_disabled_black_18.png
new file mode 100644
index 0000000..045a40e
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_hourglass_disabled_black_18.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_hourglass_disabled_black_20.png b/app/src/main/res/drawable-hdpi/round_hourglass_disabled_black_20.png
new file mode 100644
index 0000000..66244a3
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_hourglass_disabled_black_20.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_hourglass_disabled_black_24.png b/app/src/main/res/drawable-hdpi/round_hourglass_disabled_black_24.png
new file mode 100644
index 0000000..582e359
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_hourglass_disabled_black_24.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_hourglass_disabled_black_36.png b/app/src/main/res/drawable-hdpi/round_hourglass_disabled_black_36.png
new file mode 100644
index 0000000..b5efb16
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_hourglass_disabled_black_36.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_hourglass_disabled_black_48.png b/app/src/main/res/drawable-hdpi/round_hourglass_disabled_black_48.png
new file mode 100644
index 0000000..220e4a5
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_hourglass_disabled_black_48.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_hourglass_empty_black_18.png b/app/src/main/res/drawable-hdpi/round_hourglass_empty_black_18.png
new file mode 100644
index 0000000..6152b8d
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_hourglass_empty_black_18.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_hourglass_empty_black_20.png b/app/src/main/res/drawable-hdpi/round_hourglass_empty_black_20.png
new file mode 100644
index 0000000..d6c7a45
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_hourglass_empty_black_20.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_hourglass_empty_black_24.png b/app/src/main/res/drawable-hdpi/round_hourglass_empty_black_24.png
new file mode 100644
index 0000000..8fb44b0
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_hourglass_empty_black_24.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_hourglass_empty_black_36.png b/app/src/main/res/drawable-hdpi/round_hourglass_empty_black_36.png
new file mode 100644
index 0000000..c5f7274
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_hourglass_empty_black_36.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_hourglass_empty_black_48.png b/app/src/main/res/drawable-hdpi/round_hourglass_empty_black_48.png
new file mode 100644
index 0000000..ce315fc
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_hourglass_empty_black_48.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_hourglass_disabled_black_18.png b/app/src/main/res/drawable-mdpi/round_hourglass_disabled_black_18.png
new file mode 100644
index 0000000..71d24e6
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_hourglass_disabled_black_18.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_hourglass_disabled_black_20.png b/app/src/main/res/drawable-mdpi/round_hourglass_disabled_black_20.png
new file mode 100644
index 0000000..294cec1
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_hourglass_disabled_black_20.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_hourglass_disabled_black_24.png b/app/src/main/res/drawable-mdpi/round_hourglass_disabled_black_24.png
new file mode 100644
index 0000000..67db46a
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_hourglass_disabled_black_24.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_hourglass_disabled_black_36.png b/app/src/main/res/drawable-mdpi/round_hourglass_disabled_black_36.png
new file mode 100644
index 0000000..582e359
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_hourglass_disabled_black_36.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_hourglass_disabled_black_48.png b/app/src/main/res/drawable-mdpi/round_hourglass_disabled_black_48.png
new file mode 100644
index 0000000..abc7851
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_hourglass_disabled_black_48.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_hourglass_empty_black_18.png b/app/src/main/res/drawable-mdpi/round_hourglass_empty_black_18.png
new file mode 100644
index 0000000..0033b11
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_hourglass_empty_black_18.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_hourglass_empty_black_20.png b/app/src/main/res/drawable-mdpi/round_hourglass_empty_black_20.png
new file mode 100644
index 0000000..bfe158d
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_hourglass_empty_black_20.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_hourglass_empty_black_24.png b/app/src/main/res/drawable-mdpi/round_hourglass_empty_black_24.png
new file mode 100644
index 0000000..27e4329
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_hourglass_empty_black_24.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_hourglass_empty_black_36.png b/app/src/main/res/drawable-mdpi/round_hourglass_empty_black_36.png
new file mode 100644
index 0000000..8fb44b0
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_hourglass_empty_black_36.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_hourglass_empty_black_48.png b/app/src/main/res/drawable-mdpi/round_hourglass_empty_black_48.png
new file mode 100644
index 0000000..8329e16
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_hourglass_empty_black_48.png differ
diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
new file mode 100644
index 0000000..2b068d1
--- /dev/null
+++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable-xhdpi/round_hourglass_disabled_black_18.png b/app/src/main/res/drawable-xhdpi/round_hourglass_disabled_black_18.png
new file mode 100644
index 0000000..582e359
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_hourglass_disabled_black_18.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_hourglass_disabled_black_20.png b/app/src/main/res/drawable-xhdpi/round_hourglass_disabled_black_20.png
new file mode 100644
index 0000000..b7a6688
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_hourglass_disabled_black_20.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_hourglass_disabled_black_24.png b/app/src/main/res/drawable-xhdpi/round_hourglass_disabled_black_24.png
new file mode 100644
index 0000000..abc7851
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_hourglass_disabled_black_24.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_hourglass_disabled_black_36.png b/app/src/main/res/drawable-xhdpi/round_hourglass_disabled_black_36.png
new file mode 100644
index 0000000..220e4a5
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_hourglass_disabled_black_36.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_hourglass_disabled_black_48.png b/app/src/main/res/drawable-xhdpi/round_hourglass_disabled_black_48.png
new file mode 100644
index 0000000..60ba7ce
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_hourglass_disabled_black_48.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_hourglass_empty_black_18.png b/app/src/main/res/drawable-xhdpi/round_hourglass_empty_black_18.png
new file mode 100644
index 0000000..8fb44b0
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_hourglass_empty_black_18.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_hourglass_empty_black_20.png b/app/src/main/res/drawable-xhdpi/round_hourglass_empty_black_20.png
new file mode 100644
index 0000000..3d672e0
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_hourglass_empty_black_20.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_hourglass_empty_black_24.png b/app/src/main/res/drawable-xhdpi/round_hourglass_empty_black_24.png
new file mode 100644
index 0000000..8329e16
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_hourglass_empty_black_24.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_hourglass_empty_black_36.png b/app/src/main/res/drawable-xhdpi/round_hourglass_empty_black_36.png
new file mode 100644
index 0000000..ce315fc
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_hourglass_empty_black_36.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_hourglass_empty_black_48.png b/app/src/main/res/drawable-xhdpi/round_hourglass_empty_black_48.png
new file mode 100644
index 0000000..926feac
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_hourglass_empty_black_48.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_hourglass_disabled_black_18.png b/app/src/main/res/drawable-xxhdpi/round_hourglass_disabled_black_18.png
new file mode 100644
index 0000000..b5efb16
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_hourglass_disabled_black_18.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_hourglass_disabled_black_20.png b/app/src/main/res/drawable-xxhdpi/round_hourglass_disabled_black_20.png
new file mode 100644
index 0000000..bf0c4dd
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_hourglass_disabled_black_20.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_hourglass_disabled_black_24.png b/app/src/main/res/drawable-xxhdpi/round_hourglass_disabled_black_24.png
new file mode 100644
index 0000000..220e4a5
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_hourglass_disabled_black_24.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_hourglass_disabled_black_36.png b/app/src/main/res/drawable-xxhdpi/round_hourglass_disabled_black_36.png
new file mode 100644
index 0000000..fe35987
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_hourglass_disabled_black_36.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_hourglass_disabled_black_48.png b/app/src/main/res/drawable-xxhdpi/round_hourglass_disabled_black_48.png
new file mode 100644
index 0000000..6586526
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_hourglass_disabled_black_48.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_hourglass_empty_black_18.png b/app/src/main/res/drawable-xxhdpi/round_hourglass_empty_black_18.png
new file mode 100644
index 0000000..c5f7274
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_hourglass_empty_black_18.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_hourglass_empty_black_20.png b/app/src/main/res/drawable-xxhdpi/round_hourglass_empty_black_20.png
new file mode 100644
index 0000000..c7b4221
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_hourglass_empty_black_20.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_hourglass_empty_black_24.png b/app/src/main/res/drawable-xxhdpi/round_hourglass_empty_black_24.png
new file mode 100644
index 0000000..ce315fc
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_hourglass_empty_black_24.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_hourglass_empty_black_36.png b/app/src/main/res/drawable-xxhdpi/round_hourglass_empty_black_36.png
new file mode 100644
index 0000000..e248363
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_hourglass_empty_black_36.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_hourglass_empty_black_48.png b/app/src/main/res/drawable-xxhdpi/round_hourglass_empty_black_48.png
new file mode 100644
index 0000000..1185768
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_hourglass_empty_black_48.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_hourglass_disabled_black_18.png b/app/src/main/res/drawable-xxxhdpi/round_hourglass_disabled_black_18.png
new file mode 100644
index 0000000..220e4a5
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_hourglass_disabled_black_18.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_hourglass_disabled_black_20.png b/app/src/main/res/drawable-xxxhdpi/round_hourglass_disabled_black_20.png
new file mode 100644
index 0000000..d8cfb5d
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_hourglass_disabled_black_20.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_hourglass_disabled_black_24.png b/app/src/main/res/drawable-xxxhdpi/round_hourglass_disabled_black_24.png
new file mode 100644
index 0000000..60ba7ce
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_hourglass_disabled_black_24.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_hourglass_disabled_black_36.png b/app/src/main/res/drawable-xxxhdpi/round_hourglass_disabled_black_36.png
new file mode 100644
index 0000000..6586526
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_hourglass_disabled_black_36.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_hourglass_disabled_black_48.png b/app/src/main/res/drawable-xxxhdpi/round_hourglass_disabled_black_48.png
new file mode 100644
index 0000000..c3737fd
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_hourglass_disabled_black_48.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_hourglass_empty_black_18.png b/app/src/main/res/drawable-xxxhdpi/round_hourglass_empty_black_18.png
new file mode 100644
index 0000000..ce315fc
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_hourglass_empty_black_18.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_hourglass_empty_black_20.png b/app/src/main/res/drawable-xxxhdpi/round_hourglass_empty_black_20.png
new file mode 100644
index 0000000..4cc39b3
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_hourglass_empty_black_20.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_hourglass_empty_black_24.png b/app/src/main/res/drawable-xxxhdpi/round_hourglass_empty_black_24.png
new file mode 100644
index 0000000..926feac
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_hourglass_empty_black_24.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_hourglass_empty_black_36.png b/app/src/main/res/drawable-xxxhdpi/round_hourglass_empty_black_36.png
new file mode 100644
index 0000000..1185768
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_hourglass_empty_black_36.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_hourglass_empty_black_48.png b/app/src/main/res/drawable-xxxhdpi/round_hourglass_empty_black_48.png
new file mode 100644
index 0000000..21b4955
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_hourglass_empty_black_48.png differ
diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml
new file mode 100644
index 0000000..07d5da9
--- /dev/null
+++ b/app/src/main/res/drawable/ic_launcher_background.xml
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/icon_background.xml b/app/src/main/res/drawable/icon_background.xml
new file mode 100644
index 0000000..c3e8d82
--- /dev/null
+++ b/app/src/main/res/drawable/icon_background.xml
@@ -0,0 +1,9 @@
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/icon_foreground.xml b/app/src/main/res/drawable/icon_foreground.xml
new file mode 100644
index 0000000..213bdcb
--- /dev/null
+++ b/app/src/main/res/drawable/icon_foreground.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/round_hourglass_disabled_20.xml b/app/src/main/res/drawable/round_hourglass_disabled_20.xml
new file mode 100644
index 0000000..7a3d33a
--- /dev/null
+++ b/app/src/main/res/drawable/round_hourglass_disabled_20.xml
@@ -0,0 +1,13 @@
+
+
+
+
diff --git a/app/src/main/res/drawable/round_hourglass_disabled_24.xml b/app/src/main/res/drawable/round_hourglass_disabled_24.xml
new file mode 100644
index 0000000..a6b590e
--- /dev/null
+++ b/app/src/main/res/drawable/round_hourglass_disabled_24.xml
@@ -0,0 +1,13 @@
+
+
+
+
diff --git a/app/src/main/res/drawable/round_hourglass_empty_20.xml b/app/src/main/res/drawable/round_hourglass_empty_20.xml
new file mode 100644
index 0000000..e4f8ca9
--- /dev/null
+++ b/app/src/main/res/drawable/round_hourglass_empty_20.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/round_hourglass_empty_24.xml b/app/src/main/res/drawable/round_hourglass_empty_24.xml
new file mode 100644
index 0000000..c61c2da
--- /dev/null
+++ b/app/src/main/res/drawable/round_hourglass_empty_24.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 0000000..eca70cf
--- /dev/null
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
new file mode 100644
index 0000000..eca70cf
--- /dev/null
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp
new file mode 100644
index 0000000..c209e78
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..b2dfe3d
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp
new file mode 100644
index 0000000..4f0f1d6
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..62b611d
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
new file mode 100644
index 0000000..948a307
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..1b9a695
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
new file mode 100644
index 0000000..28d4b77
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..9287f50
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
new file mode 100644
index 0000000..aa7d642
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..9126ae3
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/raw/empty_state.json b/app/src/main/res/raw/empty_state.json
new file mode 100644
index 0000000..7e263e7
--- /dev/null
+++ b/app/src/main/res/raw/empty_state.json
@@ -0,0 +1 @@
+{"v":"4.8.0","meta":{"g":"LottieFiles AE 1.1.0","a":"","k":"","d":"","tc":""},"fr":29.9700012207031,"ip":0,"op":77.0000031362743,"w":1000,"h":1000,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[480,506,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[41,-30],[34,-78],[-36.607,20.098],[40,-43],[-71,185],[26,-28]],"o":[[0,0],[-30.454,22.283],[-34,78],[51,-28],[-61.995,66.645],[70.57,-183.88],[-26,28]],"v":[[-142,44],[-139,140],[-352,106],[-171,308],[-204,227],[-313,168],[-413,67]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"d":[{"n":"d","nm":"dash","v":{"a":0,"k":30,"ix":1}},{"n":"g","nm":"gap","v":{"a":0,"k":1369,"ix":2}},{"n":"o","nm":"offset","v":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":32,"s":[103]},{"t":70.0000028511585,"s":[-1303]}],"ix":7}}],"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":22.0000008960784,"op":1810.00007372281,"st":12.00000048877,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[500,500,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[41,-30],[34,-78],[-36.607,20.098],[40,-43],[-71,185],[26,-28]],"o":[[0,0],[-30.454,22.283],[-34,78],[51,-28],[-61.995,66.645],[70.57,-183.88],[-26,28]],"v":[[-142,44],[-139,140],[-352,106],[-171,308],[-204,227],[-313,168],[-413,67]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"d":[{"n":"d","nm":"dash","v":{"a":0,"k":12,"ix":1}},{"n":"g","nm":"gap","v":{"a":0,"k":1369,"ix":2}},{"n":"o","nm":"offset","v":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":20,"s":[103]},{"t":58.0000023623884,"s":[-1303]}],"ix":7}}],"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":22.0000008960784,"op":1798.00007323404,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"head/boxgirl2 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":9,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":45,"s":[-5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":50,"s":[-5]},{"t":75.0000030548126,"s":[0]}],"ix":10},"p":{"a":0,"k":[504.173,279.4,0],"ix":2},"a":{"a":0,"k":[615.874,302.163,0],"ix":1},"s":{"a":0,"k":[83,83,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.203,0],[0,0],[0.188,-0.112],[0.266,-0.265],[0.11,-0.275],[-0.203,0],[0,0],[-0.188,0.113],[-0.266,0.266],[-0.11,0.274]],"o":[[0,0],[-0.231,0],[-0.322,0.194],[-0.206,0.206],[-0.041,0.103],[0,0],[0.232,0],[0.322,-0.194],[0.206,-0.205],[0.041,-0.104]],"v":[[3.115,-1.01],[-1.033,-1.01],[-1.711,-0.745],[-2.621,-0.032],[-3.193,0.682],[-3.115,1.01],[1.032,1.01],[1.711,0.745],[2.621,0.031],[3.193,-0.682]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[592.024,140.01],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.441,0],[0,0],[0.377,-0.376],[-0.441,0],[0,0],[-0.377,0.376]],"o":[[0,0],[-0.571,0],[-0.086,0.085],[0,0],[0.572,0],[0.085,-0.085]],"v":[[4.643,-1.01],[-2.561,-1.01],[-4.149,-0.032],[-4.643,1.01],[2.56,1.01],[4.149,0.032]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[589.932,134.862],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.203,0],[0,0],[0.187,-0.112],[0.266,-0.265],[0.109,-0.275],[-0.203,0],[0,0],[-0.188,0.113],[-0.266,0.265],[-0.11,0.274]],"o":[[0,0],[-0.232,0],[-0.323,0.194],[-0.206,0.206],[-0.042,0.103],[0,0],[0.232,0],[0.322,-0.193],[0.206,-0.206],[0.041,-0.104]],"v":[[2.569,-1.01],[-0.487,-1.01],[-1.165,-0.745],[-2.076,-0.032],[-2.647,0.682],[-2.57,1.01],[0.486,1.01],[1.165,0.745],[2.075,0.032],[2.647,-0.682]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[594.189,130.405],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.697,0.13],[1.381,-1.402],[-1.277,-1.162],[-0.539,-2.933],[1.291,0.371],[0.599,1.294],[-0.397,-0.857],[-2.347,3.604],[1.566,1.335],[1.014,0.42],[0.075,0.558],[-0.756,-0.141]],"o":[[-1.872,-0.349],[-1.032,1.047],[1.762,1.602],[0.338,1.839],[-1.421,-0.409],[-0.212,-0.458],[1.982,4.281],[1.124,-1.727],[-0.848,-0.723],[-0.383,-0.158],[-0.118,-0.875],[0.82,0.152]],"v":[[2.104,-7.117],[-2.682,-5.892],[-3.188,-2.149],[2.92,2.141],[-0.213,3.831],[-3.175,1.063],[-5.296,3.185],[4.569,3.198],[3.753,-1.848],[0.801,-3.374],[-1.262,-4.469],[0.261,-4.868]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[602.895,136.398],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-5.784,2.336]],"o":[[0,0],[0,0]],"v":[[-6.716,-0.848],[6.716,-1.168]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8167,0.2433,0.3867,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[605.021,201.209],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":3,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-5.784,2.336]],"o":[[0,0],[0,0]],"v":[[-6.716,-2.008],[6.716,-0.328]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8167,0.2433,0.3867,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[582.244,200.369],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":3,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.901,0.241],[8.078,-4.259],[-3.323,-5.913],[-6.748,-0.677],[-6.62,1.477],[0,0]],"o":[[-0.963,-0.223],[-21.25,-5.699],[-6,3.163],[3.324,5.912],[6.748,0.678],[0,0],[0,0]],"v":[[22.043,0.722],[19.248,0.025],[-14.734,-11.997],[-18.914,5.764],[-1.981,15.578],[22.237,12.775],[19.248,0.025]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8167,0.2433,0.3867,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[543.515,174.404],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":3,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-27.722,-3.24],[2.66,-27.783],[19.547,5.242],[8.078,-4.258],[-3.324,-5.912],[-6.748,-0.677],[-6.62,1.476],[0,0]],"o":[[0,0],[3.818,-27.648],[27.722,3.24],[-63.214,18.371],[-21.25,-5.699],[-6,3.163],[3.323,5.912],[6.748,0.678],[0,0],[0,0]],"v":[[-72.745,16.895],[-29.706,4.359],[30.081,-41.908],[77.588,16.899],[-38.763,28.917],[-72.745,16.895],[-76.924,34.656],[-59.992,44.47],[-35.774,41.668],[-38.763,28.917]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.46,0.595,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[601.526,145.512],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 8","np":3,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-2.734,-12.941],[-15.624,-0.096],[-3.417,15.247]],"o":[[2.734,12.941],[3.23,15.288],[15.625,0.095],[0,0]],"v":[[-36.33,-25.893],[-31.201,-1.615],[2.397,25.799],[36.33,-1.201]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[602.33,214.252],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 9","np":2,"cix":2,"bm":0,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[6.091,-7.297]],"o":[[-0.924,12.992],[0,0]],"v":[[5.451,-19.487],[-5.451,19.487]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[594.411,259.908],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 10","np":2,"cix":2,"bm":0,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[1.404,-13.995],[-7.319,-22.945],[-22.358,-8.953],[-13.565,19.901],[22.678,8.11],[-0.689,25.725],[5.686,1.105]],"o":[[7.301,7.834],[-2.405,23.964],[7.32,22.944],[22.358,8.953],[13.565,-19.9],[-24.231,-8.665],[0.155,-5.79],[-5.686,-1.106]],"v":[[-67.624,-74.46],[-60.836,-50.411],[-55.453,11.567],[-9.899,64.62],[54.789,47.744],[37.918,-12.56],[2.322,-69.611],[-7.677,-82.077]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[1.404,-13.995],[-7.319,-22.945],[-22.358,-8.953],[-13.565,19.901],[22.678,8.11],[-0.689,25.725],[5.686,1.105]],"o":[[7.301,7.834],[-2.405,23.964],[7.32,22.944],[22.358,8.953],[13.565,-19.9],[-24.231,-8.665],[0.155,-5.79],[-5.686,-1.106]],"v":[[-67.624,-74.46],[-60.836,-50.411],[-56.182,21.178],[-10.628,74.23],[54.06,57.355],[37.189,-2.949],[2.322,-69.611],[-7.677,-82.077]],"c":true}]},{"t":74.0000030140818,"s":[{"i":[[0,0],[1.404,-13.995],[-7.319,-22.945],[-22.358,-8.953],[-13.565,19.901],[22.678,8.11],[-0.689,25.725],[5.686,1.105]],"o":[[7.301,7.834],[-2.405,23.964],[7.32,22.944],[22.358,8.953],[13.565,-19.9],[-24.231,-8.665],[0.155,-5.79],[-5.686,-1.106]],"v":[[-67.624,-74.46],[-60.836,-50.411],[-55.453,11.567],[-9.899,64.62],[54.789,47.744],[37.918,-12.56],[2.322,-69.611],[-7.677,-82.077]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.8,0.85,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[692.302,244.019],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 11","np":3,"cix":2,"bm":0,"ix":11,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1798.00007323404,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"arms/boxgirl2 Outlines","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":7,"s":[-18]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":13.824,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":21,"s":[-18]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":27,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":37,"s":[-18]},{"t":54.0000021994651,"s":[-18]}],"ix":10},"p":{"a":0,"k":[506.439,444.242,0],"ix":2},"a":{"a":0,"k":[534.439,398.222,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-3.407],[3.407,0],[0,3.407],[-3.407,0]],"o":[[0,3.407],[-3.407,0],[0,-3.407],[3.407,0]],"v":[[6.169,0],[0,6.169],[-6.168,0],[0,-6.169]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[632.081,461.246],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":7,"s":[{"i":[[0,0],[-22.517,-0.724],[-10.788,37.86]],"o":[[25.288,-7.398],[36.098,3.218],[0,0]],"v":[[-38.207,26.791],[38.078,30.823],[87.513,-6.807]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":14,"s":[{"i":[[0,0],[-22.888,-13.053],[-2.749,18.008]],"o":[[25.288,-7.398],[-17.303,-28.448],[0,0]],"v":[[-38.207,26.791],[38.207,35.761],[21.086,-17.93]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":21,"s":[{"i":[[0,0],[-22.517,-0.724],[-10.788,37.86]],"o":[[25.288,-7.398],[36.098,3.218],[0,0]],"v":[[-38.207,26.791],[38.078,30.823],[87.513,-6.807]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":27.176,"s":[{"i":[[0,0],[-22.888,-13.053],[-2.749,18.008]],"o":[[25.288,-7.398],[-17.303,-28.448],[0,0]],"v":[[-38.207,26.791],[38.207,35.761],[21.086,-17.93]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":37,"s":[{"i":[[0,0],[-22.517,-0.724],[-10.788,37.86]],"o":[[25.288,-7.398],[36.098,3.218],[0,0]],"v":[[-38.207,26.791],[38.078,30.823],[87.513,-6.807]],"c":false}]},{"t":54.0000021994651,"s":[{"i":[[0,0],[-22.517,-0.724],[-10.788,37.86]],"o":[[25.288,-7.398],[36.098,3.218],[0,0]],"v":[[-38.207,26.791],[38.078,30.823],[87.513,-6.807]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[636.453,358.075],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-2.991,-1.935],[1.393,-9.397],[3.254,-8.925],[-1.049,-10.002],[0,0],[-11.042,-10.598],[20.008,35.512]],"o":[[3.543,-0.536],[7.976,5.16],[-1.392,9.397],[-3.253,8.925],[0,0],[0.418,10.558],[7.218,-35.73],[0,0]],"v":[[-34.042,-55.116],[-23.763,-53.142],[-14.661,-27.77],[-23.79,-0.843],[-27.997,28.159],[-28.105,26.975],[6.752,55.652],[14.035,-54.499]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.46,0.595,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[635.71,439.352],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":3,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-19.251,-20.715],[19.252,-11.749],[12.525,20.715],[-9.779,13.975]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":3,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.64,0.73,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[617.497,415.331],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":3,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0.037,-6.22],[4.993,-23.691],[-34.033,29.139],[0,0]],"o":[[0,0],[0,0],[-4.999,-3.701],[0,0],[-3.982,18.892],[0,0],[0,0]],"v":[[55.805,-7.473],[11.559,-17.777],[-4.366,-29.569],[-16.488,-23.507],[-52.904,-14.08],[1.026,8.632],[56.886,25.512]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.94,0.955,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[554.414,404.877],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":3,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-7.976,-5.16],[1.393,-9.397],[3.254,-8.925],[-1.049,-10.001],[2.982,11.029]],"o":[[0.571,-9.482],[7.975,5.161],[-1.393,9.396],[-3.254,8.925],[-2.982,-11.029],[0,0]],"v":[[-16.19,-29.242],[5.695,-38.07],[14.797,-12.698],[5.668,14.229],[1.461,43.23],[-8.484,4.143]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8167,0.2433,0.3867,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[606.252,424.28],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":3,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":7,"s":[{"i":[[0,0],[76.287,8.852],[17.248,1.993]],"o":[[77.45,65.728],[-17.247,-2.001],[0,0]],"v":[[63.279,-99.083],[-7.091,82.071],[-65.557,72.343]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":14,"s":[{"i":[[0,0],[84.904,4.88],[17.248,1.993]],"o":[[83.039,26.063],[-17.334,-0.997],[0,0]],"v":[[-26.996,-99.139],[-19.347,87.726],[-65.557,72.343]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":21,"s":[{"i":[[0,0],[76.287,8.852],[17.248,1.993]],"o":[[77.45,65.728],[-17.247,-2.001],[0,0]],"v":[[63.279,-99.083],[-7.091,82.071],[-65.557,72.343]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":27,"s":[{"i":[[0,0],[84.904,4.88],[17.248,1.993]],"o":[[88.231,6.819],[-17.334,-0.997],[0,0]],"v":[[-46.273,-107.574],[-19.347,87.726],[-65.557,72.343]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":37,"s":[{"i":[[0,0],[76.287,8.852],[17.248,1.993]],"o":[[77.45,65.728],[-17.247,-2.001],[0,0]],"v":[[63.279,-99.083],[-7.091,82.071],[-65.557,72.343]],"c":false}]},{"t":54.0000021994651,"s":[{"i":[[0,0],[76.287,8.852],[17.248,1.993]],"o":[[77.45,65.728],[-17.247,-2.001],[0,0]],"v":[[63.279,-99.083],[-7.091,82.071],[-65.557,72.343]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.46,0.595,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[717.313,386.909],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":3,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1798.00007323404,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"BOX/boxgirl2 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":7,"s":[-11]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":14.961,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":21.216,"s":[-11]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":26.903,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":36.569,"s":[-11]},{"t":76.0000030955435,"s":[-11]}],"ix":10},"p":{"s":true,"x":{"a":0,"k":497.232,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.525],"y":[0.999]},"o":{"x":[0.167],"y":[0.012]},"t":7,"s":[534.782]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.714],"y":[-0.001]},"t":14.961,"s":[473.393]},{"i":{"x":[0.086],"y":[1.001]},"o":{"x":[0.333],"y":[0]},"t":20.648,"s":[554.791]},{"i":{"x":[0.345],"y":[1.257]},"o":{"x":[0.475],"y":[0.001]},"t":26.903,"s":[484.088]},{"i":{"x":[0.058],"y":[8.039]},"o":{"x":[0.207],"y":[-15.641]},"t":37.138,"s":[534.782]},{"t":76.0000030955435,"s":[534.782]}],"ix":4}},"a":{"a":0,"k":[572.5,586.5,0],"ix":1},"s":{"a":0,"k":[83,83,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.345,-40.918],[0,0],[0,0],[0,0]],"o":[[0,0],[5.794,-40.405],[0,0],[0,0]],"v":[[2.264,43.63],[-8.285,42.896],[-2.262,-43.63],[8.286,-42.896]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[307.842,426.297],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[5.221,1.428]],"o":[[0,0],[0,0]],"v":[[0.841,-83.44],[-2.611,82.013]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[306.142,427.058],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-69.992,1.014]],"o":[[69.993,-1.014],[0,0]],"v":[[-112.026,3.123],[112.026,-3.123]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[477.19,351.902],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-38.969,-5.99],[1.82,-62.867]],"o":[[41.66,9.085],[-1.821,62.868],[0,0]],"v":[[-56.581,-95.724],[56.581,-72.475],[52.313,95.724]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8471,0.1922,0.3569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[308.254,427.051],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":3,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-43.799,3.2],[-73.661,-9.244],[-9.976,-73.578],[68.598,2.806],[42.988,11.764],[6.219,42.049]],"o":[[64.703,16],[-14.075,53.761],[-67.608,11.939],[-42.988,-11.764],[7.574,-63.979],[43.799,-3.2]],"v":[[-15.044,-99.102],[169.981,-81.65],[161.058,90.364],[-59.207,94.101],[-169.981,65.062],[-167.562,-99.102]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8471,0.1922,0.3569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[419.236,430.43],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":3,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[4.29,-26.25],[54.595,20.476],[-5.348,26.556]],"o":[[-5.881,28.24],[-48.63,-17.126],[7.005,-28.32],[0,0]],"v":[[81.443,-11.521],[72.476,56.222],[-39.877,9.497],[-29.331,-40.56]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.235,"s":[{"i":[[0,0],[4.29,-26.25],[54.595,20.475],[-5.348,26.556]],"o":[[-5.881,28.24],[-48.63,-17.126],[7.005,-28.32],[0,0]],"v":[[81.443,-11.521],[72.476,56.222],[-39.877,9.497],[-29.331,-40.56]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[18.337,-0.432],[53.327,11.084],[-23.981,4.669]],"o":[[-25.774,-4.099],[-48.63,-17.126],[24.904,-3.29],[0,0]],"v":[[81.443,-11.521],[31.961,-12.457],[-76.764,-40.908],[-29.331,-40.56]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.921,"s":[{"i":[[0,0],[4.29,-26.25],[54.595,20.476],[-5.348,26.556]],"o":[[-5.881,28.24],[-48.63,-17.126],[7.005,-28.32],[0,0]],"v":[[81.443,-11.521],[72.476,56.222],[-39.877,9.497],[-29.331,-40.56]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28.608,"s":[{"i":[[0,0],[4.29,-26.25],[54.595,20.476],[-5.348,26.556]],"o":[[-5.881,28.24],[-48.63,-17.126],[7.005,-28.32],[0,0]],"v":[[81.443,-11.521],[72.476,56.222],[-39.877,9.497],[-29.331,-40.56]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[18.337,-0.432],[53.327,11.084],[-23.981,4.669]],"o":[[-25.774,-4.099],[-48.63,-17.126],[24.904,-3.29],[0,0]],"v":[[81.443,-11.521],[31.961,-12.457],[-76.764,-40.909],[-29.331,-40.56]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":46,"s":[{"i":[[0,0],[4.29,-26.25],[54.595,20.476],[-5.348,26.556]],"o":[[-5.881,28.24],[-48.63,-17.126],[7.005,-28.32],[0,0]],"v":[[81.443,-11.521],[72.476,56.222],[-39.877,9.497],[-29.331,-40.56]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[5.295,-25.538],[54.595,20.476],[-5.348,26.556]],"o":[[-5.881,28.24],[-48.63,-17.126],[7.005,-28.32],[0,0]],"v":[[81.443,-11.521],[68.394,55.122],[-39.877,9.497],[-29.331,-40.56]],"c":false}]},{"t":77.0000031362743,"s":[{"i":[[0,0],[4.29,-26.25],[54.595,20.476],[-5.348,26.556]],"o":[[-5.881,28.24],[-48.63,-17.126],[7.005,-28.32],[0,0]],"v":[[81.443,-11.521],[72.476,56.222],[-39.877,9.497],[-29.331,-40.56]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8471,0.1922,0.3569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[278.586,536.051],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":3,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[-3.518,-24.757],[85.647,-5.976],[4.373,25.634]],"o":[[1.938,21.197],[-80.626,8.376],[-2.305,-27.236],[0,0]],"v":[[96.352,-34.341],[106.656,24.809],[-115.038,40.968],[-118.704,-27.565]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[-7.408,-22.677],[85.647,-5.975],[4.373,25.634]],"o":[[1.938,21.197],[-80.626,8.376],[-2.305,-27.236],[0,0]],"v":[[96.353,-34.341],[110.216,25.436],[-110.292,41.803],[-118.704,-27.565]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16.666,"s":[{"i":[[0,0],[-3.518,-24.757],[85.647,-5.975],[4.373,25.634]],"o":[[1.938,21.197],[-80.626,8.376],[-2.305,-27.236],[0,0]],"v":[[96.353,-34.341],[106.656,24.809],[-115.038,40.968],[-118.704,-27.565]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-29.356,-13.941],[84.442,-5.729],[19.387,14.399]],"o":[[13.559,13.713],[-83.638,8.019],[-32.035,-13.191],[0,0]],"v":[[96.353,-34.341],[136.329,-10.87],[-68.498,3.481],[-118.704,-27.565]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.921,"s":[{"i":[[0,0],[-3.518,-24.757],[85.647,-5.976],[4.373,25.634]],"o":[[1.938,21.197],[-80.626,8.376],[-2.305,-27.236],[0,0]],"v":[[96.352,-34.341],[106.656,24.809],[-115.038,40.968],[-118.704,-27.565]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28.608,"s":[{"i":[[0,0],[-3.518,-24.757],[85.647,-5.976],[4.373,25.634]],"o":[[1.938,21.197],[-80.626,8.376],[-2.305,-27.236],[0,0]],"v":[[96.352,-34.341],[106.656,24.809],[-115.038,40.968],[-118.704,-27.565]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[-29.356,-13.941],[84.442,-5.729],[19.387,14.399]],"o":[[13.559,13.713],[-83.638,8.019],[-32.035,-13.191],[0,0]],"v":[[96.353,-34.341],[136.329,-10.87],[-68.498,3.481],[-118.704,-27.565]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":46,"s":[{"i":[[0,0],[-3.518,-24.757],[85.647,-5.976],[4.373,25.634]],"o":[[1.938,21.197],[-80.626,8.376],[-2.305,-27.236],[0,0]],"v":[[96.352,-34.341],[106.656,24.809],[-115.038,40.968],[-118.704,-27.565]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[{"i":[[0,0],[4.341,-23.172],[85.647,-5.976],[-5.305,25.866]],"o":[[-4.364,20.108],[-80.626,8.376],[3.168,-26.192],[0,0]],"v":[[96.352,-34.341],[83.496,23.989],[-128.163,39.03],[-118.704,-27.565]],"c":false}]},{"t":77.0000031362743,"s":[{"i":[[0,0],[-3.518,-24.757],[85.647,-5.976],[4.373,25.634]],"o":[[1.938,21.197],[-80.626,8.376],[-2.305,-27.236],[0,0]],"v":[[96.352,-34.341],[106.656,24.809],[-115.038,40.968],[-118.704,-27.565]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8471,0.1922,0.3569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[483.54,552.116],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":3,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1798.00007323404,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Legs/boxgirl2 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[477.232,513.782,0],"ix":2},"a":{"a":0,"k":[572.5,586.5,0],"ix":1},"s":{"a":0,"k":[83,83,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.742,-7.41],[-14.493,-3.584],[-25.452,2.565]],"o":[[-5.443,5.57],[2.029,20.261],[13.455,3.327],[0,0]],"v":[[-48.474,-30.191],[-57.779,-10.254],[-0.625,23.639],[58.521,27.626]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.94,0.955,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[647.342,989.901],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-8.064,5.222]],"o":[[0,0],[0,0]],"v":[[-11.624,-6.953],[11.624,1.731]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.94,0.955,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[618.704,1014.636],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,3.45],[0,0],[0,0],[0,0],[0,0],[3.45,0]],"o":[[-3.45,0],[0,0],[0,0],[0,0],[0,0],[0,3.45],[0,0]],"v":[[-66.997,10.39],[-73.244,4.143],[-73.244,-10.39],[-70.416,-10.39],[73.244,-10.39],[73.244,4.143],[66.997,10.39]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.94,0.955,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[630.328,1057.988],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":3,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0.745,2.543],[-7.412,2.56],[0,0],[0,0]],"o":[[0,0],[0,0],[-2.561,-2.245],[-2.206,-7.525],[0,0],[0,0],[0,0]],"v":[[74.419,-1.574],[75.315,23.542],[-68.346,23.542],[-73.109,16.217],[-63.465,-1.762],[-21.177,-16.372],[-11.369,-23.542]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.94,0.955,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[628.258,1024.055],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":3,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-1.406,-7.312],[-14.756,-2.265],[-25.117,4.846]],"o":[[0,20.776],[3.845,19.996],[13.701,2.102],[0,0]],"v":[[-30.309,-32.271],[-58.915,0.168],[1.056,28.779],[60.321,27.425]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[561.487,975.205],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-7.561,5.927]],"o":[[0,0],[0,0]],"v":[[-11.967,-6.242],[11.968,0.315]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[519.21,1005.327],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":2,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[-3.437,0.31]],"o":[[0,0],[0,0],[0,0],[0.311,3.436],[0,0]],"v":[[74.051,5],[71.843,-16.903],[-74.051,-3.715],[-72.448,10.933],[-65.663,16.593]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[535.094,1047.055],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":2,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[1.577,12.468],[-1.576,-12.468]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[605.36,1017.685],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 8","np":2,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.874,-7.296],[-2.753,-2.005]],"o":[[0,0],[0,0],[-7.151,3.218],[0.971,2.467],[0,0]],"v":[[30.393,-26.012],[21.269,-17.987],[-19.532,0.37],[-27.519,19.143],[-22.114,26.012]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[485.974,1017.073],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 9","np":2,"cix":2,"bm":0,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.98,"s":[{"i":[[0,0],[-3.442,-105.571]],"o":[[-18.704,112.217],[0,0]],"v":[[-9.493,-158.357],[9.494,158.357]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.393,"s":[{"i":[[0,0],[-3.442,-105.571]],"o":[[3.442,105.571],[0,0]],"v":[[-9.493,-158.357],[9.494,158.357]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.648,"s":[{"i":[[0,0],[-3.442,-105.571]],"o":[[-18.704,112.217],[0,0]],"v":[[-9.493,-158.357],[9.494,158.357]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25.765,"s":[{"i":[[0,0],[-3.442,-105.571]],"o":[[3.442,105.571],[0,0]],"v":[[-9.493,-158.357],[9.494,158.357]],"c":false}]},{"t":32.588751327367,"s":[{"i":[[0,0],[-3.442,-105.571]],"o":[[-18.704,112.217],[0,0]],"v":[[-9.493,-158.357],[9.494,158.357]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[519.695,753.384],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 10","np":2,"cix":2,"bm":0,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.98,"s":[{"i":[[0,0],[3.081,-104.652]],"o":[[-11.201,108.609],[0,0]],"v":[[2.06,-160.308],[6.06,160.309]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.393,"s":[{"i":[[0,0],[3.081,-104.652]],"o":[[5.242,106.157],[0,0]],"v":[[2.06,-160.308],[6.06,160.309]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.648,"s":[{"i":[[0,0],[3.081,-104.652]],"o":[[-11.201,108.609],[0,0]],"v":[[2.06,-160.308],[6.06,160.309]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25.765,"s":[{"i":[[0,0],[3.081,-104.652]],"o":[[5.242,106.156],[0,0]],"v":[[2.06,-160.308],[6.06,160.309]],"c":false}]},{"t":32.588751327367,"s":[{"i":[[0,0],[3.081,-104.652]],"o":[[-11.201,108.609],[0,0]],"v":[[2.06,-160.308],[6.06,160.309]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[591.424,810.794],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 11","np":2,"cix":2,"bm":0,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.98,"s":[{"i":[[0,0],[-21.928,-106.278]],"o":[[-33.777,91.486],[0,0]],"v":[[12.646,-187.238],[21.131,187.238]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.393,"s":[{"i":[[0,0],[-10.66,-108.482]],"o":[[-4.585,92.5],[0,0]],"v":[[12.646,-187.238],[21.131,187.238]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.648,"s":[{"i":[[0,0],[-21.928,-106.278]],"o":[[-33.777,91.486],[0,0]],"v":[[12.646,-187.238],[21.131,187.238]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25.765,"s":[{"i":[[0,0],[-10.66,-108.482]],"o":[[-4.585,92.5],[0,0]],"v":[[12.646,-187.238],[21.131,187.238]],"c":false}]},{"t":32.588751327367,"s":[{"i":[[0,0],[-21.928,-106.278]],"o":[[-33.777,91.486],[0,0]],"v":[[12.646,-187.238],[21.131,187.238]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[685.846,756.199],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 12","np":2,"cix":2,"bm":0,"ix":12,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1798.00007323404,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Body/boxgirl2 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.98,"s":[477.232,513.782,0],"to":[0,-1.167,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.393,"s":[477.232,506.782,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.648,"s":[477.232,513.782,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25.765,"s":[477.232,506.782,0],"to":[0,0,0],"ti":[0,-1.167,0]},{"t":32.588751327367,"s":[477.232,513.782,0]}],"ix":2},"a":{"a":0,"k":[572.5,586.5,0],"ix":1},"s":{"a":0,"k":[83,83,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[0,0],[-1.842,-18.593],[20.162,4.991],[50.908,0.473],[-108.373,217.759],[-16.355,0],[0,0],[0,0],[-16.432,-8.614]],"o":[[6.366,18.406],[2.049,20.67],[-36.237,-8.969],[0,0],[10.336,-20.768],[0,0],[0,0],[18.522,-12.748],[0,0]],"v":[[132.53,-11.826],[161.147,106.417],[106.529,126.902],[-0.019,112.697],[-47.61,-79.325],[-1.019,-144.415],[23.696,-102.197],[71.999,-130.707],[125.265,-134.421]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15,"s":[{"i":[[0,0],[-1.842,-18.593],[20.162,4.991],[50.908,0.473],[-104.743,241.812],[-16.355,0],[0,0],[0,0],[-16.432,-8.614]],"o":[[6.366,18.406],[2.049,20.67],[-36.237,-8.969],[0,0],[9.221,-21.286],[0,0],[0,0],[18.522,-12.748],[0,0]],"v":[[132.53,-11.826],[161.147,106.417],[106.529,126.902],[-0.019,112.697],[-75.32,-116.675],[-1.019,-144.415],[23.696,-102.197],[71.999,-130.707],[125.265,-134.421]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-1.842,-18.593],[20.162,4.991],[50.908,0.473],[-108.373,217.759],[-16.355,0],[0,0],[0,0],[-16.432,-8.614]],"o":[[6.366,18.406],[2.049,20.67],[-36.237,-8.969],[0,0],[10.336,-20.768],[0,0],[0,0],[18.522,-12.748],[0,0]],"v":[[132.53,-11.826],[161.147,106.417],[106.529,126.902],[-0.019,112.697],[-47.61,-88.964],[-1.019,-144.415],[23.696,-102.197],[71.999,-130.707],[125.265,-134.421]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[-1.842,-18.593],[20.162,4.991],[50.908,0.473],[-108.373,217.759],[-16.355,0],[0,0],[0,0],[-16.432,-8.614]],"o":[[6.366,18.406],[2.049,20.67],[-36.237,-8.969],[0,0],[10.336,-20.768],[0,0],[0,0],[18.522,-12.748],[0,0]],"v":[[132.53,-11.826],[161.147,106.417],[106.529,126.902],[-0.019,112.697],[-63.272,-105.831],[-1.019,-144.415],[23.696,-102.197],[71.999,-130.707],[125.265,-134.421]],"c":false}]},{"t":33.0000013441176,"s":[{"i":[[0,0],[-1.842,-18.593],[20.162,4.991],[50.908,0.473],[-108.373,217.759],[-16.355,0],[0,0],[0,0],[-16.432,-8.614]],"o":[[6.366,18.406],[2.049,20.67],[-36.237,-8.969],[0,0],[10.336,-20.768],[0,0],[0,0],[18.522,-12.748],[0,0]],"v":[[132.53,-11.826],[161.147,106.417],[106.529,126.902],[-0.019,112.697],[-47.61,-79.325],[-1.019,-144.415],[23.696,-102.197],[71.999,-130.707],[125.265,-134.421]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.46,0.595,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[559.529,428.725],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1798.00007323404,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Layer 8/boxgirl2 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[477.232,513.782,0],"ix":2},"a":{"a":0,"k":[572.5,586.5,0],"ix":1},"s":{"a":0,"k":[83,83,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[47.878,-14.752],[3.234,-71.293],[-5.895,-75.093],[33.038,-81.93],[-85.728,-107.22],[-68.517,107.681],[-69.828,139.983],[-38.029,115.117],[46.807,57.257],[162.699,89.342]],"o":[[-55.539,17.112],[-3.198,70.52],[6.233,79.398],[-49.442,122.608],[99.596,124.565],[62.205,-97.761],[57.996,-116.263],[25.413,-76.926],[-71.866,-87.91],[-72.635,-39.886]],"v":[[-164.114,-536.141],[-273.101,-369.18],[-225.408,-209.28],[-297.757,-3.278],[-280.381,426.328],[113.978,424.615],[140.88,74.349],[340.696,-142.095],[303.58,-375.651],[-19.035,-471.694]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.94,0.955,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[655.005,614.237],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1798.00007323404,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/app/src/main/res/raw/loading.json b/app/src/main/res/raw/loading.json
new file mode 100644
index 0000000..f4b935a
--- /dev/null
+++ b/app/src/main/res/raw/loading.json
@@ -0,0 +1 @@
+{"v":"5.7.8","fr":30,"ip":0,"op":91,"w":1080,"h":1080,"nm":"bike rider","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Layer 15 Outlines","parent":14,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":12,"s":[25]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":26,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":35,"s":[25]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":45,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":57,"s":[25]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":71,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":80,"s":[25]},{"t":90,"s":[0]}],"ix":10},"p":{"a":0,"k":[158.727,79.655,0],"ix":2,"l":2},"a":{"a":0,"k":[2.063,11.093,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.754,8.852],[-1.233,9.188],[-2.754,-8.852],[1.232,-9.188]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[17.622,9.438],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.395,4.681],[-4.681,0.395],[0,0]],"o":[[0,0],[-4.682,0.394],[-0.395,-4.681],[0,0],[0,0]],"v":[[10.027,7.838],[-0.441,8.721],[-9.632,0.959],[-1.871,-8.232],[8.598,-9.115]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.749019607843,0.047058823529,0.196078431373,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[10.276,9.821],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Layer 13 Outlines","parent":14,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[3]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":12,"s":[-7]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":26,"s":[3]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":35,"s":[-7]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":45,"s":[3]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":57,"s":[-7]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":71,"s":[3]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":80,"s":[-7]},{"t":90,"s":[3]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[150.99,77.454,0],"to":[0.292,0.958,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[152.74,83.204,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[150.99,77.454,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[152.74,83.204,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[150.99,77.454,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[152.74,83.204,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[150.99,77.454,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[152.74,83.204,0],"to":[0,0,0],"ti":[0.292,0.958,0]},{"t":90,"s":[150.99,77.454,0]}],"ix":2,"l":2},"a":{"a":0,"k":[4.939,4.189,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-1.757,1.757],[-1.757,-1.757]],"o":[[0,0],[0,0],[-1.757,-1.757],[1.757,-1.757],[0,0]],"v":[[13.959,7.594],[7.595,13.958],[-12.202,-5.837],[-12.202,-12.202],[-5.837,-12.202]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.749019607843,0.047058823529,0.196078431373,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[14.208,14.209],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-28.5,-28.5],[28.5,28.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":6,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[33.735,33.235],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Layer 17 Outlines","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[-5]},{"t":90,"s":[1435]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[63.352,62.395,0],"to":[0.402,0.258,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[65.764,63.945,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[63.352,62.395,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[65.764,63.945,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[63.352,62.395,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[65.764,63.945,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[63.352,62.395,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[65.764,63.945,0],"to":[0,0,0],"ti":[0.402,0.258,0]},{"t":90,"s":[63.352,62.395,0]}],"ix":2,"l":2},"a":{"a":0,"k":[38,38,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-9.941],[9.941,0],[-23.87,0.945]],"o":[[0,9.941],[-23.877,-0.948],[9.941,0]],"v":[[20.939,0],[2.939,18],[2.939,-18]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.75,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"d":[{"n":"d","nm":"dash","v":{"a":0,"k":28.267,"ix":1}},{"n":"g","nm":"gap","v":{"a":0,"k":28.267,"ix":2}},{"n":"o","nm":"offset","v":{"a":0,"k":0,"ix":7}}],"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[35.061,38],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-9.941],[9.941,0],[0,9.941],[-9.941,0]],"o":[[0,9.941],[-9.941,0],[0,-9.941],[9.941,0]],"v":[[18,0],[0,18],[-18,0],[0,-18]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":8,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[38,38],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-8.008],[8.008,0],[0,8.008],[-8.008,0]],"o":[[0,8.008],[-8.008,0],[0,-8.008],[8.008,0]],"v":[[14.5,0],[0,14.5],[-14.5,0],[0,-14.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":8,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[38,38],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"5 Outlines","parent":9,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[12.227,31.842,0],"ix":2,"l":2},"a":{"a":0,"k":[11.5,5.413,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[3.75,2.143]],"o":[[0,0],[0,0]],"v":[[3.25,-0.223],[-4.438,-1.053]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[0,0],[2.41,1.999]],"o":[[0,0],[0,0]],"v":[[3.25,-0.223],[-4.783,-1.539]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,0],[2.641,-1.386]],"o":[[0,0],[0,0]],"v":[[3.25,-0.223],[-5.007,-2.093]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":19,"s":[{"i":[[0,0],[2.41,1.999]],"o":[[0,0],[0,0]],"v":[[3.25,-0.223],[-4.783,-1.539]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,0],[3.75,2.143]],"o":[[0,0],[0,0]],"v":[[3.25,-0.223],[-4.438,-1.053]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":30,"s":[{"i":[[0,0],[2.41,1.999]],"o":[[0,0],[0,0]],"v":[[3.25,-0.223],[-4.783,-1.539]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,0],[2.641,-1.386]],"o":[[0,0],[0,0]],"v":[[3.25,-0.223],[-5.007,-2.093]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[2.41,1.999]],"o":[[0,0],[0,0]],"v":[[3.25,-0.223],[-4.783,-1.539]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[3.75,2.143]],"o":[[0,0],[0,0]],"v":[[3.25,-0.223],[-4.438,-1.053]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":51,"s":[{"i":[[0,0],[2.41,1.999]],"o":[[0,0],[0,0]],"v":[[3.25,-0.223],[-4.783,-1.539]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,0],[2.641,-1.386]],"o":[[0,0],[0,0]],"v":[[3.25,-0.223],[-5.007,-2.093]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":64,"s":[{"i":[[0,0],[2.41,1.999]],"o":[[0,0],[0,0]],"v":[[3.25,-0.223],[-4.783,-1.539]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[3.75,2.143]],"o":[[0,0],[0,0]],"v":[[3.25,-0.223],[-4.438,-1.053]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":76,"s":[{"i":[[0,0],[2.41,1.999]],"o":[[0,0],[0,0]],"v":[[3.25,-0.223],[-4.783,-1.539]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[2.641,-1.386]],"o":[[0,0],[0,0]],"v":[[3.25,-0.223],[-5.007,-2.093]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":85,"s":[{"i":[[0,0],[2.41,1.999]],"o":[[0,0],[0,0]],"v":[[3.25,-0.223],[-4.783,-1.539]],"c":false}]},{"t":90,"s":[{"i":[[0,0],[3.75,2.143]],"o":[[0,0],[0,0]],"v":[[3.25,-0.223],[-4.438,-1.053]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.627450980392,0.201153399898,0.059054206399,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[8.25,5.741],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"4 Outlines","parent":9,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[11.727,29.447,0],"ix":2,"l":2},"a":{"a":0,"k":[19.5,11.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[4,-2],[1.5,0.5]],"o":[[0,0],[0,0],[0,0]],"v":[[6,2],[-2,0],[-6,1]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[0,0],[3.482,0.412],[1.803,-0.047]],"o":[[0,0],[0,0],[0,0]],"v":[[6,2],[-1.003,-1.17],[-4.908,-0.925]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,0],[2.964,2.825],[2.105,-0.593]],"o":[[0,0],[0,0],[0,0]],"v":[[6,2],[-0.006,-2.341],[-3.815,-2.851]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":19,"s":[{"i":[[0,0],[3.482,0.412],[1.803,-0.047]],"o":[[0,0],[0,0],[0,0]],"v":[[6,2],[-1.003,-1.17],[-4.908,-0.925]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,0],[4,-2],[1.5,0.5]],"o":[[0,0],[0,0],[0,0]],"v":[[6,2],[-2,0],[-6,1]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":30,"s":[{"i":[[0,0],[3.482,0.412],[1.803,-0.047]],"o":[[0,0],[0,0],[0,0]],"v":[[6,2],[-1.003,-1.17],[-4.908,-0.925]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,0],[2.964,2.825],[2.105,-0.593]],"o":[[0,0],[0,0],[0,0]],"v":[[6,2],[-0.006,-2.341],[-3.815,-2.851]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[3.482,0.412],[1.803,-0.047]],"o":[[0,0],[0,0],[0,0]],"v":[[6,2],[-1.003,-1.17],[-4.908,-0.925]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[4,-2],[1.5,0.5]],"o":[[0,0],[0,0],[0,0]],"v":[[6,2],[-2,0],[-6,1]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":51,"s":[{"i":[[0,0],[3.482,0.412],[1.803,-0.047]],"o":[[0,0],[0,0],[0,0]],"v":[[6,2],[-1.003,-1.17],[-4.908,-0.925]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,0],[2.964,2.825],[2.105,-0.593]],"o":[[0,0],[0,0],[0,0]],"v":[[6,2],[-0.006,-2.341],[-3.815,-2.851]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":64,"s":[{"i":[[0,0],[3.482,0.412],[1.803,-0.047]],"o":[[0,0],[0,0],[0,0]],"v":[[6,2],[-1.003,-1.17],[-4.908,-0.925]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[4,-2],[1.5,0.5]],"o":[[0,0],[0,0],[0,0]],"v":[[6,2],[-2,0],[-6,1]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":76,"s":[{"i":[[0,0],[3.482,0.412],[1.803,-0.047]],"o":[[0,0],[0,0],[0,0]],"v":[[6,2],[-1.003,-1.17],[-4.908,-0.925]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[2.964,2.825],[2.105,-0.593]],"o":[[0,0],[0,0],[0,0]],"v":[[6,2],[-0.006,-2.341],[-3.815,-2.851]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":85,"s":[{"i":[[0,0],[3.482,0.412],[1.803,-0.047]],"o":[[0,0],[0,0],[0,0]],"v":[[6,2],[-1.003,-1.17],[-4.908,-0.925]],"c":false}]},{"t":90,"s":[{"i":[[0,0],[4,-2],[1.5,0.5]],"o":[[0,0],[0,0],[0,0]],"v":[[6,2],[-2,0],[-6,1]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.505882352941,0.164705882353,0.050980392157,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[13.5,9.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"3 Outlines","parent":9,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[7.227,45.947,0],"ix":2,"l":2},"a":{"a":0,"k":[16.286,7.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-6,1]],"o":[[0,0],[0,0]],"v":[[-5.268,1.945],[4.393,-2.32]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[0,0],[-6,1]],"o":[[0,0],[0,0]],"v":[[-7.176,-3.232],[4.393,-2.32]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,0],[-6,1]],"o":[[0,0],[0,0]],"v":[[-6.812,-4.523],[4.393,-2.32]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":19,"s":[{"i":[[0,0],[-6,1]],"o":[[0,0],[0,0]],"v":[[-7.176,-3.232],[4.393,-2.32]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,0],[-6,1]],"o":[[0,0],[0,0]],"v":[[-5.268,1.945],[4.393,-2.32]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":30,"s":[{"i":[[0,0],[-6,1]],"o":[[0,0],[0,0]],"v":[[-7.176,-3.232],[4.393,-2.32]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,0],[-6,1]],"o":[[0,0],[0,0]],"v":[[-6.812,-4.523],[4.393,-2.32]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-6,1]],"o":[[0,0],[0,0]],"v":[[-7.176,-3.232],[4.393,-2.32]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[-6,1]],"o":[[0,0],[0,0]],"v":[[-5.268,1.945],[4.393,-2.32]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":51,"s":[{"i":[[0,0],[-6,1]],"o":[[0,0],[0,0]],"v":[[-7.176,-3.232],[4.393,-2.32]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,0],[-6,1]],"o":[[0,0],[0,0]],"v":[[-6.812,-4.523],[4.393,-2.32]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":64,"s":[{"i":[[0,0],[-6,1]],"o":[[0,0],[0,0]],"v":[[-7.176,-3.232],[4.393,-2.32]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-6,1]],"o":[[0,0],[0,0]],"v":[[-5.268,1.945],[4.393,-2.32]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":76,"s":[{"i":[[0,0],[-6,1]],"o":[[0,0],[0,0]],"v":[[-7.176,-3.232],[4.393,-2.32]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[-6,1]],"o":[[0,0],[0,0]],"v":[[-6.812,-4.523],[4.393,-2.32]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":85,"s":[{"i":[[0,0],[-6,1]],"o":[[0,0],[0,0]],"v":[[-7.176,-3.232],[4.393,-2.32]],"c":false}]},{"t":90,"s":[{"i":[[0,0],[-6,1]],"o":[[0,0],[0,0]],"v":[[-5.268,1.945],[4.393,-2.32]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.505882352941,0.164705882353,0.050980392157,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[11.893,9.821],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"2 Outlines","parent":9,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[9.227,53.267,0],"ix":2,"l":2},"a":{"a":0,"k":[19.5,11.82,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-5,-2]],"o":[[0,0],[0,0]],"v":[[-6,3.5],[6,-1.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[0,0],[-5.635,-0.702]],"o":[[0,0],[0,0]],"v":[[-6.692,-0.048],[6,-1.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,0],[-6.375,0.812]],"o":[[0,0],[0,0]],"v":[[-7.5,-4.188],[6,-1.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":19,"s":[{"i":[[0,0],[-5.635,-0.702]],"o":[[0,0],[0,0]],"v":[[-6.692,-0.048],[6,-1.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,0],[-5,-2]],"o":[[0,0],[0,0]],"v":[[-6,3.5],[6,-1.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":30,"s":[{"i":[[0,0],[-5.635,-0.702]],"o":[[0,0],[0,0]],"v":[[-6.692,-0.048],[6,-1.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,0],[-6.375,0.812]],"o":[[0,0],[0,0]],"v":[[-7.5,-4.188],[6,-1.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-5.635,-0.702]],"o":[[0,0],[0,0]],"v":[[-6.692,-0.048],[6,-1.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[-5,-2]],"o":[[0,0],[0,0]],"v":[[-6,3.5],[6,-1.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":51,"s":[{"i":[[0,0],[-5.635,-0.702]],"o":[[0,0],[0,0]],"v":[[-6.692,-0.048],[6,-1.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,0],[-6.375,0.812]],"o":[[0,0],[0,0]],"v":[[-7.5,-4.188],[6,-1.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":64,"s":[{"i":[[0,0],[-5.635,-0.702]],"o":[[0,0],[0,0]],"v":[[-6.692,-0.048],[6,-1.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-5,-2]],"o":[[0,0],[0,0]],"v":[[-6,3.5],[6,-1.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":76,"s":[{"i":[[0,0],[-5.635,-0.702]],"o":[[0,0],[0,0]],"v":[[-6.692,-0.048],[6,-1.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[-6.375,0.812]],"o":[[0,0],[0,0]],"v":[[-7.5,-4.188],[6,-1.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":85,"s":[{"i":[[0,0],[-5.635,-0.702]],"o":[[0,0],[0,0]],"v":[[-6.692,-0.048],[6,-1.5]],"c":false}]},{"t":90,"s":[{"i":[[0,0],[-5,-2]],"o":[[0,0],[0,0]],"v":[[-6,3.5],[6,-1.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.505882352941,0.164705882353,0.050980392157,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[13.5,11],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"hair 1 Outlines","parent":9,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[10.227,67.947,0],"ix":2,"l":2},"a":{"a":0,"k":[20.5,7.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-6,4]],"o":[[0,0],[0,0]],"v":[[-6.5,0.214],[6.5,-2]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[0,0],[-6.95,1.453]],"o":[[0,0],[0,0]],"v":[[-6.482,2.702],[6.5,-2]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,0],[-7.901,-1.094]],"o":[[0,0],[0,0]],"v":[[-6.465,5.19],[6.5,-2]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":19,"s":[{"i":[[0,0],[-6.95,1.453]],"o":[[0,0],[0,0]],"v":[[-6.482,2.702],[6.5,-2]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,0],[-6,4]],"o":[[0,0],[0,0]],"v":[[-6.5,0.214],[6.5,-2]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":30,"s":[{"i":[[0,0],[-6.95,1.453]],"o":[[0,0],[0,0]],"v":[[-6.482,2.702],[6.5,-2]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,0],[-7.901,-1.094]],"o":[[0,0],[0,0]],"v":[[-6.465,5.19],[6.5,-2]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-6.95,1.453]],"o":[[0,0],[0,0]],"v":[[-6.482,2.702],[6.5,-2]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[-6,4]],"o":[[0,0],[0,0]],"v":[[-6.5,0.214],[6.5,-2]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":51,"s":[{"i":[[0,0],[-6.95,1.453]],"o":[[0,0],[0,0]],"v":[[-6.482,2.702],[6.5,-2]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,0],[-7.901,-1.094]],"o":[[0,0],[0,0]],"v":[[-6.465,5.19],[6.5,-2]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":64,"s":[{"i":[[0,0],[-6.95,1.453]],"o":[[0,0],[0,0]],"v":[[-6.482,2.702],[6.5,-2]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-6,4]],"o":[[0,0],[0,0]],"v":[[-6.5,0.214],[6.5,-2]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":76,"s":[{"i":[[0,0],[-6.95,1.453]],"o":[[0,0],[0,0]],"v":[[-6.482,2.702],[6.5,-2]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[-7.901,-1.094]],"o":[[0,0],[0,0]],"v":[[-6.465,5.19],[6.5,-2]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":85,"s":[{"i":[[0,0],[-6.95,1.453]],"o":[[0,0],[0,0]],"v":[[-6.482,2.702],[6.5,-2]],"c":false}]},{"t":90,"s":[{"i":[[0,0],[-6,4]],"o":[[0,0],[0,0]],"v":[[-6.5,0.214],[6.5,-2]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.505882352941,0.164705882353,0.050980392157,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[14,9.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"HEad","parent":13,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":12,"s":[12]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":26,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":35,"s":[12]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":45,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":57,"s":[12]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":71,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":80,"s":[12]},{"t":90,"s":[0]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[85.636,10.277,0],"to":[0.625,1.333,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[89.386,18.277,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[85.636,10.277,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[89.386,18.277,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[85.636,10.277,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[89.386,18.277,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[85.636,10.277,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[89.386,18.277,0],"to":[0,0,0],"ti":[0.625,1.333,0]},{"t":90,"s":[85.636,10.277,0]}],"ix":2,"l":2},"a":{"a":0,"k":[22.114,53.473,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-2.071],[0.828,0],[0,2.071],[-0.828,0]],"o":[[0,2.071],[-0.828,0],[0,-2.071],[0.828,0]],"v":[[1.5,0],[0,3.75],[-1.5,0],[0,-3.75]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.129411764706,0.129411764706,0.129411764706,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[35.227,37.447],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-2.071],[0.828,0],[0,2.071],[-0.828,0]],"o":[[0,2.071],[-0.828,0],[0,-2.071],[0.828,0]],"v":[[1.5,0],[0,3.75],[-1.5,0],[0,-3.75]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.129411764706,0.129411764706,0.129411764706,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[30.227,37.447],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,2.761],[-2.761,0]],"o":[[0,0],[-2.761,0],[0,-2.761],[0,0]],"v":[[2.5,5],[2.5,5],[-2.5,0],[2.5,-5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.937254961799,0.647058823529,0.352941176471,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[11.227,37.947],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-4.23,-0.777],[-4.23,1.866],[4.23,1.149],[3.965,-1.866]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.937254961799,0.647058823529,0.352941176471,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[33.958,16.224],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-6.549,0.576],[0,0],[-0.577,-6.549]],"o":[[0,0],[0,0],[-0.576,-6.55],[0,0],[6.55,-0.576],[0,0]],"v":[[19.124,8.694],[-17.734,11.939],[-18.548,2.697],[-7.733,-10.205],[5.408,-11.362],[18.31,-0.547]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.749019607843,0.047058823529,0.196078431373,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[19.374,12.189],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.703,-0.302],[0,0],[0.302,3.703],[0,0],[-3.703,0.303],[0,0],[-0.303,-3.703],[0,0]],"o":[[0,0],[-3.703,0.302],[0,0],[-0.302,-3.703],[0,0],[3.703,-0.302],[0,0],[0.302,3.703]],"v":[[5.221,17.908],[-2.247,18.518],[-9.5,12.36],[-11.379,-10.656],[-5.221,-17.91],[2.247,-18.518],[9.5,-12.362],[11.378,10.656]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.937254961799,0.647058823529,0.352941176471,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[28.634,29.742],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":2,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-3,-35],[3,35]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.505882352941,0.164705882353,0.050980392157,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":35,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[23.727,54.447],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":2,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Layer 12 Outlines","parent":14,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[48.566,-7,0],"ix":2,"l":2},"a":{"a":0,"k":[91.28,82.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-50,-8],[-14,37]],"o":[[0,0],[0,0],[0,0]],"v":[[-41.75,-33],[-1.25,27.5],[51.25,-4]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,0],[-50,-8],[-8.75,36.75]],"o":[[0,0],[0,0],[0,0]],"v":[[-37.75,-29.25],[1,31],[51.75,-3]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,0],[-50,-8],[-14,37]],"o":[[0,0],[0,0],[0,0]],"v":[[-41.75,-33],[-1.25,27.5],[51.25,-4]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,0],[-50,-8],[-8.75,36.75]],"o":[[0,0],[0,0],[0,0]],"v":[[-37.75,-29.25],[1,31],[51.75,-3]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[-50,-8],[-14,37]],"o":[[0,0],[0,0],[0,0]],"v":[[-41.75,-33],[-1.25,27.5],[51.25,-4]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,0],[-50,-8],[-8.75,36.75]],"o":[[0,0],[0,0],[0,0]],"v":[[-37.75,-29.25],[1,31],[51.75,-3]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-50,-8],[-14,37]],"o":[[0,0],[0,0],[0,0]],"v":[[-41.75,-33],[-1.25,27.5],[51.25,-4]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[-50,-8],[-8.75,36.75]],"o":[[0,0],[0,0],[0,0]],"v":[[-37.75,-29.25],[1,31],[51.75,-3]],"c":false}]},{"t":90,"s":[{"i":[[0,0],[-50,-8],[-14,37]],"o":[[0,0],[0,0],[0,0]],"v":[[-41.75,-33],[-1.25,27.5],[51.25,-4]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.247058838489,0.250980392157,0.247058838489,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":33,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[133.75,115.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[0,0]],"o":[[2,3],[0,0]],"v":[[-1,-10.5],[1,10.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,0],[0,0]],"o":[[2,3],[0,0]],"v":[[-1,-10.5],[-1.25,11]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,0],[0,0]],"o":[[2,3],[0,0]],"v":[[-1,-10.5],[1,10.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,0],[0,0]],"o":[[2,3],[0,0]],"v":[[-1,-10.5],[-1.25,11]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[0,0]],"o":[[2,3],[0,0]],"v":[[-1,-10.5],[1,10.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,0],[0,0]],"o":[[2,3],[0,0]],"v":[[-1,-10.5],[-1.25,11]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[0,0]],"o":[[2,3],[0,0]],"v":[[-1,-10.5],[1,10.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[0,0]],"o":[[2,3],[0,0]],"v":[[-1,-10.5],[-1.25,11]],"c":false}]},{"t":90,"s":[{"i":[[0,0],[0,0]],"o":[[2,3],[0,0]],"v":[[-1,-10.5],[1,10.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.937254961799,0.647058823529,0.352941176471,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[220.5,107.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-7.698,5.705],[-3.747,-5.873],[0,-6.861]],"o":[[0,0],[5.596,-4.148],[1.999,3.134],[0,0]],"v":[[-15.5,9.916],[-5.49,-6.769],[11.936,-3.723],[15.5,10.916]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,0],[-7.698,5.705],[-3.747,-5.873],[0,-6.861]],"o":[[0,0],[5.596,-4.148],[1.999,3.134],[0,0]],"v":[[-15.5,9.916],[-6.24,-3.769],[12.436,-0.723],[14,11.666]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,0],[-7.698,5.705],[-3.747,-5.873],[0,-6.861]],"o":[[0,0],[5.596,-4.148],[1.999,3.134],[0,0]],"v":[[-15.5,9.916],[-5.49,-6.769],[11.936,-3.723],[15.5,10.916]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,0],[-7.698,5.705],[-3.747,-5.873],[0,-6.861]],"o":[[0,0],[5.596,-4.148],[1.999,3.134],[0,0]],"v":[[-15.5,9.916],[-6.24,-3.769],[12.436,-0.723],[14,11.666]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[-7.698,5.705],[-3.747,-5.873],[0,-6.861]],"o":[[0,0],[5.596,-4.148],[1.999,3.134],[0,0]],"v":[[-15.5,9.916],[-5.49,-6.769],[11.936,-3.723],[15.5,10.916]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,0],[-7.698,5.705],[-3.747,-5.873],[0,-6.861]],"o":[[0,0],[5.596,-4.148],[1.999,3.134],[0,0]],"v":[[-15.5,9.916],[-6.24,-3.769],[12.436,-0.723],[14,11.666]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-7.698,5.705],[-3.747,-5.873],[0,-6.861]],"o":[[0,0],[5.596,-4.148],[1.999,3.134],[0,0]],"v":[[-15.5,9.916],[-5.49,-6.769],[11.936,-3.723],[15.5,10.916]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[-7.698,5.705],[-3.747,-5.873],[0,-6.861]],"o":[[0,0],[5.596,-4.148],[1.999,3.134],[0,0]],"v":[[-15.5,9.916],[-6.24,-3.769],[12.436,-0.723],[14,11.666]],"c":false}]},{"t":90,"s":[{"i":[[0,0],[-7.698,5.705],[-3.747,-5.873],[0,-6.861]],"o":[[0,0],[5.596,-4.148],[1.999,3.134],[0,0]],"v":[[-15.5,9.916],[-5.49,-6.769],[11.936,-3.723],[15.5,10.916]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.937254961799,0.647058823529,0.352941176471,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":15,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[201,94.084],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"shoe Outlines","parent":12,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[92.5,60.75,0],"ix":2,"l":2},"a":{"a":0,"k":[21.5,43.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[21,-25]],"o":[[0,0],[0,0]],"v":[[17,-15],[-17,15]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,0],[18,-22.25]],"o":[[0,0],[0,0]],"v":[[15.25,-19.5],[-17,15.25]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,0],[21,-25]],"o":[[0,0],[0,0]],"v":[[17,-15],[-17,15]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,0],[18,-22.25]],"o":[[0,0],[0,0]],"v":[[15.25,-19.5],[-17,15.25]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[21,-25]],"o":[[0,0],[0,0]],"v":[[17,-15],[-17,15]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,0],[18,-22.25]],"o":[[0,0],[0,0]],"v":[[15.25,-19.5],[-17,15.25]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[21,-25]],"o":[[0,0],[0,0]],"v":[[17,-15],[-17,15]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[18,-22.25]],"o":[[0,0],[0,0]],"v":[[15.25,-19.5],[-17,15.25]],"c":false}]},{"t":90,"s":[{"i":[[0,0],[21,-25]],"o":[[0,0],[0,0]],"v":[[17,-15],[-17,15]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[35.5,34.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[9,-14]],"o":[[0,0],[0,0]],"v":[[14.5,-14],[-14.5,14]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,0],[9.5,-12.5]],"o":[[0,0],[0,0]],"v":[[13,-17],[-14.5,14]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,0],[9,-14]],"o":[[0,0],[0,0]],"v":[[14.5,-14],[-14.5,14]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,0],[9.5,-12.5]],"o":[[0,0],[0,0]],"v":[[13,-17],[-14.5,14]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[9,-14]],"o":[[0,0],[0,0]],"v":[[14.5,-14],[-14.5,14]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,0],[9.5,-12.5]],"o":[[0,0],[0,0]],"v":[[13,-17],[-14.5,14]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[9,-14]],"o":[[0,0],[0,0]],"v":[[14.5,-14],[-14.5,14]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[9.5,-12.5]],"o":[[0,0],[0,0]],"v":[[13,-17],[-14.5,14]],"c":false}]},{"t":90,"s":[{"i":[[0,0],[9,-14]],"o":[[0,0],[0,0]],"v":[[14.5,-14],[-14.5,14]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[32,31.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"leg Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[468,605.572,0],"to":[0,0.5,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[468,608.572,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[468,605.572,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[468,608.572,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[468,605.572,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[468,608.572,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[468,605.572,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[468,608.572,0],"to":[0,0,0],"ti":[0,0.5,0]},{"t":90,"s":[468,605.572,0]}],"ix":2,"l":2},"a":{"a":0,"k":[19,16.572,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.763,0],[0,0],[0,0.763],[0,0],[-0.762,0],[0,0],[0,-0.763],[0,0]],"o":[[0,0],[-0.762,0],[0,0],[0,-0.763],[0,0],[0.763,0],[0,0],[0,0.763]],"v":[[1.953,4],[-1.953,4],[-3.333,2.619],[-3.333,-2.619],[-1.953,-4],[1.953,-4],[3.333,-2.619],[3.333,2.619]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.407843167174,0.20000001496,0.196078446332,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[31.5,9],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[23.543,5.5],[23.543,11.849]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.023529411765,0.454901960784,0.788235294118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.793,5.5],[9.793,11.849]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.023529411765,0.454901960784,0.788235294118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[4.5,8.786],[33.567,8.786]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.160784313725,0.392156892664,0.647058823529,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":3,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-6.5,-6.5],[6.5,6.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-7.5,-5.875],[6.5,6.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-6.5,-6.5],[6.5,6.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-7.5,-5.875],[6.5,6.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-6.5,-6.5],[6.5,6.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-7.5,-5.875],[6.5,6.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-6.5,-6.5],[6.5,6.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-7.5,-5.875],[6.5,6.5]],"c":false}]},{"t":90,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-6.5,-6.5],[6.5,6.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":11,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[85,53],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,-1.657],[1.657,0],[0,1.657],[-1.657,0]],"o":[[0,1.657],[-1.657,0],[0,-1.657],[1.657,0]],"v":[[3,0],[0,3],[-3,0],[0,-3]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,-1.657],[1.657,0],[0,1.657],[-1.657,0]],"o":[[0,1.657],[-1.657,0],[0,-1.657],[1.657,0]],"v":[[2.812,3.375],[-1,5.625],[-3.188,3.375],[-0.125,1.188]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,-1.657],[1.657,0],[0,1.657],[-1.657,0]],"o":[[0,1.657],[-1.657,0],[0,-1.657],[1.657,0]],"v":[[3,0],[0,3],[-3,0],[0,-3]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,-1.657],[1.657,0],[0,1.657],[-1.657,0]],"o":[[0,1.657],[-1.657,0],[0,-1.657],[1.657,0]],"v":[[2.812,3.375],[-1,5.625],[-3.188,3.375],[-0.125,1.188]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,-1.657],[1.657,0],[0,1.657],[-1.657,0]],"o":[[0,1.657],[-1.657,0],[0,-1.657],[1.657,0]],"v":[[3,0],[0,3],[-3,0],[0,-3]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,-1.657],[1.657,0],[0,1.657],[-1.657,0]],"o":[[0,1.657],[-1.657,0],[0,-1.657],[1.657,0]],"v":[[2.812,3.375],[-1,5.625],[-3.188,3.375],[-0.125,1.188]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,-1.657],[1.657,0],[0,1.657],[-1.657,0]],"o":[[0,1.657],[-1.657,0],[0,-1.657],[1.657,0]],"v":[[3,0],[0,3],[-3,0],[0,-3]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,-1.657],[1.657,0],[0,1.657],[-1.657,0]],"o":[[0,1.657],[-1.657,0],[0,-1.657],[1.657,0]],"v":[[2.812,3.375],[-1,5.625],[-3.188,3.375],[-0.125,1.188]],"c":true}]},{"t":90,"s":[{"i":[[0,-1.657],[1.657,0],[0,1.657],[-1.657,0]],"o":[[0,1.657],[-1.657,0],[0,-1.657],[1.657,0]],"v":[[3,0],[0,3],[-3,0],[0,-3]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.937254961799,0.647058823529,0.352941176471,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[58,22],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":2,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,6.548],[0,0],[0,0]],"o":[[0,0],[-6.548,0],[0,0],[0,0],[0,0]],"v":[[14.75,12],[-2.893,12.5],[-14.75,0.643],[-14.75,-12.5],[14.25,-12.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.023529411765,0.454901960784,0.788235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[19.25,18],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":2,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-33,-17.072],[-0.429,-17.072],[33,17.072]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-33,-17.072],[-1.429,-14.447],[33,17.072]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-33,-17.072],[-0.429,-17.072],[33,17.072]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-33,-17.072],[-1.429,-14.447],[33,17.072]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-33,-17.072],[-0.429,-17.072],[33,17.072]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-33,-17.072],[-1.429,-14.447],[33,17.072]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-33,-17.072],[-0.429,-17.072],[33,17.072]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-33,-17.072],[-1.429,-14.447],[33,17.072]],"c":false}]},{"t":90,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-33,-17.072],[-0.429,-17.072],[33,17.072]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.023529411765,0.454901960784,0.788235294118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":1,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[58,42.072],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 8","np":2,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"bodyy Outlines","parent":14,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[54.286,30.5,0],"to":[0,0.833,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[54.286,35.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[54.286,30.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[54.286,35.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[54.286,30.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[54.286,35.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[54.286,30.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[54.286,35.5,0],"to":[0,0,0],"ti":[0,0.833,0]},{"t":90,"s":[54.286,30.5,0]}],"ix":2,"l":2},"a":{"a":0,"k":[43.25,62.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[16.5,8],[-16.5,8],[-16.5,-8],[16.5,-8]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[17.75,108.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[24.064,0],[0,0],[0,0],[-24.656,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-24.656],[0,0],[0,0],[0,24.064]],"v":[[-1,52],[-42,52],[-43,-8],[0.643,-52],[43,-52],[43,8]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[43.25,52.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.5,15],[-9.5,15],[-9.5,-15],[9.5,-15]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[34.75,110.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Layer 16 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[516.357,589.935,0],"to":[0,0.667,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[516.357,593.935,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[516.357,589.935,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[516.357,593.935,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[516.357,589.935,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[516.357,593.935,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[516.357,589.935,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[516.357,593.935,0],"to":[0,0,0],"ti":[0,0.667,0]},{"t":90,"s":[516.357,589.935,0]}],"ix":2,"l":2},"a":{"a":0,"k":[89.643,79.935,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,-2.603],[0,0],[0.027,-0.187],[-2.138,1.425],[-1,0],[0,0]],"o":[[0,0],[2.604,0],[0,0],[0,0.189],[-0.091,0.643],[3,-2],[1.414,0],[0,0]],"v":[[-5,-11.713],[-5,-11.713],[-0.286,-6.998],[-0.286,8.253],[-0.332,8.818],[2,10.287],[1,7.287],[0,10.287]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[169.286,20.713],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,-0.828],[0.828,0],[0,0.828],[-0.828,0]],"o":[[0,0.828],[-0.828,0],[0,-0.828],[0.828,0]],"v":[[1.5,0],[0,1.5],[-1.5,0],[0,-1.5]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,-0.828],[0.828,0],[0,0.828],[-0.828,0]],"o":[[0,0.828],[-0.828,0],[0,-0.828],[0.828,0]],"v":[[0.5,0.25],[-1,1.75],[-2.5,0.25],[-1,-1.25]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,-0.828],[0.828,0],[0,0.828],[-0.828,0]],"o":[[0,0.828],[-0.828,0],[0,-0.828],[0.828,0]],"v":[[1.5,0],[0,1.5],[-1.5,0],[0,-1.5]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,-0.828],[0.828,0],[0,0.828],[-0.828,0]],"o":[[0,0.828],[-0.828,0],[0,-0.828],[0.828,0]],"v":[[0.5,0.25],[-1,1.75],[-2.5,0.25],[-1,-1.25]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,-0.828],[0.828,0],[0,0.828],[-0.828,0]],"o":[[0,0.828],[-0.828,0],[0,-0.828],[0.828,0]],"v":[[1.5,0],[0,1.5],[-1.5,0],[0,-1.5]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,-0.828],[0.828,0],[0,0.828],[-0.828,0]],"o":[[0,0.828],[-0.828,0],[0,-0.828],[0.828,0]],"v":[[0.5,0.25],[-1,1.75],[-2.5,0.25],[-1,-1.25]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,-0.828],[0.828,0],[0,0.828],[-0.828,0]],"o":[[0,0.828],[-0.828,0],[0,-0.828],[0.828,0]],"v":[[1.5,0],[0,1.5],[-1.5,0],[0,-1.5]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,-0.828],[0.828,0],[0,0.828],[-0.828,0]],"o":[[0,0.828],[-0.828,0],[0,-0.828],[0.828,0]],"v":[[0.5,0.25],[-1,1.75],[-2.5,0.25],[-1,-1.25]],"c":true}]},{"t":90,"s":[{"i":[[0,-0.828],[0.828,0],[0,0.828],[-0.828,0]],"o":[[0,0.828],[-0.828,0],[0,-0.828],[0.828,0]],"v":[[1.5,0],[0,1.5],[-1.5,0],[0,-1.5]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[122.786,147.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,-1.381],[1.381,0],[0,1.381],[-1.381,0]],"o":[[0,1.381],[-1.381,0],[0,-1.381],[1.381,0]],"v":[[2.5,0],[0,2.5],[-2.5,0],[0,-2.5]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,-1.381],[1.381,0],[0,1.381],[-1.381,0]],"o":[[0,1.381],[-1.381,0],[0,-1.381],[1.381,0]],"v":[[1.5,0.25],[-1,2.75],[-3.5,0.25],[0,-2.5]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,-1.381],[1.381,0],[0,1.381],[-1.381,0]],"o":[[0,1.381],[-1.381,0],[0,-1.381],[1.381,0]],"v":[[2.5,0],[0,2.5],[-2.5,0],[0,-2.5]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,-1.381],[1.381,0],[0,1.381],[-1.381,0]],"o":[[0,1.381],[-1.381,0],[0,-1.381],[1.381,0]],"v":[[1.5,0.25],[-1,2.75],[-3.5,0.25],[0,-2.5]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,-1.381],[1.381,0],[0,1.381],[-1.381,0]],"o":[[0,1.381],[-1.381,0],[0,-1.381],[1.381,0]],"v":[[2.5,0],[0,2.5],[-2.5,0],[0,-2.5]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,-1.381],[1.381,0],[0,1.381],[-1.381,0]],"o":[[0,1.381],[-1.381,0],[0,-1.381],[1.381,0]],"v":[[1.5,0.25],[-1,2.75],[-3.5,0.25],[0,-2.5]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,-1.381],[1.381,0],[0,1.381],[-1.381,0]],"o":[[0,1.381],[-1.381,0],[0,-1.381],[1.381,0]],"v":[[2.5,0],[0,2.5],[-2.5,0],[0,-2.5]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,-1.381],[1.381,0],[0,1.381],[-1.381,0]],"o":[[0,1.381],[-1.381,0],[0,-1.381],[1.381,0]],"v":[[1.5,0.25],[-1,2.75],[-3.5,0.25],[0,-2.5]],"c":true}]},{"t":90,"s":[{"i":[[0,-1.381],[1.381,0],[0,1.381],[-1.381,0]],"o":[[0,1.381],[-1.381,0],[0,-1.381],[1.381,0]],"v":[[2.5,0],[0,2.5],[-2.5,0],[0,-2.5]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.478431402468,0.474509833841,0.474509833841,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[122.786,147.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-0.657,-0.498],[0,0],[0.499,-0.657],[0,0],[0.658,0.499],[0,0],[-0.498,0.658],[0,0]],"o":[[0,0],[0.657,0.498],[0,0],[-0.499,0.657],[0,0],[-0.657,-0.499],[0,0],[0.498,-0.657]],"v":[[2.694,-3.733],[2.866,-3.602],[3.153,-1.509],[-0.602,3.444],[-2.694,3.732],[-2.867,3.602],[-3.155,1.509],[0.601,-3.444]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[-0.657,-0.498],[0,0],[0.499,-0.657],[0,0],[0.658,0.499],[0,0],[-0.498,0.658],[0,0]],"o":[[0,0],[0.657,0.498],[0,0],[-0.499,0.657],[0,0],[-0.657,-0.499],[0,0],[0.498,-0.657]],"v":[[3.694,-2.983],[3.866,-2.852],[4.153,-0.759],[0.398,4.194],[-1.694,4.482],[-1.867,4.352],[-2.155,2.259],[1.601,-2.694]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[-0.657,-0.498],[0,0],[0.499,-0.657],[0,0],[0.658,0.499],[0,0],[-0.498,0.658],[0,0]],"o":[[0,0],[0.657,0.498],[0,0],[-0.499,0.657],[0,0],[-0.657,-0.499],[0,0],[0.498,-0.657]],"v":[[2.694,-3.733],[2.866,-3.602],[3.153,-1.509],[-0.602,3.444],[-2.694,3.732],[-2.867,3.602],[-3.155,1.509],[0.601,-3.444]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[-0.657,-0.498],[0,0],[0.499,-0.657],[0,0],[0.658,0.499],[0,0],[-0.498,0.658],[0,0]],"o":[[0,0],[0.657,0.498],[0,0],[-0.499,0.657],[0,0],[-0.657,-0.499],[0,0],[0.498,-0.657]],"v":[[3.694,-2.983],[3.866,-2.852],[4.153,-0.759],[0.398,4.194],[-1.694,4.482],[-1.867,4.352],[-2.155,2.259],[1.601,-2.694]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[-0.657,-0.498],[0,0],[0.499,-0.657],[0,0],[0.658,0.499],[0,0],[-0.498,0.658],[0,0]],"o":[[0,0],[0.657,0.498],[0,0],[-0.499,0.657],[0,0],[-0.657,-0.499],[0,0],[0.498,-0.657]],"v":[[2.694,-3.733],[2.866,-3.602],[3.153,-1.509],[-0.602,3.444],[-2.694,3.732],[-2.867,3.602],[-3.155,1.509],[0.601,-3.444]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[-0.657,-0.498],[0,0],[0.499,-0.657],[0,0],[0.658,0.499],[0,0],[-0.498,0.658],[0,0]],"o":[[0,0],[0.657,0.498],[0,0],[-0.499,0.657],[0,0],[-0.657,-0.499],[0,0],[0.498,-0.657]],"v":[[3.694,-2.983],[3.866,-2.852],[4.153,-0.759],[0.398,4.194],[-1.694,4.482],[-1.867,4.352],[-2.155,2.259],[1.601,-2.694]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[-0.657,-0.498],[0,0],[0.499,-0.657],[0,0],[0.658,0.499],[0,0],[-0.498,0.658],[0,0]],"o":[[0,0],[0.657,0.498],[0,0],[-0.499,0.657],[0,0],[-0.657,-0.499],[0,0],[0.498,-0.657]],"v":[[2.694,-3.733],[2.866,-3.602],[3.153,-1.509],[-0.602,3.444],[-2.694,3.732],[-2.867,3.602],[-3.155,1.509],[0.601,-3.444]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[-0.657,-0.498],[0,0],[0.499,-0.657],[0,0],[0.658,0.499],[0,0],[-0.498,0.658],[0,0]],"o":[[0,0],[0.657,0.498],[0,0],[-0.499,0.657],[0,0],[-0.657,-0.499],[0,0],[0.498,-0.657]],"v":[[3.694,-2.983],[3.866,-2.852],[4.153,-0.759],[0.398,4.194],[-1.694,4.482],[-1.867,4.352],[-2.155,2.259],[1.601,-2.694]],"c":true}]},{"t":90,"s":[{"i":[[-0.657,-0.498],[0,0],[0.499,-0.657],[0,0],[0.658,0.499],[0,0],[-0.498,0.658],[0,0]],"o":[[0,0],[0.657,0.498],[0,0],[-0.499,0.657],[0,0],[-0.657,-0.499],[0,0],[0.498,-0.657]],"v":[[2.694,-3.733],[2.866,-3.602],[3.153,-1.509],[-0.602,3.444],[-2.694,3.732],[-2.867,3.602],[-3.155,1.509],[0.601,-3.444]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.478431402468,0.474509833841,0.474509833841,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[128.205,131.439],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-0.657,-0.498],[0,0],[0.499,-0.657],[0,0],[0.658,0.498],[0,0],[-0.498,0.657],[0,0]],"o":[[0,0],[0.657,0.498],[0,0],[-0.499,0.657],[0,0],[-0.657,-0.498],[0,0],[0.498,-0.657]],"v":[[2.17,-2.873],[2.181,-2.865],[2.467,-0.773],[-0.077,2.585],[-2.171,2.873],[-2.181,2.865],[-2.468,0.773],[0.077,-2.585]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[-0.657,-0.498],[0,0],[0.499,-0.657],[0,0],[0.658,0.498],[0,0],[-0.498,0.657],[0,0]],"o":[[0,0],[0.657,0.498],[0,0],[-0.499,0.657],[0,0],[-0.657,-0.498],[0,0],[0.498,-0.657]],"v":[[1.17,-2.623],[1.181,-2.615],[1.467,-0.523],[-1.077,2.835],[-3.171,3.123],[-3.181,3.115],[-3.468,1.023],[-0.923,-2.335]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[-0.657,-0.498],[0,0],[0.499,-0.657],[0,0],[0.658,0.498],[0,0],[-0.498,0.657],[0,0]],"o":[[0,0],[0.657,0.498],[0,0],[-0.499,0.657],[0,0],[-0.657,-0.498],[0,0],[0.498,-0.657]],"v":[[2.17,-2.873],[2.181,-2.865],[2.467,-0.773],[-0.077,2.585],[-2.171,2.873],[-2.181,2.865],[-2.468,0.773],[0.077,-2.585]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[-0.657,-0.498],[0,0],[0.499,-0.657],[0,0],[0.658,0.498],[0,0],[-0.498,0.657],[0,0]],"o":[[0,0],[0.657,0.498],[0,0],[-0.499,0.657],[0,0],[-0.657,-0.498],[0,0],[0.498,-0.657]],"v":[[1.17,-2.623],[1.181,-2.615],[1.467,-0.523],[-1.077,2.835],[-3.171,3.123],[-3.181,3.115],[-3.468,1.023],[-0.923,-2.335]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[-0.657,-0.498],[0,0],[0.499,-0.657],[0,0],[0.658,0.498],[0,0],[-0.498,0.657],[0,0]],"o":[[0,0],[0.657,0.498],[0,0],[-0.499,0.657],[0,0],[-0.657,-0.498],[0,0],[0.498,-0.657]],"v":[[2.17,-2.873],[2.181,-2.865],[2.467,-0.773],[-0.077,2.585],[-2.171,2.873],[-2.181,2.865],[-2.468,0.773],[0.077,-2.585]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[-0.657,-0.498],[0,0],[0.499,-0.657],[0,0],[0.658,0.498],[0,0],[-0.498,0.657],[0,0]],"o":[[0,0],[0.657,0.498],[0,0],[-0.499,0.657],[0,0],[-0.657,-0.498],[0,0],[0.498,-0.657]],"v":[[1.17,-2.623],[1.181,-2.615],[1.467,-0.523],[-1.077,2.835],[-3.171,3.123],[-3.181,3.115],[-3.468,1.023],[-0.923,-2.335]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[-0.657,-0.498],[0,0],[0.499,-0.657],[0,0],[0.658,0.498],[0,0],[-0.498,0.657],[0,0]],"o":[[0,0],[0.657,0.498],[0,0],[-0.499,0.657],[0,0],[-0.657,-0.498],[0,0],[0.498,-0.657]],"v":[[2.17,-2.873],[2.181,-2.865],[2.467,-0.773],[-0.077,2.585],[-2.171,2.873],[-2.181,2.865],[-2.468,0.773],[0.077,-2.585]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[-0.657,-0.498],[0,0],[0.499,-0.657],[0,0],[0.658,0.498],[0,0],[-0.498,0.657],[0,0]],"o":[[0,0],[0.657,0.498],[0,0],[-0.499,0.657],[0,0],[-0.657,-0.498],[0,0],[0.498,-0.657]],"v":[[1.17,-2.623],[1.181,-2.615],[1.467,-0.523],[-1.077,2.835],[-3.171,3.123],[-3.181,3.115],[-3.468,1.023],[-0.923,-2.335]],"c":true}]},{"t":90,"s":[{"i":[[-0.657,-0.498],[0,0],[0.499,-0.657],[0,0],[0.658,0.498],[0,0],[-0.498,0.657],[0,0]],"o":[[0,0],[0.657,0.498],[0,0],[-0.499,0.657],[0,0],[-0.657,-0.498],[0,0],[0.498,-0.657]],"v":[[2.17,-2.873],[2.181,-2.865],[2.467,-0.773],[-0.077,2.585],[-2.171,2.873],[-2.181,2.865],[-2.468,0.773],[0.077,-2.585]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.478431402468,0.474509833841,0.474509833841,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[113.045,151.819],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0.961,-1.098],[0,0],[1.056,0.211],[0,0]],"o":[[0,0],[1.032,1.032],[0,0],[-0.709,0.81],[0,0],[0,0]],"v":[[5.874,-9.935],[8.039,-7.769],[8.165,-3.984],[-2.98,8.755],[-5.834,9.724],[-9.126,9.065]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,0],[0,0],[0.961,-1.098],[0,0],[1.056,0.211],[0,0]],"o":[[0,0],[1.032,1.032],[0,0],[-0.709,0.81],[0,0],[0,0]],"v":[[6.874,-9.185],[9.039,-7.019],[8.165,-3.984],[-3.98,9.005],[-6.834,9.974],[-10.126,9.315]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,0],[0,0],[0.961,-1.098],[0,0],[1.056,0.211],[0,0]],"o":[[0,0],[1.032,1.032],[0,0],[-0.709,0.81],[0,0],[0,0]],"v":[[5.874,-9.935],[8.039,-7.769],[8.165,-3.984],[-2.98,8.755],[-5.834,9.724],[-9.126,9.065]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,0],[0,0],[0.961,-1.098],[0,0],[1.056,0.211],[0,0]],"o":[[0,0],[1.032,1.032],[0,0],[-0.709,0.81],[0,0],[0,0]],"v":[[6.874,-9.185],[9.039,-7.019],[8.165,-3.984],[-3.98,9.005],[-6.834,9.974],[-10.126,9.315]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[0,0],[0.961,-1.098],[0,0],[1.056,0.211],[0,0]],"o":[[0,0],[1.032,1.032],[0,0],[-0.709,0.81],[0,0],[0,0]],"v":[[5.874,-9.935],[8.039,-7.769],[8.165,-3.984],[-2.98,8.755],[-5.834,9.724],[-9.126,9.065]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,0],[0,0],[0.961,-1.098],[0,0],[1.056,0.211],[0,0]],"o":[[0,0],[1.032,1.032],[0,0],[-0.709,0.81],[0,0],[0,0]],"v":[[6.874,-9.185],[9.039,-7.019],[8.165,-3.984],[-3.98,9.005],[-6.834,9.974],[-10.126,9.315]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[0,0],[0.961,-1.098],[0,0],[1.056,0.211],[0,0]],"o":[[0,0],[1.032,1.032],[0,0],[-0.709,0.81],[0,0],[0,0]],"v":[[5.874,-9.935],[8.039,-7.769],[8.165,-3.984],[-2.98,8.755],[-5.834,9.724],[-9.126,9.065]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[0,0],[0.961,-1.098],[0,0],[1.056,0.211],[0,0]],"o":[[0,0],[1.032,1.032],[0,0],[-0.709,0.81],[0,0],[0,0]],"v":[[6.874,-9.185],[9.039,-7.019],[8.165,-3.984],[-3.98,9.005],[-6.834,9.974],[-10.126,9.315]],"c":false}]},{"t":90,"s":[{"i":[[0,0],[0,0],[0.961,-1.098],[0,0],[1.056,0.211],[0,0]],"o":[[0,0],[1.032,1.032],[0,0],[-0.709,0.81],[0,0],[0,0]],"v":[[5.874,-9.935],[8.039,-7.769],[8.165,-3.984],[-2.98,8.755],[-5.834,9.724],[-9.126,9.065]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.478431402468,0.474509833841,0.474509833841,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[122.912,142.435],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":2,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[14.75,0.5],[-15.75,-0.25]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.478431402468,0.474509833841,0.474509833841,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[108.536,146.75],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":2,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.985,-1.609],[-1.158,-1.89],[-1.865,0],[0,0],[-0.731,-1.402],[1.302,-1.871],[1.433,-0.004],[0,0]],"o":[[0,0],[-1.886,0],[-0.823,1.344],[0.974,1.591],[0,0],[1.581,0],[0.572,1.097],[-0.819,1.176],[0,0],[0,0]],"v":[[19.664,-9.375],[-4.149,-9.375],[-8.83,-6.851],[-8.959,-1.852],[-4.312,0.625],[36.059,0.625],[39.914,2.813],[39.32,7.278],[35.696,9.131],[-40.622,9.375]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.807843197093,0.807843197093,0.807843197093,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[50.622,129.375],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 8","np":2,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-23,-1],[-8,-12],[4,-20],[12,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-32.5,24.5],[-32.5,-3.357],[-6.5,-23.5],[23.5,-14.5],[28.5,16.5],[15.5,26.5],[-32.5,26.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.749019607843,0.047058823529,0.196078431373,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[110.786,87.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 9","np":2,"cix":2,"bm":0,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-5.523],[5.523,0],[0,5.523],[-5.523,0]],"o":[[0,5.523],[-5.523,0],[0,-5.523],[5.523,0]],"v":[[10,0],[0,10],[-10,0],[0,-10]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[88.286,136],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 10","np":2,"cix":2,"bm":0,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-7.18],[7.18,0],[0,7.18],[-7.18,0]],"o":[[0,7.18],[-7.18,0],[0,-7.18],[7.18,0]],"v":[[13,0],[0,13],[-13,0],[0,-13]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.478431402468,0.474509833841,0.474509833841,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[88.286,136],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 11","np":2,"cix":2,"bm":0,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-1.657],[1.657,0],[0,1.657],[-1.657,0]],"o":[[0,1.657],[-1.657,0],[0,-1.657],[1.657,0]],"v":[[3,0],[0,3],[-3,0],[0,-3]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843197093,0.807843197093,0.807843197093,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[70.286,120],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 12","np":2,"cix":2,"bm":0,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[14.497,0],[0,0],[0,14.497],[0,0],[0,0],[0,0]],"o":[[0,0],[-14.497,0],[0,0],[0,0],[0,0],[0,14.497]],"v":[[9.75,18.234],[-9.75,18.234],[-36,-8.016],[-36,-18.234],[36,-18.234],[36,-8.016]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.749019607843,0.047058823529,0.196078431373,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[84.286,130.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 13","np":2,"cix":2,"bm":0,"ix":13,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-2.485],[2.485,0],[0,2.485],[-2.485,0]],"o":[[0,2.485],[-2.485,0],[0,-2.485],[2.485,0]],"v":[[4.5,0],[0,4.5],[-4.5,0],[0,-4.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[159.786,9.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 14","np":2,"cix":2,"bm":0,"ix":14,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-3.59],[3.59,0],[0,3.59],[-3.59,0]],"o":[[0,3.59],[-3.59,0],[0,-3.59],[3.59,0]],"v":[[6.5,0],[0,6.5],[-6.5,0],[0,-6.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.478431402468,0.474509833841,0.474509833841,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[159.786,9.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 15","np":2,"cix":2,"bm":0,"ix":15,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[8,-8.5],[-8,8.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.517647058824,0.517647058824,0.513725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.25,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[75.286,128.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 16","np":2,"cix":2,"bm":0,"ix":16,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[8,-8.5],[-8,8.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.517647058824,0.517647058824,0.513725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.25,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[73.286,126.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 17","np":2,"cix":2,"bm":0,"ix":17,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[8,-8.5],[-8,8.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.517647058824,0.517647058824,0.513725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.25,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[71.286,124.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 18","np":2,"cix":2,"bm":0,"ix":18,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[8,-8.5],[-8,8.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.517647058824,0.517647058824,0.513725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.25,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[69.286,122.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 19","np":2,"cix":2,"bm":0,"ix":19,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.331,-2.258],[0,0],[2.598,2.682],[0,0],[-3.57,3.458],[-3.458,-3.57],[0,0]],"o":[[0,0],[-2.682,2.598],[0,0],[-3.458,-3.57],[3.57,-3.459],[0,0],[2.257,2.331]],"v":[[13.239,9.328],[9.386,13.06],[-0.174,12.908],[-12.169,0.527],[-11.967,-12.199],[0.759,-11.997],[13.37,1.02]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843197093,0.807843197093,0.807843197093,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[78.273,131.349],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 20","np":2,"cix":2,"bm":0,"ix":20,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.195,2.266],[0,0],[0,0],[-3.396,-3.505],[0,0],[3.506,-3.396],[0,0]],"o":[[0,0],[0,0],[3.505,-3.396],[0,0],[3.396,3.505],[0,0],[-2.266,2.195]],"v":[[-8.186,13.355],[-16.736,4.531],[0.619,-12.283],[13.114,-12.084],[13.34,-11.851],[13.143,0.645],[-0.109,13.484]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843197093,0.807843197093,0.807843197093,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[96.409,131.486],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 21","np":2,"cix":2,"bm":0,"ix":21,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[1.427,-2.332],[1.75,-1.05]],"o":[[0,0],[0,2.734],[-0.899,1.467],[0,0]],"v":[[3,-34.5],[3,22.728],[0.909,30.513],[-3,34.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[156.786,47],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 22","np":2,"cix":2,"bm":0,"ix":22,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Layer 14 Outlines","parent":14,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":12,"s":[7]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":26,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":35,"s":[7]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":45,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":57,"s":[7]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":71,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":80,"s":[7]},{"t":90,"s":[0]}],"ix":10},"p":{"a":0,"k":[123.661,89.625,0],"ix":2,"l":2},"a":{"a":0,"k":[-0.375,13.875,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.105,0],[0,0],[0,1.105],[-1.105,0],[0,0],[0,-1.105]],"o":[[0,0],[-1.105,0],[0,-1.105],[0,0],[1.105,0],[0,1.105]],"v":[[3,2],[-3,2],[-5,0],[-3,-2],[3,-2],[5,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[22.25,2.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.105,0],[0,0],[0,1.105],[-1.105,0],[0,0],[0,-1.105]],"o":[[0,0],[-1.105,0],[0,-1.105],[0,0],[1.105,0],[0,1.105]],"v":[[3,2],[-3,2],[-5,0],[-3,-2],[3,-2],[5,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[23.25,25.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3,2],[-3,2],[-3,-2],[3,-2]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.478431402468,0.474509833841,0.474509833841,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[22.25,5.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3,2],[-3,2],[-3,-2],[3,-2]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.478431402468,0.474509833841,0.474509833841,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[23.25,22.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.866,0],[0,0],[0,3.866],[-3.866,0],[0,0],[0,-3.866]],"o":[[0,0],[-3.866,0],[0,-3.866],[0,0],[3.866,0],[0,3.866]],"v":[[11,7],[-11,7],[-18,0],[-11,-7],[11,-7],[18,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[18.25,13.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"cap Outlines","parent":9,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[4.727,26.259,0],"ix":2,"l":2},"a":{"a":0,"k":[49.5,36.312,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-15,5]],"o":[[0,0],[0,0]],"v":[[-8.5,-4.5],[8.5,-0.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[0,0],[-13.207,2.703]],"o":[[0,0],[0,0]],"v":[[-7.645,1.325],[8.5,-0.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,0],[-11.414,0.406]],"o":[[0,0],[0,0]],"v":[[-6.791,7.149],[8.5,-0.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":19,"s":[{"i":[[0,0],[-13.207,2.703]],"o":[[0,0],[0,0]],"v":[[-7.645,1.325],[8.5,-0.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,0],[-15,5]],"o":[[0,0],[0,0]],"v":[[-8.5,-4.5],[8.5,-0.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":31,"s":[{"i":[[0,0],[-13.207,2.703]],"o":[[0,0],[0,0]],"v":[[-7.645,1.325],[8.5,-0.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,0],[-11.414,0.406]],"o":[[0,0],[0,0]],"v":[[-6.791,7.149],[8.5,-0.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-13.207,2.703]],"o":[[0,0],[0,0]],"v":[[-7.645,1.325],[8.5,-0.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[-15,5]],"o":[[0,0],[0,0]],"v":[[-8.5,-4.5],[8.5,-0.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":51,"s":[{"i":[[0,0],[-13.207,2.703]],"o":[[0,0],[0,0]],"v":[[-7.645,1.325],[8.5,-0.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,0],[-11.414,0.406]],"o":[[0,0],[0,0]],"v":[[-6.791,7.149],[8.5,-0.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":64,"s":[{"i":[[0,0],[-13.207,2.703]],"o":[[0,0],[0,0]],"v":[[-7.645,1.325],[8.5,-0.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-15,5]],"o":[[0,0],[0,0]],"v":[[-8.5,-4.5],[8.5,-0.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":76,"s":[{"i":[[0,0],[-13.207,2.703]],"o":[[0,0],[0,0]],"v":[[-7.645,1.325],[8.5,-0.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[-11.414,0.406]],"o":[[0,0],[0,0]],"v":[[-6.791,7.149],[8.5,-0.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":85,"s":[{"i":[[0,0],[-13.207,2.703]],"o":[[0,0],[0,0]],"v":[[-7.645,1.325],[8.5,-0.5]],"c":false}]},{"t":90,"s":[{"i":[[0,0],[-15,5]],"o":[[0,0],[0,0]],"v":[[-8.5,-4.5],[8.5,-0.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.603921568627,0.03137254902,0.152941176471,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":13,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[41,37],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"back wheel","parent":14,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[38.411,134.375,0],"ix":2,"l":2},"a":{"a":0,"k":[75.125,49.375,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[4.215,-2.965],[4.215,3.035],[-1.357,3.035],[-1.357,5.965],[-4.215,5.965],[-4.215,-5.965],[-1.785,-5.965],[-1.785,-2.965]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-0.035,-2.954],[-0.035,3.046],[-5.607,3.046],[-5.607,5.975],[-8.465,5.975],[-8.465,-5.954],[-6.035,-5.954],[-6.035,-2.954]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[4.215,-2.965],[4.215,3.035],[-1.357,3.035],[-1.357,5.965],[-4.215,5.965],[-4.215,-5.965],[-1.785,-5.965],[-1.785,-2.965]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-0.035,-2.954],[-0.035,3.046],[-5.607,3.046],[-5.607,5.975],[-8.465,5.975],[-8.465,-5.954],[-6.035,-5.954],[-6.035,-2.954]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[4.215,-2.965],[4.215,3.035],[-1.357,3.035],[-1.357,5.965],[-4.215,5.965],[-4.215,-5.965],[-1.785,-5.965],[-1.785,-2.965]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-0.035,-2.954],[-0.035,3.046],[-5.607,3.046],[-5.607,5.975],[-8.465,5.975],[-8.465,-5.954],[-6.035,-5.954],[-6.035,-2.954]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[4.215,-2.965],[4.215,3.035],[-1.357,3.035],[-1.357,5.965],[-4.215,5.965],[-4.215,-5.965],[-1.785,-5.965],[-1.785,-2.965]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-0.035,-2.954],[-0.035,3.046],[-5.607,3.046],[-5.607,5.975],[-8.465,5.975],[-8.465,-5.954],[-6.035,-5.954],[-6.035,-2.954]],"c":true}]},{"t":90,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[4.215,-2.965],[4.215,3.035],[-1.357,3.035],[-1.357,5.965],[-4.215,5.965],[-4.215,-5.965],[-1.785,-5.965],[-1.785,-2.965]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843197093,0.807843197093,0.807843197093,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[43.785,53.965],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[4.107,-0.25],[-4.107,0.25]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-4.518,-3],[-13.357,-3.875]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[4.107,-0.25],[-4.107,0.25]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-4.518,-3],[-13.357,-3.875]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[4.107,-0.25],[-4.107,0.25]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-4.518,-3],[-13.357,-3.875]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[4.107,-0.25],[-4.107,0.25]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-4.518,-3],[-13.357,-3.875]],"c":false}]},{"t":90,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[4.107,-0.25],[-4.107,0.25]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.749019607843,0.047058823529,0.196078431373,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[21.393,53.75],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-12.777,7.78],[-6.768,-3.512],[-1.506,-11.045]],"o":[[0,0],[6.513,-3.965],[5.519,2.864],[0,0]],"v":[[-20.361,12.482],[-11.361,-8.518],[11.196,-8.552],[24.139,10.982]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,0],[-12.875,4.5],[-6.768,-3.512],[-1.506,-11.045]],"o":[[0,0],[7.198,-2.516],[5.519,2.864],[0,0]],"v":[[-28.986,9.732],[-11.611,-9.893],[10.446,-7.802],[21.514,11.357]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,0],[-12.777,7.78],[-6.768,-3.512],[-1.506,-11.045]],"o":[[0,0],[6.513,-3.965],[5.519,2.864],[0,0]],"v":[[-20.361,12.482],[-11.361,-8.518],[11.196,-8.552],[24.139,10.982]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,0],[-12.875,4.5],[-6.768,-3.512],[-1.506,-11.045]],"o":[[0,0],[7.198,-2.516],[5.519,2.864],[0,0]],"v":[[-28.986,9.732],[-11.611,-9.893],[10.446,-7.802],[21.514,11.357]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[-12.777,7.78],[-6.768,-3.512],[-1.506,-11.045]],"o":[[0,0],[6.513,-3.965],[5.519,2.864],[0,0]],"v":[[-20.361,12.482],[-11.361,-8.518],[11.196,-8.552],[24.139,10.982]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,0],[-12.875,4.5],[-6.768,-3.512],[-1.506,-11.045]],"o":[[0,0],[7.198,-2.516],[5.519,2.864],[0,0]],"v":[[-28.986,9.732],[-11.611,-9.893],[10.446,-7.802],[21.514,11.357]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-12.777,7.78],[-6.768,-3.512],[-1.506,-11.045]],"o":[[0,0],[6.513,-3.965],[5.519,2.864],[0,0]],"v":[[-20.361,12.482],[-11.361,-8.518],[11.196,-8.552],[24.139,10.982]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[-12.875,4.5],[-6.768,-3.512],[-1.506,-11.045]],"o":[[0,0],[7.198,-2.516],[5.519,2.864],[0,0]],"v":[[-28.986,9.732],[-11.611,-9.893],[10.446,-7.802],[21.514,11.357]],"c":false}]},{"t":90,"s":[{"i":[[0,0],[-12.777,7.78],[-6.768,-3.512],[-1.506,-11.045]],"o":[[0,0],[6.513,-3.965],[5.519,2.864],[0,0]],"v":[[-20.361,12.482],[-11.361,-8.518],[11.196,-8.552],[24.139,10.982]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.603921568627,0.033156477236,0.154324490416,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":6,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[50.361,40.518],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,-1.657],[1.657,0],[0,1.657],[-1.657,0]],"o":[[0,1.657],[-1.657,0],[0,-1.657],[1.657,0]],"v":[[3,0],[0,3],[-3,0],[0,-3]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,-1.657],[1.657,0],[0,1.657],[-1.657,0]],"o":[[0,1.657],[-1.657,0],[0,-1.657],[1.657,0]],"v":[[-1.25,0.01],[-4.25,3.01],[-7.25,0.01],[-4.25,-2.99]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,-1.657],[1.657,0],[0,1.657],[-1.657,0]],"o":[[0,1.657],[-1.657,0],[0,-1.657],[1.657,0]],"v":[[3,0],[0,3],[-3,0],[0,-3]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,-1.657],[1.657,0],[0,1.657],[-1.657,0]],"o":[[0,1.657],[-1.657,0],[0,-1.657],[1.657,0]],"v":[[-1.25,0.01],[-4.25,3.01],[-7.25,0.01],[-4.25,-2.99]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,-1.657],[1.657,0],[0,1.657],[-1.657,0]],"o":[[0,1.657],[-1.657,0],[0,-1.657],[1.657,0]],"v":[[3,0],[0,3],[-3,0],[0,-3]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,-1.657],[1.657,0],[0,1.657],[-1.657,0]],"o":[[0,1.657],[-1.657,0],[0,-1.657],[1.657,0]],"v":[[-1.25,0.01],[-4.25,3.01],[-7.25,0.01],[-4.25,-2.99]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,-1.657],[1.657,0],[0,1.657],[-1.657,0]],"o":[[0,1.657],[-1.657,0],[0,-1.657],[1.657,0]],"v":[[3,0],[0,3],[-3,0],[0,-3]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,-1.657],[1.657,0],[0,1.657],[-1.657,0]],"o":[[0,1.657],[-1.657,0],[0,-1.657],[1.657,0]],"v":[[-1.25,0.01],[-4.25,3.01],[-7.25,0.01],[-4.25,-2.99]],"c":true}]},{"t":90,"s":[{"i":[[0,-1.657],[1.657,0],[0,1.657],[-1.657,0]],"o":[[0,1.657],[-1.657,0],[0,-1.657],[1.657,0]],"v":[[3,0],[0,3],[-3,0],[0,-3]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.749019607843,0.047058823529,0.196078431373,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[52,51],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,-2.761],[2.761,0],[0,2.761],[-2.761,0]],"o":[[0,2.761],[-2.761,0],[0,-2.761],[2.761,0]],"v":[[5,0],[0,5],[-5,0],[0,-5]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,-2.761],[2.761,0],[0,2.761],[-2.761,0]],"o":[[0,2.761],[-2.761,0],[0,-2.761],[2.761,0]],"v":[[0.75,0.01],[-4.25,5.01],[-9.25,0.01],[-4.25,-4.99]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,-2.761],[2.761,0],[0,2.761],[-2.761,0]],"o":[[0,2.761],[-2.761,0],[0,-2.761],[2.761,0]],"v":[[5,0],[0,5],[-5,0],[0,-5]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,-2.761],[2.761,0],[0,2.761],[-2.761,0]],"o":[[0,2.761],[-2.761,0],[0,-2.761],[2.761,0]],"v":[[0.75,0.01],[-4.25,5.01],[-9.25,0.01],[-4.25,-4.99]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,-2.761],[2.761,0],[0,2.761],[-2.761,0]],"o":[[0,2.761],[-2.761,0],[0,-2.761],[2.761,0]],"v":[[5,0],[0,5],[-5,0],[0,-5]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,-2.761],[2.761,0],[0,2.761],[-2.761,0]],"o":[[0,2.761],[-2.761,0],[0,-2.761],[2.761,0]],"v":[[0.75,0.01],[-4.25,5.01],[-9.25,0.01],[-4.25,-4.99]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,-2.761],[2.761,0],[0,2.761],[-2.761,0]],"o":[[0,2.761],[-2.761,0],[0,-2.761],[2.761,0]],"v":[[5,0],[0,5],[-5,0],[0,-5]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,-2.761],[2.761,0],[0,2.761],[-2.761,0]],"o":[[0,2.761],[-2.761,0],[0,-2.761],[2.761,0]],"v":[[0.75,0.01],[-4.25,5.01],[-9.25,0.01],[-4.25,-4.99]],"c":true}]},{"t":90,"s":[{"i":[[0,-2.761],[2.761,0],[0,2.761],[-2.761,0]],"o":[[0,2.761],[-2.761,0],[0,-2.761],[2.761,0]],"v":[[5,0],[0,5],[-5,0],[0,-5]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[52,51],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[15.061,0.24],[-15.061,-0.24]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[15.061,0.24],[-19.311,-0.23]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[15.061,0.24],[-15.061,-0.24]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[15.061,0.24],[-19.311,-0.23]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[15.061,0.24],[-15.061,-0.24]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[15.061,0.24],[-19.311,-0.23]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[15.061,0.24],[-15.061,-0.24]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[15.061,0.24],[-19.311,-0.23]],"c":false}]},{"t":90,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[15.061,0.24],[-15.061,-0.24]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.749019607843,0.047058823529,0.196078431373,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[68.061,50.74],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":2,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-2.209],[2.209,0],[0,2.209],[-2.209,0]],"o":[[0,2.209],[-2.209,0],[0,-2.209],[2.209,0]],"v":[[4,0],[0,4],[-4,0],[0,-4]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.749019607843,0.047058823529,0.196078431373,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[88,50],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":2,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-3.314],[3.314,0],[0,3.314],[-3.314,0]],"o":[[0,3.314],[-3.314,0],[0,-3.314],[3.314,0]],"v":[[6,0],[0,6],[-6,0],[0,-6]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[88,50],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 8","np":2,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.682,-0.029],[0,0],[-3.93,-0.087],[0,0],[0,2.806],[2.773,-0.014],[0,0],[0,1.374],[0.833,0],[0,0]],"o":[[0,0],[0,0.682],[0,0],[0,3.93],[0,0],[2.806,0.062],[0,-2.773],[0,0],[-1.374,0.007],[0,-0.833],[0,0],[0,0]],"v":[[-23.5,-5.975],[-23.5,-2.408],[-22.281,-1.136],[-18.5,-0.975],[-11.43,6.254],[18.386,6.913],[23.5,1.911],[18.472,-3.092],[-3.009,-2.986],[-5.5,-5.465],[-7.009,-6.975],[-23.5,-6.975]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.407843167174,0.164705882353,0.149019607843,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[75.5,19.975],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 9","np":2,"cix":2,"bm":0,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-1.105],[1.105,0],[0,1.105],[-1.105,0]],"o":[[0,1.105],[-1.105,0],[0,-1.105],[1.105,0]],"v":[[2,0],[0,2],[-2,0],[0,-2]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.294117647059,0.290196078431,0.286274509804,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[74,29],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 10","np":2,"cix":2,"bm":0,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-1.105],[1.105,0],[0,1.105],[-1.105,0]],"o":[[0,1.105],[-1.105,0],[0,-1.105],[1.105,0]],"v":[[2,0],[0,2],[-2,0],[0,-2]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.294117647059,0.290196078431,0.286274509804,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[89,29],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 11","np":2,"cix":2,"bm":0,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.969,0],[0,0],[0,2.969],[0,0],[0,0],[0,0]],"o":[[0,0],[-2.969,0],[0,0],[0,0],[0,0],[0,2.969]],"v":[[6.625,4.5],[-6.625,4.5],[-12,-0.875],[-12,-4.5],[12,-4.5],[12,-0.875]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.749019607843,0.047058823529,0.196078431373,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[81,28.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 12","np":2,"cix":2,"bm":0,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[10.072,-10],[-14.322,10.01]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.749019607843,0.047058823529,0.196078431373,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[62.928,40],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 13","np":2,"cix":2,"bm":0,"ix":13,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[-1,-32],[-30,2],[0,0]],"v":[[29.5,15],[0.5,-14],[-25.5,17]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[-1,-32],[-31.125,-1.25],[0,0]],"v":[[26.875,15.375],[-1.375,-13.375],[-34.125,14.25]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[-1,-32],[-30,2],[0,0]],"v":[[29.5,15],[0.5,-14],[-25.5,17]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[-1,-32],[-31.125,-1.25],[0,0]],"v":[[26.875,15.375],[-1.375,-13.375],[-34.125,14.25]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[-1,-32],[-30,2],[0,0]],"v":[[29.5,15],[0.5,-14],[-25.5,17]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[-1,-32],[-31.125,-1.25],[0,0]],"v":[[26.875,15.375],[-1.375,-13.375],[-34.125,14.25]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[-1,-32],[-30,2],[0,0]],"v":[[29.5,15],[0.5,-14],[-25.5,17]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[-1,-32],[-31.125,-1.25],[0,0]],"v":[[26.875,15.375],[-1.375,-13.375],[-34.125,14.25]],"c":false}]},{"t":90,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[-1,-32],[-30,2],[0,0]],"v":[[29.5,15],[0.5,-14],[-25.5,17]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.749019607843,0.047058827269,0.196078446332,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":8,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[49.5,37],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 14","np":2,"cix":2,"bm":0,"ix":14,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"tyre","parent":17,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":90,"s":[1440]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[51.5,53.75,0],"to":[-0.833,-0.542,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[46.5,50.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[51.5,53.75,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[46.5,50.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[51.5,53.75,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":57,"s":[46.5,50.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[51.5,53.75,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[46.5,50.5,0],"to":[0,0,0],"ti":[-0.833,-0.542,0]},{"t":90,"s":[51.5,53.75,0]}],"ix":2,"l":2},"a":{"a":0,"k":[38,38,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-9.941],[9.941,0],[-23.87,0.945]],"o":[[0,9.941],[-23.877,-0.948],[9.941,0]],"v":[[20.939,0],[2.939,18],[2.939,-18]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.75,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"d":[{"n":"d","nm":"dash","v":{"a":0,"k":28.267,"ix":1}},{"n":"g","nm":"gap","v":{"a":0,"k":28.267,"ix":2}},{"n":"o","nm":"offset","v":{"a":0,"k":0,"ix":7}}],"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[35.061,38],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-9.941],[9.941,0],[0,9.941],[-9.941,0]],"o":[[0,9.941],[-9.941,0],[0,-9.941],[9.941,0]],"v":[[18,0],[0,18],[-18,0],[0,-18]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":8,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[38,38],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-8.008],[8.008,0],[0,8.008],[-8.008,0]],"o":[[0,8.008],[-8.008,0],[0,-8.008],[8.008,0]],"v":[[14.5,0],[0,14.5],[-14.5,0],[0,-14.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":8,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[38,38],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"bike","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[540,540,0],"ix":2,"l":2},"a":{"a":0,"k":[540,540,0],"ix":1,"l":2},"s":{"a":0,"k":[270,270,100],"ix":6,"l":2}},"ao":0,"w":1080,"h":1080,"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 19","sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[521.66,905.755,0],"ix":2,"l":2},"a":{"a":0,"k":[-18.34,364.755,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[93,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":12,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":26,"s":[93,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":35,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":45,"s":[93,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":57,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":71,"s":[93,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":80,"s":[100,100,100]},{"t":90,"s":[93,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-370.868,364.755],[334.189,364.755]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":30,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"Null 2","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[540,540,0],"to":[-325.833,0,0],"ti":[325.833,0,0]},{"t":90,"s":[-1415,540,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":60,"op":90,"st":60,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 18","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[800.642,-246.717,0],"ix":2,"l":2},"a":{"a":0,"k":[-181.358,177.283,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-110.038,177.283],[-252.679,177.283]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.356862745098,0.21568627451,0.113725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":60,"op":90,"st":60,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 17","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1263.208,-248.755,0],"ix":2,"l":2},"a":{"a":0,"k":[281.208,175.245,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[362.717,175.245],[199.698,175.245]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.356862745098,0.21568627451,0.113725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":60,"op":90,"st":60,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Shape Layer 16","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[692.641,-73.698,0],"ix":2,"l":2},"a":{"a":0,"k":[-289.359,340.302,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-165.057,340.302],[-413.66,340.302]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.356862745098,0.21568627451,0.113725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":60,"op":90,"st":60,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Shape Layer 15","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[753.774,-10.34,0],"ix":2,"l":2},"a":{"a":0,"k":[-228.226,413.66,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-160.981,413.66],[-295.472,413.66]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.356862745098,0.21568627451,0.113725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":60,"op":90,"st":60,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Shape Layer 14","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1093.057,-12.377,0],"ix":2,"l":2},"a":{"a":0,"k":[111.057,411.623,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[179.321,411.623],[42.792,411.623]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.356862745098,0.21568627451,0.113725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":60,"op":90,"st":60,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Shape Layer 13","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1337.585,-84.849,0],"ix":2,"l":2},"a":{"a":0,"k":[355.585,332.151,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[419.774,332.151],[291.396,332.151]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.356862745098,0.21568627451,0.113725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":60,"op":90,"st":60,"bm":0},{"ddd":0,"ind":10,"ty":3,"nm":"Null 2","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[540,540,0],"to":[-325.833,0,0],"ti":[325.833,0,0]},{"t":60,"s":[-1415,540,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":30,"op":60,"st":30,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Shape Layer 12","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[800.642,-246.717,0],"ix":2,"l":2},"a":{"a":0,"k":[-181.358,177.283,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-110.038,177.283],[-252.679,177.283]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.356862745098,0.21568627451,0.113725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":30,"op":60,"st":30,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Shape Layer 11","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1263.208,-248.755,0],"ix":2,"l":2},"a":{"a":0,"k":[281.208,175.245,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[362.717,175.245],[199.698,175.245]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.356862745098,0.21568627451,0.113725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":30,"op":60,"st":30,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Shape Layer 10","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[690.604,89.321,0],"ix":2,"l":2},"a":{"a":0,"k":[-289.359,340.302,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-165.057,340.302],[-413.66,340.302]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.356862745098,0.21568627451,0.113725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":30,"op":60,"st":30,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Shape Layer 9","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[729.321,-110.189,0],"ix":2,"l":2},"a":{"a":0,"k":[-228.226,413.66,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-160.981,413.66],[-295.472,413.66]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.356862745098,0.21568627451,0.113725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":30,"op":60,"st":30,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Shape Layer 8","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1093.057,-12.377,0],"ix":2,"l":2},"a":{"a":0,"k":[111.057,411.623,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[179.321,411.623],[42.792,411.623]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.356862745098,0.21568627451,0.113725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":30,"op":60,"st":30,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Shape Layer 7","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1337.585,88.358,0],"ix":2,"l":2},"a":{"a":0,"k":[355.585,332.151,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[419.774,332.151],[291.396,332.151]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.356862745098,0.21568627451,0.113725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":30,"op":60,"st":30,"bm":0},{"ddd":0,"ind":17,"ty":3,"nm":"Null 2","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[540,540,0],"to":[-325.833,0,0],"ti":[325.833,0,0]},{"t":30,"s":[-1415,540,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Shape Layer 6","parent":17,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[800.642,-246.717,0],"ix":2,"l":2},"a":{"a":0,"k":[-181.358,177.283,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-110.038,177.283],[-252.679,177.283]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.356862745098,0.21568627451,0.113725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"Shape Layer 5","parent":17,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1263.208,-248.755,0],"ix":2,"l":2},"a":{"a":0,"k":[281.208,175.245,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[362.717,175.245],[199.698,175.245]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.356862745098,0.21568627451,0.113725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"Shape Layer 4","parent":17,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[692.641,-73.698,0],"ix":2,"l":2},"a":{"a":0,"k":[-289.359,340.302,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-165.057,340.302],[-413.66,340.302]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.356862745098,0.21568627451,0.113725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":"Shape Layer 3","parent":17,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[753.774,-10.34,0],"ix":2,"l":2},"a":{"a":0,"k":[-228.226,413.66,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-160.981,413.66],[-295.472,413.66]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.356862745098,0.21568627451,0.113725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":22,"ty":4,"nm":"Shape Layer 2","parent":17,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1093.057,-12.377,0],"ix":2,"l":2},"a":{"a":0,"k":[111.057,411.623,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[179.321,411.623],[42.792,411.623]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.356862745098,0.21568627451,0.113725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":"Shape Layer 1","parent":17,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1337.585,-84.849,0],"ix":2,"l":2},"a":{"a":0,"k":[355.585,332.151,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[419.774,332.151],[291.396,332.151]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.356862745098,0.21568627451,0.113725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709803921569,0.709803921569,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
new file mode 100644
index 0000000..f8c6127
--- /dev/null
+++ b/app/src/main/res/values/colors.xml
@@ -0,0 +1,10 @@
+
+
+ #FFBB86FC
+ #FF6200EE
+ #FF3700B3
+ #FF03DAC5
+ #FF018786
+ #FF000000
+ #FFFFFFFF
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
new file mode 100644
index 0000000..8afb8a4
--- /dev/null
+++ b/app/src/main/res/values/strings.xml
@@ -0,0 +1,51 @@
+
+ Dhizuku
+ 主页
+ 配置
+ 设置
+
+ 已获得设备所有者权限
+ 未完全激活,已获得设备管理员
+ 未激活
+
+ 设备拥有者(DeviceOwner)权限高于设备管理员(DeviceAdmin),一次激活永久有效,除非您主动取消激活。\n\n请谨慎授权给其余应用,设备管理员可通过代码修改诸多系统设置,比如:设置锁屏密码,恢复出厂设置,禁用软硬件功能等。
+
+ 激活
+ 取消
+ 确认
+ 完成
+
+ 电脑激活
+
* 借助 adb 来设置设备所有者(连接电脑),前往Android 调试桥 (ADB)了解更多与 adb 相关的信息。]]>
+
+ Shizuku 激活
+ 请先检查 Shizuku 是否安装、激活,并同意软件获取 Shizuku 权限。
+
+ 执行结束,请检查是否激活。
+
+ 取消激活
+ 取消激活成功
+ 取消激活失败
+
+ 强行停止
+ 当设备所有者激活成功后,系统没有权限强行停止设备所有者应用运行,但是更新应用需要先将应用停止,所以你需要先将 Dhizuku 强行停止,再更新 Dhizuku。
+
+ @string/dhizuku_permission_group_label
+ Dhizuku 权限
+
+ 允许应用使用 Dhizuku。
+ @string/dhizuku_permission_group_label
+
+ 复制
+ 复制成功
+
+ 捐赠
+ 支付宝
+ 微信
+ 币安
+
+ Dhizuku 授权
+ 【%1$s】正在申请使用 Dhizuku 权限。\n如无法决定是否授权,请拒绝!
+ 同意
+ 拒绝
+
\ No newline at end of file
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
new file mode 100644
index 0000000..7bc180f
--- /dev/null
+++ b/app/src/main/res/values/themes.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/device_admin.xml b/app/src/main/res/xml/device_admin.xml
new file mode 100644
index 0000000..ff9e267
--- /dev/null
+++ b/app/src/main/res/xml/device_admin.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/test/java/com/rosan/dhizuku/ExampleUnitTest.kt b/app/src/test/java/com/rosan/dhizuku/ExampleUnitTest.kt
new file mode 100644
index 0000000..d79abd3
--- /dev/null
+++ b/app/src/test/java/com/rosan/dhizuku/ExampleUnitTest.kt
@@ -0,0 +1,17 @@
+package com.rosan.dhizuku
+
+import org.junit.Test
+
+import org.junit.Assert.*
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * See [testing documentation](http://d.android.com/tools/testing).
+ */
+class ExampleUnitTest {
+ @Test
+ fun addition_isCorrect() {
+ assertEquals(4, 2 + 2)
+ }
+}
\ No newline at end of file
diff --git a/build.gradle.kts b/build.gradle.kts
new file mode 100644
index 0000000..7ba5fc8
--- /dev/null
+++ b/build.gradle.kts
@@ -0,0 +1,18 @@
+buildscript {
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0")
+ }
+}
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+@Suppress("DSL_SCOPE_VIOLATION")
+plugins {
+ alias(libs.plugins.agp.lib) apply false
+ alias(libs.plugins.agp.app) apply false
+ alias(libs.plugins.kotlin) apply false
+ alias(libs.plugins.kotlin.jvm) apply false
+}
+
+
+tasks.register("Delete", Delete::class) {
+ delete(rootProject.buildDir)
+}
\ No newline at end of file
diff --git a/dhizuku-aidl/.gitignore b/dhizuku-aidl/.gitignore
new file mode 100644
index 0000000..42afabf
--- /dev/null
+++ b/dhizuku-aidl/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/dhizuku-aidl/build.gradle b/dhizuku-aidl/build.gradle
new file mode 100644
index 0000000..810f756
--- /dev/null
+++ b/dhizuku-aidl/build.gradle
@@ -0,0 +1,24 @@
+plugins {
+ id('com.android.library')
+}
+
+android {
+ compileSdkVersion 33
+
+ defaultConfig {
+ minSdkVersion 19
+ targetSdkVersion 33
+ }
+
+ buildFeatures {
+ buildConfig false
+ }
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+}
+
+dependencies {
+}
\ No newline at end of file
diff --git a/dhizuku-aidl/src/main/AndroidManifest.xml b/dhizuku-aidl/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..e23d42e
--- /dev/null
+++ b/dhizuku-aidl/src/main/AndroidManifest.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/dhizuku-aidl/src/main/aidl/com/rosan/dhizuku/aidl/IDhizuku.aidl b/dhizuku-aidl/src/main/aidl/com/rosan/dhizuku/aidl/IDhizuku.aidl
new file mode 100644
index 0000000..2410066
--- /dev/null
+++ b/dhizuku-aidl/src/main/aidl/com/rosan/dhizuku/aidl/IDhizuku.aidl
@@ -0,0 +1,18 @@
+package com.rosan.dhizuku.aidl;
+
+import android.os.IBinder;
+import android.os.Parcel;
+import com.rosan.dhizuku.aidl.IDhizukuRemoteProcess;
+import com.rosan.dhizuku.aidl.IDhizukuRequestPermissionListener;
+
+interface IDhizuku {
+ int getVersionCode() = 0;
+
+ String getVersionName() = 1;
+
+ boolean isPermissionGranted() = 2;
+
+ // remote binder transact: 10
+
+ IDhizukuRemoteProcess remoteProcess(in String[] cmd, in String[] env, in String dir) = 11;
+}
\ No newline at end of file
diff --git a/dhizuku-aidl/src/main/aidl/com/rosan/dhizuku/aidl/IDhizukuRemoteProcess.aidl b/dhizuku-aidl/src/main/aidl/com/rosan/dhizuku/aidl/IDhizukuRemoteProcess.aidl
new file mode 100644
index 0000000..80d771a
--- /dev/null
+++ b/dhizuku-aidl/src/main/aidl/com/rosan/dhizuku/aidl/IDhizukuRemoteProcess.aidl
@@ -0,0 +1,19 @@
+package com.rosan.dhizuku.aidl;
+
+interface IDhizukuRemoteProcess {
+ ParcelFileDescriptor getOutputStream();
+
+ ParcelFileDescriptor getInputStream();
+
+ ParcelFileDescriptor getErrorStream();
+
+ int exitValue();
+
+ void destroy();
+
+ boolean alive();
+
+ int waitFor();
+
+ boolean waitForTimeout(long timeout, String unit);
+}
\ No newline at end of file
diff --git a/dhizuku-aidl/src/main/aidl/com/rosan/dhizuku/aidl/IDhizukuRequestPermissionListener.aidl b/dhizuku-aidl/src/main/aidl/com/rosan/dhizuku/aidl/IDhizukuRequestPermissionListener.aidl
new file mode 100644
index 0000000..c846747
--- /dev/null
+++ b/dhizuku-aidl/src/main/aidl/com/rosan/dhizuku/aidl/IDhizukuRequestPermissionListener.aidl
@@ -0,0 +1,5 @@
+package com.rosan.dhizuku.aidl;
+
+interface IDhizukuRequestPermissionListener {
+ oneway void onRequestPermission(int grantResult);
+}
\ No newline at end of file
diff --git a/dhizuku-shared/.gitignore b/dhizuku-shared/.gitignore
new file mode 100644
index 0000000..42afabf
--- /dev/null
+++ b/dhizuku-shared/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/dhizuku-shared/build.gradle b/dhizuku-shared/build.gradle
new file mode 100644
index 0000000..3faafd6
--- /dev/null
+++ b/dhizuku-shared/build.gradle
@@ -0,0 +1,25 @@
+plugins {
+ id('com.android.library')
+}
+
+android {
+ compileSdkVersion 33
+
+ defaultConfig {
+ minSdkVersion 19
+ targetSdkVersion 33
+ }
+
+ buildFeatures {
+ buildConfig false
+ }
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+}
+
+dependencies {
+ implementation(project(":dhizuku-aidl"))
+}
\ No newline at end of file
diff --git a/dhizuku-shared/src/main/AndroidManifest.xml b/dhizuku-shared/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..a9e3e5c
--- /dev/null
+++ b/dhizuku-shared/src/main/AndroidManifest.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/dhizuku-shared/src/main/java/com/rosan/dhizuku/shared/DhizukuVariables.java b/dhizuku-shared/src/main/java/com/rosan/dhizuku/shared/DhizukuVariables.java
new file mode 100644
index 0000000..928be5a
--- /dev/null
+++ b/dhizuku-shared/src/main/java/com/rosan/dhizuku/shared/DhizukuVariables.java
@@ -0,0 +1,23 @@
+package com.rosan.dhizuku.shared;
+
+import android.os.Binder;
+
+public class DhizukuVariables {
+ public static final String PACKAGE_NAME = "com.rosan.dhizuku";
+
+ public static final String ACTION_REQUEST_PERMISSION = PACKAGE_NAME + ".action.request.permission";
+
+ public static final String BINDER_DESCRIPTOR = PACKAGE_NAME + ".server";
+
+ public static final String PROVIDER_AUTHORITY = PACKAGE_NAME + ".server.provider";
+
+ public static final String PROVIDER_METHOD_CLIENT = "client";
+
+ public static final String PARAM_DHIZUKU_BINDER = "dhizuku_binder";
+
+ public static final String PARAM_CLIENT_UID = "uid";
+
+ public static final String PARAM_CLIENT_REQUEST_PERMISSION_BINDER = "request_permission_binder";
+
+ public static final int TRANSACT_CODE_REMOTE_BINDER = Binder.FIRST_CALL_TRANSACTION + 10;
+}
diff --git a/gradle.properties b/gradle.properties
new file mode 100644
index 0000000..4daab8c
--- /dev/null
+++ b/gradle.properties
@@ -0,0 +1,25 @@
+# Project-wide Gradle settings.
+# IDE (e.g. Android Studio) users:
+# Gradle settings configured through the IDE *will override*
+# any settings specified in this file.
+# For more details on how to configure your build environment visit
+# http://www.gradle.org/docs/current/userguide/build_environment.html
+# Specifies the JVM arguments used for the daemon process.
+# The setting is particularly useful for tweaking memory settings.
+org.gradle.jvmargs=-Xmx8192m -Dfile.encoding=UTF-8
+# When configured, Gradle will run in incubating parallel mode.
+# This option should only be used with decoupled projects. More details, visit
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
+# org.gradle.parallel=true
+# AndroidX package structure to make it clearer which packages are bundled with the
+# Android operating system, and which are packaged with your app"s APK
+# https://developer.android.com/topic/libraries/support-library/androidx-rn
+android.useAndroidX=true
+android.enableJetifier = true
+# Kotlin code style for this project: "official" or "obsolete":
+kotlin.code.style=official
+# Enables namespacing of each library's R class so that its R class includes only the
+# resources declared in the library itself and none from the library's dependencies,
+# thereby reducing the size of the R class for that library
+android.nonTransitiveRClass=true
+android.injected.testOnly=false
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
new file mode 100644
index 0000000..9ac0631
--- /dev/null
+++ b/gradle/libs.versions.toml
@@ -0,0 +1,63 @@
+# Google Maven
+# https://maven.google.com/web/index.html?hl=zh-cn
+
+# Gradle Plugins
+# https://plugins.gradle.org/
+
+# Maven
+# https://mvnrepository.com/
+
+[versions]
+agp = "7.4.2"
+kotlin = "1.8.10"
+compose = "1.4.0"
+room = "2.5.1"
+accompanist = "0.30.0"
+rikka-shizuku = "13.1.0"
+
+[plugins]
+agp-lib = { id = "com.android.library", version.ref = "agp" }
+agp-app = { id = "com.android.application", version.ref = "agp" }
+kotlin = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
+kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
+
+[libraries]
+androidx-core = { group = "androidx.core", name = "core-ktx", version = "1.9.0" }
+androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version = "1.7.0" }
+androidx-lifecycle = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version = "2.6.1" }
+compose-ui = { group = "androidx.compose.ui", name = "ui", version.ref = "compose" }
+compose-material = { group = "androidx.compose.material", name = "material", version.ref = "compose" }
+compose-material3 = { group = "androidx.compose.material3", name = "material3", version = "1.0.1" }
+compose-uiToolingPreview = { group = "androidx.compose.ui", name = "ui-tooling-preview", version.ref = "compose" }
+
+compose-navigation = { group = "androidx.navigation", name = "navigation-compose", version = "2.5.3" }
+compose-materialIcons = { group = "androidx.compose.material", name = "material-icons-extended", version = "1.4.0" }
+
+room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "room" }
+room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room" }
+room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "room" }
+
+# Koin Inject
+# https://insert-koin.io/docs/setup/koin
+koin-core = { group = "io.insert-koin", name = "koin-core", version = "3.4.0" }
+koin-android = { group = "io.insert-koin", name = "koin-android", version = "3.4.0" }
+koin-compose = { group = "io.insert-koin", name = "koin-androidx-compose", version = "3.4.3" }
+
+# Pager layouts
+# https://google.github.io/accompanist/pager/
+accompanist = { group = "com.google.accompanist", name = "accompanist-pager", version.ref = "accompanist" }
+accompanist-navigationAnimation = { group = "com.google.accompanist", name = "accompanist-navigation-animation", version.ref = "accompanist" }
+accompanist-flowlayout = { group = "com.google.accompanist", name = "accompanist-flowlayout", version.ref = "accompanist" }
+accompanist-drawablepainter = { group = "com.google.accompanist", name = "accompanist-drawablepainter", version.ref = "accompanist" }
+accompanist-systemuicontroller = { group = "com.google.accompanist", name = "accompanist-systemuicontroller", version.ref = "accompanist" }
+
+# XXPermissions
+# https://github.com/getActivity/XXPermissions
+xxpermissions = { group = "com.github.getActivity", name = "XXPermissions", version = "16.6" }
+
+# Shizuku
+# https://github.com/getActivity/XXPermissions
+# Rikka Shizuku
+# https://github.com/RikkaApps/Shizuku-API
+rikka-shizuku-api = { group = "dev.rikka.shizuku", name = "api", version.ref = "rikka-shizuku" }
+rikka-shizuku-provider = { group = "dev.rikka.shizuku", name = "provider", version.ref = "rikka-shizuku" }
\ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000..e69de29
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..2871aa8
--- /dev/null
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Tue Dec 13 22:04:53 CST 2022
+distributionBase=GRADLE_USER_HOME
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip
+distributionPath=wrapper/dists
+zipStorePath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
diff --git a/gradlew b/gradlew
new file mode 100644
index 0000000..4f906e0
--- /dev/null
+++ b/gradlew
@@ -0,0 +1,185 @@
+#!/usr/bin/env sh
+
+#
+# Copyright 2015 the original author or authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn () {
+ echo "$*"
+}
+
+die () {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+ NONSTOP* )
+ nonstop=true
+ ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+
+ JAVACMD=`cygpath --unix "$JAVACMD"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=`expr $i + 1`
+ done
+ case $i in
+ 0) set -- ;;
+ 1) set -- "$args0" ;;
+ 2) set -- "$args0" "$args1" ;;
+ 3) set -- "$args0" "$args1" "$args2" ;;
+ 4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Escape application args
+save () {
+ for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+ echo " "
+}
+APP_ARGS=`save "$@"`
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+exec "$JAVACMD" "$@"
diff --git a/gradlew.bat b/gradlew.bat
new file mode 100644
index 0000000..107acd3
--- /dev/null
+++ b/gradlew.bat
@@ -0,0 +1,89 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto execute
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/lib/.gitignore b/lib/.gitignore
new file mode 100644
index 0000000..42afabf
--- /dev/null
+++ b/lib/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/lib/build.gradle.kts b/lib/build.gradle.kts
new file mode 100644
index 0000000..0d31ad5
--- /dev/null
+++ b/lib/build.gradle.kts
@@ -0,0 +1,9 @@
+plugins {
+ id("java-library")
+ id("org.jetbrains.kotlin.jvm")
+}
+
+java {
+ sourceCompatibility = JavaVersion.VERSION_1_7
+ targetCompatibility = JavaVersion.VERSION_1_7
+}
\ No newline at end of file
diff --git a/lib/src/main/java/com/rosan/lib/MyClass.kt b/lib/src/main/java/com/rosan/lib/MyClass.kt
new file mode 100644
index 0000000..44c211d
--- /dev/null
+++ b/lib/src/main/java/com/rosan/lib/MyClass.kt
@@ -0,0 +1,4 @@
+package com.rosan.lib
+
+class MyClass {
+}
\ No newline at end of file
diff --git a/settings.gradle.kts b/settings.gradle.kts
new file mode 100644
index 0000000..e429cf2
--- /dev/null
+++ b/settings.gradle.kts
@@ -0,0 +1,28 @@
+pluginManagement {
+ repositories {
+// maven { setUrl("https://maven.aliyun.com/repository/public/") }
+// maven { setUrl("https://jitpack.io") }
+ gradlePluginPortal()
+ google()
+ mavenCentral()
+ maven { setUrl("https://maven.scijava.org/content/repositories/public/") }
+ }
+}
+
+dependencyResolutionManagement {
+ repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
+ repositories {
+// maven { setUrl("https://maven.aliyun.com/repository/public/") }
+// maven { setUrl("https://jitpack.io") }
+ google()
+ mavenCentral()
+ maven { setUrl("https://maven.scijava.org/content/repositories/public/") }
+ }
+}
+
+rootProject.name = "Dhizuku"
+include(
+ ":app",
+ ":dhizuku-aidl",
+ ":dhizuku-shared",
+)