From 726bacf1c1f3395cecd8fb792c8db101be3ad0aa Mon Sep 17 00:00:00 2001 From: Ismail BENABDALLAH Date: Tue, 16 Jan 2024 15:53:21 +0100 Subject: [PATCH] Initial project Indicators with composer multiplatform --- examples/Indicators/.gitignore | 204 +++++++++ examples/Indicators/LICENSE | 201 +++++++++ examples/Indicators/README.md | 101 +++++ examples/Indicators/build.gradle.kts | 7 + .../Indicators/composeApp/build.gradle.kts | 92 ++++ .../src/androidMain/AndroidManifest.xml | 19 + .../src/androidMain/ic_launcher-playstore.png | Bin 0 -> 34822 bytes .../indicatorscmp/MainActivity.kt | 49 +++ .../res/drawable/ic_launcher_background.xml | 74 ++++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 2632 bytes .../mipmap-hdpi/ic_launcher_foreground.webp | Bin 0 -> 2858 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 3836 bytes .../res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 1934 bytes .../mipmap-mdpi/ic_launcher_foreground.webp | Bin 0 -> 1912 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 2432 bytes .../res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 3708 bytes .../mipmap-xhdpi/ic_launcher_foreground.webp | Bin 0 -> 3816 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 5268 bytes .../res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 5288 bytes .../mipmap-xxhdpi/ic_launcher_foreground.webp | Bin 0 -> 5842 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 8046 bytes .../res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 6942 bytes .../ic_launcher_foreground.webp | Bin 0 -> 7982 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 11130 bytes .../src/androidMain/res/values/strings.xml | 3 + .../src/androidMain/res/values/styles.xml | 3 + .../composeApp/src/commonMain/kotlin/App.kt | 111 +++++ .../src/commonMain/kotlin/Indicator.kt | 71 +++ .../src/commonMain/kotlin/config/Color.kt | 11 + .../src/commonMain/kotlin/config/Theme.kt | 69 +++ .../src/commonMain/kotlin/config/Type.kt | 34 ++ .../commonMain/resources/ic_arrow_back_24.xml | 11 + .../resources/ic_arrow_forward_24.xml | 11 + .../src/iosMain/kotlin/MainViewController.kt | 3 + examples/Indicators/gradle.properties | 18 + examples/Indicators/gradle/libs.versions.toml | 23 + .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + examples/Indicators/gradlew | 185 ++++++++ examples/Indicators/gradlew.bat | 89 ++++ .../iosApp/configuration/Config.xcconfig | 3 + .../iosApp/iosApp.xcodeproj/project.pbxproj | 403 ++++++++++++++++++ .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 14 + .../AppIcon.appiconset/app_icon.png | Bin 0 -> 67285 bytes .../iosApp/Assets.xcassets/Contents.json | 6 + .../iosApp/iosApp/ContentView.swift | 24 ++ examples/Indicators/iosApp/iosApp/Info.plist | 48 +++ .../Preview Assets.xcassets/Contents.json | 6 + .../Indicators/iosApp/iosApp/iOSApp.swift | 10 + examples/Indicators/screenshots/Android-1.png | Bin 0 -> 84015 bytes examples/Indicators/screenshots/Android-2.png | Bin 0 -> 84725 bytes examples/Indicators/screenshots/Android-3.png | Bin 0 -> 84756 bytes examples/Indicators/screenshots/demo.gif | Bin 0 -> 24434123 bytes examples/Indicators/screenshots/iOS-1.png | Bin 0 -> 114154 bytes examples/Indicators/screenshots/iOS-2.png | Bin 0 -> 115174 bytes examples/Indicators/screenshots/iOS-3.png | Bin 0 -> 115109 bytes examples/Indicators/settings.gradle.kts | 22 + examples/README.md | 25 +- 61 files changed, 1965 insertions(+), 12 deletions(-) create mode 100644 examples/Indicators/.gitignore create mode 100644 examples/Indicators/LICENSE create mode 100644 examples/Indicators/README.md create mode 100644 examples/Indicators/build.gradle.kts create mode 100644 examples/Indicators/composeApp/build.gradle.kts create mode 100644 examples/Indicators/composeApp/src/androidMain/AndroidManifest.xml create mode 100644 examples/Indicators/composeApp/src/androidMain/ic_launcher-playstore.png create mode 100644 examples/Indicators/composeApp/src/androidMain/kotlin/com/ibenabdallah/indicatorscmp/MainActivity.kt create mode 100644 examples/Indicators/composeApp/src/androidMain/res/drawable/ic_launcher_background.xml create mode 100644 examples/Indicators/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 examples/Indicators/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 examples/Indicators/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.webp create mode 100644 examples/Indicators/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_foreground.webp create mode 100644 examples/Indicators/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 examples/Indicators/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher.webp create mode 100644 examples/Indicators/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_foreground.webp create mode 100644 examples/Indicators/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 examples/Indicators/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 examples/Indicators/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher_foreground.webp create mode 100644 examples/Indicators/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 examples/Indicators/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 examples/Indicators/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_foreground.webp create mode 100644 examples/Indicators/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 examples/Indicators/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 examples/Indicators/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_foreground.webp create mode 100644 examples/Indicators/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 examples/Indicators/composeApp/src/androidMain/res/values/strings.xml create mode 100644 examples/Indicators/composeApp/src/androidMain/res/values/styles.xml create mode 100644 examples/Indicators/composeApp/src/commonMain/kotlin/App.kt create mode 100644 examples/Indicators/composeApp/src/commonMain/kotlin/Indicator.kt create mode 100644 examples/Indicators/composeApp/src/commonMain/kotlin/config/Color.kt create mode 100644 examples/Indicators/composeApp/src/commonMain/kotlin/config/Theme.kt create mode 100644 examples/Indicators/composeApp/src/commonMain/kotlin/config/Type.kt create mode 100644 examples/Indicators/composeApp/src/commonMain/resources/ic_arrow_back_24.xml create mode 100644 examples/Indicators/composeApp/src/commonMain/resources/ic_arrow_forward_24.xml create mode 100644 examples/Indicators/composeApp/src/iosMain/kotlin/MainViewController.kt create mode 100644 examples/Indicators/gradle.properties create mode 100644 examples/Indicators/gradle/libs.versions.toml create mode 100644 examples/Indicators/gradle/wrapper/gradle-wrapper.jar create mode 100644 examples/Indicators/gradle/wrapper/gradle-wrapper.properties create mode 100755 examples/Indicators/gradlew create mode 100644 examples/Indicators/gradlew.bat create mode 100644 examples/Indicators/iosApp/configuration/Config.xcconfig create mode 100644 examples/Indicators/iosApp/iosApp.xcodeproj/project.pbxproj create mode 100644 examples/Indicators/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 examples/Indicators/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 examples/Indicators/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app_icon.png create mode 100644 examples/Indicators/iosApp/iosApp/Assets.xcassets/Contents.json create mode 100644 examples/Indicators/iosApp/iosApp/ContentView.swift create mode 100644 examples/Indicators/iosApp/iosApp/Info.plist create mode 100644 examples/Indicators/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json create mode 100644 examples/Indicators/iosApp/iosApp/iOSApp.swift create mode 100644 examples/Indicators/screenshots/Android-1.png create mode 100644 examples/Indicators/screenshots/Android-2.png create mode 100644 examples/Indicators/screenshots/Android-3.png create mode 100644 examples/Indicators/screenshots/demo.gif create mode 100644 examples/Indicators/screenshots/iOS-1.png create mode 100644 examples/Indicators/screenshots/iOS-2.png create mode 100644 examples/Indicators/screenshots/iOS-3.png create mode 100644 examples/Indicators/settings.gradle.kts diff --git a/examples/Indicators/.gitignore b/examples/Indicators/.gitignore new file mode 100644 index 00000000000..422afc069bf --- /dev/null +++ b/examples/Indicators/.gitignore @@ -0,0 +1,204 @@ +# Created by https://www.toptal.com/developers/gitignore/api/kotlin,android,androidstudio,xcode +# Edit at https://www.toptal.com/developers/gitignore?templates=kotlin,android,androidstudio,xcode + +### Android ### +# Gradle files +.gradle/ +build/ + +# Local configuration file (sdk path, etc) +local.properties + +# Log/OS Files +*.log + +# Android Studio generated files and folders +captures/ +.externalNativeBuild/ +.cxx/ +*.apk +output.json + +# IntelliJ +*.iml +.idea/ +misc.xml +deploymentTargetDropDown.xml +render.experimental.xml + +# Keystore files +*.jks +*.keystore + +# Google Services (e.g. APIs or Firebase) +google-services.json + +# Android Profiling +*.hprof + +### Android Patch ### +gen-external-apklibs + +# Replacement of .externalNativeBuild directories introduced +# with Android Studio 3.5. + +### Kotlin ### +# Compiled class file +*.class + +# Log file + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* +replay_pid* + +### Xcode ### +## User settings +xcuserdata/ + +## Xcode 8 and earlier +*.xcscmblueprint +*.xccheckout + +### Xcode Patch ### +*.xcodeproj/* +!*.xcodeproj/project.pbxproj +!*.xcodeproj/xcshareddata/ +!*.xcodeproj/project.xcworkspace/ +!*.xcworkspace/contents.xcworkspacedata +/*.gcno +**/xcshareddata/WorkspaceSettings.xcsettings + +### AndroidStudio ### +# Covers files to be ignored for android development using Android Studio. + +# Built application files +*.ap_ +*.aab + +# Files for the ART/Dalvik VM +*.dex + +# Java class files + +# Generated files +bin/ +gen/ +out/ + +# Gradle files +.gradle + +# Signing files +.signing/ + +# Local configuration file (sdk path, etc) + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files + +# Android Studio +/*/build/ +/*/local.properties +/*/out +/*/*/build +/*/*/production +.navigation/ +*.ipr +*~ +*.swp + +# Keystore files + +# Google Services (e.g. APIs or Firebase) +# google-services.json + +# Android Patch + +# External native build folder generated in Android Studio 2.2 and later +.externalNativeBuild + +# NDK +obj/ + +# IntelliJ IDEA +*.iws +/out/ + +# User-specific configurations +.idea/caches/ +.idea/libraries/ +.idea/shelf/ +.idea/workspace.xml +.idea/tasks.xml +.idea/.name +.idea/compiler.xml +.idea/copyright/profiles_settings.xml +.idea/encodings.xml +.idea/misc.xml +.idea/modules.xml +.idea/scopes/scope_settings.xml +.idea/dictionaries +.idea/vcs.xml +.idea/jsLibraryMappings.xml +.idea/datasources.xml +.idea/dataSources.ids +.idea/sqlDataSources.xml +.idea/dynamic.xml +.idea/uiDesigner.xml +.idea/assetWizardSettings.xml +.idea/gradle.xml +.idea/jarRepositories.xml +.idea/navEditor.xml + +# Legacy Eclipse project files +.classpath +.project +.cproject +.settings/ + +# Mobile Tools for Java (J2ME) + +# Package Files # + +# virtual machine crash logs (Reference: http://www.java.com/en/download/help/error_hotspot.xml) + +## Plugin-specific files: + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Mongo Explorer plugin +.idea/mongoSettings.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +### AndroidStudio Patch ### + +!/gradle/wrapper/gradle-wrapper.jar + +# End of https://www.toptal.com/developers/gitignore/api/kotlin,android,androidstudio,xcode \ No newline at end of file diff --git a/examples/Indicators/LICENSE b/examples/Indicators/LICENSE new file mode 100644 index 00000000000..261eeb9e9f8 --- /dev/null +++ b/examples/Indicators/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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 + + http://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. diff --git a/examples/Indicators/README.md b/examples/Indicators/README.md new file mode 100644 index 00000000000..59bedf8a2ee --- /dev/null +++ b/examples/Indicators/README.md @@ -0,0 +1,101 @@ +# Indicators Compose Multiplatform + +This is a sample project that demonstrates the use of the Compose Multiplatform UI framework with Kotlin Multiplatform (KMP), targeting Android and iOS. The application displays a pager with a progress indicator in the pages. + +## Screenshots (Android & iOS) + +| First Android | Second Android | Third Android | +|-------------------------------------------------------------------------------|-------------------------------------------------------------------------------|-------------------------------------------------------------------------------| +| | | | + +| First iOS | Second iOS | Third iOS | +|-----------------------------------------------------------------------|-----------------------------------------------------------------------|-----------------------------------------------------------------------| +| | | | + +## Demo + +![](screenshots/demo.gif) + +## Prerequisites + +To run this project, you'll need the following: + +- [Android Studio](https://developer.android.com/studio) +- [Xcode](https://apps.apple.com/us/app/xcode/id497799835) +- [JDK](https://www.oracle.com/java/technologies/downloads/) +- [Kotlin Multiplatform Mobile](https://kotlinlang.org/docs/multiplatform-plugin-releases.html#release-details) [plugin](https://plugins.jetbrains.com/plugin/14936-kotlin-multiplatform-mobile) +- [Kotlin](https://kotlinlang.org/docs/releases.html) +- [Compose Multiplatform](https://www.jetbrains.com/lp/compose-multiplatform/) + + +## Getting Started + +1. Clone this repository to your local machine. + ```text + git clone https://github.com/ibenabdallah/indicators-compose-multiplatform.git + ``` + +2. Open the project in Android Studio. + +3. Set up your Android and iOS device/emulator/simulator. + +4. Build and run the project. + + +## Project Structure + +The project follows the standard Kotlin Multiplatform (KMP) structure, with the following notable files and directories: + +- `composeApp`: Contains the Android project configuration. + - `src/commonMain`: Contains the common code, including the Compose-based UI implementation. + - `src/androidMain`: Contains the Android-specific code and specific configuration files. + - `src/iosMain`: Contains the iOS-specific code. + +- `iosApp`: Contains the iOS-specific configuration files. + +- `build.gradle.kts`: The main Gradle build script for the project. + +## Run project on Different Platforms 🚀 + +### Android +To run the application on android device/emulator: +- open project in Android Studio and run imported android run configuration + +To build the application bundle: +- run `./gradlew :composeApp:assembleDebug` +- find `.apk` file in `composeApp/build/outputs/apk/debug/composeApp-debug.apk` + +### iOS +To run the application on iPhone device/simulator: +- Open `iosApp/iosApp.xcproject` in Xcode and run standard configuration +- Or use [Kotlin Multiplatform Mobile plugin](https://plugins.jetbrains.com/plugin/14936-kotlin-multiplatform-mobile) for Android Studio + + +## Resources + +This project is based on the concepts and frameworks provided by Kotlin Multiplatform Mobile (KMM), Jetpack Compose, and Compose Multiplatform. Here are some resources that might be helpful in learning more about Compose Multiplatform UI and KMM + +- [Kotlin Multiplatform Mobile Documentation](https://kotlinlang.org/docs/mobile/) +- [Jetpack Compose Documentation](https://developer.android.com/jetpack/compose/documentation)se) +- [Compose Multiplatform](https://www.jetbrains.com/lp/compose-multiplatform/) + + +## Contributing + +Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request. Please ensure that your contributions adhere to the project's coding style and guidelines. + + +## Contributors 📢 + + + + + +## License + +This project is licensed under the [MIT License](LICENSE). + +## Connect with me + +[![](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/ibenabdallah/) +[![](https://img.shields.io/badge/Twitter-1DA1F2?style=for-the-badge&logo=twitter&logoColor=white)](https://twitter.com/Ingbaismail) \ No newline at end of file diff --git a/examples/Indicators/build.gradle.kts b/examples/Indicators/build.gradle.kts new file mode 100644 index 00000000000..efc10cffd41 --- /dev/null +++ b/examples/Indicators/build.gradle.kts @@ -0,0 +1,7 @@ +plugins { + //trick: for the same plugin versions in all sub-modules + alias(libs.plugins.androidApplication) apply false + alias(libs.plugins.androidLibrary) apply false + alias(libs.plugins.kotlinMultiplatform) apply false + alias(libs.plugins.jetbrainsCompose) apply false +} diff --git a/examples/Indicators/composeApp/build.gradle.kts b/examples/Indicators/composeApp/build.gradle.kts new file mode 100644 index 00000000000..3d81f7089d4 --- /dev/null +++ b/examples/Indicators/composeApp/build.gradle.kts @@ -0,0 +1,92 @@ +import org.jetbrains.compose.ExperimentalComposeLibrary +import org.jetbrains.compose.desktop.application.dsl.TargetFormat + +plugins { + alias(libs.plugins.kotlinMultiplatform) + alias(libs.plugins.androidApplication) + alias(libs.plugins.jetbrainsCompose) +} + +kotlin { + androidTarget { + compilations.all { + kotlinOptions { + jvmTarget = "1.8" + } + } + } + + listOf( + iosX64(), + iosArm64(), + iosSimulatorArm64() + ).forEach { + it.binaries.framework { + baseName = "ComposeApp" + isStatic = true + } + } + + sourceSets { + androidMain.dependencies { + implementation(libs.compose.ui.tooling.preview) + implementation(libs.androidx.activity.compose) + implementation(libs.compose.ui.tooling) + } + commonMain.dependencies { + implementation(compose.runtime) + implementation(compose.foundation) + implementation(compose.material3) + implementation(compose.ui) + @OptIn(ExperimentalComposeLibrary::class) + implementation(compose.components.resources) + } + + commonTest.dependencies { + implementation(libs.kotlin.test) + } + } +} + +android { + namespace = "com.ibenabdallah.indicatorscmp" + compileSdk = libs.versions.android.compileSdk.get().toInt() + + sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") + sourceSets["main"].res.srcDirs("src/androidMain/res") + sourceSets["main"].resources.srcDirs("src/commonMain/resources") + + defaultConfig { + applicationId = "com.ibenabdallah.indicatorscmp" + minSdk = libs.versions.android.minSdk.get().toInt() + targetSdk = libs.versions.android.targetSdk.get().toInt() + versionCode = 1 + versionName = "1.0" + } + + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = "1.5.4" + } + + packaging { + resources { + excludes += "/META-INF/{AL2.0,LGPL2.1}" + } + } + buildTypes { + getByName("release") { + isMinifyEnabled = false + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + + dependencies { + + } +} diff --git a/examples/Indicators/composeApp/src/androidMain/AndroidManifest.xml b/examples/Indicators/composeApp/src/androidMain/AndroidManifest.xml new file mode 100644 index 00000000000..51d50fa0908 --- /dev/null +++ b/examples/Indicators/composeApp/src/androidMain/AndroidManifest.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/Indicators/composeApp/src/androidMain/ic_launcher-playstore.png b/examples/Indicators/composeApp/src/androidMain/ic_launcher-playstore.png new file mode 100644 index 0000000000000000000000000000000000000000..84a54176c239e2b8c0ae1611da282349462ffa5f GIT binary patch literal 34822 zcmX6^RX|%!w+-%I+}*Xf6QH=$;_k(zxP7?0yGtojoM6S>tvD1Z?ymRrzj;YsGMSmo z*|YYNNL6JSG-M)V5D0`OCo8260zm^Gp+Si7z}t=I{1XTi2$GYM(DXDs$qmgW)@nZe z8}IFr^n1kEI7uxsWuix}(I&&#r9VKX0_( zi^wdf=ejN~Ka{`Un>Ar#bHBZ~Hg(Lhu~ZN0)tjp5vu(;p65|)UQ>P@Aw(Hx7^d#{K zhLsxjWlhNi4d86}T>FkCyf`{((*1}VIb@cLq~{7)?$x1UbfHg5A|1k+^@*bIOT}- z=+lsZoHYKIrf2uv|9jd~tR&Nlu1cN7NKNZnB$4lb!mj#>*GozDvpBV<^g37ZMvTz1 z7X=`S|F#{KB(E&;D`IrchW~3o>XaKu&eXFtL51#%D&6(`42EZS*&XY`^6F`q6J0LY zcTJiF6``Ha`xsEqI@h!6#SQK?-z(Fi+5A^>fA%RSB?pp|B9LuhBRrcF(1ctiKH~cY z90dgjViZ*2K^zgv?VGiVqs~UBoxerb`YtE*jh68v-(bn1wSu7?uDX`Xzwu!a&Nls# zM)+Q-x$GjT+f`^|!jdW2wg-YLNE@j3BiABcN|8jMOCD4~2}M_S*9nb8RwF_7H975R znoE_1C|N|j``-|@%bGf~O||nbc`Y}lN0ZBmzKo68_s$w;&^GY4xg1)~T3aKvA!?nM zn4kXFdXr;e8$oqVh{TBm2jWE6Zkd8Ph|B4}D}cw|CaNgErc|)unSKX9(#$@3d_9<+g;brTM1+oY}q)l_#-C97;S! zy;e=O>kL1UGMZ%BU$`*4P|meuO6UkFPR`csY793{Dn< z^(-}L2I^AC%RrGRKH@v#gzqOX^1m5^AwO#S%=H#YBgRr!_Z`sPRGumm(N<*Ex zuLf1#rgqx!C?8FnG(WM&+w|sD_G=JqC?Lj*l)rpW#_*BSc94&efD%VWmVYw*N}9B9 z#+uo=yZ|}L=z(Ri+s7n6#uzNUx6|7=8|N3RMB13c@4Wx;$7$osyGUruaEc^ooBal& z-NeqeZu$GFj9wM%`<9RVzlkv-wi*;uqWpQGP8V?LV6wRxj7P)eV>b6K{&5~H+M$yu z6MT=iQ8=j)aIcwZM+4h_;mo#py zx~|eE#qok8r!^(zaD(n?j6oq3(NVpG?U%yM>3V$+DLpp!xACsNhYmk0Y%X^TMOVw| zslaoN5xx%~8g^sX-m*yVH(neTo!0eKTMzX=L=ch31}uYo10;QIslpq6iapyd+U$jtzE?DpTzXOdp_WRDg4r^PlbOrhVV6 zHSAH9nKxoK(_wJwan+I!u|z#WInda7jxY>g!8QRD(OJ_R(f1L3`$>hdk184cSF6qSBh6~3Cq%2WnNk^S{?>gMGpV}T;HnCUMM#bj8I z$L!-66yJiO1BLMpLm0RfGdpN&yn5Tcx)()% z$dyOTP+u;XFBjZlwC2v1tQrkzUwv(_bLSuTRR)v6!hyUP_#d{<-hT@@ZM&@b2o|!* zYJ|1YbJeOX@_p;v>`JFqqp=o`@&7GC6^tiXKcq*E7@7G2`Xa_8R#BUDt};BM35qgM zICtENmIe(Nje_5JTU{!rdrni&Jy((7bgSIL?`MiKVov+Q=P8&x`fC9sByvt}76*+agF-AE32Wv>fOy z-gveANw7bwK|4=f5XwnHiQl-trqjJy&tr|5x}0S#KUuD6V;b^%F*5FG30(Q}(QzeS zLG4wtx1ibbi7CED3wEWCrIgZ}Os?&I)!sTsM5!}Rdy$1wz1&)iXYw*peB=Yu%oi^f(e!F*oANra_b}+S6 z6+0(RW({VX~Ngh?~0jIa!fGDfyl6Dx9m?+JiOZWrEVG=HW9%^=9TBd*_p2;rvHH) zdFhyhlr!!-dQLKi2dSMOy{t9gdcSEWs)95zTW`CU8Ciny_+8#0%j5n8qUdLDiDRT* z-9A!z<~jMA{H=c7Yji9kmMbnt^0Tc3Lw^gcpq>zXXPJBJ#6u;ZR4I*3TJr72y5^7~ zf4}we*$`ld)QdJMOZQUlyo5ZI^f~9>#SJ&2ah`hGxcHUH*ia*RY*EP!d0UB6GpaCv zMhVu~RG)%5I|+UVOUJdgS9Zb?qsZsG=gG!} zyJ`6=i6^XDtm}b3ctxpxcdz*e9)kxk80P$hnd%6>AC>Nt83YRnl^BUGtb_*a?Cnw> zb4nTuK@2!feS?}@H>YAwllf{6SBvp_eS3Ox_I^*@5^7#=XE81tB#0wqq=O4AH2F6% z!@pBGl|FC_B*PpF+Li9k@0HwSJ62Kr=aF~}5iS5RIM-o1|1NTTFCwkcT)%NZ4%-Q9 zp<-Ni`hC6{?_45lJqqlR?47ux*d|vAb->R__DyA?DU4qgJ530GW|#H;T9XaF1kQ#- z7lc%9@|QTcr(BR!$sc7HCZGA+iD!5&26Tyep`s~!exxXIdcYCvn{|#VeTA`GS__iV z{uLFO)0vgBoNadXT2S%Q#K;UUPlz0d4THck>b8YV(#2io>_68qG$RfhWcKns!*^AT zX{u@K#2KuZh>lXA3$pi{S-@D}Eko_?7R*Wl5CWH%y<*qllvIy;C@`a6l+Rzv>)i6b zj%87$AZ<5bnu;UzSQfLA&W)Y;gQH;dFA!1w!9Wbt{zIjGgkP(kLP<&0GCL~^*TrPR z7zHu~DZmb4z3nr;4N|k}Y>{?Z7u!O(5x3!Pu*HYCSln8vDj$#-MG@h;P7P336zePw z*|ciHQ8$ob7oZshJVY3o?^`!MYF~jB;x5>589>me=-RDI0T&-c*G{dcp|tWV^~64i ziaMSjhCqnKj!9?!nzXBegWx)#0vw5ET{<1+?3X?HYwTN;&Tv~(aw_CU$75?=xJHxk z^**X`9H@d|Q@Xh?&3s`xgFT)vTL&MN=pG6~E`~!x6!meE!}^NzzGGYus>mW;#9LCv zj$s&_44)+*z$LXoP^=Em@}H+@%;&jex{mN?eBr!dgOK3FK@!yYamn^Nkh#?BrHR4Y zxg2HUzY^VTpTt6=GPxATG(Y~lBtWXnQ4m;KMng(yWsdP6S~qtYy{B){*f^35}X zey4qnLkkm=`uZyEHD(Pb$D9D@g^z*GRe}1^nn~Xkm{PnP{NxX0$e_NCllA(<&tlHs6xr4|vNM7+ z)+U_ftB}2?n)W(tNahq|ON){vS3^tYJ}CSTWKxaew|XO31asy(Uw9*YA<7Jc{)K71 zxZQI8je8?*P>?@Ci4gCu@EYlq{$dBSJDd-nm=cyuF69_aXLooK2gw=LoBAi5?#~pG z{*7IOsID{O8P4I%DOqF~IB}@9^w8t=Mj^#!p1uupk#4aL>Qc%uTp!H8@uShz;O{R0 zG{aPHD=?XA=nixHh4IO|7Gl~t;>25 z>06KEET&bvi%_XEuN%BiCE8~m%H0{`?^abv{>xi%r;KiMsj z(w2G-RnRVBN5%WY0{by>J6D;5hXxaod%*JsmV%k?lu<1fMgVwt=UOWGt5>;#_S1x` zd9(+!%o%3=gVIXmm|SN4#<^4!-mV>UP5=Yw3U=*?|3U14EV1UJ9qAl#^LX1d=8nux zLGngXX4}XD|9iuP*98u^9%16wG_m>G_Y9J*1XaGyN+}7u+zfW76I1Zh_&4rwWFMk_ zIiNE-DF6*8y5+o|PMREYFC^WD{~_|=vv{C!TNQNWsZ9Q*8`rR4k@lDqf|Ah1k;z3Fc3$?3SujoHRctz`Ay zK_qLM|9v%=8lw6!KN%D30>}2CwGvu-3#;JsV$^9?Q|+`e&4NZflO5aKn2tP_;TjBG z5NBKfhwiVq_Ee%J^@+uGUfQC4U)i7JCE}XAEn&W1H0IDRtHmE20hRYP;%A=;E3s4! z7UY@o@b^4AqT{baW~9uzK}UnQ5@|#zI^;!CH>31J!o{GvFjZ@;-LDuX#1}7fo1JUO&PHk#?YyCiwiiT z;3znkcqhg~{(+=i`kf;*4nn*@kDIIN5?;YCnh1)eo!egYhQIa}QdFRB zA;=TN|FU`XAyL%zg$AEF?J){>(doDrl9?i)r~h~!Sdm6(DN0Ql0*l+aEq05(HFB)a zsusrgtHcCC*-_RiY;r*83PXkpCk{VcCL?V7+SAJ0$x&_Se7)((PdPF8@7|zm!UW6X z=$C9oy_?8trk%R;#E+DiuuJQixN+HuF8)a7R$ zoem}@h5MMF2z(!x`^<(z_g#1c$_ba8Fv-mzUcOS)y@d((0l)(#QEr8EX9m=a7G`J^0C#ckNCoiJfI7N zeWyrt=jrJ=BW3>^TPDw5ZJDaz4=iZywc@X%*mBx>`AabQ==8j81U{w+EaumT@A>(q zqb|5$+0ulwvhSb2h)~yi%IMdu%Msa9g>;hnh=zdJ0u0JmSH84j-)}`>gJhw5QaT2N z4BA{)efy9*+_K|nO0K!}49|awE`}tG!h=B;!PP^0^)5zh4|y?1A+{^V6RDs2SaE4H zr?e+EV?dte3R3^rp_%A68fE~?m=_y%<))Y@kUrMQNEvZKo{=c~Yw;cwk`r2F!b>-O z^(GA!h&J#U#a&t(y!T2CXBx9D=h z(y5AP=ke{GH-{P6b@)-8uP_f2;{^f6nAy6%v{>P#Ha$sQHJa^2^t- z;l{wA5(Nd(W8B0@Tdcn-)(uD+&NRNLSI7x!g1(W|MmLdP8<76(AdL?u-Y?ptEe{nZWGeU?xYiI@?dD3JkKA+x3G#r2m?>C1>7 z{Re>6`?Itkpo^Us%G1jZI}d#flVo;SR8zBsuGW2`j!m8-S6JYB#stgyi{E#(2!->s zAn&d5f$3^}-a;`(BAM^|OZPk#46Q$};2O}ZI^@ikq0p)cDw+#-0)wqhPzM zWeQ>KC$tw5lWAYDfw3wR$QIrtS|Z{|H=G#QmZ~%cby3R4;NuMxhsTvTZMe9;M+TK< z92jsxgPi?I8jbE^ho=YPPJ~W9EU_wvy7&fF`UeZW z5hR`jr@P-wU_0_sT{HN2n$d=;%3av%A_U-E$gE9NDI2{eaY|Azbx4BC5IYpcNV`Gr ztV0s5f=Am*2pXpkPT0p0cMX>_U3EN9{DHI$>C4!-?O*iB@aiCOkk{Lq*kRBps4?<)R`8(c>T_hiF-&jzwesKp zwG-bvohu=kTq_7f2x6u(C@t-}ra{w^om}TIN~8EBCx}|xcbAq!b-WxB`N*ww?Vh$j z{wnG{jsGk?Cz0`$e!%k9Ewk&zGSw|XL zN%cGCV7yZ&i*aO`rG5;_A|k!lzqL1EiLz=2#*6jF8|MpX89R`g!L~I zTc=1VZf=b(+gk3hb1>A{4`Bm_4eYw$x1y0rhhM~;Kk{1cyk6cgPN5qLp8|^=q$A6CVZFHDigL8R^YG1gR zm};9)#y-Zj4a(XiP8L4`$aC;V#QH?O9N{s4)is={Ka%&R*IT1RPHreV$_HRQ0L+~` z6P-(Y{fj*a&-07h@-Ql=D=P(V)!@8qPskiILaEY z$1m#p4$h@Lbrt9*LDnNLK8TEPUF0MS9*>QNx)WjFDZe{gQgz(B({~4m7f#l8pnzz! zAN(>|MSLZjdmNQt^u$Ipc}bOJvm?_we$(mKvBxKXgG4_#DY<8ys0dfZWhrQmE>5fL zOt+Pw8XkB|OVxn)H>G8#donL;znIwYY$Tx}oGTM^vvh3#C++~AQ%j>;!z;R?V}}O$ zWnjtlG>W!9m)FFP{39J({OzLnA1*@+`%NP}G`wqV4^ho2XwZ1c)^gNbF{W^NL32D~ zZA2YV9@B8A*7}0VKlcU}DJL+Dds!KIoWcqa2E|pTi!?<@@i=Jvox=<-CTAIsO|R5E z0&avSb#vM>r?SulP(ZB=g;#1(+@6Wle`|;ZZ_kN%iEl8(PhgE^^>X{Xo?Q?*kruJh z-)f&eS@dRQYzWG)Cjrj?X_wfnTGNa9tEH6(~nZ44&tk);C&yn4DNYt za^b&L0^Pq??%`Dt6Vze&9B;Y~_!j`!i0zG+`5jMowMmH4e(80+pdu>CZmL@l_>Ic` zauI4SK)~^d%I3C;gZi=~w4g^gvWk6tT+Z*X3&5^rTAY%VrTw=}bn(jds3)N73q z==IxG;@Y4MOik?0nafK)4sa0cA|!tfC-w8ja_GnLlIE}+e;QWT#d96f`lA0v(p)he8 z66{QB8}o_f2KY;<4JgAKP^<_hxpHjEQ1>DMd61jt(qSo_57WB>XYgbG@;b9A;&l0--F6+?UBT^olR_t509CfnXM19PK?LHw+r6(3{mFfxuRctcQD1FkYztz^Kip%UHZ=ssk zoLv4h%J+JH?0$oI4@W6coY&&Naf+ST|1s0~HF%^|^S|Xc^Zj!@-@P4yXv;GqzYxr@(Ab(SR z3;?xymKaB$J`+PucKW|;w5C&SYg>$m&ORlUD;GXQs1q!o4kc8x@XfOmKCzLPH(){h zt4@R4Kl(DQzAB@;#HrE-P7Q?gJm(+gfdU1sMHiFohg7FB9`lF0O&>3P5Xi%_}K8E!Q&nJ}h+Y zbVqtODUO2=7eX<^j}bg@Mm}8%UEsfy(0KnwewQzI5OWE3FmyW3?aZ3DGukB-US0FJ zxAIpDfz5OaBB$G+RJ+?P4N*S+_%nlfVGB*X0k;wN6Z2wz_@})`ybk_^Ss1Gg*Nx@y zBoWkF$@pyT4krZmx3P;O@+$eSrc@oTo^fI(@>X(ysO5Bs9{j=;$ZAxzkQt~-$e z2O;ADAZT2EUNtg}lok$E1pU(oKe;B2;$U%x6BL#h6HB!j-;>DL1@oJnf%D=j0da z$92L3bySR;vyV^*$D3A@e%EkZMo%QHe!SGn?3Rax6*Gf z2UX;;P=7xZsc6EpyO}SIglOW6v&>zYT?_(ZT1sS%=a-n)OSi^!Z3UsF4M~5 z;NZ8k0c$Wg3N6XS(1th-XhM{<2d2rm=L*`p-B86oL$bG+9Ctz@d|FU^ViIO05hA>- z7$@gV6kh6keBE&;qCvkDO}WKv#75Ernu=CqQ^=0oZO>G$v+4xP`fA+@ExJw`lek)y zr+}8Uqq^pcQ0H2hmuv}lk2ojywN4ZJSvb{4qdOKBdZ+?wL~6#<Z?`Zz5^i>cz}f=WI}ByI7%7IOt;S3PUiN9fFRppfj#o&R`^_b?&sX8I@9@*Illjmd+y+}*al)puSGCX~{N7-_f80tzi; zvmM2M<#nc+BXlEk?Yb6t&Hc%BwvT<%^`T=o z|K%}+*y4f%4VBc93%(v+i(=_?(bssfeQN?nsEA>1(Z~v!c5}NqLo^zkk>!x6#~1!= z?IU38syO`+^~oop?J{Li&m+rp3}Kza=$8uSgl{<_Bd>SmCEM14>x@|#>uTJ;5=igF zY+8DaK6si~8cdI_+VPcY%!RSJ?;iX6>zTNJpc#Nob(b}K`(A4V6_`oW#tSzp2P#3s z2vou=RufWg+M7@|QED!d3Cw{0PM|@D_195o1fYrQT_b0#?}>?!P6cvRIUk+lIj&(M zoEwRaHO6Totry=ZZ!ImmDwlN(VZ~RrMB9CtX+QD~&imb&GDm^bJrfXNwCv5!bF+W; z)W(+1T-j)y(^!nKY59CAuuJe$i9ou@E7X!(jcn#+Y$qLY)Vu0H1`*^WY{s`_bK$mXdbf{*YGg5wo+os*k_Fd*-D|5joz9y z_puB6ihs*Are34<8G)tFVslwanbn_sDFzWlpozL>^^tdAcTBYFYZyv88PpZSmgzuy zkW@zPv$XlqQ-*sN*H3Zl#&E(8C@sfw^GkFse=@vKDOrU$4|H$QB)vf2D9IOOq88}`LjM(Z3H6ts+G7% z=->WxviOCu3aQZ1oS1h>bL-ZjB28Nh@>myAJ9Di1e%? zBoF}!sr3ZJyBmO(*X>C4k(hGq3Hf2V_2%Vb_k#JQ?A*GAXd`+It6zCGOkKH)jE&}! z_7*7*xh9fuJgU;7Y@~5P_j>(uBeNpTkN!@Y23;|QpXn+-JT_`c0i?h;S(Ml>qhV-d zXtQ19yMINTjj9x#F1mL~Uot-ayjP?;zU+K#CV~b9`*RSY$bA{`9G=rk=5qh6hyi7} z@CA?InE2;-qJ|dWTwo@bEHYlGE>YAYpX05$f!9RG^nJG@OM>rX)q#vH#I=>7ZM$~_ z9MC4%@WB51{_6a=nNaZ}JkH+0<%c5K1k!CK6U|RK`)F?;mhf1bbOp`xYEQ4LI~Bi~ zcjm9#MtH{~l$HcgaI+qHJEykWM8|_ew&~ zh2*7dQkekV%k!$-(P^(?!}^z2^>+DPvb})EYrJ6~Faco}Z}j)u^i9Wgr@ro0+8=!! z9JlO7l89tW7eo30?F_f7|L9d=WY`C%u`+M_A<6Mc<{#zNRpE9&$239V?&y`y)aW&^ z_F=cnyaq>IcPl80voj;6{nb++XHALhg@gN(UfYt2s9&4XgJHP5=CU6j1=DK$t8>F^ zFzEN;dh$+#7Xkwcj!y70yyWcbe+(T}WmaJC;F9oPpvIfmDolDI$Z?+gYbf zu~z>)Zj@g4Aso0EZlEr_m)Pm3ep75~ulWW(g$dD&mk4WNckg@lTlMBHA(BMo<$_3O z^b=q?d=kF@oAqnw$$zPiRBols)or7T7`B>0&RH+s^RYN^Lhe<>>i0*LCnlC6syL4?j45zOB(zVLM)zk-$pbO z!?@BR-&CRpVuMT;&9BZwL2nxV~LBxXCEn5z)7Omt$=RH)=FQ8UIG8$c3 z=NVM(^TAE0R@yQ5fxS^y*Pz5t%shQP&L4MAZNvY}y5y8n*JR#*P^6d^J;zB*93xrw z80?`!4>X9~aI>vhc=OMt!@MWwOe?|& zx|0x~MsgfY4y4-;ymW->WWS28sqp!CSkZ?fP+jh9_HvmhDQ=>*3M#Q-5>;!WEkM(= zn;A*!ZAZ*I>bv?S{s~lw-5efTlu%vjh^~ME7h z3K;Yu#QJn3wmHKuhMntqTt0JTdFY1*1}*RA-$os5jQdsd|EiAbdX-Hw>SV78KBbsf zH2k^+*>vG9`~zb`)q&B}_Dl}Dk?Z&*%^i~03~a#nf)UxOPtaRC(D!}ax}mppq5)OR z_zoFL7rj>7C@bzPY%m>tf5j9(a3dQ^g~VUD)T|JvkF}_O`pg;orN+Hekd_!=LGMWd zPMn&3xJS_Y9|MSp7QFotxr8ivdob|7>X(JFxOYUmJFs3S(g#ka*tFAw5+a}a3V<8f zBoGGwEaDy#R{BaaCWNT}xxNgw8)@`I;bg(=ielruP~u|_O~4l45K1Kf2VoA+_@cOF z;3-ILH&G|a8Y!^D?9{>hK4DQy7Z2~Vs+YG#)G18Yt}@WnKWQFBev(E1R_62kH91jj z;@jBgm(Dp_s%ZB&QTK~HkU0EN%WE;un*^`5zxZ5&yTs8>!trll=tBwl(r(g5DH^%C_tI4I_UU3$aeZs_05=ZR z;Lkxdbfh9c^O#?tHDQ*xg0N--MP`1vvfRe$S1dl|CpkcbehfVL<-H=|aq3)aaW@#5ERsTd57CPR8e zH2d35^5NL`3i7*is)HWH;Yb=um-$XXz7_uqp@q!RMn=qBIcppv(4cK6{_ly{RN|80 z%LZknu&9$j*KffRgEFVO0%(})DVrV+I|_aR4h^Uv;u=##o)^o5^vl*>{9{}TX={cc zJvx`Ki=-Eh;F}BBAVDL+=dBcAVz(MSCYoSmq}z2hZ4eNKP4 zh}H#Gv_QwTn3QDP*+eZ*P|%=i6wd$HugQ0DDm1yzdt{~NA%^YA+*y=yaKT^0LxuDw zFgzQ~w2$@(G%8{1D#Z!;h|XHhZ^xd-?^?1IP+_TW@A2t~c$;yM-%wRri83 zsQ*kHFmCvTRfEM9@=8?5eSkER@$rbSNo>qAd)scF;;>?ShTad z7ovFIbptP1tlKHRr;kHIW)1Z!ogeY`#YcJF-ZSwrbT-QJpf(WIBqmFmdDcpA*Zn{Y z^``0_;wTly?mYh*vj(l}gnACW($o7K?4(lYkXVWy!fLrjL5W_3_w(*}Ax!zTJ?tYQ zYp~Wyq{7l+vv;Y|ZUs=O1Km2{EP{V`BzT&yh=MR_Y^ziPhq&>-fzzd%LJh@PKl$m(=5u|SW|G)wd)1030U}0$y;u0_ zW{CGs@Nk=|2}A}<8!7?5&kVDh=;wT5XE}~8p2=*2YH)pzGc)Pq=2pd~Q}H-H>K~H> zOt{OY+kbJ}um`eyP0nUH-A=1Pmq;RJ z66~r-aH7ZVP?OyBucsZme=ze_iqh~sM;xLUDi~7SY=1FNOrC^c2Z1`E4%%aW3-ZSp^4qCF3(P?+Gl1f6tRkru2u(y7r@Gq(>e8L3f>WoteKSXM|ur3&>_jdx?BUQw%>OlafOWr3$2=RUR!TAF0ZOwA<=vn|8U4hhVeT(tJhD!ej_li?&IDN!;->ML zkPjikEII`DN3UUDQ z;j2H$f!|vJr2qx(t0*aktuPf6^WETWdlB3ag)vsT^!qtkgWc(bkuvAnoN6hEiIh|q$s)!Ug!Vh2Y$QqSOFb&wb4+cQjcbaDt|Pq_{n2dJne}~T zLki)>5-7r5#w1WkzZn$~QD1wo@NF%KkGG9+>(OKMM$4#Z)}5@~mM9vKCzAt$7HSqB z2)_oh26Z{+xpU%wVC;3r&H>tCXTeAqE=3w>~o-g@ct$ zLeg(RX&&Ha39RoirL&U=eLKbPmP66^j<~#BBq!-J2}eUo9_0A`^eln(+9_`VGlGAi zNQn<8La%HvXorMOgq%c4^X*DqT_Je$7<=(0(3B3@)F>DMX=5Dd@p27dF0GFiB&R3_*c=w#dT01ER>P*WANv%nW221q50v&WjjX1NBzB$Abt!WX+y;xM3<@M$d_3&vzW;aQ!TV7cb|;g;|`?Hxp0 zb>IGpzJ7*mD&cedm(yX|UQZhw!m~q;{Q!hd=L3&Q-S`(FB!cPlUYz7^7+*5@h$%pW zX;mQE>wXn~5r%yf@lLAa-@DPlXyhpHUz-jI6q50i=y#uB~uCJlR>whw| zaY_1ow)n2)zQVt>Ga&|NQ|j9}RTKpLqHt`Gc42q$rdwhKYA9QHSURr7vNe?^B0D|0 z{|}tq&uB(R!#}^5%y_>6o0jI0s9Q%}7VE1zm4E))PM{eAl1;utq`-@F2pY&RiI;9L z*V6AIx2w#WkSViXS&vW3?YgcLM{O6d#^AA|_+7^#;S2~_z8m2<%SX@~j*U)$d5xyl z)Kahyx~G0l3p=YL>ZQup9cTWolaz{R@CU?%w}BkKCz7p>`L6ZqG|*b@x(!)E8Y%Gk zu`xX#Envo{avFQCWSh1Ik~;fi#-n|IQA#%at`SwP>aqf`8^t>U2%`How|yhO8OL5F zaCSYPRrZ4&$9R%70G@IS_$ajDr;eJ*nP_qHsYVdtWut`b$LY-7`OgLDY>vn7`PwUSX{7)`lJnFXk}as|&kL zoNaC&NA%Qwp>`weN0;xsv>}T8*_m?0P>6O;bFbmfos;xw-Oe52zs=0n&&|Bj?1PZ! zsCai@KCky?b%(5Y&xNUU>==~5v$=7fs7@X?7r}{Vl{+;M0LCGxLaGHy^6r!bqao1^ zPh|#Mn#bF`9qU*&R_!o;F|cA^TK_H&-2*P_xXL;2`ive?uUDh-^4_W(Vg2tJ-qv{J zZ-1^dx_=t=#=a1Y>vP&;Cjaexb(@7`gynGM|0F2{wJLZ|s{)PZ28-Ps8~wSTO!M`h z+!}5Y6Px(AaVuCA&lZ0c>=29uI6c&#V4u34^?*HPc}F$^acB$;gHFNS%S$1>u-)QK zD&0}HeWr3P_>nrELTH;wOR@7(UPo~Vp(gn`xZzx}*V7uohassk{WNYYUXsaneUS|m z=LKD0wTB1_B!8{#en69}D=f$^kW=6b?Wrac8x=C3I@<4kCrtbgVjV8F*6RjFt#+5} zaJrspZOn`4dNuiGX4z#_!m;HZ8Kx(O5j~n@P{RwLt;R* zJ_89>W{JN1+yuKBtM65vj+r5w8US8i5Ich*w0XV%Iy+SZKpOVOmdsq1^8cPO#3r1Q zOyj>YY^i&x){*^ZHaH9)*4morekjY%&P@_22TnoODQj5*-S@qu7pZ!fKcqa%|2VBO zAY`zN7EdJYa>;4{*KqF!M$qeNk4)=T`lKs(a`b8Vel25V?m~cpQN)v%((kWeR$as! zOKPiwEiOo}Gk8CFlSu`%hM}*~I?;4vsN3k%U%fgl^c|ij=F8ykan+xJb*NnSHUoT( zmD1sI^R#AeOx{A8QL7vW1w!ixdDdq$8v{X!0z)_o#?z|O{HRCW+nOD;l^ zupEE61Gs%3>_Q0A&fWLY)zUVe+8ka{*oXv5PxC;(gw2oxH+#Z@Dm5^nRqGBuSwMJG zzX%62>+mIrINR_JCIOUv)1x{q1Wf^M?F2JP!eZhb-b}wWf5{ATj&K?ePiZM1En!aa zq0u`)UpJ=7%~O?gA0HMM@GS?u1mf$3md+q5lmVpM3C{)#plh=CZ^ipxUu_=7WI%zp zCY0ZdS!hbuEsKno^?u`#a*6=%RV%_W1ef(UEaX6zUkV|TpgH(er7N7c-~ZJLS08;* z*PAZ-fq`Z{+Qul`26Oo~WhAM)5#zi)#IDwnUcAjGE%N^GnbV-9wN7N<+p{KHC>*=@26a&;_J4p_E|#mL^H41O(Oam>$v1yL;XgTuuR?g*KzMDYZD1D!fJ5 zIa>ZN93j?{NkpweUry_>z|QHA4RG6vK$lvzIvLd7`Je$z(=kNaAARYxxDYf(!=gV;Y*KW48-l^+r=LfHbiOhLxNFfkKCJ` zmyF{e%&FoP^yE!ol#j#6GW9?Jx9|I>^wUV&F~cypAe)PMAb>m%G52&L_*<)pIq9<~ zBs^{7`hYD17`Wu;c~|d)?;gVX*8skj%RiNR6QdtuA>hEP3i=S?Rzy*Ddz)!%%gglD zsI3sTk75|ebN@>gHQe zyl_5?^GqO)?i^?ek46e3h`Jv`9p_Pp^g<^#`du$cbXo;V6`5gbA5 zk!$(B0he;rSrLZxU&Qr&h7I7**NMxK~yL19dd`i#16C- zXK<}OsC|!wohXbZ1sthmLuetwsJlT0cB-A8^f)V;gXReB@_aw^Je4_RK&9CkOc7of zcE3`|89=DP`1ojY5T$!ZykSENe{mBu)|B`!wA`Ex%hn3ayj%hJV6wqErSE&?g=(2w z_Gz+sv4HSO$hsK@Wj8#K0Yp0ix8z&wJ5)E?2pN!Y`HwRr|2}Sb*n;zO3qgtmX@XIo z5*joLxT?=wVdL=6{rlt#E20<4tm`r7jKd5N`gY(FE5HmJe`EHTZuu9z(77TSys?at zrhohox*+1$Ys`;p_`V`8*W{|q>c%y+?5o=Z^1tLA(`tpG>g?wkfL$`SZh#e=VC;cHH!#7mM`>Da@lBuyHL>Icfc`6K5mj+#M0EFFK z3smvKV8ys~!JAQe4R&5tA6Ehw0V4<_4Fhq=!3p<(%9(UEWTGQaka+R>YMssX8>$2p zCdf%6w_$k!E%?qe47Pi9JLQBwF9Cqmep+od38w!aJZZ=$2dPEXk>S9RZzjOhooegn zISx$cA^|}!5PA*IMm6Q9rEN1pCb~E+T8k%mKw=_Vc-wTlPo}tRDWfEnj@C~J{)=<8 zQYNxOk*11!`z75e_B>@5$SZ*Y6MI`(#b0O1><)Uvx?Y{`YuAqDj{#ABHqOG2rq#F$ zWI0p(xYT=Equ-IJc{$oe-lQkY=<)ytCo_NSR!IU-ccg-{ z!C?SpvVkbWPG`}tF5?JyvZ^AFJKxy7$w~#Yzxscjy>(cX-L^LVfW)E~At1eI5NYXL z(jhIKih$BBxo8v#QA8x9K}rOq8)=Xfq(K^y4(V^Q_xtYi+uzyOcb)U&FD_VX&N0U` z#+dgUbBy~byRt{xXgfDH(-WZ2FD+;L3CE!~V|>9y5s*P0-Z}mTHby$oA1n&HzMB9f zao|;D5wI_wXG=7TzdVO%oJWK^mLv)=O|DY&F1Vpf@xg-KnOEocz(Zh%0)+jr^|$|6 z`xAsKezA64IhI!vg<>HROf4brb@K2K>yq%E@;OXM5@JncLaeLap0YM(e>1=_DQyCd%+yt%bClI?#M>2=zeOjLS*3O{j2y_O6AA zNbZBooV#Kn58ex-(3`o~bJFC{G)*|QAd83h?B?Fxj5(6+I=>J5_-OE3?VN=1s}@F=vn!H_dQV}`ctOF^qNZxEg$wV4U@hof7&-%_8xJ+3O9yZuuDf18 z1eTnb!jS>kh@f%z!2FjAmVYmY5sKUNT0$b@Vd*=xRuZ>$bkuJ;-Jri3hWycB9lKNSOP*v zQ%|Fj!>;u#6i#oP{#J%e4IZSnYYZ-LdA_VfY9L+F(0w`-n&e7pqJa*`Ahh%pOo;yy zq}5dR`QEY$T3`MSjjIh(epaXP)<)_tjmn7Pp^_KgT=y(e80{TtC`q9x(g$da@1ZS^ zF=rRo?yv6!s4X;9%uyry0Mwu8vuHPfxLUckBjTd|nGus)(;nn5^Nh$%D=2b6c>7PL^sG(R!EfZs9`d-#+udQsMvbS!tG_ z&r{<1!Y{63{HTE_^?-Oe#zJr*|2s0TXP=_)pgLzh2d~%Gsf7Mwb8E zY~au$2c-1&U*hLO2I^=sWg)RwC%Ya}!US^9gLnb` z&|mI7$_)X}c^CX2eUj!Fqj~&4`J~yl+;y}N|4Y3nT-3<5Y_;Hl{Ue;bNroc5(JfxF zL1sY2?DYTUoBu5U{Y%-%Vswkc%W6LvG>cGSfE^=%WZH^7dXS$y_{+Ei8t;WHy2W=X z4ahwU;%!O3o|g*+y_?5Df!~?&%zlC2qRAlnuzxMdEDvIr`j_thZE9J}W>#EOCUC$1 z+tB{aa<*_#yqM7SdjE=E178j>ngPRBJng^!^lx8C1DgBFPX?JE0U^=;4u@@cY0$ee zZq_QMWhN*_58#R5zwLG*M+gBZhZ3Gdf#9AxiP>z13+enrDGP^3mWH1@Z%*Yv3?32x z`h44#<-~t&P7KgvaAHezC55y!Ag-C^o~K~FWN+v}J?~mO|Aa^=db8m5mOPDtTFiZP zXr@2A2FzRuu`W6OwzsNh>6C{I%DoO>VAm;)tfGtV^)&^-j)UxwIzn*taXY`h#X8kr zn_vwNl+E;8`gPoZ@BRfMTeBYAo}blwJfK?-Z2Su%f#;7(1-w^}9~Mys-bOHcr9CmY z1Gtg2J<9#2uXu5xa^S!yu-%Rq=zz;Xokb^>(4}wGv~9C=zh5lB8My#%^ACAxFj0#Q zI;vi^fGw)ODG?qoX`u6)ZEC~%cH&-B#ox1KL8#yRm$_bb{KRo_etY*V-Iwn1eEam#K_11d&DgYS9KQMz0THM}Ip{lUXut#k%wc*Mf zK&G@sNfbt5kKR@(M-=HA-o1Dh_xFJ15URaFK03zwQw34)mE`<3Tj=Q0!0f`+HPo06 zO%7Zs;MBMt8UvdB1QbLTC#MSskR@rawXWMv53jYF_PzH)R zg)Zqpg71F_VTi`wtBDoFb%C$j`0H9n&Tg=LB)|=vvQTsU>|@VmPwi74izo{u zzidvQO#|Zw2Pn$Zn_eLLYhn3hXi!_OC)@k@AUxU=8#fCCtC8r!5*_h#&v6{4ilHpOJ8q8LYn#va?5Tf{N>&v-cG>pwFYHQ!3E?~5 zS0j*k#*uN+zuRc}?b*ulJ#dhDbw;s0e^uZlCp;4+tZmiKDKKW9EDO=pyo(#~+27>5 z_ThY8v^XK}8*v8}>&_-(YL)JukTLda*G#jvxcc$CjQ*>Wpg+f?Rfy;k`_@tOy;ah^ zAtwo6wd;VxX$q=RXHn()ugl!?Za2kzUize-#H^(9Ay5!c8C(z+O;98jP%A%g7nt)i znk>cMk_7$CVt>t>4*i*lR}KtlK6$E~RCkv(I^1{7Ixim z)#hT$ndLV6z2fuJcItC={osr47S?|vDk7n3WujEouI#&@6)# zql3wk*#eH(j_%UXB}^oniu$vBwB)Ki`{ig$5-vC2xBZR`3n0dw_s2|t%+KP^&O=He zz3HO2zhizyE_l_+3ATyti?e*i7!bti*1uo`#q3OV62!6h11dIu`*^5Gt+lvy0$7GN z-!6mz?Hu>fcHV`1KN%$!eJ0A`R$2YtGWzq!wW7BtGbGxuosxzzsm+-O4%d7jiB3Z^ z9}07Pp>%!Z%CY)25eM|gxcte4JNvi2bTQB(rc{c|oCkyp*G17 zS9jIt=l<86>=#r!6OI@k*ya6P%*Xa{1RcS<>xj7zi?cd3^ehSxw{k}`vPu|Q5qB4wBzw-c|W$omQ z02L^JKVjjNoz9$)-J z666_2<>TgISK+T#JTq!NoZGZpQf+Tz1EXwBh^c`S+*fj7sJpr@e03*#e^Tvw>7z}= zS$nqs^p6x`8XJ%?@Tjx@PzM13E_LKs*oDej9&lEz`#Cel>r&j0p$d9%aurb$B%v{v zyM-TSq&?-;V)R(vebA9<^NMomGC#;Yn-c_ih?@XT$odigMjDEz1hy6b{?Q)VH%&RR zbf=#vT^J<+)l+PHBR_*$ff;j$&r#+X1R>1|+)>?gB4=$PL==!I2c#AhZ3D7qogu?} zPVfiBY&l4auYfv-o-85JC_=;|ZY{dW?B3kW)&5|9-`q-1j~&~axcy{|;AXZ48PUcy(uCFb0@CT)vXau_M}ES*oLO(hT{rkO z{B^Lj%sd1*E>@=`&Z96eWl(?e73GdnEfr-*v0jDME_z@u4!cz@`X6h39M4~ILiUhO zpYrLTKSP-28cte?J<@rWEadUA|AB}>9@KolD9jPO8DO40ClKK5p}ef zT106l;;)9$7zvj@Y(G0Q{2&?wvT+t8#f-OpUb6SoR`Ig}TBrqcdoT=^P$9T{5%o=Q z?6#sR-~&vZT{}53e$z~hSLb)L1+dnL*=e`Dj)kc#yFs(=G`^df(`T-kkEDF7$F=-h z^x)8j4zseN6bxp*wWZfyb)BEK07ifG!Zw5wP$Uuch-=O4UNqLx#p`pIjh!!owika{HMn*0KRueHfkH$ZSR-{?j74G-VMPKtJp+Z(< zl8HKR;lk1pAJ>Du>XN=pBy3~Jd;DZ@5_uf7<1;>$7gzLb&lSlgJN)A5POVAdeY>Y_ zZ%oR*Nmm0U(9p2kYPzjS+(VQ7Vj!_hE2VsEg%;`Tmf2vxvaPg76y9mkv-md41;^Ng zM)q?XMf|V>xJ`AW7@oyTYNEy=B!gHWN6}~nIqOv%AM{{*k>CQy+=^~|qrS1#wT1c{ zvM*I$(uXS?&MUHqKky4##T-$K;PPDha>TWJ8}MwYgxb6h9VJB-J+4l(YpFPR83cMm z--lg#+LUDY1sPne0vb0J&r7kqL(KNLEJ13^(jcwqLjn8;Vt}g+KHx3f16acD5G}1x zn6#ymH4zDQTsI!XD{G4G+wYgUf3W;j$_3*JZ+qdiE2rX__EI&1qcTQYVH*?Qu;=`@ zk~3gw;~SjV1az%Q}^}_df(6tiP>^XCS=S0?yZ{UbjvEH`C)J}bJ>}3bd@!z zWSoAU>#l$`clz`F;;AT)QKm4nAd|a zs(8WK2ZK&ta$EDHGEkTGQxqs8=7{FopXX^bJ(#r=JdpLgl77EC&*K5cAbT{P*(vI% zXzSCuz}g~QT|6{8dqJM=brA05*J z_)|FtDSz?!gJCGE1W);76yps!*AK%3xERhm?+|}8(wYjb$!|)LQ>eI z5UKry3u8vVA6#mo(8MI9E^s?3)IBvQbgYz>NvGm15gB9+kuOOnM=VXDY2B*ndv#;= z9kT&$_#gqHm@fW7ibJn>>V;fE-&|EnOG|9!_#DB@HK+)0{PpGxJrpvI+0;II$ahlj zC3o+E#GhUwTogYVHOI7TSBC>{-v^ZEI=LclV(>!qy(`o;Tb*@nF@YmzOT!D^vEDy&i!~@DV0cYoC_2b$qXX@CO8?njvGcz&AhZ{!t zL|7V58YjO^`SliALDp6vLHw&Fc<(bU+fOm3v~3#~f^BmTK^Ach=Il;26ePa3Eka){UZKUFL-u`uGT{jm z*mtUQQIzc#ga2`BH^2vUw zetTbP#%FXu^d#N)>wx&PW+$Z{YCsiv?>1Kbjisg=S^O>zYJ?v&T+>ya|M)H*kZAz| zw%_JV?yFy~PR_6}f9nhh6%`k*+8>plfh(f9K^_b}khYvW9hq;um%Rg|WUrQO z9OB~wsPz%(Pc&)l55Jvb(M8nEkOFe9cEa89U zY5IN-pfePt|J5YyeoUHzRxYFi>2h5&r}jh7gH=6i00l`rQ^XBNk^97rvWhJ=#t&;V zm;$2GHrsn9!_O!W0bv$X6wM3=ajk`VpbG)EbOG1cvnK3T-ar2HqMT#CfT9lrB5@s2 zK-0{aCqFT(igZt2aGHJj{cU*rPY%!#j9Aof&)$v9ubuh8n?jFDX2wt|bb0H;s@c!kqBt%m7WpzsRNBi;2LA%)y3LB^tv;nvy|8u6{Nu2;pKKYd2BF{j|Q zEo%#@Y(L*y$G$+*ahuo`Wv8WXkjRZt4;A2e;pj~d7XE%Z!c78Bu!Rb;O-5eYiUOaa=IfBhMMTF3AEt!=& zOt}B>I^MrvFUd%wPpgZL@b|j%HC^9gBf{Q>^~iwr%3MM!*r1l8=Z!}`<&G+L5*MX? z$k}l&+mEr$SkWy08Mqf)UI^mH<9bST!@((FXuT)gt@ zJ^L_3gH?kO9j=%Is^%Wszg(|g@2%pv47PxKb!{oSu`q8nPTkaFxI4~;_!3kfM~|hr zyu^YFX=B56zJ`x@rQHD+6JH{r-UgLUu(idSsCD^lAKxQ^6MDZ4NZq>lu-|a?>g0~xgR83mJJ{E_IN#cyS} zX%^_Uf<0&(#usUCKPDhlJq%h<1}v4xNY9ntGBn|JXCANaPLo2tl4vOWmcBr_u8ZdA zP&*H4qAv$n&+2t#Q7g`oq^WExv+|)|*5*vmmAPlvnyZ z4>YY+_a}h+RT4`gG^#sKLxc$?F4ktGErPO6ZmI1soj`Qc0Lgc~kldAixpesumQD?n zP5mPswDykeX7&Odfz^z_8;B%^ zK)mmgiH;Y14}3MC^khnvQ2r|f!UIhdeNAJ|t@6&Ksv6az7l? zHo?|=+2st0briGca^j(;TWH5Wj*mE5>Bd6PUR|ckI)PLj;CVf9aekwdtt8ug2fHd& zUi_ykQ%b?Yi_D>(@55UGUr&7dJu48ZE2j+En&~5KMvBs1ASbv#{(9KHg5{8UcbPdX zD`4@7op|?f5SdnlC7RJQYQn36WR6>aG7<4$x`Tfl0}+PaJ<;E3#JV)_YA zxZeCla+wsXF!D=Ng`m-35g>$>2b3~^e=g$4nTVwwgW|Tk4G0(~nx8i4F`APKmF)zE zhKGy$t{4zuSUkUV2rf$W<_KQcrV7UExRhrO1wVE^e(1Lcn%?cCz5&M7h=YrE-;@(a zQY+m0KyV4`y`6K`bzUG1L*>7YUr?nv(Z3A>fJy1A#$oQFTSdK|oy$IvSrK+Ed{dx1 z1FO%gBJ5N^9VzignZdi8G?VGA*!v$q{1Cw9W?I>qKvXM0gd(G7*0^Y>_TD031=3 zwD;EMubj5)ud?&Ygth{|6k2$DnCgz|X=#n8m{Q1NGm9*xSjMGbblY`_c3O71Q1aso zECsEXn3(#{`rIGd{PB`E8|O%5(vAKc0ob_OMhW;+kTCim z_BzjlNyiP`myoSjgCk8Ae4qQ?FFWN%N=0+sU2n^ft(Lx+A`3MMenKju)Z3fVRCMCh zMMnaaO5Wriz=V6;4khlZ497lNWDZ%`E?plc*#6wjZDpl?*W|fb!{Si=Z=s7-;nc}< z&V>L(O8u<(eVs95nii*?q693=<}Y=0(T0varMQR+nG`8gvMk}#uj{MbVt1zP+}a@@ znBc-01*vZr1M4gI7nkd)dF#{a1b2qp5hSg!Mh)hRj2EByjxP_3WzkSW#mTW)TF|IX zp0p;s6@wA|_i5+HIf>U}G|u@Ol}ga(6~k$z;n@-HXrsqkXR;!Ha*|@mbGS37j(+_`(Tbb7XM0!Dtz4a=q^d}3(i|81VR}bdXIxbt6&IM! zj1^+gc-SDy^(KpgBwLvX?ekf<90#n;)trIQ(0+L8hPCb|c!1{WRl99;`GwQ0s_U~S zs++ICl9mDKEa!VGXA-s3UKsL+tQ@4wpFfjU)t`HNE&7gFdOE?vaL<$2FvRsVqR^*7^^^y0NWwiErD!1(k?eAF5=wB=fBkhT)m2UH}dRg7gWCI%}#W+e>#@emWD z3!Oy1xn@nCo~2&>llCLyEboC^)k8C^ue#1V$&>G!?sioO%*|oA=~1yj7Wud` zc6t%JwH2*ojA%XemqT|I%ule}Hj9Ob2AjS0*E!$KVId;Oht}ZFA8~kVemZ=iYWM;E zq`D?4urh#GE(;MAti4jp<$dwzYJnn?784CZ>d3ALZJKqVuZfZmnV^K6MZEJtb0Q?U6BK3Eqtw z^RLRptpwi&S8Knno$boj@V8zh9sT)5U9!J0e~|WY&%@v~287R}|0@a#9h;@kbSdmR z2zj$vgy=j)zV0Fu-%WSoyuvhFy)F4O#l7+f^^5+#ayL;| za8CUBeKX}jr$R2Df#b}tE%0mCl*12vmp;Njr&aA^tX@sO;sfthHY#n)jSaUuSkfSB zGJnCw@1Ka16L4CfxTrsM@SsV=i|`FR6|R@IY0!xy8A9>i#5f8;YjA^v*fwclJEE@l zY2$cPQD5%WDK$q~Zq9)LOhDvUoWN*+b4o{v;JU6}FqdNgW7OS{XA}wF;k~TKH@#Cx zFTeKJZZZolTs^z2?aUymhlQfJ%n$|hQvn}E-tnP^+TiE~WPzjjfx@9YLx7J^dH9(w zOj_16koTGU4&&<>Qx#_&PQCEEZk^@=zlbo2|8%gnOKH`vUfQ-CTs;iOU#Pp&X|f?I z&MqByYJ%utkho~kjAkwQvbMBrK^kW(vxpzadfrg_EXL^Z-XN2`NMeQ2gdBebO%o#3}eRV^wTnQjf*WCb^(#p0>Mkd5e0 z^GWwTOwua7tM)A#WsV*gTv9WJ^M&MB^koqFqlGPTJg3C9#G12tQoGitE@ayHoOp5F z-17+kDb|3o8?VyAy&PGc@jlW&M7lS8&a-qhD+#Pa3XkfhRVXjUlTTZN<1`r1R_~cV z;+a?+?DsW$P%^bQqbVPBu^Kf*C3zSb$|4KH+bMI|Ni5=BH&I8PD7hT8u#2aro99yB zdGf3u9h#S!_3K;akmcOmyA%7^;q$tV-A@D=6zSuUmOD~=kMR4gCu0Ub2$ENx_tFs< z+Pg}-yI_U-&4)S49uAb~Y<%l|(-I`J&R5bk+tqw?;szR|f$891b;1al`BV~&qkDg= zc}f>;<~UT?kYgkhDP&N@a~!F~W)4d!(%$3`?Q@T^-SCN;Bzobtr+cyWC>Z`giYmr7 zP5pb7WR5b3qCMo>mCyW61X2Z<-qC{>M1br=51)j^MQ*g}m(V8J;6#AHGeV_BCxq zA$40a!{9Qi-=y}{wuZyDJfA!;cI@AebevV)yUE}hG?*gi8WdW3WA)EWkjwkBS;Cbd zcD2p+hl4Ke+jfbKbcJrhO=_&eSIQ9Ny4?(T=b}-|n|1 zXW$vJ6~)+sU}PxFCzE$%;%2j#G!{+{^d3u4%iI|H|Q0&#iD- z`@Y@O9SsHBY3R1`H)nuj=7R>#h_;UEWY0LYSo61tP?{O*zWBBus(Y@`#54r*)j!+Q zAO%~z2!^7iZkeAYf6Fu_9H<&t9c%SI-Vmp|GxKny^O7~ZAv*_0H8{>8F79$mCYpS^ z?Bq=TSv}_``qih!+fb4C+FlW{2$q4sL|^QQDq0*m3)UJ}#gDl+PoCVoVA(P*Ao`Q^ zBzDFA%lg#kVM5(VAvpTGr?Go!U$ALvU3jjJMb{t zO&+)PLSp{*MccRdg_IFL?6YRW#PT!qU(rE6L`@Hcyo;b_%P65nrEhJf7^mlL_w?BT+cJl)5z=ygtVE{7F>uiA<4d{0F#a zTBGy~X#>0SMNw_iz@aalx}nn$MV3dJ>&HEN-y%pU=r&s4?B%Dci1$@9xvIjF)>#CW z9~T(bh-3Qf)UeKuOVeo>FHA8JxEB2jaQ{wau@4Hm+MyDrO0jXT;-L|OKPgjl~qnX`Q$RLMFQ^KAR z(g~Wx1&6d}f(5O2PF+}p3q~_FUM-F5Ijm{J-`^nl_2Q!3YDPBV_O!0he#`rhMTD&v z=80>5;VY*viVV>q1_5Gfl2-p6HP%n%Yil_e!gn<7c91)LZg*wdWrlP^%+`tXnruGW zBjK*foNUVH zR~Hx|RCu0gHP1Gu8mu3GSrQDt$RinG?3 zF6F|~!qU7Jel+7GmdLJB=!n>yPnW-sE2hCXO@vlh_6e&bFZS%)TIgMJqDj1a)lCR~ zR!Dm%d{k6n8~^2g!}$smw`pDBQ3+;vomK_^tj>b#PcoGP{<|`=@K&tGr_7{?(TRZc zj`15!PG$KUp8IWRHcup|>S1ZBDbyznqaXTnnS%$lHT{Ea-G|6RY$kQh)SauFthK9M zuwv;6HZ^g3wbr`9>9Fr6-z^I0P_~TW$Bzd{Llx_vZwl%Q4FG$Zly=aMqNt^@4 zvg||$iYhE(%&br$bIo7AJ!D+MhJQ4V9-`OnNq?TgxmYG;ZqGCwi)HZX_*?8V3PaH0 zmxj|y501;1`#Tr(3SZzdf3OWlZuiinEpvIjL%vbQL0vFHp^+gWN70QgRHe;JkEN=8 z9vISw?BoC5Q+@ER-fXar>4LURWeigWSMG-M+9fX^Og*iZg!$1UG0Sx=@(Oa+f@+cq z@-4yd-f^!u^lu>Fz|k1wXhX-$f8AU)^eq#=eA~)P*moFw>qc@+x@1<1G#81=p5AwyU>Jl@NpHnm2zWHc zbK7mL=gw7%a|rXcJ@q$6!AT@VlVS3m)1xX2U7nIJBXa_CT_2%*qOJRy1;ESl!A>jU4~mKvEy zL#}VX8wgc^vQewi&#kJH72Bc7^8)KiCd3PMV?&{_w+aMAY6;}9#J-PY`<)tHzivLRJo&nqO6aK@XH zp2Sh~7$C|4>pVU2ItXhXmLweCEu{LXIS0ooD7rs*5FG@Usk-|d2D4PaK*c%D$FXoMai*V)>rR`w#PZ?Cxzlb^Z#m2SWocqo(m>c#y8bCgowFd9Ckd<8{^~5BFl2CPDs3-B{62QmiAqr= z6w~X3$J%t_B>J3N4jNy?(Zgrz7!ggtl0$C^n%+yJ@Hyt0q@_78co}gd@--)vk}@-$$OtdcG;<_4Rp|SvbjfdwV=+$f zz7OtM7*hGeOBlZ*@yEE`k4Wxo!Ek8K|HRB6wrOz|y4RGc>cxLpZTY1!9QKP&-RS9V zwU2w2df)((X&Y0@_uGf#GpE zZ(o+QFo?*hyizOf3EsS9HmzMBI;Rzi&C>{MLb7TDs8uSzZn64N%t3OiP%W&VX@feR z^mc*7`|6ILxZ&&-(PVoOFJUMF5To7(Jq5(bcJ)MQ#|=&iuM9WOBKhsbSN5Kv)1X-2b}Py31y>48>`rwQ)|QO`_bChp(z-5BO$mefzcoG0e%rJOHCWS$|ug&Z7{GID`%v`w88(#gZ}N9Ms9$K}AcQSZ@b@9*>6RGmnVGX(}w z1Nr`rYRtRXCrhpT;C!-Wnls@TpL~*@Ai?+vAkg!qU^oO>(>W1E>U85qiQ^&>1wvaq z#Vj==y5n=v7K55MwmD&U);KB(UsCS*(r)5i4>|~ne(RAc!l-i_;QvT5EIA*G#A%0C+M--=JQ}oo@|E%-CEzi z4U0vBAfgO6>O8->seHz1>X?U@C$ATKQ^eXihPU{W>6M82!i$hmSHSij6bXek=P?PM zI^?v^3|fU}eyUGHuq_xl#E)%y<^RyH`*awix}H903l^OO&EDNO8EW*>d&c|1)Vh(Z zE7v4+f#R z(%|SJxxc7U-fFFqoQ(H7H5l~9^Et%MWwu711t74IZ*xY$RN63x^rjP=Kby^@PjX%z zqo}dO|Y6*^u!QSr`hQx z-->_`rq+GIeXWG~#P{j79Tc>wxl{)Q+qN0{s;A<(Ns1UU0y6w`Pc)=y3WiGCSsf%- zIJXff`H;fMC+0a1CvTQLoFW>o9U`s9yP(0cDB|`K;SW0f(d6|e zOc!L5;B=TN@5X&QKX!7xe()RbefmfK&Di(y?wi`dEB|Q=1~r) z0gESZw!}kdO7y0Kja;}))07Vqpw0BZWR-G>mY<6z2q(yCDuk=k!BG4CS37c$+zk;{ zr=uvHfeBUziA|7S*(l*~8HgoW32B7WHckFiE-H?q3s6J|M?zgBnw70x0yC;kt#GbLVn4at2O7mE# z?Yt2JPUPM@@7;ItC>WtKHBK!!?UxR&^6FS2pNqmR&dAk_=+)W~u(R9j_1!2bPdKYm z0v6}of;g)W+{r3(>T`WPm9%d{iaCo-7ZlQzJC@b27~Fu>@5fugb|D!y4Q58HJwDWX z-l6WN=^9e!b2Ey622Ly!gRGh(cp@wlP9RTA423DfJw~gG97l-pe`~pSYsgm9Ykeyl z;Z`@GeJPYUo#hOM;oGS;-=xbTT=W1L!j+@O@Zzoe+}4$^vtJaXTg^w{#IsZ0m4nF0 zcTV~0mO7t{^&gK5BDXo)F1m!p^cQ!_KYutcual$LMva(06>r-flv@Zgh@fo>!q-dWf2fvSO%i{EV;Df=Q;FJ z?k(IxgcvPu&Z0jn=!f_XLGoD&t+CbYE93+p44)Zu?m3Iy3?f48{_uLcqbnw*yc~GR zU?j}_eQr6t`a$wiSivw83c;3<$tk<|!0=#*H#+S%&FeUeE*WhO)<#+~v^af+>DZEI zwkrZq=}B+2gy8}bGNdU-9JHKy`3O! zzbG}8^)_i*8d?_Rq{eB9qerP=KEm=!vUGOf7a{~^a)%Mx!wwzW74FEWb56YX-D?!b zM*{09Wq*het;gEbXR+)Y&dq{I+0bR6b%5MAynt(U-X8+#m`R}Q1{6gj`jA*(1` zBhW|72(=QihVSK@1^y;9w$kp?t+Rcm`$^WsaoREy@w@>u5{7~eZLFp%cwZ7GPq`KB zF>X-TKmX+=$vN|D2QAb~B~Sx#1}t0HWb#;*_VB&KPN=5bwl3A4cifCQxR@M2`%3R4 zox!XB#>^dpuv?VnWOdY@U z|6+6Q-d&^51Gz@(#VVa6@GV8<1>X=s;x)_|7%DP&NBsSfpJAp82NBh2zL3d18PxQ1 zHoI1%C}Emgl0{g=(87(0i*2GI+asZf{l{^ivYzNMQbl@HAE8v|F2lQ0meyg65aYm{ zpHr5)OG@oG7*_ZiE_Qe}J`x&`SG>2xQ9mreoviVe7!6M6TouFpK7=AkH(+ep-Zw#1 z%)l4G0gE-O*HgzmrcH533>h?38+o?^tewcjR=ZtK^R=nqEa`s8JVEcsIfu6$9~Y$pKg^tA{a8K zEb*of7^<+dbr{NcdFxCSi}N)kI$qzRGujE2tT7@8!Id# z$Pfj9hzi57jmI-~D6cU>pg<6gzT>RB0%M@Em~06x^T4Lv5FcM^Tpw0j+XZ+)LZW!U zoYXXzx}t1)0nG$yIk`@?^YrvB*o-?ng{KwfC8Qu9>uAzTt7D%6O2r>ORTArui z4}w7%TIsLgJuhD5QcBpv%tT3!b*Y3*mau7#=?FRK5mxA#`R|)q zmQm`BF|`j0D<6%iGuvr|^^UuIz#lh=RQgyH#{ndZX4T^xED1~rNVOXTfGM?U>s3;S z@?$S6WijWm<+41djt!cexEDcJ2=sJohG`;=y0dMpJ5$s!vylg@hfJ-`dn&;I5UxGF z^7{Hc#QOr73jn_$-snb?B*XoS)uf7rIB<$7U_$RwY}QPe$qRmgb^w=Iw>YgMXH0@a zYon2mwZfPo2G^mujbD6X;L2V{UN0D*=6pRch3i)91$bfE&j^zn?%i)Nq!Gs8`Mg(u zQvMaeXZ2BeN~2oWCV!Ii%I2eyEi*2mk?pYf4eK9qFx1L!$<^2Hso( zvf^Kk=d$!(focE{%4BT$))r&o5>&6$%$~Zey%W|5GlDV<0iqY6zBO5$>0M|J3TY(I z8^cgARLB0KPRfQc@ptc@%heSaZ%|oUM%%KMok@ao|K7N!b1DmVQ#v|8{2k4?hkoN{ zH*Ziohy`%85To6sw)1aW@!xvi8Dda-UpU`kz`KQjngngf`;YH$l51?WCG|Xsl2g9$ z7v|i0Sp(rJm4&80K-@^7>vI#$o7FGBZ>~13;dxE!8vf=`O;fp*7UA0dkb+du!&H+G z)h~5nn)L#PQVcO8*(Q835+~1^pkMI&C-y5BebwQu7Z?O47N^@8E@X@sw3vt~puRHn z`rFL7neukKTp{2Jd2Ludw(WqEAo+Kycl^;=#6)#MOZpp%S_SFPDj3ae^T~c2t6;Nr za@Bh_SZDrSQaa6TfP!i*CkO_fjrJJZ5(!xLSc~OZZPPm8UPEzo#E{tCj}>pltgESH zG8v!LYVo1y(6v%uaih-=%H;L}dDVJ6oTu=J;a~JPA zS(J|NZGOE)v_6SC(yOJx((}KIifkq@M=>x4$+ZZdSw^ZH2t6c*(BR%m7#Gb~TPhFc z>vX2NNv!>ae@RUG3Fd3ct`~WqBMrb&ksaG>H=pudO?U3=L{csc-D7z3{@}FrE_Z~O zI>BV&&-BQi6_Yh|hVK=)?IolQidCBAfuY zi|CEivqt()Zci;?LGLmu-FdCYw^`SZ)yX3sg9LK)=YlXUXr~cef9`MB*ygE!|FRLU zxqD$HGkASB=1^6`sL)}EX9*H2aXRzFUpQhuQ^aI*G2>coBoz>dTYIzWw4NE#H9v literal 0 HcmV?d00001 diff --git a/examples/Indicators/composeApp/src/androidMain/kotlin/com/ibenabdallah/indicatorscmp/MainActivity.kt b/examples/Indicators/composeApp/src/androidMain/kotlin/com/ibenabdallah/indicatorscmp/MainActivity.kt new file mode 100644 index 00000000000..39e917426bb --- /dev/null +++ b/examples/Indicators/composeApp/src/androidMain/kotlin/com/ibenabdallah/indicatorscmp/MainActivity.kt @@ -0,0 +1,49 @@ +package com.ibenabdallah.indicatorscmp + +import App +import Indicators +import android.os.Bundle +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.padding +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import config.IIndicatorsTheme + +class MainActivity : ComponentActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + setContent { + App() + } + } +} + +@Preview(showBackground = true) +@Composable +fun AppAndroidPreview() { + App() +} + +@Preview(showBackground = true) +@Composable +fun IndicatorsPreview() { + IIndicatorsTheme { + Indicators( + count = 7, + size = 10, + spacer = 5, + selectedColor = Color.Red, + unselectedColor = Color.Blue, + modifier = Modifier + .background(Color.White) + .padding(vertical = 5.dp), + selectedIndex = 2 + ) + } +} \ No newline at end of file diff --git a/examples/Indicators/composeApp/src/androidMain/res/drawable/ic_launcher_background.xml b/examples/Indicators/composeApp/src/androidMain/res/drawable/ic_launcher_background.xml new file mode 100644 index 00000000000..ca3826a46ce --- /dev/null +++ b/examples/Indicators/composeApp/src/androidMain/res/drawable/ic_launcher_background.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/Indicators/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml b/examples/Indicators/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 00000000000..c4a603d4cce --- /dev/null +++ b/examples/Indicators/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/examples/Indicators/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml b/examples/Indicators/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 00000000000..c4a603d4cce --- /dev/null +++ b/examples/Indicators/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/examples/Indicators/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.webp b/examples/Indicators/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..d76a398a19849f058a8e95905b3db3d35fe2f03a GIT binary patch literal 2632 zcmV-O3b*xANk&FM3IG6CMM6+kP&iC93IG5vN5Byf=1|bK4HNT+y@MelCZK`}VVSSF z*|Yb#;q?ElY&k7(->CpAle@di#{7Or012GQnRH}zZ(v34xv#(Di9iUZlM7ZlP=yYZ zcqIX@PXXdkhZGusmB}gM`eY!@I}*cbwQb9C4}dkI`)}X(OT-fi)?ffKD@fD&C){lV zX9(TGZEf31bSpw5GD;()3JS33GD+G?fHvRc7yX8`G0N!w*PS{`~SGKH#RmlZr|Q`D7&fz4O}8UwW6#fJnzN!>mjU6pt*36rCaHh{(day$<9w~OoPt55UEb(`G|~VKiIvRVZGLi`^Yceyze!BTSjomn9&m$0MPN zT%m_i@_WVYOV+hnbHKk$1mSBk@bgMmA(coB;rlWXbce6SghCctg&w<-UsHmi$f_nK zhVK@_{@=117Oy|Lr0`Q0y2R3ELkrqCu-02X(0LY!%9qHFfsh^eia`=i-DntahVhEd3`nSYvyQgO%0AikbxM0a6pliC7 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 I;Qj;v0Ju?tV*mgE literal 0 HcmV?d00001 diff --git a/examples/Indicators/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.webp b/examples/Indicators/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..b7b7612c9ce2e45f970b1810e64f76be35583aa1 GIT binary patch literal 3836 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 literal 0 HcmV?d00001 diff --git a/examples/Indicators/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_round.webp b/examples/Indicators/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..1216167d206cb327a73129cbcef95b7582676a59 GIT binary patch literal 2432 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 literal 0 HcmV?d00001 diff --git a/examples/Indicators/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher.webp b/examples/Indicators/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..ba84fc1b5efbf48a537f8a93900f8e42c990196a GIT binary patch literal 3708 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 a4IW3kO+q$tayfvUg^j5e7IHZ!zHJ!D2SbMd literal 0 HcmV?d00001 diff --git a/examples/Indicators/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher.webp b/examples/Indicators/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..e8e03bf8be7a7cd9a4e75a7c33c6c93cf8fd7adb GIT binary patch literal 5288 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 literal 0 HcmV?d00001 diff --git a/examples/Indicators/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_foreground.webp b/examples/Indicators/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000000000000000000000000000000000000..7d83f569b865760156cc1af53a197a0256d6a7ce GIT binary patch literal 5842 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 w8JwPfnU6VBZ@uENYo8&4BX$4uRvt;}|% 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 literal 0 HcmV?d00001 diff --git a/examples/Indicators/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_foreground.webp b/examples/Indicators/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000000000000000000000000000000000000..5176cc70e030830e742a3de7d9cfc3e831606bbe GIT binary patch literal 7982 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 literal 0 HcmV?d00001 diff --git a/examples/Indicators/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.webp b/examples/Indicators/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..4571f40a66fa8ad4cdc04ff4e7e089a36d309605 GIT binary patch literal 11130 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 + Indicators Compose Multiplatform + \ No newline at end of file diff --git a/examples/Indicators/composeApp/src/androidMain/res/values/styles.xml b/examples/Indicators/composeApp/src/androidMain/res/values/styles.xml new file mode 100644 index 00000000000..152d8ba1bac --- /dev/null +++ b/examples/Indicators/composeApp/src/androidMain/res/values/styles.xml @@ -0,0 +1,3 @@ + +