From a1913ed968e176b92a1208cd2a1929c2d99b475e Mon Sep 17 00:00:00 2001 From: Finnley Somdahl <87634197+rebelonion@users.noreply.github.com> Date: Wed, 22 Nov 2023 00:32:26 -0600 Subject: [PATCH] new icon color fixed sorting issue [12:28 AM] some nice gui stuff for downloading [12:28 AM] yomiroll preferences bug [12:28 AM] background no longer stuck on black --- app/build.gradle | 8 +- app/src/debug/res/values/strings.xml | 2 +- app/src/main/AndroidManifest.xml | 2 +- app/src/main/ic_launcher_beta-playstore.png | Bin 0 -> 15523 bytes .../main/java/ani/dantotsu/MainActivity.kt | 4 +- .../dantotsu/media/MediaDetailsViewModel.kt | 22 +- .../media/anime/AnimeWatchFragment.kt | 41 +- .../ani/dantotsu/media/anime/ExoplayerView.kt | 3 +- .../media/manga/MangaChapterAdapter.kt | 2 +- .../dantotsu/parsers/OfflineMangaParser.kt | 9 + .../InstalledAnimeExtensionsFragment.kt | 68 ++-- .../AnimePreferenceFragmentCompat.kt | 8 +- .../main/res/drawable/anim_splash_beta.xml | 377 ++++++++++++++++++ .../drawable/ic_launcher_beta_background.xml | 30 ++ .../drawable/ic_launcher_beta_foreground.xml | 22 + app/src/main/res/layout/splash_screen.xml | 2 +- .../mipmap-anydpi-v26/ic_launcher_beta.xml | 6 + .../ic_launcher_beta_round.xml | 5 + .../res/mipmap-hdpi/ic_launcher_beta.webp | Bin 0 -> 2896 bytes .../mipmap-hdpi/ic_launcher_beta_round.webp | Bin 0 -> 2896 bytes .../res/mipmap-mdpi/ic_launcher_beta.webp | Bin 0 -> 1864 bytes .../mipmap-mdpi/ic_launcher_beta_round.webp | Bin 0 -> 1864 bytes .../res/mipmap-xhdpi/ic_launcher_beta.webp | Bin 0 -> 3832 bytes .../mipmap-xhdpi/ic_launcher_beta_round.webp | Bin 0 -> 3832 bytes .../res/mipmap-xxhdpi/ic_launcher_beta.webp | Bin 0 -> 5818 bytes .../mipmap-xxhdpi/ic_launcher_beta_round.webp | Bin 0 -> 5818 bytes .../res/mipmap-xxxhdpi/ic_launcher_beta.webp | Bin 0 -> 7964 bytes .../ic_launcher_beta_round.webp | Bin 0 -> 7964 bytes app/src/main/res/values-night/themes.xml | 2 +- app/src/main/res/values/themes.xml | 1 - 30 files changed, 531 insertions(+), 83 deletions(-) create mode 100644 app/src/main/ic_launcher_beta-playstore.png create mode 100644 app/src/main/res/drawable/anim_splash_beta.xml create mode 100644 app/src/main/res/drawable/ic_launcher_beta_background.xml create mode 100644 app/src/main/res/drawable/ic_launcher_beta_foreground.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_beta.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_beta_round.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_beta.webp create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_beta_round.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_beta.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_beta_round.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_beta.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_beta_round.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_beta.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_beta_round.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_beta.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_beta_round.webp diff --git a/app/build.gradle b/app/build.gradle index eac864f1..5caa29de 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -28,9 +28,11 @@ android { buildTypes { debug { applicationIdSuffix ".beta" + manifestPlaceholders = [icon_placeholder: "@mipmap/ic_launcher_beta"] debuggable true } release { + manifestPlaceholders = [icon_placeholder: "@mipmap/ic_launcher"] debuggable false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } @@ -76,11 +78,11 @@ dependencies { // FireBase implementation platform('com.google.firebase:firebase-bom:32.2.3') - implementation 'com.google.firebase:firebase-analytics-ktx:21.3.0' - implementation 'com.google.firebase:firebase-crashlytics-ktx:18.4.3' + implementation 'com.google.firebase:firebase-analytics-ktx:21.5.0' + implementation 'com.google.firebase:firebase-crashlytics-ktx:18.6.0' // Exoplayer - ext.exo_version = '1.1.1' + ext.exo_version = '1.2.0' implementation "androidx.media3:media3-exoplayer:$exo_version" implementation "androidx.media3:media3-ui:$exo_version" implementation "androidx.media3:media3-exoplayer-hls:$exo_version" diff --git a/app/src/debug/res/values/strings.xml b/app/src/debug/res/values/strings.xml index e74ebc2f..ef58c36a 100644 --- a/app/src/debug/res/values/strings.xml +++ b/app/src/debug/res/values/strings.xml @@ -1,4 +1,4 @@ - Dantotsu + Dantotsu ß \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 6647fea0..b3e07cea 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -47,7 +47,7 @@ ^v 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 literal 0 HcmV?d00001 diff --git a/app/src/main/java/ani/dantotsu/MainActivity.kt b/app/src/main/java/ani/dantotsu/MainActivity.kt index d79503a7..4cea1e39 100644 --- a/app/src/main/java/ani/dantotsu/MainActivity.kt +++ b/app/src/main/java/ani/dantotsu/MainActivity.kt @@ -83,9 +83,9 @@ class MainActivity : AppCompatActivity() { private var uiSettings = UserInterfaceSettings() override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - LangSet.setLocale(this) ThemeManager(this).applyTheme() + LangSet.setLocale(this) + super.onCreate(savedInstanceState) binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) diff --git a/app/src/main/java/ani/dantotsu/media/MediaDetailsViewModel.kt b/app/src/main/java/ani/dantotsu/media/MediaDetailsViewModel.kt index f850b206..5235e6b5 100644 --- a/app/src/main/java/ani/dantotsu/media/MediaDetailsViewModel.kt +++ b/app/src/main/java/ani/dantotsu/media/MediaDetailsViewModel.kt @@ -270,27 +270,7 @@ class MediaDetailsViewModel : ViewModel() { private val mangaChapter = MutableLiveData(null) fun getMangaChapter(): LiveData = mangaChapter suspend fun loadMangaChapterImages(chapter: MangaChapter, selected: Selected, series: String, post: Boolean = true): Boolean { - //check if the chapter has been downloaded already - val downloadsManager = Injekt.get() - if(downloadsManager.mangaDownloads.contains(Download(series, chapter.title!!, Download.Type.MANGA))) { - val download = downloadsManager.mangaDownloads.find { it.title == series && it.chapter == chapter.title!! } ?: return false - //look in the downloads folder for the chapter and add all the numerically named images to the chapter - val directory = File( - currContext()?.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), - "Dantotsu/Manga/$series/${chapter.title!!}" - ) - val images = mutableListOf() - directory.listFiles()?.forEach { - if (it.nameWithoutExtension.toIntOrNull() != null) { - images.add(MangaImage(FileUrl(it.absolutePath), false)) - } - } - //sort the images by name - images.sortBy { it.url.url } - chapter.addImages(images) - if (post) mangaChapter.postValue(chapter) - return true - } + return tryWithSuspend(true) { chapter.addImages( mangaReadSources?.get(selected.sourceIndex)?.loadImages(chapter.link, chapter.sChapter) ?: return@tryWithSuspend false diff --git a/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchFragment.kt b/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchFragment.kt index 0613eceb..0dc1fda7 100644 --- a/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchFragment.kt +++ b/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchFragment.kt @@ -321,16 +321,18 @@ class AnimeWatchFragment : Fragment() { dialog.dismiss() // Move the fragment transaction here - val fragment = - AnimeSourcePreferencesFragment().getInstance(selectedSetting.id){ - changeUIVisibility(true) - loadEpisodes(media.selected!!.sourceIndex, true) - } - parentFragmentManager.beginTransaction() - .setCustomAnimations(R.anim.slide_up, R.anim.slide_down) - .replace(R.id.fragmentExtensionsContainer, fragment) - .addToBackStack(null) - .commit() + requireActivity().runOnUiThread { + val fragment = + AnimeSourcePreferencesFragment().getInstance(selectedSetting.id) { + changeUIVisibility(true) + loadEpisodes(media.selected!!.sourceIndex, true) + } + parentFragmentManager.beginTransaction() + .setCustomAnimations(R.anim.slide_up, R.anim.slide_down) + .replace(R.id.fragmentExtensionsContainer, fragment) + .addToBackStack(null) + .commit() + } } .setNegativeButton("Cancel") { dialog, _ -> dialog.cancel() @@ -340,15 +342,18 @@ class AnimeWatchFragment : Fragment() { .show() } else { // If there's only one setting, proceed with the fragment transaction - val fragment = AnimeSourcePreferencesFragment().getInstance(selectedSetting.id){ - changeUIVisibility(true) - loadEpisodes(media.selected!!.sourceIndex, true) + requireActivity().runOnUiThread { + val fragment = + AnimeSourcePreferencesFragment().getInstance(selectedSetting.id) { + changeUIVisibility(true) + loadEpisodes(media.selected!!.sourceIndex, true) + } + parentFragmentManager.beginTransaction() + .setCustomAnimations(R.anim.slide_up, R.anim.slide_down) + .replace(R.id.fragmentExtensionsContainer, fragment) + .addToBackStack(null) + .commit() } - parentFragmentManager.beginTransaction() - .setCustomAnimations(R.anim.slide_up, R.anim.slide_down) - .replace(R.id.fragmentExtensionsContainer, fragment) - .addToBackStack(null) - .commit() } changeUIVisibility(false) diff --git a/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt b/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt index 2617907a..abf500ce 100644 --- a/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt +++ b/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt @@ -323,7 +323,7 @@ class ExoplayerView : AppCompatActivity(), Player.Listener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) LangSet.setLocale(this) -ThemeManager(this).applyTheme() + ThemeManager(this).applyTheme() binding = ActivityExoplayerBinding.inflate(layoutInflater) setContentView(binding.root) @@ -1450,6 +1450,7 @@ ThemeManager(this).applyTheme() override fun onResume() { super.onResume() + LangSet.setLocale(this) orientationListener?.enable() hideSystemBars() if (isInitialized) { diff --git a/app/src/main/java/ani/dantotsu/media/manga/MangaChapterAdapter.kt b/app/src/main/java/ani/dantotsu/media/manga/MangaChapterAdapter.kt index cfce2642..b14a81f1 100644 --- a/app/src/main/java/ani/dantotsu/media/manga/MangaChapterAdapter.kt +++ b/app/src/main/java/ani/dantotsu/media/manga/MangaChapterAdapter.kt @@ -139,7 +139,7 @@ class MangaChapterAdapter( binding.itemDownload.postDelayed({ binding.itemDownload.setImageResource(R.drawable.ic_circle_cancel) binding.itemDownload.setColorFilter(typedValue2.data) - }, 5000) + }, 1000) } else { // Show download icon binding.itemDownload.setImageResource(R.drawable.ic_circle_add) diff --git a/app/src/main/java/ani/dantotsu/parsers/OfflineMangaParser.kt b/app/src/main/java/ani/dantotsu/parsers/OfflineMangaParser.kt index 50e3fed3..3684ee8b 100644 --- a/app/src/main/java/ani/dantotsu/parsers/OfflineMangaParser.kt +++ b/app/src/main/java/ani/dantotsu/parsers/OfflineMangaParser.kt @@ -3,6 +3,7 @@ package ani.dantotsu.parsers import android.os.Environment import ani.dantotsu.currContext import ani.dantotsu.download.DownloadsManager +import ani.dantotsu.logger import ani.dantotsu.media.manga.MangaNameAdapter import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga @@ -47,6 +48,7 @@ class OfflineMangaParser: MangaParser() { "Dantotsu/Manga/$chapterLink" ) val images = mutableListOf() + val imageNumberRegex = Regex("""(\d+)\.jpg$""") if (directory.exists()) { directory.listFiles()?.forEach { if (it.isFile) { @@ -54,6 +56,13 @@ class OfflineMangaParser: MangaParser() { images.add(image) } } + images.sortBy { image -> + val matchResult = imageNumberRegex.find(image.url.url) + matchResult?.groups?.get(1)?.value?.toIntOrNull() ?: Int.MAX_VALUE + } + for (image in images) { + logger("imageNumber: ${image.url.url}") + } return images } return emptyList() diff --git a/app/src/main/java/ani/dantotsu/settings/InstalledAnimeExtensionsFragment.kt b/app/src/main/java/ani/dantotsu/settings/InstalledAnimeExtensionsFragment.kt index 980fa019..b668cf2a 100644 --- a/app/src/main/java/ani/dantotsu/settings/InstalledAnimeExtensionsFragment.kt +++ b/app/src/main/java/ani/dantotsu/settings/InstalledAnimeExtensionsFragment.kt @@ -63,19 +63,26 @@ class InstalledAnimeExtensionsFragment : Fragment() { dialog.dismiss() // Move the fragment transaction here - val fragment = AnimeSourcePreferencesFragment().getInstance(selectedSetting.id){ - val activity = requireActivity() as ExtensionsActivity - activity.findViewById(R.id.viewPager).visibility = View.VISIBLE - activity.findViewById(R.id.tabLayout).visibility = View.VISIBLE - activity.findViewById(R.id.searchView).visibility = View.VISIBLE - activity.findViewById(R.id.fragmentExtensionsContainer).visibility = - View.GONE + val eActivity = requireActivity() as ExtensionsActivity + eActivity.runOnUiThread { + val fragment = + AnimeSourcePreferencesFragment().getInstance(selectedSetting.id) { + + eActivity.findViewById(R.id.viewPager).visibility = + View.VISIBLE + eActivity.findViewById(R.id.tabLayout).visibility = + View.VISIBLE + eActivity.findViewById(R.id.searchView).visibility = + View.VISIBLE + eActivity.findViewById(R.id.fragmentExtensionsContainer).visibility = + View.GONE + } + parentFragmentManager.beginTransaction() + .setCustomAnimations(R.anim.slide_up, R.anim.slide_down) + .replace(R.id.fragmentExtensionsContainer, fragment) + .addToBackStack(null) + .commit() } - parentFragmentManager.beginTransaction() - .setCustomAnimations(R.anim.slide_up, R.anim.slide_down) - .replace(R.id.fragmentExtensionsContainer, fragment) - .addToBackStack(null) - .commit() } .setNegativeButton("Cancel") { dialog, _ -> dialog.cancel() @@ -84,19 +91,26 @@ class InstalledAnimeExtensionsFragment : Fragment() { .show() } else { // If there's only one setting, proceed with the fragment transaction - val fragment = AnimeSourcePreferencesFragment().getInstance(selectedSetting.id){ - val activity = requireActivity() as ExtensionsActivity - activity.findViewById(R.id.viewPager).visibility = View.VISIBLE - activity.findViewById(R.id.tabLayout).visibility = View.VISIBLE - activity.findViewById(R.id.searchView).visibility = View.VISIBLE - activity.findViewById(R.id.fragmentExtensionsContainer).visibility = - View.GONE + val eActivity = requireActivity() as ExtensionsActivity + eActivity.runOnUiThread { + val fragment = + AnimeSourcePreferencesFragment().getInstance(selectedSetting.id) { + + eActivity.findViewById(R.id.viewPager).visibility = + View.VISIBLE + eActivity.findViewById(R.id.tabLayout).visibility = + View.VISIBLE + eActivity.findViewById(R.id.searchView).visibility = + View.VISIBLE + eActivity.findViewById(R.id.fragmentExtensionsContainer).visibility = + View.GONE + } + parentFragmentManager.beginTransaction() + .setCustomAnimations(R.anim.slide_up, R.anim.slide_down) + .replace(R.id.fragmentExtensionsContainer, fragment) + .addToBackStack(null) + .commit() } - parentFragmentManager.beginTransaction() - .setCustomAnimations(R.anim.slide_up, R.anim.slide_down) - .replace(R.id.fragmentExtensionsContainer, fragment) - .addToBackStack(null) - .commit() } // Hide ViewPager2 and TabLayout @@ -149,7 +163,7 @@ class InstalledAnimeExtensionsFragment : Fragment() { context, Notifications.CHANNEL_DOWNLOADER_PROGRESS ) - .setSmallIcon(androidx.media3.ui.R.drawable.exo_ic_check) + .setSmallIcon(R.drawable.ic_circle_check) .setContentTitle("Update complete") .setContentText("The extension has been successfully updated.") .setPriority(NotificationCompat.PRIORITY_LOW) @@ -192,13 +206,11 @@ class InstalledAnimeExtensionsFragment : Fragment() { private class AnimeExtensionsAdapter( private val onSettingsClicked: (AnimeExtension.Installed) -> Unit, private val onUninstallClicked: (AnimeExtension.Installed) -> Unit, - skipIcons: Boolean + val skipIcons: Boolean ) : ListAdapter( DIFF_CALLBACK_INSTALLED ) { - val skipIcons = skipIcons - fun updateData(newExtensions: List) { submitList(newExtensions) // Use submitList instead of manual list handling } diff --git a/app/src/main/java/ani/dantotsu/settings/extensionprefs/AnimePreferenceFragmentCompat.kt b/app/src/main/java/ani/dantotsu/settings/extensionprefs/AnimePreferenceFragmentCompat.kt index b4f93561..b82629f5 100644 --- a/app/src/main/java/ani/dantotsu/settings/extensionprefs/AnimePreferenceFragmentCompat.kt +++ b/app/src/main/java/ani/dantotsu/settings/extensionprefs/AnimePreferenceFragmentCompat.kt @@ -44,7 +44,7 @@ class AnimeSourcePreferencesFragment : PreferenceFragmentCompat() { onCloseAction?.invoke() } - fun populateAnimePreferenceScreen(): PreferenceScreen { + private fun populateAnimePreferenceScreen(): PreferenceScreen { val sourceId = requireArguments().getLong(SOURCE_ID) val source = Injekt.get().get(sourceId)!! check(source is ConfigurableAnimeSource) @@ -57,11 +57,11 @@ class AnimeSourcePreferencesFragment : PreferenceFragmentCompat() { pref.isIconSpaceReserved = false if (pref is DialogPreference) { pref.dialogTitle = pref.title - println("pref.dialogTitle: ${pref.dialogTitle}") + //println("pref.dialogTitle: ${pref.dialogTitle}") } - for (entry in sharedPreferences.all.entries) { + /*for (entry in sharedPreferences.all.entries) { Log.d("Preferences", "Key: ${entry.key}, Value: ${entry.value}") - } + }*/ // Apply incognito IME for EditTextPreference if (pref is EditTextPreference) { diff --git a/app/src/main/res/drawable/anim_splash_beta.xml b/app/src/main/res/drawable/anim_splash_beta.xml new file mode 100644 index 00000000..3338cb41 --- /dev/null +++ b/app/src/main/res/drawable/anim_splash_beta.xml @@ -0,0 +1,377 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_launcher_beta_background.xml b/app/src/main/res/drawable/ic_launcher_beta_background.xml new file mode 100644 index 00000000..657fc674 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_beta_background.xml @@ -0,0 +1,30 @@ + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_launcher_beta_foreground.xml b/app/src/main/res/drawable/ic_launcher_beta_foreground.xml new file mode 100644 index 00000000..f19b9a98 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_beta_foreground.xml @@ -0,0 +1,22 @@ + + + + + + + + diff --git a/app/src/main/res/layout/splash_screen.xml b/app/src/main/res/layout/splash_screen.xml index eac727b5..28b6cc3a 100644 --- a/app/src/main/res/layout/splash_screen.xml +++ b/app/src/main/res/layout/splash_screen.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/bg_black"> + android:background="?android:colorBackground"> + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_beta_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_beta_round.xml new file mode 100644 index 00000000..4b4e6996 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_beta_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_beta.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_beta.webp new file mode 100644 index 0000000000000000000000000000000000000000..f8f3052afc38f92ea651bbff6b8293008370f366 GIT binary patch literal 2896 zcmV-W3$OH2Nk&FU3jhFDMM6+kP&iCG3jhEwN5Byf)rNw$Z5W3?>>UgdF#+Bc+OcI` zE$wFIO1v`qG}lp8vs3jMCEIZ?6n`sN5mBFyxf{E$^n+^l}?Xvg!)z z&&<9UZF#Ib(3RZU)|M?g$nWp_KKH)3ySuwoKt@bP15f}ZkV_lmtxPywOdv~=ZPT{m z*qhh3ZQHhO+cq0u->+xeRtId`+-sf5z-=Q%$-*(;(i7xb+rLK2_Zv-S_Mfbd|AT7@ zE!5Cz<$e_$Iu5-%rCp0wZWUa}&gB0~X0HHuhs?TXNyqu)&Ve8RY#}L4o59-NnRM3n z?%B3&KjWS*NdUk?lIjaidTiUaakOpQwmq}f$!2qG+qP}Et+wqs{vc@c_QYyppgnweBz;&tNB zB0_|i`mg2yyK~ezQ``Mv5@HRREa5l_yg94GDMtM(+LqMHJcAgMrAZg2g7it zf)R99)=7Zz88OF|3V6N=`Qh;D(3xKUcBU8T3@?a_6^R5Qo0B4XQ6??=A z9EtodRy1DTGUf=9XDEKA1-oA3zD5K>3MBEX0EHu!G~%)0l%W&Bv6*}xq- z*X`F>p;>b{m?LP|`&Tsmj%7>U&j-wydh}p6=pKzagwwAnnNLc7Y)1sKvcJuv|2FjR z-WZtq=M!!pID_f|?hw=`rSw-NLlzgrYE2M`=)6S}x54y%=Nh{#8z_%KV+tCRQu+&S z&`B)L=j?*(5Akj2f1R;Du6g&dz61~Z7DZ80wuD4(%v(oJ0t(8meskMMmyL}~1tV4Q z9b+^yb&S*t-WsV_QknPSc@{W*)M=xdv$c5-HY6PhZR{P?#DC-FB% zi9CELkylxYDw3Lsa=56k-8cM}_QlBrFu%9SF%~K|@RT0#pNq}jI`J?(6m8AC%x6(-2m0Ao4yz2az z0sjvYDR6t*1XfDI3_xj@jsW77W-9SYhcby{7L3FVK%8*w)#rC)ZccF31dbV$MTl`1 z*@+k`R3FtE^`@>$VtNE969AcCo!=EAYy#tT3)-$o^8~6!E?}WYU1@V73R9@W`}?}O z2{5Ac%kw9e2yR-?ITP3@3D2}HTAJdO4r*tmQv6iW;(JfqGyy6xX|7%hk=g{_^CmC{ zP+FHsQqucPMPza)Ux}qC{@szS6TqZJg1G{tbwvqF^Ct@E&1kBXbCAN&k!@1=)%jCf zGeK~{f_`XSCMikp4;N@n!E7G3R)}^vg-Vq8(bcj@00_T2yK8Up7Q{W%x?pRGRXf!{ zcLr9MV0Tq$HS$doIA)Q1I)({=(yPwy2nlS38y2)fk>(4Os|<~CouD}dbMuD7Ftp3b zm=(qJ7+?|r#iTkrAzDQixMl(;iL@9o&vXqdl`KMQ8b))lzAUVY-DNF09CQCi;ub)p zzS~K0v}}XFt0itGptMVgH1SF+bf;l;33gV6HDa4%iV+RW^B72b0a@xl8ddup=Ku9+ z6WXQ-(*dPE*DaY)Se_FqCRW-p?*~ob=}o2nM?g5p)}loW%9-mXP`x{j5@jJ`o@s@W zUqO7eSEwR7#T1A@6v0?C>k8l{<;*=c()`+_{M;Z3`-!xNNJ|mJ3~8zOW%@5MiJc|6 zgcSwNSR#6RN7E`*&a?m-(-F}svQ!RB;wPFVu)B=G9KGX6h?x_}rvVBOa3Uc0lqS>q zMXi{~3|`?f?8w?-K2#?|x#!?r3PAKw%a-W9R2Fa$XyFKnm2TKw#hIS_#X*P}kHyCa z8ZLmSO@Wbe8h|v4M4L#1PlfouUtCJ!byq50JyP;;DHRV^Nqow-j6y_DE@7?Ni#IUN zW^7|jE@dmPG@pn)&tXfPu3zx~7y*z%x)stl5B@Wcn9M`w-#lcfY97*=2XqtWKApM$ zpRxX%G5*MaRtzYWl2tZ34oNbR5PIObM$wMesBIv(AO0lZ>pQr z0$s%v#`Q`-U$gK6jzpXl?3n`~O}ZVO(eE|-yZ$f?(#M5*W2od;#QsqF((xUbmojs< z#qP7%GswwAdufLC6?lx|aey-v96wY^G zZ;dCkJO>rB$rxQtpfSDIoD9$xgznSV<7oEOv<@fjAsO3aDVYo_VE0UJNGZ>+&@s~ z_6dcGxkjR2O>`@XPNl&?(Jp7zbJ>+-Enb9TSe@3|D`N#e(yj&!2O!!Kw0%&3$xyE` ziiWU`Mj=kdIUS9_MzIc3sw$rnwn7==F+J2W-t;Hgv%N#?bKel+%h} z<^2<>O<6Xw=SgRw;q_k^OwHwO!6cv$IEBFp@%HlUqI`+Uo%)B{h*-$_TnFWjh`@VLmFJFoU)(k?7iP2i& z?#nf;qUWL+j^_i7@^%X{d&MaY7eY^a9dLT2zrd4rhxAqvEJTRWsUv|k;kB7pb9Z_w zvQP|{ZQnp4;I#g1w$zG%04mX}1NL_fh7ROGPd*ijmwTE(Gf0l7CwrlI=}RZiH{12b z?Xop@VOaI-2(Shm?;>!ZQ8Ce(pUC?{=|&{qkHqU(`J|L@i?^|Oz4^z#&v(86PJs2+ zGZt@9l@bKLJ{+RsCa( usR5z`fB=|%K=;!YVEo_KC%6Cn)xqbQe>4GJy$c9G1LEV)SG#q~W->UgdF#+Bc+OcI` zE$wFIO1v`qG}lp8vs3jMCEIZ?6n`sN5mBFyxf{E$^n+^l}?Xvg!)z z&&<9UZF#Ib(3RZU)|M?g$nWp_KKH)3ySuwoKt@bP15f}ZkV_lmtxPywOdv~=ZPT{m z*qhh3ZQHhO+cq0u->+xeRtId`+-sf5z-=Q%$-*(;(i7xb+rLK2_Zv-S_Mfbd|AT7@ zE!5Cz<$e_$Iu5-%rCp0wZWUa}&gB0~X0HHuhs?TXNyqu)&Ve8RY#}L4o59-NnRM3n z?%B3&KjWS*NdUk?lIjaidTiUaakOpQwmq}f$!2qG+qP}Et+wqs{vc@c_QYyppgnweBz;&tNB zB0_|i`mg2yyK~ezQ``Mv5@HRREa5l_yg94GDMtM(+LqMHJcAgMrAZg2g7it zf)R99)=7Zz88OF|3V6N=`Qh;D(3xKUcBU8T3@?a_6^R5Qo0B4XQ6??=A z9EtodRy1DTGUf=9XDEKA1-oA3zD5K>3MBEX0EHu!G~%)0l%W&Bv6*}xq- z*X`F>p;>b{m?LP|`&Tsmj%7>U&j-wydh}p6=pKzagwwAnnNLc7Y)1sKvcJuv|2FjR z-WZtq=M!!pID_f|?hw=`rSw-NLlzgrYE2M`=)6S}x54y%=Nh{#8z_%KV+tCRQu+&S z&`B)L=j?*(5Akj2f1R;Du6g&dz61~Z7DZ80wuD4(%v(oJ0t(8meskMMmyL}~1tV4Q z9b+^yb&S*t-WsV_QknPSc@{W*)M=xdv$c5-HY6PhZR{P?#DC-FB% zi9CELkylxYDw3Lsa=56k-8cM}_QlBrFu%9SF%~K|@RT0#pNq}jI`J?(6m8AC%x6(-2m0Ao4yz2az z0sjvYDR6t*1XfDI3_xj@jsW77W-9SYhcby{7L3FVK%8*w)#rC)ZccF31dbV$MTl`1 z*@+k`R3FtE^`@>$VtNE969AcCo!=EAYy#tT3)-$o^8~6!E?}WYU1@V73R9@W`}?}O z2{5Ac%kw9e2yR-?ITP3@3D2}HTAJdO4r*tmQv6iW;(JfqGyy6xX|7%hk=g{_^CmC{ zP+FHsQqucPMPza)Ux}qC{@szS6TqZJg1G{tbwvqF^Ct@E&1kBXbCAN&k!@1=)%jCf zGeK~{f_`XSCMikp4;N@n!E7G3R)}^vg-Vq8(bcj@00_T2yK8Up7Q{W%x?pRGRXf!{ zcLr9MV0Tq$HS$doIA)Q1I)({=(yPwy2nlS38y2)fk>(4Os|<~CouD}dbMuD7Ftp3b zm=(qJ7+?|r#iTkrAzDQixMl(;iL@9o&vXqdl`KMQ8b))lzAUVY-DNF09CQCi;ub)p zzS~K0v}}XFt0itGptMVgH1SF+bf;l;33gV6HDa4%iV+RW^B72b0a@xl8ddup=Ku9+ z6WXQ-(*dPE*DaY)Se_FqCRW-p?*~ob=}o2nM?g5p)}loW%9-mXP`x{j5@jJ`o@s@W zUqO7eSEwR7#T1A@6v0?C>k8l{<;*=c()`+_{M;Z3`-!xNNJ|mJ3~8zOW%@5MiJc|6 zgcSwNSR#6RN7E`*&a?m-(-F}svQ!RB;wPFVu)B=G9KGX6h?x_}rvVBOa3Uc0lqS>q zMXi{~3|`?f?8w?-K2#?|x#!?r3PAKw%a-W9R2Fa$XyFKnm2TKw#hIS_#X*P}kHyCa z8ZLmSO@Wbe8h|v4M4L#1PlfouUtCJ!byq50JyP;;DHRV^Nqow-j6y_DE@7?Ni#IUN zW^7|jE@dmPG@pn)&tXfPu3zx~7y*z%x)stl5B@Wcn9M`w-#lcfY97*=2XqtWKApM$ zpRxX%G5*MaRtzYWl2tZ34oNbR5PIObM$wMesBIv(AO0lZ>pQr z0$s%v#`Q`-U$gK6jzpXl?3n`~O}ZVO(eE|-yZ$f?(#M5*W2od;#QsqF((xUbmojs< z#qP7%GswwAdufLC6?lx|aey-v96wY^G zZ;dCkJO>rB$rxQtpfSDIoD9$xgznSV<7oEOv<@fjAsO3aDVYo_VE0UJNGZ>+&@s~ z_6dcGxkjR2O>`@XPNl&?(Jp7zbJ>+-Enb9TSe@3|D`N#e(yj&!2O!!Kw0%&3$xyE` ziiWU`Mj=kdIUS9_MzIc3sw$rnwn7==F+J2W-t;Hgv%N#?bKel+%h} z<^2<>O<6Xw=SgRw;q_k^OwHwO!6cv$IEBFp@%HlUqI`+Uo%)B{h*-$_TnFWjh`@VLmFJFoU)(k?7iP2i& z?#nf;qUWL+j^_i7@^%X{d&MaY7eY^a9dLT2zrd4rhxAqvEJTRWsUv|k;kB7pb9Z_w zvQP|{ZQnp4;I#g1w$zG%04mX}1NL_fh7ROGPd*ijmwTE(Gf0l7CwrlI=}RZiH{12b z?Xop@VOaI-2(Shm?;>!ZQ8Ce(pUC?{=|&{qkHqU(`J|L@i?^|Oz4^z#&v(86PJs2+ zGZt@9l@bKLJ{+RsCa( usR5z`fB=|%K=;!YVEo_KC%6Cn)xqbQe>4GJy$c9G1LEV)SG#q~W->UjeF#%K)xGYt& zwe4x+eA<=4;lz@1dJDb(i)&&~Y5$emVMfOtp0NJH${|;gY&%gKAmf1VXMms}D#&S9 z2GZe1lI>cVuLbv>vwKlNeDfEc22**@B@KQQkPJ4-U}9-4;K;UZ+Nx*UHouK7*tX5g zW&>>hF4$K76o1<~n}OT5aipZ(eQ((thld~Nx0e!0HmzfDM9Y^TIo@O}0glr6Unb|JwTRnj{!I zjL!>l+a=pnZTU~ujP@rE_SWRuXw{uaPs;-${X(29`XYvh(qj6-gM{JBB4!cAB1~Cq z3Xm4~_?4yrZl4%{|Mi0hl7*go=s9F|K&u<*IyHG?os+Ty7(N&n*RGC;5c&1W7==qD5_CRAsx3bK$+>B?#c-AqV zwOr#{GoB;kxhT?jt|UnUJ0}Oj%ih0#UmqP1YE8Vrbx3*9jTm0;Toe~AQVA0i^mR3h za>Jk{nB0)@zHLiT)|ZgiB9lYaptV<76GtPVU{Mqba zB#i?I4G7{0L)HMGxhWuv$|%HpugOL)jAe9P=h7~QM&(NyI}x}diTj4TW4JSlI*8CZ z08~{Ysi;Yfh|1)uSjeDfZwXp7%zh6^qg20;nX)3x=gDXNK-+=7J*j zBA^y2X|fQ~WJm#uVB|H3O(HqvSbA{6@wB2g1E41ILU=ZpWmE(sAD@CpB0AxHcbHtj zDM@TXNKND^1Jj$ZzQ$8!x~Z9r z8=5&Oi0uHVs``;RtnI?dkutN7+%TayIw1kP7L)1hK;V+1y6?$(MIAzj-jm2EX|A^` zb8&GfHgfnqX{vJofdnv3Q7)EHkrw+98W6-$j;#eib1kD5%_JxZZ@rRbjEWSN(REd= z^CT1(B=2oYY zZLd|cjNtF6LEB%u@9E-Mby*RFD+t00&4aLl%mp**&ybHI4f&D90@(<2fO-xfqFmxdbxOig3D87Pgc%$_^rJZ5&jRf$ngMbcE$IP2gsQ3 z>ec%J>i3P*?+a1D^Mj$D;?nT|>f~k70+1u$8GQd(0ur^{pQ+y$sQ>3LF@=w3xH;!i z(Cb?#s@&g{7l51qF4_SkbT`rJdi+-ZZ{Vh>%I7;gUKw)WjoRxq!a*IMQUJJ3%kRKA zVGWi9G8zCI{cV?eUZL{;`&RzGLQG9nKAz#}8ZJ+`;Npm{pBG*;M?ncJ_aZN4Pe~;7>sjzra}M| C8Hqsv literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_beta_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_beta_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..587346da374ea8387b0cd20d88babaa4009a1f10 GIT binary patch literal 1864 zcmV-O2e>UjeF#%K)xGYt& zwe4x+eA<=4;lz@1dJDb(i)&&~Y5$emVMfOtp0NJH${|;gY&%gKAmf1VXMms}D#&S9 z2GZe1lI>cVuLbv>vwKlNeDfEc22**@B@KQQkPJ4-U}9-4;K;UZ+Nx*UHouK7*tX5g zW&>>hF4$K76o1<~n}OT5aipZ(eQ((thld~Nx0e!0HmzfDM9Y^TIo@O}0glr6Unb|JwTRnj{!I zjL!>l+a=pnZTU~ujP@rE_SWRuXw{uaPs;-${X(29`XYvh(qj6-gM{JBB4!cAB1~Cq z3Xm4~_?4yrZl4%{|Mi0hl7*go=s9F|K&u<*IyHG?os+Ty7(N&n*RGC;5c&1W7==qD5_CRAsx3bK$+>B?#c-AqV zwOr#{GoB;kxhT?jt|UnUJ0}Oj%ih0#UmqP1YE8Vrbx3*9jTm0;Toe~AQVA0i^mR3h za>Jk{nB0)@zHLiT)|ZgiB9lYaptV<76GtPVU{Mqba zB#i?I4G7{0L)HMGxhWuv$|%HpugOL)jAe9P=h7~QM&(NyI}x}diTj4TW4JSlI*8CZ z08~{Ysi;Yfh|1)uSjeDfZwXp7%zh6^qg20;nX)3x=gDXNK-+=7J*j zBA^y2X|fQ~WJm#uVB|H3O(HqvSbA{6@wB2g1E41ILU=ZpWmE(sAD@CpB0AxHcbHtj zDM@TXNKND^1Jj$ZzQ$8!x~Z9r z8=5&Oi0uHVs``;RtnI?dkutN7+%TayIw1kP7L)1hK;V+1y6?$(MIAzj-jm2EX|A^` zb8&GfHgfnqX{vJofdnv3Q7)EHkrw+98W6-$j;#eib1kD5%_JxZZ@rRbjEWSN(REd= z^CT1(B=2oYY zZLd|cjNtF6LEB%u@9E-Mby*RFD+t00&4aLl%mp**&ybHI4f&D90@(<2fO-xfqFmxdbxOig3D87Pgc%$_^rJZ5&jRf$ngMbcE$IP2gsQ3 z>ec%J>i3P*?+a1D^Mj$D;?nT|>f~k70+1u$8GQd(0ur^{pQ+y$sQ>3LF@=w3xH;!i z(Cb?#s@&g{7l51qF4_SkbT`rJdi+-ZZ{Vh>%I7;gUKw)WjoRxq!a*IMQUJJ3%kRKA zVGWi9G8zCI{cV?eUZL{;`&RzGLQG9nKAz#}8ZJ+`;Npm{pBG*;M?ncJ_aZN4Pe~;7>sjzra}M| C8Hqsv literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_beta.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_beta.webp new file mode 100644 index 0000000000000000000000000000000000000000..489d7184074846631acd16e66d8466cd22075e7d GIT binary patch literal 3832 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_beta_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_beta_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..489d7184074846631acd16e66d8466cd22075e7d GIT binary patch literal 3832 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_beta.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_beta.webp new file mode 100644 index 0000000000000000000000000000000000000000..572b138d18ee3ff8874e1a0c75747f4d1e5d22be GIT binary patch literal 5818 zcmV;r7Dee&Nk&Gp761TOMM6+kP&iDb761S*kH8}kHHU(>ZJ2~V>~;r2L`(o(**j0J z+uA%3>Iw<!(yDrbv2DS*eIF#LMe{(qUh{{QZeu_dz>YlJngH4e#b z6Wk@ypu1IQvJvcqW~(mIA_u#&UbE)9Kd);@dLfw&aM$GSO|yGj`$A|9>3E`JJ#--XM`&av0|C zoO5bj=2CDQyI8w(XSjEtx*SWlIp>_?8yRx`8gl;Xr?{lRZ4D4xIc(?da&XR8sLXMW zTMrCkOQqV`-tAmvdx6VWX-k8(!?tFza3#>$9vrqj@D(UjBRJa&?6vu>6Wp2OTG&=B zoWnTVl)?5#%l($8eFdrsm+7Ly(m4pKSvUtCu5-{vk|W1Gn`S|zgK+;3>g7g~-$7IIudhHieULlM{;GJS{wdI?CIg5amNCflvXVI-=SMbrT{9 z!QS-6hgSG(qNSdnX2pXpOQE**!4Xgf01-_AspIX7dAdVXIH5|EtTU5?+hV#atKc##}K+qC}sr)L=?%}x-H&Dq*Rrt9+6Zvm9i`q16r~DuE+dLQIxdK zdOl6$a6&f;<)9!!gq2cDQsakKK3|Xa= z6+y&T^ek7D+$>fr-Zp@!=Y(1i(NZyNQY}RM{PF){u?Y0x?ITa1{s){ChFPhA@jKo& zN>OSv>LHg_6k_W~=vSaBp$sYoipLP@Z<_TFW(-1g0%d&eLibB+J#8oOXAk{*grzmfg z`<7QB(t)=HB3j6ZEW|aRQ)InW))j@P*@PN!6?GQ_o0j`+a}-6Fv&RYOEX8HWJb^j~ zpvu-Ft(+PxLZ30BB4bKLkf<*w0b5DS)ZZs%uc5}6N)Z|1VG3E=rdGaq#+6DOJmPm<5i7UX~Mi%Z#IqArAa{V zQayto!@F2(R`3n!KECsfkMHE;JO29k4!UU`Uvdv0-^<7M^Cb>?z?ay^&vy!X>xArC z!p2Yu1*50>qHg!gx{OT7-#Cb_|H{03rer|AGkgP!2=`Ne5y|+Hd|67XOT^;IXDiLTQ0XiZ z)dol?ZRlV`!7sk)N-jJA*^v(-CM@M3iT~7nE=UeY5eP9QIi@JeQn!TcIg&uAFA+S! zOBZwDu`m%tn~=E4Tn5w~s z%6b)xE{7D#>MmEY+zEFm)%X?MYG{b#E%Qha{!uB1m}If65rPmY3vXFYDdm;10H%@) z%>&`5m2ywrlr=^WLPfb>!sa+CDL;Xu{UJ@4K8Rv=35fVT2Z;}OKoqk;h#4hF31@|@ zku!zD;R5}#-pO5ZdI;-BLgKbma&u*k6Do3OX-HEl1IQvTl?wo{P_~XjF`qi&!VQ3&sST>olBvM zNBz-s$ur#V!xq5vuSfb0BOPU#e2R9dvL~V~;!|*liMh1Y8SbAS@caYZKZN89&0?U> zfreTtc~^xfY>mNUeAFYnHC^Hi>uc`?lGir}31kffHHCal6^q~EtRwohPr_{;CT)6| z4)@o6=`)DKNJlL5VH(gV}-37_z^UL(UIKlS5Q- zOfl#ti8yAVa_NMYN|V8A^xWr@4NkLjP9u&Ey5F_~4U}04v~i2y->p1(l_&q-ESe*x zm%CggVhq7S6b!$DTO8HF8&mrRB?n;ewiw~nD*082sXc`C(Y&dLT*V6MXJ9RPi_a9u zrsid>~>8nNT634b?>AJc(G+%)pvRQ!L~y#1>EF%wu)U;;(6bx`+lc zqxrq5NB&=mb@oF^{9Ax)_&dor@KS2kCoS=*6ErbE;GVy;Z-i_`-*$Q$>_ z8xNQd?l&LYDQ{f4pEyTsK#8idCveuNI4jTHKpnlz)`>1{wN|E*^{dPBoR2FT?vW4L zgLJ#RajACV^a?0VucDx|CzR3lpd(H=!?HA4-8|cKeUfkt!48`InvLna60Xzy?f~QEiPB`6vKDbHVxMVwU z#t>*Efhf=4!5|GOim2(~2>_v%6DRj4DqSvUT`zB3xE`S03i`tXc4LeKy(|ZyC{w70 zf~R6snWFvYR~sjOQj@Sbnlz;t;;b`r;u`^*vMwS!QnTc3HFBY%Tjh;T7@`L6IqE_T zVRIA?udEwpcFBrK)>-X%YQ_?4v=5-S(IOyrswnp4CSs3j8Ex{UQEPEr!60*W$Pg+7 zQ(JNPM8_zTIw?Yr)d&|toeZ*FZyH7cOdI&i$B+xvNL?4x#8eAcCh1K>(V(w`6*KJF z`Ku>!_+%HA8nZK@wh8A1Z4Hd{uxW)oJIh}=io++`M;Wy=YAp^#HQ^!|N52N91wcr! zXo4LZ%d&#B2Ln$edPVbSqmsr5i!E=fW{&}lHh$v7_Y8{{VJnY!ibnMxX z>o~{b0VXlZ?Jz*`9U09ckzZyv9#P{O>u~+VA<#F;2$Bhfu9k0;b zCzqDqsII_J2Ww{YrT2pa(Qf2E*`Z$mh-m;sE-??k&xmuxW!j0eg@EH##2Cs|ABASgZ-F};jMPAGfteZ9(XrOAZqm|OKRA% zvIxAR56H1NQ8El}4;Mc!RkVi#%>2sRm~(pnIwlQ6TJ7|xB2G*|DN3jvcn2R?l-4AB zx_BtSBB4>9*CYyFb;X#DovEmeQyI!?r&kTtDq6FpDG=>}T?-25x=_>^h`efc^2db) z^?6pCTVHI@wNno&YEZMSjko)8SgV~r3`_?MW|OMoQ#jXzxLDSGD#6+yEA7_JZ5itG zVt}~LsN<;?Rar(WXsuffb$rhns%-{q8W5W#u65yAz~NkWj6&H3$ZHG_Z>Tm5YKrA3 zWOo5r`BflBkuk;0K1wEkSsd0B z*xW4amvHF!D_|4RUv~mGzu?d&8CYV9Dn7}j7KvxEO3dnwqJ&;S)L0f2z$wtFucO8Q z5`eu=B{DT7SbKqJH|Lsw#S)->Y_jd<8331oSdI#S0aCirD=xD{)b7vQe*?Q_w0jmS z#r3Y(ww*oN2troQDGGG~U^+%0M^q;(r%50p?g-_r`(($!q9xlpmAMscvh5XJwWc{U z#VeGDrc3=YoQbI+X7+Ya$>;~y3Y(>%(#cm19O_41JOSX;5YrWfdYb*uKaJ30=B7oA z=EATynxBp+Z$IWAl8oJ-ZROyn591(vTULv<6BO+MF+z56;gJ z=SMJbegtuH+_^Zm)O3?<>tWBzQq#e~XuAR#(JiWMhCVa*U(qzRn#d2&20*FfQm`$* z8S-26U;b)vlHY2$4#1vWW@v}9{!53F(b&$ZzdHh$Y4Caa&Io&@0H6Tla|7}j`6K^z zIp!IIy|S=M10OlwHrg~}YC}?2OeO#z5ve|fmpIO-JMtaJhq|c^ zefd!+vp@qMeF_fkT`yRzA1+F34-CI!=0eDi?v@wJJNc_7f7JnR@|I-aV6GLG(`{N& zlVcTC#sO0S3UO!cf#*WltLOvl{GOGM0Qs*Ac1?O$uEiM)X@Br8hh}Wq>;C9QK z0o~mr@?!nDi~Q9D3U;?VMj24$UZx91+Z<~1sK|--eYXnkB6YeK04YdxD+55SWB1>R zynD!hZBVBo`AET~pUxj9+d8G=uZ}3#3Q_e6*sWLl!D7ElR#z1169D2igVm}W01a}^ zIF+x6tCUQBYi#+bo)pcO+qc11abvrBJ$O@qL))Nern|sF^FKg1xL@uRZ{;UR&FX%_ zW0YPG2VWW#JH_=bY&GW<+@h??FnDz{We?qD@-LrtPG6al7jsZu6Pn~Z15YtHanoU# z8$63R!Dy$L*^{j%6+MEi(bo5a#i1#+k4g#v@na$AR5hk!`}>Bx+R0yS=>GSHDtSx5 zP0)F2xYoGJI}cTbGZbt^l_DMqyLMw!FgrJ7QgdplHDI=^0zi}FpmbN>T&{X==#sBA zc}+O!Q5-mNe;$r4rLVlBcS6}kqRs#bhOt#;8eR#f{=K_*rpQxFT?aHR*cJfIa*V%_ zcdt$U|B3g8Me-Ua4-vQx!HI`f#=T0@MC-ahv`Z+vP=jsTI=D}wo`nE3uLD@^ALOZq zBNu)NR#xe=0BG|z_rI=vKcVjT(OvibjJod!!Y1F~hKlYr6|E~OnwM2HF7egQ2*d{k z#a4HQlj9s}>m}3LuAU_U4E;w8#Ppo0gROYuWgSK{gokzo_h=rFPI`@Z|mg^IvRggVxDD^q7XpS`0k`4*iP_ zx=nv!?Vk)BVIGy<7u%q5=$AN2@CpWFM;9lEG5YoVi+d}6L_;T-JON4@v}4(Mk7(I05;Ym9qLJ-5(K6P0xf`II-`S7|KIACM8Gy7I z;0h*HzS=aUUJu!)%aD7MsTv=hSFeSQHc!uQXl!1RDeH=&$TYOUT`Eh#q>S638*4ej zvEsu`qaL0987->LoPMC+Q5MugU3?%isxSy`|BsqtDE|J$<0zQX=7 zu`9dTRGGQ}jG8aTe__{OaIBB)pyjuini zfW^`U%l_7FgQ3Q2otY7%K<4j1|@qjT-=(eB1_Ojd77(yH(FZIbONXnmtX#R^$Bh#~yp^MW(El8jVH` z!)Qe`d4-8RZeIEQr&gPm*w8DU|Kf(mBdoUKpr~T37%VQC*|*iELOgDRewbl&oq4lE zyYFEBZl2>7jXi6&+p~*WnjhV>WzBLgZn?I&b(!qVT=uixRBp;tG<~_C>YAV2K(`5inURbiBZ?)Id8tW#z^_)|G=Foq+Sh$O)x_SO_oT&2fS`Vv#tw+>; zf#W4^o_ENMojz%|p8enxtI+Rn@$UQ=mup3oScXY$~KWI~rdM@B%0S z>Ok~wHW;4q$0`h}!r&?lslw2Q?R{7k2L928-ZmKj7RUnB042cd#f=@Ef>RvKYQYt= zMIbI14VC7p9lZcIA=(X4{mlkVK5v6okkILGaez|D_V;#7ZLTy3P9Ps#v2P^yA81Qk z8#|Ba064DhZS3z~u%N%cv3K=W9Y=I-w9;(@`zPqmgkWgpY%KHe;w}Si4Tbc~iY2Hr zGhJwC8`!1z@JuXQ)@aUzvm`{z*<@@mlSu?AlNpR9vt=PmUz@<9g7kniL3%*BoZMLj E0KD}7!TZJ2~V>~;r2L`(o(**j0J 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 SjtY+wpDsuVlHU)>m<<4 +