From f299dfb3a018db7b66ccbe0ca937d19cb427c431 Mon Sep 17 00:00:00 2001 From: Diassdp <149257568+Diassdp@users.noreply.github.com> Date: Sun, 19 Jan 2025 11:52:27 +0700 Subject: [PATCH] First Commit: Version 1.0 [Non Optimized Version] --- .gitignore | 15 + .idea/.gitignore | 3 + .idea/.name | 1 + .idea/compiler.xml | 6 + .idea/deploymentTargetSelector.xml | 10 + .idea/discord.xml | 7 + .idea/gradle.xml | 19 + .idea/kotlinc.xml | 6 + .idea/migrations.xml | 10 + .idea/misc.xml | 9 + .idea/vcs.xml | 6 + app/.gitignore | 1 + app/build.gradle.kts | 76 ++++ app/google-services.json | 29 ++ app/proguard-rules.pro | 21 + .../healthjournal/ExampleInstrumentedTest.kt | 24 ++ app/src/main/AndroidManifest.xml | 50 +++ .../com/healthjournal/algorithm/Algorithm.kt | 111 +++++ .../main/java/com/healthjournal/data/Data.kt | 23 + .../com/healthjournal/model/SessionModel.kt | 8 + .../healthjournal/ui/custom/CustomEdtTxt.kt | 109 +++++ .../ui/dashboard/MainActivity.kt | 227 ++++++++++ .../healthjournal/ui/dashboard/MainAdapter.kt | 73 ++++ .../journal/detail/DetailJournalActivity.kt | 92 ++++ .../ui/journal/input/JournalInputActivity.kt | 127 ++++++ .../healthjournal/ui/login/LoginActivity.kt | 57 +++ .../ui/profile/ProfileActivity.kt | 81 ++++ .../ui/recommendation/RecomendationAdapter.kt | 40 ++ .../recommendation/RecommendationActivity.kt | 99 +++++ .../ui/register/RegisterActivity.kt | 60 +++ .../ui/splashscreen/SplashscreenActivity.kt | 21 + .../ui/users/UsersInputActivity.kt | 101 +++++ app/src/main/res/drawable/bg_button.xml | 9 + app/src/main/res/drawable/bg_edt_default.xml | 8 + app/src/main/res/drawable/bg_edt_error.xml | 8 + app/src/main/res/drawable/bg_form.xml | 12 + app/src/main/res/drawable/bg_input.xml | 12 + app/src/main/res/drawable/bg_login.png | Bin 0 -> 59227 bytes app/src/main/res/drawable/bg_profile.xml | 12 + app/src/main/res/drawable/cuboid.png | Bin 0 -> 843 bytes app/src/main/res/drawable/cuboid_green.png | Bin 0 -> 881 bytes app/src/main/res/drawable/daily_counter.xml | 12 + app/src/main/res/drawable/frame_1.png | Bin 0 -> 12740 bytes app/src/main/res/drawable/frame_2.png | Bin 0 -> 10982 bytes app/src/main/res/drawable/frame_3.png | Bin 0 -> 9510 bytes app/src/main/res/drawable/frame_4.png | Bin 0 -> 8472 bytes app/src/main/res/drawable/ic_add.png | Bin 0 -> 9015 bytes app/src/main/res/drawable/ic_home.png | Bin 0 -> 3322 bytes .../res/drawable/ic_launcher_background.xml | 170 ++++++++ .../res/drawable/ic_launcher_foreground.xml | 30 ++ app/src/main/res/drawable/ic_profile.png | Bin 0 -> 4083 bytes .../main/res/drawable/profile_dummy_img.png | Bin 0 -> 1485 bytes app/src/main/res/font/poppins_regular.ttf | Bin 0 -> 158240 bytes .../res/layout/activity_detail_journal.xml | 229 ++++++++++ .../res/layout/activity_journal_input.xml | 320 ++++++++++++++ app/src/main/res/layout/activity_login.xml | 173 ++++++++ app/src/main/res/layout/activity_main.xml | 405 ++++++++++++++++++ app/src/main/res/layout/activity_profile.xml | 305 +++++++++++++ .../res/layout/activity_recommendation.xml | 176 ++++++++ app/src/main/res/layout/activity_register.xml | 198 +++++++++ .../main/res/layout/activity_splashscreen.xml | 10 + .../main/res/layout/activity_users_input.xml | 299 +++++++++++++ .../res/layout/item_goals_recommendation.xml | 41 ++ .../main/res/layout/item_health_history.xml | 124 ++++++ app/src/main/res/menu/bottom_nav_menu.xml | 15 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 6 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 6 + app/src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 1404 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 2898 bytes app/src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 982 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 1772 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 1900 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 3918 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 2884 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 5914 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 3844 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 7778 bytes app/src/main/res/values-night/themes.xml | 7 + app/src/main/res/values/colors.xml | 16 + app/src/main/res/values/strings.xml | 10 + app/src/main/res/values/themes.xml | 9 + app/src/main/res/xml/backup_rules.xml | 13 + .../main/res/xml/data_extraction_rules.xml | 19 + .../java/com/healthjournal/ExampleUnitTest.kt | 17 + build.gradle.kts | 6 + gradle.properties | 23 + gradle/libs.versions.toml | 32 ++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 185 ++++++++ gradlew.bat | 89 ++++ settings.gradle.kts | 24 ++ 92 files changed, 4558 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/.name create mode 100644 .idea/compiler.xml create mode 100644 .idea/deploymentTargetSelector.xml create mode 100644 .idea/discord.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/kotlinc.xml create mode 100644 .idea/migrations.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml create mode 100644 app/.gitignore create mode 100644 app/build.gradle.kts create mode 100644 app/google-services.json create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/com/healthjournal/ExampleInstrumentedTest.kt create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/java/com/healthjournal/algorithm/Algorithm.kt create mode 100644 app/src/main/java/com/healthjournal/data/Data.kt create mode 100644 app/src/main/java/com/healthjournal/model/SessionModel.kt create mode 100644 app/src/main/java/com/healthjournal/ui/custom/CustomEdtTxt.kt create mode 100644 app/src/main/java/com/healthjournal/ui/dashboard/MainActivity.kt create mode 100644 app/src/main/java/com/healthjournal/ui/dashboard/MainAdapter.kt create mode 100644 app/src/main/java/com/healthjournal/ui/journal/detail/DetailJournalActivity.kt create mode 100644 app/src/main/java/com/healthjournal/ui/journal/input/JournalInputActivity.kt create mode 100644 app/src/main/java/com/healthjournal/ui/login/LoginActivity.kt create mode 100644 app/src/main/java/com/healthjournal/ui/profile/ProfileActivity.kt create mode 100644 app/src/main/java/com/healthjournal/ui/recommendation/RecomendationAdapter.kt create mode 100644 app/src/main/java/com/healthjournal/ui/recommendation/RecommendationActivity.kt create mode 100644 app/src/main/java/com/healthjournal/ui/register/RegisterActivity.kt create mode 100644 app/src/main/java/com/healthjournal/ui/splashscreen/SplashscreenActivity.kt create mode 100644 app/src/main/java/com/healthjournal/ui/users/UsersInputActivity.kt create mode 100644 app/src/main/res/drawable/bg_button.xml create mode 100644 app/src/main/res/drawable/bg_edt_default.xml create mode 100644 app/src/main/res/drawable/bg_edt_error.xml create mode 100644 app/src/main/res/drawable/bg_form.xml create mode 100644 app/src/main/res/drawable/bg_input.xml create mode 100644 app/src/main/res/drawable/bg_login.png create mode 100644 app/src/main/res/drawable/bg_profile.xml create mode 100644 app/src/main/res/drawable/cuboid.png create mode 100644 app/src/main/res/drawable/cuboid_green.png create mode 100644 app/src/main/res/drawable/daily_counter.xml create mode 100644 app/src/main/res/drawable/frame_1.png create mode 100644 app/src/main/res/drawable/frame_2.png create mode 100644 app/src/main/res/drawable/frame_3.png create mode 100644 app/src/main/res/drawable/frame_4.png create mode 100644 app/src/main/res/drawable/ic_add.png create mode 100644 app/src/main/res/drawable/ic_home.png create mode 100644 app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 app/src/main/res/drawable/ic_profile.png create mode 100644 app/src/main/res/drawable/profile_dummy_img.png create mode 100644 app/src/main/res/font/poppins_regular.ttf create mode 100644 app/src/main/res/layout/activity_detail_journal.xml create mode 100644 app/src/main/res/layout/activity_journal_input.xml create mode 100644 app/src/main/res/layout/activity_login.xml create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/layout/activity_profile.xml create mode 100644 app/src/main/res/layout/activity_recommendation.xml create mode 100644 app/src/main/res/layout/activity_register.xml create mode 100644 app/src/main/res/layout/activity_splashscreen.xml create mode 100644 app/src/main/res/layout/activity_users_input.xml create mode 100644 app/src/main/res/layout/item_goals_recommendation.xml create mode 100644 app/src/main/res/layout/item_health_history.xml create mode 100644 app/src/main/res/menu/bottom_nav_menu.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/values-night/themes.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/themes.xml create mode 100644 app/src/main/res/xml/backup_rules.xml create mode 100644 app/src/main/res/xml/data_extraction_rules.xml create mode 100644 app/src/test/java/com/healthjournal/ExampleUnitTest.kt create mode 100644 build.gradle.kts create mode 100644 gradle.properties create mode 100644 gradle/libs.versions.toml create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle.kts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..605fe1a --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +Health Journal \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..b589d56 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml new file mode 100644 index 0000000..b268ef3 --- /dev/null +++ b/.idea/deploymentTargetSelector.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/discord.xml b/.idea/discord.xml new file mode 100644 index 0000000..30bab2a --- /dev/null +++ b/.idea/discord.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..0897082 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml new file mode 100644 index 0000000..fdf8d99 --- /dev/null +++ b/.idea/kotlinc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/migrations.xml b/.idea/migrations.xml new file mode 100644 index 0000000..f8051a6 --- /dev/null +++ b/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..8978d23 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..5fe3eb4 --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,76 @@ +plugins { + alias(libs.plugins.android.application) + alias(libs.plugins.jetbrains.kotlin.android) + id("com.google.gms.google-services") +} + +android { + namespace = "com.healthjournal" + compileSdk = 34 + + defaultConfig { + applicationId = "com.healthjournal" + minSdk = 24 + targetSdk = 34 + versionCode = 1 + versionName = "1.0" + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } + buildFeatures { + viewBinding = true + } +} + +dependencies { + // Core libraries + implementation(libs.androidx.core.ktx) // Kotlin extensions for core Android functionality + implementation(libs.androidx.appcompat) // AppCompat library for backward compatibility + implementation(libs.material) // Material Design components + implementation(libs.androidx.activity) // Activity library for managing the activity lifecycle + implementation(libs.androidx.constraintlayout) // ConstraintLayout for flexible layouts + implementation ("androidx.lifecycle:lifecycle-livedata-ktx:2.5.1") + implementation("androidx.navigation:navigation-fragment-ktx:2.7.7") + implementation("androidx.navigation:navigation-ui-ktx:2.7.7") + + + // Firebase libraries + implementation(libs.firebase.database) + implementation(libs.firebase.auth) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.junit) + androidTestImplementation(libs.androidx.espresso.core) + implementation(platform("com.google.firebase:firebase-bom:33.1.2")) + implementation("com.google.firebase:firebase-analytics") + + // Splash screen + implementation("androidx.core:core-splashscreen:1.0.0") // For splash screen support + + // DataStore preferences + implementation("androidx.datastore:datastore-preferences:1.0.0") // For storing key-value pairs + + // Coroutines + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2") // Coroutines for asynchronous programming + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2") // Coroutines for Android + + // Circular image views + implementation("de.hdodenhof:circleimageview:3.1.0") // For circular image views + implementation ("com.google.android.material:material:1.7.0") +} \ No newline at end of file diff --git a/app/google-services.json b/app/google-services.json new file mode 100644 index 0000000..5b7bbb2 --- /dev/null +++ b/app/google-services.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "739932964546", + "project_id": "healthjournal-3fcd9", + "storage_bucket": "healthjournal-3fcd9.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:739932964546:android:21b91b8876bf7e7eaf9d5b", + "android_client_info": { + "package_name": "com.healthjournal" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyAhq4eRgReA4iBhAoa79hOLJdbxXFsCMyI" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# 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 \ No newline at end of file diff --git a/app/src/androidTest/java/com/healthjournal/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/healthjournal/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..c62a06e --- /dev/null +++ b/app/src/androidTest/java/com/healthjournal/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.healthjournal + +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.healthjournal", 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..7be2c74 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/healthjournal/algorithm/Algorithm.kt b/app/src/main/java/com/healthjournal/algorithm/Algorithm.kt new file mode 100644 index 0000000..2c71ab9 --- /dev/null +++ b/app/src/main/java/com/healthjournal/algorithm/Algorithm.kt @@ -0,0 +1,111 @@ +package com.healthjournal.algorithm + +import com.healthjournal.data.HealthData + +class AlgoritmaKesehatan { + fun recommendationOfTheDay(healthData: HealthData): HashMap { + val bloodSugarAnalysis = getBloodSugarAnalysis(healthData) + val bloodPressureAnalysis = getBloodPressureAnalysis(healthData) + val BMIAnalysis = getBMIAnalysis(healthData) + val tasks = getTaskBasedData(healthData) + + return hashMapOf( + "bloodSugarAnalysis" to bloodSugarAnalysis, + "bloodPressureAnalysis" to bloodPressureAnalysis, + "BMIAnalysis" to BMIAnalysis, + "tasks" to tasks + ) + } + + fun getBloodSugarAnalysis(healthData: HealthData): String { + return when (healthData.gender) { + "Female", "Other" -> when { + healthData.bloodSugar < 70 -> "Gula darah rendah, konsumsi makanan manis seperti buah atau madu." + healthData.bloodSugar in 70.0..140.0 -> "Gula darah normal, pertahankan pola makan sehat." + healthData.bloodSugar > 140 -> "Gula darah tinggi, kurangi makanan manis dan lakukan olahraga teratur." + else -> "Data gula darah tidak valid." + } + "Male" -> when { + healthData.bloodSugar < 70 -> "Gula darah rendah, segera konsumsi makanan berkarbohidrat." + healthData.bloodSugar in 70.0..130.0 -> "Gula darah normal, jaga pola makan seimbang." + healthData.bloodSugar > 130 -> "Gula darah tinggi, batasi konsumsi gula dan periksa kesehatan secara berkala." + else -> "Data gula darah tidak valid." + } + else -> "Data gula darah tidak valid." + } + } + + fun getBloodPressureAnalysis(healthData: HealthData): String { + return when (healthData.gender) { + "Female", "Other" -> when { + healthData.systolicBP < 90 || healthData.diastolicBP < 60 -> "Tekanan darah rendah, tingkatkan asupan cairan dan garam." + healthData.systolicBP in 90..120 && healthData.diastolicBP in 60..80 -> "Tekanan darah normal, pertahankan gaya hidup sehat." + healthData.systolicBP > 120 || healthData.diastolicBP > 80 -> "Tekanan darah tinggi, kurangi garam dan tingkatkan aktivitas fisik." + else -> "Data tekanan darah tidak valid." + } + "Male" -> when { + healthData.systolicBP < 100 || healthData.diastolicBP < 60 -> "Tekanan darah rendah, perbanyak cairan dan istirahat." + healthData.systolicBP in 100..130 && healthData.diastolicBP in 60..85 -> "Tekanan darah normal, pertahankan pola makan sehat." + healthData.systolicBP > 130 || healthData.diastolicBP > 85 -> "Tekanan darah tinggi, konsultasikan dengan dokter untuk pemeriksaan lebih lanjut." + else -> "Data tekanan darah tidak valid." + } + else -> "Data tekanan darah tidak valid." + } + } + + fun getBMIAnalysis(healthData: HealthData): String { + return when (healthData.gender) { + "Female", "Other" -> when { + healthData.BMI < 18.5 -> "BMI rendah, tingkatkan asupan kalori dengan makanan bernutrisi." + healthData.BMI in 18.5..24.9 -> "BMI normal, pertahankan pola makan seimbang." + healthData.BMI > 24.9 -> "BMI tinggi, lakukan olahraga teratur dan perbaiki pola makan." + else -> "Data BMI tidak valid." + } + "Male" -> when { + healthData.BMI < 20 -> "BMI rendah, tambahkan asupan protein dan makanan bergizi." + healthData.BMI in 20.0..25.0 -> "BMI normal, teruskan pola hidup sehat." + healthData.BMI > 25 -> "BMI tinggi, perbanyak aktivitas fisik dan atur pola makan rendah lemak." + else -> "Data BMI tidak valid." + } + else -> "Data BMI tidak valid." + } + } + + fun getTaskBasedData(healthData: HealthData): List> { + val tasks = mutableListOf>() + + // Task for Blood Sugar Control + if (healthData.bloodSugar > 140) { + tasks.add(mapOf("task" to "Cek kadar gula darah 2 kali sehari.", "completed" to false)) + tasks.add(mapOf("task" to "Kurangi konsumsi makanan tinggi gula.", "completed" to false)) + } else if (healthData.bloodSugar < 70) { + tasks.add(mapOf("task" to "Sediakan camilan sehat seperti buah atau kacang.", "completed" to false)) + } + + // Task for Blood Pressure Control + if (healthData.systolicBP > 120 || healthData.diastolicBP > 80) { + tasks.add(mapOf("task" to "Lakukan olahraga ringan seperti jalan kaki selama 30 menit.", "completed" to false)) + tasks.add(mapOf("task" to "Kurangi makanan asin dan berlemak.", "completed" to false)) + } else if (healthData.systolicBP < 90) { + tasks.add(mapOf("task" to "Perbanyak minum air putih dan istirahat.", "completed" to false)) + } + + // Task for BMI Control + if (healthData.BMI > 25) { + tasks.add(mapOf("task" to "Lakukan olahraga rutin minimal 3 kali seminggu.", "completed" to false)) + tasks.add(mapOf("task" to "Konsumsi lebih banyak sayuran dan serat.", "completed" to false)) + } else if (healthData.BMI < 18.5) { + tasks.add(mapOf("task" to "Tambahkan makanan tinggi kalori seperti kacang dan susu.", "completed" to false)) + } + + // Age and Gender Specific Tasks + if (healthData.age > 50) { + tasks.add(mapOf("task" to "Lakukan pemeriksaan kesehatan rutin setiap bulan.", "completed" to false)) + } + if (healthData.gender == "Female" || healthData.gender == "Other") { + tasks.add(mapOf("task" to "Perhatikan kebutuhan kalsium dan zat besi.", "completed" to false)) + } + + return tasks + } +} diff --git a/app/src/main/java/com/healthjournal/data/Data.kt b/app/src/main/java/com/healthjournal/data/Data.kt new file mode 100644 index 0000000..5221a19 --- /dev/null +++ b/app/src/main/java/com/healthjournal/data/Data.kt @@ -0,0 +1,23 @@ +package com.healthjournal.data + +import java.io.Serializable + + +data class HealthData( + val bloodSugar: Float, + val diastolicBP: Int, + val systolicBP: Int, + val BMI: Float, + val age: Int, + val gender: String + ) + +data class ResultData( + val journalID: String, + val bloodSugar: Float, + val diastolicBP: Int, + val systolicBP: Int, + val BMI: Float, + val date: String + ) : Serializable + diff --git a/app/src/main/java/com/healthjournal/model/SessionModel.kt b/app/src/main/java/com/healthjournal/model/SessionModel.kt new file mode 100644 index 0000000..38158ff --- /dev/null +++ b/app/src/main/java/com/healthjournal/model/SessionModel.kt @@ -0,0 +1,8 @@ +package com.healthjournal.model + +data class SessionModel ( + val userId: String, + val name: String, + val statusLogin: Boolean, + val loginTimestamp: Long +) \ No newline at end of file diff --git a/app/src/main/java/com/healthjournal/ui/custom/CustomEdtTxt.kt b/app/src/main/java/com/healthjournal/ui/custom/CustomEdtTxt.kt new file mode 100644 index 0000000..3a47812 --- /dev/null +++ b/app/src/main/java/com/healthjournal/ui/custom/CustomEdtTxt.kt @@ -0,0 +1,109 @@ +package com.healthjournal.ui.custom + +import android.content.Context +import android.graphics.Canvas +import android.graphics.drawable.Drawable +import android.text.Editable +import android.text.InputFilter +import android.text.InputType +import android.text.TextWatcher +import android.util.AttributeSet +import android.util.Patterns +import androidx.core.content.ContextCompat +import com.healthjournal.R +import com.google.android.material.textfield.TextInputEditText + +class CustomEditText : TextInputEditText { + + private var errorBackground: Drawable? = null + private var defaultBackground: Drawable? = null + private var isError: Boolean = false + + constructor(context: Context) : super(context) { + init() + } + + constructor(context: Context, attrs: AttributeSet) : super(context, attrs) { + init() + } + + constructor(context: Context, attrs: AttributeSet, defStyleAttr: Int) : super( + context, + attrs, + defStyleAttr + ) { + init() + } + + override fun onDraw(canvas: Canvas) { + super.onDraw(canvas) + background = if (isError) { + errorBackground + } else { + defaultBackground + } + } + + private fun init() { + errorBackground = ContextCompat.getDrawable(context, R.drawable.bg_edt_error) + defaultBackground = ContextCompat.getDrawable(context, R.drawable.bg_edt_default) + + if (inputType == InputType.TYPE_CLASS_NUMBER) { + filters = arrayOf(InputFilter { source, _, _, _, _, _ -> + source.filter { it.isDigit() } + }) + } + + addTextChangedListener(object : TextWatcher { + override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {} + + override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) { + val input = p0.toString() + if (input.isEmpty()) { + error = context.getString(R.string.empty_field) + isError = true + } else { + error = null + isError = false + validateInput(input) + } + } + + override fun afterTextChanged(p0: Editable?) {} + }) + } + + private fun validateInput(input: String) { + when (inputType) { + EMAIL -> { + if (!Patterns.EMAIL_ADDRESS.matcher(input).matches()) { + error = context.getString(R.string.email_validation) + isError = true + } else { + isError = false + } + } + PASSWORD -> { + if (input.length < 6) { + error = context.getString(R.string.password_length) + isError = true + } else { + isError = false + } + } + InputType.TYPE_CLASS_NUMBER -> { + if (!input.matches("\\d+".toRegex())) { + error = context.getString(R.string.empty_field) + isError = true + } else { + isError = false + } + } + } + } + + companion object { + const val EMAIL = 0x00000021 + const val PASSWORD = 0x00000081 + } +} diff --git a/app/src/main/java/com/healthjournal/ui/dashboard/MainActivity.kt b/app/src/main/java/com/healthjournal/ui/dashboard/MainActivity.kt new file mode 100644 index 0000000..92f8c50 --- /dev/null +++ b/app/src/main/java/com/healthjournal/ui/dashboard/MainActivity.kt @@ -0,0 +1,227 @@ +package com.healthjournal.ui.dashboard + +import android.content.Intent +import android.os.Bundle +import android.util.Log +import android.view.View +import android.widget.Toast +import androidx.appcompat.app.AppCompatActivity +import androidx.recyclerview.widget.LinearLayoutManager +import com.google.firebase.Firebase +import com.google.firebase.auth.FirebaseAuth +import com.google.firebase.database.FirebaseDatabase +import com.google.firebase.database.database +import com.healthjournal.R +import com.healthjournal.data.ResultData +import com.healthjournal.databinding.ActivityMainBinding +import com.healthjournal.ui.journal.input.JournalInputActivity +import com.healthjournal.ui.login.LoginActivity +import com.healthjournal.ui.profile.ProfileActivity +import com.healthjournal.ui.recommendation.RecommendationActivity +import java.text.SimpleDateFormat +import java.util.Calendar +import java.util.Locale + + +class MainActivity : AppCompatActivity() { + private lateinit var binding: ActivityMainBinding + private lateinit var user: FirebaseAuth + private lateinit var mainAdapter: MainAdapter + private val healthDataList: MutableList = mutableListOf() + private val database = Firebase.database + private var dailyReport = false + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActivityMainBinding.inflate(layoutInflater) + setContentView(binding.root) + user = FirebaseAuth.getInstance() + + userCheck() + setupListener() + populateHistory() + navigationBottomBar() + } + + private fun navigationBottomBar(){ + binding.bottomNavigation.setOnItemSelectedListener { + when(it.itemId){ + R.id.nav_add -> addJournal() + R.id.nav_home -> home() + R.id.nav_profile -> profile() + } + true + } + } + + private fun getWeekCount() { + val today = Calendar.getInstance() + val userID = user.currentUser!!.uid + var count = 0 + + val dateFormat = SimpleDateFormat("dd/MM/yyyy", Locale.getDefault()) + + today.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY) + val startDate = dateFormat.format(today.time) + + val endDate = today.clone() as Calendar + endDate.add(Calendar.DAY_OF_WEEK, 6) + val endDateString = dateFormat.format(endDate.time) + + database.getReference("users").child(userID).child("journal") + .get() + .addOnCompleteListener { task -> + if (task.isSuccessful) { + count = task.result.children.count { snapshot -> + val date = snapshot.child("date").value.toString() + date >= startDate && date <= endDateString + } + Log.d("debug", "Entries found: $count for week: $startDate - $endDateString") + binding.tvDailyCounter.text = "$count/7" + } else { + Log.e("error", task.exception?.message.toString()) + Toast.makeText(this, task.exception?.message, Toast.LENGTH_SHORT).show() + } + } + } + + + + private fun addJournal(){ + if (dailyReport != false){ + Toast.makeText(this, "Daily Report Already Created", Toast.LENGTH_SHORT).show() + } else { + startActivity(Intent(this, JournalInputActivity::class.java)) + } + } + + private fun home(){ + } + + private fun profile(){ + intent = Intent(this, ProfileActivity::class.java) + startActivity(intent) + } + + + private fun setupListener(){ + binding.btnRecomendation.setOnClickListener { + startActivity(Intent(this, RecommendationActivity::class.java)) + finish() + } + binding.btnInputData.setOnClickListener { + startActivity(Intent(this, JournalInputActivity::class.java)) + finish() + } + } + + private fun dailycheck() { + val today = SimpleDateFormat("dd/MM/yyyy", Locale.getDefault()).format(android.icu.util.Calendar.getInstance().time).toString() + val userID = user.currentUser!!.uid + database.getReference("users").child(userID).child("journal").get().addOnCompleteListener { task -> + if (task.isSuccessful) { + task.result.children.forEach { + if (it.child("date").value.toString() == today) { + dailyReport = true + switchLayout() + populateTodayReport() + } + } + } else { + Log.d("error", task.exception!!.message.toString()) + Toast.makeText(this, task.exception!!.message, Toast.LENGTH_SHORT).show() + } + } + } + + private fun switchLayout(){ + if (binding.clDailyReport1.visibility == View.VISIBLE){ + binding.clDailyReport1.visibility = View.INVISIBLE + binding.clDailyReport2.visibility = View.VISIBLE + binding.btnRecomendation.visibility = View.VISIBLE + binding.ivCuboidIndicator1Green.visibility = View.VISIBLE + binding.ivCuboidIndicator2Green.visibility = View.VISIBLE + binding.ivCuboidIndicator1Orange.visibility = View.INVISIBLE + binding.ivCuboidIndicator2Orange.visibility = View.INVISIBLE + } else { + binding.clDailyReport1.visibility = View.VISIBLE + binding.clDailyReport2.visibility = View.INVISIBLE + binding.btnRecomendation.visibility = View.GONE + binding.ivCuboidIndicator1Green.visibility = View.INVISIBLE + binding.ivCuboidIndicator2Green.visibility = View.INVISIBLE + binding.ivCuboidIndicator1Orange.visibility = View.VISIBLE + binding.ivCuboidIndicator2Orange.visibility = View.VISIBLE + } + } + + private fun userCheck() { + val user = FirebaseAuth.getInstance().currentUser + if (user == null) { + Toast.makeText(this, "Please Login to an account", Toast.LENGTH_SHORT).show() + val intent = Intent(this, LoginActivity::class.java) + startActivity(intent) + finish() + } else { + Toast.makeText(this, "Welcome back!", Toast.LENGTH_SHORT).show() + dailycheck() + getWeekCount() + } + } + + + private fun populateHistory() { + val userID = user.currentUser!!.uid + mainAdapter = MainAdapter(healthDataList) + + binding.rvHealthHistory.apply { + adapter = mainAdapter + layoutManager = LinearLayoutManager(this@MainActivity) + } + + database.getReference("users").child(userID).child("journal").get() + .addOnCompleteListener { task -> + if (task.isSuccessful) { + healthDataList.clear() + task.result.children.forEach { snapshot -> + val journalID = snapshot.child("date").value.toString() + val bloodSugar = snapshot.child("bloodSugar").value.toString().toFloatOrNull() ?: 0f + val diastolicBP = snapshot.child("bloodPressureDIA").value.toString().toIntOrNull() ?: 0 + val systolicBP = snapshot.child("bloodPressureSYS").value.toString().toIntOrNull() ?: 0 + val BMI = snapshot.child("bmi").value.toString().toFloatOrNull() ?: 0f + val date = snapshot.child("date").value.toString() + + val resultData = ResultData(journalID, bloodSugar, diastolicBP, systolicBP, BMI, date) + healthDataList.add(resultData) + } + mainAdapter.notifyDataSetChanged() + } else { + Log.d("error", task.exception?.message.toString()) + Toast.makeText(this, task.exception?.message, Toast.LENGTH_SHORT).show() + } + } + } + + + private fun populateTodayReport(){ + val today = SimpleDateFormat("dd/MM/yyyy", Locale.getDefault()).format(android.icu.util.Calendar.getInstance().time).toString() + val userID = user.currentUser!!.uid + database.getReference("users").child(userID).child("journal").get().addOnCompleteListener { task -> + if (task.isSuccessful) { + task.result.children.forEach { + if (it.child("date").value.toString() == today) { + binding.tvBloodsugarLevel.text = it.child("bloodSugar").value.toString()+" mg/dL" + binding.tvBloodsugarDesc.text = it.child("recommendation").child("bloodSugarAnalysis").value.toString() + binding.tvBloodpressureLevel.text = it.child("bloodPressureDIA").value.toString()+"/"+it.child("bloodPressureSYS").value.toString()+" mm Hg" + binding.tvBloodpressureDesc.text = it.child("recommendation").child("bloodPressureAnalysis").value.toString() + binding.tvBmiLevel.text = it.child("BMI").value.toString() +" BMI" + binding.tvBmiDesc.text = it.child("recommendation").child("BMIAnalysis").value.toString() + } + } + } else { + Log.d("error", task.exception!!.message.toString()) + Toast.makeText(this, task.exception!!.message, Toast.LENGTH_SHORT).show() + } + } + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/healthjournal/ui/dashboard/MainAdapter.kt b/app/src/main/java/com/healthjournal/ui/dashboard/MainAdapter.kt new file mode 100644 index 0000000..da81314 --- /dev/null +++ b/app/src/main/java/com/healthjournal/ui/dashboard/MainAdapter.kt @@ -0,0 +1,73 @@ +package com.healthjournal.ui.dashboard + +import android.content.Intent +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.healthjournal.R +import com.healthjournal.data.ResultData +import com.healthjournal.ui.journal.detail.DetailJournalActivity +import java.text.SimpleDateFormat +import java.util.Locale + +class MainAdapter(private val healthDataList: MutableList) : RecyclerView.Adapter() { + + class HealthViewHolder(view: View) : RecyclerView.ViewHolder(view) { + val tvDay: TextView = view.findViewById(R.id.tv_day) + val tvDate: TextView = view.findViewById(R.id.tv_date) + val tvBloodSugar: TextView = view.findViewById(R.id.tv_BS_Level) + val tvBloodPressure: TextView = view.findViewById(R.id.tv_BP_Level) + } + + // Function to update the list and notify the adapter + fun setData(newData: List) { + healthDataList.clear() + healthDataList.addAll(newData) + notifyDataSetChanged() + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HealthViewHolder { + val view = LayoutInflater.from(parent.context) + .inflate(R.layout.item_health_history, parent, false) + return HealthViewHolder(view) + } + + private fun dayOfWeek(date: String): String { + return try { + val dateFormat = SimpleDateFormat("dd/MM/yyyy", Locale.getDefault()) + val parsedDate = dateFormat.parse(date) + if (parsedDate != null) { + SimpleDateFormat("EEEE", Locale.getDefault()).format(parsedDate) + } else { + "Invalid Date" + } + } catch (e: Exception) { + "Invalid Date" + } + } + + private fun countGoals (){ + + } + + override fun onBindViewHolder(holder: HealthViewHolder, position: Int) { + val healthData = healthDataList[position] + + holder.tvDay.text = dayOfWeek(healthData.date) + holder.tvDate.text = healthData.date + holder.tvBloodSugar.text = "${healthData.bloodSugar} mg/dL" + holder.tvBloodPressure.text = "${healthData.diastolicBP}/${healthData.systolicBP} mm Hg" + + holder.itemView.setOnClickListener { + val context = holder.itemView.context + val intent = Intent(context, DetailJournalActivity::class.java).apply { + putExtra("HEALTH_DATA", healthData) + } + context.startActivity(intent) + } + } + + override fun getItemCount(): Int = healthDataList.size +} diff --git a/app/src/main/java/com/healthjournal/ui/journal/detail/DetailJournalActivity.kt b/app/src/main/java/com/healthjournal/ui/journal/detail/DetailJournalActivity.kt new file mode 100644 index 0000000..33938d5 --- /dev/null +++ b/app/src/main/java/com/healthjournal/ui/journal/detail/DetailJournalActivity.kt @@ -0,0 +1,92 @@ +package com.healthjournal.ui.journal.detail + +import android.os.Bundle +import android.util.Log +import android.widget.Toast +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import com.google.firebase.Firebase +import com.google.firebase.auth.FirebaseAuth +import com.google.firebase.database.database +import com.healthjournal.R +import com.healthjournal.data.ResultData +import com.healthjournal.databinding.ActivityDetailJournalBinding + +class DetailJournalActivity : AppCompatActivity() { + private lateinit var binding: ActivityDetailJournalBinding + private lateinit var user: FirebaseAuth + private val database = Firebase.database + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActivityDetailJournalBinding.inflate(layoutInflater) + setContentView(binding.root) + val healthData = intent.getSerializableExtra("HEALTH_DATA") as? ResultData + + } + + private fun populateDetailJournal() { + val userID = user.currentUser?.uid + val journalDate = intent.getStringExtra("JOURNAL_DATE") + if (userID != null && journalDate != null) { + database.getReference("users").child(userID).child("journal").child(journalDate).get() + .addOnCompleteListener(DetailJournalActivity()) { + if (it.isSuccessful) { + val data = it.result + if (data != null) { +/* + binding.tvBloodsugarLevel2.text = data.bloodSugarLevel + binding.tvBloodsugarDesc.text = data.bloodSugarDesc + binding.tvBloodpressureLevel2.text = data.bloodPressureLevel + binding.tvBloodpressureDesc.text = data.bloodPressureDesc + binding.tvBMILevel2.text = data.bmiLevel + binding.tvBMIDesc.text = data.bmiDesc + binding.tvGoals2.text = countGoalsCompleted(data.goalsCompleted) + binding.tvJournalNote.text = data.journalNote +*/ + } + } else { + Toast.makeText(this, it.exception!!.message, Toast.LENGTH_SHORT).show() + Log.d("error", it.exception!!.message.toString()) + } + } + } + } + + private fun countGoalsCompleted(goalsCompleted: List): String { + var count = 0 + for (completed in goalsCompleted) { + if (completed) { + count++ + } + } + return count.toString() + } + + private fun deleteHistory() { + val userID = user.currentUser?.uid + val journalDate = intent.getStringExtra("JOURNAL_DATE") + if (userID != null && journalDate != null) { + database.getReference("users").child(userID).child("journal").child(journalDate) + .removeValue() + .addOnCompleteListener(DetailJournalActivity()) { + if (it.isSuccessful) { + Toast.makeText(this, "History deleted successfully", Toast.LENGTH_SHORT) + .show() + finish() + } else { + Toast.makeText(this, it.exception!!.message, Toast.LENGTH_SHORT).show() + } + } + } + } + + private fun setupListener() { + binding.btnDeleteHistory.setOnClickListener() { + deleteHistory() + } + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/healthjournal/ui/journal/input/JournalInputActivity.kt b/app/src/main/java/com/healthjournal/ui/journal/input/JournalInputActivity.kt new file mode 100644 index 0000000..d6cf591 --- /dev/null +++ b/app/src/main/java/com/healthjournal/ui/journal/input/JournalInputActivity.kt @@ -0,0 +1,127 @@ +package com.healthjournal.ui.journal.input + +import android.content.Intent +import android.icu.util.Calendar +import android.os.Bundle +import android.util.Log +import android.widget.Toast +import androidx.appcompat.app.AppCompatActivity +import com.google.firebase.auth.FirebaseAuth +import com.google.firebase.database.FirebaseDatabase +import com.healthjournal.algorithm.AlgoritmaKesehatan +import com.healthjournal.databinding.ActivityJournalInputBinding +import com.healthjournal.ui.dashboard.MainActivity +import com.healthjournal.data.HealthData +import java.text.SimpleDateFormat +import java.util.Locale + +class JournalInputActivity : AppCompatActivity() { + private lateinit var binding: ActivityJournalInputBinding + private lateinit var user: FirebaseAuth + private lateinit var database: FirebaseDatabase + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActivityJournalInputBinding.inflate(layoutInflater) + setContentView(binding.root) + + user = FirebaseAuth.getInstance() + database = FirebaseDatabase.getInstance() + + val userId = user.currentUser?.uid + if (userId != null) { + database.getReference("users").child(userId).get() + .addOnCompleteListener { task -> + if (task.isSuccessful && task.result.exists()) { + binding.edtInputWeight.setText(task.result.child("weight").value.toString()) + binding.edtHeight.setText(task.result.child("height").value.toString()) + binding.edtAge.setText(task.result.child("date").value.toString()) + binding.edtGender.setText(task.result.child("gender").value.toString()) + } else { + Toast.makeText(this, "Error: ${task.exception?.message}", Toast.LENGTH_SHORT).show() + Log.d("error", task.exception?.message.toString()) + } + } + } else { + Toast.makeText(this, "User not logged in", Toast.LENGTH_SHORT).show() + finish() + } + + setupListener() + } + + private fun setupListener() { + binding.btnInputData.setOnClickListener { + submitData() + } + } + + private fun calculateBMI(weight: Int, height: Int): Float { + val heightInMeters = height / 100f + val BMI = weight / (heightInMeters * heightInMeters) + return BMI + } + + fun calculateAge(birthDate: String): Int { + val sdf = SimpleDateFormat("dd/MM/yyyy", Locale.getDefault()) + val date = sdf.parse(birthDate) + val birthCalendar = Calendar.getInstance() + birthCalendar.time = date + val today = Calendar.getInstance() + + var age = today.get(Calendar.YEAR) - birthCalendar.get(Calendar.YEAR) + + if (today.get(Calendar.DAY_OF_YEAR) < birthCalendar.get(Calendar.DAY_OF_YEAR)) { + age-- + } + + return age + } + + private fun submitData() { + val userId = user.currentUser?.uid + if (userId == null) { + Toast.makeText(this, "User not logged in", Toast.LENGTH_SHORT).show() + return + } + val journalDate = SimpleDateFormat("dd/MM/yyyy", Locale.getDefault()).format(Calendar.getInstance().time).toString() + val bloodPressureSYS = binding.edtInputBloodPressureSYS.text.toString() + val bloodPressureDIA = binding.edtInputBloodPressureDIA.text.toString() + val bloodSugar = binding.edtInputBloodSugar.text.toString() + val weight = binding.edtInputWeight.text.toString().toInt() + val height = binding.edtHeight.text.toString().toInt() + val note = binding.edtInputNote.text.toString() + val age = calculateAge(binding.edtAge.text.toString()) + val gender = binding.edtGender.text.toString() + Log.d("journalDate", journalDate) + if (weight != null && bloodPressureSYS.isNotEmpty() && bloodPressureDIA.isNotEmpty() && bloodSugar.isNotEmpty()) { + database.getReference("users").child(userId).child("height").get().addOnSuccessListener { snapshot -> + val BMI = calculateBMI(weight, height) + val healthData = HealthData(bloodSugar.toFloat(), bloodPressureSYS.toInt(), bloodPressureDIA.toInt(), BMI,age,gender) + val recommendation = AlgoritmaKesehatan().recommendationOfTheDay(healthData) + + val data = hashMapOf( + "date" to journalDate, + "bloodPressureSYS" to bloodPressureSYS, + "bloodPressureDIA" to bloodPressureDIA, + "bloodSugar" to bloodSugar, + "BMI" to BMI, + "note" to note, + "recommendation" to recommendation + ) + database.getReference("users").child(userId).child("journal").push().setValue(data).addOnCompleteListener { + if (it.isSuccessful) { + Toast.makeText(this, "Data Input Success", Toast.LENGTH_SHORT).show() + startActivity(Intent(this, MainActivity::class.java)) + finish() + } else { + Toast.makeText(this, it.exception?.message, Toast.LENGTH_SHORT).show() + Log.d("error", it.exception?.message.toString()) + } + } + } + } else { + Toast.makeText(this, "Please fill all fields correctly", Toast.LENGTH_SHORT).show() + } + } +} diff --git a/app/src/main/java/com/healthjournal/ui/login/LoginActivity.kt b/app/src/main/java/com/healthjournal/ui/login/LoginActivity.kt new file mode 100644 index 0000000..c44427a --- /dev/null +++ b/app/src/main/java/com/healthjournal/ui/login/LoginActivity.kt @@ -0,0 +1,57 @@ +package com.healthjournal.ui.login + +import android.content.Intent +import android.os.Bundle +import android.util.Log +import android.widget.Toast +import androidx.appcompat.app.AppCompatActivity +import com.google.firebase.auth.FirebaseAuth +import com.healthjournal.databinding.ActivityLoginBinding +import com.healthjournal.ui.dashboard.MainActivity +import com.healthjournal.ui.register.RegisterActivity + +class LoginActivity : AppCompatActivity() { + private lateinit var binding: ActivityLoginBinding + private lateinit var user: FirebaseAuth + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActivityLoginBinding.inflate(layoutInflater) + setContentView(binding.root) + user = FirebaseAuth.getInstance() + setuplistener() + } + + private fun setuplistener() { + binding.btnLogin.setOnClickListener{ + loginUser() + } + + binding.btnRegister.setOnClickListener{ + startActivity(Intent(this@LoginActivity, RegisterActivity::class.java)) + finish() + } + } + + private fun loginUser() { + val email = binding.edtEmail.text.toString() + val password = binding.edtPassword.text.toString() + if (email.isEmpty() || password.isEmpty()) { + if (email.isEmpty()) binding.edtEmail.error = "Email cannot be empty" + if (password.isEmpty()) binding.edtPassword.error = "Password cannot be empty" + Toast.makeText(this, "Email & Password cannot be empty", Toast.LENGTH_SHORT).show() + } else { + user.signInWithEmailAndPassword(email, password).addOnCompleteListener(LoginActivity()){ task -> + if (task.isSuccessful) { + Toast.makeText(this, "Login Success", Toast.LENGTH_SHORT).show() + startActivity(Intent(this@LoginActivity, MainActivity::class.java)) + finish() + } + else{ + Toast.makeText(this, task.exception!!.message, Toast.LENGTH_SHORT).show() + Log.d("error", task.exception!!.message.toString()) + } + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/healthjournal/ui/profile/ProfileActivity.kt b/app/src/main/java/com/healthjournal/ui/profile/ProfileActivity.kt new file mode 100644 index 0000000..b9c924b --- /dev/null +++ b/app/src/main/java/com/healthjournal/ui/profile/ProfileActivity.kt @@ -0,0 +1,81 @@ +package com.healthjournal.ui.profile + +import android.content.Intent +import android.os.Bundle +import android.util.Log +import android.widget.Toast +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import com.google.firebase.Firebase +import com.google.firebase.auth.FirebaseAuth +import com.google.firebase.database.database +import com.healthjournal.R +import com.healthjournal.databinding.ActivityProfileBinding +import com.healthjournal.ui.login.LoginActivity + +class ProfileActivity : AppCompatActivity() { + private lateinit var binding: ActivityProfileBinding + private lateinit var user: FirebaseAuth + private val database = Firebase.database + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActivityProfileBinding.inflate(layoutInflater) + setContentView(binding.root) + setupListener() + populateData() + } + + private fun setupListener() { + binding.btnLogout.setOnClickListener { + logout() + } + + binding.btnUpdateData.setOnClickListener { + updateData() + } + } + + private fun logout(){ + user.signOut() + startActivity(Intent(this, LoginActivity::class.java)) + finish() + } + + private fun updateData(){ + val userID = user.currentUser?.uid + val name = binding.edtName.text.toString() + val email = binding.edtEmail.text.toString() + val date = binding.edtDates.text.toString() + val weight = binding.edtInputWeight.text.toString() + val height = binding.edtInputHeight.text.toString() + val userRef = database.getReference("users").child(userID!!) + userRef.child("name").setValue(name) + userRef.child("email").setValue(email) + userRef.child("date").setValue(date) + userRef.child("weight").setValue(weight) + userRef.child("height").setValue(height) + Toast.makeText(this, "Data Updated", Toast.LENGTH_SHORT).show() + populateData() + } + + private fun populateData(){ + val userID = user.currentUser?.uid + val userRef = database.getReference("users").child(userID!!) + userRef.get().addOnCompleteListener(ProfileActivity()){ + if (it.isSuccessful){ + binding.edtName.setText(it.result.child("name").value.toString()) + binding.edtDates.setText(it.result.child("date").value.toString()) + binding.edtInputHeight.setText(it.result.child("height").value.toString()) + binding.edtInputWeight.setText(it.result.child("weight").value.toString()) + } else { + Toast.makeText(this, it.exception.toString(), Toast.LENGTH_SHORT).show() + Log.d("ProfileActivity", it.exception.toString()) + } + } + } + + +} \ No newline at end of file diff --git a/app/src/main/java/com/healthjournal/ui/recommendation/RecomendationAdapter.kt b/app/src/main/java/com/healthjournal/ui/recommendation/RecomendationAdapter.kt new file mode 100644 index 0000000..25b5bcc --- /dev/null +++ b/app/src/main/java/com/healthjournal/ui/recommendation/RecomendationAdapter.kt @@ -0,0 +1,40 @@ +package com.healthjournal.ui.recommendation + +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.CheckBox +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.healthjournal.R + +class RecommendationAdapter( + private val recommendationList: List>, + private val onCheckedChange: (position: Int, isChecked: Boolean) -> Unit +) : RecyclerView.Adapter() { + + inner class RecommendationViewHolder(view: View) : RecyclerView.ViewHolder(view) { + val tvGoalName: TextView = view.findViewById(R.id.tv_goal_name) + val checkBox: CheckBox = view.findViewById(R.id.toggle) + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecommendationViewHolder { + val view = LayoutInflater.from(parent.context) + .inflate(R.layout.item_goals_recommendation, parent, false) + return RecommendationViewHolder(view) + } + + override fun onBindViewHolder(holder: RecommendationViewHolder, position: Int) { + val (task, isCompleted) = recommendationList[position] + holder.tvGoalName.text = task + holder.checkBox.isChecked = isCompleted + holder.checkBox.setOnCheckedChangeListener { _, isChecked -> + onCheckedChange(position, isChecked) + } + holder.itemView.setOnClickListener { + holder.checkBox.isChecked = !holder.checkBox.isChecked + } + } + + override fun getItemCount(): Int = recommendationList.size +} diff --git a/app/src/main/java/com/healthjournal/ui/recommendation/RecommendationActivity.kt b/app/src/main/java/com/healthjournal/ui/recommendation/RecommendationActivity.kt new file mode 100644 index 0000000..57cf637 --- /dev/null +++ b/app/src/main/java/com/healthjournal/ui/recommendation/RecommendationActivity.kt @@ -0,0 +1,99 @@ +package com.healthjournal.ui.recommendation + +import android.os.Bundle +import android.util.Log +import android.widget.Toast +import androidx.appcompat.app.AppCompatActivity +import androidx.recyclerview.widget.LinearLayoutManager +import com.google.firebase.auth.FirebaseAuth +import com.google.firebase.database.FirebaseDatabase +import com.healthjournal.databinding.ActivityRecommendationBinding +import java.text.SimpleDateFormat +import java.util.Locale + +class RecommendationActivity : AppCompatActivity() { + private lateinit var binding: ActivityRecommendationBinding + private lateinit var user: FirebaseAuth + private lateinit var database: FirebaseDatabase + private lateinit var adapter: RecommendationAdapter + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActivityRecommendationBinding.inflate(layoutInflater) + setContentView(binding.root) + + user = FirebaseAuth.getInstance() + database = FirebaseDatabase.getInstance() + + populateData() + } + + private fun populateData() { + val userID = user.currentUser?.uid ?: return + val today = SimpleDateFormat("dd/MM/yyyy", Locale.getDefault()) + .format(android.icu.util.Calendar.getInstance().time) + + database.getReference("users").child(userID).child("journal") + .get() + .addOnCompleteListener { task -> + if (task.isSuccessful) { + task.result.children.forEach { + if (it.child("date").value.toString() == today) { + binding.tvBloodsugarLevel2.text = "${it.child("bloodSugar").value} mg/dL" + binding.tvBloodsugarDesc.text = it.child("recommendation").child("bloodSugarAnalysis").value.toString() + binding.tvBloodpressureLevel2.text = "${it.child("bloodPressureDIA").value}/${it.child("bloodPressureSYS").value} mm Hg" + binding.tvBloodpressureDesc.text = it.child("recommendation").child("bloodPressureAnalysis").value.toString() + binding.tvBMILevel2.text = "${it.child("BMI").value} BMI" + binding.tvBMIDesc.text = it.child("recommendation").child("BMIAnalysis").value.toString() + + val tasks = it.child("recommendation").child("tasks").value + val referencePath = it.key ?: return@forEach + populateRecomendation(tasks, userID, referencePath) + } + } + } else { + Log.e("error", task.exception?.message.toString()) + Toast.makeText(this, task.exception?.message, Toast.LENGTH_SHORT).show() + } + } + } + + private fun populateRecomendation(tasks: Any?, userID: String, journalKey: String) { + val taskList = mutableListOf>() + + // Handle List format for tasks + if (tasks is List<*>) { + tasks.forEach { taskData -> + if (taskData is Map<*, *> && taskData["task"] != null && taskData["completed"] != null) { + val taskDescription = taskData["task"].toString() + val isCompleted = taskData["completed"] as? Boolean ?: false + taskList.add(Pair(taskDescription, isCompleted)) + } + } + + // Set up RecyclerView and Adapter + adapter = RecommendationAdapter(taskList) { position, isChecked -> + taskList[position] = taskList[position].copy(second = isChecked) + + // Update Firebase + database.getReference("users") + .child(userID) + .child("journal") + .child(journalKey) + .child("recommendation") + .child("tasks") + .child(position.toString()) + .child("completed") + .setValue(isChecked) + } + + binding.rvTasks.apply { + layoutManager = LinearLayoutManager(this@RecommendationActivity) + adapter = this@RecommendationActivity.adapter + } + } else { + Log.e("error", "Invalid tasks data format") + Log.e("error", tasks.toString()) + } + } +} diff --git a/app/src/main/java/com/healthjournal/ui/register/RegisterActivity.kt b/app/src/main/java/com/healthjournal/ui/register/RegisterActivity.kt new file mode 100644 index 0000000..50424fa --- /dev/null +++ b/app/src/main/java/com/healthjournal/ui/register/RegisterActivity.kt @@ -0,0 +1,60 @@ +package com.healthjournal.ui.register + +import android.content.Intent +import android.os.Bundle +import android.util.Log +import android.widget.Toast +import androidx.appcompat.app.AppCompatActivity +import com.google.firebase.auth.FirebaseAuth +import com.healthjournal.databinding.ActivityRegisterBinding +import com.healthjournal.ui.users.UsersInputActivity + +class RegisterActivity : AppCompatActivity() { + private lateinit var binding: ActivityRegisterBinding + private lateinit var user: FirebaseAuth + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActivityRegisterBinding.inflate(layoutInflater) + setContentView(binding.root) + user = FirebaseAuth.getInstance() + setuplistener() + } + + private fun setuplistener(){ + binding.btnRegister.setOnClickListener{ + registerUser() + } + binding.btnLogin.setOnClickListener{ + + } + } + + private fun registerUser(){ + val email = binding.edtEmail.text.toString() + val password = binding.edtPassword.text.toString() + val confirmPassword = binding.edtPasswordConfirm.text.toString() + + if (email.isEmpty() || password.isEmpty() || confirmPassword.isEmpty()){ + if (email.isEmpty()) binding.edtEmail.error = "Email cannot be empty" + if (password.isEmpty()) binding.edtPassword.error = "Password cannot be empty" + if (confirmPassword.isEmpty()) binding.edtPasswordConfirm.error = "Confirm Password cannot be empty" + } else { + if (password == confirmPassword){ + user.createUserWithEmailAndPassword(email, password).addOnCompleteListener(RegisterActivity()){ task -> + if(task.isSuccessful){ + Toast.makeText(this, "Register Success", Toast.LENGTH_SHORT).show() + startActivity(Intent(this@RegisterActivity,UsersInputActivity::class.java)) + finish() + } else{ + Toast.makeText(this, task.exception!!.message, Toast.LENGTH_SHORT).show() + Log.d("error", task.exception!!.message.toString()) + } + } + } else { + binding.edtPasswordConfirm.error = "Password does not match" + } + } + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/healthjournal/ui/splashscreen/SplashscreenActivity.kt b/app/src/main/java/com/healthjournal/ui/splashscreen/SplashscreenActivity.kt new file mode 100644 index 0000000..7e406ad --- /dev/null +++ b/app/src/main/java/com/healthjournal/ui/splashscreen/SplashscreenActivity.kt @@ -0,0 +1,21 @@ +package com.healthjournal.ui.splashscreen + +import android.os.Bundle +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import com.healthjournal.R + +class SplashscreenActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + setContentView(R.layout.activity_splashscreen) + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> + val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) + insets + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/healthjournal/ui/users/UsersInputActivity.kt b/app/src/main/java/com/healthjournal/ui/users/UsersInputActivity.kt new file mode 100644 index 0000000..588c429 --- /dev/null +++ b/app/src/main/java/com/healthjournal/ui/users/UsersInputActivity.kt @@ -0,0 +1,101 @@ +package com.healthjournal.ui.users + +import android.app.DatePickerDialog +import android.content.Intent +import android.os.Bundle +import android.util.Log +import android.widget.ArrayAdapter +import android.widget.Toast +import androidx.appcompat.app.AppCompatActivity +import com.google.firebase.Firebase +import com.google.firebase.auth.FirebaseAuth +import com.google.firebase.database.database +import com.healthjournal.databinding.ActivityUsersInputBinding +import com.healthjournal.ui.dashboard.MainActivity +import java.util.Calendar + +class UsersInputActivity : AppCompatActivity() { + private lateinit var binding: ActivityUsersInputBinding + private lateinit var user: FirebaseAuth + private val database = Firebase.database + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActivityUsersInputBinding.inflate(layoutInflater) + setContentView(binding.root) + user = FirebaseAuth.getInstance() + val gender = arrayOf("Male", "Female", "Other") + + // Adapter for conditions + val conditionAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, gender) + binding.dropdownGender.setAdapter(conditionAdapter) + + userCheck() + setuplistener() + } + + private fun userCheck(){ + if(user.currentUser != null){ + user.currentUser?.let { + binding.tvEmail.text = it.email + } + } + } + + private fun setuplistener(){ + binding.btnInput.setOnClickListener{ + inputUserData() + } + + binding.edtDateOfBirth.setOnClickListener{ + datepicker() + } + } + + private fun datepicker(){ + val calendar = Calendar.getInstance() + val year = calendar.get(Calendar.YEAR) + val month = calendar.get(Calendar.MONTH) + val day = calendar.get(Calendar.DAY_OF_MONTH) + + val datePickerDialog = DatePickerDialog( + this, + { _, selectedYear, selectedMonth, selectedDay -> + val selectedDate = "$selectedDay/${selectedMonth + 1}/$selectedYear" + binding.edtDateOfBirth.setText(selectedDate) + }, + year, month, day + ) + datePickerDialog.show() + } + + private fun inputUserData() { + val userID = user.currentUser?.uid + val name = binding.edtName.text.toString() + val gender = binding.dropdownGender.text.toString() + val date = binding.edtDateOfBirth.text.toString() + val weight = binding.edtInputWeight.text.toString() + val height = binding.edtInputHeigh.text.toString() + if(userID != null){ + if (name.isNotEmpty() && gender.isNotEmpty() && date.isNotEmpty() && weight.isNotEmpty() && height.isNotEmpty()){ + val data = hashMapOf( + "name" to name, + "gender" to gender, + "date" to date, + "height" to height, + "weight" to weight) + database.getReference("users").child(userID).setValue(data).addOnCompleteListener(UsersInputActivity()){ + if(it.isSuccessful){ + Toast.makeText(this, "Data Input Success", Toast.LENGTH_SHORT).show() + startActivity(Intent(this@UsersInputActivity, MainActivity::class.java)) + finish() + } else{ + Toast.makeText(this, it.exception!!.message, Toast.LENGTH_SHORT).show() + Log.d("error", it.exception!!.message.toString()) + } + } + } + } + + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_button.xml b/app/src/main/res/drawable/bg_button.xml new file mode 100644 index 0000000..0be0aa0 --- /dev/null +++ b/app/src/main/res/drawable/bg_button.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_edt_default.xml b/app/src/main/res/drawable/bg_edt_default.xml new file mode 100644 index 0000000..ed92bcc --- /dev/null +++ b/app/src/main/res/drawable/bg_edt_default.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_edt_error.xml b/app/src/main/res/drawable/bg_edt_error.xml new file mode 100644 index 0000000..f372450 --- /dev/null +++ b/app/src/main/res/drawable/bg_edt_error.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_form.xml b/app/src/main/res/drawable/bg_form.xml new file mode 100644 index 0000000..665162f --- /dev/null +++ b/app/src/main/res/drawable/bg_form.xml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_input.xml b/app/src/main/res/drawable/bg_input.xml new file mode 100644 index 0000000..acc1082 --- /dev/null +++ b/app/src/main/res/drawable/bg_input.xml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_login.png b/app/src/main/res/drawable/bg_login.png new file mode 100644 index 0000000000000000000000000000000000000000..e37f734654c9f28ecd2fee5144bc50b483339050 GIT binary patch literal 59227 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 LSCGHRFY@$1etKyR literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/bg_profile.xml b/app/src/main/res/drawable/bg_profile.xml new file mode 100644 index 0000000..863500b --- /dev/null +++ b/app/src/main/res/drawable/bg_profile.xml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/cuboid.png b/app/src/main/res/drawable/cuboid.png new file mode 100644 index 0000000000000000000000000000000000000000..89341eff277c8ae42136ea4b88f0d8585906b797 GIT binary patch literal 843 zcmeAS@N?(olHy`uVBq!ia0vp^0U*r51|<6gKdl8)oCO|{#S9EO-XP4l)OOlRpde#$ zkh>GZx^prwfgF}}M_)$E)e-c?47?>V-x;TbZFuuJTTXZQv;@HRMw&$)y-*LRf zD-xcti+OG#+xsh`0bvSj93mQHqDtM$FO;zFV7R@5Y3G!vKKsO6rTdpybUh}k@17pW z?!N5(cB|w6j;zxDx}7D-{gb8d>%0){1hIE3e?Hi6dpvQ*HQt@Z3trFt^7pPlfBw<8 zlMbEo*!OQ%nC(iV1^wRz+c&@3CVBek*M!^6(#+3xuc`UYe_TQS$k~F|=bpG*#n+$6 zx%0q7PcpyN!#qBK-+ii)=QObpd9=reFzAArb_6ylLKUr28eK>xk@aN%J2YLNZ zAOEcD<_JmcYqizuZ$BM-BlUTuV8--Mb1WvWJ&^SEZo{kS8|jIn&$KV-b_e;ot6AIY zl|PiY(z9UxUD5DRJ;$@1w#Ei(Y+E1uTz`M4h%4*lQM(1*4!S2-eq=w)aV1QB510I{ z(tZC|COc^HtT@u(MPowofy|X_a~MNovL2+cWxd|sxI;U@y6)r8hH2Uxbdx97yzzYh zg#SnWdf%l*g|#s~wg*|Rgb3|>!kGUS=%*WjJ5Do+6))Jq^?LTS$BxtAyNH!>%oDyg zaoTGA9o!LX4hgP^nz4G9(VTDhsvjol$(28StM=MC)BJqETiIfk7go>HK0ST*^VfRw z_}<7J;WrGZx^prwfgF}}M_)$E)e-c?47?{~ST^vIy7~js_pLZ)jYo@i>p$g^j^4uB}}lpqhMt!P{$oJEWDkYnvviYut@$J+hbm_M`cR+xkN~ zfBg0|7kIu%!+vgcPQ2!P-6uy&Uw`=P9C6L_N0gcS=^MOiX+4KO9_HcSJFi_PVrJU* zs8pZjzLo8FCr;(NFMoKO?VbDk51&12@%H#7PLV=>e(`71w*;{0yiSgqxHMPzOi=El zj~_QzhPxL|m{!u3_0>Et-`!JqGOL-C{F&?9B+mz!ELq-tBx-HX!w-)gQkTZ0gXYmeV>I@Z2LB= zhf0Jj2$4T|ti)=!cK5UbSrzR~>Iu^}yjjIiJHcj-7wa|0Pl?+;x;$X?hzzw z>9g^+#7N}{H9!8%4S7&Lp=QRTWY$+7nr;YR|I7OCcD9+yhL5kZ?05CNY)Wyyq$e25 zZso_WB0Z^~(<5O5^HD9IZkLv}j|)Cq3m(sG7QcFX;yv-O`3C*_rFs4>i29rTW*^JV zp7;9?e%&fwyL*nj#?Ff4$EzpIu@Q2=KBsc}C(*~oA+gg17rgGd@Y*)sR${;OV~h1^ z@(P0YbXv^Xo+#v9pL%+>T9@zjkbB1%K0T3n`S62w*4EvvYyK!18rFZ0zWn)?=j3hb zGx^()i%wZDe zY?4m(sEJdR+5Opq=cdQBxf(amO};*-|L_lXqs50p7>xHP0&@t1r>mdKI;Vst04vmd An*aa+ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/daily_counter.xml b/app/src/main/res/drawable/daily_counter.xml new file mode 100644 index 0000000..30a6003 --- /dev/null +++ b/app/src/main/res/drawable/daily_counter.xml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/frame_1.png b/app/src/main/res/drawable/frame_1.png new file mode 100644 index 0000000000000000000000000000000000000000..36ee07741bf515545a04fb011babbf976e22ecc4 GIT binary patch literal 12740 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 Kq$?y%KK~E$Sd$I_ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/frame_3.png b/app/src/main/res/drawable/frame_3.png new file mode 100644 index 0000000000000000000000000000000000000000..4973bdcc589263e3707417d98a884deb7f4de9f2 GIT binary patch literal 9510 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 BHWUB= literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/frame_4.png b/app/src/main/res/drawable/frame_4.png new file mode 100644 index 0000000000000000000000000000000000000000..d9ff8cd87a433da81553b9d6ea1b4f6ed43eaa61 GIT binary patch literal 8472 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/ic_add.png b/app/src/main/res/drawable/ic_add.png new file mode 100644 index 0000000000000000000000000000000000000000..dbc2569120f0adc3609fcaa9d86e7107708d4d20 GIT binary patch literal 9015 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_profile.png b/app/src/main/res/drawable/ic_profile.png new file mode 100644 index 0000000000000000000000000000000000000000..d5b5249219f7eea230104417529717c347fb3568 GIT binary patch literal 4083 zcmV005u}1^@s6i_d2*00009a7bBm001mY z001mY0i`{bsQ>@~0drDELIAGL9O(c600d`2O+f$vv5yP0^jIUd zdI{hhETfk=0g|`~ke359&7+4j5QADdH5T)*M_A57(m+^- z8SE?mB$Y2l(*wOI+Talw0ixidq5LSJq5S~HD0n6|yO1#`B&GCm?n0CNX%gfj#lI+*ieRKvcH7Dca6XqyP=g-kq8kI@tX!KA$naS5ZB|&D zRLwFfAwYDmu}E$VfF1<-EM2Rl7_bX{@z@k7fYbtn`A;WMD!t+SvI z@3IlmtRV$~_;H21+emmCwD_Ed0mjj@_%{ZD5W)hQNk$iai`VmpK;u3FSwr6~AjWz$ zLZ-F&JcL_A8llrSvU%T=JKrpz&Tz$mTcEQmh3*NzmV@~sK<#n`!$+6wxeGRzNNJZV z7MP%Pkt;uBv!0(5PX%~0clR)FrCrgrJpth&3`5xSxX?2JnkAMsV+u5)bH>Y3jVCc6 zejr|r9|w&za8EV9YfJY8xQy!pyqV3P(V4ECcp*Yp1^8oj^*jS}X}m^Ka6!Yac=r)- z3D;sk)9q^UNe`Yw^kU!=t_V=ad}@Iqlv|03<1Sc>PhH%I2^|$6_H_*d&Voi+Xo!yO zjCEZAhj2`Q<#l}1pctQD`v$JgUFY}LU}pY0+{)!)IiEA%+ZK(%&v*2~eLXv1Uw=P5 zviE-TraIiijr47erN99k5n!peORiuw9TedE#YMRIj4B!n;K%XMH8a+86LigQ9(_SY zYj|>ZJleJf+7_U>Ek=Y)%e=DX>f9V0`NtF&;R1L8itzmNW3aEUA5@{!c(82&-dM@c z${hEh_?|iUiYqR+5!+%h(-NvALW~D@$GeB24ch92m{oBtzP4D-<;>rGb$$-ifep>y z&W%GGv}^&(+hojwq+rbV#N^Aqh_4c~gdZJyQK^`)2*u%6H`8p{0-E(cNkQ@XW%;VH zETIU;;uK*Bx4dYfB>~Q7b7L~QUaawXm2lVrkLB3w7eOJCtuE=eEkM)tmbONd66|a^ zRbY0K_rAVr9-AugtoRf*C+z;bZ2{5|YR1mb+7h5?{UoKdus}T5Tg|!8K2a(mDQ_s+l%@hy!TQO7 zYF3bw#7zjA{ZLZ@YU}46%2`1hNozv^%5MEWzxF?ni6C0Rh60q?`XMr&Ot)9%cug}a zSXY3uTR(KaGZOY&QGj^t3XyD-5!V%c`?nq4m%HH!uWIle#K>+zFdP0(tvC=l zSnI`20xSoNNst&^a4I|hR?H1^l8cP(seW;j07;lhe}&r*0{4CGB69D#UGmxdrd_r+ zyI@Ldno5~aVY&Nv3(C1*AarwRw?TkEEZ!Yb;R5qpIr#&48EcqL;o7S1jBF5KI8sc4 z0;rThDoC>ONtFwh-~A#gbP`mI0TJGsd%W`bx&T$kel=2%tSm~e3(yD|dT@-!6QYs) zsP%YVfMFU|!u@K*hcU8l?A8Uy+a=0aK-@S|cJRV=RiX5!u81kX*~LZl$;t?Ddn^jF zvt5BNQC)aB#)<x|76v%LOMvA#lHD*-_z3)Chx6)99H3 zBtZ9rLf}4pvZKP6s1a7qQL=!9B|sqt6*zf=O6?!G8A?k=&vL;^#enYv#lQew<{)17>iHvq>hs!xH$j%d%wXRVY{&%|%tRmA`+zxD&gs!!M<0F6 ztn;A=H5)OQaf{rzedjC?dK@$+rP;!r2@%DHi%L;=L9X#N!(cE;Ze;JA;K}eA&};yO zh_mKUh<0|}N73PxY)?Np2+uwIOKtJ&agtnLUKtJ1&|4rWrIB3M&24${F}gfAT5h=W z{`X4@@cqI9Ea&s)Ybdhqu^0^Y-RsJQLMK_4kFY&(F9?-Iju%7s8VXdT*F~i;+j}kNey^+n&^1B2G2)e$%ymP7L z=|{4PuodxDf&#=EqbwGY3opGZ9vvCkyec>f0)Z#u^oQ@8Q^eZ^V8+E$H4ds1OiXQ6O%7@B)-!BvtXW38D_`f zF?K3GGRdt&m8@RI^~A2?mQ=ZKUEDwAhnF16g5y6_<@i$%rw-C)Gw;SKKf~a4-T%o&npqDJI_u%|aMBEl%B^W0iee~D9 z3DK(WxncEcftMrTXBGu30VzK&;b%(@Ey0t2e;K?4t)W%I@Jfi5@UWcZ^*AxK{Gya< zc>FiDE8cyi^tjCYa&C-JavnU!iOjDPP>7H0-Ro-K7QbK^+xj6q3*7YRqhl`$5q@9? zWY@MWZ<~*;7yXI@(d|0D0;OF_mv8b8!~GAyz7Ds@#V;0iY~K5NMwl!dKOb5`zhMP7 z(AOKw;NuPJuy`DJ1w7m_|KgWlZ~R zx;1_wKs=b@9gq?0Nx1SIo*I8l2uXrRoWA@ahzf=Tcth8z5`W`~55~Se7OF2*KB>MY zBn2LU)=$-uq$0D-tu)4>eo=&Cs`B{;0b*egJi1CwWb3Co*kST1M9AD1kEbhN*mPAK zcf%LJWwiD47qo((edB#%WU!6y7ukGSW)Y^qWmJo+WaQP)ym!N-$j(;3wn>2H^f(1B zfu{f6nHkXd%hmZguibFUD!o)v=fZU361W5wWi|eTZrICn!Ju|%S5ttw!s--p>3U%q zmPQ2y4@03$UpzKd>y4TM9O&&`G8mf#7r+aMG-B}Gf;WvX-uq3}d$0c9FfJt{UVUgy zb7tnfaluBxn5g$&T>-k4jEKHcSK}+B zmOCRU&}iDAne{`O?hojO71RWSX4VgBDnM-oHSJ)>`XRPl!uw(rYTLLtd z%nVoRf*SR(YyA-0dqn4otK%f#yQykyk+Ez25ZeO8?#LQ|PDnHj;XU68yVehBX_x%| zcodh@q(GyoP2HYvJz5^qK%saNG@2UlWOby~f77x6cgEvsT^rO?gPLf?^;)zwsD{@D z$N60vG@25bvL;%l?MX@8+#b?du?C0DwBvd$+7=+1Tb&ha7=gB2uSLfbYV@3u;DU2L z`nN_;KnHX@tPl&-pyRF4K za5M(21`k}vgz|!gW;ex$xGF#dO}7@IeBe3jw98=!S6y%=Ix&$4H)FnPJQE-?m(8Ex zCie_zgoOb+((0<_PViKK$jxka$bc{oMofT47;ssY0qjuuI&klPFZclVj!DF9+a*9F z03^){#vvzqyRG7S5>gBNpt(YBSYK=GKbYy}3SA?9h!63_0#<@?VF=)qUP;()Ffx=(3ALHDo-;zNY6fR$)#=o%?nC_1{7 z$_a!Mpv8PPH%7oLTqi)&HloCO^$@}Z*8+>7xa=F7;h<>?%y91%y9Y!SA0n&;tOVUM zgkW5+tg%fB_jD8`&TE7e0<_RVY)Y!!$4!AGNF_iEEyPVoCp-%&1!z$r#K$3E$x69* zJBb5@WN@|hkXnG1l(S~Eh)GbJ6b_Tj6=G8Zy+r!Gd6W^L1zJTGCMPI?gP@L8%$S43 z!`#}%lAl$L(cB(FB17?U6u7}tG__cF$Ic2Qb@m7rxbLdFmUI?7|l{rsgN z5Q_|sv?q+E^J~$!RdBC%2#f%$nO$T((QqC`n50~gjG6A*D^X?$fwW<;uMB3S@2=gG z3X0&W39JC?fo{8CkVJ@*guy7khdo@JxKzx%@$9pQx3=mn9m|yOQA|sOkj$FFZc$?3 leI`O#W~Hzt6I8L);{TFm2k$qXai{-FmYi41k3|{nw)Rf3Kg`ZtYh4O(4-=^B!$yeV;%A zC^5?fK@bE%5ClOG1VIo4K@bE%5ClOG1VIo4K@bE%I3WO#^^I$1T$9iLo(O>4*+S`3 zn;X*~su*2<7E9=_g*NI1t!vw-FA31D>Ma;uw^`DT0M@+K`;r_Jb_DxAd{2&Ls*d2) z2EQeaZGwuB7kZoD&9UxNa|E|Be&3GQv=m|V2;hPql2WWaBY2CV%8&lpo5}t47RM%$ zF!lifT+nGKh6^U5m`4cCibwzczlrgi6}hJys3Q%P;yq5GiyEUdhIL&8=UwPu(U!4d zjv%O1$v4|Tfgz|=#Wje~qJ(goifqSebe8!-_eZO&0wbECDp&?FFVO^fE^T1I6XY4h z9x;S0gNQi`XBY+%S5TGQ(kZmahGt|IM1(!XZYDTmPP;_>YB*yURYZzJ z!|O1^QV4RY`827NQ!>Tf-an}M7$TjM{)W%F>7}AER7Z<_LuF`=7W)Qh1eIa)Eb;t? z=O3l#&oorkg3n>p2UPs{r}wMyS+$*i<^2J>C*0>w--e8Kz~?{3pecx~PNF&rLq@5T zDAjN}5&nQveUc|LoCfI!JY75g6Hh>f(+l7Nz__IomeO6K zovO+g0WJLij^V6eaEytsz`1Dt2yy>ho3KQ*y6^ai$fhD+tjc-+VQ9c8L+J(If7$- zOdLIq(&8P5{VOCiHC29DcO3Vv9gq#X`l)$+zUOnP3r3q#Z}hO&I>+z49@TN54-BC6 znGIDO_7L>%n2(52)P)1`uxFomXxeWmK+IbRSc;UrqM;?Zh3AQ>=mZa)g3l1GaA5Z; z{}!6hL}0v>hX#cr6pREZUcF%^h_A?Mh%VrM?1QRlLKFt^6)KARlNjI$Iu31PCn&oiq{%5YiJMJt4i3MwJjqAb}JJp^A!viiiyr5djft zA}S)FAR;17L<9t-_ud6mEad#YYxX`nfyc+!_jm98tpd?enr9WBryh=3SGO+b!_$ z)$!Mneh$(P9$HZ}D#X&WIsEq+6Z?mkPaM|!>sdcAHl+>YS43$^QE{tpyowO-hV-GO z2xu_YO!QxHUZoW^6Nc@)6~I{2d5krlQC>B)$kFr3rx|m|W6VCeqG-Y>bqVi+w8!Aw zDvK&gK5y83C1dJt#!S;kRgJ0X@nz{-jDi<(cWQfYmZ~e9{x6mo#7p5qeD8-@0?`hZ;=1dh-r@7DuGiwE^AyPih?RabM$pd&8Pv!%734ffw#AosQqP6HJHi{kM z8*yCOY*8$ZmWGxlmgbg@7Jo~SrMsn3q$+ir#lvt`Pqb$|!o^JO=yF2ZEcWda@ z+^v;cJ2wwEZ#RFp9&QP4%iUJGZE*X-y_vg*ySKZahww0aIC(VnaQ0~B(axi@N3zFY zkCG0%I_&;aSgnvulg*ti#obT{y$`E0@+#` zvK33&IAr72U#w@*hdCl!WQtUgD0+!F5hJ36pXkEB=I`-x$js5;w;8nbS6Q21@BilX zTO-DPbCh*szjgoh7JMy#YxV0p=X;-TeeUA9v!|w>-F0@y+3jbyo!xSF{n?MtEEJ~K6m=`=@X~-pI&$R?bGv4gdf>vk-Dz&{+F;E z=_=VMJ#{7UDE1V4M*20VNBvhs9RA(ENf;52Vze}6jhGYkFpEXAUhHu;nK?5T=8Cb? z68hL0W2YTPktej$9b?B4`q_rHWzVyj>_z2j3)V=v zr_&0HP&Vqc%GxOlblSuml-G3HjPP+fZO^=wY@N2Sf#R-CJF*@aS6aCZxd&!Ljc&w3 z`4F9M#y(_gG#Y&$!)kPzqfP}nEtoIsqSFc}#$s7HQkJl4^hFV zp%QlguW5@|1^SM7i~)~I%zg>1ij8GMz`KNXMQ9ED)u1PWXA#R~qY+yqL)?(M3h`qQ zQ--{5;4~I^D8eWWNmM1nD`bw5Y>Xw`($x~f+$?^W31Tf_m;<_DtOr9q051I8e_Q$lN5G*7^aEkepjR$sR11`j6x-f(8|VE(g>!zzq_YNjWH% z%8g~cWy%_~iQE5W3q9Pfq&>wbhcvJTnntx82I)zgiqR4iA^lMJD_AB{k+xGyr2&(c zy0MPX+7c-{#SMp}Ug{)uKUKCurPSYSnY$DrG-fDYI?|G!Rw8wZEKQSw+Del{YwJ2m zvXOff{wU8FjF23ZJRFizn^m)5Na~NjVD?}-w};ZDfPW(TvnQnZ=aiJ9j_VK>{t%}J zbH_{RCd&E`m%T&tfxmQG|5JNCn1}q;$TtEtp|R_RJ{~LkoZ5->qT_$`^KjIkw3B8E zTiUC2y zQ;2Dx=~2@vGdB-2KW1KJ-eSIG=V<3@S7o=|?z(+P`)d2e_IE99Eyb4kmhT+w9bz4( zI(*=8z|qAq+3_XEZyawm2yHN~!G;Dm8@e}4Z#ciD6B{!PVXopifry8f_PHUVt zJMDHlm1)y3BD|?6S&b zyUWk6uCBdYb6iVZN4ZXLo#Hy(^<~#Nt_xk4yRLHmtVLXlku4^)nAze+OZS$3Ez?^y zY1O$^daFlTZED@BbyDl;t&g^8(x$Y{oHm!*dbfR~?Si(a+I4K#r`@!6-?iuMGuyw| ze!ZLOmg@Gp+dg-TyR&bSP!ADsd_m2?{2>BCM}eOvnG z_zv>@ymR}`Pj>#i^B-M$bvfL1rk|VNGk!O^J<{!K|Hl5$1~dwdq-t34fhJ|Ce(%!v$&+!B=+-7@;480Q%G zm^radv8`iYhX2gFy#Z;HR45Rou7;asoMUbhmX6IUd$q=KaV$!(KM zlGmoRNvTNrJhf%&_|$`G9%-+nd!$cF-;>cMKx zUcCqPUe^0|PHN7pIY)9XRys2E`5fv@pJK?cffB=MLUl7&+mKiM|uxnq)ue)kix&I_=RvC-txwcW88~I>l(SDpKl$8~`<@DX>hY((o$5X{VCoA~FHXHPZNRjT zp7wk?=;>L{Gy#d9wuzVz|SVJ|Oz`PM7FUU}!0tFwB{n*VBtS6_Vf)@u`9JN^3j*Z0i!nEl4= zU*8z=#usxs%z1RqzBe7-9Qx+G@|DzLaZsFy3`o6Pik=vq0?}og)XmR-BcbBwTGI`0trD;o7ENi@M-m>M(?UpxNK5qHm z_rl&=xWcqz#)?ZT?!I6A{;`!_D`&4f|3Uf(^FM6)VfBY=KWh0=|Bv2TC06CE+WfKO z$Admzy4q{?icgY1*|ElDP5GM7*LGbydF|bGh3hVS8u{t`Pp^L#``N1XF6*n;U)vD3 zVg2VVKCk)wyN%s9F8RXz#ZzBg+%#y@v`rsx`h3%mUy3h>d|CPByI)@V^6qBe%~hKp z-MnP;$<0^4^7^X$t9f7T-O_AJ_LkSST-b7B%O79Id_DQ=y<7dZj@Y_so6EMSZN=N3 z+xFqMAGZCz-EDjF_Ui5Pw(r<}XGi-T={qLwSi0ljPIYI{&LKNr*|~Y=&2QR$6Y)*f zH;;d_dspjS!*-3?_42L{ckSJEe%GB{e}3EKTla4>z8(1O)NjA~_V{k6-O0NL?q0V0 z)b4A$?|oltyT z(V6fwQ_jphGw00WGpo*QJhStx>%e#ZIr=eM2TcmDYK%jbW&z%Mks(DFjR3u`ZY zb>X{<{G!)I|BDe9lP~67TygRKCCeq}OA(hwU7CDp#iezZwp`kC>ByxEmu_FGz3gz= z<+8`+{L3>h&$+z#@~X=lFYmm3;PR=<*Dl|?qF!lyCHYFtl_^(dUO95r=W62BF;|yg zU3GQy)qPhFU%h+H;hO)otZNgm&Aj&RwU4fSer?CKAFiFecJu+9v|N6G;m#){|Xmn%pjhQ#*-B@|!`ps516K`hTthu@3=80P^ zZUx**zBTODm|KtDntE&Qt+PLye{TA7@Xu*K7yUf$=OsUX{PVV-5B+@Z=U;C--R^!n z{dU3aDYxIez4G=~w@=>@cbeWwzti_l@tsk3Cf}KU=e0X$@7%oe=iQXM)pzIJ-SZ3Q zcjcLmah!_DDG@AH?axw0g7uhm(bn@y5!`*a18~#eUa+1QGc~6cAw3-Vl}L@|-q!QF zi)XAh2kw2i&){~z;ig5pK;SM&*B34e^nBnQ%31JP0^V2Pw!^&!cM@R%aLI7J;d~J` z1MXe8D7YsP))#mkTrJBIkXP(vy%lHRmk@Ut_+#MKEL~{|`ZSy?{L_IK0sFE3;&tF4 z_)~!|z`3(z1@$oGxeOZR8|4vC@DOLqq5!vO?+Ch{(LHM12|n?(S#*GERQT7ycn|v zQ~R<@tfz>p2xnJSyQOb!8fpeoBeGczKHhmh3r%p>T6pc7J&W~u6`ee z!f)%tRmfMb4~_owW?g0fRUob29xD1->XF`Wste-&H+@x4F4u z13$U7@Iw#H&EOh>{vLQT@EqhF2f8t6PnK-H#gf%CaPNX{gSe;RQs6$)Xv=k^rLyyM zw+nc$?w$uGhqjjPD`0XzLf-e`Cc;_aht8^P;T{LC{%{>YQ(e)vD*8$VKQrpA9)*Lx zlQYEw4}!Y@_ch#ZI7(j*_m}R_r|K2B%}AfGIkN-sle)v0lXYS6*T9hssFw&o z41`4j?+1>BqjrQ-F>Wc`lm!QV>NVh8IFxNd`wP@f5TDz?=o9f4XvieqfXjgEXT7D) z21Z@QLd5+744Guzz5yNx2OcK0hp7|jt8iOE4}-i^4&l}a`vNq{0Vj^b|D^Rt6*8%q zdr5XP<~rpM&6$TFT`z>sML6=SWpI$qqykeJ)W%!jpp)ikgg0YZ>JhlPn0KatKb-Om zu&4DHVH5a?!J0Fn9!enSFRb^(0Ps4+dYeCGz116V%iuCuZ__dBd3$HXEk@oD;7M>k za37*P@KV9kyb~C0X5Irw{oPx43BcjIkOKzmTQsU1sK4{Of!9PlDI)Q8fTEWji?xfS3$6Zk!Z+k@T)+!h$~sfpw{0Sw(z z=L37dQ91r_N8!*P$~)-GzmWcUwAFavD5QB6?wIZ%n<)`#QBSImsSn(2$cy$eDY|n- zzM-I@gQg8|sDtS#gn5FeFX&XH?*I%Q>L+lU;AmVTPDOt!AA`Qd`jb=IvaY6L)*o|F zfAw3qU*Ycx{0rje>ha;AOOXeT`p-N@!>S65a?Foun94Edfd8+Wqj62TVTLZtan~B* z_rd3e=Iq`DUJM5vr~aopn@M+<0`~y60#mzTo-&~vYE#*+Xg~FHgpt0G4qgLII!*k7 z(7p>mpM^Vz^3cWtZ6wflrVCgPyzk>X9<9AB4tP5`+GAnejIVR|uTwfLZ7uDQYz}wT zwbCIi?U`&Y3$%2IUj%xG5{WXQm$VkzoI-2lJd)x6W9Q5IaxdnoBxC%fSum@U%a!Xi-qO#87YwS}v%fOe?48;NdH7tYuim;}vljwu+RS16s{x5->B0e6t zIq+bFrLpd!E%OlX;;Z0d=A!IHc@=2GWY!Gfeta2wTFhcofh)0Z>L8A@GJJ4qg0!9C zGVraDaA#4@I`b6dC3=c1KZ;?V5{f1ZzL{iDIGmOb>G)Xq9auMB&RQWnSp={KN-%4{ zPqKz02zUqU#P^^)PgV?^AnaHNxqnC7i#J&;%IqRqvS^XZT2dP9@BDZV=Bl({0elPE z|2x!U2HF5^&+oHfK9x1$b6FelA^I+rwd3jd9`qaP@-*bg!`Gk#kfkwe!nT6n8ks*3 za(Sa|yu>!Lzh zWnWN#*c|l*`b@kBJ)`#h8>glqocaR&P~ZJW`Hv&s)(_Md_1!BhQ`VRIqP|04pv(;F z6IpL6pXy%^%etfdhq2Vn+elCKeixY9hh+R8u+(Gle;A_;FX?UFjk{jXEhx4z!;Kxtl>1n zPvZ)@Eyq`VjIk#5op2TOp8A;D`d?xipEO3~_@w@@jZ=&jIbQ2w$eh5_t$P*drkV~} zZ8F(pKtHgf%#DX(T#%#j5d-~yi8W()@b&a()|~f4SYM2h?aaqk_QTldOOnMV6X7K| zhmOTL>?ppvq8zrtTFWQ17I1ES5avV=j9*Wj9p@VmWJ$IoF4OgY%pZ&XAZ}X$)g-YbHL!_%&G%)0`o; zuo7-%sc>n+7h}06ct$Z--UQ!9KF9ap@9@Rr28&={K&LUk%5a2%_7@lvY!SW;FT#A$ ziM54mClV1}fcE@5*XN<|MJPWHy3h~veh$_EU#yB8&VeQ4tF)4kn4ZV{i%Z4@G7rEa zvYbFH!`FX-KT|y)2VECO_7>)%A>%5TUwt^Fe0&A-t`EVCI4KfS*=oa5`wNOMBp_}a z_9R?sYBwFQ0lu5RWH(OyA?}JB;*vNcj@hN#C5j)#UaBL>mJBhX zhdDt6o5Nwt(9!G-BaK#~jc^f-g@frY(_cb0UE#H+6ZqS2+6}iIe;Z6|Ods-l{5HR4 znvK61rfH^W`~pA4kMIMgVSEqYY05L@@hzq}zLBpp`SVqL1z&7x!58p3urryd{(-+6 z_<}TrPvSMaQr)HQf}O_@K9CpiQgx}ilxOo)^+le*qtwajICUHkSBup_Jdk%$)44Zy zW1K&4jRySC8Uy$YL3Jf847lku? z*O_SXC*{R`14)=exlEe0xx`timf^cdD%C@Bm_kt5B};!!rdcd&^g5;F3u|`+j;#Gw z!Y=`zkZm$U!so0}$a|5vVP{DEmrDMxNd85{+2TmhEMv`+DHi)+gs3-3Bh|4KB5qj! z0Ou0x6QGw`Uj)6-x`;}&&Xgr?2YiZJm~XeP1+20@54g}e5OAaw+{6u52)cyoE0z*} zzL08!SV+a6pc?U~WR13yY~X-!SVMgV$YB*?j1SWawG=YWpz)y=sM%_&nxICh;cB4T zMfFzQ)K+S9wUKJC3gs{5SLK#+MLDOOP!1{kmEEehvR&D%Y*5xHA1ce0Man#7w(_zv z1Ao($$CU|6wNkDOQwA&jl{_U=Nmk;N2qjeUS9}#OrJd43X{t0(%rG&lH!8IeN#ju; zi>tNKDC9^KPt}b)QA{I`Mx8e1L@Z`8 zgV91`g@@A!(Z|Otwdc{6YY8e1tmU9*60NSr>de(p*~9Iz8{*0w>mG#o;&zSn8a=N} zme6b+0@`fd5BQ=LHaChr@c~47+;$I5Lek2t}71ehS)mMduC0h7CrNkX%BS3C#Az>$kU$O2)%3#Win-32ON%D?T zh9@Ym=^05clC8Q(mixVIffr?2?@0;Yq7sFD?Q!s2QdwgsjD5lJiPg(;@)a?t`-z)`iAWH`!#^_Gf|k<^3W3<*Uu zSzKQs#bQ5U|8>I?p`E*0%5J$7DRu%7URjYK!>NdmB+=??p~1k7E@ z*hghxFY-Ejlf8vg=0f%k_9RQ$3ic6f!Pc^MYy&&Z&aex({k{Qvz&q?N`yI-la5Hbg zy?AGg&p_UT_vDeVy-b6JV)x0&z88i<#n6%oktst^6Cli|^(K_%VKtU*vZ& zv-}0?PDQA~B+SA=IEsd%sc;sqf>!&sqMc|DTMl>OEqp{L;VU|eu9%;?i2xBQB1EK! z70H;ndW$^K2eVi|X>m)|r2px-^$mmzv|$VE)?kb)+Y__BI!ZKUHm`)GGJX#!4-yd(u}+X~|Eqa1P3C_=qMx@FV0N;6r?s+gjX%d?{ZY zUmI7X1y^v>I5t+U;qQWSN;#q&P>w*FYswyFC)^fgKrCBw#XD)ka~}@QCWw4 zd-T5}GVM;J*(teFPR+MYS%tI*loh~>kz*rDT!p+BB!_jN78n$TuY-?x6Nhz@7nQaL zz5_@}X;*=w_yZCjkQC)X4%tc@>mcg8%H~7f6>zJ-^MEX21-O!1N1RamRWg>OoP)nD za73??e=Cq`7G$QDA_?x{PqrpXCHfRvyfHAMhl}B=~ zgH#$#^`L&C{?S@h>lI2j3*nTX;zO7Nk-&e$?)yHyStcX*#eI6loLn zC~;nZ+*C*6P$$6w=|>wOb}{sl>be+?T8w%@>jSC>)tK7!8u(KF#c-rev*05sHQmwL zj%sxPBYo6a`P;l?6~@Y*nyA@6t12n+T4M7np#jAQ7d+1j=d$m2R%!C2e?Cqd@lBa9w;ym zD?t>38R&b=A9k35X|;GA^Jy1$nwwY-tkzev@q7)x&po+SH02edx#-WIlxHefTEo(q z9CnW49H1f|!Jey-88eXSkm?0_W@7iaT5YN}P|b9ZQ~to;UFC*yNjak&Q+`zTD!Y`e z$|mJAWwo+WS*k2l<|?l#FDlcOrw~ISaozXM{A z*eSN)Z=+ZTw@R!Ki^T#l2W>o4JR_#yZ<46NU!^D&L(t9zuwlp7cKk(&a1kiFV9s~L zD$ras681ufK&%wM;_nu}g0W>9B|&hQ3Usp5R9$+(;0s2*F5#>S_r?2`axy+E>z(35xrY&XTaV zgi8pjnz|NkS7S5o|UweTx}rfYZ5M$@GL>TTf!$LJSO2G zg6gXhHYcda{!;GBkR%BsWVkHd(v)cPVF`B;G`&Mmy(!@h31xjnxum})XmTb9-6JUb z6n7h-`A;%rrKC4Vx|yV}N_a-X?NB;B5%Ql`9x@S_Cz7=mggg{!49 zjqH8?l%(I4P-+N2Ni>)8@JyoFYV2+7aTn=;w+IdJ8i8If&|P#>+{HEjn_XelL;J!k zSP1uL1K2?J2rP?7z~cCyc8XuJZEQQ+!FICU_{wnP|Cc*QZQuCMyGHC8#aP@zjTaNd zMA&lBOq~c9^Ea-C9!K&2nTA_mqkgi!A>nM~ z;3DAg54RKew)LO?R8KmT;1H;Am7B0nx8wHQf)_oGya8{>8*wMzm^a}~c{AReJ98KA zik*B*-U@H1+VHk`tJI#mad*5C@x=bV15V#Qc)iq#`^vq3SMJBVaep3wU4IY{<{^03 z6ozwpcXB2U7}AO$CSIvr%l^Fg+LLdcV6gg*6736J1~ zR3RUX)4~v(7mD$gYZxDndx0`Of{(;3T)``Ol{`mO^D($<8;kSAcs_wo#Le5Id@_Fw z^LE|&VwyZ*Jc~2NbC}bg=QH^W{6)OKdYQk1dpqsSF`K`ETf8^chT0PO^_kiUcV z;9b6$FX2o1GI=6d!QbaA`3G1nKEe&g$2g&Ug4IJirF_QMV>S64r(a%x-I7tPHAl&+d;6xRMmAAX-A$rQQRg{RvEo>}al*MCJ?u9io38$?TtkP*% zEi>@qEDQ5yZ`>W_;{2756OK^=OeJF21NvWqmA?wNzoSJp zUa-~F8-7mWBwiM;U`O#P z?zLVQv&9?OU%V;iinqi(F(12)w{Zjgj#wn##ol8HZorm_<>Ec;MBc~k^atWY@e%eV zALFk26R}3D#XjXz+?K5u8^q_>v3!BMvoFPF@fG$kU*jfi8&g9bQ-thSmDHZ?2Rts&it~tBCcYm zbR9S7H^nXSGxkk)u;%inro}9b6~e z8+KN@C|$9i>xNsz03}cf!VWJ4cZy+3xY8Z_y`H#Xj8vkOXzc!Cao-rPBq+VG7fizK zV~Uchq+w^6fxE~oC0pr@ePS+dCi9g7r4M$E{cuk?KpCh!f?Z@GZY_(HA<9tfDNAsN zIb12ldN@KEi5txdrBbQFeseVLH^(S7%2@12$K$qhqB2Q&RGF+ihP%%vlqt%S*xgRW zP3Y6gGs?5r!99n2(dU(!$_v=}zJzw_vOCT)#f^pLl%EItkraQjT^u)KINJcAc42y*gL%h6! zNn}a5g-KzlcuAz)#bn{NN^g8a%Ej87k9SmkSYOu9ScM1S_IWTX!t1|x*);YvzAnwi z-OMxWMZ7Yc&)#E;mDkw}ti4n5o|f)wUQlMU>FjHE0^i*h;9ln!+~E9*JDv~NH(04Z z#LJnX>}6KWzQwznoopBT9&7h^Y!ADPw@*K?y=)(Df`+qO>=pJSzJeXZYn!X=I(rU# zfigA{Z=uTZ0%;-M?Tp6WfZplQo1JlZuXTk@!1_h6CLhBq$K6UsZB<3{^kocosGjIa#%+wb8__&&SGe#eRB z1KfCjgfrmBIMIB9`|q_l0e;H1x`F);(q)q++Cf;Dfw%hTDIZF zd0g zL{H;Hbrv`9=W$-Xh_lUQ<%)8ZeU4M=b)2_u;*RX1a*Hihe#V*h4$fe|D8DMd;U(uG zc3SxzUn-BWhcuMF;Z>*T3=sU7gm!AI?=c2a%S z&iDe6nV+66;&YVZaj_~~EQk~kDJdZGLF5w{mt!K3Lu5LU>FJ2>1#c{+%OWD*f{>v_ zmBrOXpkfUwOQVphB9@A%NFg$X3aQ8^GGD@RIcCr(gM!ATOHX<_CF&)!%Jf;1%y*zr zjV+OS2}qk3iv(%OR7?_)Ny!8=lPDmb$aoo-N@S`Q*N^DDyjT>NmnVY~63CN~pv7lW z-aMH|=1m|HaR`-B+2qfb{x~AzB$+|+{Rrd`NGDK0(YcaqZY~8#ApPm-v33x=5aGb7 zg_%;Sv-MutvQ>CM19aOOTnFNSH^_lp}#6iJ;JIc(Tb82O^G$47h%9q(Y<>1&GKc zF1fkzkt0t!^(a*ki0X%+vwF8+%AeH>63%WG6a_pFKMb$+OA+*$}A!U`tW1&_B zWn+q}hZj+jaYe(ci%N^^DX_Yzq6iI=Id)`C5en#EQe6dJS(PP#dE=`Pl~-C_Qi7<& zsTv<^~Syknjvf-7c zV#rhESX?!BNO_5*P1R#Zm6SL_z_OxBNjIH@^2e7I*OXRPRgS0vw`wONNb@%+uBxdi zDIQu@J+z#}$|)IDO5Bn0G*G&R3bZu2dU3hATCk4v&~!?S;?gDnLtH3|7LcUlR6PP3g9vmc8VO~j zAwN855_qVEfT)2GhW3Gnng<@V4m{L2lmG$(QPWU`smAb9!%&5(#*_#(Mns8eiI5aG;co*rE91_<5vJV zq@0*Bi4CR>q<6GYh_!{*Q3V=@Ts^7~Rn-y|VooQa3Ug6SOddp#zy_Hvqm!x0sL*7+ zHPGN%^CY9TT11AHl7!a+wB|xeP2Oa*maeWkQK;7dNkHjwxg=^*VG=O`k}aE5D7z@B zQ0tnc!UQcAs|~6FZ?aZvNy)k*DKP{>jAR(6Wx*;Wvq1Co2-((2@X7Q!wqV)lNsw9Q zmdg(YjjSxNtRt}G5nmWj%z-3x!dkv~O%>v`{)|UzN~Q}-!%fSd3I#HAPF+1R|!CgL+8j&{*rW z#0(&72`rPLpm-97uv7*RQea@M`!GvriX{n|29(SUTtG@iGYA~2=9f7WFzBdV z3-whLge)JuLfL?HuT-T3sFF;rFKqDZ(Q-ghzd{wtzI9)3sc7EBK?wNeUpXl0?Y9B0>&Y5VD5|BMpR*lwO#e{lLtYNtYKP zdL}8K%mgY&%MMD8KTWUnP@DVFraj9vYVllh>=y( zksd22?@XGg9WxqNS+OOArz3FO7>i~EsfNw zY)!aqtuaxLRB8iSS}{pc88n_H7kz1;Lck`y2bs)_BU z+$j>4H3K1+Ji>DA0HJ9+5qcJ>5%A0D3|O`pu+#@&xikSolcU9c|-^TQ8CHPAd`Zs|k~#N0An3AvUbZ zol6TH8jQrItcKJeq^2Q6wr{Sc6tXfhy_|C31!I{}pO`5`&!}kw0(5Q2)kX^~T#|#F zHnjaHiKZ(>uC|AvO|Rsu>%Tq)=4u^FOP%B)$1R4fWJ$vpq10CrNmZbpl0GRF4i>Ui zaS!8HlwMUi+(|ow7TQkUjp`2Jenk~2Xlpv664~sbloW;oYf4J}yx?nik(a!bA9-!0 z5#3x1vlXm~)3`377SOUTz{sh^pzMlXMi_JsJ}L``cbzgKQK^d92L*%ICYVkdsflrx z;UmUb24jsfA|>N|!%H=e&97sukw!GNf_{DVK$w1yWrRT+a$*ZB^3nei=OZ9l50IE* z5)d#hhlUyjjmtrhK~$h~{R0ppi9j0>WFvxYM2L+DwGm-9BHTuF*NFgs8)4%dVB;KM z;~Ze)9AM)dVB;KM;~Ze)9AM)dXyY7c;~Z$?9BAVl7;HDTvdrH<)?dd78jcIGi>)Xc zT3uCXhr1xc=2*J9DZx7jLUyrL!>cMwM%oo=*dZP_FhxU$mQ>a_3^hn|!q6hhTCAZ2 z@F}XX>!mX;(HZyB7?()o(96i}P-2jFz4YQrG;BtH6XOzz9FmNL4#N#nRwN)WP{%>$ zl$x^g;u3S2M0P2<6lFT5W(Ww3*Hb6hrRXJ==~%`Gg=+CZVdnIrp<`=G%;gg4p>aBn zH>Ydzl}n_iLnyTzz?`Y&s;rkQI7G`89BR(ga#c!Xm!(TqRbRs3UV7@phFPU!D~A_V zkF6*#8e7w_s=m*hqm@%#ubdEF_K+}hj#f^!hH|yEW9p~XO9@HTN(SC>@|H;pCOFu%UE4ae5^+2z|>T*Hoi=vr@V#jx^{ z36A6I(f#Vt6YFSmf2}@~By#9)D1^f#gVbsjuGcP6@AX7Y`2z#OWqe>jcOA#-SnJ=w z5IsCj%NH2m-P{M4rx+aLHPlCwV7x?@KE-7v)g@!f##qMNDB>5;OUn}$qX5fSWAL-*v8v>#J8K@yfq++a(J%uryd z2s@+MB9LkC&x+;yvxtY@pE<#P#e^@ej%-Eb@?m^LJy;C7k`Jm6EAg3u_pJ{{ zVYu+@2jG~RF+6otJy<=mdKgd8;i%GKJgT}LBpv6$55Yk0i;(&-h`S-AJ`CnA2r=Ne zqMEUIhfMus!B=mNmWQF4q+CD=N#S(^-eFTL{YJLdtMtZ?`hs9nKq0Nk^k{_1Hwow| zilJ}m6w^dPvxFuIiJ3qQSuZKN9a^yGX3rNr2YV*E+q>OxJJ4=tn@cU*IBqdrFikM^ zHTA%YCz+xl3>t(tc5$#s@`g2& z1AeXh2EMiK$9Lxy_$E36<&sqPDBXqGivf5Eu34H$3lkaRiZAmMrM;E3Juz}{k8|{@ zLeI}Vezd}V(ctF5gm@M0LG^M02U`qxI3p(4^BsVdSY6z9F{z&KGcmEAZ-tmp&o>Xh zB2<^}Mf{#noo@>@&3QgR}4$BI$wdPuIEb@qwD#4;2msT$}Xa+p06E#gP<<1 zF<$W3`GhF1^I7hSk@b8RL|uz>%OQccFShox>=LE*d>h5^dcF_EFkR2^!onT=+s-v& z@vF#8wSBKfs48u9-V-a06wq7#G<+Pd_-*A0%q|Z2_T3U+zg_Xgy9K^`x59Vu)=1$X z4m@DRk_&4Tyv#BB){8l*CfgTx`rZy3YkX&~`=*YxPSDJ^VJ$>ys1W*e~cQ@@6p2&61g~Ryk13& zKGQVV8P z*9Yv5X4Pviv_-o_)Q{SPe$Ss{y{yw=j2XzU{n6~(O1@&E)>dIz6onO%`VlSNj$)h2 zoTNh>>124@D@J&r3~!@{?>E8&WO!>me1j40FT-0&SzF*$^&pe4dPCi$&QJ%dp=wiD z*UVLdVHY=82)y;01`E+vunpSE=D?09RO4n^_yD(NuqwKS-&LrUFVIw2x03bg5ZH;n z0=vxPuyS<9JAf=bZ?TcL8z_6&h`tFM&n2+qT*GgQBs~?)*;>8*KsmCruz_{MiZT<{ zpzpxqb04fOf7a7dIxTHiP!`zCR=^7N4ZJ$=hc#rlh}Y7ob#2xK=^C)}>>}r|!)*;4 z)pxOKZGmm56~9d&TUgy_aP17LA*`!z!b0me_B;CvmaaQ=tI;2!;ad8cMtWaKU1j&U zX5Fh<^{$szr{78&P_p%GDqQrOIY!P-pc+a0?8~qS`$O6VlRfVvupPCBb!fDn!_COi z5makfM%{od*w6a>L3YJtO-%N{;jsGcCGC8t@n?xg1yvz z*dB+#b~sAf3n#!{2xhs+#~#y zw79(l``SDFci7I_-W7Vn1~w5EtFTnnOQJERmDGVs!eD6*n`sYeFYP03rRh~US|csm^ko7n_uBb%d@gkM9k zmE;AgBdoPs!amya|CRqHH+v?uvR_@JLMDnBJ70SVegAKlv;lN zmyzECR1@sK`pb1?ynNHSmVXAz=*|29zbDre*a_?Twi@}|LD_M#>>kZGYF5R1n!52% zn&^O2LJI61KgE3UC#;p_yG}i2UH`Y2DSN>h@)NceFHNWNPvzUsK6=V@qg+~NoOHX* zK&(UYu*FQnesKY8E0?p6*?K-*&qHgP*5_?OHH2knn6&4NhE4wxwi4EqAMwBN>eNR| z4~tA&`Zl1NNh?vZ5e^)pt6@LgSIOhpE^0QdoA|*w;2#pFbC{IbLSR-9f32>a5N(4+;>#93@6 z?1!hIy=$;rDuqSxKs0lSM-z;KZQ7={@`;P+}00fPm#Y>qivdDw7v%Ur@_W}9Q0)bESU$vUOESQoQU`y7^!~v9iI?z zeGk6`CfGvJ74U803-~(bBEjNB55O29TVI5Mju4@M-393YUKIicif(}2@SABQZzn)6 z5e^wh#vtH9!2ZAkfc=2`gCG4rDgDt`4IXY!n>LAd;FBym0>)zIAQ`*?qeTb6NZ|z- zfnPGBmh%7%67GP0!VS*+5rS@c zdI}mBJw!vm?t(@~xNrar5p)g@#&0N5oy>p%!UX6qRKRZdeJ!db2kb0p1bE{YmY^B< ztu<K)u^-BCg zuVC-r|}%lF9C+} zi+~~g0$`BbMGi;qn~-!ka$W--28rutr1MA@!_NUm^D}^v{4`(~`jzDWhY?B|#g8EE zO1>8`jh_OH$1mQI%qIY2@GDlt^(bH@KMdFtzsF0`{sb7t4+4hr1Arm?2f!e{AFvCj zx67URaY%}`=05@t0k3_)eIU8THbdAn8o%uI9dg9--GI^jTfj*Cju!f#?*t6TZ|_lQ z+W>?3RzN?#1+epfA0zxL#K-f^fHC|_z-au|8gcysFoJIc?9M+24CfmF!}w=_LHtv| zZhRe}A72k?F=wEKlCeh($8NPFcK9u@Z?(rk=^pm8mvC2f2;*Wm?CdvVHC}^tc{$!l z%)?&eWt<_W;pM^voJz{kUxP8G^RRBb2i`0AGQjuvBEV&Q0pL7zYOSw-xO5v{vwjEme`Mf2#k4&uLLH2dtc&6z65wE!ruj^UVKO5Nd7i(5&ZLj z2Lrz)aU_2exDfKcA#o&s1vnf2PoS|?R6_lEhra|_V)%=Ik^BX~2>v`^7@vt;DD@wD z_!*>opHBgNgUG{7)E6)==P1sHHV zKkZTf(Jez2(vJbA{u>2c4DJ=c)Ndnzu?BLwKY%{-VqmO+e2B!6xZQ-*%pbcYfYICoFp|3iM)3B4 zJ$XC89=r`;7^j^;C~pB6!d(FaxeH)t?hNR|n*(}tH%LXR6W#xi*0ly60{*Qej>KJ* z+)?2^P41)dtA^BLPJl7IAz&nT1dQMgfMMJoFo@d$c0l?o*aO@49~8f4s5$0wl#P26l#Sa7j6uxn7=yS=q4vB1 z7=oJ>j6}@#kcnLc48$D->EC(4&bZqkO*;$N0XHMm+a}bx3UdH{Rs%SQ-c$qo<68+~ zKiovoUL+ECQgURXe%i=1L!+x`?1GC0V>FjByyPoG=t#VeYl+u!6EH?!#h*9c?|p&q zSzqC=BlcyxAi;k8Y2UZ#iv?F^s!G3~xZM z;Ty>zye-{|cc`oIW_2Fkw@$}f*c!YWAB;D)>9|{<-$eAnO+#aRL-`9gDwlAYKY(}1 zn{k?6iJOTzxTTmT&tb!GyO4v`G72|BzE~?=@N!(Bg>RsZj^It;cI+NkV})Em`j53! zpa+RMX;3E&>bOB2Gbq}HXgQ7;6zxg0utNs*lR^DxPzMd_fI-oYMa#S2p!ONmUW5AH zp!OKlcLqg!7LCid2DQtezA>ns2DQVWwj0zogW76PUmFzdcC<3SGN{c4^`${=GN>;M zYNJ8Xen;c7!JyU~)Mp0usX?tXsI>;Q#-KhisMQAbu|cgesE-WlLxcLjpjH~x`v$eb zpx!g6Z{;#&4z3?MFE7D!q6s-k6&)$KA$Ubpo$$cVSn$4zuMVoMc|C zcQcY>jK9Z>@uyKV{xpilpGML6(b#{Am=8KaHaCr%^QiG>XQb zM$!1wC>nnnMdMGSX#8mujX#Z|@uyKV{xpilpGML6(NHPE027*v0Q>Ss`W z4XTep6&O^$LFE}#u0iD(RBwaImXrYW!surh`&n4S4P6j)k4xVoRm@nVFLg09ABc&n z7t@M)>i9!+O#TlnmH^y@k; z(05+gY5v`MW9SubJ8c>_OKO}M=_y137V`d@zN^#MVfvoIakoK`<}?odsN>^-)GpGh zMaAkxlF|206*sCx$AKoD?_4j(FqAS7`j!kn!PvdJAwT8FLdwS_m1$5J29<75X$F;Q zP$>qLtW)+Vm40!fGtQd<*x^Uv27;=1S8Rl2X6&`e28=avZ{p6~U6n8&-o&n%j~%~T z+kh{wUAbcCiWU6j6*E_?5F76&;Q!C6Jz&M}#q(N8K+06clmc-b=LN={J)3wo@o{l( zZua!>_6`YZ?h+Ij8WQZ|>ErF`86s(KPY<)RXK-jxASJVNc5w}Aq7+QaUC^{@U`$E( z%#6s0WLJfENcZuHOh^m~OU5HSdRiBON}oF1SC0+`ki% zTaQ^k!EaQZ!>N=tH9MoNv^GK0`Jf?#T(rhR%b_XJU_l}7A@0te&YstkBK^Dc9aos2 zl<$<4X39?J8J!&&l3X+*V|?vE@xq*s`Q;AXd^=_jNFEg7K992=NjlNhHSR<0p!`b?iTP&c{LjBotqglc(H# zB)v=Mq}0T<|6RD$zOZ`2|LCT`a_t;+mNC*0QWQg>j7E{_q&Epa6%`PZ5j-@ZS7l^& zr=%{iS!wBhUQzM21!C+Z{(G*yXjGmYT@==RSgdb?Pw&`>eyP2}h9)MKYNaWUqO@?W zG+Q6|gcv3LPvyHiQ~7&`PZ`fxkaIhM~BVytr zLo*@=hyJZx*6nHw$R)>BP+&+%P!qj(0>hlCInV=PA!bj~Ywj7sy=^0lhL)>r7!mVH zUP`m@$hhEE?cKa`$}-|QhA+#ky;;g9I`)a_U7Q__YdY+AN}7%Fv*Wz5#hX{+r~%n&k65I(G1i_Uz>2 z>0pkwcZ`ec+7mzD71}kT2Y>RP>akT>fO;fQJxI^&Y|_^?G3GDXvd*45L6e#hEgL&1 z6g@$MQ@op$*Vry9IyS_kg@=3Ih|Fknd}LgFQfyRgVs5&nc|+&w$svOxlk*xYjS_m? ze@$607EEb0aX@&Np51~2?c*)^y`%crw`!A6FeI;O)12ah#H@iLg+Ei7R2r5S6_VvJ z#b|$pe#5ZfVY&aY`Ty57>0oq5*H+<;wa)PA6p+*Xf2h?aTdf}Il=v=Mr}XS0TKvy- z#Qz+!6m@jRxTKXM#J!2OoCL|$B}DO*vmtqWLU>i9uz=bFz0;GjavmKyVIqH0d^IYg zU#muZMRa_1?dbf%+|=@k)5q}_5)*5N7vlq~9Qi0gIf!-ozn9=AJbs`-?dj{P?yfBS^ZQ0cXjgfb_})m=$Mz@ zEX-~4D^~n3Y@~V0FSxCx->9@>9{dz*2J3p-=}cDcA)I!72v?Gsix#daK!&bplek~ zP`wF^rYmP>9s@ql`1j};kTYOtabLZ;5`Cj`a-yPo3>`nN7)vj&&8ayBT29%X0rGy1~hsO1zm7?~2{NDtF z@C6+;6xy047g)OoC(}1tCO=YEFz#{QYfx5rLXR$%7PZHFr=<0J^Klo)PD3if{Copp zy})ZftKDVY4Q{ZWw{feR@xq+@`Da%Z_w#5I8qq7HlUwbs-2AjbJtMk>1Ukf$EIVpr zt*4Q@19DS+h@~Y)aR})e z*~1_ETdydujy|3ib2OFIw>E&iX}yYDb=K5aD#HGG{-sqL3yI!5+9LW)GuPHp+1>p_ z*DikD!u`5-4eS}x*ks>0Z$Mr`NR*>+j17?B4001#jE7gSVTzTe7d){om}=Ad|UUfO}`Nu$Z7+{DeG*^qx3&X*Ucd7gX5z@F(DW9j}xbIQd|<+4I54M?t=g6cs6D&yxzcw zbM>stp;5K(WcN=?j*N@!S$|Sdo48MY)!)aMC&0-{hm07M3tcouS{*kz#Gd|-X*SU| zfpYr)r+Ew{Y4^AJAL2CqAEvp)2PZJFtDUa|vS8&5o$H#`ZJlZC1_gH+7@sh(OGXqW;Id|(cYzRbj0A0(87ogEgQFr?wuE%nx5@CATFvXG;Bz8On=u} z7q!Lxk-a?J6NBRV^+^y54*U1$F+2`CAiFpl zNZ#AA z@9Akdq5b~<-+m#s6QX<0J@<^y{oHfh?4PMy8WV~us=BpmcLKY8xTU*^G8@yZ7DJN< zdSrt){zG1g#MCr5`@?$gKKQn(Xnn7-rnj;r_vN|C0cxzFd#=!&qwzJEEWj$n+Lgj; z10Fk$BsgjnS`F-3T$WlQo%jB{#oN-}nqREUWugB$_WJDSp5Z=EdPbp6S3<=xWUrtP z>U*$*1t2*JAwfyF8p4nQB!ya&_jr{cF8%JDFJp&e?l(=I64?j zw;E*!Z)=PLou+1BCOWN+4CAb+v6?Ckrm{8|A_Nw)_&L1gcn|L3P!Nh#M~bRh?09iC z8-uKfiwg8l-@31oF_e{d?4BOoeu#!)DDFC2ld;e>F%EU@Ci;`}k72ki54C?@8Jga`Fz(O=K` zHjJ7KL)x<9W7JfRy}ip);VJh2MzRh`|6;keyt`KIOSV{i=6ZK|Yb9kS+D^qi-je`V z0l9@rm5(e)-3eLY`sU9=QVw1ay`!$B??>CNy3b=&nGZ$3FvTy3Sw)w-P1 zfn*ctAQisB2?eKb!L(4-qRx_Rn)m){qPu&u&rn%qq*nX8BnNRyc=tf}wr$;a-mZ5z z^ta!QC0@K=vIYLeJh%rYeK|> z=x1#GHAM|0TidA$QuzYE?soXZOz@1zp`il`UX=$ZkmD0@8fx|KvNpA*t*qIyx5;z1 z&3ULji5;UKe|?nt>rhWstFpXJ)403NH0$*4s@cgfa6jF z5o9NPk%^sY;KQl?bz?Qmez$u+V;D2DkI`@b9FC>BtqeZAx~+^px<9sV%I2CenPwYo zlXbCYgTs8HRjF*Ps`4t8-YTR=IKPkv!ubtDq5`Vq4yqvDXVFgU3_DKGUVJy8P!W$Q zMxfq@H&8!>Pb?GZk*}}GslbU)Kz5N@*UxK4EzSXLNuF9_qC2gPy@o9f?cepdFK8=Z zTj+-#8K6GjHVLpwgP~Mkk$+Zf{0ehJk5k`OZav`bI#9cvVeaAM+6=5=4feg*emK{Q zvUOPwS8qyY=Doie>FFNXE%_e1?oC5wr5@P`eUyE-dwP2(l>z#Ev%0<>JR$Kqzk|OM zd2{?X5Y+OMxhcY(WE{3xOrp3EINWG>5auI7!O9FL8H=_v|{!rkC}VRW(w#bi$|c zDKFlsqQ*8EhV?jxykG6Mob6qodTF`Iq+Y#YLwx(DGGFz`XxD^l0I{Z!ZG1+fxeKTc z#~~aWJRexFT@tAjaLOs!WSb+WuBfp!p-pWb(K7p74z`iLmb&~Z>hJAM_V#pRDf{H( zIYrf*?d}QnG{YQ2a<;&Bd;oH)h}ME*7HAD&#flsaCviydic`@a9P*{_Y#i9{tf+Pk zxEs6RvQVuotM=M-)fPbG^nL0#kbd9NnR~pou2{)RuhrSxX-_;Wxkzg$(bZY?^^CFNivDQT)sjjm6v8K|Kg{!1h-Hr{U6XdQMP z-rS!jTMM#(&aQt!8YRY5<>bjs^YF--C)1y)Z_WL*jNIU_&B6|7gye z(x#u-x}ARN4fb`H+t!5t=G4N{!!z$P%)7q6E(~#(F(Uavm-DZnpLK9mj>u}oJ$L#F0 zR7yd~+>ZAd=Ka>54l~NeU_mdyS`y*KI?72jXK9#GS{Uj5c@Ka@a!&bX}tHDtATjsrz&y@O7Z`H>w zMWvr9YvB&W4QHqtY%7oG0w2mi+QApcfnx+fc$|cX0jr@``vu1MJlj`-z7hVo&u|kXz}Xz+*Z5Ni zV0OD+t2Q=|bq$S9+|3@O8~1LXp}gNUx$XM3aedRfho8H1kYNUA_Q6s?M>feV@VBBn z8zGwtsxctR5WGMoDXqzoB-Jwq!`@?Ssovs_U7x6M`RYw|Rt&)UT+7z2k9BXU1_aiL z5Lid8|6<8w^wA6Ac6Hgenc!_)zuVTi$+vp7ccg=H_rniN+w2TLuSQLC?D+t_65XQd zKwNwllq)O()Qc(}uH+##&tvl~>xb&=$94K~i*+c)@29S4%*}1ol(|d#o!Eemm+K5u zcI&uaSNgP**0a->FOn3sjA=9KXcJGx^CV_nWrtyPUFf|1JnD)?rn6{+U>@Kq|8+{ zy{he-Cbv_!p;F^L?j-*VzCt}H`1mIFQZjk9CKnk4{j>Sjl(w3w?c3=W-e6y#)SDVs zv#)y^v9n4nEd9jG%t4=n5HI1 z?>wtnp&KwcCaQI+JY|=2j_sq*{oX^=$N5DWMayIZOunJL&f?SMm%2;!BPP>u>YCc( z+PYl~^K)glxhdK-LQ-$5Tecg@}o%Vu4ZvDO3L+&Zpv*J_;# zlqD`}voakWcB}7C9i297n-4{*7{}sqiGlu=tJZfVwRq(1`dWLxa~-wE4;O@J0mqZPdPt$l z^KPW#O*WUo)@Z$gL5T6<%@Tx=WW!xMLV$ro8l%QPH(?|q8&xRy=eI8Y9wW>#5>)eN zBYVd`x5WGm|M{nIy_OBP_2lQfV>&c0L3@K*u=Qwi0K0mZbC2}D7O<5xil3S8r6jW z8l5Mhq+-v|&>rn@ZAMD^Y%>StNV?e6ml_+*b&ZX6)O{G6sV-jMrSG4f?l<*T$m^Op z6o;8JxXora`iI!npWziULRnCJ<)a>V1W=txeRHlDtx14lAq1+y(QX3XV&m!+$Iu{1 zhASzN|53v+!brkHJSd~@uC&+hZ{B`B!E3hAM|nV|yiM)cS>N9kfNEfV{o?!VTNt0o zMj06F`#IE0i+{rVz6mB|fp5nsB&?f93*l2kP!bhA;XeSwfs8XQ^SB`hC9%Wx1FM>` zly#fM5DAu$;3IH{9WG%o2*NoDoIr?WzCQvGvbmwkS0M&W=%bN9kPdHIe|-p8f}>5$ z984fWQlnfuAxlm1d6)T4fQsnA1u*QhVnhT-lKWx8(R;va=PT!|gwrD; z2qD8P4r=S~qktjwvu|-c4s&E21j=Z8CXMOJ$CncXWbhkyRhPB#mC(cZE!K^Q$OU}OHp_l|GE5y+}wUm$ODD%6< z-_(uj-wPIF_;Q$%@KrE6K$mtZ8KDr~FOj*|L{#1$ zm~i?cRJBrAZ4aJcDuMf-G=kNkvxo8=0ix)f)YGQ9s?G(eLm$XU(RW zhKHb@-Dpmx;@Jl(eU|1NtH*`v0RdV8I6)nZef0otY zs&sXjI>^?+ z?K zL^g>9TRC_(&};O8VIOHSLXt9#zyz6ZseRvs$lq+(t*KFY#F$gbpF- ztgQtvfY-4`WJ@TAmZB7!z$Dpnc|t1f)9h$%*imcR;q>mPX8Q(R8h384TT|{S#hP7m<3-s#NR9l2f zkyy+jTqkBDh8T`{zg|2XgHAuG*ih6hML9OInwY@B7q0Soe~_QE5i5`w6y8U!3`&Kn z>>Y8bmNMR88Z&T39D7Gcy%pDN)CH(oLsc8z+SNj>R_oS{TXFri#z*S4dZ^UwP_c2< z8YFF>ayN5lR;DFn<%#Mvs$z)}?IZT_Yxx?D+J2hqtoDLHafae_4*fW`ckD;9)G~2c z2`SI$$NjnR?&Br)&G7OJxyuvQu*!_&EH_I~U6T#(i*UUos>@Jik&TdNR0q*~UA6(| z_1TEkgnus7WjJHZhWD%F=UiO|JC9;cHp~GeKZiOCY_m#Izj(Xke#A-OnI;Is?#W6@ z&dN$o%94y^WhEuSKQT19tCtqSpM_gG@t;oQPCv(@R&7m=k4sLDi%-5;*<-QvDs4<% z9b=Vz3O|cWNs03`mz6bFC~Y=yV(^9)UOfGT-UxpytR(gkeu3aC-0(j2@AOT`-)k@mQ6jI1Ah-y5!BZ&!uNOL@14MK*U_)R z_jd{3*U}Ix=pW(lQ7&|fhSys3kMZ|4iyuRODD?SvbANsjIx?ZZA1<0ewx*aBFhB9n zAWIs&F^P#m=>ggds2t^xE5HsD&yEuwDKNB9Ny*`!oS%T7~>|sIs2@^9B0K>~U`uU?uGXbn=egx>0RYqtR$*?D_e% zR(rL^;hF8}+HR^zSyQ9eb&g0bNrt~F1uXD3u(Y(QtgNcEismx?fwRAJ@x{xT*s+Pr zTiR^;VPBEDdn+dBHyEotcBWicUt8rH9rYU9S4m{CRdxO7ty4?PqtGXdg=hd+BF_XM zc@xAo;>*EZQgyw(j`GIh;>PmIy1L48qp_S~dmK!6QG-(1P*`OwFE`edRiKwTH^ATX zPa4?ckU>Jm_s>@PeSa!^Pov+Vp2WWcTs-u9S@`#aMV*SPqVR6;)jYf6L{ z8z`=<&5unEr_q@CNZ1%f{T~3Gl zFrBcmx}wHaRn?>K->K-A)>W(F%D$q;p{nSs?V6VLNe$I1J$3W+YW9y*Ci`dlk=gEf zyV1lf#%zo~YvqPob*ZDE*Q?Z)<)`PaJ!{o^LuIM6xUWU2DFZNxicu~8FH8yk1;M-^ zI|CduVI3gyDw0mAA%oCBmc}9U)T`$oUS^yf*uB$7jSp@bo7q~aU>~KN>_c?s`SgZ3 zi_MeWbm5_q&C{E{x4J@YiSMqjhfi7jaB+Q1vZNU4S`nv;ODg+78h7fS=y%S8-#JfG zj<}O+^Feird`-S4Nt2{V8gP`^vib(H1_m<+2kCOx!i|z4C;q`e<{;p}D`F}azk+IK z1NK@34Yk8N@Bw%ix(8;nUWRsryGMonz??+xAaSW8K2&0F@qhKT`0p2gF4dX5c5O2H zXCME?r~DUG1OF8}$$v#X$$!O`@n2ET@?Wu=`LC!J{;PlTUmW1Sp#GGUw0150lg<4K zM;w1|;eNGqzqW9{dbnSkLw?`HeXrtvg^+~*9<+;2`t_JA;e`n7qJ-#}eYTu@I=aAtF1`SqW>g+PD*`Ug|NZzg7GK3ktBP>; ztI>{gNtXDYNP$301^f*{Ee3}YVZ4A_azz<-F&a%$Bu1KxYF@Mcx!xa8#vzS}m3Etw zBc-iRSRNahnD%mJ($m*yH(Ld2T9LPuW2VWW>j2907k6MxcmrUqW)NDq56wplR-+Ze ztp~dL$by@s0E7<9hp-Tpp_UMzl=*!3#jC#!NllsdTiHeD&zvDoZSiA_S*P)9hTe@p z>;3Wabz=5fojr)X_D)j5-)^P)+5@Ply{1+mupy+m596cU{Y!wZ zgk!WKDF+#2US7c0=WuQakzx4Qg~M%t#b&R+q63WgN_YF2aM^0wR^M>s$PIBr_9Yl? zi?3ov8{9E)S_&9=C|t{v+SX=1(R=;!XuP(Uvr?YCx~$76hHW`!+u~u&Y}-IMpZJUk zdH_jh9fb@RX_IyLn4SQil9^eP~{t@XDN!rSNU$JE4RM)&q@J)4FMcDrHdM-1^gS4-{$ z&sKt7iQ!LBz$fIZPmlCU;3kuULsXJG=bG+mgE8G-N5On0PrlAB1{iSr->2+JXUQVN zzX2K?ccsRL2shCEangFpLvj0@+Y=nPIZ5n~jP$s%*f!RH3- zB_b_ubH}9}7s%#2E^pr)i5oX~IN|y$uJ}RX`Q0LZ+~Rc@ZC;O%3yvQrw#%hBaue;? z29I=38KU##dJiSsc;v{@ghPE%xpIB@E)F1Hl0R9vKfINp{RPvHybTz)|WhVG{&O zouBOiu%A&wKY$B}YHwK-Cf?!~n28rB*qdA-!HFck zge6G`q-ThXw=Ch`eXlJG6B1s&hSE>LZAL_z9=g$heQ&^sG~9rZ(XdXm){@1*RCz+;g-4>Z8VgInds^c}v?MdzHlg z`(OT&{r5nX*-!?H09$;P{U_CT*fq3u(9_!Y1j9T5G*qDQnMlU*6pc81$vn3m${Efx zVaF7O$CsSR{(J0INfa($Zqi$_yRHqV^P&64#Xiiu%ZA=e2+6!k(zW<2RMRcKMkBsk z3ON;u^$KJ)S3@5e61dV4W@{Vy-qO)^n=Z>5W;Bz0gD8MrdQpAMP0 zIv4#bP#K~6PmvTyX?SjtLY|l;she;0ygN+EZ@q8e6{owbQ*Y=h*VTT>z8G6xVOCev z(X^@>pkx2=ZAHIVeA4;dvu-LHsjKvsm$j4|`^x93FWH~VH!|hQdQ*wY0oPHea{B`M z#Jz_nFl`{V0Ed+*gYykC4DAC84pHD%C;xBX8}a}Pj(x$?s6k9P%uY*AS@+e;7w$w% zIMV>4!eMPcE4dIpAqQtS$kveWTjFK|c_YMyyKvt5LMxT%|EEe-Qstz&n>zamAMTdd z*l*zGqaJ_nuT$T!qJd+^>8tX~LYQ&OWeu9yovFEl4o9ypucV>GIAyU+q^&WQinwu$ z&tq;}0r*Wb@(aP0$bUqTYpK5)|~n+_>7NJOip6vX@t-$ahph zw==kBi0<{t(>czP#9lW7Tmk4XDY+52+mzHUeoWWuGgsDUwg7a|^8;FdF8qI!+Wohe za?r(wb;}j(bLcHqMn)oi^o=rY(BrytR}uTGm$DLg5JRJcM2szJRdOJPVwt2qJqf+T zN`f;1H(^0&1|moOw|ItFK<@S3x4<^o6karRw9!kvGY2{TKm<$7z$cMMJ5Wu9Wr~J( z#EW($BKC1ayrf7Ni2pG`rO4y*wJg5bU%HwVV-Ha)TYo*j0B{14N?iW|;q$SVlcLuT zC{w{FZs}Y_tQqO-ReaA^K;GeTD<pyXjz8V&*S zWX97#e`u9EFrQHgJ*Uv!0=eWMag5Y!=+-A31w?n-OLH32Q-7M_7L@`S2C6N=gNy{I;hg3jfeVRVi6%s5LsDqZF(dM$0BojX_fZ$JZ=m~k_W2DW z(9HiKb$J{6G>4qg&w{>{0@q#z^s&?9W(Y1>yEZ{VSd!oQGzwxy|K)%0d*FYLl7?4N ziIV<%sItxzSlat&)Het5HUO_e(k{)H1Y1|oxB4yA^}ANxd^9ppW}++~Assw0$M+YHV>|r~$DX{2`}uo|&vN!l*poMNKYw!Z68!U{9DDK> z?&trz2)+2=-2NFe^$>d!?o%OR@yL9RI)J^PUA*R3m_te3jA54!YK( z2G~#W{=vUoSYwE@L-a)jcblSJ{_ClyE>2=^1@L8EkFjyHw{E8!Y2=l0AA1*vx;UoM zQ+z;NeukNqsOJu;XvoPw4b}pD#*4~J*uRYZA$Cnvj-`{z8P5Kv{HN3z@htBk`r~<) zfQKNSCF0Qw9)ZWXmxe+R*D`jv4<8hF$?oQ?RiD9O3cR8^{2D1 zQiPC+eeD;R9mBo*!%bT=N#k2JU5dM zH6+Pif}dGZ_?wRFlUJOUqp91J_4E-s3QZII44@hUPm{dj4W#dp-X01K$l&E6I<4nD z8xCc-IUu8-+5r{aace{r!%83wc9t4#Vxh-6Xyur|+XQs+bj(fk>C_GHyd&Tjz}|eF z11|=t@3ODaN1w0;unYDS!7kV>)PW}U_t=u2qS5PWh_l>D$9HDY*qk$^MeO^Vf43?U zqqBS{`$O3s;iOLDCpp~WUhX`94RIbx`y$7tObTY_23r74ZYxMIhBv1=2o*osQC*mS zy!&YKN^1 z%LmBLQjafAVgE=F0SV~0lH5+h9W1_W!cav7NC0yL#5DD4qzdlBM6!751IeRNF#$ry z^uNwMocl;%VWO;Obp${F^D(dEU(U4&Tufw>uS#A79Tr0VkFFnh6qwX0|1AjMi&Fec z{>I9dDE?9P@~w(~BuAi*0XabT|7j&7E?>i6YAsRKun2)b2u7q=TT#jzcC}F7BN+m9 z4vw)xz65M&Y#o4VqPUtTs_r9HJwM`W*2vY*gF=ytEmxdtBQ$x5Y&+<4qh#J61U@`+ z27XBRcqH)`5_F4(qH*93A}Ai8SuH<2-R8E7OL)o0Y;mL#{+w~{@kG?h9Wkk6!LTK z@|c`VNM9<&%7xh0)U>W@=u+kHN${H3TZDIwk^fF{G0zIurka4x5wHdUQ+caN!iD_+}Me$54|I&;`;ncutv`bGJ<{rkwb}QbP*$_4(5S4hhHF$dF^C$K4F`-cE6}qH zd`V1<486U`he+lS=?EW1V6a6wn~*iYiOk{&G3YIeH26U7o%g1021r|{F2C2;6mtG# zM^5+;CicQ$D%_u|(o?+ftRONH^rZ@|vdg6JPVT8^p9^jg_qS4YJv^T9K@K-ZIuVT+Auk)z`w!IdAl!pW>ENbTbOhOC_rE^M-rSLrx6hsA|7ozJ3~hb2GTGi1 zF5si?sxoEy&JdS~VkijIh%K)SxL7EQLW~gZ4R$`csER0-l#2(s{A1E!%ab?aCQn@> z)C#96%=62~7ap!)KTK#fQb#dt;#UN17U=~w-BFP!Fg(z9WSe}Rs#lUC;zouXdW?I~|4fd5~Np>F7CYwfPz zKW*wxwLgOTOQQ<SZOgGmWTj{%|CL8HJn*aq#$ws1cTwa%dS# z=$U`+q`zTZlcBadzTwhq7LEvNUn9f?QQxeLgk^D!&4ZTE5c_(G%4B3%(a9IQKd~tV z>Tsfk^WO>6Dg!=0FQ50+oaQw-eAy6DYHJ$jZR9!g zzBP*FYg=2w6!NFSY?-Uc_G(cj^f@iM&O0zHjq4nP&OXnJ3=~z-;O9}rQUdRZoSYSi z&_6Y)Tp}l80Sl-`*;ud<$X*O4Yqgpj&d{Cz+w1;E;Yd!7 zVUAz1kPy$Cks^n01r)c3e}N8LZZ(8&d9DAs^tMW97j)`(>l$?i-|F1G9_so)-=I^! z2~r2?AXHh*y<=Y`Uy<0`6}Iu8XJkW%q1TF4PJ3x7d!M+^kW8c{yz_DzPz*gx=>c*- zxdG*}ZRkf4HN>O6#s@qHS5ZI{gEIlIPf#3HBt(cOa(d2(`_x%t-PK`^SMrzC3{9Kz z;$4+vBha$W|IT214s^3iOkf*=!wUVL!#_fr*-=%dFfY7J+|=$7dkwU^lT#?^IVV`^ z#m{7j$Eb$aKj_6E_YO(a)&^37iY0Oa6g=~U$Qfq#l5Zy4QF}ahOQNqD+T%rvotIpG z)#Eda!+#|RsBT;DXN7GRb3Fx~q>AE*9uZxe_&5XcPW*~uBkvPo%jHF)MtHQuQxmqOa@&c87eTh#_QVa%Wt3wf zK@d=)5Ha6T#a9gpgaMa@M-dd z9F+Cs^7vM;&z5b+E%>@7SDjU-3_G;4i~Sem`xBZC)LW!I-@?m+aL6}P(5Y{@y;2({ z%p=JczgAi`i+dU@2IL{J_zNsY0YqaRo)&=R;K1|$QWQd9?3r4z%2e|0r6D}WkxpgR z84E=0@MYK+6UfpGz2TRxVo$$e2|{KUdB>!m2>gTGpk{`hV`r_hmxbHshYMAu>}O!1 z)N7;@M9?Ni>v=fdQ=$sf0yDeevNx3KS=Im9QyF8LM%lJxuoc{tmH_l={YAw8BZi9KdzieXII<9yr7NY4E&zrH0obHarBSyqCY=(A8iOJ}A3u7H}F`RLL9I!yxqU9%s$}%EmFi~4?VQ7R#1W@ zRcI6fUX!%B%t^O+!ffIZrZ(f`8>Q8=C!xF%n!vxw^%EhdDOghEagYb)0pF_s6IsP3 z@P8rq!t0{F|Bn^Gz8lze5)uD_Pedi)t)8IMuw)#;-5>}Ufa)1k&Y%J{488dWZY0{e z+eFDNI%h*jLNAy3H@3%{Eo^>byP0+ze+F8rLzmHoHeuJf@}+)HV_98TLjQ|L@`~0?s|T zG$3&9nMsXGI=uV5^<(3g<&i>2C=!A#LUH+=FMZnGxFaid%tO3r5 z=(Yv7tZk?vEo)~YSje(%BNIEg&b5zpx*J_ahdi|0gDFnX%T!hi-Ej;M16_EUT5x2@ zQk+r89E`;g?1!icg+)=%Em`fn_hHm^E1&)2QVmb3=b+t#|I{|VqmJYk4?oO)!#A3~ z0V3fnZklB)JzXQz5199bUOSsV;9En(1N6feGaR#3>;v)xG4Vf@95=~O zXJrM!UZR{pu^h*UvoE1p!5$9|ule}1eFV_*K# z9(A3etfCr)j^h=EBM05kh`Y(5Tv9=0wzPjRflje=^`5TLzCjsjZoNuZQK3U`e~_-E ze$Z77+;MOiD1YGy4}Q+bG7!xGaW6uQLktP}=Y45gT;6?Vc5x|Hyy)qEihlUi&jeNM zJw7@(*{|)!ZMwlBn0GfxPbamdsY@jHSl8gFT;73jKTg_TfwX4Gm3vX_6kH{O#m-b- z9uPykN(>U9fEyYwq`#VLT|Z>0AJ^Qo@q5LvLWcMO*f&NP2dQIC79m`ztxT4#RyJ>`*U|Jdv*|MSaDVf;}m;<9w=s z8}li$f&+tG6Wq9(YN`!S4O;y}zE1yJ;P#locsr5o^P!OPk`dfduHar(#AA0^}tE5(fS64Ob^@-?BtO_F7Cm+-k>Qd`2me__0&?i)tT!{b}G`u6pL~%ImRX00McY0Yre|q^X$br%kcA=`oHxOJpqMh)| z(Oq>m-YBFG@Qr+M z&YR$_j$fBP+qCKYHQF9=7kByDrwT}e_m-`zt84rZpqB6So9;w3rB720Q~IWdn!B6W zhoH;58M?jG$BpUMdP7r_0Rs+sr7*2;Q+H*c+q-|5>jK|uS6CYkaZ~&FIew*iuW&y( z#P@`!0^}IXJ@(7Cfvz^j7=>F?vDb^FDJYdV)c{8q(`c~HkYfv|M7C|-dt?CJ?5A%& zFHYCFena{U-^yNg(TRm8NU!^KCFMJZoMQ=&tFB^K^D?8`2jaeZyUS(fKx2C{lCZjH zeV3tsy3XKX-{7Sp9W-mOEcwtQ^WMc*VrVKBq95|@ei=OZ0((H&aqw*tI(C@GfG=Bw zW>$FcAb%Gwk`Wj|Vj;ymUDT-tBXzfg3_)^;@l`^j&u+0p&jofDIspAlUemTNwWU%ltz35MC^GS#L+PbFP0C=GfMDYJY{TMhS;)@2^zvkN5a=lJn+cMtWGcMD0i}fR4;UD&O_0oo z2idL6e<`OJXb(Xe>f!{KD=F9XOip%I1hj;+S>AGpju;cEDgVG*4EtW-u7Pmdo&kMu zZ`gT;9s~orl9d5;TK|eUa8E zO9`3MsuL|rhG8H~8Vw9=4Os~Ho>NuO^i1Oa+OjV4Ydy-qZXGEuB7`qI>_Ga5}?>7?we?;E4hoQ7lc zk3wb(T1~b_;YIA}FMo9Ev0zI^2Jp_l?SF=3}c-&}q5ojFq9& z_+V-qv{?Ur(7Zr5gk!7^DSB0d-Z2mqGeZBgNah`sh<`4ka*>&)gQBx0Te;MD(+~?5 z4Lc>=Ld48K4E08_kIoNUCB_jWEfm?LToECMl*7Pw$RYP$B>#CzdSD)_y}N7Sr=r!% z-#T%8e1M+ng{wAys)%-m242o5S&Ov3QqmvJ=(2?f!+1OTWTSf^b$r`aU2Vf7T(MMA z^gIb2aSuY*qN;s&x@6Q3HFo+FW6B> zJRGaV5=TrD;9Q7r9;IK3Cddwp1dy$XK1?=bk%7^&oM(9iuPS6#Gxx4LlFbCg59uRV zzg&m92SrPgz7`T3xWTib%L$C3#qW|omZJ3(3!Qlh!xNe{p=&DwL~&XZ5*w6ZMOswr zu1uC4q+HAKP@yH)W-+pUs=h#lgHcf58_}3toMYHzeXu^{=gt_p6g-9s&wP)h(*)^Q zbjUGy#_eX2j^WkTnU1>+RXZP7(7UgKU~LQQjhwiKhEC~To&?X$!#yclq4Ws*NPrQ7 zQhxDl+>k|uP0ED~^D9{ltgwP#p{N2AV02;?k>WNtn@5t=w+znWd63et zPb~b*>?kU4aI}~jd`Ys^+nXo{`=Kbx@#Jbl)!74`fv)KM6iG)%BGbe^B|u=9J0|@A z){eT?YXYk$Co62}F~}o_mQ)%ILcU}i5(<%B`T=%MwO#A1F4 zu0hLZI@c-aj7W2@wH2eHrL#9#PV%caGKo}&Fb|tV=3l|uQ^AjNdKYtm#5zZ~gvf1( zN_hm)Q=bLgoAgtg~GtQJ+X1Z%_Q0+u3vP>G5*kV4S1Mtb3#Z^NjGnMzC>VvNID z7~M&KjUP}}zynIP^cMdOrMV0C_I9(aEe@Tx7t6JEdVT0LPiPCzUQwUmGuOMj?8FzO z%93DZWu&*E$c~XAhc69`m$bBk1#;b9&>f&qZwEKT(nxFST42QI{yW!a_G*kHHGzqv zy7o288q_MY{}EXwdy>5@!hq05c=vi>#Y6`T|7>c=FDmOX2_5ch%QV(ylGp~@1j9rc z8tQ6Y9)r#*dkL1#fbX7o-;I083F5&(032-oYgr{Q21w8Y61>ghO7v=B%4AQ}wOY!Y+%WT}G3$z?8+u0@R_l0ub@g z8Y8k^kO81n7z_Z}XaLia!UX!?;Bk@qzV+*e%*IhYzuoP%rq*S+_&D{rEGcruQKHh7 zb@4lFaZw&URnw`wgAo-S#QVymu-+1QM`7Ss%=<54PlHYq^0&Cvc1TtwlVZoE??_1N zH5!M|k)o#HNVS;EO)Hm8cm@_8lVwEAuPRDPE5+8>P-Aa`0f>UL;xep1z&b-S8lk2S zTB6{rLNl5_U=P*0J7dF+hD`_f6}DL#hmnU`V5MJ%WLxzx_kCheI49e8B_udIP-+Tf zTT*9ZPl|7YQUU+xIOEYhDcayXe87d4^htzCDMn2Q#F?bwN;%oKxwZ`xj>hd-ISN*-9A74I!!JENQl4oA>kJ5QlSk&-VP zMY%O!?1GyYD<)ATbwqEs5%=@Jq~(ekmP?Fx)kQ2>g8p_EfSTa=7cUz!H1l&AyRZeJWG-5VAN9cO4L~ z;mp}+lZhTIxFB}1Q$Zc<=!Ao^8$FZ@bVXo3S-n-_kctEu7wI7sjuM081vvP6-# zkuQ~b=UZPbRl^%cLw8bZlf2zf>lkpd4+!g(#GD$JP2-i`o9yF9*sn3#+yzz_gyT@ zoVAErqB?T< zqAJF=5y3(-vVh4RgyA)IV`&!emt6+ZAZ{{=uS;~zjB*Zf@RGn41D9v1WS7miJ{I0f zle$YV6>5EoN4aOgBKz?hPX|WPP?GQ|G^-S1b6=mbml4gR!QMosh4oirj0w;SE>b{D zh-Tgp+3@=cAd2t?#D@hf4rhDk&N|Cjx+{DJD7C@do?v4ZZjyOV9N*l(Y`6z-J!C_0 z8+_S$*#%+KL9Hcu3YQz1Q2%J`;3T#nbPkK9&%>J0sYD4`B2{9KAoVJ){76#&s(x)Q`T zjOv8(=A&iN3z2w(t_kYu!15HyjmnvYUg^0P-yO~bv^K7ki`Te5c^^aO&_H$a4XhFM zSj6}gN#}WPUxdSkc2@e$eCt)1#*(@Fd*1&Q7D3;6>IoT4g%g-6=gc0|_Xm3?*dw?@ zLO1k)iA8*$9W5sDiCm6E8GMVBAaX`E8#n133mc`6N4iHc6c3`s+(|rpdd4)v9OL|s z40&(#nvT6A_SB?onvFwL7KfcsS$>)f=(HE1 z(~e5J)uQ_e|<5d~S#oDUva zv~Di^g|JMTS{ReU5ftOM3q5xDUY=Qv9QHogE8Fb)->`vz5yvJSp_bZ%L5Bs{oHHtu0Z zWiu!IEhL^%`LbP|QSh+Fy6`yXvh4+Lms?g;;2R3Y#6YTXkV*+Y+QQ#t@iv=(dZ9R! zjE~J(A@G=N99Nm1P4cUv2{q?W8g&k^HcqfgIx`Yd*6xTb6noTq63a#P2n8tFt6Y$( z1YUv!-_D(0A~EL9ixmW%$#QWV@7kaClV~!T{Y`R=zu!otlB^Df&>ER2(hOwfVI++c zDNwhP{8|n&aYzN1i7YW84;a2-z2Gq&LXN>S-=5g(SMBOE4QLciD;#>!)I95`Mta?9 zJHZ3GEC8{cIws3PM;u_a{#M^uSyOqjp`Wq!qZxX-O|?x077GH^pfMRYc`+sxQgsyH zI>2iScLq3+5V%S7+8|pFV_C7|hV{a8M4UOD3A%O!qia{)C*Qhk&u|1e26wHvCQkz( z+pz4rrw7?)Ce|l(&jg9KwLSNAFdNwybZ5#-W}IK3=4zb{VM{(N6m8&F7ym6Af_q07!8d~$ZosZzYA?7c=>hNqOQhE!cKt+muD8tCx7CxqiDOBQv)j6W->1_ywfXNM1lT^~?t8 zeoK1_BCy$w2}zl&oGND7_DzW71_Mz**C>P1($BzGWq}L|H~Ho;`W{$wfjAq+TI9>E zh-wtH2pIsiY-pgptG_un#|=f2uB%d4QB(Jw9W`tZ{p>3jG8T^)KxA_!*;OB-Zck(N zR~9HMy0kUji7A7o!7XS<+1s2ZBOt@s*I@iiOFsy!N{8IDTJT}v8w*eB0XL9~HkB5E z!qkD`-FmfJ|GnASOY~K0-OeHQQTmk!dRtn0dRkg~;s5Yg^wIHU6TPOMl;qA@w7<2T z$tgXip2=n74D&x|dm9=oY?9MbkGGo3GZSESd4O+lm9-j~JBOsgRtL&cq&@Jfu*|Rx z4!r3jg`zBBj^A*zQ~gG<(z?&>-p?4&q)}Np`+B=yPYt4d_PG83Xe%pgt5&0bW5Dvh zi9J*6mS+}}XJ!l<>}bOq$na7BZQFV&*EwdVu7;M_TH=-7DzFM=YgLt38G|*wioTE2 zG-CSTXc2lzf$z6MHLU=Vg)0Z@+@YPe#-vuAwxe7FL(=w+un*HO-rLjc8|e48^qR}f z?slgEUnPu!vWGQn&5=Sd0ll#!DY?hoGqG%xVLo#>>gyX^mM7LQ7L%h8E(yTXu*YbW zAz5Lf7{=5{1xr3Syqd+E0B1f>-(ojFju@(BAF`OowoQ&S*sOJv(_=%E7t+nN*HcsL zwhvBpls%F zz*Cd@I^$-BISMLV{EU4XCPAPc5`i@<1lNd|F|d3A(Iyo+f6AgR{Qi3L*!HKoXQ%od z?a-N_jMhn-tPS2hlT8PhCY##QOd&Bm%)rEuYdbqbPkirgZsiv&m-M!KdJGl$6@}Tc z%U7<^nVZe7?y50I^LXNFS7nF*C~kc&MK+-e@EU`xn>e!QXhM)jQ&sW~O?uy)w|f8B zER}AmZ`866Rz}7Y#v5UZt@K6q^)~uo+^Dy z+*)@<8Q6|`W0jMb3p;QYYG#mAorZ1wDf$<%Vpu+pOYk>bVr!A-e)`02iw&>BL}u6ETcCTsj|0C8V9Qz45j*t z{Ig=?SC|`mocgYE>j5twQ|!NOyq)TtxyWdcI3TTtQv&vd5P2=axR=^5!QzB`L*;ytc~XhW*g7t@J~WZz(D2>T_yJjA>+JYAW-} z_>J+Himgd(`wjV}o0^U7Yu8Wn8^I1)ELsc1*K=^DQj9rIg=nTyM4XbOB^<#8QUPp1 zLg!maPB2V~lMx0_1(Lo7oqH9y#ce1|iBb^u-R|k_om2+kB#)Agwm1sKlu7>zx}>E}xx zpumdnxrbXZxeZ30rc;)BO@ORVctijoF{z_u-v`VFt>H&_A+q~VeM)vYkNg5LgY;BJ z))x41^3ha2w*=C=S5^;eNIN}GGGrw|R3urwh$p#&tf_yYo-F2rNTAA4v$yYL_{szz zh08Q$+}eT=MB&n2w0R;OiHJrr8OBREw&XKpVVMi(lZD+CjEwMnN#T(4>Iy(1WL45X z!K(PvD%{KvH;vK3Nb5ogFIXeWe{lXL{S%KDaxA`=@#>`CEZj*}7rz9JFJy_YiQk}M z4;LdlAJ&Mwuu^Au6HTHjclQ8inBXF~#t6QLmfRZs9(v6z-bzlWgi4@8PI=t4>q306-g-4UI@<#WtpAJ-@>(l!`JiiijNw9hcnVOp-Yl$(|-UoPSH z97avUp4$P_8x7iX&cBPw^`#`ldk%369;6_Jg+ln`$virtc;l zIm#?~WDO%PD%5=p{1mCuq$i=t_}d}ixa7JrOZx`@3-q-a`KtEH z-0YWGMrbvJMhH{;LK_R^HqG|7<5RxxyeaSc!sJz5jJAkbUf@-o8(Z@~RI;RSIw$2>=Z+g)B^Xx>95ARo#ZowxZPrntRsEx7n-FPM7~q3EEZ`BcdQTN$Kd^t z9tC_JvSo~@^OriIX#ilwV$eqHFLDA+>W|KQp$q-~D`b0nHxG2K&)I#+RR=%p+N!Up zs*$>-Y5u>{d(v~D6aC>?9qvRAg8==*&~N^V15T%-rG94X)I^QDq{gIPy0RAoy7V$RJ&ZJGqZ+m30M_*~jKe%ibWZjqsU;hV5rhid4wp zE=3qYSo{KiYTzZcTp`H;b>*GG2a~?*r}=EsOKI;!_{SreY54(=*@hXa!YyGCPcuTF z+k8}&M_wP-;}+Lv8gi&rvcu6I8R5Q0qthYUlV6K_+6HwkTJp&ev?>Z#FzR0`G$A4< zM>YVG>hRl*sCgoqlC#9N2j3wA$M%y9 z`ZN{HvH^`s*wIq7pCNiMoI6mqG&d_Lvn<0VRwQMn4Y9^^%r5H07>dV@#q z9Ny(XvvvGF>CqGXOdXsSi3jN%I6y|`pis#V%i+*bDVmg&%kMK6hR~E8zO#4^_x@M3 zB0-nZpI`+}%&%krHAT%*iCqRVKfCo{rrF{zmOdw@=|51R-`vZ7DW&>l5~a4U1%_(7 z>Yyt&5L6C78ms8sEbtg< z9m`fh3$xWSAg(RZt<1E|URx;~qf!|811#A#;$9o3HG9A@{JicjieTlDg;S-tc#BpfdBFAy5`2w>W^=9mu+%q(~UX#l$^}s=m zvdaTcnrhV4c&0bHRe|)fGB|X9OlAkQsUogA0c=y5l7_;2@^1dnumh)&a+m+kT`j1e z`_q|ef2Q&x!G4mZMPFMD}^k-HZYq}uwJf)Mz6esQhX#9zFa0d zhLRZw1i??vWTkUHcyb2mw4pC0d!OgR?@KnpU@4sKPxv%G<;6Qy)YO=7yF#+7o3i^q zravMnwz#33)>l$dqNzD@{`yoHC`EGr_Dy)yRQHtE*0Cx04H}K4fj9kVs#eg{%rg{( za8dBn;GlRc{SwEJw!Imd=lJHYi6F@4;Z3vDn$Dgl=?70dKQaVuqXl-n!(wl~;@ofn zx+V@z3Lh&!!di#zRJMD3>{eQ+K%K67q`?4jv`Ya<9T zIo3M0h6X|fG(m%x2IYaaXSf)HXX4gcqb0H|y)AX4sQX!@I&#rSUk@j$g1;BS3?H0L zLX_sE;*S=-%nT3`sElrxIm=w=^dvY+J=?5?SA@vVyoz9l3 zE%3iZ{VY9Cvdh)q!K_=pA+K6jba2fGGdvD7@&_<0OM%xB#%ovPP;kV*#abHP@lnb% zSkJxhQ_6>7N!6~tc792wz>-k>UHq}+CafEnjLP4V2Bx9$c1x&-(1ru2T>m6N*W{GP6zj>>As@L+Lg?#4}8hrdMf=#i`5smd~FYfOwO zR#9tl>W$rNL?h6Cm0hUl8te7dHYp@48_c$z4aw>0h?3798?id7GV~=CI!g^S2lrS( zyMJ7Kjy8fMz=CbOZfU01^xnPyu{g3r`C zVXmsOZ12-J_f9WOud448fI*=KQ1R7jr< zlH`Fkza>pEffaJgZAM>Ff8 zuesuf?Jjj?*4xX+4Ds);_ZX2A&@#vgJp28Uii!@crY#|{Lq9lz&OZD1La8MA%Jpea zvG-)AUYDsf0vv<%{SjVeKA!s)x=M5-g4Ig?9k7Xbewi^STR|%omboVVhK_T5@{|M{5Dtu31At!ASPs^30p8pz(7M+A*|7&q?$yMa25cN7YhB5*b(?!(@DJDc5on_Jz}ZCl1Wd)Pygu{VExTeYdK z`sdWo7Fv}0s=|_T`sl)TN^R&L?Q}M`jC$Q|&7j){l@%prcUdb-3o2?g;LrXICEE#D zQ8M!OBsU~$z}#u^QWUVb(DSFJPt3RIjt%Z@P?j|e+bY-(=s&%FQ=^2^xSV=ZU5%~P zIpQlRTNa}=VzK&FMavtKWJ^JtTH>aMK$Sx;Pdk3d4)=^THTtE&|&24 z?)^New6029pQlg%6(|ProMm#@M=O6*A;KslxO%vzj@$-MqmGzy$@znB8cs^v*EV_{ zYMM6S4rz(kW$Tz&F5T4yoqRu}KV{>^FQ4#X_m*lajdenwG-q#cb3C2KB<=eLj%=ai=fLSMm!!rqJJ_u*D#*3Aj&Gc8f&zAZ<#vy-xS zcl)){U%>020eTX5C))rj&^a9V@fW-k;=7ZXwb0$Vt=1JQS?RTgYhjOfAR1zdwIPcI zZPWpN$lXfu_|&&hLN#tkLr~S=&Mvapxwc~i?b^1a%-t=c=S1A-&ib~|Wwc_Vxu5-n z{_NzjW9+G3wOM$db$;WfEy}{;@~9$ewN{PX)rz|(a80v_4NIQ@$%1d&xJDh~@Q%oY zkBaGZpYgan8~7-5%@LRn?DP@q6rWfw}JlmZ13 zTFRGADU>o&D6w_^ecpR_r;{w%PXB*eXDIgFXT8sQpMk2+L*Nv8j-lk@z&VDCP&&QA zg@K5L9#jZ64m8g9pa;>WdJmk+rLw!cWmYfpI@mZCoDcs(58)hPNkZtNkM&RD;Ukc^ zKn}=^t_$6Yr^uoORUgcHetJ^qF$CI@1am$Fg=BD`dQkz0Z#^xZ82m$c8Q^XP-GsJ| z&k(H?Y+lvkeKSkYz;A^CYQ9>ucST5+@G}2NSHiU`!O0TtTzWN)fKqUK&JGj~i&(To zBnYtrmu3j|)%Zw9vVubw#s0!CFYVaKZ63HR+8u(!u3@ z&#Dy6giMk)0i?ySIR={geYw~isP)MW0F^{f%XD#JuY}YSt8uvt>!wI{*EYkrq|5J@ z#0}}?NjxUn{;RWNbh(wa-b2z!Xym%wXqLw{Hk>`vb;Ma)Twsi{MmOjM12E58JJA7C zleUgEZd#jQ%H@T*t!-moxH!Dt3~d!7I=#8R%GnGvRm?7}HV?X;U}_TcQ+`|+&fFGC zt_IBUbfBO$s=-8N@RnyX@k|4(UkcOk|*YG5x`5WWxkV8gJrtnQlPr3t)#T0O4nUl zRH`Zbx7B+cf)HQt2SufwT40LccH=!jl+516+>ovY56KAr zJ!o0Dx-=sBaOpciHP?a z7~Npzc?YNFbHK+1R%49tjzx&Q;to8@!O;>V!9(Sag~-Z27vz!8z6MYh=-Fdjc0Ad; zkNy;DVMvNRSY~;yj3WWW!f?flQp^|Zk=K!#${KxF37;)TRKWT2VCiP&6hF>_)g)*R za3gFV!n=KaT>f8)vV>PG6!5zQndx({k=`RD%e6kTU`b%f5;|8szkwqTk`Fd%eg2ut zQ71$KTkWF|vSVLMw!n#3pou$+bBrimv{=i6kHkfAnL=Tp|Kp#7lRqLv`;5#1b^Uyw z4KPt=an2#n!-=tP=vC z1&KRfeuw^Oae`;HpX3c0&uW^VknFqsdS)FbQu~+7{A8yK-H0ljendrK*o%nu&j%sf zEqN189Dj36bPy_9UBY+eD{|vP#G;^L{kB?3-kf!(?rIp=x3;%V=(&zwnI2P~q;kZ2 zFQZ>Vs}pD=r7S5?w^}vII%``U)WN+yzl}p3)v;=7JZ_1xd9~1Sb(-ZV67iZgb6JiR z_9&z$6jW6gX==^dGPOq0r=zBQ>0z9+1ZLg`IHL_`dlqZn72_T%5MLs>AXGW``6U{H z6UG_uy_^t+ssX~3s@xWh%47|efS8*UlBukktX&9BD##`gQpKa*Tou3r;Ma6-^0h~T`N8vl>mX;15E5M;6N z5MOs6$c~4V9f2S6{|ga9n=4^NFWV7k)Dun7% zm{ayaP3r3wz#5QB+IBy!;Ro+x>$_YES%{5n0V@SzU2Wmp0B*xB2seRN{WYGXfxkid>X)Koz-Y8Um6Y8DEnd=tL|D9I4M; zIees4_pGf;gUCww2LL0gW<~MvQW;OKo;4WczIs+ax{5;7whm9we$GR=_g3jVSKaEp zniG?dWv+{ek1Jh2<#vecksO{r?HSBzYvW@YaDX z0n7_P5lg;Q0s39T-jE^v&Rv@XbFH~VBTm=xp=QAH6v3&GD%eFT>2C>+HQiNQmR})p zOX9sd=ucBJy4!C1wztxxgF$xQcR0o&txR14m9)dn#v)-Bqg8LNDvym#j8x@YVYiBf zieY|1cB|aM$InEAeGQnQTy!tDshJC**;GN0*dY{xNUK3-2r9kh3ta_8!$OIbeT|jc zesqn%0T3TOYRn}lL|$i$H_X#%^K+yXdTTm^!a7VW)rH8YNCv&3Xfe1S;Fq6 z@sSCM%OA_N+AX#XNq9-k(xg&oHRW#wluo@z?%aF?!}O9`K?9JgcbHpB?DrB>BKQ8n z364V9kXjG7J+c_<&iMnLA=H26MJ+A1A`P} z0Aj8(KEQS_4f%4l@j_I>Vz8J)mlm#*&o~aVKD*GYPm~$!nm;S7ICP=Bk8LEK!dA@J z6epl;CA+06RMGq$yy+&En*nSy0&h-&q{)QE^FexiB+MdT1f?y}maV@^H~2gd!Oa3b zncU?yxgiVTZLo2ewVV_|LidW~n zk`ux@a7HW;Dzbt`?U&A|UOcwh-w3PT2Q;{tI%by7eG%!HI$!|h>{yiXI!O? z0e5yLYo)-A`n799o(=`$7fC0`mYVrL3Q+OCkvq3gEwp-N#XXHsuY%UGf9h}Be~>*4 zxVWHyd4$a^k!&eUY(udPQiuNoawvh5gA-72)WXt*Cq|m)f9oSlq_6NADjlirL4OG=pX|R^M?qeFRXAAk2<+`h|VHfZjr4F zLX2e?jq1%|Mj#~Pq$Jz!-*h9Sjlft$_$!vROjET+X=tVfPtR2oH2$>RdW zLG{F0i)QDiC0j0egi&&5=gZuJjRg_X0c&n`N3E$%lUwX6){YvD!%0zw!f>JXNZ7F3 zYJGrtjYp2X2Tlj<($L<8AoswyArX6vNEg7?Y(Rt5TC3@!0u5l@X^&8Qw#-aRbTFaF z`;#ql@4e23s`@p4XS;I1pguD50bKCL_w9lv!fGh@MRu=Lq5&A>;F+MlF~NKy!RsYx z&>#D138p>D#u6<@|A&kwGEX~J5h&WcH=XHbq|OF~C6an3_-LYvJ{FpPj;`Jh(3IuN zghPqgTSP5DmI!tZOTS-Nxequlh(={+3W=7#rrmY1MB$p6o|d$q@LHYD5>r&trJJt7 zNsM3OOU*N9axp#N?FE@G80Sl(n191N)A60G@XX~1N*>vDWXO%@2aS-{P}KQ@=8gFJ z0j2*&&VaC~Zu+8#iWY!Nw#q9*y>;_Zh9(2kKOc^A_VIHkv=;JzBFa^ z^*6ytxE?j2a}@z!}o{ z0xHz66Bu_hAhqfP2@OjjP*EI6;>$y159)do;s>k%r1awX^$iG0idn8PR$ryjVbNo@ z5s;}XNp~!c6C@V_+;QNE=J@zXylo#7Vf+PAYv@oyA(LO2a1ox@g*q#mfSx7 zLRD1ENZo+?ZI5kggl<`RQN~+ z0QojbVvu~{tz-{&i2DyDCAO&%JFlFdw~;y4S+;t5!hcdzM`KPtW@(;7yB@7s0+v!& z`o=V&8*Pg;8sMqKwe~CS;q*~2SUa~QDRlcLZs$fUE;{`NZp>%@zHLI$QotYrKAdEH{?N)a}vubo=S~fIS=0N9GqMg4j&TXvr zRKP+49TkP4L?f{$-D|CFLuTeFYC~Sp?2b?1v~c!*4wIYC))@x ztQpjEVAs)Jqbbo1Xe)uV8>&q(_oX)iE=53N7_S_}@++0)q!GjqC*lRLcx4fH0OKZ? zgbUn(#{CwT&DFpnCVdR5zhW?I^x#=da_`UNokm0V20z~brYJ|Z_K(|`7dhmtzdcT{ z`)B1YKu@h;;eHX|Mza<98;F29DlVq<16-(13BX8sNnhk`^`1*8ifXL$0sZ0JeHdi% zw9(|UaUy1za}yDh&%YSoYS4M&lUvI| zm{mvu&|RHl^*)aHuzRCerKw6z6_{F*UqZEHXx1OHd00!cN%EW}@DQ=%vUuAoJqz33 zp2>A<%qqKslcHp#%_^t8^+bt! z=OFAlY@0%@)>wnd4gnWyA^+QlyerPn^z*EO%veFTEy%I*aWe}?8oZJ~$sXy&p)E5E zR-h=W$-=Ag8%~`hisNh;uJBHLt5(%4Pj0J3;}({ivmj~h49eTbVB*5t#j28`oV+$z zk^wTj@LyR5L?Ty*esyS>4wub2I;Sjl`wB$!m)%SwQ&h2UA$!s%pZmMvLzPgIP*$<4+$ zx5VR?vrd7Ca~`0POjhFWAV6Kci)WyHt{&q;_q26+PsFzwtfMj1``BTadm$|?ApyP? zdkz;GS^!txdU3k)GVmncEK)X_h$F!qPfw7irO6Z0S!;%Np5}oyt7i2ja$q1lz-}!m zibOF(TsaPP!SJI0iGXKFAB9P?(8p*6lvDz1Hb#5Ki_@l^_MJ7x8At0*4W&i9`=aI^ zm2R9rncu3-s!4zgriUupDqLmE7qEF2^6_^Mc(yr}2HjSxZL7|*t(wwU!G*Zn$`olz z+A0&`zbpc!v`~p8?-@$7;-|3 z5tO|$+fJ4>-5wlGSW!5)M)ui>m&VZ~o1V&fNpOr&kJhX)2-1N&3x@*;fPB*jrD#$l zn#k44@+;KV9X}32w=iZG8ZpDQF^a)?vH(?4dTO;4^RDuyMTBveR6%!&;D@l9O%PK&?-ZQQ_u76%=EAK%a@K`2331 z*kY_z73~T;Ct6U(S5{oA)J)l7ywNJ{ss#BrSq0_Q(B&VjGL0?7Vv3pzijjD+mOCGC zMs--bkmVMj%_l)v)%U;PzC;}sM-f@RuL#SrEiv^p$r8E{YwiP{RK7~AvXT{(D`Xwk zR*rsH+v2H4*|Ft7SJH>YU7v(9ciR3$U>6v#dG9?%LGSK*r7i*ggh(%RkKY~nN;mjaX zH8>j~R5rdNtm3%KYg5oa%?Tssy6tJH+gPjEuoV_V*42$9%~wl)%5-wthgsloo2Y10 z*ejSX(-@~vBRyZL)hR3W1T90QQis zeK(`&EX4C7MsX3RK#^i+EH@4~hH#C8YLp;)RdB&1`TK0!ZT+2UcYNBoneeRtOnIfd zzqm9iHp#n%zBVBpN>aQVI81$d_J~JW3uP)`&`@>Cxlm|Olvh+iFzm4wK|w|sIJQug z(n6&MYF-U0Qn47ZC;G7DBw(ljt7s+B6gtloOhs7+%a!AJ^015fwx1e*Vz8~UC1K;F zjUd{$CqdcKUs4($>20B}NzCYKd%`PPjOT^@m4K&$;Q4#zYpQprerQ`xMwyD>+GQ#7 z0ImqrMk*-~Q$2XyDuO9E-e{KGM#w;Fp@SKpJ1%DyU=p#ThG*Ns?QtBpJ>4g(yx%7I z6>MIHJrdIy$vayJTCFoF&IU4CZu=NbuL~PPedbICC!zih9MscPRaRRGDpsx3(TuvH zh9_4^sm@Udm4bLNkh?^4AJ8o+no+fUfDc7om z^$|{Yoxx3x+kZT~*&6DUP%m=022;&)*Xa)!-BA8v1BE zU8^Zo5(3mz7M8$(x~2#iP{+&!+FN`c!%z;-3Xw&>Xk5rcZrHOhWLz3?;{Eto%@9!iz}fE(}H%T(@z>erRtSZjX#~ zk9JyvlEmOPDk7ZDR;zUo&5P<94EDI_ zO8x=bsRDXIOr-ma%@nf(00V^D7Y}m|78fl0u;j6#8;mvTn%1e_&dJqj!v-SFoA$?c zwr??O0|8nJzJVh6hwkVlgX z#z2xGPks_ORS3B8oD#&z+;xqgVj`6bT(p%QL{23q54SO;xJY4hPup-r`XGxJSe3lC z&iRj}ktgt&L+`tb@nM5vTz~+h4~JT_S)979eBsKK0f$nIreMM*a#Xh|n0CQ?GpKZh zH6$c-B54i5imy1Bf=N6aF7pd47MMtB6*o%`T2j_thbq>#wu61dwTqsX9{0;y4~#SU zl>Wvyz^I$8$-@}2ZVlu^bF*+cp1Y5)R%{vo`&c0?J%53lc7ZXIe21-n$hod4cnX5i zawVGI;p;4}EYlyI+nU_3&`%$K`FX50yv+hse8rc6C%k<7cw}i{htx39m`<8>7$&<^z2|8V$VQHIjm`Fk$76V+HUv9rv;ny3Ot||@F~n= zzN2b&tzgpooQ<9RhPtYdia4;+=;Yi?0(afK(wha-DfYqnu~=nRifmbtd5!>?W}nhzv(tL^Pk^g6r2 z`=)r;+#h&mo)>*amu*M;8(Rfn!|-Cs6XFf0?Ymye?f8i@j67V%R{@U84Mz&1O6bdNNZutD#h-06=X{g3RHQ!iaknF|T zXEs-{TtHKBigu8~ZZ>CuDgz2YcSAZiNX}vrD(i>b@6 z`V%BAnCNGiZ&?WavlK9eEsfL|!@eZQQN*aW@z?IeACRIustnvoUqk!>!Q82!aANZL z-AD;!K`OkQT6+r*tJHAZ+xj}v#LVYxOv$tgi5f%;BeGWb?x3J{txSu~H;KE@oY_QN z^}*h6a}65-?51GSSvq&cEEOErpL5qx5Aje+o}8b*|9-lJ+&p;?3ju^Cn9(kt;mn68 z@P$(j3ly^0CnX4`6sYa-OY7a{P z*(<8c+Z2$${8t+DqJXLpcUNz?yTd<*6Cf&kcJBC22af3Gzj#Kx0;jz z7cfzpak%Z)fsVFK+0XD|O24xqqo?gwZyWV^acOi6^8zgRBw9Y4v%_reWCUj9*A((X zN|GkbhbV`_d_<(Ph0{(r=Oud|aHzm@&^!S%BzTu<5o1_XSm%&M2+ANy2U8}hNakZu z0cwIj%HH>L9Mhlh;re!RCfC7p>M82CtbZK;d&v~*NzU0g>?1hr;R4C$QW}f=@JGHE zrU2LAsfmL!y$^ei!w%@8N<-lUT1ZlABI#a z%i&K{rQlc^Yy3I&$q2WE()edMIxFtD~NApV0R4HQWS zVHbKq0>shm@JA4v(|y)aT0g&odXQ zmv|OG0#Y?&SvB3TU_DXEo7Nj5XY2@0DuuCajAG*~DIhVej9Pa*5T}2SL;R;2x z{nLQELROOH3l-x4vDs=xR9lR4eo~(XmHd3k%7}2E&6hriDi^(tze6Dn)IxZ#;;A1z zwYMmi0e25oF`htC%v$cO5sn}aKLu=p8db9i>R5v44WHk##5s~Y$~7ZN@8UIvxVB_w1)(%9&MpqKyfTf^sL8Tn6TY5Kbzn{m1p4*r+u;Zfb zC^5yn21OiIbu{IcWWP(97%q~b+797Lj&-Pz;{baqD2X*T=Kn^vBG@j(T-% zy)H5?JZ+s_!OU}OZIDj?0e2hb;yO+)a^T!-K_w?|?$|>^icr!?4Z9E%=r?pTCDj_0 zz6JNs{EA0MI^=!0lW|h3s25*?)|s&R4+IRMMvfU9U>67Jh#^h5t$mD@d7`_igJC?C z&53p_OnMxd9g{dfmNei!LS70-W^yd_A^Sc2Qy}QD2;wxsq-6T|lD!_9*avxhB%3aI z4$vgwG2C ze^?I!6?gl^aFXx23qr$CLfTf_-t)!lV0Fg3(&*z}{R^AA>qo*?&$tEQn=p5#hRbkv z|1I23Kp9v6wr-oN!xy`;u>JvHO~Un%f>X@rXn8nccMk#C2QDh|;hi7JAFyI=-?K4w zx~XNai9jm($ZN-cI{$^uU0p*I^}c`Ex2?9uZaJqzo&Xi!R^|@;JA!p^%kF+E&R70T z?(M}-0IaCfK?o^~-chWNmm?1iBmrFj@i2*>z%W5?Q~xa0IAZSVW|GCnh3kXBmAYh~ zba1Gyh9a9C;N93^f>*$KIwp>XH^NC;iB!UE4KC6EXrMp{!gTg@A>pKMT~ZQhnYhGQ z*{^GC(?%!6cH3vYcZ}FzA@#B?s^1{%xvEambS7Wu~)C_ttiTVb#`)q8u#1sig#^F?)^j_9In&nlx^hh zAvynzJrkYnnR%KbDjJ3CxF#NLYh`cIxju>&i#$|Du=jYN1E3`rwz@()Mc1g9)>Rv8 zg9F`eS9g}{a7V?d7i47TE9$Bk>$EfnWq`h|yt{gBwbiP*>uxJo|A?T@pefM8sGDLH zXg7pSA-+-Pwy=;B$M;@yofIoz1RPtwQB?e}e@8`aO=zK0wQk5h*dm{MMmql1rog@m zS<9mP0hT9aP!@sa?P7~oD%}LQ8OYq5RGMgNFlfZPToLflq6sRQ#>J_=_Do4SY0q@- zwNZ7oHKyR~aXYHoH>3_|=i{a4JP^ENQ$KBQ_XK5?!L6t$RE6({TmNT;O`OPXek(z9 zZ(!yP$+JTQLmX@W*}=IvD?BTHEZQ4vh;ZGeRmr^}(X{8*CB%0qXXgG-GJo`LYSA!Z zm7ymnihB3P)Xa1=SQtxOxU>$if~nOQD|~(zUB9u-|9bIhuuvd>&mLB9GT8^JigJ`< zBi&_g=&j!3Xuq(@ToV#Ghq`?ObWY~Y{ZiWh*Z}qI_DTJq%28dcEzeyY9YnGN8vHBU6W*CGVy@J(AI+i(H6oRVI@?sTAC29TxcA*xFm2? zQP{;e-QK>J>{I(6upb{DnW3Y)d!D5q3h=*eCR@`LXRnwV2ezzDM8N_MX^5+iG|ty} zyC1qMPowdnU4CoyQLbq|MS1^Q;u0{LWyos zenlm!Q%2`*;YDc*oI9A;9DoBq_w{tKK#_+J3vL4J%J8W2LxT*09kncv2$5511z>_| zONkCa0SM=8FRM79Hw|A16K_LWfv*HRCZg8rOG8-Wb#8l2i8oBz5U{7((^8@eddBo^ zIk)5Hb?8n*oy8*A0f3jS&BKvS@TkeJwQgmI2qw4vEJTM|+t|8wy5gmAlO5w`(}mu= zJkVZPz683YON~VR(iy-PRsN#6bbK*5)RtgBVkQ17rV?hAWKk1>bOv8Qnzou~iZ4ctC~w}7wzUo}CFiWtOPGoZDjN4CaMzN^1i)>iX0zGk4uM#4zOowE1s9RB;4jJb zBrAnzR<8plsRZ0ufp@r4&jZy8pOZq0R1a^;|9SX&Er=c@e>FMi@ik>!rP_B_iuA>4STuZz9FY8x z{tS0U9yl7VD>nzX)luDz)g7^B%Y3!;k>f8tKhei70fpvBzw*w2u!=A1gk%w}>cn1? zMTWANFbir0)xDfyJ{?CNUjuNZztXlP?f|A#RGl%jL@HVml6tDxRn(_Gl5JYDMbfa% zwz$@bjb&hiTdDtU>TtB1dPFoW)GABy@qZuyqC+r#hnqQmL%FXXzgJ8TP9A>zN%+9B z@~}K%1O>pnq!4Kz1u7YFZ-P(vE=4BDB_eMWm3|ZS(XYr%2HvMgNBK*Xx=;y|$aY6X z(}omW2|U*!JzF^A4QX65+KtvZLa3y|{Bkua1ol2HykEhY{BOgIfLXq17|n)UGWPS! zjzW1a7y6za6=L`d8%{+^j|YnlofDfIW_~<3tOpj#l>RS2c3&UMstJRi~>W4c}l09s)M8fuN3<4VIz3cEv#?f17}=cEZx7e+%ffHB^O&AHj91?TLcncynIq_hdL84!ry( zbR1P$Lu8mNM!w1zjyzy>O!6vV#l^_W+~cg=B?P(mC22fM=F&5YC6N^wrr;@$bq!`m zaZE$y?A&*f&zDTFuTy5HWQ=zB*LbpeuPQBrWZbbGmYe{Lvtg=7Ezx?5ZhO#G0C#TT z%%W2ZV{>q(5R0wfNX8S~m5|@Dy^AEK_lTemZUD{AQ z;GljHtQ#!93{5gMZ`Rth8Cg&%{dA`;GA!R&n&+%&=<%P)2q|(jKWZa%A3$BC&le=A zT>4iyTUzrR#qTPaFS39zh ztU-6Mx9jEtl)w0UjZnv^nZBG@^`laqS1tSO!QTskmc>CDb%S+k^BHB}cY3C4!X z;&RT2Lfu9~UV*C&M*Q^$RMA*@}{R8~|IsH-cW?1UHrAH;t40O`16;y(iP8qjjY z8Z4m?l*r{{5#k%1Q2;CBv;@9ZgH738OB{cd&AL@rJ!zgY#55>p=f4+!ddVXf7Rlml zN?UKgy}u%*BGjGQnslfkfD_Y@j?ebJI_3F^{}zFN6wrfe$+c@%}BQ@Ox+!3LG#Pr z@%tK_2AfSECr?|a>s3sTOiok%F!M({ZnAAwhnXbp4qL}?9rM&5%QTt^t7UUlRq5N1 z>s?i5&&{)!bl9Aoke>&-+=A(nL8kzZAwMrU1e%Z*6)(IeR?`ghC?dJ_<>Da26qc#X zmdAy0t6h}JZ1{vMZALUhL<^HgQ*ayZtFjQQXB*<&8kJRgZ4Z^CijIn^$g6E+-h80< zPYzc}ho-u#RIU4t`BQj#d96xeQo?XUxWloPSJf%v*B^@bB2l_7Dr-YdSzmqnr5CKZ zKBwPM(pX&FP@-~|?V^6moRH-hi;9djg{9^sg4KVeX9Kr0L|XwXv8aHCDT#m;NP*-j zECrCIISm=eLWeOPUkdV96v!s zBdFpzO?-$^3zdCd3Y+j*7_`}N@Tg>6m*-vj)wf^zJ+xr;R;~aOsOmd*C^9Xe>;s>1 z>2EM5W2cA5id_-jZ1WvUOJFE|*wU&-9Zc&ZTx|mG1IDwapCmSkhx+ zYAY-BoCbFT7dZ`HORoYAjw=_Xv*44E38BmF8xcBNc-m2%lz8&W^cWafm5mIvf0c*$ z_7K%D4O?TATNGP%PD^i`@03r~L)nYB`7e&u%!$TE>Q@$GqC3qYYhT)(saY57hLNkM zY8_DL!c4#jqVI0$=pPW+V}#$r8yG({N2U(Xatc`m6o#sR(A@&c&EpJxXcPr?EEQ_C zJQ$WvsyQn0553n@j&19cTSH;`X$kg4I?ai3tHOgL`)Zo}g=<=EshPphHM)yg??bjq zj6LK+JZm-$cP9`p)8EkIsw{#Tc#|2}Vo7DNsU35VzFctQZ<(>L(s_VKlG?X6eQ{Br z+C_^t)Bjp>^1rJBz)*)`R)*xq>_ha{>7x(?Gk8>}(R3*~Ra zRZ4Jf!sMB`nIKe9#Xyp{aF>YO_|SwO>%6q{Jn7-i%N@gORzUs1BXQSVamDrP$L%3F zun-|h1rDGM7C58K-KJsa_{uk=!TiJ?g&MqYK=PR!ZoaA)G#R~rXrQCJzd1Y8C3kBz z-4&X0YkE?r8VQW%we#OU=+Sw9K^65|BPr%R5SUj?jqV10NlhB{wZ&v?XtOFiQW))( zc_roDRl1(|WJ6{FmZ5v8`tfh>D9#95C;ke=Xs6w%x91r%t|9VNiZ?OGi;_iI(5nGj zn6DEN5SYS=VbDn!>a3g`fZOMD((|MmWbDc)T`z*x{f*2+qE3FgegPcdhb zperFCVqA_h=l}%D{|eYM(fO0k^Uv@6iF0i2%6ZgxZrn{j`N@qjN`|B=UkboMwW=l)@YZzph8l z1x#NODF4D^7DCw+uCF|J5w17>y#Q9(kyBb8R{Acs0(tH|AJ9++%$7~E0L#I zJg_GrLG!3%VTyhl%o8NkL{tnpzD#i3xqnKtlRi z%ZiFaLjw_7FVLd|yv1rjC>56;j8x+NA@0m|9UC@y3}`y{o;f>EZ;A|Y zWgHy!PC(jX%v3+24zHDV+HD=T2qiI6?{exGf>=}Sz0_Bf9;=RhWj+QYWIi1us z!j1_PRyk@)5oFB$6(>$SUAQrP-AOnx`?#(f(rLRND4YbRHy_X5L%Y4Pu0^Jn>xvM< zNemjf9RPR*D+&N|aE!qENT zSXTK_+jqP`yOZ>*UrgYac2(iDYwPayNloQQBwD=35_Y&yUz7PymI&q(AmKxcvaKC1 z;_@@knp}`;WhOMaG*Y6YetA}`Q6+K=Wdg`XCiES%ngC0M4^E7bHO`rp>p~rnjw& zxk#2VzjexvVy`#TQof?rFCTY7?sKh7xXILB}W#2D~t?p*c0SRd|cZIga08t zZVDXQumww4X4!+LZ;O>u4mb%*b8dMgD&gKx{VlU7>?+7a+_DN2P*wlBTQ?+p^^S|{;Euqi}^)*3N3GlFDzH|sHPfgJmSF;@!f6pz!9TvkE)wuYbSkLt|Zn82D8k+ZRQnn^B_f-~b=tI2~B{{Fp zj`mX1q_-l|nC~!}AbCh`$9Dntd0e+IXM@3;Vx6fVXrrA#ARS5t_buttT`-~ z(zwf=W(YI|8{WiAZFR$-N?sSPaPvz;Kw95_a~n}k+@>}{Ny&#m$r2o)U~dMe9~24* z$(MnY&@&xQm_qWQpoBY`(FaI~#CyVfD{S}3$lhi5-`Ain4o=QIaF~guxC)?Cf`&jf z+df~06U`NX$v0pD^AWJ5jg`oNN-4Vv`82{+OnWYgU@QR$$nGO+nY^n3i!~d!*+VX6 zI(u(X)*_VH6-`J^$}9XfG+|kmJOeo9bN)j#3=X7lgpLS|qpZ-vjLnB!^3368=G(2* zp7=h!zB`JE4FF&Ax3|2{rKNn5I%Ttrq+(%S%X}xH2Fr9h^&)8THbYglrjX@8J3yy~ z+Pf|x2as&A$&VHAfKQ8}6Ns1)SePVhCt7&3CVJ1{)*CxF$XXilnWDKi?C>*cXYh9Z`W z-vd@=w)4|>jMDn{3S&?!8Vx zggwC#z>Ld?zt{d4k#cGA>7Q+8~mQN%PqHl|f0;CJnY_0VTE&MR8nJ z{!&pB+lR0O^l?y}6-Z%Kh+Im;NDPw^Kyz8e{4n)Lp!v?_w&Mihf^|MT@)OJjw&wu* zvy!&}yF9S<2E4(I*HO!exL@qIcwgQC1Q+{*LNaptksReM!hw2u7`U&r$E*Z)CR@$QMkzi(s)WX)>!@k-8 zR!9fuH-j-uu5b-7X8PIS<@Wihi$siFI?EN>lXz@Bz+DQ~uLgQf(Ije~3taYS=}6oM zf6$e@f?QJAdO8YOrS{u>QT@$?~AhqNz36fD7YKC3A0>glP$^d6Hx!=FOaf!ndYHzMI=&oE6PXt?xiv(=ZK3pDXzx}sd)N>cWYDe|6 zE3a%^=KQdOgivHeoJob`fzZ{BFra~EIs;fG{T-eo)Bq`ygpoQ_?zm)aBMd`b8^4H8 zc#se}P`X-JsDwGg?lZ6C>>ig1SSrZ#QwM?5uYC*6nSlTtBqzN0&NQHa{)M!ZkEx7c zUS-rGpcfihS8~D6k0f%{2)sfw__>aHbkE88^I+Rhe6mjjwy9m?ZMXnacw0*3R*fJ|mwdOVwWg-ZR*&($@`x=Ril z3Ke>_N>^Q0*{5qg%Uo5JTiR~>kM|q;okPrDm1&u&shP>y)R&pLs)Xoc`wt(kAKh>d z>^!QvPd;iljcVy?%6X{Oxho?|U!c|PfmtR`OP|XuD$0CThUMg#q-&3RpLnDc zmz};EzNZG53{JfMW+O_EgolZw3u6sCmtY}QO$fQ81lZ; z#8&`bCH}MQk(NU71@KDw>gw#Ok*(TE zTi;PvwK~77-S#L`CccOHzn0&9UQ}hQFm`QkF;T8s`o{TJuc}Z(W#6j!{GyV=eS?-Q z23kioUDV+^Gb=_{sL}7S&VRMNo0dEPa=9U<-mW)_H84&Bbum=YZvqC8yGADjl8q?6 z&xL?W93~Mog0z65vqCy`pag<&F(10nmqAybmRRkq8r1O$LkK>zt}2Vls-hJ6g$i=hEu-++(m`IM&Ckyv5pgE|4QV!x zU5IO_S{_P9Ap%5_2Q0^dqp)H$%_qSM8HHUO>tuT3c&&45ta$wvr*W*hdd%P&-yq(w z*`Xgvu6NEImn9$nfHsAT|^S9x21AU`4qGR(!drHRci!MB49g+bn z{kG^A;%`M!P;VjguYT@_5qYuOTp+Xp z%LmeEKpzAKF6Tynfb;?PjY|3=4`rs*C6(&yj{RC;)0Y)>oiWgEYmaPlN}J8q#%8^; zerU2`57SHC)z_oo$SD4?+f|^o)-+mwlU-Vn*X*h9*QNiA5@~JK#nlzG&5BmZHFa&f z38)(bREF)N$Pd{nM%^NEfIkfA{D*~8KxOp#b?`aNO+#3bO`LInRWMP3GoYZ_EfOc4 zm6?@2i-e|3TV3Aj89B3Pt+rVFc1wL;Nkvf$WUD}Y3Jk5S27`8Fk0-MLD2U#4AAS?u z;I8alLQ+wi98xn?oReQ7eD9v3$l5X^PnY-Hb=jqwiiQ9Hx^s#zW=R3{pZH8{g)@;s z!`+FG7Wnh);PaKxA}t6l*aIY5a75^p0mR_X(%Hq32%+)2?!)g|2{rKBmY@dzX8S6u zIutp05Dt`9bL3c9U@GYMMe*XdKr&K+8Zyz|9dqzIg+Jd4pF@jF3@;gw>x14j&>?X0 z!tN{er8^ATvKJ8K~<1%XmFI6&Ehv(YqLr!%kpwt?eXUIwU%&QyNJfmJS2Vx zo|#LY%9_Ezr?U1GADqfYs+z7SEY--lH#qBy8ypg>P!eOs@3hqAS85dnh3HK&MiXV| znj&H!n+V)yis%nSNs?&5ZzI9)j8hmt^!X5!BnXRWzD&YZGodr!I?eJW3f2jb`d1fHJ> z^cF}EuUvd@LXt!|IZ=u|0-A+=m%ljWX8GR63KeJ;gvVVVRhbaS<2P}14e=(wgVe)` zSDf&zSj2R^USVY{KhO7iB5CJwYK2}v^}IE}-BesX$0<-Bj=n#s0_l1|b*)}2lqW}1 zk3$_m;gTF)qSDT~qMIi)h2MMuyqU$G=<47kj=;EL-vBGZfafg%ku*I+;ndg}V+TiEn3Xw*V z5B*yEq@W!ZUIec7!{0MRaR9Sew2y+?N02GFV;64$52O?-)oCV?G>rgOcnCdyw(}fiGgyZwN3D>--@yGPSKLrN?elq% zgY=CqCoMI}Ia1P8Z?iTHcT7x851Y3dXosZNS>w34{Y-t8BBvM!)b!b;^*Xg+l~miW ztZHpHn%di&U7f|fCbOloc(`h$#xR%^tuJIpn<6-G#&BBv;6%<08)V4=(BR=10W<`- zqa{=mm1-)pHnrH!IA9rQ($r~-R>vouVG+ov^diK&ssQ=~_=am>s$}6gx>{DCX8g;cYvCO2h znkKE*J3zig#mvj%TDTP~M0fuZ@f{ta{Vl+L2ePs=WA-tMSl-uU&v zYjzjulG7Oe^Y-Cn=9+M>K~AAc)0HYKR@JU`w;Q|HUUKV&t8XqCttEYN`o6Nm)PJmA z6ZNo+>x-*TMf6#ypdSYM)ChSi&*V}dJjjX)Imhi~Lh7w&g{%6DORDnn(z8nSoelMc zB~cxY9Xkv=UBg#2lJHry;Qfq#eVTcV3!kSt3Nx~DR#&d6F{mwcN$K8x^F%eIrp|8{ zMw*zPBKiaHav|Olf%V2xhomr!*Tu+(p1-W4)jFveypTE!TK6#hz=h(EHM`rRqs$%I z?#)Dt%^m>7gJ$`N|=*{3~zo%j>&?)I3d(Z2R^^031P z*k?6}KgAJ%??CuLMjw8u^`_a`V>E&5xqHN)9yvE^-FRQy1bNVTJXD9opDp>MU%%e^ zi>t4`i9AXC(o^Ek&ObML-S|K|`=lfMlO7fSW63A|{co)g-gW04?2}%5P5h7ZXQLxG z542Abn9k>)^e^$}gi`!*_b0q~)km#QJih;DEre3ycRmz{#9DZ!%*v_g{A`ujg!aHpH4`RJc-6@Sir8%eF59L#pJ&+_a4!nHp%};c)gxmbl6XGu}IzN(HUGFK%;hx#&d*%z`FPC}dZ>d$S!*Abz&mX$k zXHI_glK9J`7XX;`p5mN#7Vo~DRUF=P;(wtCLL>o!Lv#!R=s8r_u9mTno_y>L5Bt=u zKfWdYSIs^TdTeh=uJ5rLLQQG8_^YL!s#0Ys#CKA$ds-&Ge(Cx5`q{^Brz9VWzcTIj ztOXMEmFBnG2+R9-a?c$X|C@g_Tfw&`Fc+5}#c5>6cP{7q*_oyvY2MImvvmm3{g_%1RZAPudQ`)5Gn< z%3_Wv1H1Ix)9)7lXW6I!hMK(CeKzwr^LOTR=B@4Q)6b<^D7E-MwzK=!P~nbYRS6IK zZvN@-i@#s?>F-jzFLR&E{EB&vd5?K{hJE@h)koEdzpp=MU={?R#$pFXB7?_wo#aCZ&zv$`P5_6GeJL>7_IF)q#&#|VPI->r77PRhzk z+>n{MfqslxL!I>2W+f)VCy80`vzc@|B@!pY&xXOzhGpg|;A`({xO%CuD^%<^U?3# z$a#Z$<)P+3z<o_Y%uquTbwypPc1OReeRKGbw6f6T)-V@ot11oe>2>PMI<=CP zmherD1%~ib(OIsVmPwi09X8;~)I^+&&UDpMah1`ZNi_<_Vk#+DMtunlMWTX*lk_X} z3!>FPTa;0PIUF&9n~HO>AwgTvT2s@CzUX>ps)xFoIh325k&%~| z@h|wWr3L z19X3*Uxca_$nd3;%521Y5^NwieL0bMxm*oAf(F?v=$*%~(W4&4E_?lUy}KnXxwuWO zYR;oQR9Q}5d3x?^G3MdcX!#AyuFl*)ozrgaRVpe6YwX+8a%yslYlFE6Np3-&m{F)OB5ZZMPY=Y<{=_s-oVf#ej8B4}C(SguA|Mkt4Y-MEJ7i;qrEAH8^*xn zIqMxejjk%&7Z@Jxwk&rbkr1Fh@s0&J;zeSbEVt7(dqnD+Klq7wFH;=LyTKJ7>&1 zqOfUdU6q^dlNW?{g|%6&_R&r9gx-EjjlmVxP4C@Y-ljD4td&OfyELB4?PEHZUF$Tt zsA_|2`f?kuO zjDk*mdFDDeO7SdxsNe4F?xN&Vrt$sCDcAU}5=t~Yy{hd&h@4xk?&b#inhS5JtUhOl zc}q?2&-YNe4oys#BrpRB1coVh8GKhm^{p+PcA*6DE_P%516noyAhq z*jQ6%!}MC9D?yGDk@Tt%O?O&fczidlx#{_$1RAaNlzaoR={4D|HWi zE(dM!Je?`Zg-;TwUx{e?CJ5UpxD&pBdX#pfQ zy-RPU5rx4nQ*er;@I`O+{+AAiFHu9o@di|kBI<|d{Ej>)Rv`zA+z$`g`7Q1KFP92+Xm8CH&uw0dDW>mT(;-wE!54I_SdiJ zo|?L~`_N~XTUrX6A~;)aT4=RfF>r zbAzo14_<#g{Tr|I6KasT8Sw~M0rK`3SeQgYXM%ltG_t@*hh?)AN2Lisc&L@3UNdH^ z#;wf!Dcfj8otj~OT4S}EuKmQ-TzBIw)KG<^K-peSKUUgYVQ7iT)+v=b@84@Q+Pd!% z*9#X;(Jup6Q;?oS#|?Q#DBc4>M$!(sQbN+g-kXMIewn*9Wvk1+%VgSRcflWXe>pRB zQ!n+qTYI-{GMdc?+S~`sb;i-Ho}Z5a{s@<2fXgblv*Gy&m(48X(F*F=o!#Ac&b;%^ z`IlaH2QJKKO31GSqSA_3yv;(2qI3a4^4zeh^7RSUWCr1MXwDdbW+Su+wAkMr7*&l63e|z_0X}hq=Myp+*2x8>M5O2Y32a3Z?E5 zwxYY>C%`tx!gt>VV0&#C=KO^pse9m0;PFsorU1Ath(*e1>YmBYu1OE2fLnd|es9P4 zghx@MFQvugiJBw9nTf-nI+7M5~Ec|NWA%ri{E_s|b{U9<$Ij!C_9 z@aN}g6!Bt-*a5r*{-kGOV5n#Xy~D#?39xMQ(1qT&=*PWp({KY1lKCV38Sp3)MG6w0 zALKk>55Xs=R32u>@XfuwHxDCT?Q%GFA&!N4ZbjVi{Cs@;=bk3>L3i5$ET#v|tbA_7 zl!*bV%QBI$Ae}CQlLdcK&>Q#cJL37^jQzLQUv=aNbbg_1}PfZEk?zxNt|k%#y2(RDnyqc@k_M_qc* z%!ACrn-B1=L-|M8L`=ZNS|JuUN+NwgJ#oi2&j(FgRc`lv%-KgA4!iRRmBM^PKc?!f zuHP2Jyi1MQ^#(I=Ljx3!fwK?u7UD^aM086I?0#a6FRKlZGLW;=T0YropoXM2bFH(; zRAq5jYbVUZ2f|0C4!x$n(5SJ1ahM^FibB|WLr;~aVo)8brx&)rUdLW9}So#v?#|h@g zp}+l&953&kH1<{G3k%}M;5(6IgIJ5h#PH4VfAM24kNy0vO}`sDcGuX=KgB;&?)@_b zvifVf$@?JP0B`&+1>X%P2>Q&^ zm1vu7+;vnNQ$w{f4^WRcHPzD@P4)1d=RusKfjEbyEz*UQW?V}l;)R`uDQG5U$?;%GRPC8;3cDCEGpw6c*Nr_@k>th^Vyq4(LlFP#p|%H zgLLbsZ_!tnXPU^#`ho7Gi$yU=LRh;b?0O0eL<-G&?Ddn0y}e0OHv9jp>`UO{tggQ2 z-iI*R6GC8E!ZHjnEW^yeFbpv4+YI{-2?K;BWDg;UNsKXx#%OD7O*C4yHm+SXR;^vF z+9vk3l`mS`x-@Fj)!O>iJ^j@8jp5<@pL?HKAko+I`@z8F%)R$H_uRAo@10#W?6-N{ z4o6pBUYEnsoyXQ6s4KIrnL4}HUhX~ES=yg#?=LGK$ju!PR=Rom6TSx-32iLR&eCQU z$fyXYo)CLj;CyCtZNsh_4CvVu53O|>hN98B^Ju8|%jynvbsqGV+3|5$>g${P?YRS` zWi%FLZ=f+g;SM~Ph^vHk@uMn8Q3P#m&7PLAYobOLx0kdG4YicCEg6YEG}^MKh8|_4 zH?Mfp$mr(6{I0ROt9pbUB5nnqK=g|(5;%^232rr1j3AFTpLhouy2zSeJVd zyGZAK0x8cy{E!TtsW;Aa68s)J&;tlljJ#4&8|I98-K|UU03$7X>uUD4wOn2~Xl=FE z4(nMTTa?i5b6HzQ>#pwZzN)rnccZ7#ypke+XgFr!7eu5j6$5~P1&%2A{qT4!JA59` z>J25iJJ@TgnZ4F%?(c506_|zWsON<2(5IF{u^AvYn*XSoOFuTBCJVhcV{zH8O>zAd zyIVIOUDUT^u&QyjWD!>T`B0JKIV4cOZQNP4c4c1aVD}Dt1thEMK;79;;ga^Q5G%8s zW)e-8#YkV7Gg(`$yM4a+)oyNeZft@TF6ij(>rsCP0Xmmu#ri@_b&vD^ zfo6g256#FK(9ekGQd@j{pWlaGHFcJ!f)}VYU(h`%-U)t&zB3ZgKWt}m9vo{-rnoqK z=QMbbDoYCKXKG=6O><%@zk_6#{IE~)EaXSXo#7%s;=mc7@1+B9#*}lwwyVwmR^M0O z)#%~L{5`~z`TNug{4IJ?e$K6a|2C8>LH5W)V-%e#$!m)H+G{;s;s-e8bJcE)Gi4g8L-#-H>?U zhd^FJ!qRZlEI;J^eV+RLEiL=&8?S1~?Q!OJ<>qzf<#y!GgM4>gU0ZuqclXtGZPxy( zs{R}x1giVVXy}^N3(!CTZ5OJ6NKm3?YoPyvlG{xhsBY7Wi!{)CpgsNDHO0zcSZ!f`Nkw&O zvn#LP?Zb_5O1U$)*yOai8=Nf9=bo3{oR^tzHKm#&mKrOaS#_EHZQ1!*DepJf=E>)Kd#;b$F-$ z8(KY;b~$`nzj`4jg|xaef;)V11BDf9-4M0o(?!f*p4_tdCjUYa+ zK2^;}Zpp!ZP5m#z59|$E4I{2~gLgtfbR^q!aNp|39$RyIQHEWJoUosY%Wh!YuHohKNB=}fp&&xauZvm-oWOo z|IM~F;%1;D4Go~&FkQ@pTj)bdi7C8fAI0c;s;m?XponGd4Pgv zX9)dUkc%|(-%w^PEy`#nmYTuQfQk(U9|p((@tGUds-;<(^S1dGEq0AotQ`;Q;??EF z^@|t(;*oithNgU5PkCHwg{eHfVs-wmKDW1~&gjmlNR3$tq1qD9tLdl{B~rwnIlTC7nuy1 z{5PZiAVY=Qu75awa?&?Bx#GLme{1bS53OYfs(8M+`uOo`b3U(P#p*q5h}JYHz1W$N zaP=Y~!)tu>rNpb(O?|}ng33Bw!Xx;kJRz4#D=$PybAx~vfHcu!UV`Bybd+sM7aB}j zW%fi7T;~3r+!y99DsU&%RIDBKR6EdE-hUbQDQGM~e#Zr`=8JCt4WkhRF)b^@sdtODA9WyuZac1IYAhWal zmOLT3B42GPNJ@&1N=l0QN@8MkG=Asf@-lVqOQpCCVt9y@49vO`sB}y)*A;0jGD}7`#;DeP-QcdDzCHo zyo~s(?Wlrq+ImzFA>|3Is`#IY74_%m_ZPeAr`x+~mAAgPx4thny0F|Hkw27@xjS>g zk|hf=`7fLU#eiBm2aAgboa&MO`ucwQ{)tiF$=ce^q$b5KT(AI-N%7^?Y#VqA9gl3F zlWha?@|QJ~`B?#O@8eIxj$%LhD_mm5LrV)QMq64&tnH4LVHV@gvABzJa!R;wXsFfM zW*KfPs;n$>msb$B1$UL~f{!>s{yD?WHo|N0dk*a2ORDn9E3b6F#P`r(7%J|%b_{8`a zTSM~$@RsBO(`o@q&1h8)Q5S)jPWas zrWM(l2`R}d;*xMPz!6tTc4Ed{K0iA#v#`(+AGabVW`#X2#*h$0&d!VoUhj1MPHA}9vCh!n&qrE%d*=5hg&rUnbsI=P3%WT#v z+Oatu1

~##>NaRplJtN9bqPU+Ea6M4S)X)XVogjcD1yV;@JY{Uv1vEuVYzIP^r$il8+Z*mK?DrPNfVp2M} zkWrVz5EKFNaVcz#7OvlSQEiM{{O;FO;jHQyq*~OHl)F(C{2@ltql*4(-Axy_E8#QR zulCa`&+2|0Lcc1|{(|n|koNWdc79&>qmcGr_}i7|b+77fg5<+NR3I(Tc-T{<^F&>S z4xBP$6u<=Ba^V6>yf>&H^^UR|*rVzVZ}9E!*L~zgz3U0DI>C;qTWEh#JWBN^!~%XF zvw*fx=nkEojh3}3_7VzEske=}gS*#vtZR0as=m6sfAd@?3vBBx;RDA<)`k|Wz{O@v z1`r}KrE8((z z`UA{ojzawldga;aKNJ1*M`&jX^)LH5Km8}M8i={DXQ(m&J><8&luZZpV3{8= z1XbL&z1G|N+I2VHc-{U}rvg6n?kbkG|gIhLHCrH zwW!R9r}>3^8m7NgyAnR5ot{R}gIgbj&{O}i{RQ1yA?@^(vj6kC_wkfWw@&vp9?!kx z!=#bh4woJ7x`F-m?z>Cw{zmcf<0Z%M`kMINO~2nw8q9?1!TXp$-4mV-?g{lzmL4H+ zh~w*Wz=D##4v$JTGwBfW8?&t_CzWr@DQ_6gvZ353ex16*#kSTAqrSv>fqJxN81)<8 zZrkTYg~^;+v(bK~2Nfs$rnNU1P+-YsH*sD#3gr(8R(J{?% z28X(Gi?htBmSyoJR#Uz)$+9BHadhf+o(qmrey$f)gcKlWu;S2+FX)KVv)aMYkaqro zpB^0jNsu1g)cS$6!vy;KK`i3$|2#Blpk2xJw?i|&M&r}CVM)kjWx)@wqBSrka`?Df zavzyfe}YIR%aNasB9AW`ca)G*W(Mc3ky=&M#&Z%b%R++2$c zVD05i)f4VtKWmK*A~Z79D02P-jVuD??I=?$-?=hGAJ=Yl&#YwB6y~>#>hpry zc$2<YG zV}_ed{lZffvc)7^QXu77p2B`-P2XbQJDlBd3BAFQk#wAp->RjX-V(2g$@^88oKLxDWs z72r#^5(T;a8`{Z}cuJ?&_#V;@{)V*kPyF=Y@3(^V$lhrEp#S3`?SJyO!;|-bO=k6h;^H2kt;6EgL~4Ox}mWD_#?V-4ArYL1D`x7Q(Y&n8Uj$F{269w&P_ zZKN2fd+en2Q8zOAMRxT*Criyl62CcDJ)4e{KFN^C1Pj@Hi+C=0dx>_z+d#XJT|qB+ z8*C??Bl{s9Qu{*6$BO>n5o;Q*yA`kg3PPX)DAb9T?GZ88>?$Vdq2K>x0bv~>h! zd!rrcTFS@|mE!KSj5LR5L{^}+dbFz~IsTy#eJrQo$?q1GXsBXQmyS=!G{n9-Lk|l+ z0GXwH3w(gRf%g^8=IU-l8Zu^}D?d?-PoV|wN8R81s6Cxgf?3V`Cq*Ck&vQ1oJJMn_qOM2Q9lK!-A zbqGD}31Q2W)4JP2=tlzd&%u|uL6eb6vF1ciYyST9r?BnK(|PRI@B%}3kc&RBTVUnz zQ_41bK*(~f%66-NC!8J0v6S5sE0A^sxD!GvIb0zS0U5a03}Xcm0eab4o`0+2bD~Ag zHN@8m1qei}s$PL%R*0dq@%gov#tM|KTDF+>i`dM$Y4hs$w1glB0z4!+l{}o(Vl&b! zl|rs14<`eD!g>B@g?Rpi;MHl}|CKx!I0EAN>u6WNbLb(#TcRhPOZw+nh2*)Qr+r5B z;5l0Wo|6R5;}UBKe?Z=r?U#Pn#b`t96>Jr`Q$8PfsGb|M+xtEfemM15>W-|!WgWCb zX=aKMmHRAl*MT!1I10chP*aKi58)9pV>Y|5^NV354q3Kk6&QNVUj!oey(3}%fgwe56@SA|fGkQZDDtuz0+ZmNkqG28vEyaC1IW;x1#4{f8Q{V76JJ8# z)sYtqi$&wvvx^I}<5n1OdyshV zN--X)0yJKjn5DFW5BS)Eu~5Or zlkkkRXDt*KM?TXePH0IB0%Wt$Tq3^(ui&(hc(PF4I5#9Cs&IuJz#c$9*~nr2Q)n(p ze_HoW2>nMIy&e|oUM&J6`a@`!^uK}U==ZF<5s&#Jw%>rqdhi(ihv_hP=_C15xf<@@ zpQV70fW%^;Qc7+we{*Vz#jA(S*RLEr-rs+GVC7*m+oirab-#vc7T9KXjpzS)k9b=E zZC-buugPZlu(*E5m6qC##O+SwhG41 zI`KQQCyT;VfLrTJ1mtkEVP{gx-o}dJB6Y*)jZw!x~Z0jqVOs(Qf2Qd=|oJ7`@|B_}6 z%_Sok+QF-YEWb%Itb~u?1PY~3r3BTy2EtMnjG?yx5=#x!^n2jxNUG)2k-tPzL{GO( zNVR;r$woXJ+69_i#4Eo-199VS5l;wYm&iB#LuD-fb2+1_-)zM9&v3 zWe`axK8_PQCdC}Z5(A|hM-4&iju6Uji9T3^y*g>VMA-?*9dnbMVdt>(Lfbwo-yXb%lJ#WfHJ*=bZirjKoLIARUCzHiAv1+W&i&U(33@=wQNK# zgw9+T@dwb;7e#VF424wkS8nK~08vJ6m4n-TbR+{u7rdJfMv5>|c*kzbl0)0roAH){@fp1OARVI|%b{e%z6ek47`my-TDtRcnpf?mY* zL{BmOagoQ7^rWXHz1R-{ddlO-{wM44Hdu!mcoVN`6|q3AP@H#j8D$BAASg)VxQvtt zVej1D)p`5q&@CMbw<=}pD_eFLHW*LrDqmk7rdo0MhdP;oeL|2V+zO$ zj6O19MOa~--ZN+ZhA}<=fhFJ8F!gRjRbxUbk8H5@bu8lx5aZ8!TQS6PA)w57eDV5w3&`Cbo8kZ7Paq-oPX*J#wIpcY>9p@m^HW0 zv?i3^4Vl^(fpN;AT24FnLMF|2*`iyW=N7k9M@t-_#}P)Lt7W#)`B~( zi^IDmsyc~cpjkQ?83^)7C^tw6j}VOY$O1>6-98IxJ@s*Bmb*~oG-O^ccn-y%@h2ps z%P3tzDaD!)U$s{|dZMr&2M?sw59`%$!~Nqqf%7NvE98L`)v&T9ztIdiO9l?-6m%h1 z{sK87%u_c@$Nrx~5s%Yli2BA2Hyq|Cy1kv9-r)b=7sxri*=caG^ut8)osJG~cQ;9{ zAD0IGul3l+tjIthPSjCp+KJD1Cr{hyh+@{p>guL~ESoi}fZtzVUmTHcHmB24=py;J z?n>n05qX8iczOQNFo1@{DlXxxb#J0pDe;tI3;}J760D+hHb#51)S6RPmSZh-CK(J# z^v!QCDz@2*i|lbpNwKlX$pEo3-SX)?#B4Ugec%od@m_y610TfuV$c$}%5sC+KfN*m zX#(Qj0Q0~Kp(}w?3xJzxQhs!Ej58xLK5}vNqKFtJKfE9#GGW=$$VCwb#mR3jShR5d zg6OEcf<=qw&yR+K%hBg5R>uDg4;y|BsTADG;bQPPXkM!-q8cA#MO=wSHE%-~UK=(CG>zIYs7S;k4p1%t1 zFX_MIr-#;gFlb$Z^k^Rlp&$3t^YhFrv=?bLv#74f{?F^C1bs7R{fx+tJq{@$EQU{5 z5t-E_59C#}Q3{>E`OmB%Vg9#<(36KF=+V#BL3*rL3V#RvbLE9y zcmX$?n3v=B8Sot31Uj^D>KwZj7YT^}D4D_kD4A0x?LRTtNp!lB@={o#{cDFR+3(+= z-u!!v{sRNy8yl+NKc)ZR4wR#aBX-bxfLb*bj}2Ascmr#Wz8HLrnQKlxu9LmKfp>H2 zmyHCd@P6updjBK(!3cti#$eTA49E{r(038~`HL70M8K-UyZu;MB&5e2X~NE@D_>mf zU}xt}#qhW0dgp%l;aqyE9PK^u3>Y#g;<6a00Vxvk)+pu_?>mJr>Vy4V zt(;d+@2#K5PRd^B9A~HQC05TSY2?tWc)#xPIP$&T{Fm_J@#H%^q*-ux1W&*%Fecm) z@g&v>uWUE18~%pW=rX52R-WPig}(fE5S8m1wVgEtN)d_t-DHo-NvHw9%ACg80NA^GJCLg;MfJlP5;s3GI=M_CND)6@?QjHWA z!c{Ukc)=x$fQrlGoD^_?CF0ZqN=Xr05;muw*tYA3DZ`zL(m518{H4}yC(<`3Y;Nk> z7yr%$CG69;6ZW+?Rh6#Ua&SvUTwH8SdHvSX@v*Y1o~H7c*aSmGLnmesGyNWak^h|T zYGAZjW+&{A_;y4gQ768ICg(3c^7Dq_d+xda{=vr{d-&nxoExuZ_ntiy{eij4yvAIf z`Ns2>s_ZpcRavL>-+P$$Nh*FcVV^|n$WBvb05BD*jNw}xiN|n({KPA-zwYb77Y@eb zeEfBd_1>oIm}#i~iYw}eysTw=U+)fYZE1Nev5uk0Z8rU+yPZg@KvJ4<@r>B{sPN7`;5nBLmz#r!S z!g`o62Ho^$bk0Z#5vCw`lq5Qe|Etk+t@>W?X4LZ*_>lp z-p1%7>$~>X)*k3we$r4)~~z0b?P1SD6l#e89S1POUuVn*dcxE9UIp_Fx+=*cj*H*Yk7r* z-Ir;x+rLHQn1Qcaj%;cSMbTO%m3q}XwVfxnr~npgTdu%quDi0yRvDo*G^JXswyk?x zztq_?&aNwS<#$-i9Qj>#=KA_TmVM36h0etf-+AEV`rX^V-&V8B+uTyOi?Hxm34B({ zkFak@X$hdbVpP}_EN<#57WXsut2b~#$;}=QAD_CJhtp0VOZp@>#cWIZWNV*#5|;D{ z@6?TaJAIS>%9wtdJ&gWg*_e?<0Uin{KEo|Q537?n8TJt?QunejsLE^kxcYC8`krSa z4xvSCppjr@*dKzng#AI?Mz#c!<-fy<^ZSJT@}s`Ff_;p4Moz!1gezn6nIK=l3Nj^J zU7oYAa>bGD_-Kc*3tP{o+qzDpPOKo#eU{(OKEV2Fx3WuRC{vHxDG-DyVRTkTL-hJT zN`*ewhgbHls>*9hkMD3)cdx{6X>pzT>R-#EQXENXIhHgwgde8zs6>~Meb8E4)9$cl z7tpKIW-0tfR%&*(#hjka=!YdOBOCLdehpDmzVbDSD&Z%=9swE_5;q-btcji*5f>lU zuWzU|=$FUEhV?65RZR&g7oHMH7kbpE04cfk4}Wv`?AJ;rob;7*_s z>YdTeS}=Lo=~Rw{>4Vq#>@M7`a$i?%*VuP{x*qmJ zPWKLhl_Y=f*$K&OD2wlA%Y)^ZdXfaL)kle2Cst_-o*s!vBnn z0S(xJpC@s8MEaXJsTm1v`O^iB3)XGnPpb3T$5TI=m;jfJ)7R*Z;a;Wru-w6V#j&l9 zg0ZyJ{noO`ev(wGnjhCqklk^ipW|C5@MercneY>wPAHOBi~rE~iShAq9=~;~+6^L{ z8o~&-3Yx`|CZwiy4BpyF8q0ZNa!##f(Qr_YekN!pUg>Ge%l_Xo-;-sKS+}_j^ za(9!mg6Vv(m=B!~`^m(_)FZQy^605WHw;_0 zSIkCgC~@P}9D1fh;|^5x&xl&iAgh2S;#f z1L6G`i7gT%A-oA4Do#@QKiZI*r1*qO~_~|n3tE8k&8KrF%bzN{X^?Pyt5%KYC zc4%2hLVg8!@~+584#!@SH6k_nh{hfb`{n4g&F0h7T*S#|{LBh)1rfVR!xhiu)+E{m zJ~{9-X*h#^2md4P9&{p`A6heWNE|jf5Rf07FAJQ+Gq6xw^EZ-?1PE7kD;Ua~d+E4NIaj z9Z;V+iE4IDqbse<qGB1kb_>>V1FwVgaZgiJTc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_journal_input.xml b/app/src/main/res/layout/activity_journal_input.xml new file mode 100644 index 0000000..d47095d --- /dev/null +++ b/app/src/main/res/layout/activity_journal_input.xml @@ -0,0 +1,320 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml new file mode 100644 index 0000000..ff553cd --- /dev/null +++ b/app/src/main/res/layout/activity_login.xml @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..fa4f3ca --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,405 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_profile.xml b/app/src/main/res/layout/activity_profile.xml new file mode 100644 index 0000000..fd5165f --- /dev/null +++ b/app/src/main/res/layout/activity_profile.xml @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_recommendation.xml b/app/src/main/res/layout/activity_recommendation.xml new file mode 100644 index 0000000..15f8fe5 --- /dev/null +++ b/app/src/main/res/layout/activity_recommendation.xml @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_register.xml b/app/src/main/res/layout/activity_register.xml new file mode 100644 index 0000000..3a7cdd5 --- /dev/null +++ b/app/src/main/res/layout/activity_register.xml @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_splashscreen.xml b/app/src/main/res/layout/activity_splashscreen.xml new file mode 100644 index 0000000..05da7f0 --- /dev/null +++ b/app/src/main/res/layout/activity_splashscreen.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_users_input.xml b/app/src/main/res/layout/activity_users_input.xml new file mode 100644 index 0000000..1288e1f --- /dev/null +++ b/app/src/main/res/layout/activity_users_input.xml @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_goals_recommendation.xml b/app/src/main/res/layout/item_goals_recommendation.xml new file mode 100644 index 0000000..fccd473 --- /dev/null +++ b/app/src/main/res/layout/item_goals_recommendation.xml @@ -0,0 +1,41 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_health_history.xml b/app/src/main/res/layout/item_health_history.xml new file mode 100644 index 0000000..d8c1ec8 --- /dev/null +++ b/app/src/main/res/layout/item_health_history.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/bottom_nav_menu.xml b/app/src/main/res/menu/bottom_nav_menu.xml new file mode 100644 index 0000000..fcbeda2 --- /dev/null +++ b/app/src/main/res/menu/bottom_nav_menu.xml @@ -0,0 +1,15 @@ + +

+ + + + 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..6f3b755 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,6 @@ + + + + + + \ 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..6f3b755 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,6 @@ + + + + + + \ 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 0000000000000000000000000000000000000000..c209e78ecd372343283f4157dcfd918ec5165bb3 GIT binary patch literal 1404 zcmV-?1%vuhNk&F=1pok7MM6+kP&il$0000G0000-002h-06|PpNX!5L00Dqw+t%{r zzW2vH!KF=w&cMnnN@{whkTw+#mAh0SV?YL=)3MimFYCWp#fpdtz~8$hD5VPuQgtcN zXl<@<#Cme5f5yr2h%@8TWh?)bSK`O z^Z@d={gn7J{iyxL_y_%J|L>ep{dUxUP8a{byupH&!UNR*OutO~0{*T4q5R6@ApLF! z5{w?Z150gC7#>(VHFJZ-^6O@PYp{t!jH(_Z*nzTK4 zkc{fLE4Q3|mA2`CWQ3{8;gxGizgM!zccbdQoOLZc8hThi-IhN90RFT|zlxh3Ty&VG z?Fe{#9RrRnxzsu|Lg2ddugg7k%>0JeD+{XZ7>Z~{=|M+sh1MF7~ zz>To~`~LVQe1nNoR-gEzkpe{Ak^7{{ZBk2i_<+`Bq<^GB!RYG+z)h;Y3+<{zlMUYd zrd*W4w&jZ0%kBuDZ1EW&KLpyR7r2=}fF2%0VwHM4pUs}ZI2egi#DRMYZPek*^H9YK zay4Iy3WXFG(F14xYsoDA|KXgGc5%2DhmQ1gFCkrgHBm!lXG8I5h*uf{rn48Z!_@ z4Bk6TJAB2CKYqPjiX&mWoW>OPFGd$wqroa($ne7EUK;#3VYkXaew%Kh^3OrMhtjYN?XEoY`tRPQsAkH-DSL^QqyN0>^ zmC>{#F14jz4GeW{pJoRpLFa_*GI{?T93^rX7SPQgT@LbLqpNA}<@2wH;q493)G=1Y z#-sCiRNX~qf3KgiFzB3I>4Z%AfS(3$`-aMIBU+6?gbgDb!)L~A)je+;fR0jWLL-Fu z4)P{c7{B4Hp91&%??2$v9iRSFnuckHUm}or9seH6 z>%NbT+5*@L5(I9j@06@(!{ZI?U0=pKn8uwIg&L{JV14+8s2hnvbRrU|hZCd}IJu7*;;ECgO%8_*W Kmw_-CKmY()leWbG literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..b2dfe3d1ba5cf3ee31b3ecc1ced89044a1f3b7a9 GIT binary patch literal 2898 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..4f0f1d64e58ba64d180ce43ee13bf9a17835fbca GIT binary patch literal 982 zcmV;{11bDcNk&G_0{{S5MM6+kP&il$0000G0000l001ul06|PpNU8t;00Dqo+t#w^ z^1csucXz7-Qrhzl9HuHB%l>&>1tG2^vb*E&k^T3$FG1eQZ51g$uv4V+kI`0<^1Z@N zk?Jjh$olyC%l>)Xq;7!>{iBj&BjJ`P&$fsCfpve_epJOBkTF?nu-B7D!hO=2ZR}

C%4 zc_9eOXvPbC4kzU8YowIA8cW~Uv|eB&yYwAObSwL2vY~UYI7NXPvf3b+c^?wcs~_t{ ze_m66-0)^{JdOMKPwjpQ@Sna!*?$wTZ~su*tNv7o!gXT!GRgivP}ec?5>l1!7<(rT zds|8x(qGc673zrvYIz;J23FG{9nHMnAuP}NpAED^laz3mAN1sy+NXK)!6v1FxQ;lh zOBLA>$~P3r4b*NcqR;y6pwyhZ3_PiDb|%n1gGjl3ZU}ujInlP{eks-#oA6>rh&g+!f`hv#_%JrgYPu z(U^&XLW^QX7F9Z*SRPpQl{B%x)_AMp^}_v~?j7 zapvHMKxSf*Mtyx8I}-<*UGn3)oHd(nn=)BZ`d$lDBwq_GL($_TPaS{UeevT(AJ`p0 z9%+hQb6z)U9qjbuXjg|dExCLjpS8$VKQ55VsIC%@{N5t{NsW)=hNGI`J=x97_kbz@ E0Of=7!TQj4N+cqN`nQhxvX7dAV-`K|Ub$-q+H-5I?Tx0g9jWxd@A|?POE8`3b8fO$T))xP* z(X?&brZw({`)WU&rdAs1iTa0x6F@PIxJ&&L|dpySV!ID|iUhjCcKz(@mE z!x@~W#3H<)4Ae(4eQJRk`Iz3<1)6^m)0b_4_TRZ+cz#eD3f8V;2r-1fE!F}W zEi0MEkTTx}8i1{`l_6vo0(Vuh0HD$I4SjZ=?^?k82R51bC)2D_{y8mi_?X^=U?2|F{Vr7s!k(AZC$O#ZMyavHhlQ7 zUR~QXuH~#o#>(b$u4?s~HLF*3IcF7023AlwAYudn0FV~|odGH^05AYPEfR)8p`i{n zwg3zPVp{+wOsxKc>)(pMupKF!Y2HoUqQ3|Yu|8lwR=?5zZuhG6J?H`bSNk_wPoM{u zSL{c@pY7+c2kck>`^q1^^gR0QB7Y?KUD{vz-uVX~;V-rW)PDcI)$_UjgVV?S?=oLR zf4}zz{#*R_{LkiJ#0RdQLNC^2Vp%JPEUvG9ra2BVZ92(p9h7Ka@!yf9(lj#}>+|u* z;^_?KWdzkM`6gqPo9;;r6&JEa)}R3X{(CWv?NvgLeOTq$cZXqf7|sPImi-7cS8DCN zGf;DVt3Am`>hH3{4-WzH43Ftx)SofNe^-#|0HdCo<+8Qs!}TZP{HH8~z5n`ExcHuT zDL1m&|DVpIy=xsLO>8k92HcmfSKhflQ0H~9=^-{#!I1g(;+44xw~=* zxvNz35vfsQE)@)Zsp*6_GjYD};Squ83<_?^SbALb{a`j<0Gn%6JY!zhp=Fg}Ga2|8 z52e1WU%^L1}15Ex0fF$e@eCT(()_P zvV?CA%#Sy08_U6VPt4EtmVQraWJX` zh=N|WQ>LgrvF~R&qOfB$!%D3cGv?;Xh_z$z7k&s4N)$WYf*k=|*jCEkO19{h_(%W4 zPuOqbCw`SeAX*R}UUsbVsgtuG?xs(#Ikx9`JZoQFz0n*7ZG@Fv@kZk`gzO$HoA9kN z8U5{-yY zvV{`&WKU2$mZeoBmiJrEdzUZAv1sRxpePdg1)F*X^Y)zp^Y*R;;z~vOv-z&)&G)JQ{m!C9cmziu1^nHA z`#`0c>@PnQ9CJKgC5NjJD8HM3|KC(g5nnCq$n0Gsu_DXk36@ql%npEye|?%RmG)

FJ$wK}0tWNB{uH;AM~i literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..948a3070fe34c611c42c0d3ad3013a0dce358be0 GIT binary patch literal 1900 zcmV-y2b1_xNk&Fw2LJ$9MM6+kP&il$0000G0001A003VA06|PpNH75a00DqwTbm-~ zullQTcXxO9ki!OCRx^i?oR|n!<8G0=kI^!JSjFi-LL*`V;ET0H2IXfU0*i>o6o6Gy zRq6Ap5(_{XLdXcL-MzlN`ugSdZY_`jXhcENAu)N_0?GhF))9R;E`!bo9p?g?SRgw_ zEXHhFG$0{qYOqhdX<(wE4N@es3VIo$%il%6xP9gjiBri+2pI6aY4 zJbgh-Ud|V%3O!IcHKQx1FQH(_*TK;1>FQWbt^$K1zNn^cczkBs=QHCYZ8b&l!UV{K z{L0$KCf_&KR^}&2Fe|L&?1I7~pBENnCtCuH3sjcx6$c zwqkNkru);ie``q+_QI;IYLD9OV0ZxkuyBz|5<$1BH|vtey$> z5oto4=l-R-Aaq`Dk0}o9N0VrkqW_#;!u{!bJLDq%0092{Ghe=F;(kn} z+sQ@1=UlX30+2nWjkL$B^b!H2^QYO@iFc0{(-~yXj2TWz?VG{v`Jg zg}WyYnwGgn>{HFaG7E~pt=)sOO}*yd(UU-D(E&x{xKEl6OcU?pl)K%#U$dn1mDF19 zSw@l8G!GNFB3c3VVK0?uyqN&utT-D5%NM4g-3@Sii9tSXKtwce~uF zS&Jn746EW^wV~8zdQ1XC28~kXu8+Yo9p!<8h&(Q({J*4DBglPdpe4M_mD8AguZFn~ ztiuO~{6Bx?SfO~_ZV(GIboeR9~hAym{{fV|VM=77MxDrbW6`ujX z<3HF(>Zr;#*uCvC*bpoSr~C$h?_%nXps@A)=l_;({Fo#6Y1+Zv`!T5HB+)#^-Ud_; zBwftPN=d8Vx)*O1Mj+0oO=mZ+NVH*ptNDC-&zZ7Hwho6UQ#l-yNvc0Cm+2$$6YUk2D2t#vdZX-u3>-Be1u9gtTBiMB^xwWQ_rgvGpZ6(C@e23c!^K=>ai-Rqu zhqT`ZQof;9Bu!AD(i^PCbYV%yha9zuoKMp`U^z;3!+&d@Hud&_iy!O-$b9ZLcSRh? z)R|826w}TU!J#X6P%@Zh=La$I6zXa#h!B;{qfug}O%z@K{EZECu6zl)7CiNi%xti0 zB{OKfAj83~iJvmpTU|&q1^?^cIMn2RQ?jeSB95l}{DrEPTW{_gmU_pqTc)h@4T>~& zluq3)GM=xa(#^VU5}@FNqpc$?#SbVsX!~RH*5p0p@w z;~v{QMX0^bFT1!cXGM8K9FP+=9~-d~#TK#ZE{4umGT=;dfvWi?rYj;^l_Zxywze`W z^Cr{55U@*BalS}K%Czii_80e0#0#Zkhlij4-~I@}`-JFJ7$5{>LnoJSs??J8kWVl6|8A}RCGAu9^rAsfCE=2}tHwl93t0C?#+jMpvr7O3`2=tr{Hg$=HlnjVG^ewm|Js0J*kfPa6*GhtB>`fN!m#9J(sU!?(OSfzY*zS(FJ<-Vb zfAIg+`U)YaXv#sY(c--|X zEB+TVyZ%Ie4L$gi#Fc++`h6%vzsS$pjz9aLt+ZL(g;n$Dzy5=m=_TV(3H8^C{r0xd zp#a%}ht55dOq?yhwYPrtp-m1xXp;4X;)NhxxUpgP%XTLmO zcjaFva^}dP3$&sfFTIR_jC=2pHh9kpI@2(6V*GQo7Ws)`j)hd+tr@P~gR*2gO@+1? zG<`_tB+LJuF|SZ9tIec;h%}}6WClT`L>HSW?E{Hp1h^+mlbf_$9zA>!ug>NALJsO{ mU%z=YwVD?}XMya)Bp;vlyE5&E_6!fzx9pwrdz474!~g(M6R?N? literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..1b9a6956b3acdc11f40ce2bb3f6efbd845cc243f GIT binary patch literal 3918 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�(p-{x$&=IACIfoAR!za)F-^da-t3#0Dycnp zwO~NVXwXCl;jE<}>%@xz|=8fIJAB?>+E{7)|4l${4ngA3G|=r z2Dyv;VVWSgZx9Wj>qUjleGl3Ei9K4>h!(lPS%8VOG>Xu0%6VDz^O=bjJmuP7>DeUv zrbI}MlHB^^d?{zv6d=@_ZD2lg1&G7UjnVN{1}9WkaM3H~btX0GtSzB+tZ^qRgWo4m z!GmimlG$=wgXCnr6j@m<1gAL46#T~5Bnm=2{^@>|t&`9mkEPddj zAvG~@Tv~TAm2i%VW}R-g(Z0)z-Y|szHr@rk>4MAyG*Ma*7Yh#H7(!-5>DZ@8r;_dx z{prSe<>~099F8vsYd2xff7uAS%7{S)f(|@me3t2$iy&NEc7OUEchp@9A|X;;IA>8!oX+y(BKJ$EzV* znR$z;!L$s7uy@{OT~nG#B!NRraT8(X##Ho!0r_o@gg0CA-9H^;-uE&?$2$nHv_00o z%cbuUc-tCx$Uh&EZ4Nf4Zgqv)Y6>usG3>GeQnxx_Z6+PcbX-+ysbt1hQ`K1LDpOE? zrAhIZhSN9yVIAOa22gn577tbc&i3|3V8NWy&!tw##`}9*x}gtI^h1DzZRA>UuaJG) zaZ7j)dq!O}{?#8Y7~7i6fHh4{`pL?>-18|p!S75Y#^DM>-S3)vuZG+Q7l@ek zQP~#cBpWgg#mApc_sPYjpw8odQuRokmTkzcNl`^CcKB7e&;zViV;{Y{o^Y$%7i0m# z62%#1Lq!RC?}lK>%mp}T!3Xv;L*0v*>USLm``N%>w>@fwC+#T&Tx2bN4w(20JB}oU zuSa6v^kXi0xPs?pbaOHnyiqq6By1EZY9OZ^^QA>{q-Hsd&m`pbQ%8121aWG-F5xf zlZ%;B{;C>X19|`^_?dVyCq>n+41w7|!tUS!{9rHlbhX=SZO5CQ^;!Du_E7*`GiR^Q w)2!4MKjfSAeNo!9>IaV6aUZ*?W>} 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

UmY2RIYtNPVDpE$%vda+HD#3m z&VuXJ{BK&Qe+rBa7eq}Q(bq|tn(RrJAk|ztj2(i{d>nmQnM?;HF2k&9sA6up5tmjl z7lySlzMbifH17-m-Lwa_F&e7nOH?ESi3#ckR3tsM+jsck3`oG!uMS}|eAwVXv>}qxwq?QY%QJ0}r@^;fhuUA9W z*BVl>TGo&N004@xSiwDUXUvp51sVmqO3m)=B55aPwf@0=e}cN+$-BdKxY`YrT_4)0 z_d10#i44Q*rFr8MC>*)v$EJvz``(pb{e&*6k+b zsMz%($|1+8hn8c2?P(l@;Rb&CsZeYoCI3?2!LqjbwPXW3z4G$Qfj=cT5Yb%vY0(AX oeb?AaKtwrnc|$|zzw9vfvn^aJJ!zd)XFXqqy0000001=f@-~a#s literal 0 HcmV?d00001 diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml new file mode 100644 index 0000000..841e765 --- /dev/null +++ b/app/src/main/res/values-night/themes.xml @@ -0,0 +1,7 @@ + + + + \ 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..2e86a12 --- /dev/null +++ b/app/src/main/res/values/colors.xml @@ -0,0 +1,16 @@ + + + #FF000000 + #FFFFFFFF + + #004343 + #006C6C + + #7ABDBD + #E8F4F8 + + #D9D9D9 + + #FF5722 + #FF0000 + \ 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..b898e51 --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,10 @@ + + Health Journal + + + // Validation + Masukkan alamat email yang valid! + Kolom ini tidak boleh kurang dari 8 karakter! + Kolom ini tidak boleh kosong! + This field is required! + \ 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..18d9972 --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,9 @@ + + + + +